I have a humidifier that I move to different rooms in my house on occasion. It is not “smart”, so I had the idea to control it with a humidity sensor and smart plug in the room that it’s currently in. I have it working, but there are a couple things I would like to improve.
First, I am controlling it with the generic thermostat integration, which works exactly how I would like it to, except for the fact that it is hardcoded to deal only with temperature. So the units are in degrees, instead of %, and it refers to heating the room, instead of humidifying it. These do not prevent it from functioning, but it would improve the interface if I could change the display of what is being controlled. Maybe this could be a generic bang-bang controller, instead of a generic thermostat.
Is there a way to do this that I am unaware of?
Secondly, because I move the humidifier between rooms, the humidity that I want to reference as the target will change, as might the plug I want to use to control it. I created a couple of dropdown input select helpers with the entity ID’s of the devices from the different room options, and thought I might be able to use a template in the thermostat config to accomplish a more flexible setup. The idea being that I could move the humidifier, and then just change the dropdowns for the “heater” and target sensor to correspond to the new room, instead of needing to change the configuration yaml. Alas, this did not work:
- platform: generic_thermostat
name: Generic Humidifier
heater: '{{ states.input_select.generic_humidifier_switch.state }}'
target_sensor: '{{ states.input_select.generic_humidifier_sensor.state }}'
min_temp: 35
max_temp: 65
ac_mode: false
target_temp: 55
cold_tolerance: 0.6
hot_tolerance: 0.6
min_cycle_duration:
minutes: 5
precision: 1.0
target_temp_step: 1.0
Configuration Warnings:
Invalid config for 'generic_thermostat' from integration 'climate' at configuration.yaml, line 98: Entity ID {{ states.input_select.generic_humidifier_switch.state }} is an invalid entity ID for dictionary value 'heater', got '{{ states.input_select.generic_humidifier_switch.state }}'
Invalid config for 'generic_thermostat' from integration 'climate' at configuration.yaml, line 99: Entity ID {{ states.input_select.generic_humidifier_sensor.state }} is an invalid entity ID for dictionary value 'target_sensor', got '{{ states.input_select.generic_humidifier_sensor.state }}'
Did I make a mistake in my config? Or is this just not possible?