SEPIA-Framework / sepia-docs

Documentation and Wiki for SEPIA. Please post your questions and bug-reports here in the issues section! Thank you :-)
https://sepia-framework.github.io/
237 stars 16 forks source link

SEPIA Home Assistant Integration #56

Closed royrogermcfreely closed 3 years ago

royrogermcfreely commented 4 years ago

Hallo,

wollte mal fragen ob auch eine Integration zu Home Assistant in Planung ist? (https://www.home-assistant.io/)

Oder ob bzw wenn ja wie diese bereits Möglich ist.

LG Roger

sepia-assistant commented 4 years ago

Ich hatte vor 2 Jahren schon mal hallo gesagt im Home-Assistant Forum, mich dann aber entschieden mit den "deutschen" Produkten openHAB und FHEM anzufangen. Seitdem steht HA aber auf der To-Do Liste ^^. Ich bin nicht auf dem aktuellen Stand und habe zur Zeit keine HA TEstversion laufen, aber es würde mich nicht wundern, wenn man die MQTT Integration von SEPIA v2.5.0 schon benutzen könnte für eine Verbindung (siehe Node-RED Sektion in den SEPIA docs).

Weißt du ob MQTT im HA regelmäßig genutzt wird? Wenn Interesse besteht könnte ich mich auch noch mal näher mit der REST API beschäftigen.

royrogermcfreely commented 4 years ago

Hallo,

sorry war die letzten Wochen mit Arbeit eingedeckt und konnte meinem Spielvergnügen nicht nachgehen ;)

MQTT wird meines Wissens sehr gut angenommen in der HA Community.

Muss mich erst mal einlesen bzgl Node-Red/MQTT Integration.

Ich habe in HA ein "inten_script.yaml" file. wenn ich jetzt via MQTT Brocker quasi den Befehl "lich_ein" bekomme, schaut HA im intent_script.yaml file nach dem Befehl "licht_ein" und führt die dazu geschriebenen Actionen aus. Funktioniert das dann mit SEPIA gleich?

Ich hätte auf jedenfall Interesse daran ;)

lg und stay safe

sepia-assistant commented 4 years ago

Hi,

Ich habe in HA ein "inten_script.yaml" file. wenn ich jetzt via MQTT Brocker quasi den Befehl "licht_ein" bekomme, schaut HA im intent_script.yaml file nach dem Befehl "licht_ein" und führt die dazu geschriebenen Actionen aus.

Um über den MQTT Broker den Befehl 'licht_ein' zu bekommen gibt es mehrere Wege. Wenn du dir in SEPIA einen MQTT Gerät einrichten würdest (das geht quasi genau wie das Node-RED Setup) würdest du bei der Eingabe "Licht an" über SEPIA im MQTT Payload ein Objekt bekommen wo grob gesagt sowas steht: "Befehl=smarthome, Gerät=Licht, Action=an". Ich weiß nicht wie HA dann die Verarbeitung der MQTT Befehle macht, aber ich denke man könnte diese Informationen an dein "intent_script.yaml" weiterleiten oder?

Grüße

royrogermcfreely commented 3 years ago

Hallo,

habe das jetzt zum laufen gebracht mit node-red. ich kann meine lichter ein/ausschalten und dimmen. Meine Kaffeemaschine einschalten etc...

Mein Problem ist noch, wie ich Sepia mitteile das ich das licht manuell ausgeschalten habe?

Derzeit muss ich noch jedes gerät manuell anlegen. könnte man mit der api das etwas vereinfachen?

https://developers.home-assistant.io/docs/api/websocket

/ roy

fquirin commented 3 years ago

Cool zu höre, dass die Trigger schon funktionieren :-) Die WebSocket Schnittstelle wäre definitiv eine Möglichkeit, aber wahrscheinlich mit SEPIA Server Code Änderungen verbunden. Wie läuft das jetzt genau von SEPIA über Node-RED bis Home Assistant?

fquirin commented 3 years ago

Ich habe gerade noch mal nachgeguckt, wenn dein Weg folgender ist:

SEPIA -> Node-RED MQTT broker -> Home Assistant -> Licht Schalter

dann sollte SEPIA auch die Änderungen im MQTT broker topic mitbekommen. Sprich was passieren müsste bei manuellem Schalten des Lichtes wäre der umgekehrte Weg:

Licht Schalter -> Home Assistant -> Node-RED MQTT broker

royrogermcfreely commented 3 years ago

also bis jetzt bekomm ich via node redin homeassistant zb: das mqtt topic /sepia/smart-devices/light/gang mit dem state "on"

in node red leite ich dann den befehl zum licht einschalten an home assistant weiter.

wenn ich via homeassistant folgendes als mqtt publish:

topic: /sepia/smart-devices/light/gang payload: '{\"state\":\"on\"}'

ändert sich leider nichts am device in sepia.

wie oder was muss ich via mqtt publishen damit das gerät in sepia den status ändert?

kann ich festlegen das auch text als state variable gesetzt wird? zb: mein staubsaugroboter ist ein device. ich kann sagen "schalte staubsauger auf 3" -> dann ist state:3 um aber state:kueche zuerhalten muss ich erst den satz im teach-modus zuweisen und dort dann bei "set" auf "raw_text" gehen

royrogermcfreely commented 3 years ago

Hallo,

habe nun auch das publish problem gelöst - es war ein formatierungsfehler.

topic: sepia/smart-devices/light/gang payload: '{"state":"on"}'

es funktioniert nun alles wie gewollt bis auf ein paar kleinigkeiten (siehe oben staubsauger)

vl kommt ja doch eine möglichkeit noch HA in Sepia so zu integrieren wie FHEM und Openhab.

lg roy

fquirin commented 3 years ago

HA ist definitiv auf der Liste und auch relativ weit oben :+1: wird aber noch eine Weile dauern.