I am building a driver for a light switch. It has a tonne of advanced configuration settings.
What I am noticing is that if the switch isn’t factory defaulted when I adopt it into Homey, there is a good chance that the value of these advanced configuration settings are going to be different than what Homey thinks they are.
What I think is going on is that when a device is adopted into Homey, Homey builds a database of the values it thinks the switch is configured to. It initially builds this database from the driver’s “value” fields of the driver. It basically assumes that the driver represents a factory defaulted device and that the device being adopted has been factory defaulted.
But, if the device has not been factory defaulted, is there some operation that I should do as the device driver writer to have homey query these values to bulid the internal database?
This particular device also has an advanced setting that is read only for the internal temperature of the device and another value for an overheat protection mode (0 = normal operation, 1 = overheat protection mode enabled). I was going to show these values on the advanced config as read only values, but I don’t see that Homey is reading them so having them there is not useful.
I guess I should surface them in the main device UI as values somehow.
Any suggestions?
Thanks