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

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

Vorheriges Thema - Nächstes Thema

kingmathers

Ah ok, dann werde ich es nochmal probieren nachdem ich den Echo im lokalen Netz habe. Ich dachte nur, da ich vom PC aus ja ganz normale auf alles zugreifen kann über die IP, dass das auch für den Echo Dot möglich wäre.
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

dadoc

Zitat von: rr725 am 12 März 2017, 06:15:59
ohne mir jetzt alles hier durchgelesen zu haben....natürlich funktioniert fs20 dimmen in ha bridge...

[{"item":"http://user:kennwort@xxx.xxx.xxx.xxx8083/fhem?cmd.Fernseh=set%20Haengelampe%20dim%20${intensity.percent}"}]


Alexa, Hängelampe auf 80 %

?! Was will man mehr......
in ha bridge mag es funktionieren, aber nicht in fhem - das Problem hatten wir auch schon einmal mit den Dimmern in der TabletUI.
set Dimmer08 dim 80
ergibt
Unknown argument dim80%, choose one of dim06% dim100% dim12% dim18% dim25% dim31% dim37% dim43% dim50% dim56% dim62% dim68% dim75% dim81% dim87% dim93% dimdown dimup dimupdown off off-for-timer on on-100-for-timer-prev on-for-timer on-old-for-timer on-old-for-timer-prev ramp-off-time ramp-on-time reset sendstate timer toggle dim off-till-overnight off-till on-till on-till-overnight intervals blink

Zitat von: Mickey Mouse am 11 März 2017, 23:24:50
daher habe ich mir jetzt tatsächlich schnell ein quick'n dirty Script geschrieben das die Dim-Befehle der ha-bridge "in das Raster einsortiert", das funktioniert einwandfrei!
Magst Du das mal hier einstellen? Habe auch noch die Hütte voll von FS20-Dimmern
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

dadoc

Falls es mal jemand brauchen kann: Hab jetzt mein altes Mapping-Skript für ftui einfach umgebaut. So klappt das bei mir mit den FS20-Dimmern:
1. FS20-Dimmer als Devices anlegen; Namensschema Dimmer_##, also Dimmer_01 bis Dimmer_99
2. Für jeden Dimmer einen Dummy anlegen; Namensschema D_##, also D_00 bis D_99. Ich gehe hier davon aus, dass keine anderen Devices angelegt sind, die mit D_ beginnen. Ansonsten ist das natürlich entsprechend zu ändern.
3. Notify anlegen (es reicht eines für alle Dimmer):

D_.*:.*  {
    my $Dimmer_Nr = substr($NAME,2,2);
    my $Dimmer_real = "Dimmer_".$Dimmer_Nr;
    my $VC_value = $EVENT;
    if ($VC_value == 0){ fhem("set $Dimmer_real off")}
    elsif ($VC_value > 0 && $VC_value <= 6){ fhem("set $Dimmer_real dim6%")}
    elsif ($VC_value > 6 && $VC_value <= 12){ fhem("set $Dimmer_real dim12%")}
    elsif ($VC_value > 12 && $VC_value <= 18){ fhem("set $Dimmer_real dim18%")}
    elsif ($VC_value > 18 && $VC_value <= 25){ fhem("set $Dimmer_real dim25%")}
    elsif ($VC_value > 25 && $VC_value <= 31){ fhem("set $Dimmer_real dim31%")}
    elsif ($VC_value > 31 && $VC_value <= 37){ fhem("set $Dimmer_real dim37%")}
    elsif ($VC_value > 37 && $VC_value <= 43){ fhem("set $Dimmer_real dim43%")}
    elsif ($VC_value > 43 && $VC_value <= 50){ fhem("set $Dimmer_real dim50%")}
    elsif ($VC_value > 50 && $VC_value <= 56){ fhem("set $Dimmer_real dim56%")}
    elsif ($VC_value > 56 && $VC_value <= 62){ fhem("set $Dimmer_real dim62%")}
    elsif ($VC_value > 62 && $VC_value <= 68){ fhem("set $Dimmer_real dim68%")}
    elsif ($VC_value > 68 && $VC_value <= 75){ fhem("set $Dimmer_real dim75%")}
    elsif ($VC_value > 75 && $VC_value <= 81){ fhem("set $Dimmer_real dim81%")}
    elsif ($VC_value > 81 && $VC_value <= 87){ fhem("set $Dimmer_real dim87%")}
    elsif ($VC_value > 87 && $VC_value <= 93){ fhem("set $Dimmer_real dim93%")}
    elsif ($VC_value > 93 && $VC_value <= 100){ fhem("set $Dimmer_real dim100%")}
    }

4. Für Dimmer_04 (als Beispiel) in der HA Bridge die Einträge für On- und Off items ganz normal anlegen, also etwa
http://192.168.xxx.xxx:8083/fhem?cmd=set%20Dimmer_04%20on

5. Den Eintrag unter Dim items wie folgt:
http://192.168.xxx.xxx:8083/fhem?cmd=set%20D_04%20${intensity.percent}
Das geht sicher eleganter - Verbesserungsvorschläge werden gern entgegen genommen ;)
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

dadoc

#93
Zitat von: Simon74 am 18 Februar 2017, 10:14:05
Mein Homematic Thermostat stelle ich mit: Alexa, stelle Büro Thermostat auf 21 Grad

Dim Items Eintrag:
http://user:pass@fhem.domain.net:8083/fhem?cmd=set%20bo.tf1_Climate%20desired-temp%20${intensity.percent}
Wie fragst Du die Ist-Temperatur ab?
edit: Ich meine: Wie legt man so etwas in der HA-Bridge an? Der Befehl als solcher, der die Ist-Temperatur zurückgibt, ist ja klar. Nur ist das dann ein on, off... Befehl, damit der Alexa-Befehl "Wie hoch ist die Temperatur hier?" korrekt auf den Thermostaten zugreifen kann?
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

ErzGabriel

Hallo zusammen.
Seit dem Update von Fhem auf 5.8 und die Änderung der nötigen Einstellung für den Zugang von aussen, kann Alexa nichts mehr schalten.
Die Bridge ist eingerichtet aber kann nichts mehr schalten.
Beim suchen des Fehlers, habe ich dann festgestellt, das es schon an der Bridge scheitert, sie kann nichts mehr in Fhem schalten. Nur lieder kenn ich mich damit nicht wirklich aus und komme mit der Fehlermeldung in der Bridge nicht wirklich weiter.
Request Error, Pleae look in your habridge log: error {"type":"6","address":"/lights/11","description":"Error on calling url to change device state","method_name":"/lights/11state"}
Kann mir jemand von Euch weiterhelfen, währe da echt dankbar für.

Marcy

Zitat von: ErzGabriel am 20 August 2017, 08:58:08
Seit dem Update von Fhem auf 5.8 und die Änderung der nötigen Einstellung für den Zugang von aussen, kann Alexa nichts mehr schalten.

Du hast diese Tokengeschichte hier aus dem Thread nachvollzogen, also entweder in der fhem.cfg hinterlegt bzw. jeweils in den Links? Das ist eigentlich der einzige Knackpunkt, wenn sich fhem nach 5.8 nicht mehr ansprechen läßt. Mehr wüßte ich dann leider auch nicht.

Marcy

Ich habe wahrscheinlich eine superdumme Frage, finde aber in den Threads keinen Hinweis. Mein FHEM ist per SSL abgesichert, natürlich mit eigen erstelltem Zertifikat. Wenn ich nun - unabhängig erst einmal von der HA-Bridge - die Schalt-URL im Browser eingebe, kommt natürlich jedesmal die Zertifikatswarnung, die ich bestätigen muss, bevor es weitergeht. Das geht natürlich bei einem automatisierten Aufruf nicht.

Auf dem Mac im Terminal gibts dafür den Schalter -k.

Ein "curl https://myuser:mypasswort@192.168.1.180:8083/fhem?cmd.Esszimmertisch=set%20Esszimmertisch%20off" würde nicht funktionieren, es wäre also kein Schalten möglich.
Ein "curl https://myuser:mypasswort@192.168.1.180:8083/fhem?cmd.Esszimmertisch=set%20Esszimmertisch%20off -k" hingegen umgeht diese Zertifikatsprüfung und das Schalten funktioniert hervorragend.

Nun meine Frage - wie kann ich in der HA Bridge damit umgehen? Denn der Befehl, der über das Terminal und Browser hervorragend schaltet, funktioniert in der HA Bridge so nicht. Gerät wird aber zumindest in Alexa App gefunden.

dtavb

Hoi Marcy,
wenn es von habrdige in den letzten Tagen nicht ein Update für TLS gab, dann kann habridge kein https.
Sprich Du müsstest ein eigene fhemweb Instanz anlegen ohne TLS, nur http.

Deswegen kannst Du den Link vom Browser aus aufrufen und von habridge nicht.
Ist etwas unglücklich mit TLS und habridge.
Vermutlich gehen die Kollegen davon aus, dass es andere Methoden gibt mit denen man eine Absicherung vornimmt.
Habe TLS zumindest noch nirgends auf einer Agenda gelesen.

Wie Du jetzt den http-Zugriff machst, kommt ein wenig darauf an was Du hast.
TLS kann man global in fhem konfigurieren, dann gilt es für alle Instanzen meine ich oder eben je Instanz konfigurieren.
Ansonsten kann man auch via haproxy arbeiten, einen dafür aber aufzubauen ist mehr Lust am basteln als sinnvoll.

Im einfachen Fall schaue in der fhem.cfg "WEB" nach und kopiere Dir die Konfig daraus. Ändere den Port bei Deiner neuen Instanz und füge die Zeilen einzeln in die fhem-Kommandoleiste oben ein. Schalte TLS global ab, konfiguriere es dann bei den einzelnen Instanzen individuell dazu.
Den Port dann in habrige oder im Browser-Test dann entsprechend auf den obigen ändern.

Ich selbst habe einen haproxy schon wegen geofancy gehabt und greife jetzt via haproxy vom Inet, Lan auf fhem zu. Da war es ein leichtes eine neue HA-Instanz zu erstellen, welche vorn für Clients https und hinten im backend http zu fhem umsetzt. Den fhem-server selbst habe ich so abgeriegelt (fhem und linux) dass er nur noch mit dem haproxy-server arbeitet.

Habe gerade die ganzen Defines etc. nicht zur Hand, habe meine Konfig komplett von https befreit - sorry. Musst etwas googlen welche Attribute Du benötigst, Stichwort sslVersion.

Grüsse
fhem:pi3&kvm, z-wave, it-funk, milight, zigbee, wifi, bt & presence, geo-tracking, alexa, esp.
Monitoring: ELK(syslog), grafana (grafik), netdata (ermittlung)
Security: haproxy (access), ossec (überall), snort (access), opnsense (fw)
Geplant: KVM-Cluster

Wondermusic

Hallo zusammen,

bevor ich jetzt wild weiter probiere, warum die Geräte in Amazon Echo nicht gefunden werden...
Mit der Android App "Reverb" geht das ganze nicht, oder? Man braucht zwingend einen Amazon Echo/Dot im Heimnetz?

Gruß,
Richy
RPi 3B+ FHEM-Server mit HM-MOD-RPI-PCB
RPi2 mit HM-MOD-RPI-PCB
HM-CFG-LAN
RPi 4 mit ioBroker
>100 HM Sensoren & Aktoren, div. ESP8266 via mqtt, ems-esp

Marcy

Danke Dir dtavb!

Hab mir schon sowas gedacht, dass die HABRIDGE das nicht kann. Habs jetzt genauso gemacht wie von Dir vorgeschlagen und mir ne eigene Instanz angelegt. Die anderen Ports weiterhin mit https. Der neue Port ist allerdings als 8089 definiert, weil 8088 schon für geofency definiert ist und auch für portforwarding in der Firewall frei ist. Dafür dann aber nur die HABRIDGE Ip-Adresse und die lokale als zugelassene IP für den 8089er Port definiert in FHEM. Läuft soweit alles ganz fluffig. Nicht wirklich sicher, aber die HABRIDGE selbst hab ich dann nur noch per ssh und fettem Passwort zugänglich gemacht, Port 8089 ist nicht ins inet offen etc. Hoffe, das reicht fürs Erste.

Auf alle Fälle ne ziemlich geile Nummer, über den Echo jetzt alle Geräte ansprechen und über dummy-Geräte in FHEM und entsprechenden notifies auch komplette Abläufe aktivieren zu können.

Nochmal herzlichen Dank und viel Grüße!
Marcel


Zitat von: dtavb am 25 August 2017, 10:35:39
Hoi Marcy,
wenn es von habrdige in den letzten Tagen nicht ein Update für TLS gab, dann kann habridge kein https.
Sprich Du müsstest ein eigene fhemweb Instanz anlegen ohne TLS, nur http.

Deswegen kannst Du den Link vom Browser aus aufrufen und von habridge nicht.
Ist etwas unglücklich mit TLS und habridge.
Vermutlich gehen die Kollegen davon aus, dass es andere Methoden gibt mit denen man eine Absicherung vornimmt.
Habe TLS zumindest noch nirgends auf einer Agenda gelesen.

Wie Du jetzt den http-Zugriff machst, kommt ein wenig darauf an was Du hast.
TLS kann man global in fhem konfigurieren, dann gilt es für alle Instanzen meine ich oder eben je Instanz konfigurieren.
Ansonsten kann man auch via haproxy arbeiten, einen dafür aber aufzubauen ist mehr Lust am basteln als sinnvoll.

Im einfachen Fall schaue in der fhem.cfg "WEB" nach und kopiere Dir die Konfig daraus. Ändere den Port bei Deiner neuen Instanz und füge die Zeilen einzeln in die fhem-Kommandoleiste oben ein. Schalte TLS global ab, konfiguriere es dann bei den einzelnen Instanzen individuell dazu.
Den Port dann in habrige oder im Browser-Test dann entsprechend auf den obigen ändern.

Ich selbst habe einen haproxy schon wegen geofancy gehabt und greife jetzt via haproxy vom Inet, Lan auf fhem zu. Da war es ein leichtes eine neue HA-Instanz zu erstellen, welche vorn für Clients https und hinten im backend http zu fhem umsetzt. Den fhem-server selbst habe ich so abgeriegelt (fhem und linux) dass er nur noch mit dem haproxy-server arbeitet.

Habe gerade die ganzen Defines etc. nicht zur Hand, habe meine Konfig komplett von https befreit - sorry. Musst etwas googlen welche Attribute Du benötigst, Stichwort sslVersion.

Grüsse

Simon74

Zitat von: Marcy am 25 August 2017, 08:27:38
Ich habe wahrscheinlich eine superdumme Frage, finde aber in den Threads keinen Hinweis. Mein FHEM ist per SSL abgesichert, natürlich mit eigen erstelltem Zertifikat. Wenn ich nun - unabhängig erst einmal von der HA-Bridge - die Schalt-URL im Browser eingebe, kommt natürlich jedesmal die Zertifikatswarnung, die ich bestätigen muss, bevor es weitergeht. Das geht natürlich bei einem automatisierten Aufruf nicht.
Hallo Marcy
Kein Hinweis ist richtig, habe den 1. Beitrag angepasst.
Abschnitt: FHEM-Server: Eigene FHEMWEB Instanz für die habridge

peter0255

Hallo Zusammen,

ich habe auch zeit ein paar Tagen Alexa mit HA Bridge im Einsatz. Läuft eigentlich sehr gut bis auf die Rolladensteuerrung. Habe von FS20 die RSU Teile im Einsatz. Ein "Alexa fahr den Rollo runter" und ein fahren auf eine bestimmte Stelle geht, aber "Alexa fahr den Rollo hoch oder auf" erfolgt auch ein runterfahren. Ein "Alexa schalte den Rollo ein" fährt er hoch. In der HA Bridge selbst, sind die Funktionen über die Test Buttons korrekt. Im Fhem log ist mir aufgefallen, daß über die Sprach Befehle rauf und runter ein "off-for-timer ..." ankommt, was ein runterfahren auslöst.

Hat jemand einen Tip für mich ??

Viele Grüße Peter

Simon74

Rauf, runter Sprachbefehle werden soweit ich weiss nicht erkannt, unterstützte Alexa Smarthome Befehle sind zu finden in der Alexahilfe unter:
https://alexa.amazon.de/spa/index.html?#help/node/201749260

peter0255

runter geht einwandfrei, nur hoch reagiert nur auf ein. Laut Jörg in seinem Blog meintechblog soll es aber in beide Richtungen gehen

Wondermusic

Hallöchen...

Ich frag dann nochmal in der Hoffnung auf eine Antwort.  ;D
Gruß,
Richy

Zitat von: Wondermusic am 25 August 2017, 12:37:25
Hallo zusammen,

bevor ich jetzt wild weiter probiere, warum die Geräte in Amazon Echo nicht gefunden werden...
Mit der Android App "Reverb" geht das ganze nicht, oder? Man braucht zwingend einen Amazon Echo/Dot im Heimnetz?

Gruß,
Richy
RPi 3B+ FHEM-Server mit HM-MOD-RPI-PCB
RPi2 mit HM-MOD-RPI-PCB
HM-CFG-LAN
RPi 4 mit ioBroker
>100 HM Sensoren & Aktoren, div. ESP8266 via mqtt, ems-esp