danielperna84 / hahomematic

Python 3 Interface for Home Assistant to interact with HomeMatic devices
MIT License
136 stars 21 forks source link

HA Climate Group - Missing away preset mode for Heizungsgruppe #782

Closed Mika255 closed 1 year ago

Mika255 commented 1 year ago

DONT'T DELETE THIS.

This is for issues only If you have a feature request, add it as a new discussion, or add your point of view to an existing discussion.

Please answer all questions as good as possible.

Language: as you like -> english/DEUTSCH

Make sure you have read the documentation at https://github.com/danielperna84/custom_homematic#custom_homematic.

Make sure you have read the release notes at https://github.com/danielperna84/custom_homematic/releases.

Make sure you are running the latest version of the custom_component (and Home Assistant) before reporting an issue.

ENSURE that your Backend (CCU/Homegear/...) is working as expected and connected devices are controllable.

custom_component version (if applicable): 1.25.1

known last working custom_component version (if applicable): na

Home Assistant:

CCU:

Problem-relevant configuration:

Hardware: HmIP-eTRV-E (Heizkörperthermostat), HMIP-SWDO-2 (Fensterkontakt), ‎HmIP-WTH-1 (Wandthermostat)

Do you use tls? no Do you use callback?no Do you use username and password? yes Which interfaces do you use (hmip/bidcos/wired)? hmip

Describe the bug The "Urlaub" setting of my Thermostat-Group is not transmitted as property to Home Assistant as preset_mode: away.

To Reproduce Steps to reproduce the behavior:

  1. Setup a climate group (Heizungsgruppe) with your radiator thermostat (Heizkörperthermostat)/window contact (Fensterkontakt) /Wall thermostat (Wandthermostat)
  2. Go in Home Assistant to 'Developer Tools", Tab "States"
  3. In Entity, enter your "Heizungsgruppe" (climate group) name, e.g. climate.bz_heizungsgruppe
  4. See error, e.g. my result pasted below of "climate.bz_heizungsgruppe".

Observed 'boost' and 'none' (and Profile 1/2/3) are properly declared as preset_mode

Expected 'away' is declared in preset_mode (and is the same as Urlaub/Vacation in CCU3 Web-UI)

climate.bz_heizungsgruppe:

hvac_modes:
  - auto
  - heat
  - 'off'
min_temp: 5
max_temp: 30.5
target_temp_step: 0.5
preset_modes:
  - boost
  - none
  - Profile 1
  - Profile 2
  - Profile 3
current_temperature: 22.3
temperature: 16
current_humidity: 47
hvac_action: idle
preset_mode: Profile 2
interface_id: RaspberryMatic-VirtualDevices
address: INT0000001:1
model: HmIP-HEATING
entity_type: custom
value_state: valid
friendly_name: BZ Heizungsgruppe
supported_features: 17

Screenshots (if applicable)

Screenshot 2022-12-25 at 14 51 34

Relevant HA log entries (press full log) VERY IMPORTANT

2022-12-25 02:12:18.471 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant

2022-12-25 02:12:18.472 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration homematicip_local which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-12-25 02:12:27.335 ERROR (MainThread) [homeassistant.components.text] Error adding entities for domain text with platform homematicip_local
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 428, in async_add_entities
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 605, in _async_add_entity
    capabilities=entity.capability_attributes,
  File "/usr/src/homeassistant/homeassistant/components/text/__init__.py", line 129, in capability_attributes
    ATTR_PATTERN: self.pattern,
  File "/usr/src/homeassistant/homeassistant/components/text/__init__.py", line 211, in pattern
    return self.entity_description.pattern
AttributeError: 'EntityDescription' object has no attribute 'pattern'

Diagnostic Information (available on every device)

{
  "home_assistant": {
    "installation_type": "Home Assistant Supervised",
    "version": "2022.12.8",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.10.7",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Berlin",
    "os_name": "Linux",
    "os_version": "4.4.180+",
    "supervisor": "2022.12.1",
    "host_os": null,
    "docker_version": "20.10.3",
    "chassis": null,
    "run_as_root": true
  },
  "custom_components": {
    "hacs": {
      "version": "1.29.0",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "homematicip_local": {
      "version": "1.25.1",
      "requirements": [
        "hahomematic==2022.12.8"
      ]
    }
  },
  "integration_manifest": {
    "domain": "homematicip_local",
    "name": "Homematic(IP) Local",
    "config_flow": true,
    "documentation": "https://github.com/danielperna84/custom_homematic",
    "issue_tracker": "https://github.com/danielperna84/hahomematic/issues",
    "requirements": [
      "hahomematic==2022.12.8"
    ],
    "ssdp": [
      {
        "manufacturer": "EQ3",
        "manufacturerURL": "http://www.homematic.com"
      }
    ],
    "zeroconf": [],
    "homekit": {},
    "dependencies": [],
    "codeowners": [
      "@danielperna84",
      "@SukramJ"
    ],
    "iot_class": "local_push",
    "loggers": [
      "hahomematic"
    ],
    "version": "1.25.1",
    "integration_type": "hub",
    "is_built_in": false
  },
  "data": {
    "config": {
      "entry_id": "462c2c024540400223af6c5c77873e70",
      "version": 1,
      "domain": "homematicip_local",
      "title": "RaspberryMatic",
      "data": {
        "instance_name": "RaspberryMatic",
        "host": "192.168.1.110",
        "username": "**REDACTED**",
        "password": "**REDACTED**",
        "tls": false,
        "verify_tls": false,
        "callback_host": null,
        "callback_port": null,
        "json_port": null,
        "interface": {
          "HmIP-RF": {
            "port": 2010
          },
          "VirtualDevices": {
            "port": 9292,
            "path": "/groups"
          }
        }
      },
      "options": {},
      "pref_disable_new_entities": false,
      "pref_disable_polling": false,
      "source": "ssdp",
      "unique_id": "9D89BA0B6A",
      "disabled_by": null
    },
    "platform_stats": {
      "binary_sensor": 7,
      "climate": 5,
      "sensor": 8
    },
    "devices": [
      "HmIP-CCU3",
      "HmIP-HEATING",
      "HmIP-SWDO-2",
      "HmIP-WTH-1",
      "HmIP-eTRV-E"
    ]
  }
}

Expected behavior 'away' is declared in preset_mode (and is the same as Urlaub/Vacation in CCU3 Web-UI)

Additional context See definition of Holiday/Urlaub for Homematic IP Thermostat https://www.eq-3.com/service/faq/what-are-the-auto-manu-holiday-function-operating-modes.html

SukramJ commented 1 year ago

away needs an end date and a target temperature. It will be displayed as hvac_mode but cannot be set with the default UI. To enable away mode you have to use one of the services: homematicip_local.enable_away_mode_by_calendar homematicip_local.enable_away_mode_by_duration

SukramJ commented 1 year ago

Not an issue

Mika255 commented 1 year ago

Thanks for clarification @SukramJ . Didn't see this.