taraman17 / hass-homee Goto Github PK
View Code? Open in Web Editor NEWThis project forked from freshlybrewedcode/hacs-homee
a Home Assistant custom component to integrate the homee smart home platform
License: MIT License
This project forked from freshlybrewedcode/hacs-homee
a Home Assistant custom component to integrate the homee smart home platform
License: MIT License
The upgrade process are startet via the upgrade button in HA. After that a restart of HA was done the error mesage occurred.
HA is running in a docker (PI4). In this moment only homee is connectet to log the statistik for the the solar / Grid power.
2023-11-05 18:29:44.857 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform homee.alarm_control_panel: Platform not found (cannot import name 'DeviceInfo' from 'homeassistant.helpers.device_registry' (/usr/src/homeassistant/homeassistant/helpers/device_registry.py)).
Mir ist aufgefallen, dass die obengenannten Geräte im Dashbord die Position richtig anzeigen. Aber leider können sie in Automationen nicht ausgewehlt werden. Da sie so wie es aussieht nur als Sensoren und nicht als Binärsensor übernommen wurden.
Die FRP-70 zB. wurden richtig integriert als Binärsensor.
Add your logs here.
Bei der Eltako Weather Station wird der Regensensor nicht an Home Assistant weitergegeben.
Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
translate the strings in Homee Integration to German.
Describe alternatives you've considered
None - really.
Additional context
As Homee is a product that is used in Germany a lot, I think it would be a good thing to a have a german translation
Hacs-homee => V2.9.2
HA => Core 2024.3.1 Frontend 20240307.0
The value for the valve position is not available.
2024-03-31 17:34:04.607 INFO (MainThread) [custom_components.homee] Found node Bad_Thermostat, with following Data: {'id': 20, 'name': 'Bad_Thermostat', 'profile': 3006, 'image': 'nodeicon_radiator', 'favorite': 0, 'order': 21, 'protocol': 1, 'routing': 0, 'state': 1, 'state_changed': 1711799527, 'added': 1655215473, 'history': 1, 'cube_type': 1, 'note': '# EUROtronic Spirit Z-Wave Plus', 'services': 7, 'phonetic_name': '', 'owner': 2, 'security': 0, 'attributes': [{'id': 213, 'node_id': 20, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 1.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 385, 'state': 1, 'last_changed': 1662455611, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 214, 'node_id': 20, 'instance': 0, 'minimum': 0, 'maximum': 0, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'text', 'step_value': 1.0, 'editable': 0, 'type': 44, 'state': 1, 'last_changed': 0, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '4.61', 'name': ''}, {'id': 215, 'node_id': 20, 'instance': 0, 'minimum': 0, 'maximum': 0, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'text', 'step_value': 1.0, 'editable': 0, 'type': 45, 'state': 1, 'last_changed': 0, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '0.16', 'name': ''}, {'id': 216, 'node_id': 20, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 91, 'state': 1, 'last_changed': 1711796633, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 217, 'node_id': 20, 'instance': 0, 'minimum': 0, 'maximum': 100, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': '%25', 'step_value': 1.0, 'editable': 0, 'type': 18, 'state': 1, 'last_changed': 1711796633, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'automations': ['step'], 'history': {'day': 1, 'week': 26, 'month': 6}}}, {'id': 218, 'node_id': 20, 'instance': 0, 'minimum': 0, 'maximum': 100, 'current_value': 60.0, 'target_value': 60.0, 'last_value': 60.0, 'unit': '%25', 'step_value': 1.0, 'editable': 0, 'type': 8, 'state': 1, 'last_changed': 1711796635, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 182, 'week': 26, 'month': 6}}}, {'id': 219, 'node_id': 20, 'instance': 0, 'minimum': 0, 'maximum': 4, 'current_value': 1.0, 'target_value': 1.0, 'last_value': 1.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 258, 'state': 1, 'last_changed': 1711796635, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 220, 'node_id': 20, 'instance': 0, 'minimum': 0, 'maximum': 180, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': '%C2%B0', 'step_value': 180.0, 'editable': 1, 'type': 90, 'state': 1, 'last_changed': 1655215473, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 221, 'node_id': 20, 'instance': 0, 'minimum': 0, 'maximum': 30, 'current_value': 5.0, 'target_value': 5.0, 'last_value': 0.0, 'unit': 's', 'step_value': 5.0, 'editable': 1, 'type': 259, 'state': 1, 'last_changed': 1655277385, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 222, 'node_id': 20, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 1.0, 'target_value': 1.0, 'last_value': 0.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 260, 'state': 1, 'last_changed': 1655215473, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 223, 'node_id': 20, 'instance': 0, 'minimum': 0, 'maximum': 3, 'current_value': 3.0, 'target_value': 3.0, 'last_value': 2.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 261, 'state': 1, 'last_changed': 1666336770, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 224, 'node_id': 20, 'instance': 0, 'minimum': -5, 'maximum': 128, 'current_value': -12.8, 'target_value': -12.8, 'last_value': 128.0, 'unit': '%C2%B0C', 'step_value': 0.1, 'editable': 1, 'type': 64, 'state': 6, 'last_changed': 1711799534, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 225, 'node_id': 20, 'instance': 0, 'minimum': -50, 'maximum': 125, 'current_value': 19.54, 'target_value': 19.54, 'last_value': 19.46, 'unit': '%C2%B0C', 'step_value': 1.0, 'editable': 0, 'type': 5, 'state': 1, 'last_changed': 1711898923, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'observes': [388], 'history': {'day': 1, 'week': 26, 'month': 6}}}, {'id': 226, 'node_id': 20, 'instance': 0, 'minimum': 8, 'maximum': 28, 'current_value': 17.0, 'target_value': 17.0, 'last_value': 20.0, 'unit': '%C2%B0C', 'step_value': 0.5, 'editable': 1, 'type': 6, 'state': 1, 'last_changed': 1711830625, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'can_observe': [6], 'automations': ['step'], 'history': {'day': 35, 'week': 5, 'month': 1, 'stepped': True}}}, {'id': 227, 'node_id': 20, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': '', 'step_value': 1.0, 'editable': 0, 'type': 69, 'state': 1, 'last_changed': 1706461181, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'automations': ['reset'], 'history': {'day': 182, 'week': 26, 'month': 6, 'stepped': True}}}]}
V2.7.0
Vor dem letzten Update hatte ich mehrmals täglich das Problem, das ich die Integration neustarten musste, weil keine Werte mehr übermittelt wurden und Geräte nicht mehr geschaltet werden konnten.
Mit der Version 2.7.0 ist das extrem verbessert worden (vielen Dank erstmal an der Stelle für deine Arbeit!!) und ich hatte jetzt erst nach ca. 10 Tagen wieder einen Ausfall und musste die Integration neustarten, damit wieder Werte empfangen wurden.
Ob das am Ende ein Problem der Integration oder meines Systems ist, kann ich leider nicht feststellen. In der betroffenen Zeit, habe ich zumindest keinerlei Änderungen am System vorgenommen.
Wenn ich helfen kann, die Ursache dafür zu finden, mache ich das sehr gerne, brauche aber etwas Unterstützung, weil ich HA Anfänger bin.
First: thanks for this integration, it works fine! I have a Warema cube, Warema covers and they report "slat position" to homee. All other measurements (state, position, slat rotation (impulse)) from homee are linked to HA, except this one.
I would appreciate being able to see and set the slat position in HA and have separate UP/DOWN slat rotation impulse switches. It would be great to make shade based on automation during the day.
Thanks in advance!
Die aktuelle Version
Home Assistant
Core
2024.1.2
Supervisor
2023.12.0
Operating System
11.3
Frontend
20240104.0
A clear and concise description of the question/problem/bug
Die meisten Geräte werden erkannt. Tür und Fenster (Devolo Aktoren) werden mit Temperatur etc. erkannt. Jedoch wird das öffnen und schließen nicht erkannt. OPEN ist grau als Funktion. Die Geräte sind in einer Gruppe und die Gruppe wurde als Fenster hinzugefügt.
Des Weiteren sind die Schalter und die weiteren Aktoren (Fibaro Flooter etc.) zwar erkannt, jedoch ein großteil der Entitäten sind mit folgenden Merkmalen versehen:
Diese Entität wird nicht mehr von der Integration homee bereitgestellt. Wenn die Entität nicht mehr verwendet wird, lösche sie in den Einstellungen.
Diese Entität ist nicht verfügbar.
Ich habe das Addon deaktiviert und mehrfach alles neu eingelesen. Keine Chance. Habe in Homee weitere Gruppen erzeigt und für Alexa und HomeKit alles freigegeben, keine Chance.
Fehler im Protokoll habe ich massig:
Logger: homeassistant.components.switch
Source: helpers/entity_platform.py:368
Integration: Schalter (documentation, issues)
First occurred: 6. Januar 2024 um 18:24:26 (2 occurrences)
Last logged: 09:02:51
Error while setting up homee platform for switch
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 368, in _async_setup_platform
await asyncio.gather(*pending)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 752, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1278, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 941, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1062, in _async_write_ha_state
state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1001, in __async_calculate_state
attr.update(self.state_attributes or {})
^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/homee/init.py", line 290, in state_attributes
data = self._entity.class.bases[1].state_attributes.fget(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'cached_property' object has no attribute 'fget'
Logger: homeassistant.components.binary_sensor
Source: helpers/entity_platform.py:368
Integration: Binärsensor (documentation, issues)
First occurred: 6. Januar 2024 um 18:24:24 (2 occurrences)
Last logged: 09:02:51
Error while setting up homee platform for binary_sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 368, in _async_setup_platform
await asyncio.gather(*pending)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 752, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1278, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 941, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1062, in _async_write_ha_state
state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1001, in __async_calculate_state
attr.update(self.state_attributes or {})
^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/homee/init.py", line 290, in state_attributes
data = self._entity.class.bases[1].state_attributes.fget(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'cached_property' object has no attribute 'fget'
Die Überswicht sieht dann so aus:
Error doing job: Exception in callback Entity.async_write_ha_state()
09:09:05 – (FEHLER) homee (benutzerdefinierte Integration) - Die Nachricht ist zum ersten Mal am 6. Januar 2024 um 18:27:39 aufgetreten und erscheint 1426 mal
Error while setting up homee platform for switch
09:02:51 – (FEHLER) Schalter - Die Nachricht ist zum ersten Mal am 6. Januar 2024 um 18:24:26 aufgetreten und erscheint 2 mal
Error while setting up homee platform for number
09:02:51 – (FEHLER) Nummer - Die Nachricht ist zum ersten Mal am 6. Januar 2024 um 18:24:24 aufgetreten und erscheint 2 mal
Error while setting up homee platform for binary_sensor
09:02:51 – (FEHLER) Binärsensor - Die Nachricht ist zum ersten Mal am 6. Januar 2024 um 18:24:24 aufgetreten und erscheint 2 mal
Error adding entities for domain switch with platform homee
09:02:50 – (FEHLER) Schalter - Die Nachricht ist zum ersten Mal am 6. Januar 2024 um 18:24:26 aufgetreten und erscheint 2 mal
Error adding entities for domain number with platform homee
09:02:50 – (FEHLER) Nummer - Die Nachricht ist zum ersten Mal am 6. Januar 2024 um 18:24:24 aufgetreten und erscheint 2 mal
Error adding entities for domain binary_sensor with platform homee
09:02:50 – (FEHLER) Binärsensor - Die Nachricht ist zum ersten Mal am 6. Januar 2024 um 18:24:24 aufgetreten und erscheint 2 mal
Add your logs here.
Is your feature request related to a problem? Please describe.
The latest fixes for the garage door are awesome. Thank you very much @Taraman17 for your work. I've encountered one problem with my hörmann garage door series4. After using a remote control to control the garage door, the state of the garage position is not updated inside the app itself. (a bug homee just doesn't fix..) therefore I've to go inside the official app to click on the three dots in the upper right corner from the garage door to use "Werte aktualisieren" (update values) to let homee pull the latest status of the garage door.
Describe the solution you'd like It would be awesome if hass would automatically request the "update values" every x minutes to solve the problem.
Describe alternatives you've considered Expose the "update values" as a button to solve the problem.
Additional context Is it only my version, or do you have the same problem as me @Taraman17 @godza ?
PS: I hope someone hacks the bisecure from hörmann for local usage of their garage doors
newest
Following new warning messages are availabel with the newest version:
Error in receive handler: sent 1011 (unexpected error) keepalive ping timeout; no close frame received
Could not iterate over relationships:
Logger: pymee
Source: runner.py:179
First occurred: 08:05:05 (2 occurrences)
Last logged: 08:05:12
Error in receive handler: sent 1011 (unexpected error) keepalive ping timeout; no close frame received
Could not iterate over relationships: [{'id': 5, 'group_id': 1, 'node_id': 0, 'homeegram_id': 4, 'order': 0}, {'id': 8, 'group_id': 1, 'node_id': 6, 'homeegram_id': 0, 'order': 0}, {'id': 14, 'group_id': 3, 'node_id': 8, 'homeegram_id': 0, 'order': 0}, {'id': 16, 'group_id': 2, 'node_id': 9, 'homeegram_id': 0, 'order': 0}, {'id': 27, 'group_id': 3, 'node_id': 11, 'homeegram_id': 0, 'order': 0}, {'id': 28, 'group_id': 3, 'node_id': 0, 'homeegram_id': 17, 'order': 0}, {'id': 29, 'group_id': 3, 'node_id': 0, 'homeegram_id': 18, 'order': 0}, {'id': 30, 'group_id': 2, 'node_id': 12, 'homeegram_id': 0, 'order': 0}, {'id': 31, 'group_id': 2, 'node_id': 0, 'homeegram_id': 19, 'order': 0}, {'id': 33, 'group_id': 2, 'node_id': 13, 'homeegram_id': 0, 'order': 0}, {'id': 34, 'group_id': 2, 'node_id': 0, 'homeegram_id': 22, 'order': 0}, {'id': 35, 'group_id': 2, 'node_id': 0, 'homeegram_id': 23, 'order': 0}, {'id': 38, 'group_id': 2, 'node_id': 0, 'homeegram_id': 28, 'order': 0}, {'id': 39, 'group_id': 2, 'node_id': 0, 'homeegram_id': 31, 'order': 0}, {'id': 40, 'group_id': 2, 'node_id': 0, 'homeegram_id': 32, 'order': 0}, {'id': 45, 'group_id': 2, 'node_id': 0, 'homeegram_id': 35, 'order': 0}, {'id': 46, 'group_id': 8, 'node_id': 16, 'homeegram_id': 0, 'order': 0}, {'id': 47, 'group_id': 12, 'node_id': 9, 'homeegram_id': 0, 'order': 0}, {'id': 48, 'group_id': 12, 'node_id': 12, 'homeegram_id': 0, 'order': 0}, {'id': 49, 'group_id': 12, 'node_id': 13, 'homeegram_id': 0, 'order': 0}, {'id': 50, 'group_id': 12, 'node_id': 0, 'homeegram_id': 22, 'order': 0}, {'id': 51, 'group_id': 12, 'node_id': 0, 'homeegram_id': 23, 'order': 0}, {'id': 53, 'group_id': 12, 'node_id': 0, 'homeegram_id': 31, 'order': 0}, {'id': 54, 'group_id': 12, 'node_id': 0, 'homeegram_id': 32, 'order': 0}, {'id': 55, 'group_id': 12, 'node_id': 0, 'homeegram_id': 35, 'order': 0}, {'id': 56, 'group_id': 12, 'node_id': 0, 'homeegram_id': 19, 'order': 0}, {'id': 57, 'group_id': 2, 'node_id': 0, 'homeegram_id': 36, 'order': 0}, {'id': 58, 'group_id': 12, 'node_id': 0, 'homeegram_id': 36, 'order': 0}, {'id': 62, 'group_id': 3, 'node_id': 17, 'homeegram_id': 0, 'order': 0}, {'id': 63, 'group_id': 3, 'node_id': 0, 'homeegram_id': 43, 'order': 0}, {'id': 64, 'group_id': 3, 'node_id': 0, 'homeegram_id': 44, 'order': 0}, {'id': 65, 'group_id': 13, 'node_id': 6, 'homeegram_id': 0, 'order': 0}, {'id': 66, 'group_id': 13, 'node_id': 0, 'homeegram_id': 37, 'order': 0}, {'id': 67, 'group_id': 13, 'node_id': 0, 'homeegram_id': 39, 'order': 0}, {'id': 68, 'group_id': 3, 'node_id': 0, 'homeegram_id': 45, 'order': 0}, {'id': 71, 'group_id': 3, 'node_id': 20, 'homeegram_id': 0, 'order': 0}, {'id': 72, 'group_id': 28, 'node_id': 22, 'homeegram_id': 0, 'order': 0}, {'id': 76, 'group_id': 5, 'node_id': 21, 'homeegram_id': 0, 'order': 0}, {'id': 78, 'group_id': 7, 'node_id': 23, 'homeegram_id': 0, 'order': 0}, {'id': 80, 'group_id': 7, 'node_id': 0, 'homeegram_id': 52, 'order': 0}, {'id': 81, 'group_id': 7, 'node_id': 0, 'homeegram_id': 53, 'order': 0}, {'id': 86, 'group_id': 28, 'node_id': 0, 'homeegram_id': 57, 'order': 0}, {'id': 87, 'group_id': 28, 'node_id': 0, 'homeegram_id': 58, 'order': 0}, {'id': 91, 'group_id': 3, 'node_id': 0, 'homeegram_id': 60, 'order': 0}, {'id': 98, 'group_id': 5, 'node_id': 0, 'homeegram_id': 65, 'order': 0}, {'id': 104, 'group_id': 4, 'node_id': 3, 'homeegram_id': 0, 'order': 0}, {'id': 105, 'group_id': 4, 'node_id': 14, 'homeegram_id': 0, 'order': 0}, {'id': 106, 'group_id': 4, 'node_id': 15, 'homeegram_id': 0, 'order': 0}, {'id': 107, 'group_id': 5, 'node_id': 0, 'homeegram_id': 66, 'order': 0}, {'id': 108, 'group_id': 4, 'node_id': 0, 'homeegram_id': 64, 'order': 0}, {'id': 109, 'group_id': 4, 'node_id': 0, 'homeegram_id': 67, 'order': 0}, {'id': 111, 'group_id': 5, 'node_id': 22, 'homeegram_id': 0, 'order': 0}, {'id': 112, 'group_id': 5, 'node_id': 3, 'homeegram_id': 0, 'order': 0}, {'id': 115, 'group_id': 30, 'node_id': 8, 'homeegram_id': 0, 'order': 0}, {'id': 118, 'group_id': 5, 'node_id': 0, 'homeegram_id': 69, 'order': 0}, {'id': 119, 'group_id': 4, 'node_id': 0, 'homeegram_id': 68, 'order': 0}, {'id': 120, 'group_id': 30, 'node_id': 27, 'homeegram_id': 0, 'order': 0}, {'id': 121, 'group_id': 28, 'node_id': 18, 'homeegram_id': 0, 'order': 0}, {'id': 123, 'group_id': 28, 'node_id': 20, 'homeegram_id': 0, 'order': 0}, {'id': 124, 'group_id': 28, 'node_id': 21, 'homeegram_id': 0, 'order': 0}, {'id': 133, 'group_id': 19, 'node_id': 22, 'homeegram_id': 0, 'order': 0}, {'id': 135, 'group_id': 28, 'node_id': 0, 'homeegram_id': 70, 'order': 0}, {'id': 136, 'group_id': 28, 'node_id': 0, 'homeegram_id': 71, 'order': 0}, {'id': 137, 'group_id': 28, 'node_id': 0, 'homeegram_id': 72, 'order': 0}, {'id': 142, 'group_id': 24, 'node_id': 21, 'homeegram_id': 0, 'order': 0}, {'id': 143, 'group_id': 25, 'node_id': 18, 'homeegram_id': 0, 'order': 0}, {'id': 145, 'group_id': 27, 'node_id': 20, 'homeegram_id': 0, 'order': 0}, {'id': 148, 'group_id': 2, 'node_id': 0, 'homeegram_id': 74, 'order': 0}, {'id': 149, 'group_id': 11, 'node_id': 16, 'homeegram_id': 0, 'order': 0}, {'id': 153, 'group_id': 8, 'node_id': 0, 'homeegram_id': 78, 'order': 0}, {'id': 154, 'group_id': 30, 'node_id': 34, 'homeegram_id': 0, 'order': 0}, {'id': 155, 'group_id': 30, 'node_id': 7, 'homeegram_id': 0, 'order': 0}, {'id': 156, 'group_id': 7, 'node_id': 7, 'homeegram_id': 0, 'order': 0}, {'id': 157, 'group_id': 12, 'node_id': 0, 'homeegram_id': 79, 'order': 0}, {'id': 159, 'group_id': 3, 'node_id': 0, 'homeegram_id': 81, 'order': 0}, {'id': 160, 'group_id': 34, 'node_id': 14, 'homeegram_id': 0, 'order': 0}, {'id': 161, 'group_id': 34, 'node_id': 15, 'homeegram_id': 0, 'order': 0}, {'id': 162, 'group_id': 34, 'node_id': 23, 'homeegram_id': 0, 'order': 0}, {'id': 163, 'group_id': 7, 'node_id': 35, 'homeegram_id': 0, 'order': 0}, {'id': 164, 'group_id': 26, 'node_id': 35, 'homeegram_id': 0, 'order': 0}, {'id': 165, 'group_id': 14, 'node_id': 35, 'homeegram_id': 0, 'order': 0}, {'id': 167, 'group_id': 28, 'node_id': 35, 'homeegram_id': 0, 'order': 0}, {'id': 168, 'group_id': 36, 'node_id': 36, 'homeegram_id': 0, 'order': 0}, {'id': 170, 'group_id': 6, 'node_id': 0, 'homeegram_id': 84, 'order': 0}, {'id': 171, 'group_id': 28, 'node_id': 0, 'homeegram_id': 84, 'order': 0}, {'id': 175, 'group_id': 7, 'node_id': 0, 'homeegram_id': 86, 'order': 0}, {'id': 176, 'group_id': 28, 'node_id': 0, 'homeegram_id': 86, 'order': 0}, {'id': 177, 'group_id': 5, 'node_id': 0, 'homeegram_id': 87, 'order': 0}, {'id': 178, 'group_id': 28, 'node_id': 0, 'homeegram_id': 87, 'order': 0}, {'id': 179, 'group_id': 28, 'node_id': 0, 'homeegram_id': 88, 'order': 0}, {'id': 180, 'group_id': 3, 'node_id': 0, 'homeegram_id': 88, 'order': 0}, {'id': 181, 'group_id': 5, 'node_id': 0, 'homeegram_id': 72, 'order': 0}, {'id': 182, 'group_id': 5, 'node_id': 0, 'homeegram_id': 71, 'order': 0}, {'id': 183, 'group_id': 5, 'node_id': 0, 'homeegram_id': 70, 'order': 0}, {'id': 184, 'group_id': 6, 'node_id': 18, 'homeegram_id': 0, 'order': 0}, {'id': 185, 'group_id': 8, 'node_id': 36, 'homeegram_id': 0, 'order': 0}, {'id': 186, 'group_id': 8, 'node_id': 9, 'homeegram_id': 0, 'order': 0}, {'id': 187, 'group_id': 8, 'node_id': 34, 'homeegram_id': 0, 'order': 0}, {'id': 188, 'group_id': 36, 'node_id': 39, 'homeegram_id': 0, 'order': 0}, {'id': 189, 'group_id': 36, 'node_id': 0, 'homeegram_id': 89, 'order': 0}, {'id': 190, 'group_id': 8, 'node_id': 0, 'homeegram_id': 90, 'order': 0}, {'id': 191, 'group_id': 36, 'node_id': 0, 'homeegram_id': 90, 'order': 0}, {'id': 192, 'group_id': 8, 'node_id': 0, 'homeegram_id': 89, 'order': 0}, {'id': 193, 'group_id': 11, 'node_id': 39, 'homeegram_id': 0, 'order': 0}, {'id': 194, 'group_id': 8, 'node_id': 39, 'homeegram_id': 0, 'order': 0}, {'id': 195, 'group_id': 11, 'node_id': 36, 'homeegram_id': 0, 'order': 0}, {'id': 196, 'group_id': 7, 'node_id': 40, 'homeegram_id': 0, 'order': 0}, {'id': 197, 'group_id': 28, 'node_id': 40, 'homeegram_id': 0, 'order': 0}, {'id': 198, 'group_id': 28, 'node_id': 0, 'homeegram_id': 91, 'order': 0}, {'id': 200, 'group_id': 7, 'node_id': 0, 'homeegram_id': 91, 'order': 0}, {'id': 201, 'group_id': 28, 'node_id': 0, 'homeegram_id': 92, 'order': 0}, {'id': 203, 'group_id': 28, 'node_id': 0, 'homeegram_id': 93, 'order': 0}, {'id': 205, 'group_id': 7, 'node_id': 0, 'homeegram_id': 93, 'order': 0}, {'id': 206, 'group_id': 7, 'node_id': 0, 'homeegram_id': 92, 'order': 0}, {'id': 209, 'group_id': 15, 'node_id': 21, 'homeegram_id': 0, 'order': 0}, {'id': 213, 'group_id': 28, 'node_id': 41, 'homeegram_id': 0, 'order': 0}, {'id': 214, 'group_id': 6, 'node_id': 41, 'homeegram_id': 0, 'order': 0}, {'id': 215, 'group_id': 28, 'node_id': 0, 'homeegram_id': 94, 'order': 0}, {'id': 217, 'group_id': 28, 'node_id': 0, 'homeegram_id': 95, 'order': 0}, {'id': 219, 'group_id': 28, 'node_id': 0, 'homeegram_id': 96, 'order': 0}, {'id': 221, 'group_id': 6, 'node_id': 0, 'homeegram_id': 96, 'order': 0}, {'id': 222, 'group_id': 6, 'node_id': 0, 'homeegram_id': 95, 'order': 0}, {'id': 223, 'group_id': 6, 'node_id': 0, 'homeegram_id': 94, 'order': 0}, {'id': 224, 'group_id': 19, 'node_id': 40, 'homeegram_id': 0, 'order': 0}, {'id': 225, 'group_id': 19, 'node_id': 41, 'homeegram_id': 0, 'order': 0}, {'id': 227, 'group_id': 16, 'node_id': 18, 'homeegram_id': 0, 'order': 0}, {'id': 228, 'group_id': 16, 'node_id': 20, 'homeegram_id': 0, 'order': 0}, {'id': 229, 'group_id': 16, 'node_id': 21, 'homeegram_id': 0, 'order': 0}, {'id': 230, 'group_id': 16, 'node_id': 35, 'homeegram_id': 0, 'order': 0}, {'id': 231, 'group_id': 20, 'node_id': 41, 'homeegram_id': 0, 'order': 0}, {'id': 232, 'group_id': 22, 'node_id': 40, 'homeegram_id': 0, 'order': 0}, {'id': 233, 'group_id': 23, 'node_id': 22, 'homeegram_id': 0, 'order': 0}, {'id': 234, 'group_id': 28, 'node_id': 43, 'homeegram_id': 0, 'order': 0}, {'id': 235, 'group_id': 3, 'node_id': 43, 'homeegram_id': 0, 'order': 0}, {'id': 236, 'group_id': 28, 'node_id': 0, 'homeegram_id': 97, 'order': 0}, {'id': 238, 'group_id': 3, 'node_id': 0, 'homeegram_id': 97, 'order': 0}, {'id': 239, 'group_id': 28, 'node_id': 0, 'homeegram_id': 98, 'order': 0}, {'id': 241, 'group_id': 3, 'node_id': 0, 'homeegram_id': 98, 'order': 0}, {'id': 242, 'group_id': 28, 'node_id': 0, 'homeegram_id': 99, 'order': 0}, {'id': 244, 'group_id': 3, 'node_id': 0, 'homeegram_id': 99, 'order': 0}, {'id': 245, 'group_id': 3, 'node_id': 0, 'homeegram_id': 100, 'order': 0}, {'id': 246, 'group_id': 28, 'node_id': 0, 'homeegram_id': 100, 'order': 0}, {'id': 247, 'group_id': 5, 'node_id': 0, 'homeegram_id': 101, 'order': 0}, {'id': 248, 'group_id': 28, 'node_id': 0, 'homeegram_id': 101, 'order': 0}, {'id': 249, 'group_id': 7, 'node_id': 0, 'homeegram_id': 102, 'order': 0}, {'id': 250, 'group_id': 28, 'node_id': 0, 'homeegram_id': 102, 'order': 0}, {'id': 251, 'group_id': 6, 'node_id': 0, 'homeegram_id': 103, 'order': 0}, {'id': 252, 'group_id': 28, 'node_id': 0, 'homeegram_id': 103, 'order': 0}, {'id': 253, 'group_id': 11, 'node_id': 44, 'homeegram_id': 0, 'order': 0}, {'id': 263, 'group_id': 4, 'node_id': 27, 'homeegram_id': 0, 'order': 0}, {'id': 264, 'group_id': 5, 'node_id': 27, 'homeegram_id': 0, 'order': 0}, {'id': 271, 'group_id': 8, 'node_id': 45, 'homeegram_id': 0, 'order': 0}, {'id': 272, 'group_id': 34, 'node_id': 45, 'homeegram_id': 0, 'order': 0}, {'id': 273, 'group_id': 2, 'node_id': 0, 'homeegram_id': 104, 'order': 0}, {'id': 274, 'group_id': 8, 'node_id': 0, 'homeegram_id': 104, 'order': 0}, {'id': 275, 'group_id': 12, 'node_id': 0, 'homeegram_id': 104, 'order': 0}, {'id': 279, 'group_id': 8, 'node_id': 0, 'homeegram_id': 109, 'order': 0}, {'id': 280, 'group_id': 8, 'node_id': 0, 'homeegram_id': 110, 'order': 0}, {'id': 281, 'group_id': 39, 'node_id': 12, 'homeegram_id': 0, 'order': 0}, {'id': 282, 'group_id': 39, 'node_id': 43, 'homeegram_id': 0, 'order': 0}, {'id': 283, 'group_id': 39, 'node_id': 37, 'homeegram_id': 0, 'order': 0}, {'id': 284, 'group_id': 39, 'node_id': 13, 'homeegram_id': 0, 'order': 0}, {'id': 285, 'group_id': 39, 'node_id': 22, 'homeegram_id': 0, 'order': 0}, {'id': 286, 'group_id': 39, 'node_id': 21, 'homeegram_id': 0, 'order': 0}, {'id': 287, 'group_id': 39, 'node_id': 41, 'homeegram_id': 0, 'order': 0}, {'id': 288, 'group_id': 39, 'node_id': 18, 'homeegram_id': 0, 'order': 0}, {'id': 289, 'group_id': 39, 'node_id': 40, 'homeegram_id': 0, 'order': 0}, {'id': 290, 'group_id': 39, 'node_id': 35, 'homeegram_id': 0, 'order': 0}, {'id': 291, 'group_id': 39, 'node_id': 38, 'homeegram_id': 0, 'order': 0}, {'id': 292, 'group_id': 39, 'node_id': 20, 'homeegram_id': 0, 'order': 0}, {'id': 294, 'group_id': 39, 'node_id': 3, 'homeegram_id': 0, 'order': 0}, {'id': 295, 'group_id': 39, 'node_id': 9, 'homeegram_id': 0, 'order': 0}, {'id': 296, 'group_id': 39, 'node_id': 36, 'homeegram_id': 0, 'order': 0}, {'id': 299, 'group_id': 40, 'node_id': 2, 'homeegram_id': 0, 'order': 0}, {'id': 300, 'group_id': 19, 'node_id': 43, 'homeegram_id': 0, 'order': 0}, {'id': 301, 'group_id': 9, 'node_id': 48, 'homeegram_id': 0, 'order': 0}, {'id': 302, 'group_id': 9, 'node_id': 0, 'homeegram_id': 89, 'order': 0}, {'id': 303, 'group_id': 39, 'node_id': 48, 'homeegram_id': 0, 'order': 0}, {'id': 304, 'group_id': 11, 'node_id': 48, 'homeegram_id': 0, 'order': 0}, {'id': 305, 'group_id': 36, 'node_id': 48, 'homeegram_id': 0, 'order': 0}, {'id': 306, 'group_id': 9, 'node_id': 49, 'homeegram_id': 0, 'order': 0}, {'id': 309, 'group_id': 9, 'node_id': 0, 'homeegram_id': 113, 'order': 0}, {'id': 311, 'group_id': 6, 'node_id': 6, 'homeegram_id': 0, 'order': 0}, {'id': 313, 'group_id': 41, 'node_id': 44, 'homeegram_id': 0, 'order': 0}, {'id': 314, 'group_id': 36, 'node_id': 44, 'homeegram_id': 0, 'order': 0}, {'id': 315, 'group_id': 9, 'node_id': 0, 'homeegram_id': 116, 'order': 0}, {'id': 316, 'group_id': 9, 'node_id': 0, 'homeegram_id': 117, 'order': 0}, {'id': 317, 'group_id': 5, 'node_id': 50, 'homeegram_id': 0, 'order': 0}, {'id': 318, 'group_id': 42, 'node_id': 50, 'homeegram_id': 0, 'order': 0}, {'id': 319, 'group_id': 7, 'node_id': 51, 'homeegram_id': 0, 'order': 0}, {'id': 320, 'group_id': 34, 'node_id': 51, 'homeegram_id': 0, 'order': 0}, {'id': 325, 'group_id': 7, 'node_id': 0, 'homeegram_id': 118, 'order': 0}, {'id': 326, 'group_id': 34, 'node_id': 0, 'homeegram_id': 118, 'order': 0}, {'id': 329, 'group_id': 40, 'node_id': 0, 'homeegram_id': 120, 'order': 0}, {'id': 330, 'group_id': 40, 'node_id': 0, 'homeegram_id': 121, 'order': 0}, {'id': 331, 'group_id': 6, 'node_id': 52, 'homeegram_id': 0, 'order': 0}, {'id': 332, 'group_id': 42, 'node_id': 52, 'homeegram_id': 0, 'order': 0}, {'id': 337, 'group_id': 7, 'node_id': 59, 'homeegram_id': 0, 'order': 0}, {'id': 338, 'group_id': 42, 'node_id': 59, 'homeegram_id': 0, 'order': 0}, {'id': 339, 'group_id': 7, 'node_id': 60, 'homeegram_id': 0, 'order': 0}, {'id': 340, 'group_id': 7, 'node_id': 0, 'homeegram_id': 1, 'order': 0}, {'id': 341, 'group_id': 7, 'node_id': 0, 'homeegram_id': 122, 'order': 0}, {'id': 342, 'group_id': 34, 'node_id': 0, 'homeegram_id': 122, 'order': 0}, {'id': 345, 'group_id': 40, 'node_id': 38, 'homeegram_id': 0, 'order': 0}, {'id': 346, 'group_id': 40, 'node_id': 37, 'homeegram_id': 0, 'order': 0}, {'id': 347, 'group_id': 40, 'node_id': 58, 'homeegram_id': 0, 'order': 0}, {'id': 348, 'group_id': 4, 'node_id': 0, 'homeegram_id': 114, 'order': 0}, {'id': 349, 'group_id': 30, 'node_id': 14, 'homeegram_id': 0, 'order': 0}, {'id': 350, 'group_id': 30, 'node_id': 49, 'homeegram_id': 0, 'order': 0}, {'id': 351, 'group_id': 9, 'node_id': 64, 'homeegram_id': 0, 'order': 0}, {'id': 352, 'group_id': 42, 'node_id': 64, 'homeegram_id': 0, 'order': 0}, {'id': 353, 'group_id': 35, 'node_id': 66, 'homeegram_id': 0, 'order': 0}, {'id': 357, 'group_id': 35, 'node_id': 67, 'homeegram_id': 0, 'order': 0}, {'id': 358, 'group_id': 5, 'node_id': 68, 'homeegram_id': 0, 'order': 0}, {'id': 359, 'group_id': 5, 'node_id': 0, 'homeegram_id': 123, 'order': 0}, {'id': 360, 'group_id': 5, 'node_id': 0, 'homeegram_id': 124, 'order': 0}]
Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Entity names should be translatable. This is preferred over hardcoded names:
https://developers.home-assistant.io/blog/2023/03/27/entity_name_translations/
newest and post-version
In homee there are a few windows handler assign.
Hoppe Secu Signal, enoceaon protocoll, 3 states: open, closed and tilted
HA showes only following entintäten:
2023-11-05 18:29:44.521 INFO (MainThread) [custom_components.homee] Found node Arbeitszimmer Fenster, with following Data: {'id': 59, 'name': 'Arbeitszimmer%20Fenster', 'profile': 2001, 'image': 'default', 'favorite': 0, 'order': 6, 'protocol': 3, 'routing': 0, 'state': 1, 'state_changed': 1690123245, 'added': 1687181918, 'history': 1, 'cube_type': 3, 'note': '%23%20Hoppe%20SecuSignal', 'services': 5, 'phonetic_name': '', 'owner': 2, 'security': 0, 'attributes': [{'id': 509, 'node_id': 59, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 1.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 385, 'state': 1, 'last_changed': 1687181955, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 510, 'node_id': 59, 'instance': 0, 'minimum': 0, 'maximum': 4, 'current_value': 4.0, 'target_value': 4.0, 'last_value': 4.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 0, 'type': 33, 'state': 1, 'last_changed': 1696792007, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 511, 'node_id': 59, 'instance': 0, 'minimum': 0, 'maximum': 2, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 1.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 0, 'type': 10, 'state': 1, 'last_changed': 1696792007, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 35, 'week': 5, 'month': 1, 'stepped': True}}}]}
Home Assistant 2023.8.4
Supervisor 2023.09.2
Operating System 10.5
Frontend 20230802.1 - latest
Ich habe einen Helligkeitssensor, welchen ich gerne nutzen würde, der aber nicht in HA angezeigt wird. Das log habe ich unten angehangen. Danke vorab!
Add your logs here.
2023-10-02 13:09:17.226 INFO (MainThread) [custom_components.homee] Found node EG-Lux, with following Data: {'id': 75, 'name': 'EG-Lux', 'profile': 1000, 'image': 'default', 'favorite': 0, 'order': 15, 'protocol': 2, 'routing': 0, 'state': 1, 'state_changed': 1695188622, 'added': 1662630292, 'history': 1, 'cube_type': 2, 'note': 'Helligkeitssensor', 'services': 4, 'phonetic_name': '', 'owner': 2, 'security': 0, 'attributes': [{'id': 364, 'node_id': 75, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 1.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 385, 'state': 1, 'last_changed': 1662631152, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 365, 'node_id': 75, 'instance': 0, 'minimum': 0, 'maximum': 4, 'current_value': 1.0, 'target_value': 1.0, 'last_value': 1.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 0, 'type': 33, 'state': 1, 'last_changed': 1696244923, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 366, 'node_id': 75, 'instance': 0, 'minimum': 0, 'maximum': 0, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'text', 'step_value': 1.0, 'editable': 0, 'type': 45, 'state': 1, 'last_changed': 1662630302, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': 'V21', 'name': ''}, {'id': 367, 'node_id': 75, 'instance': 0, 'minimum': 1, 'maximum': 50000, 'current_value': 2132.0, 'target_value': 2132.0, 'last_value': 2079.0, 'unit': 'lx', 'step_value': 1.0, 'editable': 0, 'type': 11, 'state': 1, 'last_changed': 1696244923, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 1, 'week': 26, 'month': 6}}}, {'id': 368, 'node_id': 75, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 1, 'type': 170, 'state': 1, 'last_changed': 1662630304, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 369, 'node_id': 75, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 0, 'type': 69, 'state': 1, 'last_changed': 1662630307, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '2700', 'name': '', 'options': {'automations': ['reset'], 'history': {'day': 182, 'week': 26, 'month': 6, 'stepped': True}}}]}
Encountered in 2.8.0
, 2.9.0-beta.1
. Also found in 2.5.1
from @FreshlyBrewedCode.
I noticed random system freezes where my Memory usage went over 91G (16G RAM) when it's usually ~10G max. I checked logs and noticed that errors from pymee and homee seemed to always occur as this happened. Reinstalled latest versions (see above), and re-configured homee from scratch (after in-place upgrade did not resolve anything). However, that didn't work either, and on clean start up I get the following in logs.
The logs then continue to span AttributeError: 'cached_property' object has no attribute 'fget'
from File "/config/custom_components/homee/__init__.py", line 290, in state_attributes
2024-01-05 22:53:35.034 ERROR (MainThread) [homeassistant.components.switch] Error adding entities for domain switch with platform homee
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 752, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1278, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 941, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1062, in _async_write_ha_state
state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1001, in __async_calculate_state
attr.update(self.state_attributes or {})
^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/homee/__init__.py", line 290, in state_attributes
data = self._entity.__class__.__bases__[1].state_attributes.fget(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'cached_property' object has no attribute 'fget'
2024-01-05 22:53:35.039 ERROR (MainThread) [homeassistant.components.switch] Error while setting up homee platform for switch
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 368, in _async_setup_platform
await asyncio.gather(*pending)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 752, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1278, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 941, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1062, in _async_write_ha_state
state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1001, in __async_calculate_state
attr.update(self.state_attributes or {})
^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/homee/__init__.py", line 290, in state_attributes
data = self._entity.__class__.__bases__[1].state_attributes.fget(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'cached_property' object has no attribute 'fget'
2.9.3
The Device is causing an error when being set up
2024-05-11 08:33:42.420 ERROR (MainThread) [homeassistant.components.climate] Error adding entity climate.heizung_schlafzimmer for domain climate with platform homee
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 580, in _async_add_entities
await coro
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 892, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1359, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1009, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1132, in _async_write_ha_state
state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1067, in __async_calculate_state
state = self._stringify_state(available)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1015, in _stringify_state
if (state := self.state) is None:
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 324, in __getattribute__
return super().__getattribute__(__name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 455, in state
hvac_mode = self.hvac_mode
^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 324, in __getattribute__
return super().__getattribute__(__name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/homee/climate.py", line 117, in hvac_mode
if self.get_attribute(AttributeType.HEATING_MODE).current_value == 0:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/homee/__init__.py", line 363, in get_attribute
return self._node.get_attribute_by_type(attribute_type)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/pymee/model.py", line 265, in get_attribute_by_type
return self._attribute_map[type]
~~~~~~~~~~~~~~~~~~~^^^^^^
KeyError: 258
I'd like to add a feature request for the Warema Weather Station Plus. Basic support seems to be there, the device shows up in Home Assistant, however only the Illuminance entity is present, and the logs show a warning as the entity is reporting in 'klx' as opposed to 'lx' which is supported by HA. Here is the log information for the device:
2023-11-15 15:00:41.476 INFO (MainThread) [custom_components.homee] Found node Weather Station, with following Data: {'id': 10, 'name': 'Weather%20Station', 'profile': 3013, 'image': 'nodeicon_weatherstation', 'favorite': 0, 'order': 5, 'protocol': 23, 'routing': 0, 'state': 1, 'state_changed': 1698140003, 'added': 1697635553, 'history': 1, 'cube_type': 14, 'note': 'WAREMA%20Wetterstation%20Plus%20%281667338%29', 'services': 5, 'phonetic_name': '', 'owner': 2, 'security': 0, 'attributes': [{'id': 69, 'node_id': 10, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 1.0, 'target_value': 1.0, 'last_value': 0.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 385, 'state': 1, 'last_changed': 1697635553, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 70, 'node_id': 10, 'instance': 0, 'minimum': 0, 'maximum': 25, 'current_value': 2.0, 'target_value': 2.0, 'last_value': 2.5, 'unit': 'm%2Fs', 'step_value': 1.0, 'editable': 0, 'type': 146, 'state': 1, 'last_changed': 1700056836, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 1, 'week': 26, 'month': 6}}}, {'id': 71, 'node_id': 10, 'instance': 0, 'minimum': 1, 'maximum': 100, 'current_value': 7.0, 'target_value': 7.0, 'last_value': 8.0, 'unit': 'klx', 'step_value': 0.5, 'editable': 0, 'type': 11, 'state': 1, 'last_changed': 1700056686, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 1, 'week': 26, 'month': 6}}}, {'id': 72, 'node_id': 10, 'instance': 0, 'minimum': 0, 'maximum': 500, 'current_value': 500.0, 'target_value': 500.0, 'last_value': 500.0, 'unit': 'lx', 'step_value': 2.0, 'editable': 0, 'type': 301, 'state': 1, 'last_changed': 1700056347, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 1, 'week': 26, 'month': 6}}}, {'id': 73, 'node_id': 10, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 0, 'type': 101, 'state': 1, 'last_changed': 1700056646, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 35, 'week': 5, 'month': 1, 'stepped': True}}}, {'id': 74, 'node_id': 10, 'instance': 0, 'minimum': -20, 'maximum': 60, 'current_value': 5.5, 'target_value': 5.5, 'last_value': 5.5, 'unit': '%C2%B0C', 'step_value': 0.5, 'editable': 0, 'type': 5, 'state': 1, 'last_changed': 1700056477, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 1, 'week': 26, 'month': 6}}}, {'id': 75, 'node_id': 10, 'instance': 0, 'minimum': 0, 'maximum': 0, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'text', 'step_value': 1.0, 'editable': 0, 'type': 45, 'state': 1, 'last_changed': 1697635553, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '3842110A', 'name': ''}, {'id': 76, 'node_id': 10, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 1, 'type': 170, 'state': 1, 'last_changed': 1697635553, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}]}
Many thanks!
2.6.1
I'm using homee with the Warema Cube and want to control dimmable lights. When I set the dimming level to e.g. 10% it randomly jumps to 100%. This behaviour can not be observed when using the homee app.
Hacs-homee => V2.9.2
HA => Core 2024.3.1 Frontend 20240307.0
There are only the Watchdog and Batterie visible.
Missing is the urgent state like Look, Unlook ...
2024-03-31 17:34:04.610 INFO (MainThread) [custom_components.homee] Found node Poly-control Danalock V3 BTZE, with following Data: {'id': 9, 'name': 'Poly-control Danalock V3 BTZE', 'profile': 2007, 'image': 'default', 'favorite': 0, 'order': 31, 'protocol': 1, 'routing': 0, 'state': 1, 'state_changed': 1711799526, 'added': 1645036891, 'history': 1, 'cube_type': 1, 'note': '%231%20Twist%201Byte%200%3Daus%20%201%3Dan%0A%232%20Hold%26release%204Byte%201-2147483647%20Sek.%0A%233%20Block%20to%20Block%200%3Daus%201%3Dan%0A%234%20temp%20BLE%20Timer%204Byte%201-2147483647%20Sek.%0A%235%20BLE%20immer%20an%200%3Daus%201%3Dan%0A%236%20Autolook%204Byte%201-2147483647%20Sek.', 'services': 3, 'phonetic_name': '', 'owner': 2, 'security': 0, 'attributes': [{'id': 101, 'node_id': 9, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 1.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 232, 'state': 1, 'last_changed': 1711897362, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'automations': ['toggle'], 'history': {'day': 35, 'week': 5, 'month': 1, 'stepped': True}}}, {'id': 102, 'node_id': 9, 'instance': 0, 'minimum': 0, 'maximum': 0, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'text', 'step_value': 1.0, 'editable': 0, 'type': 44, 'state': 1, 'last_changed': 0, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '5.03', 'name': ''}, {'id': 103, 'node_id': 9, 'instance': 0, 'minimum': 0, 'maximum': 0, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'text', 'step_value': 1.0, 'editable': 0, 'type': 45, 'state': 1, 'last_changed': 0, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '1.03', 'name': ''}, {'id': 104, 'node_id': 9, 'instance': 0, 'minimum': 0, 'maximum': 100, 'current_value': 77.0, 'target_value': 77.0, 'last_value': 74.0, 'unit': '%25', 'step_value': 1.0, 'editable': 0, 'type': 8, 'state': 1, 'last_changed': 1711796587, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 182, 'week': 26, 'month': 6}}}, {'id': 163, 'node_id': 9, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 1.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 385, 'state': 1, 'last_changed': 1661856736, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 0, 'data': '', 'name': ''}]}
all
Currently it is not possible to use more than one configured homee at the same time. Only devices from one homee will work as expected. Removing one of the configurations will cause the other to break until HA is restarted.
The problem occurs because the homee.set_value
service is registered/unregistered for every config entry and does not take into account the homee cube that should be targeted.
[ X] I have a question.
Home Assistant 2023.8.4
My AEON Labs ZW095 Home Energy Meter Gen5 couldn´t be found in Home Assistant. is there a way to integrate it?
2023-09-06 07:32:06.672 ERROR (MainThread) [homeassistant.components.sensor] Ignoring invalid device info: Invalid device info {'default_manufacturer': 'unknown', 'default_model': 'ENERGY_METER', 'identifiers': {('homee', 116)}, 'name': 'AEON Labs ZW095 Home Energy Meter Gen5', 'sw_version': 0.0, 'via_device': ('homee', 'xxx')} for 'homee' config entry: device info needs to either describe a device, link to existing device or provide extra information. 2023-09-06 07:32:06.676 ERROR (MainThread) [homeassistant.components.sensor] Ignoring invalid device info: Invalid device info {'default_manufacturer': 'unknown', 'default_model': 'ENERGY_METER', 'identifiers': {('homee', 116)}, 'name': 'AEON Labs ZW095 Home Energy Meter Gen5', 'sw_version': 0.0, 'via_device': ('homee', 'xxx')} for 'homee' config entry: device info needs to either describe a device, link to existing device or provide extra information. 2023-09-06 07:32:06.680 ERROR (MainThread) [homeassistant.components.sensor] Ignoring invalid device info: Invalid device info {'default_manufacturer': 'unknown', 'default_model': 'ENERGY_METER', 'identifiers': {('homee', 116)}, 'name': 'AEON Labs ZW095 Home Energy Meter Gen5', 'sw_version': 0.0, 'via_device': ('homee', 'xxx')} for 'homee' config entry: device info needs to either describe a device, link to existing device or provide extra information. 2023-09-06 07:32:06.685 ERROR (MainThread) [homeassistant.components.sensor] Ignoring invalid device info: Invalid device info {'default_manufacturer': 'unknown', 'default_model': 'ENERGY_METER', 'identifiers': {('homee', 116)}, 'name': 'AEON Labs ZW095 Home Energy Meter Gen5', 'sw_version': 0.0, 'via_device': ('homee', 'xxx')} for 'homee' config entry: device info needs to either describe a device, link to existing device or provide extra information. 2023-09-06 07:32:06.693 ERROR (MainThread) [homeassistant.components.sensor] Ignoring invalid device info: Invalid device info {'default_manufacturer': 'unknown', 'default_model': 'ENERGY_METER', 'identifiers': {('homee', 116)}, 'name': 'AEON Labs ZW095 Home Energy Meter Gen5', 'sw_version': 0.0, 'via_device': ('homee', 'xxx')} for 'homee' config entry: device info needs to either describe a device, link to existing device or provide extra information. 2023-09-06 07:32:06.697 ERROR (MainThread) [homeassistant.components.sensor] Ignoring invalid device info: Invalid device info {'default_manufacturer': 'unknown', 'default_model': 'ENERGY_METER', 'identifiers': {('homee', 116)}, 'name': 'AEON Labs ZW095 Home Energy Meter Gen5', 'sw_version': 0.0, 'via_device': ('homee', 'xxx')} for 'homee' config entry: device info needs to either describe a device, link to existing device or provide extra information.
2.8.0
If I use Homee state (Home/Away) in an automation as condition, it always resolves to test failed. I.e. condition never passes. If Homee is set to Home and I test for Home, it will not pass.
I think the problem is that HA docs require the state to be str:
https://developers.home-assistant.io/docs/core/entity/alarm-control-panel/
state | str \ None | Required | One of the states listed in the states.
But in the code, I see that return type of the state is int:
@property
def state(self) -> int:
"""Return current state."""
return int(self._alarm_panel_attribute.current_value)
Mir ist aufgefallen, dass die obengenannten Geräte im Dashbord die Position richtig anzeigen. Aber leider können sie in Automationen nicht ausgewehlt werden. Da sie so wie es aussieht nur als Sensoren und nicht als Binärsensor übernommen wurden.
Die FRP-70 zB. wurden richtig integriert als Binärsensor.
Add your logs here.
Mir ist aufgefallen, dass die obengenannten Geräte im Dashbord die Position richtig anzeigen. Aber leider können sie in Automationen nicht ausgewehlt werden. Da sie so wie es aussieht nur als Sensoren und nicht als Binärsensor übernommen wurden.
Die FRP-70 zB. wurden richtig integriert als Binärsensor.
Add your logs here.
2.9.0
Window sensor say that the entity that represents the state is not available. Seems like here is a mistake:
Should be AttributeType.OPEN_CLOSE. If you agree, I will submit a PR. I did local change and it works now.
v.2.9.1
With the MultiSensor 6 from Aeotec, the humidity and motion detection entities are not available.
2024-03-09 12:53:57.885 INFO (MainThread) [custom_components.homee] Found node Wohnzimmer MultiSensor 6, with following Data: {'id': 47, 'name': 'Wohnzimmer%20MultiSensor%206', 'profile': 4010, 'image': 'default', 'favorite': 0, 'order': 20, 'protocol': 1, 'routing': 0, 'state': 1, 'state_changed': 1709379826, 'added': 1676199446, 'history': 1, 'cube_type': 1, 'note': '%23%20Aeotec%20MultiSensor%206', 'services': 5, 'phonetic_name': '', 'owner': 2, 'security': 0, 'attributes': [{'id': 285, 'node_id': 47, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 1.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 385, 'state': 1, 'last_changed': 1676205945, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 286, 'node_id': 47, 'instance': 0, 'minimum': 0, 'maximum': 0, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'text', 'step_value': 1.0, 'editable': 0, 'type': 44, 'state': 1, 'last_changed': 0, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '4.54', 'name': ''}, {'id': 287, 'node_id': 47, 'instance': 0, 'minimum': 0, 'maximum': 0, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'text', 'step_value': 1.0, 'editable': 0, 'type': 45, 'state': 1, 'last_changed': 0, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '1.15', 'name': ''}, {'id': 288, 'node_id': 47, 'instance': 0, 'minimum': 0, 'maximum': 100, 'current_value': 100.0, 'target_value': 100.0, 'last_value': 100.0, 'unit': '%25', 'step_value': 1.0, 'editable': 0, 'type': 8, 'state': 1, 'last_changed': 1709982926, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 182, 'week': 26, 'month': 6}}}, {'id': 289, 'node_id': 47, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 1.0, 'unit': '', 'step_value': 1.0, 'editable': 0, 'type': 25, 'state': 1, 'last_changed': 1709933563, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'automations': ['reset'], 'history': {'day': 35, 'week': 5, 'month': 1, 'stepped': True}}}, {'id': 290, 'node_id': 47, 'instance': 0, 'minimum': 1, 'maximum': 15300, 'current_value': 10.0, 'target_value': 1.0, 'last_value': 10.0, 'unit': 's', 'step_value': 1.0, 'editable': 1, 'type': 28, 'state': 1, 'last_changed': 1676204559, 'changed_by': 0, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 291, 'node_id': 47, 'instance': 0, 'minimum': -50, 'maximum': 125, 'current_value': 20.3, 'target_value': 20.3, 'last_value': 20.3, 'unit': '%C2%B0C', 'step_value': 1.0, 'editable': 0, 'type': 5, 'state': 1, 'last_changed': 1709982925, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 1, 'week': 26, 'month': 6}}}, {'id': 292, 'node_id': 47, 'instance': 0, 'minimum': 0, 'maximum': 65000, 'current_value': 175.0, 'target_value': 175.0, 'last_value': 66.0, 'unit': 'lx', 'step_value': 1.0, 'editable': 0, 'type': 11, 'state': 1, 'last_changed': 1709982926, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 1, 'week': 26, 'month': 6}}}, {'id': 293, 'node_id': 47, 'instance': 0, 'minimum': 0, 'maximum': 100, 'current_value': 51.0, 'target_value': 51.0, 'last_value': 51.0, 'unit': '%25', 'step_value': 1.0, 'editable': 0, 'type': 7, 'state': 1, 'last_changed': 1709982925, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 1, 'week': 26, 'month': 6}}}, {'id': 294, 'node_id': 47, 'instance': 0, 'minimum': 0, 'maximum': 15, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': '', 'step_value': 1.0, 'editable': 0, 'type': 173, 'state': 1, 'last_changed': 1709982926, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 1, 'week': 26, 'month': 6}}}, {'id': 295, 'node_id': 47, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': '', 'step_value': 1.0, 'editable': 0, 'type': 30, 'state': 1, 'last_changed': 1709933563, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'automations': ['reset'], 'history': {'day': 182, 'week': 26, 'month': 6, 'stepped': True}}}]}
I have 15 Warema raffstores (slats that can go up and down and have an adjustable slat angle of 0 - 80 degrees). They appear in HA, but only the sensors work (and they do correclty track movements that are currently triggered from Homee).
But neither the cover controls nor the slat rotation impulse control works. I am also not sure hoe the rotation impulse would work as it is an on/off switch. I think it should also be a separate cover entity that works in a percentage range.
Logger: homeassistant.components.cover
Source: helpers/entity_platform.py:368
Integration: Cover (documentation, issues)
First occurred: 10:07:49 (1 occurrences)
Last logged: 10:07:49
Error while setting up homee platform for cover
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 368, in _async_setup_platform
await asyncio.gather(*pending)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 752, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1278, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 941, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1062, in _async_write_ha_state
state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 999, in __async_calculate_state
state = self._stringify_state(available)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 947, in _stringify_state
if (state := self.state) is None:
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/cover/__init__.py", line 318, in state
if (closed := self.is_closed) is None:
^^^^^^^^^^^^^^
File "/config/custom_components/homee/cover.py", line 151, in is_closed
if self.get_attribute(self._open_close_attribute).options.reverse_control_ui:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pymee/model.py", line 159, in options
return HomeeAttributeOptions(self._data["options"])
~~~~~~~~~~^^^^^^^^^^^
KeyError: 'options'
Logger: homeassistant.components.cover
Source: helpers/entity_platform.py:507
Integration: Cover (documentation, issues)
First occurred: 10:07:49 (1 occurrences)
Last logged: 10:07:49
Error adding entities for domain cover with platform homee
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 752, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1278, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 941, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1062, in _async_write_ha_state
state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 999, in __async_calculate_state
state = self._stringify_state(available)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 947, in _stringify_state
if (state := self.state) is None:
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/cover/__init__.py", line 318, in state
if (closed := self.is_closed) is None:
^^^^^^^^^^^^^^
File "/config/custom_components/homee/cover.py", line 151, in is_closed
if self.get_attribute(self._open_close_attribute).options.reverse_control_ui:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pymee/model.py", line 159, in options
return HomeeAttributeOptions(self._data["options"])
~~~~~~~~~~^^^^^^^^^^^
KeyError: 'options'
Bump pymee to version 1.11.2 to fix this error.
newest
In homee, there are 4 Danfoss/Devolo room thermostat assigned. The device should be contain as minimum: Battery, SOLL temperatur, IST temperature, a Botton (Taster) on Top.
In HA only following entinitäten are available:
2023-11-05 18:29:44.533 INFO (MainThread) [custom_components.homee] Found node Danfoss-Schlafzimmer-Thermostat, with following Data: {'id': 41, 'name': 'Danfoss-Schlafzimmer-Thermostat', 'profile': 3003, 'image': 'nodeicon_temperature', 'favorite': 0, 'order': 42, 'protocol': 1, 'routing': 0, 'state': 1, 'state_changed': 1699205024, 'added': 1669380132, 'history': 1, 'cube_type': 1, 'note': '%23%20Danfoss%20RS%20Raumsensor', 'services': 7, 'phonetic_name': '', 'owner': 2, 'security': 0, 'attributes': [{'id': 371, 'node_id': 41, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 1.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 385, 'state': 1, 'last_changed': 1669380242, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 372, 'node_id': 41, 'instance': 0, 'minimum': 0, 'maximum': 0, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'text', 'step_value': 1.0, 'editable': 0, 'type': 44, 'state': 1, 'last_changed': 0, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '3.67', 'name': ''}, {'id': 373, 'node_id': 41, 'instance': 0, 'minimum': 0, 'maximum': 0, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'text', 'step_value': 1.0, 'editable': 0, 'type': 45, 'state': 1, 'last_changed': 0, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '1.00', 'name': ''}, {'id': 374, 'node_id': 41, 'instance': 0, 'minimum': 0, 'maximum': 100, 'current_value': 94.0, 'target_value': 94.0, 'last_value': 94.0, 'unit': '%25', 'step_value': 1.0, 'editable': 0, 'type': 8, 'state': 1, 'last_changed': 1699202798, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 182, 'week': 26, 'month': 6}}}, {'id': 375, 'node_id': 41, 'instance': 0, 'minimum': 5, 'maximum': 1440, 'current_value': 15.0, 'target_value': 15.0, 'last_value': 15.0, 'unit': 'min', 'step_value': 1.0, 'editable': 1, 'type': 29, 'state': 1, 'last_changed': 1699202799, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 376, 'node_id': 41, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 91, 'state': 1, 'last_changed': 1697273196, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 377, 'node_id': 41, 'instance': 0, 'minimum': 1, 'maximum': 2, 'current_value': 2.0, 'target_value': 2.0, 'last_value': 2.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 0, 'type': 40, 'state': 1, 'last_changed': 1671994123, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 378, 'node_id': 41, 'instance': 0, 'minimum': 12, 'maximum': 28, 'current_value': 19.0, 'target_value': 16.0, 'last_value': 12.0, 'unit': '%C2%B0C', 'step_value': 0.1, 'editable': 1, 'type': 6, 'state': 2, 'last_changed': 1699197399, 'changed_by': 2, 'changed_by_id': 2, 'based_on': 1, 'data': '', 'name': '', 'options': {'automations': ['step'], 'history': {'day': 35, 'week': 5, 'month': 1, 'stepped': True}}}, {'id': 379, 'node_id': 41, 'instance': 0, 'minimum': -50, 'maximum': 125, 'current_value': 22.45, 'target_value': 22.45, 'last_value': 22.49, 'unit': '%C2%B0C', 'step_value': 0.1, 'editable': 0, 'type': 5, 'state': 1, 'last_changed': 1699202799, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'observed_by': [195], 'history': {'day': 1, 'week': 26, 'month': 6}}}]}
2.9.0
After updating to version 2.9.0 dimmable lights are now unavailable
(Hope the short log is enough)
Logger: homeassistant.components.light
Source: helpers/entity_platform.py:360
Integration: Light (documentation, issues)
First occurred: 19:20:20 (8 occurrences)
Last logged: 21:05:08
Error while setting up homee platform for light
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 360, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/homee/light.py", line 108, in async_setup_entry
devices.append(HomeeLight(node, light_set, index, config_entry))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/homee/light.py", line 158, in init
self._supported_features = get_light_features(self)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/homee/light.py", line 43, in get_light_features
features |= ColorMode.BRIGHTNESS
TypeError: unsupported operand type(s) for |=: 'int' and 'ColorMode'
Thx for having a look on it.
Hacs-homee => V2.9.2
HA => Core 2024.3.1 Frontend 20240307.0
Enocean state "gekippt"and "offen" invers.
If I open the door or window, the status is "gekippt". If I tilted the door/open the status is "open".
The order must be "geschlossen", "offen", "gekippt"
2024-03-31 17:34:04.605 INFO (MainThread) [custom_components.homee] Found node Schlafzimmer Fenster, with following Data: {'id': 52, 'name': 'Schlafzimmer%20Fenster', 'profile': 2001, 'image': 'default', 'favorite': 0, 'order': 13, 'protocol': 3, 'routing': 0, 'state': 1, 'state_changed': 1690123245, 'added': 1684839919, 'history': 1, 'cube_type': 3, 'note': '%23%20Hoppe%20SecuSignal', 'services': 5, 'phonetic_name': '', 'owner': 2, 'security': 0, 'attributes': [{'id': 500, 'node_id': 52, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 1.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 385, 'state': 1, 'last_changed': 1684839976, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 501, 'node_id': 52, 'instance': 0, 'minimum': 0, 'maximum': 4, 'current_value': 4.0, 'target_value': 4.0, 'last_value': 4.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 0, 'type': 33, 'state': 1, 'last_changed': 1711870779, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 502, 'node_id': 52, 'instance': 0, 'minimum': 0, 'maximum': 2, 'current_value': 1.0, 'target_value': 1.0, 'last_value': 0.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 0, 'type': 10, 'state': 1, 'last_changed': 1711870779, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 35, 'week': 5, 'month': 1, 'stepped': True}}}]}
Is your feature request related to a problem? Please describe.
A new option introduced in v1.2.0 allows the user to select which groups should be imported. The integration will only import devices that are in any of the selected groups. This behaviour will cause devices that are not assigned to a group to never be imported.
Describe the solution you'd like
Add an option to import all devices regardless of what groups are selected.
Describe alternatives you've considered
Move all devices to at least one group.
Additional context
The option should be added to the get_data_schema function in config_flow.py and get_imported_nodes in helpers.py should return all nodes if the option is enabled.
Homee transmits the status of a device.
'state': 1 = online
'state': 2 =offline
It would be nice if this were displayed in the Home Assistant:
2023-10-13 16:29:08.650 INFO (MainThread) [custom_components.homee] Found node Rauchmelder Küche OG, with following Data: {'id': 22, 'name': 'Rauchmelder%20K%C3%BCche%20OG', 'profile': 4012, 'image': 'default', 'favorite': 0, 'order': 16, 'protocol': 1, 'routing': 0, 'state': 2, 'state_changed': 1697202255, 'added': 1682521723, 'history': 1, 'cube_type': 1, 'note': '%23%20ABUS%20Z-Wave%20Rauchmelder', 'services': 4, 'phonetic_name': '', 'owner': 2, 'security': 0, 'attributes': [{'id': 226, 'node_id': 22, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 1.0, 'target_value': 1.0, 'last_value': 0.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 385, 'state': 1, 'last_changed': 1682521723, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 227, 'node_id': 22, 'instance': 0, 'minimum': 0, 'maximum': 0, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'text', 'step_value': 1.0, 'editable': 0, 'type': 44, 'state': 1, 'last_changed': 0, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '5.03', 'name': ''}, {'id': 228, 'node_id': 22, 'instance': 0, 'minimum': 0, 'maximum': 0, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'text', 'step_value': 1.0, 'editable': 0, 'type': 45, 'state': 1, 'last_changed': 0, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '3.01', 'name': ''}, {'id': 229, 'node_id': 22, 'instance': 0, 'minimum': 0, 'maximum': 100, 'current_value': 100.0, 'target_value': 100.0, 'last_value': 100.0, 'unit': '%25', 'step_value': 1.0, 'editable': 0, 'type': 8, 'state': 1, 'last_changed': 1682525410, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 182, 'week': 26, 'month': 6}}}, {'id': 230, 'node_id': 22, 'instance': 0, 'minimum': 1, 'maximum': 1440, 'current_value': 1440.0, 'target_value': 1440.0, 'last_value': 0.0, 'unit': 'min', 'step_value': 1.0, 'editable': 1, 'type': 29, 'state': 1, 'last_changed': 1682521761, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 231, 'node_id': 22, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 1.0, 'unit': '', 'step_value': 1.0, 'editable': 0, 'type': 16, 'state': 1, 'last_changed': 1682525435, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'automations': ['reset'], 'history': {'day': 182, 'week': 26, 'month': 6, 'stepped': True}}}]}
Device Type: Remote Control
Log:
2024-05-14 18:48:06.116 INFO (MainThread) [custom_components.homee] Found node Wandsender Wohnzimmer Festverglasung, with following Data: {'id': 31, 'name': 'Wandsender%20Wohnzimmer%20Festverglasung', 'profile': 41, 'image': 'default', 'favorite': 0, 'order': 29, 'protocol': 23, 'routing': 0, 'state': 1, 'state_changed': [1715356788](tel:1715356788), 'added': [1615396304](tel:1615396304), 'history': 1, 'cube_type': 14, 'note': 'WAREMA%20Wandsender%20basic%20%281012296%29', 'services': 0, 'phonetic_name': '', 'owner': 2, 'security': 0, 'attributes': [{'id': 158, 'node_id': 31, 'instance': 0, 'minimum': 0, 'maximum': 9, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 2.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 0, 'type': 300, 'state': 1, 'last_changed': [1713470190](tel:1713470190), 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'observed_by': [145]}}, {'id': 159, 'node_id': 31, 'instance': 0, 'minimum': 0, 'maximum': 0, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'text', 'step_value': 1.0, 'editable': 0, 'type': 45, 'state': 1, 'last_changed': [1615396304](tel:1615396304), 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '[07319121012](tel:07319121012)', 'name': ''}, {'id': 160, 'node_id': 31, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'n%2Fa', 'step_value': 1.0, 'editable': 1, 'type': 170, 'state': 1, 'last_changed': [1621765009](tel:1621765009), 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 236, 'node_id': 31, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 1.0, 'target_value': 1.0, 'last_value': 0.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 385, 'state': 1, 'last_changed': 0, 'changed_by': 0, 'changed_by_id': 0, 'based_on': 0, 'data': '', 'name': ''}]}
Buttons:
Up / Down / Stop
Left small button: C (comfort button)
Right small button: A (Automatic mode button)
Actual Home Assistant representation:
From an own Node-RED implementation based on a homee api connection I know that the different buttons generate a message with the attribute type 300 and the following target_values:
1 = up
4 = up (gehalten/long-press)
3 = stop
6 = stop (gehalten/long-press)
2 = down
5 = down (gehalten/long-press)
7 = C-Button
9 = A-Button
The target_value returns to 0, when released
Currently I have set up the Z-Wave siren SHSG10000 from ABUS. However, the device is not displayed in Home Assistant. The associated group has been activated in the configuration.
Is it possible to implement the device?
The following notes are in the log:
2023-04-14 21:38:31.216 INFO (MainThread) [homee] Found node ABUS Sirene, with following Data: {'id': 15, 'name': 'ABUS%20Sirene', 'profile': 4027, 'image': 'default', 'favorite': 0, 'order': 9, 'protocol': 1, 'routing': 0, 'state': 1, 'state_changed': 1681497629, 'added': 1681497601, 'history': 1, 'cube_type': 1, 'note': '%23%20ABUS%20Z-Wave%20Innensirene', 'services': 4, 'phonetic_name': '', 'owner': 2, 'security': 0, 'attributes': [{'id': 185, 'node_id': 15, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 1.0, 'target_value': 1.0, 'last_value': 0.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 385, 'state': 1, 'last_changed': 1681497601, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': ''}, {'id': 186, 'node_id': 15, 'instance': 0, 'minimum': 0, 'maximum': 1, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': '', 'step_value': 1.0, 'editable': 1, 'type': 13, 'state': 1, 'last_changed': 1681499575, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'automations': ['toggle'], 'history': {'day': 35, 'week': 5, 'month': 1, 'stepped': True}}}, {'id': 187, 'node_id': 15, 'instance': 0, 'minimum': 0, 'maximum': 0, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'text', 'step_value': 1.0, 'editable': 0, 'type': 44, 'state': 1, 'last_changed': 0, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '5.03', 'name': ''}, {'id': 188, 'node_id': 15, 'instance': 0, 'minimum': 0, 'maximum': 0, 'current_value': 0.0, 'target_value': 0.0, 'last_value': 0.0, 'unit': 'text', 'step_value': 1.0, 'editable': 0, 'type': 45, 'state': 1, 'last_changed': 0, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '1.02', 'name': ''}, {'id': 189, 'node_id': 15, 'instance': 0, 'minimum': 0, 'maximum': 100, 'current_value': 10.0, 'target_value': 10.0, 'last_value': 7.0, 'unit': '%25', 'step_value': 1.0, 'editable': 0, 'type': 8, 'state': 1, 'last_changed': 1681499346, 'changed_by': 1, 'changed_by_id': 0, 'based_on': 1, 'data': '', 'name': '', 'options': {'history': {'day': 182, 'week': 26, 'month': 6}}}]}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.