Home Assistant Integration

k.mifka
Beiträge: 2
Registriert: Mi 11. Jan 2023, 00:57

Do 19. Jan 2023, 19:08

Hallo,

bin gerade dabei eine neue Integration des Light Managers für die Home Assistant (Hass) Plattform zu bauen. (https://www.home-assistant.io/). Leider gibt es so eine aktuell noch nicht.. jedenfalls hab ich nichts gefunden..

Dabei möchte ich sowohl alle Aktoren, Szenen und Zonen als auch die Funkbus Sender in Hass verfügbar machen.

Das Auslesen und Starten der Aktoren bzw. Szenen klappt bereits (über /config.xml)

Für die Funkbus Sender wollte ich mich über /control?pcip=<ip> beim Light Manager anmelden um dann die Funkbus Signale per TCP zu erhalten.. Das klappt natürlich auch grundsätzlich, die lösung ist aber nicth optimal, da sich so immer nur ein Gerät verbinden kann. Sobald man AirStudio öffnet, würde die Verbindung verloren gehen bzw. man könnte mit an Home Assistant verbundenem Light Manager Air Stgudio nicht mehr benutzen.

Gibt es eine andere Möglichkeit über die Signale von Funkbus Sendern informiert zu werden?
Daniel167
Beiträge: 337
Registriert: Di 13. Dez 2016, 15:01

Di 2. Jan 2024, 10:32

Hallo,

erstmal ein gutes neues Jahr. Bist du zufällig mit deiner Migration weitergekommen?

Vielen Dank

Gruß Daniel
Digital08
Beiträge: 153
Registriert: Di 1. Mär 2016, 08:35

Di 2. Jan 2024, 14:00

@k.mifka

Das würde mich auch interessieren, denn ich bin garade an der Inbetriebnahme eines HomeAssistant.
Light-Manager Air mit
Brandmelder, IP-Cam, Philips Hue, Sonos,
Temperatursensor, Diverse Shelly
Dingz-Schalter, Zigfred-Schalter
Logitech Harmony 950

Software: 11.1 / Firmware 11.1 / Hardware 1.0
Full Edition / Premium Zugang
bserengeti
Beiträge: 12
Registriert: Mo 20. Feb 2023, 09:35

Sa 6. Jan 2024, 12:03

Ich glaube es gäbe da ein allgemeines Interesse....
2712
Beiträge: 1321
Registriert: Fr 12. Aug 2016, 07:20
Wohnort: Österreich

Mo 8. Jan 2024, 08:10

Gibt es eine andere Möglichkeit über die Signale von Funkbus Sendern informiert zu werden?
Zumindest die Temp/Hygro Sensoren solltest du über die weather.json auslesen können...(IPLMair/weather.json)

Für die restlichen könntest du Szenen kreieren, und jeweils einen Lan Aktor triggern....
LMAir&2 Extender, 3 X RM3mini, Harmony Elite & 3 X Companion, Deconz Zigbee Gateway, piVCCU, Node-Red (für Anbindung Harmony, Homematic, Broadlink, Dreamscreen, Zigbee), ettliche Aktoren, 8 Alexas, Fritzbox 7590, 7490, 7560, 2 X 4040, 1 X 450 :D
bserengeti
Beiträge: 12
Registriert: Mo 20. Feb 2023, 09:35

Sa 13. Jan 2024, 15:49

2712 hat geschrieben:
Mo 8. Jan 2024, 08:10

Für die restlichen könntest du Szenen kreieren, und jeweils einen Lan Aktor triggern....
Das ist eine sehr gute Idee. Die Frage ist natürlich wass dann das geeignete Protokoll dafür wäre? Vielleicht RPC...
mcbooze
Beiträge: 14
Registriert: Di 21. Jul 2020, 19:10

Mo 15. Jan 2024, 03:46

Moin,

das Auslesen der Temperatursensoren vom Light-Manager und als Entität zu speichern lässt sich relativ einfach umsetzen.
Diese Zeilen hierzu in die configuration.yaml ergänzen:

rest:
# Temperatursensoren vom Light-Manager auslesen
- authentication: basic
username: "dein_username"
password: "dein_passwort"
scan_interval: 60
resource: http://xxx.xxx.xxx.xxx/weather.json
sensor:
- name: "Light-Manager Temperatur Kanal 1"
value_template: "{{ value_json['channel1']['temperature']}}"
unit_of_measurement: "°C"
- name: "Light-Manager Luftfeuchtigkeit Kanal 1"
value_template: "{{ value_json['channel1']['humidity']}}"
unit_of_measurement: "%"
- name: "Light-Manager Temperatur Kanal 2"
value_template: "{{ value_json['channel2']['temperature']}}"
unit_of_measurement: "°C"
- name: "Light-Manager Luftfeuchtigkeit Kanal 2"
value_template: "{{ value_json['channel2']['humidity']}}"
unit_of_measurement: "%"
...... usw.

username und password können entfallen - wenn kein Kennwort gesetzt ist, der Intervall von 60 Sekunden kann angepasst werden.

Die Funkaktoren werde ich wohl direkt per http-request an dem Light-Manager triggern. Den http Befehl kann man sich hierzu per Rechtsklick in Airstudio anzeigen lassen. Somit muss nicht für jeden Aktor extra eine Szene angelegt werden.
Mit den Funkbus-Sensoren bin ich noch am überlegen... Da wäre wohl ein lokaler Webhook an Home Assistant das sinnvollste.

Ich denke, eine gute Lösung um das vorhandene Equipment weiter zu verwenden.
Langfristig möchte ich mich aber ohnehin von der 433Mhz Funktechnologie trennen, da mir das zu störanfällig ist.
Ich versuche es erstmal mit ZigBee, ob es eine Alternative ist wird sich zeigen. Ich fange da erstmal vorsichtig mit zwei Steckdosen an. :mrgreen: Ansonsten gibt's noch WLAN, zWave, Matter, etc.... :roll:

Grüße, Thomas.
2712
Beiträge: 1321
Registriert: Fr 12. Aug 2016, 07:20
Wohnort: Österreich

Di 16. Jan 2024, 16:33

Ich versuche es erstmal mit ZigBee
Zigbee läuft bei mir extrem zuverlässig (Phoscon/Deconz) sowohl mit dem Light Manager, als auch über die api in Nodered..Habe sowohl Steckdosen, als auch dimmbare Lampen, und Magnet-Sensoren verschiedener Hersteller im Einsatz.
LMAir&2 Extender, 3 X RM3mini, Harmony Elite & 3 X Companion, Deconz Zigbee Gateway, piVCCU, Node-Red (für Anbindung Harmony, Homematic, Broadlink, Dreamscreen, Zigbee), ettliche Aktoren, 8 Alexas, Fritzbox 7590, 7490, 7560, 2 X 4040, 1 X 450 :D
mcbooze
Beiträge: 14
Registriert: Di 21. Jul 2020, 19:10

Mo 22. Jan 2024, 13:31

Hallo,

ich gebe zu meiner laufenden Umstellung auf Home Assistant mal ein Update:

ich habe den Lightmanager jetzt soweit in Home Assistant vollständig eingebunden. Der Hintergrund hierbei war ja, dass ich mein komplettes Equipment zunächst erst einmal vollständig mit Home Assistant weiter nutzen kann, und die Automatisierungen dann Schritt für Schritt vom Lightmanager auf Home Assistant umzustellen.
Nachdem alle Automatisierungen auf Home Assistant laufen, wollte ich dann nach und nach auf Zigbee umsteigen (Steckdosen, Kontaktsensoren, Bewegungsmelder). Da ja die Automatisierungen dann laufen, bräuchten dann nur noch die Auslöser und Aktoren angepasst werden.

Soweit die Theorie :D Die Praxis ist natürlich wieder eine ganze andere :?

Die Einbindung der Thermosensoren ist problemlos möglich - wie ich oben schon beschrieben hatte.

Die Einbindung der Funkbus-Sensoren ist eine recht zeitraubende Angelegenheit. Da es keine vollständige Geräteintegration gibt, musste ich alles von Hand erledigen. In jeder Funkbus-Szene habe sende ich einen Webhook an den Home Assistant. Entsprechend viele LAN-Befehle müssen hierzu im Lightmanager angelegt werden. In Home Assistant muss dann zu jedem Webhook entsprechend eine Automatisierung angelegt werden, die dann die Aktion abarbeitet. Da ist bei entsprechender Anzahl an Funkbus-Szenen schon eine ganze Menge Arbeit.
Aber: es funktioniert nahezu perfekt. Einzig in einer Situation, wo zwei Funkbus-Szenen gleichzeitig laufen (z.B. zwei Fenster werden gleichzeitig geöffnet) kann es vorkommen, dass eine Aktion verschluckt wird. Damit kann ich aber leben.

Fehlt jetzt nur noch der umgekehrte Weg, um vom Home Assistant die Aktoren vom Lightmanager zu steuern. Ich wollte ja alle meine Funksteckdosen, etc. weiter nutzen. Der Lightmanager gibt per Rechtsklick die Adresse aus, um per Webhook den Aktor zu schalten. Den Befehl hierzu habe ich bei Home Assistant in die configuration.yaml eingetragen:

rest_command:
lm_pflanze_oben_aus:
url: "http://user:passwort@192.*.*.*/control?cmd=typ,it,did,8700001,aid,9,acmd,0,seq,6"
lm_pflanze_oben_an:
url: "http://user:passwort@192.*.*.*/control?cmd=typ,it,did,8700001,aid,9,acmd,1,seq,6"
lm_deko_oben_aus:
url:.......

Da ganze eintragen der Aktoren mit den entsprechende Funkcodes ist schon eine zähe Angelegenheit. Nun muss aber noch für jeden dieser Kommandos von Hand eine Automatisierung erzeugt werden, um den Aktor von dem Dashboard steuern zu können. Damit noch nicht genug: Auch muss noch für jede Automatisierung des Aktors ein Helfer angelegt werden, für den Fall um eine Funksteckdose einschalten zu können: eine Taste.

Aufbau ist wie folgt:
Bedieneroberfläche <-> Entität für einen Taste <-> Automatisierung der Taste <-> rest_command (Webhook) wird ausgeführt <> Lightmanager führt Kommando aus

Nachdem ich nun auch alle Aktoren erfolgreich eingebunden hatte, und ich nun alles, was der Lightmanager empfangen und senden kann, in Home Assistant weiterverarbeiten konnte, stellte sich schnell Ernüchterung ein.

Wird der Lightmanager per Webhook angesprochen um einen Aktor ansteuern, funktioniert das grundsätzlich. Mit einer zunehmenden Anzahl von Kommandos in Reihe, die möglicherweise auch noch in zu kurzen Abständen übertragen werden, mach das Gerät nach kurzer Zeit einfach dicht. Der Lightmanager legt hier eine längere Pause ein, und die Aktoren werden nur noch verzögert oder gar nicht geschaltet. Das Ganze funktioniert in Summe sehr unzuverlässig.

Auch einen Versuch mit einer leeren Konfiguration ohne Extender und Cloudanbindung brachte hier keine Besserung. Der Lightmanager ist auch, wenn dieser dicht macht, per Ping ansprechbar, er legt halt nur eine längere Funkpause ein. Auch die Einstellung Signal sofort senden, wenn Kanal belegt, brachte keine Abhilfe. Erstaunlich hierbei ist: demontiere ich die Antenne für 433mh ist das Problem gelöst. Natürlich keine Option, da die Reichweite zu gering ist. Wird das Signal über eine Funkfernbedienung gesendet, gibt es keine Einschränkungen.

Somit hat sich eine schrittweise Umstellung leider erledigt, weil das steuern der Aktoren unzuverlässig ist.

Die ganze Arbeit hat mir aber geholfen mich in Home Assistant gut einzuarbeiten. Vorteil ist, dass die ganzen Szenen vom Lightmanager mit den Marker-Bedingungen prinzipiell vom Ablauf auch so in Home Assistant umgesetzt werden können. Nur hier ist eine UND-Verknüpfung mit Markern dann durch eine Wenn-Dann Bedingung umzusetzen, und ein Marker ist in dem Fall ein input_boolean-Helfer, der auch nur Ein/Aus darstellt.
Natürlich stehen hier aber nicht nur Marker (input_boolean) in der Form von ein/aus zu Verfügung, sondern auch Zahlenwerte, die ausgewertet werden können.

Fazit: Die Umstellung ist sehr zeitintensiv, es braucht sehr viel Lernbereitschaft und Geduld. Ich denke, für nicht wenige wird Home Assistant keine sinnvolle Option sein. Eine Automatisierung mit dem Lightmanager geht wesentlich einfacher und schneller von der Hand, ohne das viel technisches Wissen erforderlich ist. Was auch wieder die Erkenntnis bestätigt, dass es zum Lightmanager keine gleichwertige Alternative gibt.

Da letztendlich die Vorteile von Home Assistant überwiegen, dass ich Sachen integrieren kann, die sonst nicht möglich sind (z.B. auf Ereignisse vom Google Kalender reagieren, vollständige Integration aller! Hue-Komponenten), Funkstandards wie Zigbee, Matter, Thread, etc. werde ich den Umstieg auch durchziehen - entgegen der Begeisterung meiner Ehefrau. Ich weiß ja nicht ob es wegen Home Assistant schon zu Scheidungen gekommen ist :lol:

Vielleicht konnte ich mit dem Bericht den ein oder anderen bei seiner Entscheidung etwas helfen.

Grüße, Thomas.
k.mifka
Beiträge: 2
Registriert: Mi 11. Jan 2023, 00:57

Mo 15. Apr 2024, 00:53

Es freut mich zu sehen, dass auch andere Interesse an einer Home Assistant Integration haben. :D

Und @mcbooze, beeindruckend, wie viel Aufwand du bereits betrieben hast, um die fehlende Integration zu umgehen! Ich möchte gar nicht erst damit anfangen und stattdessen direkt eine Integration für Home Assistant bauen. Ich habe übrigens gute Nachrichten:

Vor über einem Jahr fragte ich, ob es eine andere Möglichkeit gibt, über die Funkbussender-Infos informiert zu werden – leider ohne Reaktion vom JB Media Team. Gerade habe ich jedoch die aktuellste Version der Firmware angeschaut und festgestellt, dass mittlerweile ein anderer Mechanismus verwendet wird, um über Funkbus-Aktivitäten informiert zu werden. Nun kann jeder http://<lmair_ip>/poll.htm aufrufen und bekommt die aktuellen Codes. Damit kann ich nun meine Schnittstelle für den Light Manager besser umsetzen, da dann weiterhin der Parallelbetrieb von airStudio möglich ist, was vorher nicht der Fall gewesen wäre.

Es wäre zwar cool gewesen, wenn sich jemand von den JB Media Jungs hier zu Wort gemeldet hätte, aber was soll's.

Meine Python SDK zum Steuern und Auslesen des LMAirs ist somit eigentlich fertig. Allerdings muss das Ganze jetzt noch in die Home Assistant Plugin-Umgebung eingebunden werden. Gibt es hier jemanden, der so etwas schon mal gemacht hat? Ansonsten muss ich mich wohl selbst durchwühlen.

Der Code zu meinem LMAir Python SDK ist hier zu finden: https://github.com/kmifka/lmair-sdk-python.git

Ich würde mich sehr über Unterstützung freuen. Also, wenn ihr Python beherrscht und Lust habt, mir bei der Implementierung zu helfen, meldet euch! :)
Antworten