Neue HomeMatic Integration für Home Assistant
Verfasst: 18.01.2022, 13:11
Einige haben es vielleicht schon mitbekommen. Für die anderen hier die Info:
Es wird zur Zeit aktiv an einer neuen HomeMatic Integration für Home Assistant gearbeitet. Die Integration ist mittlerweile in einem stabilen Zustand.
WICHTIG: Es handelt sich hierbei um die lokale integration. Sie setzt also z.B. eine CCU, RaspberryMatic, Homegear oder ähnliches voraus. Der HmIP Access Point der über die Cloud geht ist hiervon NICHT abgedeckt. Wer also die Integration nutzt die jetzt schon über das UI konfigurierbar ist, ist hiervon nicht betroffen.
Zur Zeit lässt sich die neue Integration am einfachsten über HACS betreiben. Eine Anleitung dazu gibt es hier: https://github.com/jens-maus/RaspberryM ... ntegration
Die Doku findet man hier.
Probleme, Fragen und Anregungen werden im hahomematic Repository behandelt, welches ihr hier findet: https://github.com/danielperna84/hahomematic
Um uns Entwicklern das Leben nicht unnötig schwer zu machen bitte ich darum folgende Punkte zu beachten:
1. Konkrete (reproduzierbare) Fehler könnt ihr als "Issue" melden. Hier bitte die angefragten Details nicht vergessen, und am besten auch immer Logs bereitstellen.
2. Für Fragen und Anregungen gibt es den "Discussions" Bereich. Als Eigenheit von GitHub ist hier zu beachten, dass man innerhalb eines Themas sowohl allgemein zu einem Thema Antworten kann, als auch direkt auf spezifische Antworten. Um Ordnung zu bewahren dies also bitte berücksichtigen und abwägen in welche Kategorie eure Mitteilung fällt.
3. Die neue Integration basiert darauf, dass Geräte und Entities auf Basis der von den Geräten bereitgestellten "Metadaten" automatisch erzeugt werden. Lediglich komplexere Geräte wie Thermostate, Rolladen-Aktoren usw. erhalten aufgrund ihrer technischen Eigenheiten eine Sonderbehandlung. Identifizieren lässt sich das über die "Zustände" Tabelle im "Entwicklerwerkzeuge" Bereich in Home Assistant. Die Entities mit dem Attribut "entity_type: custom" sind die mit der Sonderbehandlung. Solche mit dem Wert "generic" wurden automatisch erstellt. Wenn letztere bei euch "merkwürdiges" Verhalten aufweisen, dann ist erst mal nicht geplant daran etwas zu ändern. Wir reichen einfach nur die Daten weiter. Wenn der Hersteller also meint einen Integer als Float darstellen zu wollen, dann akzeptieren wir das stillschweigend. Funktional sollte hierdurch keine Einschränkung entstehen.
Hintergrund für diesen Ansatz ist übrigens, dass der Support für neue Geräte immer erst manuell einprogrammiert werden musste. Das hatte Wartezeiten zur Folge, und manche Geräte funktionieren selbst heute nicht in vollem Umfang. Mit dem automatischen Erzeugen der Entities hingegen werden die einzelnen Parameter (sofern sie nicht auf der Blacklist stehen) auch für unbekannte Geräte erzeugt. So sind selbst (neue) komplexe Geräte direkt nutzbar, wenn auch ggf. mit Einschränkungen weil dem Thermostat z.B. dann das climate-Entity fehlt.
4. Die "Callback"-Optionen dürften für die meisten von euch irrelevant sein. Hiermit kann man manuell definieren, über welche Adresse die CCU den "Rückkanal" für die Events aufbaut. Das klappt normalerweise automatisch. Wenn Home Assistant jedoch z.B. in einem Docker Container in seinem eigenen Netzwerk läuft, dann ist die erkannte Adresse für die außerhalb liegende CCU nicht erreichbar. Hier muss man dann ggf. auch mit Port forwarding arbeiten damit die CCU an Home Assistant dran kommt. Aber wie gesagt, auf solche Setups treffen üblicherweise nur User mit unkonventionellen Setups, und die wissen sich bei solchen Themen dann auch zu helfen.
5. Der Port für JSON-RPC ist ein optionaler Wert der in aller Regel nicht befüllt werden muss. Das Feld existiert lediglich für den Fall, dass jemand ganz bewusst einen Port wählen will der nicht dem Standard entspricht. Hierfür gibt es legitime Anwendungsfälle, und deshalb ist die Option da. Aber voraussichtlich könnt ihr dieses Feld ignorieren.
6. Achtet darauf, dass die Firewall eurer CCU auch die Verbindungen zulässt. Solltet ihr Home Assistant schon in Betrieb haben, dann sollte das bereits passen wenn die Verbindungen weiterhin von derselben IP Adresse kommen. Wenn ich zum testen eine andere Maschine verwendet und ihr in der Firewall nicht euer komplettes Netz freigegeben habt, dann an dieser Stelle die IP Adresse der Testmaschine hinzufügen.
So, das war's erst mal hierzu. Ich freue mich auf eure Beteiligung.
Es wird zur Zeit aktiv an einer neuen HomeMatic Integration für Home Assistant gearbeitet. Die Integration ist mittlerweile in einem stabilen Zustand.
WICHTIG: Es handelt sich hierbei um die lokale integration. Sie setzt also z.B. eine CCU, RaspberryMatic, Homegear oder ähnliches voraus. Der HmIP Access Point der über die Cloud geht ist hiervon NICHT abgedeckt. Wer also die Integration nutzt die jetzt schon über das UI konfigurierbar ist, ist hiervon nicht betroffen.
Zur Zeit lässt sich die neue Integration am einfachsten über HACS betreiben. Eine Anleitung dazu gibt es hier: https://github.com/jens-maus/RaspberryM ... ntegration
Die Doku findet man hier.
Probleme, Fragen und Anregungen werden im hahomematic Repository behandelt, welches ihr hier findet: https://github.com/danielperna84/hahomematic
Um uns Entwicklern das Leben nicht unnötig schwer zu machen bitte ich darum folgende Punkte zu beachten:
1. Konkrete (reproduzierbare) Fehler könnt ihr als "Issue" melden. Hier bitte die angefragten Details nicht vergessen, und am besten auch immer Logs bereitstellen.
2. Für Fragen und Anregungen gibt es den "Discussions" Bereich. Als Eigenheit von GitHub ist hier zu beachten, dass man innerhalb eines Themas sowohl allgemein zu einem Thema Antworten kann, als auch direkt auf spezifische Antworten. Um Ordnung zu bewahren dies also bitte berücksichtigen und abwägen in welche Kategorie eure Mitteilung fällt.
3. Die neue Integration basiert darauf, dass Geräte und Entities auf Basis der von den Geräten bereitgestellten "Metadaten" automatisch erzeugt werden. Lediglich komplexere Geräte wie Thermostate, Rolladen-Aktoren usw. erhalten aufgrund ihrer technischen Eigenheiten eine Sonderbehandlung. Identifizieren lässt sich das über die "Zustände" Tabelle im "Entwicklerwerkzeuge" Bereich in Home Assistant. Die Entities mit dem Attribut "entity_type: custom" sind die mit der Sonderbehandlung. Solche mit dem Wert "generic" wurden automatisch erstellt. Wenn letztere bei euch "merkwürdiges" Verhalten aufweisen, dann ist erst mal nicht geplant daran etwas zu ändern. Wir reichen einfach nur die Daten weiter. Wenn der Hersteller also meint einen Integer als Float darstellen zu wollen, dann akzeptieren wir das stillschweigend. Funktional sollte hierdurch keine Einschränkung entstehen.
Hintergrund für diesen Ansatz ist übrigens, dass der Support für neue Geräte immer erst manuell einprogrammiert werden musste. Das hatte Wartezeiten zur Folge, und manche Geräte funktionieren selbst heute nicht in vollem Umfang. Mit dem automatischen Erzeugen der Entities hingegen werden die einzelnen Parameter (sofern sie nicht auf der Blacklist stehen) auch für unbekannte Geräte erzeugt. So sind selbst (neue) komplexe Geräte direkt nutzbar, wenn auch ggf. mit Einschränkungen weil dem Thermostat z.B. dann das climate-Entity fehlt.
4. Die "Callback"-Optionen dürften für die meisten von euch irrelevant sein. Hiermit kann man manuell definieren, über welche Adresse die CCU den "Rückkanal" für die Events aufbaut. Das klappt normalerweise automatisch. Wenn Home Assistant jedoch z.B. in einem Docker Container in seinem eigenen Netzwerk läuft, dann ist die erkannte Adresse für die außerhalb liegende CCU nicht erreichbar. Hier muss man dann ggf. auch mit Port forwarding arbeiten damit die CCU an Home Assistant dran kommt. Aber wie gesagt, auf solche Setups treffen üblicherweise nur User mit unkonventionellen Setups, und die wissen sich bei solchen Themen dann auch zu helfen.
5. Der Port für JSON-RPC ist ein optionaler Wert der in aller Regel nicht befüllt werden muss. Das Feld existiert lediglich für den Fall, dass jemand ganz bewusst einen Port wählen will der nicht dem Standard entspricht. Hierfür gibt es legitime Anwendungsfälle, und deshalb ist die Option da. Aber voraussichtlich könnt ihr dieses Feld ignorieren.
6. Achtet darauf, dass die Firewall eurer CCU auch die Verbindungen zulässt. Solltet ihr Home Assistant schon in Betrieb haben, dann sollte das bereits passen wenn die Verbindungen weiterhin von derselben IP Adresse kommen. Wenn ich zum testen eine andere Maschine verwendet und ihr in der Firewall nicht euer komplettes Netz freigegeben habt, dann an dieser Stelle die IP Adresse der Testmaschine hinzufügen.
So, das war's erst mal hierzu. Ich freue mich auf eure Beteiligung.