Anybody using a Sensibo?

VeloWulf.....you rock! Thank you for your work on the cleanup.

1 Like

I haven't gotten around to trying the updated driver/app - However, I did manage to setup my 2nd Hubitat C7 as a Secondary Mesh controller and move the Sensibo over to that. It Improved the responsiveness of my primary C7 massively!

Thanks also for your efforts on this. Will give it a go and see if it puts less load on my hub.

It's still a cloud integration tho, right? And can you confirm if there are any calls to the Sensibo cloud that could block the hub? Because in my stats logs I'm seeing my Sensibo app is taking several seconds to run on average, so I'm supposing the app is very slow to get its poll of the Sensibo cloud service completed and maybe this explains why sometimes my hub runs like a dog if it's tied up waiting for such a response instead of doing this asynchronously.

@Angus_M yep, it is still pretty average code to be honest. What I did was to strip out a whole bunch of unnecessary log and event trapping and (I have just noticed) left the swing function disabled. I had meant to reenable that but forgot as I don't use it (I use the Sensibo app to set the swing settings I want and leave it at that setting). The other thing that I did was to try and remove the number of times the code polls/refreshes but there is a lot more that can be done here.

It absolutely is still a cloud integration - there is no getting away from that. I haven't noticed any performance issues on my own hub though - maybe you have a heavier load on yours, and I can't comment on the asynchronous aspect because I don't know how the hub deals with this.

The two biggest improvements as far as I can tell would be to write the state values directly based on a successful return code (200) from the API rather than poll/refresh again to set the codes after the changes have been made, which is totally unnecessary. That would essentially halve the number of calls made to the API. The other thing would be to put better logic around the scheduled refreshes to compare old and new values before registering the event as a change (which fires off other code and any triggers set on the values).

I have set up my own github with the updated code so please feel free to work on it at your leisure. I am planning on having a go at the above fixes myself soon too.

https://github.com/VeloWulf/SensiboIntegration

5 Likes

Thanks for the detailed note and your work on this! Right now I'm so busy with work and so low skilled on app development that my contribution will have to be shouts of encouragement from the sidelines!

I hope you can get the swing functionality back in because I use that in some automations. The optimisations you have targeted will be excellent to cut the hub load down and improve performance I think.

Ok. Swing function has been reinserted and cleaned up BUT NOT TESTED!! Please bear that in mind when you use the code and let me know if and when you find any dramas. Happy to fix them.

I have also spent a bit of time learning how to integrate with the fantastic package manager that @dman2306 has put together. You can add my custom repository using the URL https://raw.githubusercontent.com/VeloWulf/SensiboIntegration/master/repository.json or simply install the package directly using https://raw.githubusercontent.com/VeloWulf/SensiboIntegration/master/packageManifest.json.

If you don't want to use HPM then you can get the app from

https://raw.githubusercontent.com/VeloWulf/SensiboIntegration/master/smartapps/SensiboIntegration.groovy

and the driver from

https://raw.githubusercontent.com/VeloWulf/SensiboIntegration/master/devicetypes/SensiboPod.groovy

Happy to receive shouts from the sideline - I am just dipping into this stuff for the first time myself and it can be a bit daunting at times. My first foray into java...!

Let me know how you go :slight_smile:

5 Likes

Here's mine! :clap: :clap: :clap:

1 Like

Hi, this is my first user driver to add to Hubitat and I would appreciate some help as I didn't get things to work (sorry if it's a noob question)

I have added the driver code and the app code from @VeloWulf github links.
I have added a virtual device pointing to the new driver.
I connected the sensibo app with the API (and it recognized my unit)
Now i have device setup and the app connected - the app is showing on the app list and the device is showing on the devices list

Now i couldn't get anything to work...
Am I supposed to link the app and the device somehow?

Replying on my mobile so apologies for the brevity. You need to let the app create the drivers so load both the driver code and app code into the respective sections in HE and then run the app.

Make sure you delete any devices that you have created manually.

All should work but let me know if you have any issues

I finally got around to updating to your drivers, I must say lovely work sir! My 2nd Hubitat is barely doing anything now. I really must offload a few more things to it now.

1 Like

Per your instruction i removed the virtual device i have added for sensibo using the driver and ran the app again.

Now, under devices i don't have the sensibo device, should i add it again by using add virtual device?

Edit: I have added the virtual device again and still no response

I tried installing through HPM and for some reason I cannot get the new device to work either. Here are the errors in the logs after adding the new app:

app:682021-02-27 20:29:38.424 errorcom.hubitat.app.exception.UnknownDeviceTypeException: Device type 'SensiboPod' in namespace 'joyfulhouse' not found on line 547 (installed)
app:682021-02-27 20:29:38.338 debugPod : Living Room - Hub : XXXX - Type : SensiboPod - Namespace : joyfulhouse
app:682021-02-27 20:29:38.333 debugSensibo Pods: [XXXX:Living Room, XXXX:Bedroom]
app:682021-02-27 20:29:37.300 debugInitialising XXXX
app:682021-02-27 20:29:31.718 debugSensibo Pods: [XXXXLiving Room, XXXX:Bedroom]

Edit: @VeloWulf I just submitted a pull request to your repo to fix the typo still pointing to the old joyfulhouse namespace.

@shunem if you go to the Sensibo Integration code in the Apps code tab and update line 44 from:

def getChildNamespace() { return "joyfulhouse" }

to:

def getChildNamespace() { return "velowulf" }

Then go back to the Sensibo Integration app to select the Sensibos you want to add. After hitting Done the devices should automatically be added.

Thanks @benmek, and thanks for the pull request on git - code updated. HSM install should work now, I think.

@shunem - the code on git is up to date with the changes. If you haven't implemented the suggestion from benmek then you can do a copy and paste of the entire app code (driver code hasn't changed) and it will solve the problem

You don’t manually install the device, you install the “user app” then run through the setup and the app will create the device for you.

Hi @VeloWulf Im having an issue with your App/Driver combo that I didnt have on the OG version.

The 1st and least important issue is the Dashboard widgets dont work from either of my C7's and the only thing that updates is the current temp.

Screen Shot 2021-03-01 at 10.46.33 am

I can manually operate everything from the device page without issues so I know that it is working

But the big issue is that none of my RM 4.0 automatons work anymore despite them reflecting the correct environment states.

Im using you latest release as of today.

Hi Derek,

The reason that this will be happening is probably because I disabled the Thermostat capability because it wasn't very well implemented. See post #136 above

NOTE: I have withdrawn the Actuator capability and the Thermostat capability so if anybody has managed to get standard Thermostat functions to work with the old code they will all break - YOU HAVE BEEN WARNED!! The reason for this is that the Thermostat feature wasn't compatible with the modes available through Hubitat and I am not clever enough to work out how to reset the modes available - it was easier to withdraw the capability. Maybe somebody can help me with setting custom modes for Thermostats - reintroducing the feature is fairly straightforward if we can get it to work.

I have the reintroduction of that capability on my radar because I am sure that we must be able to provide the correct modes to the device so that it presents the modes (for example, Dry) to the hub but I need to do a bit more research before I go down that route. You have a few choices here:

  1. Reenable the thermostat function - this is probably the shortest, least painful route if you had stuff working before. To do this just remove the comment markers (//) from the driver code on lines 39, 83 and 95. This will reintroduce the capability and the set thermostat and airconditioner modes. I haven't cleaned this code up yet because I had turned it off so it may be a bit messy but should all still be there and should function. Let me know if you have any problems and I will try to help
  2. Rework all of your RM4.x rules to use custom actions with the commands that you have available. If I was being honest I would say that this is probably the best route at the moment simply because the Thermostat feature isn't very well implemented in the driver but that all depends on how much effort the rework would take
  3. Revert the app and driver back to @blink version and watch this space

HTH

1 Like

Cheers, I'll give option 1 a go.

No worries. I have my head in the code at the moment actually and there are a couple of other changes you need to make:

  • Remove the /* from line 392 and the corresponding */ from line 452
  • Do the same on lines 464 and 476

These lines control the event management from the thermostat mode

It wasn't necessary to make those other changes, the dashboard and RM are now working fine with just the changes to lines 39, 83 & 95.

I think those just allow the color changes to the dashboard?