mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 23:22:02 +01:00
20b889c029
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
109 lines
6.6 KiB
Markdown
109 lines
6.6 KiB
Markdown
# DaikinMadoka
|
|
|
|
This extension implements communication with Daikin Madoka BRC1H thermostat over Bluetooth Low Energy (BLE) communication protocol.
|
|
The device uses an UART over BLE serial communication protocol over BLE WriteWithoutResponse and Notify characteristics.
|
|
|
|
[BRC1H on Daikin website (FR)](https://www.daikin.fr/fr_fr/famille-produits/Systemes-commande-intelligents/BRC1H.html)
|
|
|
|
[BRC1H on Daikin website (EN)](https://www.daikin.eu/en_us/product-group/control-systems/BRC1H.html)
|
|
|
|
## Supported Things
|
|
|
|
| Thing Type ID | Description |
|
|
| ------------- | ----------- |
|
|
| brc1h | BRC1H BLE Thermostat |
|
|
|
|
## Discovery
|
|
|
|
As a pairing of the Thermostat is necessary (Bluetooth), no automatic discovery is implemented.
|
|
|
|
## Thing Configuration
|
|
|
|
- address: The Bluetooth MAC Address of the BRC1H controller
|
|
|
|
Example with a DBusBlueZ Bluetooth Bridge:
|
|
|
|
```java
|
|
Bridge bluetooth:dbusbluez:hci0 [ address="00:1A:7D:DA:71:13" ]
|
|
|
|
Thing bluetooth:brc1h:hci0:salon (bluetooth:dbusbluez:hci0) [ address="00:CC:3F:B2:80:CA" ]
|
|
```
|
|
|
|
## Channels
|
|
|
|
_Here you should provide information about available channel types, what their meaning is and how they can be used._
|
|
|
|
_Note that it is planned to generate some part of this based on the XML files within ```src/main/resources/OH-INF/thing``` of your binding._
|
|
|
|
| Channel Type ID | Item Type | Access Mode | Description |
|
|
|----------|--------|-----------|-------------------|
|
|
| onOffStatus | Switch | R/W |Switches On or Off the unit |
|
|
| indoorTemperature | Number:Temperature | R | Indoor temperature from the Thermostat
|
|
| outdoorTemperature | Number:Temperature | R | Outdoor temperature from the external unit. Not always supported/reported.
|
|
| commCtrlVersion | String | R | Communication Controller Firmware Version
|
|
| remoteCtrlVersion | String | R | Remote Controller Firmware Version
|
|
| operationMode | String | R/W | The operation mode of the AC unit. Currently supported values: HEAT, COOL.
|
|
| fanSpeed | Number | R/W | This is a "virtual channel" : its value is calculated depending on current operation mode. It is the channel to be used to change the fan speed, whatever the current mode is. Fan speed are from 1 to 5. On BRC1H, the device supports 3 speeds: LOW (1), MEDIUM (2-4), MAX (5). Some BRC1H also support an AUTO (0) mode - but not all of them support it (depending on internal unit).
|
|
| setpoint | Number:Temperature | R/W | This is a "virtual channel" : its value is calculated depending on current operation mode. It is the channel to be used to change the setpoint, whatever the current mode is.
|
|
| homekitCurrentHeatingCoolingMode | String | R | This channel is a "virtual channel" to be used with the HomeKit add-on to implement Thermostat thing. Values supported are the HomeKit addon ones: Off, CoolOn, HeatOn, Auto.
|
|
| homekitTargetHeatingCoolingMode | String | R/W | This channel is a "virtual channel" to be used with the HomeKit add-on to implement Thermostat thing. Values supported are the HomeKit addon ones: Off, CoolOn, HeatOn, Auto.
|
|
| homebridgeMode | String | R/W | This channel is a "virtual channel" to be used with external HomeBridge. Values are: Off, Heating, Cooling, Auto.
|
|
| eyeBrightness | Dimmer | R/W | This channel allows to manipulate the Blue "Eye" indicator Brightness. Values are between 0 and 100.
|
|
| indoorPowerHours | Number:Time | R | This channel indicates the number of hours the indoor unit has been powered (operating or not).
|
|
| indoorOperationHours | Number:Time | R | This channel indicates the number of hours the indoor unit has been operating.
|
|
| indoorFanHours | Number:Time | R | This channel indicates the number of hours the fan has been blowing.
|
|
| cleanFilterIndicator | Switch | R/W | This channel indicates if the filter needs cleaning. The indicator can be reset by writing "OFF" to the channel.
|
|
|
|
## Full Example
|
|
|
|
### `daikinmadoka.things` Example
|
|
|
|
```java
|
|
Bridge bluetooth:dbusbluez:hci0 [ address="00:1A:7D:DA:71:13" ]
|
|
|
|
Thing bluetooth:brc1h:hci0:salon (bluetooth:dbusbluez:hci0) [ address="00:CC:3F:B2:80:CA" ]
|
|
|
|
```
|
|
|
|
### `daikinmadoka.items` Example
|
|
|
|
```java
|
|
Group g_climSalon "Salon" [ "Thermostat" ]
|
|
|
|
Switch climSalon_onOff "Climatisation Salon" (g_climSalon) { channel="bluetooth:brc1h:hci0:salon:onOffStatus" }
|
|
Number climSalon_indoorTemperature "Température Intérieure" (g_climSalon) [ "CurrentTemperature" ] { channel="bluetooth:brc1h:hci0:salon:indoorTemperature" }
|
|
Number climSalon_outdoorTemperature "Température Extérieure" (g_climSalon) { channel="bluetooth:brc1h:hci0:salon:outdoorTemperature" }
|
|
|
|
String climSalon_commCtrlVersion (g_climSalon) { channel="bluetooth:brc1h:hci0:salon:commCtrlVersion" }
|
|
String climSalon_remoteCtrlVersion (g_climSalon) { channel="bluetooth:brc1h:hci0:salon:remoteCtrlVersion" }
|
|
|
|
Number climSalon_fanSpeed (g_climSalon) { channel="bluetooth:brc1h:hci0:salon:fanSpeed" }
|
|
|
|
Number climSalon_setpoint (g_climSalon) [ "homekit:TargetTemperature" ] { channel="bluetooth:brc1h:hci0:salon:setpoint" }
|
|
|
|
String climSalon_operationMode (g_climSalon) { channel="bluetooth:brc1h:hci0:salon:operationMode" }
|
|
|
|
String climSalon_CurrentHeatingCoolingMode (g_climSalon) [ "homekit:CurrentHeatingCoolingMode" ] { channel="bluetooth:brc1h:hci0:salon:homekitCurrentHeatingCoolingMode" }
|
|
String climSalon_TargetHeatingCoolingMode (g_climSalon) [ "homekit:TargetHeatingCoolingMode" ] { channel="bluetooth:brc1h:hci0:salon:homekitTargetHeatingCoolingMode" }
|
|
|
|
```
|
|
|
|
## Pairing the BRC1H
|
|
|
|
The Daikin Madoka BRC1H Thermostat requires Bluetooth Pairing before it can be used.
|
|
This pairing process can be a bit challenging, as it seems the timing is very important for it success.
|
|
|
|
We suggest that the Bluetooth adapter is not being used by another component during the pairing phase.
|
|
As such, if you have other Bluetooth Things in your OpenHAB, it is suggested to stop the openHAB service before doing the pairing.
|
|
|
|
- Ensure that your BRC1H has Bluetooth enabled in the menu
|
|
- Open `bluetoothctl` on your openHAB server - preferably as `root`
|
|
- start scanning by typing `scan on`
|
|
- After few seconds, stop scanning `scan off`
|
|
- Start the pairing process by typing `pair <mac address of your brc1h>`
|
|
- On the BRC1H, confirm the pairing request, and quickly confirm as well on your server by typing `yes`
|
|
|
|
A successful pairing ends with `pairing successful`.
|
|
|
|
For more information on pairing a device in command line on Linux, refer to [official documentation](https://docs.ubuntu.com/core/en/stacks/bluetooth/bluez/docs/reference/pairing/outbound).
|