Mini Howto für ha-bridge (Alexa FHEM)

Begonnen von Simon74, 12 Februar 2017, 01:24:44

Vorheriges Thema - Nächstes Thema

derchrome

In der Beschreibung von der HA Brigde habe ich gelesen das jetzt auch eine Farbänderung möglich ist. Hat das schon jemand hinbekommen?

m0urs

#226
Ich habe hier ha-bridge eingerichtet und es funktioniert soweit auch alles sehr gut. Ich habe allerdings eine FHEM-Structure für alle meine Lichter, mit der ich alle Lichter an- und ausschalten kann. Auch die bekomme ich unter Alexa einwandfrei zum Laufen, nur sagt Alexa am Ende immer "Das Gerät reagiert nicht" obwohl alle Lichter korrekt ein- und ausgeschaltet wurden. Ich nehme an, es läuft auf einen Timeout, weil das Ausschalten schon so einige Sekunden lang dauert und der HTTP-Request dann zu lange dauert, bis er fertig ist? Hat noch jemand ein ähnliches Problem und ggf. eine Lösung?

Update:

Ich definiere jetzt ein AT, dass eine Sekunde später den eigentlichen Befehl ausführt. Damit bekommt Alex rechtzeitig die fertigmeldung und alles ist ok. Aber vielleicht gibt es ja eine sauberere Lösung?

http://fhem.acme.com:8083/fhem?cmd=define%20at_alexa_alle_lichter%20at%20%2b00:00:01%20set%20xx.ST.lichter_alle%20on
http://fhem.acme.com:8083/fhem?cmd=define%20at_alexa_alle_lichter%20at%20%2b00:00:01%20set%20xx.ST.lichter_alle%20off

geforce28

Hallo Leute,

ich weiß nicht, ob ich hier richtig, bin aber ich werde noch bekloppt, weil ich den Fehler nicht finden kann...
Habe die HA-Bridge mit einem Bridge Device "FHEM Fernsehen Licht Plex".
Diese Bridge Device habe ich an meiner Logitech Harmony Elite auch gefunden und kann es an und ausschalten. - Soweit so gut.

Wenn eingeschaltet wird, soll folgender Http-Call augeführt werden:
http://admin:passwort@10.2.30.10:8083/fhem?cmd=%20set%20HAB.WZ.Fernsehen.Licht.Plex%20on

"HAB.WZ.Fernsehen.Licht.Plex" ist ein Dummy in Fhem auf dem ein DOIF getriggert ist:
([HAB.WZ.Fernsehen.Licht.Plex] eq "on") (set WZ.KinoLicht on)

"WZ.KinoLicht" ist auch wieder ein Dummy auf den auch wieder ein DOIF getriggert ist:
([WZ.KinoLicht] eq "on" and ([?HUEDevice9:rgb] ne "140901" or [?HUEDevice10:rgb] ne "140901" or [?HUEDevice12:rgb] ne "5a2806" or [?HUEDevice8:rgb] ne "341703" or [?HUEDevice9:bri] ne "13" or [?HUEDevice10:bri] ne "13" or [?HUEDevice12:bri] ne "59" or [?HUEDevice8:bri] ne "34" or [?HUEDevice9:onoff] eq "0" or [?HUEDevice10:onoff] eq "0" or [?HUEDevice12:onoff] eq "0" or [?HUEDevice4:onoff] eq "1" or [?HUEDevice7:onoff] eq "1" or [?HUEDevice6:onoff] eq "1" or [?HUEDevice5:onoff] eq "1" or [?HUEDevice8:onoff] eq "0")) (set HUEDevice9 "on : rgb 140901 : bri 13 : transitiontime 5", set HUEDevice10 "on : rgb 140901 : bri 13 : transitiontime 5", set HUEDevice12 "on : rgb 5a2806 : bri 59 : transitiontime 5", set HUEDevice4 off, set HUEDevice7 off, set HUEDevice6 off, set HUEDevice5 off, set HUEDevice8 "on : rgb 341703 : bri 34 : transitiontime 5")


Wenn ich im Webinterface der HAbridge auf "Test On" gehe, funktioniert auch alles reibungslos.

Wenn ich aber das emulierte Hue-Device auf an mit der Harmony stelle, werden die beiden Dummys "HAB.WZ.Fernsehen.Licht.Plex" und "WZ.KinoLicht" auch auf on gesetzt, aber die Befehle (set HUEDevice9 "on : rgb 140901 : bri 13 : transitiontime 5", set HUEDevice10 "on : rgb 140901 : bri 13 : transitiontime 5", set HUEDevice12 "on : rgb 5a2806 : bri 59 : transitiontime 5", set HUEDevice4 off, set HUEDevice7 off, set HUEDevice6 off, set HUEDevice5 off, set HUEDevice8 "on : rgb 341703 : bri 34 : transitiontime 5") werden nicht ausgeführt !!

Ich bin echt am verzweifeln... Das kann doch nicht sein.

Auch wenn ich die URL, die ich in der HA-Bridge für das ON Event hinterlegt habe auf einem X-Belibigen PC eingebe, klappt alles wie es soll, also was zum Henker ist anders wenn die Harmony-FB benutzt wird... ??

Ich hoffe wirklich mir kann hier jemand helfen und noch mein Wochenende retten... :(

hsepm

#228
Hallo zusammen,

leider konnte ich nicht alle Beiträge lesen...also falls schon bekannt, bitte ignorieren.

Hier ein Tipp für das hinzufügen von neuen Geräten zu ha-bridge:

Alexa scheint die neuen Geräte nur zu erkennen, wenn im Webinterface der ha-bridge ein reinitialize ausgeführt wird. Ansonsten sucht sich Alexa (zumindest bei mir) einen Wolf, ohne etwas (Neues) zu finden.

Button Bridge Control -> Bridge Reinitialize

Ich hatte 11 Alexa bekannte "Geräte" in meiner ha-bridge und habe noch 2 mehr hinzu gefügt.

Viele Grüße,
Holger

FHEMAN

Kann ich meiner myUtils Funktion auch den Namen des Echo Dots mitgeben?
Was ich will: "Schalter Lautsprecher an" soll im Wohnzimmer (Echo 1) andere Lautsprecher einschalten als im Bad (Echo 2).
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

kn0lle

Hallo Leute

Bin seit einiger Zeit schon Mitleser hier im Forum und konnte dadurch viel lernen bzw. einrichten.
Vielen Dank dafür.
Doch diesmal komme ich einfach nicht weiter.
Die Ha Bridge läuft und hat auch als Test ein Gerät angelegt. In meinem Fall eine ESPEasysteckdose. Diese kann ich auch aus dem Webinterface der Ha Bridge ein und aus schalten.
Doch Alexa findet einfach keine Geräte. Bin am verzweifeln.
Habe den Port 80 meiner Synology frei gemacht da sonst dort der Webserver antwortet.
Sollte man bei den Einstellungen noch etwas beachten?
Kann ich irgendwie testen ob da eine Kommunikation statt findet?

Vieleicht hat noch jemand eine Idee.

hsepm

Zitat von: kn0lle am 16 Februar 2018, 13:05:03
Hallo Leute

Bin seit einiger Zeit schon Mitleser hier im Forum und konnte dadurch viel lernen bzw. einrichten.
Vielen Dank dafür.
Doch diesmal komme ich einfach nicht weiter.
Die Ha Bridge läuft und hat auch als Test ein Gerät angelegt. In meinem Fall eine ESPEasysteckdose. Diese kann ich auch aus dem Webinterface der Ha Bridge ein und aus schalten.
Doch Alexa findet einfach keine Geräte. Bin am verzweifeln.
Habe den Port 80 meiner Synology frei gemacht da sonst dort der Webserver antwortet.
Sollte man bei den Einstellungen noch etwas beachten?
Kann ich irgendwie testen ob da eine Kommunikation statt findet?

Vieleicht hat noch jemand eine Idee.

Port 80 sollte nicht notwendig sein. Bei mir läuft die ha-bridge auf http Port 8080 und UPnP Response-Port 50000 (scheint mir wichtiger, ohne jetzt das Huebridge-Protokoll zu kennen).

Bridge Control -> Bridge Reinitialize gemacht?

kn0lle

Hallo

danke für die Antwort.
Bridge Reinitialize habe ich gemacht. Alles mal neu gestartet.
Wenn ich auf der Bridge Control Seite oben rechts auf Test klicke bekomme ich.

[{"id":"3","uniqueid":"00:17:88:5E:D3:03-03","name":"Stern","mapType":"cmdDevice","deviceType":"custom","offUrl":"[{\"item\":\"http://192.168.2.115:8088/fhem?cmd.ESPEasy_test_Relay1\u003dset%20ESPEasy_test_Relay1%20off\u0026fwcsrf\u003dcsrf_342829436329852\",\"type\":\"httpDevice\",\"contentType\":\"text/html\",\"httpVerb\":\"GET\"}]","onUrl":"[{\"item\":\"http://192.168.2.115:8088/fhem?cmd.ESPEasy_test_Relay1\u003dset%20ESPEasy_test_Relay1%20on\u0026fwcsrf\u003dcsrf_342829436329852\",\"type\":\"httpDevice\",\"contentType\":\"text/html\",\"httpVerb\":\"GET\"}]","inactive":false,"noState":false,"offState":false}]


Anbei noch ein Bild von den Einstellungen.

Danke im vorraus


kn0lle

Hallo

habe jetzt den Fehler bei mir gefunden.
Die "UPNP IP Adress" war falsch. Hier habe ich jetzt meine Synology Adresse eingetragen.
Jetzt muss ich es nur noch automatisch starten können.
Auf der Synology gibt es viele Pakete nicht unteranderem auch systemd.
Aber kommt Zeit kommt rat.

Erstmal vielen Dank für die Hilfe

sinus61

Zitat von: FHEMAN am 13 Februar 2018, 14:48:57
Was ich will: "Schalter Lautsprecher an" soll im Wohnzimmer (Echo 1) andere Lautsprecher einschalten als im Bad (Echo 2).

Geht wohl immer noch nicht. Prinzipiell sollte das über die Filter in der ha bridge zu lösen sein, aber anscheinend sendet immer mal ein andere Echo das Kommando nach Amazon, ganz egal in welchen man hinein spricht.

LordVoodoo

Hallo zusammen,

ich habe die HA-Bridge in Version 5.1.0 auf einem Pi Zero W laufen, Port 8080, und hatte zunächst Probleme mit einem Amazon Echo 2nd Generation die HA-Bridge-Geräte zu finden. (Ein Logitech Harmony Hub hat sie entdeckt.)

Mit diesen drei Befehlen hat es funktioniert:

iptables -A INPUT -i wlan0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i wlan0 -p tcp --dport 8080 -j ACCEPT
iptables -A PREROUTING -t nat -i wlan0 -p tcp --dport 80 -j REDIRECT --to-port 8080


Hier angewendet auf die WLAN-Schnittstelle.

magix99

Zitat von: LordVoodoo am 25 Februar 2018, 19:01:18
Hallo zusammen,

ich habe die HA-Bridge in Version 5.1.0 auf einem Pi Zero W laufen, Port 8080, und hatte zunächst Probleme mit einem Amazon Echo 2nd Generation die HA-Bridge-Geräte zu finden. (Ein Logitech Harmony Hub hat sie entdeckt.)

Mit diesen drei Befehlen hat es funktioniert:

iptables -A INPUT -i wlan0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i wlan0 -p tcp --dport 8080 -j ACCEPT
iptables -A PREROUTING -t nat -i wlan0 -p tcp --dport 80 -j REDIRECT --to-port 8080


Hier angewendet auf die WLAN-Schnittstelle.

Das funktioniert bei mir auch, allerdings nur bis zum Reboot, wie hast du das gelöst?

PS: Habe auch die Version 5.2.0 laufen, dort sollte das mit Port 8080 eigentlich weg sein, bei mir leider nicht.
Kann auf Port 80 nicht ausweichen, weil dort Pihole läuft.

LordVoodoo

IP-Tables dauerhaft anlegen kann man mit:

1. Installation von iptables-persistent:
sudo apt-get install iptables-persistent


Hat man die Änderungen bereits vor der Installation vorgenommen, kann man die aktuellen Einträge automatisch übernehmen, ansonsten muss man zu Fuß weitermachen:

2. Eintragen der Routen:
sudo iptables -A INPUT -i wlan0 -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -i wlan0 -p tcp --dport 8080 -j ACCEPT
sudo iptables -A PREROUTING -t nat -i wlan0 -p tcp --dport 80 -j REDIRECT --to-port 8080


3. Übernehmen der Werte im Root-Modus (sudo genügt nicht):
sudo su -
sudo iptables-save > /etc/iptables/rules.v4
exit


4. Neustart und Prüfung der IPTables:
sudo reboot now
sudo iptables -L


Das Ergebnis sollte in etwa so aussehen:

pi@HABridge:~ $ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http-alt

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination


Quellen für diese Anleitung:

Ich hoffe, das hilft weiter.

magix99

Hi,

danke für die kleine Anleitung, für mich erst einmal zu spät ;)

Habe es jetzt seit dem Wochenende auf dem Port 80 laufen und habe den Pihole auf einen andern Port umgezogen.

Danke trotzdem, hilft bestimmt anderen die nicht auf den 80er gehen wollen/können.

FunkOdyssey

Gerade darüber gestolpert:

Offizieller FHEM-Support in HA-Bridge
https://github.com/bwssytems/ha-bridge/releases/tag/v5.2.0

Selbst noch nicht getestet.