Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HA MQTT: received on topic itho/ithostatus. 'high' is not a valid preset mode #257

Closed
roelvandermade opened this issue Jun 18, 2024 · 8 comments

Comments

@roelvandermade
Copy link

roelvandermade commented Jun 18, 2024

Describe the bug
SInce a certain release of either ithowifi or HA (sorry, not sure which triggered it) I receive MQTT warnings about 'low' or 'high' modes not being a valid preset mode

To Reproduce
A running HA (I run 2024.6.3) with itho integration connected through MQTT (Mosquitto integration in HA)

Expected behaviour
No similar warning message in the HA logs

Screenshots
N/A

Device information

  • Firmware version 2.9.0-beta1
  • Hardware revision 2
  • Type/model number Itho MV-unit 468, RV-sensor inside, Perilex stekker
  • CC1101 RF module enabled yes

Debug logging

2024-06-18 17:29:49.039 WARNING (MainThread) [homeassistant.components.mqtt.fan] '{"temp":22.4,"hum":59.2,"ppmw":10108,"Speed status":100,"Internal fault":0,"Frost cycle":0,"Filter dirty":0,"AirQuality (%)":"not available","AirQbased on":0,"CO2level (ppm)":"not available","Indoorhumidity (%)":59,"Outdoorhumidity (%)":"not available","Exhausttemp (°C)":"not available","SupplyTemp (°C)":"not available","IndoorTemp (°C)":"not available","OutdoorTemp (°C)":"not available","SpeedCap":63488,"BypassPos (%)":"not available","FanInfo":"auto","ExhFanSpeed (%)":100,"InFanSpeed (%)":0,"RemainingTime (min)":0,"PostHeat (%)":"not available","PreHeat (%)":"not available","InFlow (l sec)":"not available","ExhFlow (l sec)":"not available","Ventilation setpoint (%)":100,"Fan setpoint (rpm)":2040,"Fan speed (rpm)":2044,"Error":0,"Selection":7,"Startup counter":35,"Total operation (hours)":4008,"Absence (min)":0,"Highest CO2 concentration (ppm)":"not available","Highest RH concentration (%)":59,"RelativeHumidity":59.2,"Temperature":22.4}' received on topic itho/ithostatus. 'high' is not a valid preset mode
@arjenhiemstra
Copy link
Owner

This part of the debug logging

2024-06-18 17:29:49.039 WARNING (MainThread) [homeassistant.components.mqtt.fan] '{"temp":22.4,"hum":59.2,"ppmw":10108,"Speed status":100,"Internal fault":0,"Frost cycle":0,"Filter dirty":0,"AirQuality (%)":"not available","AirQbased on":0,"CO2level (ppm)":"not available","Indoorhumidity (%)":59,"Outdoorhumidity (%)":"not available","Exhausttemp (°C)":"not available","SupplyTemp (°C)":"not available","IndoorTemp (°C)":"not available","OutdoorTemp (°C)":"not available","SpeedCap":63488,"BypassPos (%)":"not available","FanInfo":"auto","ExhFanSpeed (%)":100,"InFanSpeed (%)":0,"RemainingTime (min)":0,"PostHeat (%)":"not available","PreHeat (%)":"not available","InFlow (l sec)":"not available","ExhFlow (l sec)":"not available","Ventilation setpoint (%)":100,"Fan setpoint (rpm)":2040,"Fan speed (rpm)":2044,"Error":0,"Selection":7,"Startup counter":35,"Total operation (hours)":4008,"Absence (min)":0,"Highest CO2 concentration (ppm)":"not available","Highest RH concentration (%)":59,"RelativeHumidity":59.2,"Temperature":22.4}' received on topic itho/ithostatus.

seems to have no relation with

'high' is not a valid preset mode

The first part seems correct (at least JSON syntax wise), why there is a warning I cannot see.

"'high' is not a valid preset mode" is an error message related to HA templates. There must be some more info after this part in the logging I beieve.

@jasperslits
Copy link
Contributor

Check your config in HA on fan definition. You most likely have this somewhere in your YAML.

You need to specify the presets. Your CVE looks a bit different but the culprit is missing preset_modes:

- name: "Itho HRU 350 "
   unique_id: "Itho_hru_Fan"
   state_topic: "ithohru/lwt"
   state_value_template: "{% if value == 'online' %}ON{% else %}OFF{% endif %}" 
   command_topic: "ithohru/cmd"
   preset_mode_state_topic: "ithohru/ithostatus"
   preset_mode_command_template: "{ rfremotecmd: '{{ value }}'}"
   preset_mode_value_template: >
        {% set am = value_json['Actual Mode'] | int %}
          {% if am == 1 %}
            low
          {% elif am == 2 %}
            medium 
          {% elif am == 3 %}
            high
          {% elif am == 13 %}
             timer
          {% elif am == 24 %}
            auto
          {% elif am == 25 %}
            autonight
          {% else %}
            {{ am }}
          {% endif %}
   preset_mode_command_topic: "ithohru/cmd"
   preset_modes:
       - "low"
       - "medium"
       - "high"
       - "auto"
       - "autonight"
       - "timer1"
       - "timer2"
       - "timer3"
       - "timer"

@roelvandermade
Copy link
Author

Check your config in HA on fan definition. You most likely have this somewhere in your YAML.

You need to specify the presets. Your CVE looks a bit different but the culprit is missing preset_modes:

- name: "Itho HRU 350 "
   unique_id: "Itho_hru_Fan"
   state_topic: "ithohru/lwt"
   state_value_template: "{% if value == 'online' %}ON{% else %}OFF{% endif %}" 
   command_topic: "ithohru/cmd"
   preset_mode_state_topic: "ithohru/ithostatus"
   preset_mode_command_template: "{ rfremotecmd: '{{ value }}'}"
   preset_mode_value_template: >
        {% set am = value_json['Actual Mode'] | int %}
          {% if am == 1 %}
            low
          {% elif am == 2 %}
            medium 
          {% elif am == 3 %}
            high
          {% elif am == 13 %}
             timer
          {% elif am == 24 %}
            auto
          {% elif am == 25 %}
            autonight
          {% else %}
            {{ am }}
          {% endif %}
   preset_mode_command_topic: "ithohru/cmd"
   preset_modes:
       - "low"
       - "medium"
       - "high"
       - "auto"
       - "autonight"
       - "timer1"
       - "timer2"
       - "timer3"
       - "timer"

Hey good point, will look into this and report back, thanks!

@roelvandermade
Copy link
Author

So this is my current config with 4 sensors defined, am not sure where to include the preset_modes, I could use an example :)

- sensor:
   name: "Itho Percentage"
   unique_id: "itho_percentage"
   state_topic: "itho/ithostatus"
   unit_of_measurement: "%"
   value_template: "{{ value_json['Ventilation setpoint (%)'] | round (0) }}"

- sensor:
   name: "Itho setpoint (rpm)"
   unique_id: "itho_fan_setpoint"
   state_topic: "itho/ithostatus"
   unit_of_measurement: "rpm"
   value_template: "{{ value_json['Fan setpoint (rpm)'] | round (0) }}"

- sensor:
   name: "Itho speed (rpm)"
   unique_id: "itho_fan_speed"
   state_topic: "itho/ithostatus"
   unit_of_measurement: "rpm"
   value_template: "{{ value_json['Fan speed (rpm)'] | round (0) }}"

- sensor:
   name: "Itho humidity"
   unique_id: "itho_humidity"
   state_topic: "itho/ithostatus"
   unit_of_measurement: "%"
   value_template: "{{ value_json['hum'] | round (0) }}"

@arjenhiemstra
Copy link
Owner

sensors do not use preset modes, must be somewhere else in the config

@jasperslits
Copy link
Contributor

Yes, that’s why I said you should check the yaml definition for your fan.

Or just do a grep -R on “preset” in your ha config directory

@roelvandermade
Copy link
Author

Will dive into this, closing this issue since it looks not to be itho related. thanks!

@Pistoletjes
Copy link

@arjenhiemstra not sure if adding this comment is useful, but I see the same issue and I think it's related to Home Assistant MQTT Discovery. in MQTT I receive in the homeassistant/fan/nrg-itho-### topic:

image

and:

image

I think the case difference between the preset modes and the pr_mode_val_tpl may cause the issue? After updating the preset configuration from 'Low' to 'low', the issue resolved itself for me (until the next discovery, I think).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants