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

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

Vorheriges Thema - Nächstes Thema

Martin

Hallo habe alles so eingegeben wie du es beschrieben hast wenn ich den Link im Browser eingebe gehts

http://192.168.178.27:8083/fhem?cmd=set%20lWohnzimmer2%20on

aber in Hu Bridge nicht ??

Alexa sagt kann hub nicht finden?

kann jemand Bitte Helfen

Simon74

1. (siehe Bild: HA Bridge)
Testen des Devices in der HA Bridge selbst, unter Devices -> Actions, hier kannst du testen ob die HA-Bridge <> FHEM Kommunkation funktioniert.
Falls nicht, siehe erster Beitrag Vorraussetzungen (Achtung: Neue FHEM 5.8 Version).

2. (siehe Bild: Amazon Alexa)
Wenn 1. erfolgreich dann in alexa.amazon.de, Geräte suchen..

Martin

#17
Ja habe ich Alexa hat das Gerät gefunden.
Test in HA Bridge kommt Request Error, Pleae look in your habridge log: error {"type":"6","address":"/lights/1","description":"Error on calling url to change device state","method_name":"/lights/1state"}

geht aber nicht warum?


Gruß
Martin

toem

Hallo Martin,

guck mal hier:
https://www.computerhilfen.de/info/fhem-mit-dem-amazon-echo-per-sprache-steuern.html

Versuch mal:
http://192.168.178.27:8083/fhem?cmd.Wohnzimmer=set%20Wohnzimmer%20on


Gruss
Thomas

Mickey Mouse

falls noch jemand das Problem hat:
ich konnte seit dem letzten FHEM Update keine http Befehle mehr von der ha-bridge absetzen. D.h. absetzen schon, sie waren auch "grün" aber FHEM hat sie ignoriert :(
der Grund liegt wohl in "csrfToken"
ab FHEM 5.8 muss man das wohl explizit auf "none" setzen. Interessanterweise konnte ich das auch nicht über das Web-Interface von FHEM selber ändern, sondern musste das in der hem.cfg per vi einfügen.

ich nutze das WEBtablet Frontend mit Port 8085 für die ha-bridge (ohne Passwort, da nur lokal erreichbar) und dann muss da diese Zeile eingefügt werden:
attr WEBtablet csrfToken none
wenn jemand ein anderes FrontEnd nutzt, dann muss das natürlich entsprechend angepasst werden.

jetzt läuft es auch wieder mit 5.8 ;)

prime1009

Hi,
da es bei mir nach endlosen Versuchen nicht klappen wollte die HA-Bride im Browser zu öffnen, habe ich mal einen anderen Browser als Chrome verwendet und siehe da, es lief ohne Probleme!

Also, nicht verzweifeln, Browser wechseln, falls Ihr Chrome verwendet!
FHEM 5.7 auf RasPi3
Homematic, IT, FS20, Cams (SSCAM), CUL, HueBridge, HarmonyHub, LIGHTIFY, TelegramBot, Homebridge (Siri), DBLog mit MySQL, Text2Speech, ...

Mickey Mouse

meine anfänglichen Probleme mit ha-bridge hatte ich auf die Fritz Box geschoben.
"meistens" wurden Änderungen für eine kurze Zeit (wenige Minuten) gefunden wenn ich die FB einmal neu gestartet habe.

am Ende war es aber etwas völlig anderes!
ich habe einen Netgear JGS524E "smart managed" Switch als "Zentrale" (da hängen in den Räumen noch andere "unmanaged" Switches dran).
nach allem was ich bisher so heraus gefunden habe, müssen beide Einstellungen so aussehen:
Validate IGMPv3 IP header -> disable
Block Unknown MultiCast Address -> disable


stelle ich eins der beiden auf "enable" wird die ha-bridge nicht mehr "sicher" gefunden!

da scheint also das ganze Protokoll noch ziemlich "dreckig" zu sein, kein Wunder wenn es da zu Problemen kommt.

b4rRa

Danke für die Anleitung! Was mich wirklich interessieren würde, ist die Vorgehensweise mit der Absicherung von der HA-Bridge. Ich habe hier auch mehrere Parteien im LAN hängen. Da möchte ich ungerne für jeden erreichbar die HA-Bridge drin hängen haben. Idealerweise noch die cmd Aufrufe an FHEM in Klartext mit Username:Passwort

Anleitungen für HA Bridge gibt es ja wirklich viele.. Mich würde als DAU mal eine interessieren, wie es sich absichern lässt. Läuft die VM auf dem gleichen Pi? Eine Anleitung dazu wäre echt super :)

Simon74

Genau aus diesem Grund läuft die habridge bei mir auf eigener VM.
Nicht auf raspberry sondern auf INTEL Nuc, darauf Proxmox als Wirtsystem, darauf eine VM mit Debian/habridge.

ACHTUNG: Das Script verwirft einfach Packete der eingetragenen Source-IPs, nichts weiter (also auch gut um sich selbst auszusperren :-), also nur für "eigene habridge VM" geeignet !

Ich habe es gerne einfach, darum habe ich das null-route Script hergenommen, das ich früher auf Enigma2 Boxen verwendete,
(da die meisten Images noch kein iptables unterstützten), das Script ist primitiv erfüllt aber bei der habridge meinen Zweck.
Eigentlich sollte das Script eher nullroute heissen, aber auf der Enigmabox hiess er firewall, habe es dabei belassen, kann aber auch einfach abgeändert/angepasst werden.

Mini-Anleitung lautet in etwa so:
1. Kopiere die angehängte Datei [firewall] nach [/etc/init.d/firewall]
2. [chmod +x /etc/init.d/firewall]
3. [systemctl enable firewall]
4. [/etc/init.d/firewall edit] -> (öffnet das File /etc/ipblock.txt)

Hier sind nun die Zeilen einzutragen (hatte ich schnell mit Excel erstellt, um nicht alle Lines händisch schreiben zu müssen):
Am besten von 1-254 durchnummerieren, und die Ausschlüsse (erlaubten IPs) mit "#" am Zeilenanfang auskommentieren)
192.168.0.1/32
192.168.0.2/32
#192.168.0.3/32 -> Mein PC
192.168.0.4/32
#192.168.0.5/32 -> Echo Dot
usw..


Dann speichern mit [STRG]+[X] und ein [/etc/init.d/firewall start]


Ein ganzes Subnet NULL zu routen (zb: 192.168.1.0/24) geht auch, jedoch dann keine Auschlüsse mehr !



b4rRa

Danke für die kurze Anleitung! :)

Die Frage die sich mir stellt ist nur, was bringt das für einen Vorteil gegenüber eine entsprechend ähnlich gefüllten iptables auf dem pi - wo dann quasi fhem+habrdige gleichzeitig läuft?

Simon74

Zitat von: b4rRa am 01 März 2017, 09:09:27
Die Frage die sich mir stellt ist nur, was bringt das für einen Vorteil gegenüber eine entsprechend ähnlich gefüllten iptables auf dem pi - wo dann quasi fhem+habrdige gleichzeitig läuft?

Sicherlich gar keinen  :)
Ich habe das anfangs kurz versucht mit meinem iptables-firewall Script das ich sonst einsetze, leider hat das auf Anhieb bei mir nicht funktioniert.
Werde mich aber wenn Zeit ist nochmals damit beschäftigen, da es sicherlich die bessere Lösung wäre.

b4rRa

okay :) Ich werde mal schauen wie ich es umsetze.. Habe mir gestern noch den neuen Wifi Zero Pi bestellt. Wäre für solche simplen "outsourcing" Sachen sicher auch gut brauchbar. Einfach habridge drauf und komplett abschotten.

Simon74

#27
Aufgrund der aktuellen csfrToken Sicherheits Thematik, habe ich den 1. Beitrag angepasst,
unter Voraussetzungen die Zeile für Version 5.8 rausgenommen
attr WEBhabridge csrfToken none
Dafür das anlegen einer eigenen Webinstanz (mit IP-Zugriffs Beschränkung) beschrieben.
Da auf http sowieso mitgelesen werden kann, verzichte ich dafür auf BASICAUTH  :)

ps: Die Änderung der aktuellen Konfiguration habe ichschnell mit "nano /data/device.db" und dem Einsatz von suchen/ersetzen [ALT]+[R] ("8083" -> "8088") und ("user:pass@" -> "") erledigen können, jedoch muss davor der habridge Daemon beendet und danach neu gestartet werden.

Pythonf

#28
--Edit--
Hab den letzen Beitrag wohl irgendwie überlesen, aber auch wenn die IP-Adressen eingegrenzt sind würde der hier beschriebene Teil zusätzlich für Absicherung sorgen.

Ich hab mich bei diesem Thema wohl nicht weit genug eingelesen. Lass euch vom folgenden nicht verwirren. Der Vollständigkeit halber lasse ich den Text aber stehn.

Ich möchte hier unter anderem auf folgendes Thema referieren: https://forum.fhem.de/index.php/topic,68314.0.html
Das Attribut attr WEB csrfToken none einfach zu deaktivieren ist zwar möglich, lässt sich aber so leicht einbinden, dass ich mir wünschen würde, den folgenden Teil zu ergänze.
Um das csrfToken zu verwenden sind folgende einfache Schritte nötig.


  • attr WEB csrfToken <MeinToken>
Oder im absoluten Beispiel.

  • attr WEB csrfToken ABCDEF

Jetzt muss nurnoch der Befehl angepasst werden:
http://meinFHEM:meinPort/fhem?cmd=set%20MeinGerät%20on&fwcsrf=<MeinToken>
oder im konkreten Fall
http://meinFHEM:meinPort/fhem?cmd=set%20MeinGerät%20on&fwcsrf=ABCDEF

Lest euch den Thread über Sicherheit durch und überlegt euch, was folgende Links mit eurer FHEM-Installation anrichten könnten.
<img src="http://192.168.178.1+N:8083/fhem?cmd=del .*">
<img src="http://192.168.178.1+N:8083/fhem?cmd=save">


Beste Grüße
Fabian

rr725

Zitat von: Mickey Mouse am 16 Februar 2017, 21:29:21
es ist vielleicht anfangs etwas "komisch" auf Klo zu sitzen und zu sagen:"Alexa, dimme Heizung Schlafzimmer auf 17 Prozent" um die Temperatur dort einzustellen, aber daran habe ich mich jetzt schon gewöhnt ;)
ich hatte bis vor kurzem auch das Problem- es funktionierte erst mit "Alexa, stelle Heizung im Wohnzimmer aus 20 Grad" einwandfrei, dann- von einem Tag auf den anderen nicht mehr. "Dieser Befehl sei für dieses Gerät ungültig". Hm...über Nacht hatte ja Amazon ein Update durchgeführt.
Ich habe da einfach mal angerufen und nachgefragt....ist man ja heutzutage gar nicht mehr gewohnt, doch sehr kompetente Mitarbeiter am Telefon zu haben. Die Erklärung, der Befehl lautet nun : "Alexa, stelle Heizung im Wohnzimmer aus 20 Grad Celsius"
Und sieh da. Tatsächlich, es geht so. Man wollte einen Unterschied zwischen uns und den Amis schaffen. Dort war der Befehl Grad=Fahrenheit, Damit gibt es nun eine Unterscheidung. Na gut, wäre ja nicht schlecht es den Anwendern mitzuteilen.....