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

[Bug]: Feature combination { heating: false, cooling: false } is disallowed by the Matter specification #313

Closed
2 tasks done
Marcel2906 opened this issue Dec 16, 2024 · 5 comments
Labels
bug Something isn't working

Comments

@Marcel2906
Copy link

Version

3.0.0-alpha.55 (2024-12-15)

Matter Controller

Google Home

Steps to reproduce

Start matter hub

State and attributes

auto_update: false
display_precision: 0
installed_version: 3.0.0-alpha.55
in_progress: false
latest_version: 3.0.0-alpha.55
release_summary: ## 3.0.0-alpha.55 (2024-12-15)

🩹 Fixes

  • add debug logging when home assistant actions fail (d77826e)
  • ⚠️ thermostat: refactor how states are synchronized ([551da69](https:
    release_url: null
    skipped_version: null
    title: Home-Assistant-Matter-Hub
    update_percentage: null
    entity_picture: /api/hassio/addons/491eb00d_hamh/icon
    friendly_name: Home-Assistant-Matter-Hub Update
    supported_features: 25

Relevant log output

[ 2024-12-16T05:36:25.972Z ] [ ERROR ] [ Bridge / 574891b5bf924fd9baefeb23bac2d346          ]: Failed to start bridge due to error: Feature combination { heating: false, cooling: false } is disallowed by the Matter specification
  at ClusterComposer.reject (file:///usr/local/lib/node_modules/home-assistant-matter-hub/node_modules/@matter/types/dist/esm/cluster/mutation/ClusterComposer.js:122:11)
  at ClusterComposer.compose (file:///usr/local/lib/node_modules/home-assistant-matter-hub/node_modules/@matter/types/dist/esm/cluster/mutation/ClusterComposer.js:47:16)
  at ThermostatServer.withFeatures (file:///usr/local/lib/node_modules/home-assistant-matter-hub/node_modules/@matter/node/dist/esm/behavior/cluster/ClusterBehavior.js:72:58)
  at ThermostatServer.with (file:///usr/local/lib/node_modules/home-assistant-matter-hub/node_modules/@matter/node/dist/esm/behavior/cluster/ClusterBehavior.js:79:17)
  at ClimateDeviceType (file:///usr/local/lib/node_modules/home-assistant-matter-hub/dist/backend/cli.js:2442:26)
  at ClimateDevice (file:///usr/local/lib/node_modules/home-assistant-matter-hub/dist/backend/cli.js:2471:10)
  at createDevice (file:///usr/local/lib/node_modules/home-assistant-matter-hub/dist/backend/cli.js:2569:10)
  at BridgeDeviceManager.upsertDevice (file:///usr/local/lib/node_modules/home-assistant-matter-hub/dist/backend/cli.js:2819:26)
  at file:///usr/local/lib/node_modules/home-assistant-matter-hub/dist/backend/cli.js:2808:21
  at Array.map (<anonymous>)

Documentation & Issues

  • I have reviewed the documentation and the linked troubleshooting guide.
  • I have searched the issues for a similar problem.
@Marcel2906 Marcel2906 added the bug Something isn't working label Dec 16, 2024
@t0bst4r
Copy link
Owner

t0bst4r commented Dec 17, 2024

You have at least one climate included which does not have heating or cooling. What does it do then?
Can you please try to find the affected entity and share its attributes?

@kimzeuner
Copy link

im having the same issue since the last update and im pretty sure that the affected entities are my climate template entities (because since the update they are no longer listed in the hub configuration).
The configuration for the climate template entities look like this

- platform: climate_template
  name: "Fußbodenheizung Wohnzimmer Template"
  unique_id: "fussbodenheizung_wohnzimmer_template"
  modes:
    - "auto"
    - "off"
  preset_modes:
    - "away"
    - "home"
    - "sleep"
    - "boost"
  min_temp: 8
  max_temp: 30
  temp_step: 0.5
  precision: 0.1
  current_temperature_template: "{{ states('sensor.e2m_thermostate_wohnzimmer_tempc') }}"
  set_temperature: 
    - sequence:
      - service: number.set_value
        metadata: {}
        data:
          value: "{{ ((state_attr('climate.fussbodenheizung_wohnzimmer_template', 'temperature')|float(0)) * 6.375)|int }}"
        target:
          entity_id: number.e2m_thermostate_wohnzimmer_setpoint_raw
      - service: number.set_value
        metadata: {}
        data:
          value: "{{ state_attr('climate.fussbodenheizung_wohnzimmer_template', 'temperature')|float() }}"
        target:
          entity_id: number.e2m_thermostate_wohnzimmer_setpoint_temp
  hvac_mode_template: >-
    {% if is_state('binary_sensor.e2m_thermostate_wohnzimmer_nightmode', 'on') %}
      off
    {% else %}
      auto
    {% endif %}

so as you see there are only the hvac modes "auto" and "off".
Because of your hint i have changed "auto" to "heat". Then restarted HA so the config for the climate template is reloaded. After the restart and then restarting the addon the climate entities are back in the hub configuration but the error was still shown. i have then once again restarted the addon and now the error message is gone and the entities are back.

the config for the climate template now looks like this

- platform: climate_template
  name: "Fußbodenheizung Wohnzimmer Template"
  unique_id: "fussbodenheizung_wohnzimmer_template"
  modes:
    - "heat"
    - "off"
  preset_modes:
    - "away"
    - "home"
    - "sleep"
    - "boost"
  min_temp: 8
  max_temp: 30
  temp_step: 0.5
  precision: 0.1
  current_temperature_template: "{{ states('sensor.e2m_thermostate_wohnzimmer_tempc') }}"
  set_temperature: 
    - sequence:
      - service: number.set_value
        metadata: {}
        data:
          value: "{{ ((state_attr('climate.fussbodenheizung_wohnzimmer_template', 'temperature')|float(0)) * 6.375)|int }}"
        target:
          entity_id: number.e2m_thermostate_wohnzimmer_setpoint_raw
      - service: number.set_value
        metadata: {}
        data:
          value: "{{ state_attr('climate.fussbodenheizung_wohnzimmer_template', 'temperature')|float() }}"
        target:
          entity_id: number.e2m_thermostate_wohnzimmer_setpoint_temp
  hvac_mode_template: >-
    {% if is_state('binary_sensor.e2m_thermostate_wohnzimmer_nightmode', 'on') %}
      off
    {% else %}
      heat
    {% endif %}

Thanks!

@t0bst4r
Copy link
Owner

t0bst4r commented Dec 17, 2024

Okay nice. The problem is that at least heat or cool is needed for matter. There is no way to not have it.

Additionally the "auto mode" in matter is more like the "heat/cool" mode in HA. And it requires heat and cool. For the Auto Mode from HA, I don't find a good match in Matter...

@kimzeuner
Copy link

ok i see. For me it doesn`t really matter if it is called auto or heat. When i have created the entities i thought that the auto mode sound better then heat but also heat is ok for me.
Thanks

@t0bst4r t0bst4r closed this as completed Dec 17, 2024
@Marcel2906
Copy link
Author

You have at least one climate included which does not have heating or cooling. What does it do then? Can you please try to find the affected entity and share its attributes?

It was the same problem as already explained by kimzeuner.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants