# \[Daikin\] The channel "specialmode" can be read but not modified from OH (both 2.5.12 and 3.1)

**URL:** <https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561>\
**Category:** Bindings\
**Tags:** daikin-binding-oh3, daikin-binding-oh2\
**Created:** [August 15, 2021, 5:44pm UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561 "2021-08-15T17:44:38Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![Lionello\_Marrelli](https://community.openhab.org/user_avatar/community.openhab.org/lionello_marrelli/32/8513_2.png) [@Lionello\_Marrelli](https://community.openhab.org/u/Lionello_Marrelli)\
**Post date:** [August 15, 2021, 5:44pm UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/1 "2021-08-15T17:44:38Z")

</div>

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

```csv
daikin:ac_unit:ZonaNotte [host="192.168.27.25"] // thing

```

Working Items

```csv
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

```csv
String Zn_SpecialMode "SpecialMode [%s]" { channel="daikin:ac_unit:ZonaNotte:specialmode" }

```

I send commands and get states through the sitemap with the mapping options

```php
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](https://www.openhab.org/addons/bindings/daikin/#Channels) 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

```yaml
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

```yaml
{
  "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

```yaml
{
  "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](https://community.openhab.org/t/oh3-add-metadata-to-items-via-configuration-files/112843) ).  
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,

---

<div class="post-metadata">

**Author:** ![Dave\_Baldwin](https://community.openhab.org/user_avatar/community.openhab.org/dave_baldwin/32/45297_2.png) [@Dave\_Baldwin](https://community.openhab.org/u/Dave_Baldwin)\
**Post date:** [November 19, 2021, 8:38pm UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/2 "2021-11-19T20:38:51Z")

</div>

Hi all, quick ping on this thread,  
I’ve just had a new Daikin ductless system installed, and I’m planning to get it connected to openHAB.  
In general, are folks happy with the performance of the current Daikin binding, especially on OH3?  
I don’t see a lot of traffic recently on the forum on the Daikin binding, so I’m a bit stuck on whether that means “no news is good news, the binding works great” type of situation, or alternatively “yeesh this doesn’t work well and nobody is using it anymore”?  
Thanks for your feedback.

---

<div class="post-metadata">

**Author:** ![Lionello\_Marrelli](https://community.openhab.org/user_avatar/community.openhab.org/lionello_marrelli/32/8513_2.png) [@Lionello\_Marrelli](https://community.openhab.org/u/Lionello_Marrelli)\
**Post date:** [November 20, 2021, 7:04am UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/3 "2021-11-20T07:04:21Z")

</div>

Except for the bug that i documented, the binding works reliably in oh 3.

---

<div class="post-metadata">

**Author:** ![jimtng](https://community.openhab.org/user_avatar/community.openhab.org/jimtng/32/98543_2.png) [@jimtng](https://community.openhab.org/u/jimtng)\
**Post date:** [January 31, 2022, 1:15am UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/4 "2022-01-31T01:15:05Z")

</div>

@Lionello_Marrelli Looking through the code, it appears that only `specialmode-powerful` can be set (on/off). `specialmode` itself is / should be a read only channel.

Is setting specialmode-powerful not working for you?

---

<div class="post-metadata">

**Author:** ![Lionello\_Marrelli](https://community.openhab.org/user_avatar/community.openhab.org/lionello_marrelli/32/8513_2.png) [@Lionello\_Marrelli](https://community.openhab.org/u/Lionello_Marrelli)\
**Post date:** [January 31, 2022, 6:51am UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/5 "2022-01-31T06:51:55Z")

</div>

Thank you for looking into this issue.  
I have not tested `specialmode-powerful` yet. I will test in the next days.  
I was assuming that `specialmode` behaviour was similar to `fandirection`. The horizontal and vertical movements are in fact set separately in the android app and in the remote, while they are set by the openhab channel string simultaneously.  
If `specialmode-powerful` works it means that it should be necessary to implement something like `specialmode-eco` and `specialmode-streamer`?

---

<div class="post-metadata">

**Author:** ![jimtng](https://community.openhab.org/user_avatar/community.openhab.org/jimtng/32/98543_2.png) [@jimtng](https://community.openhab.org/u/jimtng)\
**Post date:** [January 31, 2022, 7:19am UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/6 "2022-01-31T07:19:09Z")

</div>

Try contacting [@LukasA83](https://github.com/LukasA83) - I believe he was the one who added this feature - I don’t know his username on this forum.

---

<div class="post-metadata">

**Author:** ![jimtng](https://community.openhab.org/user_avatar/community.openhab.org/jimtng/32/98543_2.png) [@jimtng](https://community.openhab.org/u/jimtng)\
**Post date:** [February 17, 2022, 12:01am UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/7 "2022-02-17T00:01:24Z")

</div>

@Lionello_Marrelli I’ve had a look into this mode, and I concluded that the binding should offer these channels instead:

| channel | desc |
| --- | --- |
| specialmode | The special mode (OFF, ECO, POWERFUL). |
| streamer | Turns the streamer mode on/off for the air conditioning unit. |

- Streamer can be turned on/off independently of whether eco, or powerful is enabled.
- Eco and powerful are mutually exclusive. You can only have Eco, or Powerful, but not Eco AND Powerful at the same time - that wouldn’t make sense.

So it makes more sense to split them into two independent channels.

Furthermore, both the channels above should be read/write, so one can change them via the binding.

What do you think?

I can make the changes to the binding. Would you be able to do some tests for me once I’ve made the changes?

---

<div class="post-metadata">

**Author:** ![jimtng](https://community.openhab.org/user_avatar/community.openhab.org/jimtng/32/98543_2.png) [@jimtng](https://community.openhab.org/u/jimtng)\
**Post date:** [February 17, 2022, 3:04am UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/8 "2022-02-17T03:04:48Z")

</div>

@Lionello_Marrelli here’s a jar file to test:  
[https://github.com/jimtng/openhab-addons/releases/tag/daikin-specialmode-v0.0.1](https://github.com/jimtng/openhab-addons/releases/tag/daikin-specialmode-v0.0.1)

---

<div class="post-metadata">

**Author:** ![Lionello\_Marrelli](https://community.openhab.org/user_avatar/community.openhab.org/lionello_marrelli/32/8513_2.png) [@Lionello\_Marrelli](https://community.openhab.org/u/Lionello_Marrelli)\
**Post date:** [February 17, 2022, 7:28am UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/9 "2022-02-17T07:28:16Z")

</div>

Thank you for your effort. I will be able to test in the weekend

---

<div class="post-metadata">

**Author:** ![jimtng](https://community.openhab.org/user_avatar/community.openhab.org/jimtng/32/98543_2.png) [@jimtng](https://community.openhab.org/u/jimtng)\
**Post date:** [February 18, 2022, 12:05pm UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/10 "2022-02-18T12:05:46Z")

</div>

v0.0.2 with a small bug fix in streamer channel  
[https://github.com/jimtng/openhab-addons/releases/tag/daikin-specialmode-v0.0.2](https://github.com/jimtng/openhab-addons/releases/tag/daikin-specialmode-v0.0.2)

---

<div class="post-metadata">

**Author:** ![Lionello\_Marrelli](https://community.openhab.org/user_avatar/community.openhab.org/lionello_marrelli/32/8513_2.png) [@Lionello\_Marrelli](https://community.openhab.org/u/Lionello_Marrelli)\
**Post date:** [February 19, 2022, 2:50pm UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/11 "2022-02-19T14:50:18Z")

</div>

Sorry, but I am unable to find the jar file to copy in the openhab-addon directory: is it available, or should it be built from sources? Unfortunately I do not know how how to build jar files for openhab.

---

<div class="post-metadata">

**Author:** ![jimtng](https://community.openhab.org/user_avatar/community.openhab.org/jimtng/32/98543_2.png) [@jimtng](https://community.openhab.org/u/jimtng)\
**Post date:** [February 19, 2022, 3:07pm UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/12 "2022-02-19T15:07:28Z")

</div>

The jar is on that page. Here’s a direct link to download: [https://github.com/jimtng/openhab-addons/releases/download/daikin-specialmode-v0.0.2/org.openhab.binding.daikin-3.3.0-SNAPSHOT.jar](https://github.com/jimtng/openhab-addons/releases/download/daikin-specialmode-v0.0.2/org.openhab.binding.daikin-3.3.0-SNAPSHOT.jar)

---

<div class="post-metadata">

**Author:** ![Lionello\_Marrelli](https://community.openhab.org/user_avatar/community.openhab.org/lionello_marrelli/32/8513_2.png) [@Lionello\_Marrelli](https://community.openhab.org/u/Lionello_Marrelli)\
**Post date:** [February 19, 2022, 5:08pm UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/13 "2022-02-19T17:08:25Z")

</div>

The test version works as expected.  
In detail: I tested the binding and with my test setup, freshly installed openHAB 3.3.0.M1 on my raspberry. Both the `specialmode` and `streamer` channels work as expected. I used the UI to create items linked to the channels and I was able to change from normal to eco and to powerful with the first channel and from streamer off to streamer on with the second one.  
Moreover, when these options were changed from the android app, the openhab items were updated.

Many thanks you for fixing this issue!  
Lionello

PS. I marked as solution the post showing the download link. When the binding will be fixed in the distribution i will probably remove it (if possible)

---

<div class="post-metadata">

**Author:** ![jimtng](https://community.openhab.org/user_avatar/community.openhab.org/jimtng/32/98543_2.png) [@jimtng](https://community.openhab.org/u/jimtng)\
**Post date:** [February 19, 2022, 10:51pm UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/14 "2022-02-19T22:51:14Z")

</div>

Thanks for testing and providing a detailed feedback. I have submitted a PR to include the changes:

> <https://github.com/openhab/openhab-addons/pull/12324>
>
> Some Daikin models have the ability to set 
> \* Streamer mode on/off
> \* Special m…ode: Eco / Powerful / Normal
> 
> Currently:
> \* The channel \`specialmode\` reports the current combination of modes set on the device: streamer / eco\_streamer / powerful\_streamer / eco / powerful / off
> \* It is read-only
> \* Only allows to turn on/off the "powerful" mode through \`specialmode-powerful\` channel
> \* Does not allow setting the mode to eco 
> \* Does not allow setting the streamer mode on/off
> 
> This PR introduced the following changes:
> \* Split Streamer and Normal/Eco/Powerful mode into two separate and independent channels
> \* The \`specialmode\` channel now only reports NORMAL/ECO/POWERFUL, removing Streamer from this channel. This greatly simplifies the usage for this channel.
> \* The \`specialmode\` channel is changed from Read-only to Read/write
> \* The \`specialmode-powerful\` channel is removed, since setting the powerful mode can now be done through the \`specialmode\` channel
> \* A new read/write channel \`streamer\` is introduced to set the streamer mode
> 
> This makes the two features (streamer and normal/eco/powerful) more straight forward to deal with.
> 
> The issue / feature was reported/requested and tested here: 
> https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561

---

<div class="post-metadata">

**Author:** ![jimtng](https://community.openhab.org/user_avatar/community.openhab.org/jimtng/32/98543_2.png) [@jimtng](https://community.openhab.org/u/jimtng)\
**Post date:** [August 1, 2022, 9:22pm UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/15 "2022-08-01T21:22:27Z")

</div>

@Lionello_Marrelli can you test whether you are able to change from `powerful` mode back to `normal` mode?

@pschlosser reported that [changing from powerful to normal isn’t working](https://github.com/openhab/openhab-addons/issues/13198) for him.

---

<div class="post-metadata">

**Author:** ![Lionello\_Marrelli](https://community.openhab.org/user_avatar/community.openhab.org/lionello_marrelli/32/8513_2.png) [@Lionello\_Marrelli](https://community.openhab.org/u/Lionello_Marrelli)\
**Post date:** [August 7, 2022, 7:39am UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/16 "2022-08-07T07:39:46Z")

</div>

@jimtng Sorry for not answering earlier. I am using my test system with OH 3.3 release on my raspberry. I installed the standard Daikin binding from the UI. Switching from normal to eco or from normal to powerful actually works, while I can confirm that switching from eco to normal or from powerful to normal DOES NOT work. Switching from eco to powerful and viceversa still works.

I then removed the standard Daikin binding and then used the test one available at this [link](https://github.com/jimtng/openhab-addons/releases/download/daikin-specialmode-v0.0.2/org.openhab.binding.daikin-3.4.0-SNAPSHOT.jar).  
Switching from powerful to normal now works as expected, but switching from eco to normal still does not work. I tried several times to switch from eco to normal. After a while the item value goes back to ECO. So reading is correct but setting the normal value from eco does not work.

In the openhab log I saw one warning line from the daikin binding, but i was not able to reproduce it

```yaml
 [WARN] [ing.daikin.internal.DaikinWebTargets] - Error setting special mode. Response: 'ret=ADV NG'

```

I’m leaving my test system as it is now, if further tests are needed.

---

<div class="post-metadata">

**Author:** ![jimtng](https://community.openhab.org/user_avatar/community.openhab.org/jimtng/32/98543_2.png) [@jimtng](https://community.openhab.org/u/jimtng)\
**Post date:** [August 7, 2022, 2:37pm UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/17 "2022-08-07T14:37:14Z")

</div>

@Lionello_Marrelli thanks for testing and reporting the result.

I have a new version to be tested when you’ve got a moment please:  
[https://github.com/jimtng/openhab-addons/releases/tag/daikin-specialmode-v0.0.3](https://github.com/jimtng/openhab-addons/releases/tag/daikin-specialmode-v0.0.3)

This version sets the spmode\_kind to the current spmode\_kind (1 for powerful and 2 for eco) when setting set\_spmode=0 (i.e. changing to normal).

---

<div class="post-metadata">

**Author:** ![Lionello\_Marrelli](https://community.openhab.org/user_avatar/community.openhab.org/lionello_marrelli/32/8513_2.png) [@Lionello\_Marrelli](https://community.openhab.org/u/Lionello_Marrelli)\
**Post date:** [August 7, 2022, 3:59pm UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/18 "2022-08-07T15:59:57Z")

</div>

@JimT After reinstalling the add-on, clearing cache to remove some errors in the openhab log and restarting openhab twice, I can confirm that the change from ECO to normal now works as expected with version 0.0.3

---

<div class="post-metadata">

**Author:** ![jimtng](https://community.openhab.org/user_avatar/community.openhab.org/jimtng/32/98543_2.png) [@jimtng](https://community.openhab.org/u/jimtng)\
**Post date:** [August 8, 2022, 12:09am UTC](https://community.openhab.org/t/daikin-the-channel-specialmode-can-be-read-but-not-modified-from-oh-both-2-5-12-and-3-1/125561/19 "2022-08-08T00:09:09Z")

</div>

Thanks for testing. PR created to fix this: [[daikin] Fix changing specialmode from ECO to NORMAL by jimtng · Pull Request #13230 · openhab/openhab-addons · GitHub](https://github.com/openhab/openhab-addons/pull/13230)
