I use a couple of Qubino 1D Relays for my fireplaces with @ericm's drivers, not only they allow me to setup all the parameters but also support the temperature probes... But if I try to add them to the Google Home app they get removed a couple of seconds later with an error in the logs that Google Home does not support those devices...
If I use the "Generic Z-Wave Relay" driver they work fine and do show in Google home so I can ask Google to turn on the fireplace but I lose the temperature sensor.
As a workaround I can add them as "Generic Z-Wave Relay" and later change them to the custom driver and they continue to work fine with Google Home, until I need to add or remove a device from the integration and they get removed again...
Is there anything I can change in the custom driver to make the integration accept it?
GH might be thinking this device is a thermostat, in which case it wouldn't have all the required attributes for that device, and so drops it.
If you make the temp probes composite child devices and remove the temp capabilities and attributes from the parent, that would resolve it.
Thanks Mike! I'll give that a try once I have some time, great opportunity to learn some more groovy...
Hi @mike.maxwell, I had on my ToDo list to try separating the temperature sensor on Eric's driver into a child device in an attempt to fix the problem with Google Home dropping the device... Never got the time to do it but reading 2.0.6 release notes noticed there is now an Official built-in driver for this device and I would much prefer to use official drivers when available...
I just tried the new driver and if I use it when clicking Done on the Google Home app it drops the device as before with this log message:
app:712019-02-25 02:12:12.664 pm warnThe following devices are not supported by Google Home and will be removed from your device list:[Basement Fireplace]
Would it be possible to separate the temp sensor into a child device on this official driver? right now the workaround it to use the "Generic Z-Wave Relay" but you lose the temp reading, or change it after setting up Google Home but then you cannot make any other changes to it or the devices will be dropped again...
Yes, we can move the temperature component to a child device.
I had a similar issue - created a custom driver for my lights, with on/off, and it was working great with Google Home. Added in the light's brightness level & temperature range (warm white/cool white) settings, and then Google Home removed my lights from syncing and wouldn't add them back.
Took me a while to figure out it was the attribute name "temperature" - I renamed it to "colourTemperature" and now the lights are accepted by GH again.
I didn't have the capability "TemperatureMeasurement" (because it's not a thermostat) - but just the attribute "temperature" was enough for GH to reject it.
Not sure if it's possible, but perhaps the Google Home integration could only send GH the attributes that are supported?
Or even if the log message explained why/what part of the device is not supported would be a useful improvement
Google is rather strict on attributes, so the devices are typed based on their attribute sets vs capabilities. So drivers must be written to support the correct attributes for their capabilities.
Capabilities and attributes are fully documented in our wiki.
Temperature is considered part of the thermostat capability, however none of the other attributes for thermostat were provided, so the device was rejected.
The correct attribute name for adjustable white is colorTemperature.
In order for drivers to operate correctly with other applications one must implement all the commands and attributes that are a part of the given capability.
Almost had the right name by accident (but had to also convert the bulbs own units to Kelvins to match the capability listed in the wiki).
Yes, that was what I was trying to say - since the device didn't specify the Thermostat capability, it would be nice if it could just ignore those unsupported attributes (don't show them to GH) rather than rejecting the whole device. Or alternatively add to the log what attribute caused the device to become unsupported.
Anyway it's all working well now with those changes, thanks!
Hi @mike.maxwell, did you ever manage to move the temperature component of the "Qubino 1D Relay Module" driver to a child device?
I just tried this again as I really wanted to use the temperature sensor but as soon a I tried the device got removed from the Google Home app, had to go back to the "Generic Z-Wave Relay" driver...
Hello @mike.maxwell, sorry to bother you with this again but is there any chance you can move that temperature component to a child device? Right now it's either having temperature or being able to use them in google home which really sucks...
I tried many different things and driver's but the only way to avoid google from dropping the device is to use a driver without temperature reading.
Actually I had a light bulb moment and found a solution that works quite well! for anyone having a similar issue:
1 - Create a Virtual Switch with the same name
2 - Install Switch Bindings app using HPM and created a binding between the Qubino 1D Relay and the Virtual Relay. (Tried with the built-in mirror app first but that one seems to be unidirectional, switch bindings works beautifully)
3 - Added the Virtual Switch to Google Home.
4 - Profit!