Einbindung Amazon Echo in HAP

34 views
Skip to first unread message

Joern

unread,
Mar 18, 2017, 8:21:20 AM3/18/17
to hap-users
Hallo,

ich denke nicht das hier noch jemand direkt an HAP entwickelt aber würd mein laufendes System gern um eine Sprachsteuerung (Amazon Echo) erweitern.


Ist es möglich so etwas einzubinden, ähnlich dem Homematic interface?
Oder nutzt ihr mittlerweile eine andere Software als HAP auf dem Server?

P.S.: Tobias war das auch dein Zeil bzgl. MQTT?

Marco Bendowski

unread,
Mar 18, 2017, 9:40:25 AM3/18/17
to hap-...@googlegroups.com
Hi,

schau Dir home-assistant an. Das habe ich hier seit Monaten im Einsatz. Die HAP-GUI verwende ich nur noch sehr sporadisch. Home-Assistant kann via MQTT mit unserem HAP-System quatschen. Alexa nutze ich damit ebenfalls problemlos.
Da Home-Assistant recht schlank ist, ist ein Parallelbetrieb problemlos möglich. 


--
Sie erhalten diese Nachricht, weil Sie in Google Groups E-Mails von der Gruppe "hap-users" abonniert haben.
Wenn Sie sich von dieser Gruppe abmelden und keine E-Mails mehr von dieser Gruppe erhalten möchten, senden Sie eine E-Mail an hap-users+...@googlegroups.com.
Weitere Optionen finden Sie unter https://groups.google.com/d/optout.

Marco Bendowski

unread,
Mar 18, 2017, 9:41:50 AM3/18/17
to hap-...@googlegroups.com
Nachtrag:

Du kannst natürlich auch die HAP-GUI weiter nutzen und Home-Assistant nur als Alexa-Schnittstelle verwenden. 

Am 18.03.2017 um 13:21 schrieb 'Joern' via hap-users <hap-...@googlegroups.com>:

Joern

unread,
Mar 18, 2017, 5:03:46 PM3/18/17
to hap-users
Hallo Ben,

Vielen Dank für den Tip mit Home Assistant. Scheint ja für HAP der Weg in die IoT Welt zu sein :D
Sammel gerade im Wiki alle notwendigen Schritte (so weit ich kam bis jetzt), aber verstehe noch nicht ganz, wie man es final einbindet.

hap-mqtt.pl läuft im Terminal & Home Assistant GUI läuft auch. Switch ist da aber bekomme den Link zu HAP nicht hin.
Man kann ja dann über die configuration.yaml Switches usw. mit platform: mqtt einbinden. 

Ist dann state/command_topic bspw. /hap/105/120/status oder wie baut man den Link zum HAP Input?

Kannst du ein Beispiel posten?

( Muss man alle Aktoren einzeln anlegen oder geht bei Dir über die Datenbank?)

Marco Bendowski

unread,
Mar 19, 2017, 4:48:26 AM3/19/17
to hap-...@googlegroups.com
Guten Morgen,

zunächst: Es gibt 2 HAP-MQTT Gateways. Mit der Perl-Variante hat ich damals angefangen. Aktuell ist aber die NodeJS-Variante (/opt/hap/bin/hap-mqtt-gateway/app.js)

Ein Switch-Beispiel in Home-Assistant sieht dann so aus:

- platform: mqtt
name: KLR_Kompressor
command_topic: "/hap/3/105/set"
state_topic: "/hap/3/105/status"

Im HAP-System ist das ein normales „Device“ mit Adresse 105 and Modul 3. „Notify" geht an den Server, Typ ist hier „Switch“.

Ich hatte seinerzeit ein Script in /opt/hap/bin/helper/hap-toHomeAssistant angelegt. Damit kann man sich eine Home-Assitant Yaml-Datei mit allen HAP-Devices anlegen lassen.

Gruß
Ben

Joern

unread,
Mar 19, 2017, 6:17:55 AM3/19/17
to hap-users
Guten morgen,

ok hatte mich schon gewundert warum es zwei gab. Danke das mit dem state_topic fehlte noch!
Hab es mit der Perl Script jetzt komplett am laufen, funktioniert in beide Richtungen & inkl. Alexa. 
Ein Traum, den ich beim Hausbau mal hatte und Dank Alexa jetzt so einfach :D

Sobald ich jedoch den JS Script nutze, werden jedoch nur HAP-GUI Eingaben ausgeführt! 
Eingaben via HA-GUI werden nicht durchgereicht & durch fehlendes Feedback dann zurückgesetzt.

Eingaben aus der HA_GUI werden in HAP_GUI nicht übernommen:

joern@PI3:/opt/hap/bin/hap-mqtt-gateway $ node app.js 

Connecting to HAP-Messageprocessor:127.0.0.1:7891...

Connecting to MQTT-Server:127.0.0.1:1883...

Connected to HAP-Messageprocessor:127.0.0.1:7891

Received: {"SessionSource": 227}


Connected to MQTT-Server:127.0.0.1:1883

Subscribing: /hap/+/+/set

Subscribing: /hap/+/+/query

Received: Logging activated



Dann kommt bei einfach nichts an.

17-03-19 11:05:04 INFO (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: service_call_id=1979233776-10, service=turn_off, service_data=entity_id=light.kuche, domain=homeassistant>

17-03-19 11:05:04 INFO (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: service_call_id=1979233776-11, service=turn_off, service_data=entity_id=['light.kuche'], domain=light>

17-03-19 11:05:04 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_executed[L]: service_call_id=1979233776-11>

17-03-19 11:05:04 INFO (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: service_call_id=1979233776-12, service=publish, service_data=payload=OFF, retain=False, topic=/hap/101/121, qos=0, domain=mqtt>

17-03-19 11:05:04 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_executed[L]: service_call_id=1979233776-10>

17-03-19 11:05:04 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_executed[L]: service_call_id=1979233776-12>


Eingaben der HAP_GUI gehen raus & werden in HA_GUI übernommen, alles klappt!

Received: [DEBUG] vlan:0, source:101, destination:99, mtype:16, device:121, v0:100, v1:0, v2:0


Publishing:/hap/101/121/status with value:ON

Received: [DEBUG] vlan:0, source:101, destination:230, mtype:1, device:121, v0:100, v1:0, v2:0


Publishing:/hap/101/121/status with value:ON



 17-03-19 11:02:04 INFO (Thread-10) [homeassistant.components.mqtt] Received message on /hap/101/121/status: ON

17-03-19 11:02:04 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: new_state=<state light.kuche=on; friendly_name=Küche @ 2017-03-19T11:02:04.258791+01:00>, entity_id=light.kuche, old_state=<state light.kuche=off; friendly_name=Küche @ 2017-03-19T10:52:45.412841+01:00>>

17-03-19 11:02:04 INFO (Thread-10) [homeassistant.components.mqtt] Received message on /hap/101/121/status: ON

17-03-19 11:02:04 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: new_state=<state group.all_lights=on; friendly_name=all lights, auto=True, hidden=True, order=0, entity_id=('light.esstisch', 'light.tv', 'light.kuche') @ 2017-03-19T11:02:04.266947+01:00>, entity_id=group.all_lights, old_state=<state group.all_lights=off; friendly_name=all lights, auto=True, hidden=True, order=0, entity_id=('light.esstisch', 'light.tv', 'light.kuche') @ 2017-03-19T10:53:48.256109+01:00>>


Config:

  - platform: mqtt

    name: "Küche"

    command_topic: "/hap/101/121"

    state_topic: "/hap/101/121/status"



Joern

unread,
Mar 19, 2017, 6:21:39 AM3/19/17
to hap-users
Sorry, das kann man ja kaum lesen!

Guten morgen,

ok hatte mich schon gewundert warum es zwei gab. Danke das mit dem state_topic fehlte noch!
Hab es mit der Perl Script jetzt komplett am laufen, funktioniert in beide Richtungen & inkl. Alexa. 
Ein Traum, den ich beim Hausbau mal hatte und Dank Alexa jetzt so einfach :D

Sobald ich jedoch den JS Script nutze, werden jedoch nur HAP-GUI Eingaben ausgeführt! 
Eingaben via HA-GUI werden nicht durchgereicht & durch fehlendes Feedback dann zurückgesetzt.

Eingaben aus der HA_GUI werden in HAP_GUI nicht übernommen:

joern@PI3:/opt/hap/bin/hap-mqtt-gateway $ node app.js 
Connecting to HAP-Messageprocessor:127.0.0.1:7891...
Connecting to MQTT-Server:127.0.0.1:1883...
Connected to HAP-Messageprocessor:127.0.0.1:7891
Received: {"SessionSource": 227}

Connected to MQTT-Server:127.0.0.1:1883
Subscribing: /hap/+/+/set
Subscribing: /hap/+/+/query
Received: Logging activated

   ---> Dann kommt bei einfach nichts an.

Marco Bendowski

unread,
Mar 19, 2017, 6:43:52 AM3/19/17
to hap-...@googlegroups.com
Verwende bitte die NodeJS Version des HAP-MQTT-Gateways. Diese sollte ohne Fehler laufen (läuft hier seit einigen Monaten stabil). Die Perl-Version war eher ein Versuchsballon. Kann gut sein, dass hier die MQTT-Syntax etwas anders ist.

Joern

unread,
Mar 19, 2017, 7:50:20 AM3/19/17
to hap-users
Moin

nutze aktuelle Version aus Github (upload vor 1Monat, ist die richtig?).
Leider reagiert der JS script nicht auf Input via MQTT. 
Im JS Script erscheinen nur Aktivitäten seitens HAP & werden korrekt via MQTT versendet.. 

Anfragen via MQTT registriert das JS Script wohl nicht, auch nicht:

-> Bspw.  $ mosquitto_pub -t '/hap/101/121' -m '100' erscheint nicht im Terminal des Script (bei der Perl Version kommt es)
-> Anfragen von HA-GUI erscheinen nicht

Was kann ich hier noch tun, sofern der Script funktioniert? Die MQTT Daten sind ja nicht veränderbar...

Joern

unread,
Mar 19, 2017, 8:24:30 AM3/19/17
to hap-users
Ok gefunden der Syntax der Benennung für command_topic: "/hap/xx/xx/set"  ist anders. 
Danke für die Hilfe es läuft jetzt.
Reply all
Reply to author
Forward
0 new messages