Binding for Sensibo Sky available

@seime
Thank you for your efforts! Problems are apparently over at least from my point of view.

I am temporarily on trip and away from home, but I remotely accessed my system and after installing your new binding now my Sensibo a/c controllers are correctly included as things after a scan.

:+1:

Hi Seime, I’m sorry for late answer, did not test it until today.
All seems to work well after update.
Thank you very much for your help and effort you put in this binding.

HI guys,
thank you for this great binding. Did anyone try to set the temperature with this binding? Temperature is syncing but I am not able to set it using a setpoint…Using the latest release

Sitemap:

Setpoint item=Klimaanlage_WZ_Temperature label=“Ziel-Temperatur [%.0f ºC]” icon=“temperature” minValue=18 maxValue=26 step=1.0

Item:

Number Klimaanlage_WZ_Temperature “Klimaanlage Wohnzimmer Termperatur [%d °C]” { channel=“sensibo:sensibosky::*********:targetTemperature” }

Thank you for your help
Kind regards

Are you getting error in log like

[WARN ] [rest.core.internal.item.ItemResource] - Received HTTP POST request at 'items/AC_lounge_Room_Target_Temperature' with an invalid status value '26 ?C'.

HI denominator,

good hint, to look at the logs ;-)… I found the following:

2020-01-22 09:38:53.084 [INFO ] [o.internal.handler.SensiboSkyHandler] - Update command not sent; invalid state change for SensiboSky AC state: Cannot change targetTemperature to 20 °C, valid targetTemperatures are {16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}

Thank you

HI,

I changed my item and my sitemap file and removed the °C but it still gives back the error message. Is it because of the thing configuration Number:Temperature?
sensibo

If yes, how can I fix this error?
Thank you and kind regards

HI,

when I tag Number:Dimensionless the Sensibo Sky is getting the temperature without °C but does still not accept it. However the sync of the temperature also does not work.

2020-01-22 17:34:15.563 [INFO ] [o.internal.handler.SensiboSkyHandler] - Update command not sent; invalid state change for SensiboSky AC state: Cannot change targetTemperature to 18, valid targetTemperatures are {16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}

Any idea?
Thanks

This is my item definition:

Number:Temperature SensiboKjellerstueTarget "Target [%d %unit%]" <temperature> (gRestoreOnStartup) {channel="sensibo:sensibosky:home:kjellerstue:targetTemperature"}

sitemap entry:

Setpoint  item=SensiboKjellerstueTarget label="Måltemp" 

All my sitemap items renders like this on my Android phone:

If you are still having problems, please set logging level to DEBUG and send me the logs and I will have a look.
PS: Your API key is visible in the log file, please remove it - or you can give me permission to connect to your account and debug the behaviour more easily.

I have this problem aswell

OPENHABIAN - openHAB 2.5.1-2 (Release Build)

Installed Jar file from
/seime/openhab2-addons/releases/tag/2.5.0.M3.sensibo.alpha5

I cant change anything on the aircon I don’t normaly use openhab to control just for logging.
(I use voice through google home)

Only thing thats show up in the DEBUG log is as above

[WARN ] [rest.core.internal.item.ItemResource] - Received HTTP POST request at 'items/AC_lounge_Room_Target_Temperature' with an invalid status value '26 ?C'.

I can see binding request states and the items populate and thats all working as expected it is just the
State ‘26 ?C’ sending to sensibo api is the problem.

The item type for target temperatue is Number:Temperature

      "linkedItems": [
        "AC_lounge_Room_Target_Temperature"
      ],
      "uid": "sensibo:sensibosky:home:lounge:targetTemperature",
      "id": "targetTemperature",
      "channelTypeUID": "sensibo:targetTemperaturelounge",
      "itemType": "Number:Temperature",
      "kind": "STATE",
      "defaultTags": [],
      "properties": {},
      "configuration": {}
    }

If I try and PATCH sensibo with the value 26 ?C

The error is

If the binding is just posting all the data to the sensibo api all the time you will just get this error.

HI,

changed my item definition to

Number:Temperature Klimaanlage_WZ_Temperature "Klimaanlage Wohnzimmer Termperatur [%d °C]"

and my Sitemap to:

Setpoint	item=Klimaanlage_WZ_Temperature						label="Ziel-Temperatur [%d °C]"							icon="temperature"			minValue=18 maxValue=26 step=1.0

But still no success. This is the debug Log File:

2020-01-24 08:27:13.710 [DEBUG] [rest.core.internal.item.ItemResource] - Received HTTP POST request at 'items/Klimaanlage_WZ_Temperature' with value '22 °C'.
2020-01-24 08:27:13.717 [DEBUG] [nternal.profiles.ProfileCallbackImpl] - Delegating command '22 °C' for item 'Klimaanlage_WZ_Temperature' to handler for channel 'sensibo:sensibosky:*****:targetTemperature'
2020-01-24 08:27:13.728 [DEBUG] [nternal.common.InvocationHandlerSync] - Already in a safe-call context, executing 'ThingHandler.handleCommand()' directly on 'org.openhab.binding.sensibo.internal.handler.SensiboSkyHandler@5219a0fb'.
2020-01-24 08:27:13.729 [INFO ] [o.internal.handler.SensiboSkyHandler] - Update command not sent; invalid state change for SensiboSky AC state: Cannot change targetTemperature to 22 °C, valid targetTemperatures are {16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}

Thanks and regards

Try to change both item definition and the sitemap entry to match what I sent.

Also I am looking for the sensibo communication logs.

Cheers

I changed both item def and sitemap to exactly the same code but still get the same error message

Cheers.

@denominator
If you send me the communication logs I will try to reproduce it.
Logger: org.openhab.binding.sensibo

Arne

Sure

I created new log file

# sensibo Logger
log4j2.logger.sensibo.name = org.openhab.binding.sensibo
log4j2.logger.sensibo.level = TRACE
log4j2.logger.sensibo.additivity = false
log4j2.logger.sensibo.appenderRefs = sensibo
log4j2.logger.sensibo.appenderRef.sensibo.ref = SENSIBO

# sensibo File Appender - sensibo.log
log4j2.appender.sensibo.name = SENSIBO
log4j2.appender.sensibo.type = RollingRandomAccessFile
log4j2.appender.sensibo.fileName = ${openhab.logdir}/sensibo.log
log4j2.appender.sensibo.filePattern = ${openhab.logdir}/sensibo.log.%i
log4j2.appender.sensibo.immediateFlush = true
log4j2.appender.sensibo.append = true
log4j2.appender.sensibo.layout.type = PatternLayout
log4j2.appender.sensibo.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n
log4j2.appender.sensibo.policies.type = Policies
log4j2.appender.sensibo.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.sensibo.policies.size.size = 10MB
log4j2.appender.sensibo.strategy.type = DefaultRolloverStrategy
log4j2.appender.sensibo.strategy.max = 10

I have sanitised my key and other sensibo.log (97.9 KB) data

Maybe my problem is here

openhab> bundle:list | grep Gson
 20 ? Resolved ?  80 ? 2.8.2.v20180104-1110    ? Gson: Google Json Library for Java
299 ? Active   ?  80 ? 2.8.5                   ? Gson

In your case I am wondering if there is a charset issue with UoM.

2020-01-25 20:32:39.402 [WARN ] [rest.core.internal.item.ItemResource] - Received HTTP POST request at 'items/AC_lounge_Room_Target_Temperature' with an invalid status value '21 ?C'.

This log is from the framework receiving the command from your selected UI. The UI is sending the celcius degrees symbol in a way the server/framework cannot understand. This happens before the data is received by the binding.

Are you using other bindings where the item type is Number:Temperature and in the sitemap a Setpoint?

Arne

I created a new version that adds some more debug info. Only makes sense if debug logging for this binding is on. @exo1987

Arne

Ok I got the setpoint to work if I change it a little.

Sitemap

    Setpoint  item=AC_lounge_Room_Target_Temperature label="Target [%.0f ºC]" icon="temperature" minValue=18 maxValue=26 step=1.0

Item

Number AC_lounge_Room_Target_Temperature "Target temperature [%d °C]" {channel="sensibo:sensibosky:home:MAC:targetTemperature"}

Success from Log

2020-01-26 08:47:03.255 [DEBUG] [ensibo.internal.client.RequestLogger] - Response home-224
home-224 < HTTP/1.1 200 OK
home-224 < Content-Type: application/json
home-224 < Date: Sat, 25 Jan 2020 23:23:01 GMT
home-224 < Server: nginx
home-224 < Strict-Transport-Security: max-age=63072000
home-224 < X-Frame-Options: SAMEORIGIN
home-224 < Content-Length: 278
home-224 < Connection: keep-alive

{
  "status": "success",
  "result": {
    "status": "Success",
    "reason": "UserRequest",
    "acState": {
      "on": false,
      "fanLevel": "high",
      "temperatureUnit": "C",
      "targetTemperature": 25,
      "mode": "cool",
      "swing": "stopped"
    },
    "changedProperties": [],
    "id": "VpoDbvKN6r"
  }

Now to figue out why I can’t turn them on and off :sweat_smile:

Sitemap

    Switch    item=AC_lounge_Heater_MasterSwitch     label="State" mappings=["true"="ON", "false"="OFF"] icon="switch"

Item

String AC_lounge_Heater_MasterSwitch "AC power []" {channel="sensibo:sensibosky:home:64cfd904ee11:masterSwitch"}

@denominator
Try the item and sitemap examples from the https://github.com/seime/openhab2-addons/blob/sensibo/bundles/org.openhab.binding.sensibo/README.md.

Pay attention to item types, formatting and which extra parameters that are used (and not used) in the sitemap.

In your last example the AC_lounge_Heater_MasterSwitch has been mapped as a String while it should be a Switch.

The AC_lounge_Room_Target_Temperature is mapped as Number while it should be Number:Temperature.

Use item formatting
Target temperature [%d %unit%] instead of
Target temperature [%d °C]

The Setpoint item= AC_lounge_Room_Target_Temperature should not need value reformatting, try using just label="Target"

It even (on my screen) appears that you have used 2 different symbols for celcius symbol;
image

I hope this helps, and thanks for the testing efforts.

Arne

I deleted everything did as you asked and its working.

Dosen’t show temp but it works as “Target temperature [%d %unit%]” in item.
Thankyou for your paitence.

All is not lost I learnd something along the way. Re-read the docs when someone updates them.

Are you running the 2.5.1 version of openhab or an earlier version?