Binding for Sensibo Sky available

Could you turn on DEBUG log level on the ROOT logger and let it run for a few minutes? (should catch at least one update cycle)

.Sure, I will try to get the time tonight after work.

Fail, for a good reason; the behavior is normalised. Not sure why - I did try a cold reboot yesterday, but apparently something changed overnight. I will keep an eye out to see if it re-presents and if so I’ll get you a log dump.

@seime
Would it be possible to add the timer to the binding as well? Channel which reports the current timer and also allows to set (API support this if I’m right). Also would be great a manual Refresh channel (which refreshes the states of all channels, ie. polls the data) and a timestamp with the last update.
Thanks!

Hi Kristif, I will look into it within a few weeks (busy days atm). Arne

No hurry, thank you!

Installed the binding today and ran into the problem of GSON not being available. Additionally checks are that I am on 2.5 Milestone and the problem was with 2.4. Anyway I dug into the issue and found this.

Running this command resolved the issue (vs placing the JAR into the add on’s directory). Good news is that after a reboot everything came up well and I’m controlling my Aircon via OpenHab. Brillant.

1 Like

Hi All,
I have been using rules to interact with my Sensibo Sky unit these suddenly stopped functioning a few days ago after I would guess 18 months of near flawless activity.

I came across the fact that there is now a binding for Sensibo Sky so decided I would like to move across to the binding. unfortunately I am getting an issue trying to install it from PaperUI Addons section see the image below

ERROR:

Bundle cannot be installed: Error reading bundle content

I have not had this error previously when installing from the marketplace.

Reading through some of the posts in this thread it seemed I may need to install a bundle so I tried to see if that would improve my experience but unfortunately not.

I downloaded jar file from

https://github.com/seime/openhab2-addons/releases/tag/2.5.0.M1.sensibo.alpha3

Also you need this dependancy

http://central.maven.org/maven2/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar

Put them both in
\OPENHABIANPI\openHAB-share\openhab2-addons

Restart openhab and then configure

Thanks, I just returned to the thread to provide my feedback and found you had provided further information.

I actually added the bundle first then I downloaded the aplpha3 jar file.

I also used the URL provided in the thread to get the MAC address, and of course used my previously setup APIkey.
I also commented out my Sensibo rules but left the items defined in the .items files.

After inserting the MAC and the APIkey the auto discovery worked great and found my heatpump.
I then linked up the channels with the existing items and tested the existing sitemap and it was all working without a reboot in sight.

I did have to ‘forget’ the thermostat group in Alexa and add it again to get the target temperature to work correctly from the echo devices, but that’s not a binding issue.

Thanks for the great binding.

Paul

1 Like

Any news on these?

Thanks!

Unfortunately I have not had the time to further develop the binding yet (summer holiday started as well).

Thanks for your answer!

A quick note to confirm the experience of Paul Millar, I have been using rules to control 2 Sensibo Sky modules successfully for around a year, but that suddenly stopped working around 1 week ago with no obvious reason.

I found this thread and installed the alpha3 jar, and had to resolve the dependancy as recorded above. All I had to do then was edit my item file to remap them to the binding and everything seems to be running fine.

Thanks very much for your work!

Thanks a lot for the binding!
I installed last night with no issues encountered so far.
Like others, I was running the .rules based version calling the APIs. This mysteriously stopped working recently. I much prefer a real binding now anyway. Thanks again @Zodiarc

Not sure whats going on, but a recent error log entry is now regularly occurring it started around 6 days ago. As I did not get any joy last time when the rules I had suddenly stopped after around a year and half of working with no changes apparently done at the Sensibo end (struggling to believe that). I now find this binding is getting error where once there was none.

I have raised a ticket with Sensibo but thought I should raise it here too.

LOG

2019-08-06 05:00:04.335 [INFO ] [ternal.handler.SensiboAccountHandler] - Error setting ac state for ecfabc1dcc40
org.openhab.binding.sensibo.internal.SensiboCommunicationException: Error sending request to Sensibo server. Server responded with 400 and payload <html><head><title>400 InvalidState - Sensibo</title></head><body><h>400 InvalidState</h><p>parameter "acState" is invalid</p><body></html>

The following Sensibo commands are ran at that time.

			SensiboState.sendCommand(ON)
			sendCommand(SensiboMode,"heat")
			SensiboTarget.sendCommand(20)

		if (SensiboFan.state!="high") {sendCommand(SensiboMode,"high")}

Regards
Paul

Hi, thank you for this binding.
It is working well, but this morning I had a small trouble that I solved quickly. The binding worked OK for a couple of days after the installation, and this morning I was unable to connect to my air conditioners from OpenHab. I entered into Paper UI and at " Configuration > Things" I found the Sensibo APIs disconnected. I disabled and re-enabled them and this did the magic. Someone had the same issue? I wonder if this depends on the OpenHab side or it is a question depending on Sensibo.
I am running OpenHab 2.4.0, therefore I have the dependancy installed.

Regards, Marco

Mine is all working fine here in AU. Mine is connected now and I haven’t rebooted in at least a week.

Hi All,
I’m trying to use this binding but getting following error when create bridge (add API key):

2019-08-12 21:16:54.492 [INFO ] [ternal.handler.SensiboAccountHandler] - Error initializing Sensibo data

java.lang.NullPointerException: null

	at org.openhab.binding.sensibo.internal.model.SensiboSky.<init>(SensiboSky.java:73) ~[?:?]

	at org.openhab.binding.sensibo.internal.handler.SensiboAccountHandler.refreshModel(SensiboAccountHandler.java:209) ~[?:?]

	at org.openhab.binding.sensibo.internal.handler.SensiboAccountHandler.lambda$0(SensiboAccountHandler.java:144) ~[?:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]

	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]

	at java.lang.Thread.run(Thread.java:748) [?:?]

Openhab is 2.5 M1 on raspberrypi 3B+
binding :org.openhab.binding.sensibo-2.5.0-SNAPSHOT.jar downloaded here :https://github.com/seime/openhab2-addons/releases/tag/2.5.0.M1.sensibo.alpha3

Any clue what can be wrong please?
Thank you

I set logging to DEBUG and result when I create bridge in paperUI is following:

019-08-15 18:44:13.571 [me.event.ThingUpdatedEvent] - Thing 'sensibo:account:6b4450ca' has been updated.

==> /var/log/openhab2/openhab.log <==

2019-08-15 18:44:13.572 [DEBUG] [ternal.handler.SensiboAccountHandler] - Initializing Sensibo Account bridge using config SensiboAccountConfiguration [apiKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, refreshInterval=120]

2019-08-15 18:44:13.576 [DEBUG] [ternal.handler.SensiboAccountHandler] - Finished initializing!

2019-08-15 18:44:14.360 [DEBUG] [ensibo.internal.client.RequestLogger] - Request 6b4450ca-7

6b4450ca-7 > GET https://home.sensibo.com/api/v2/users/me/pods?apiKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

6b4450ca-7 > User-Agent: SensiboApp

6b4450ca-7 > Host: home.sensibo.com

2019-08-15 18:44:14.581 [DEBUG] [ensibo.internal.client.RequestLogger] - Response 6b4450ca-7

6b4450ca-7 < HTTP/1.1 200 OK

6b4450ca-7 < Content-Type: application/json

6b4450ca-7 < Date: Thu, 15 Aug 2019 11:44:14 GMT

6b4450ca-7 < Server: nginx

6b4450ca-7 < Strict-Transport-Security: max-age=63072000

6b4450ca-7 < X-Frame-Options: SAMEORIGIN

6b4450ca-7 < Content-Length: 73

6b4450ca-7 < Connection: keep-alive

{

  "status": "success",

  "result": [

    {

      "id": "aGbsMfYn"

    },

    {

      "id": "xuXwFPgS"

    }

  ]

}

2019-08-15 18:44:14.595 [DEBUG] [ensibo.internal.client.RequestLogger] - Request 6b4450ca-8

6b4450ca-8 > GET https://home.sensibo.com/api/v2/pods/aGbsMfYn?apiKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&fields=*

6b4450ca-8 > User-Agent: SensiboApp

6b4450ca-8 > Host: home.sensibo.com

2019-08-15 18:44:14.878 [DEBUG] [ensibo.internal.client.RequestLogger] - Response 6b4450ca-8

6b4450ca-8 < HTTP/1.1 200 OK

6b4450ca-8 < Content-Type: application/json

6b4450ca-8 < Date: Thu, 15 Aug 2019 11:44:14 GMT

6b4450ca-8 < Server: nginx

6b4450ca-8 < Strict-Transport-Security: max-age=63072000

6b4450ca-8 < X-Frame-Options: SAMEORIGIN

6b4450ca-8 < Content-Length: 2986

6b4450ca-8 < Connection: keep-alive

{

  "status": "success",

  "result": {

    "configGroup": "stable",

    "macAddress": "xxxxxxxx",

    "isGeofenceOnExitEnabled": false,

    "sensorsCalibration": {

      "temperature": 0.0,

      "humidity": 0.0

    },

    "cleanFiltersNotificationEnabled": true,

    "connectionStatus": {

      "isAlive": true,

      "lastSeen": {

        "secondsAgo": 14,

        "time": "2019-08-15T11:44:00Z"

      }

    },

    "acState": {

      "on": true,

      "targetTemperature": 25,

      "temperatureUnit": "C",

      "mode": "cool",

      "fanLevel": "auto"

    },

    "motionSensors": [],

    "id": "aGbsMfYn",

    "firmwareVersion": "IN010056",

    "firmwareType": "cc3100_stm32f0",

    "measurements": {

      "temperature": 29.1,

      "humidity": 71.5,

      "time": {

        "secondsAgo": 14,

        "time": "2019-08-15T11:44:00Z"

      },

      "rssi": "-52",

      "piezo": [

        null,

        null

      ]

    },

    "smartMode": {

      "deviceUid": "aGbsMfYn",

      "highTemperatureThreshold": 30.0,

      "type": "temperature",

      "lowTemperatureState": {

        "on": false,

        "fanLevel": "low",

        "temperatureUnit": "C",

        "targetTemperature": 24,

        "mode": "cool"

      },

      "enabled": false,

      "highTemperatureState": {

        "on": true,

        "fanLevel": "low",

        "temperatureUnit": "C",

        "targetTemperature": 24,

        "mode": "cool"

      },

      "lowTemperatureThreshold": 25.0

    },

    "shouldShowFilterCleaningNotification": false,

    "location": {

      "latLon": [

        12.9331702,

        100.9190772

      ],

      "updateTime": {

        "secondsAgo": 11618978,

        "time": "2019-04-03T00:14:36Z"

      },

      "name": "Karel\u0027s place",

      "country": "Thailand",

      "createTime": {

        "secondsAgo": 48921206,

        "time": "2018-01-26T06:30:48Z"

      },

      "address": [

        "xxx",

        "xxx",

        "xxx"

      ],

      "id": "2Cr6zmCY5W"

    },

    "currentlyAvailableFirmwareVersion": "IN010056",

    "tags": [],

    "productModel": "skyv2",

    "isClimateReactGeofenceOnExitEnabled": false,

    "remoteCapabilities": {

      "modes": {

        "dry": {

          "temperatures": {

            "C": {

              "isNative": true,

              "values": [

                17,

                18,

                19,

                20,

                21,

                22,

                23,

                24,

                25,

                26,

                27,

                28,

                29,

                30

              ]

            },

            "F": {

              "isNative": false,

              "values": [

                63,

                64,

                66,

                68,

                70,

                72,

                73,

                75,

                77,

                79,

                81,

                82,

                84,

                86

              ]

            }

          },

          "fanLevels": [

            "low",

            "medium",

            "high",

            "auto"

          ]

        },

        "heat": {

          "temperatures": {

            "C": {

              "isNative": true,

              "values": [

                17,

                18,

                19,

                20,

                21,

                22,

                23,

                24,

                25,

                26,

                27,

                28,

                29,

                30

              ]

            },

            "F": {

              "isNative": false,

              "values": [

                63,

                64,

                66,

                68,

                70,

                72,

                73,

                75,

                77,

                79,

                81,

                82,

                84,

                86

              ]

            }

          },

          "fanLevels": [

            "low",

            "medium",

            "high",

            "auto"

          ]

        },

        "fan": {

          "temperatures": {

            "C": {

              "isNative": true,

              "values": [

                17,

                18,

                19,

                20,

                21,

                22,

                23,

                24,

                25,

                26,

                27,

                28,

                29,

                30

              ]

            },

            "F": {

              "isNative": false,

              "values": [

                63,

                64,

                66,

                68,

                70,

                72,

                73,

                75,

                77,

                79,

                81,

                82,

                84,

                86

              ]

            }

          },

          "fanLevels": [

            "low",

            "medium",

            "high",

            "auto"

          ]

        },

        "cool": {

          "temperatures": {

            "C": {

              "isNative": true,

              "values": [

                17,

                18,

                19,

                20,

                21,

                22,

                23,

                24,

                25,

                26,

                27,

                28,

                29,

                30

              ]

            },

            "F": {

              "isNative": false,

              "values": [

                63,

                64,

                66,

                68,

                70,

                72,

                73,

                75,

                77,

                79,

                81,

                82,

                84,

                86

              ]

            }

          },

          "fanLevels": [

            "low",

            "medium",

            "high",

            "auto"

          ]

        }

      }

    },

    "serial": "50175457",

    "remote": {

      "window": false,

      "toggle": false

    },

    "room": {

      "name": "AC_bedroom",

      "icon": "bedroom"

    },

    "temperatureUnit": "C",

    "remoteFlavor": "Unofficial Cobra",

    "remoteAlternatives": []

  }

}

2019-08-15 18:44:14.933 [INFO ] [ternal.handler.SensiboAccountHandler] - Error initializing Sensibo data

java.lang.NullPointerException: null

	at org.openhab.binding.sensibo.internal.model.SensiboSky.<init>(SensiboSky.java:73) ~[?:?]

	at org.openhab.binding.sensibo.internal.handler.SensiboAccountHandler.refreshModel(SensiboAccountHandler.java:209) ~[?:?]

	at org.openhab.binding.sensibo.internal.handler.SensiboAccountHandler.lambda$0(SensiboAccountHandler.java:144) ~[?:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]

	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]

	at java.lang.Thread.run(Thread.java:748) [?:?]

All requests sent to sensibo API seems to have OK result but bridge do not initialize.
Can someone look at this please?
Thank you

I will try to look at this (and a few other issues) during this weekend.

Arne