Closed paul-creates closed 7 years ago
This is a tricky one, what should the value for 'idle' be? Or should it just be discarded as an invalid measurement?
Yeah, this is tricky. The thermostat is actually a collection of different values. It looks like it's trying to write all of them as one event to InfluxDB for the °F measurement. If that was the desired behavior, then in may make more sense in this case to report the "current temperature" or the "desired temperature" instead of the state. The state is also present in the "operation_mode" field, so there wouldn't be any loss of information.
I'm not sure how other climate devices report data, not sure if they would have similar issues, or if this is unique to the generic thermostat.
Another perspective is that for the generic thermostat, the current temperature and the state of the controlled switch are derivatives of other elements, and so they don't need to be reported by generic thermostat at all. I believe the primary relevant information from the generic thermostat is it's current state, and the user set desired temperature.
Yet another perspective is that the generic thermostat, and probably other thermostats too, are a collection of different sensors and control logic and should not all be aggregated into one event in InfluxDB. I can imagine one event for the thermometer component, one for the switch component, and one for the control logic (or maybe two for the control logic, one for desired temp, one for current state).
I don't know enough yet about the system design for home assistant as a whole to know what is the ideal solution, just throwing out some ideas =)
I've seen that but nothing seems to have happened since then. :(
Same. There's always been type parsing conflicts with the InfluxDB component for me. It's not just with less common components like generic_thermostat
, I also get it with the sun component:
Dec 19 15:29:30 raspi hass[27852]: influxdb.exceptions.InfluxDBClientError: 400: {"error":"field type conflict: input field \"azimuth\" on measurement \"sun.sun\" is type float64, already exists as type integer"}
This seems like a much more fundamental issue not consistently parsing fields to feed to Influx. The Influx component has never worked for me and I have been checking every now and then since it came out. I can't imagine the folks working on it overlooked something so obviously broken, so I think it's got to be an issue specific to certain setups. Any thoughts on what to look for to narrow it down?
This issue should be some by #5238 I think you can close it
Home Assistant release (
hass --version
): Running in local development mode at SHA1: c9a88322d61e2caf14c4cea6d865afddc8ec9804 0.30.1Python release (
python3 --version
): Python 3.4.2InfluxDB version
Component/platform: InfluxDB and Generic Thermostat
Description of problem: InfluxDB is unable to write events for the generic thermostat.
Problem-relevant
configuration.yaml
entries and steps to reproduce:Traceback (if applicable):
I believe this is happening because in Influx DB, it tries to convert the state to a number HERE, if it is unable to, it will directly assign the state. In this case, the state is 'idle'. This is then unable to be written to the measurement °F because it's a string, not a float.