[RELEASE] Home Assistant Device Bridge (HADB)

Did you push the button in HA to trigger the creation of the child device?

This would be absolutely useless

This is to answer a request from users who knows the inner workings of HA. It has a very limited functionality. Ones should not see it as a usefull option. It is not entended as a replacement for a supported device.

1 Like

Ah, now I feel very stupid. Pressing the button for the HA button entity in HA causes the button device to appear.

Now works perfectly. Button presses on the HADB button device on HE pass to HA. Amazing.

Your other comments are correct.

My use of HA is only to bring devices into Hubitat for which there is no Hubitat integration or driver support. Now I can have no more helpers, etc., on HA. Everything is done on HE.

Thanks so very much!

1 Like

For the few of you who wish to use the call service command in RM, I forgot yesterday to add the Actuator capability in the driver.

It is now added in github but I never remember what option you should choose in HPM to get it.

1 Like

Repair

In order to synchronize all components I had to do:

  • Repair;
  • Matchup;
  • Update;

So, are you using away mode on the thermostat? If so, are you able to do that from the HE side? Just curious if the same is possible through HADB for setting the mode to away. Not seeing a way to do that directly in HE. (Currently using the same setup I was using for the Clear Hold - Virtual boolean switch runs a routine in HA to change the mode to away)

No. I am using HA for Litter Robot, SurePet Pet Door, and RatGDO. I’ve also got the Somfy MyLink integration on HA, but I use the one on HE, which works fine. My use of the just-added HADB push button support is to push the “reset waste drawer gauge” button on the Litter Robot integration.

As inspired by Dominick Meglio, I have put a contact sensor (paired to HE) on the waste drawer for the Litter Robot. When a rule on HE detects that the Litter Robot waste drawer has been open for at least 30 seconds and then closed (as happens when the waste drawer is opened and a new waste bag replaces the filled bag), the HE rule presses the “reset waste drawer gauge” on HA through HADB. No need to ever use the Litter Robot mobile app.

It’s my experience that cloud integrations on HE make the hub somewhat unstable, probably due to a memory leak in the http protocol stack. Putting the cloud integrations on HA keeps them maintained and keeps the Hubitat hub stable with memory that doesn’t drop.

The inbuilt generic component thermostat doesn’t have a mode command. But I see a select entity within HA that allows you to change the mode.

On the parent device @ymerj added a command that you can leverage with rule machine to call and change the mode. I haven’t tried it yet with modes but would expect it to work.

1 Like

Yes, I use that mode capability in HA now with a Helper Boolean in HE so that I can have cloudless control from HE. I was just asking if anyone had a way to directly use the entity in HE since I just found the push button capability. Trying to avoid the cloud as much as I can (especially with Ecobee which has a horrendous history of cloud/app issues).

My original reason for setting up HA in the first place was solely due to the instability of the Ecobee cloud. When I found out you could get local control of ecobee on HA, it was kind of a no brainer. The only thing I have that is cloud at all on my hub is Google Home and the Nest integration. Before I moved ecobee off, there were two. I also had sleep number, but since replaced the beds. I never had memory issues on my hub.

It does but only for supported thermostat modes which are the ones matching the thermostat tile. All others are filtered out by HADB.

For what I can see the Ecobee integration choose to use select_option instead of modes. Either way, select_option has no equivalent in Hubitat and is not supported by HADB.

The call service command is one way. You won't get any feedback in HE after issuing a command on an unsupported entity. Also, the format of the command has to be exactly as HA is expecting.

2 Likes

Understood and I was trying to say you can do it via the new Call Service command on the parent Home Assistant Device Bridge device, sorry for the confusion. But this said as @ymerj points out:

I was able to set my Ecobee thermostat to a particular mode via the following entries in the Call Service Command:
image

In HA go to Settings, Devices & services, Entities to see all the entities associates to your HA devices. The Ecobee thermostats have several HA entities but you will find one for Mode (my example thermostat is called "upstairs" as I have 2 others in my home):
image

The highlighted Entity ID is important for the Call Service command:

  • entity: Enter the exact entity id for your "thermostatname Current Mode"
  • service: select_option
  • data: option colon no space and one of the following: [home, sleep, away]. Example option:away

This can be automated in Rule Machine via the Run Custom Action:

  • Set the "Select capability of action device" to Actuator and then select the Home Assistant Device Bridge device
  • Select the callService command
  • You will then need to set 3 String type parameters and the order is important based on the order of the command within the HADB parent device (see screenshot above)

Once set within a Rule action you can then invoke this automatically and the mode will be set to whatever value you set within the third string parameter.

4 Likes

Hi all, having an issue. Followed the steps, and added a Shelly dimmer that populated a child device of HADB. It loaded using the generic dimmer device type, but the buttons (on, of, dimmer level, etc) are not commanding the light in HA. Works fine from HA directly, but doesn't seem to do anything when commanded from HE. Any tips to try and fix this situation? Thanks!

What's the reason you have Shelly joined to HA? Shelly dimmers are supported directly in Hubitat.

Custom drivers I found and am using for other Shelly relays do not support the Shelly dimmer 2 type relay, and the built in Shelly wifi dimmer also does not seem to work with it. On HA no problems, loads simply and easily.

Enable debug logging in the parent driver then actuate your dimmer from HA. Post or PM me the relevant logs.

1 Like

PM'd you, thank you for taking a look!!

ymerj found my problem. I changed the device name rather than the device label so HA was not recognizing the commands from HE. Thank you!!

1 Like

Trying to get a T-Smart Wi-Fi Immersion heating element to work as a thermostat in HE.
It is working fine in HA and sends data correctly to HE.

From HE I can set the "Set Heating SetPoint" just fine. I can set the "Set Thermostat Mode" to "off" just fine. However, I cannot set get the "Set Thermostat Mode" to set to "heat".

Any suggestions?

image

dev:94532024-03-30 17:58:30.930debugparse(): description = {"id":3,"type":"result","success":true,"result":{"context":{"id":"01HT886V8XB608PK3B0BM2XW9S","parent_id":null,"user_id":"478c27a5cbc24bc4adec6aaafd851dc2"}}}

dev:94532024-03-30 17:58:30.880debugparse: domain: climate, device_class: null, entity: climate.ha_immersion, newVals: [off], friendly: HA_Immersion

dev:94532024-03-30 17:58:30.876debugparse(): description = {"id":1,"type":"event","event":{"variables":{"trigger":{"id":"0","idx":"0","alias":null,"platform":"state","entity_id":"climate.ha_immersion","from_state":{"entity_id":"climate.ha_immersion","state":"off","attributes":{"hvac_modes":["off","heat"],"min_temp":15,"max_temp":70,"target_temp_step":5,"preset_modes":["Manual","eco","Smart","Timer","away","boost"],"current_temperature":57.6,"temperature":60.0,"preset_mode":"Manual","icon":"mdi:water-boiler","friendly_name":"HA_Immersion","supported_features":401},"last_changed":"2024-03-30T17:51:53.518721+00:00","last_updated":"2024-03-30T17:58:27.034947+00:00","context":{"id":"01HT886JETDRMYT97VT30E952P","parent_id":null,"user_id":null}},"to_state":{"entity_id":"climate.ha_immersion","state":"off","attributes":{"hvac_modes":["off","heat"],"min_temp":15,"max_temp":70,"target_temp_step":5,"preset_modes":["Manual","eco","Smart","Timer","away","boost"],"current_temperature":57.3,"temperature":55.0,"preset_mode":"Manual","icon":"mdi:water-boiler","friendly_name":"HA_Immersion","supported_features":401},"last_changed":"2024-03-30T17:51:53.518721+00:00","last_updated":"2024-03-30T17:58:36.075589+00:00","context":{"id":"01HT886V8XB608PK3B0BM2XW9S","parent_id":null,"user_id":"478c27a5cbc24bc4adec6aaafd851dc2"}},"for":null,"attribute":null,"description":"state of climate.ha_immersion"}},"context":{"id":"01HT886V8XB608PK3B0BM2XW9S","parent_id":null,"user_id":"478c27a5cbc24bc4adec6aaafd851dc2"}}}

dev:94532024-03-30 17:58:30.740debugmessUpdStr = {"id":3,"type":"call_service","domain":"climate","service":"set_temperature","service_data":{"entity_id":"climate.ha_immersion","temperature":55.0,"hvac_mode":"heat"}}

dev:94532024-03-30 17:58:30.736inforeceived setThermostatMode request from HA_Immersion

It looks like your thermostat integration does not honor the mode request from HE and does not report the actual state of the thermostat.

Are you using the mqtt integration or the direct one?

If you set the thermostat to HEAT in HA, does the thermostatMode and the thermostatOperatingState change in HE?

Can you try this patched version of the driver to see if it works for you?

https://raw.githubusercontent.com/ymerj/HE-HA-control/ymerj-patch-1/HA%20parent.groovy