artem-sedykh / mini-humidifier

Minimalistic humidifier card for Home Assistant Lovelace UI
MIT License
155 stars 26 forks source link

generic hygrostat #125

Open lutz108 opened 4 months ago

lutz108 commented 4 months ago

Hey :)

I want to use the humidifier card to control a generic_hygrostat. Mine is set up as follows:

generic_hygrostat:
  - name: Humidifier Asakuki
    unique_id: asakuki
    humidifier: switch.asakuki_smart_oil_diffuser_power
    target_sensor: sensor.thermometer_humidity
    min_humidity: 20
[...]

My current configuration is

type: custom:mini-humidifier
entity: humidifier.asakuki
toggle:
  icon: mdi:dots-horizontal
  hide: false
  default: false
power:
  type: button
  state-entity: switch.asakuki_smart_oil_diffuser_power
target_humidty:
  hide: false
  min: 45
  max: 80
  step: 5
  state:
    attribute: target_humidity
[...]

image

Sadly the slide is not usable. I tried playing around with target_humidity: change_action, but couldn't get it to work :/

regevbr commented 4 months ago

seems like you have a typo - target_humidty vs target_humidity

lutz108 commented 4 months ago

embarrassingly you're right. However that was not the solution. image The result it the same, for either a minimal configuration

type: custom:mini-humidifier
entity: humidifier.asakuki

Or my last version:

type: custom:mini-humidifier
entity: humidifier.asakuki
toggle:
  icon: mdi:dots-horizontal
  hide: false
  default: false
power:
  type: button
  state-entity: switch.asakuki_smart_oil_diffuser_power
target_humidity:
  hide: false
  min: 45
  max: 80
  step: 5
indicators:
  humidity:
    icon: mdi:water-outline
    unit: '%'
    round: 1
    source:
      entity: sensor.thermometer_humidity
  error:
    icon: mdi:water-alert-outline
    name: water
    source:
      entity: binary_sensor.asakuki_smart_oil_diffuser_needs_water_fault

the attributes of my generic_hygrostat are

min_humidity: 20
max_humidity: 100
available_modes: normal, away
action: humidifying
current_humidity: 61
humidity: 66
mode: normal
saved_humidity: 45
device_class: humidifier
friendly_name: Humidifier Asakuki
supported_features: 1
regevbr commented 4 months ago

something does't make sense. Are you sure that the config that you pasted here in the last message renders the card you posted? What is the state of humidifier.asakuki? I don't see any target_humidty attribute on the entity you posted. Also I'm not sure what doesn't work here? can you please elaborate? If the slider is not disabled, then you must supply a change_action that will do something with it, nothing is magic here when you use custom entities. You need to instruct the card what to do when you change the slider

lutz108 commented 4 months ago

100 % sure, this is the current config of my mini-humidifiert card. The humidifier.asakuki is a generic_hygrostat humidifier integration, see my first post.

The humidity of the room is measured by the sensor.thermometer_humidity entity*. The switch.asakuki_smart_oil_diffuser_power entity will turn on my Asakuki Aroma Diffuser (integrated with localtuya, since it's not flashable anymore), that just evaporates water. The humidifiert.asakuki hygrostat integration will turn off switch.asakuki_smart_oil_diffuser_power when the sensor.thermometer_humidity measures the set (target_)temperature. So yes, my humidifier.asakuki does not have a target_humidity attribute, or, at least, it is not exposed or has another definition as the attribute, your card is using by default..

You actually pointed out my issue/request for help. How would I configure the card so I can set the desired target_humidity of my generic_hygrostat humidifer.asakuki with the slider of my mini-humidifer config? I have tested several configs, including change_actions and target_humidty:state:mapper, based on the docu examples. But none worked, the slider was always grayed out. I would probably need to use target_humidty:state:attribute: humidty in first place?

-- *I've forgot to remove lcd_wohnzimmer_ in sensor.thermometer_lcd_wohnzimmer_humidity in my mini-humidifier card config when I copied it to here. Fixed the config of my second post. So I am always referring to sensor.thermometer_lcd_wohnzimmer_humidity

regevbr commented 4 months ago

Sorry I completly forgot that there is a default config being applied if you don't set a model. It is written in the docs:

image

image

If you will follow the links in the docs you will see the config being applied that is merged with what you supply in your own config. The case here is that the disabled property is being set from the default config. you need to change it in your own config:

disabled: false
lutz108 commented 4 months ago

Thanks mate! :)

image All that was missing in the config of the initial post was the target_humidity:disabled:false and setting the attribute to humidity Could you add the disabled parameter to the target_humidity table as it already is mentioned for power_button?

regevbr commented 4 months ago

You are welcome to create a PR

lutz108 commented 4 months ago

just raised a PR :) Hope that's ok like that.

I was additionally thinking about a generic_hygrostat example. However I guess that would exceed the purpose of this projects docu