nebulous / infinitude

Open control of Carrier/Bryant thermostats
MIT License
225 stars 50 forks source link

FR: Ability to convert some text fields to enums #55

Closed mattster98 closed 6 years ago

mattster98 commented 6 years ago

I'm collecting a lot of my home automation data with Telegraf and adding to InfluxDB to be able to output and analyze with Grafana (kind of a nice toolchain once you get it set up).

Telegraf can pull the /api/* pages and import them, but InfluxDB and Grafana want numeric values, not strings.

Telegraf will hopefully some day have the ability to do "enums" - where for a given field you can set up a mapping of string to a numeric value, but until then, having Infinitude output it on the api would be great.

Something like this for zoneconditioning: idle = 0 active_heat = 1 active_cool = 2 others? (Not sure what all the options are)

Since I think that string comes directly from the proxy, it's not already being translated in the software so I didn't see an obvious place with my limited perl ability to hack it in. Happy to try that if someone can point me in the right direction.

Of course, I'd love to have additional details as well like which stage the compressor is using, fan RPMs, etc.. maybe those are available in the serial stream, but haven't found them yet. I'm mapping all of this to my power consumption.

mattster98 commented 6 years ago

Closing this one - I think what I've learned is that every value in json is in quotes, which my parser only turns into strings, which my monitoring system only dumps on the floor. :) Waiting for the next major release in telegraf where "this will all be fixed" ;) Thanks!