Custom Component: Hubitat

Yes, you should be able to use Node Red. I’m not really familiar with NR, unfortunately. @code-in-progress posted something a couple weeks ago that seems related, though.

In Developer Tools -> Events in Home Assistant you can listen for hubitat_event to see what data is in the events.

1 Like

@jason0x43 I seem to be getting two hubitat_event for each event that happens.

Is that happening all the time? By chance is Hubitat sending duplicate events? I noticed that happening for one of my button controllers a couple days ago – I’d hit a button, and two “pushed” events would show up in the device event list in Hubitat.

The logs in HE are different. But ya, I think it’s probably sending it twice. I debounced my logic.

Finished migration to my new NUC. No more zwave problems. Yes!

Blazing, ripping, unbelievably fast. Imperceptible latency. Instant!

As I told Stephack, makes HE look like an obese quadriplegic turtle.

3 Likes

Is insulting the obese quadriplegic turtle really necessary??? :wink:

1 Like

Speaking of migration, I just finished moving over to a VMware-hosted version of full Home Assistant (vs just Home Assistant Core). It’s pretty nice! It also still seems easy enough to use for development, so that’s a win.

4 Likes

Anyway to check if a Thermostat (from HE) has been manually adjusted vs via the API?

Hmmmm…not in a simple way (at least not for my Nest). With some switches, HE tells you whether the trigger was physical or digital. Possibly non-cloud based thermostats would work that way, too, in which case I could expose that through the integration.

Otherwise I could do something timing based in the integration to see if a thermostat state change was in response to something the integration did or something external.

I have Centralite Pearls. I’ve not seen it log physical overrides. But if you can find it to throw I’d be mighty grateful.

Can you log an event from the thermostat to see what’s in it? (Enable debug logging for hubitatmaker and change the temp on the thermostat.) In the meantime I’ll see if I do something more general purpose.

First I triggered a temperature change to 70 from the HE Device Property page.
Then I triggered a temperature change to 68 from the thermostat physically.

Is this what you’re looking for?

[app:996](http://10.0.0.54/logs#app996)2020-03-20 03:27:57.498 pm [debug](http://10.0.0.54/installedapp/configure/996)device event: {"name":"thermostatSetpoint","value":"68","displayName":"Downstairs Thermostat","deviceId":"721","descriptionText":"Downstairs Thermostat thermostatSetpoint is 68\u00b0F","unit":"\u00b0F","data":null}

[app:996](http://10.0.0.54/logs#app996)2020-03-20 03:27:57.494 pm [debug](http://10.0.0.54/installedapp/configure/996)device event: {"name":"heatingSetpoint","value":"68","displayName":"Downstairs Thermostat","deviceId":"721","descriptionText":"Downstairs Thermostat heatingSetpoint is 68\u00b0F","unit":"\u00b0F","data":null}

[dev:721](http://10.0.0.54/logs#dev721)2020-03-20 03:27:57.468 pm [info](http://10.0.0.54/device/edit/721)Downstairs Thermostat thermostatSetpoint is 68°F

[dev:721](http://10.0.0.54/logs#dev721)2020-03-20 03:27:57.445 pm [debug](http://10.0.0.54/device/edit/721)getSetpointResult: 68:heat

[dev:721](http://10.0.0.54/logs#dev721)2020-03-20 03:27:57.442 pm [info](http://10.0.0.54/device/edit/721)Downstairs Thermostat heatingSetpoint is 68°F

[dev:721](http://10.0.0.54/logs#dev721)2020-03-20 03:27:57.438 pm [debug](http://10.0.0.54/device/edit/721)getHeatingSetpointResult: 2000

[dev:721](http://10.0.0.54/logs#dev721)2020-03-20 03:27:57.427 pm [debug](http://10.0.0.54/device/edit/721)descMap: [raw:9B3C0102010A120029D007, dni:9B3C, endpoint:01, cluster:0201, size:0A, attrId:0012, encoding:29, command:0A, value:07D0, clusterInt:513, attrInt:18]

[app:996](http://10.0.0.54/logs#app996)2020-03-20 03:27:46.613 pm [debug](http://10.0.0.54/installedapp/configure/996)device event: {"name":"thermostatOperatingState","value":"pending heat","displayName":"Downstairs Thermostat","deviceId":"721","descriptionText":"Downstairs Thermostat thermostatOperatingState is pending heat [stage 1]","unit":null,"data":null}

[dev:721](http://10.0.0.54/logs#dev721)2020-03-20 03:27:46.548 pm [info](http://10.0.0.54/device/edit/721)Downstairs Thermostat thermostatOperatingState is pending heat [stage 1]

[dev:721](http://10.0.0.54/logs#dev721)2020-03-20 03:27:46.544 pm [debug](http://10.0.0.54/device/edit/721)getThermostatOperatingStateResult: 1

[dev:721](http://10.0.0.54/logs#dev721)2020-03-20 03:27:46.539 pm [debug](http://10.0.0.54/device/edit/721)descMap: [raw:9B3C0102010A2900190100, dni:9B3C, endpoint:01, cluster:0201, size:0A, attrId:0029, encoding:19, command:0A, value:0001, clusterInt:513, attrInt:41]

[app:996](http://10.0.0.54/logs#app996)2020-03-20 03:27:38.862 pm [debug](http://10.0.0.54/installedapp/configure/996)device event: {"name":"heatingSetpoint","value":"70","displayName":"Downstairs Thermostat","deviceId":"721","descriptionText":"Downstairs Thermostat heatingSetpoint is 70\u00b0F","unit":"\u00b0F","data":null}

[app:996](http://10.0.0.54/logs#app996)2020-03-20 03:27:38.849 pm [debug](http://10.0.0.54/installedapp/configure/996)device event: {"name":"thermostatSetpoint","value":"70","displayName":"Downstairs Thermostat","deviceId":"721","descriptionText":"Downstairs Thermostat thermostatSetpoint is 70\u00b0F","unit":"\u00b0F","data":null}

[dev:721](http://10.0.0.54/logs#dev721)2020-03-20 03:27:38.802 pm [info](http://10.0.0.54/device/edit/721)Downstairs Thermostat thermostatSetpoint is 70°F

[dev:721](http://10.0.0.54/logs#dev721)2020-03-20 03:27:38.799 pm [debug](http://10.0.0.54/device/edit/721)getSetpointResult: 70:heat

[dev:721](http://10.0.0.54/logs#dev721)2020-03-20 03:27:38.795 pm [info](http://10.0.0.54/device/edit/721)Downstairs Thermostat heatingSetpoint is 70°F

[dev:721](http://10.0.0.54/logs#dev721)2020-03-20 03:27:38.792 pm [debug](http://10.0.0.54/device/edit/721)getHeatingSetpointResult: 2111

[dev:721](http://10.0.0.54/logs#dev721)2020-03-20 03:27:38.789 pm [debug](http://10.0.0.54/device/edit/721)descMap: [raw:9B3C0102010A1200293F08, dni:9B3C, endpoint:01, cluster:0201, size:0A, attrId:0012, encoding:29, command:0A, value:083F, clusterInt:513, attrInt:18]

[dev:721](http://10.0.0.54/logs#dev721)2020-03-20 03:27:34.221 pm [trace](http://10.0.0.54/device/edit/721)setHeatingSetpoint(70)

Thanks, that’s exactly what I was looking for. Sadly, there’s nothing useful there.

I created https://github.com/jason0x43/hacs-hubitat/issues/30 to track this. I can indicate whether the temperature was updated from HA or somewhere else, but there won’t be any way to tell how it was updated outside of HA (physically, through HE directly, etc.).

Ok, thanks for looking.

I needed to change my hubitat hub IP address. what do I need to do on this integration? I don’t see anywhere to specify IP on the already installed integration settings?

At the moment, the only way to update the Hubitat IP is to remove and re-add the integration. The IP address is used as part of each device’s unique ID (to handle the case where multiple hubs are in use), so changing the IP means that all the devices will have new unique IDs (so will be new to HA).

I need to update the integration to use something more stable in the device IDs (probably the hub’s MAC address), and to migrate existing entities, before allow the IP address to be changed for an existing install.

Argh.

OK, no biggie. I have nothing but time right now anyway. Thanks for confirming!

Yeah, sorry about that. Having other people use something really highlights invalid design assumptions (like that the IP will probably never change). :man_facepalming:

1 Like

I’m troubleshooting a situation where Zwave attached motion sensors (Zooz 4 in 1) are reporting temperature correctly to Hubitat, but at least the integration is reporting the wrong number. It doesn’t look like a conversion or F/C problem either. Both sides are set to C and report believing they’re in C. To further confound, I have two of these sensors and they are both a different amount apart from correct. Example, the Gym sensor reports 21.27c on Hubitat, and -5.96 on HA. The Laundry sensor reports 23.05c on Hubitat and -4.97 on HA.

Anybody seen something like this before?