I have a Daikin AirConditioner unit with a WiFi control module BRP069B41.
I can control the Indoor unit with the Android App. From openHAB, thanks to the Daikin binding, I can control all the parameters except the specialmode.
I only managed to make openHAB display the specialmode, when modified by the android App (or by the remote control, of course), but openHAB cannot modify it.
I noticed this behavior as I am upgrading to openHAB3 and I wished to implement all available channels on the MainUI. This behaviour occurs in OH3 both with textual configuration and with UI configuration. I then tried also in my OH2.5 installation and I found the same.
Let me start from the OH2.5 configuration which is shorter
Thing definition
daikin:ac_unit:ZonaNotte [ host="192.168.27.25" ] // thing
Working Items
Switch Zn_OnOff "Stato ZonaNotte [%s]" { channel="daikin:ac_unit:ZonaNotte:power" }
String Zn_Mode "ModalitĆ [%s]" { channel="daikin:ac_unit:ZonaNotte:mode" }
Number:Temperature Zn_SetTemp "Zn SetPoint [%.1f]" {channel="daikin:ac_unit:ZonaNotte:settemp" }
String Zn_Fan_Speed "Fan Speed[%s]" { channel="daikin:ac_unit:ZonaNotte:fanspeed" }
String Zn_Fan_Movement "Fan Direction[%s]" { channel="daikin:ac_unit:ZonaNotte:fandir" }
Non working item
String Zn_SpecialMode "SpecialMode [%s]" { channel="daikin:ac_unit:ZonaNotte:specialmode" }
I send commands and get states through the sitemap with the mapping options
Selection item=Ms_Mode mappings=["AUTO"="Auto", "DEHUMIDIFIER"="Dehumidifier", "COLD"="Cold", "HEAT"="Heat", "FAN"="Fan"]
Setpoint item=Ms_SetTemp step=0.5
Selection item=Ms_Fan_Movement mappings=["STOPPED"="Stopped", "VERTICAL"="Vertical", "HORIZONTAL"="Horizontal", "VERTICAL_AND_HORIZONTAL"="Vertical&Horizontal" ]
Selection item=Ms_Fan_Speed mappings=["AUTO"="Auto","SILENCE"="Silent","LEVEL_1"="Level1", "LEVEL_2"="Level2", "LEVEL_3"="Level3", "LEVEL_4"="Level4", "LEVEL_5"="Level5"]
Selection item=Ms_SpecialMode mappings=["OFF"="Off", "STREAMER"="Streamer", "ECO"="Eco", "POWERFUL"="Powerful", "POWERFUL_STREAMER"="Powerful&Streamer", "ECO_STREAMER"="Eco&Streamer"]
Notice that the informations on the specialmode channel of the binding documentation is not correct for my wifi adapter (maybe due to some firmware upgrade? I do not know).
For example, when both options āPowerfulā and āStreamerā are actived by the Android App the item Zn_SpecialMode
contains the string POWERFUL_STREAMER
, while in the docs this is documented as POWERFUL & STREAMER
. The same for ECO_STREAMER
instead of ECO & STREAMER
. I therefore adpated my sitemap to reflect the values that are read by openHAB.
When the options are activated by the Android App, the Selection item in the sitemap is updated, but if I use the selection item to change the options (i.e. selecting off
) nothing happens and after a minute the selection item switches back to the original state. This is what I understand from the events.log
2021-08-15 18:18:18.021 [vent.ItemStateChangedEvent] - Ms_SpecialMode changed from ECO to ECO_STREAMER
2021-08-15 18:18:46.199 [ome.event.ItemCommandEvent] - Item 'Ms_SpecialMode' received command OFF
2021-08-15 18:18:46.225 [nt.ItemStatePredictedEvent] - Ms_SpecialMode predicted to become OFF
2021-08-15 18:18:46.264 [vent.ItemStateChangedEvent] - Ms_SpecialMode changed from ECO_STREAMER to OFF
2021-08-15 18:19:18.383 [vent.ItemStateChangedEvent] - Ms_SpecialMode changed from OFF to ECO_STREAMER
The first line reflects the update of the item due to the action of the AndroidApp.
The second,third and fourth lines represent what happens when I select off on the sitemap.
Finally, the last line represents the update of the item by the Daikin binding that reads the state of the daikin controller.
As I said, the same behavior apply in OH3. I am practicing with the UI with textual configuration (I know, it is not recommended, but Iām old styleā¦) but I also stepped back to the UI configuration. In practice, while the other channels (such as fandirection) are recognized and the stateDescription metada is set correctly by the daikin binding, the specialmode channel have an incorrect stateDescription metada
This is a query with the REST API of a working item
{
"link": "http://oh3:8080/rest/items/DkZn_Fan_Movement",
"state": "STOPPED",
"stateDescription": {
"pattern": "%s",
"readOnly": false,
"options": [
{
"value": "STOPPED",
"label": "stopped"
},
{
"value": "VERTICAL",
"label": "vertical"
},
{
"value": "HORIZONTAL",
"label": "horizontal"
},
{
"value": "VERTICAL_AND_HORIZONTAL",
"label": "vertical and horizontal"
}
]
},
"commandDescription": {
"commandOptions": [
{
"command": "STOPPED",
"label": "stopped"
},
{
"command": "VERTICAL",
"label": "vertical"
},
{
"command": "HORIZONTAL",
"label": "horizontal"
},
{
"command": "VERTICAL_AND_HORIZONTAL",
"label": "vertical and horizontal"
}
]
},
"editable": false,
"type": "String",
"name": "DkZn_Fan_Movement",
"label": "AC Fan Direction ZonaNotte",
"tags": [
"Control"
],
"groupNames": [
"gEquip_DkZn"
]
}
while this is a query for the item linked to the specialmode channel
{
"link": "http://oh3:8080/rest/items/DkZn_SpecialMode",
"state": "ECO_STREAMER",
"stateDescription": {
"pattern": "%s",
"readOnly": true,
"options": []
},
"editable": false,
"type": "String",
"name": "DkZn_SpecialMode",
"label": "AC SpecialMode ZonaNotte",
"tags": [
"Control"
],
"groupNames": [
"gEquip_DkZn"
]
}
I tried to manually set the metadata stateDescription with the textual configuration (as i am doing for my other textual settings, based on this very informative post ).
The result was similar to OH2.5, the linked item showed changes of the airconditioner mode but did not allow to modify it.
In summary, this seems to be a bug that dates back to openhab2 and which has been ported to OH3 unchanged. Is this information enough to raise an issue or should I add something else?
Thank you for your attention,