http://wiki.fhem.de/w/api.php?action=feedcontributions&user=Pkappelt&feedformat=atomFHEMWiki - Benutzerbeiträge [de]2024-03-29T11:04:45ZBenutzerbeiträgeMediaWiki 1.39.3http://wiki.fhem.de/w/index.php?title=GBridge_Einbindung&diff=30238GBridge Einbindung2019-04-23T21:49:35Z<p>Pkappelt: Initiale Revision mit grundlegendem Leitfaden</p>
<hr />
<div>= Nutzung von gBridge.io in FHEM =<br />
[https://about.gbridge.io gBridge.io] ist ein Cloud-Dienst zur Integration von Smarthome-Sprachsteuerungen in beliebige Anwendungen. Dazu steht ein öffentlicher MQTT Server zur Verfügung, bei dem die Daten von Sprachkommandos auf beliebigen MQTT-Topics verfügbar sind.<br><br />
Momentan unterstützt gBridge Google Home, ein geschlossener Beta-Test für Amazons Alexa wird in den nächsten Wochen starten.<br><br />
Da der Dienst als MQTT-Broker arbeitet ist der Einrichtungsaufwand mit dem von anderen MQTT-Geräten vergleichbar.<br />
<br />
== Kontoeinrichtung und -integration ==<br />
[[Datei:GBridge in Google Home wählen.png|mini|rechts|gBridge auswählen]]<br />
Zu Beginn muss ein neues Konto auf gBridge.io erstellt werden - dazu einfach die Seite besuchen und die übliche Prozedur befolgen.<br><br />
Nach der ersten Anmeldung sollte der Nutzername für den MQTT-Server notiert werden, dies ist unter "Hi Nutzername" -> "My Account" gelistet. Auch ist es ratsam, in diesem Tab ein vom Nutzerkonto verschiedenes MQTT-Passwort zu vergeben.<br />
<br />
<br />
Zum Test kann nun im Reiter "Devices" ein erstes virtuelles Gerät angelegt werden. Hier gibt es zwei relevante Optionen: den Device Type (Gerätetyp) und die Traits (Gerätefunktionen). Theoretisch kann jeder Gerätetyp mit jeder beliebigen Funktion kombiniert werden, wenngleich nicht jede Kombination sinnvoll ist (z.B. Typ "Spülmaschine" mit Dimmfunktion). <br />
* Der Gerätetyp beeinflusst die Darstellung in der Google-Home-App und aktiviert gerätespezifisches Vokabular für Sprachkommandos.<br />
* Jedem Gerät wird eine oder mehrere Gerätefunktionen zugeordnet, wie beispielsweise "Ein- und Ausschalten", "Dimmen", etc. Diese definieren, welche Kommandos überhaupt akzeptiert werden.<br />
<br />
<br />
Nun kann gBridge in der Google-Home-App aktiviert werden. Dazu "Zum Zuhause hinzufügen"/ "Gerät einrichten" auswählen, nachfolgend dann "Funktioniert mit Google"/ "Du hast bereits Geräte eingerichtet?". Aus der Liste von Dienstanbietern kann "Kappelt gBridge" gewählt werden. Nach der Eingabe der Anmeldedaten erfolgt die Verknüpfung der Konten.<br />
<br />
== Vorbereitung der MQTT-Verbindung ==<br />
Zur Kommunikation mit dem MQTT-Broker von gBridge sollte aus Sicherheitsgründen zwingend eine verschlüsselte Verbindung genutzt werden. Im Moment unterstützen die MQTT-Module von FHEM jedoch leider keine verschlüsselte TLS-Verbindung zu MQTT-Servern (siehe [https://forum.fhem.de/index.php?topic=88561.0 Forum], weswegen ein Workaround mittels lokaler Brücke notwendig ist. Sollte inzwischen TLS-Unterstützung vorhanden sein, kann der folgende Schritt übersprungen werden.<br />
<br />
Zur Einrichtung der Überbrückung ist ein lokaler MQTT-Broker, beispielsweise eine Mosquitto-Instanz notwendig. Diese kann z.B. durch ein einfaches <pre>sudo apt install mosquitto</pre> auf einem Linux-System installiert werden, dort verbraucht sie kaum Resourcen.<br />
<br />
Folgende Konfiguration funktioniert für Mosquitto, sie kann in die Konfigurationsdatei eingefügt werden (meist "/etc/mosquitto/mosquitto.conf", z.B. durch einen Texteditor wie "nano"):<br />
<pre><br />
connection gbridge-io<br />
address mqtt.gbridge.io:8883<br />
bridge_attempt_unsubscribe true<br />
bridge_protocol_version mqttv311<br />
cleansession true<br />
remote_username {gbridge-mqtt-username}<br />
remote_password {gbridge-mqtt-password}<br />
remote_clientid gbridge-u{userid}-{randomstring}<br />
<br />
topic gBridge/u{gbridge-userid}/+/+ both 0 "" ""<br />
topic gBridge/u{gbridge-userid}/+/+/set both 0 "" ""<br />
#you might need to change the path of the CA files<br />
#This one is valid for most Debian based systems<br />
bridge_capath /etc/ssl/certs/<br />
bridge_tls_version tlsv1.2<br />
</pre> <br />
<br />
Einige Stellen müssen mit den eigenen Informationen gefüllt werden:<br />
* '''{gbridge-mqtt-username}''': Der MQTT-Nutzername von gBridge, meist im Format "gbridge-u123".<br />
* '''{gbridge-mqtt-password}''': Das Passwort für den MQTT-Server wenn separat vergeben; sonst das Account-Passwort<br />
* '''{userid}''': Die gBridge-Nutzernummer, also der Zahlenanteil des MQTT-Nutzernamens<br />
* '''{randomstring}''': Eine beliebige, möglich zufällige Kombination von Buchstaben und Zahlen<br />
<br />
Mosquitto muss nun neugestartet werden ("sudo systemctl restart mosquitto"), in der Log-Datei zeugen folgende Meldungen von Erfolg:<br />
<pre><br />
pi@hcpi01:~ $ sudo tail /var/log/mosquitto/mosquitto.log -n 20<br />
1532876260: mosquitto version 1.4.10 (build date Fri, 22 Dec 2017 08:19:25 +0000) starting<br />
1532876260: Config loaded from /etc/mosquitto/mosquitto.conf.<br />
1532876260: Opening ipv4 listen socket on port 1883.<br />
1532876260: Opening ipv6 listen socket on port 1883.<br />
1532876260: Connecting bridge kappelt-io(mqtt.gbridge.io:8883)<br />
1532876260: New connection from 192.168.2.151 on port 1883.<br />
</pre><br />
<br />
'''Kommandos vom gBridge-Server werden nun durch den eigenen Mosquitto-Server an alle verbundenen Geräte weitergeleitet. Die Kommunikation zwischen dem eigenen Mosquitto und gBridge ist dabei verschlüsselt.'''<br />
<br />
Sofern noch nicht geschehen, muss in FHEM die Verbindung zum eigenen Mosquitto-Broker erfolgen. Beispielsweise kann das wie folgt aussehen, wenn FHEM und Mosquitto auf dem gleichen Gerät laufen.<br />
<pre><br />
define MQTT MQTT 127.0.0.1:1883<br />
</pre><br />
<br />
== Einrichtung von Geräten ==<br />
Der Ablauf zur Steuerung eines neuen Gerätes mittels Google Home sieht generell so aus:<br />
# Ein neues Gerät im gBridge-Dashboard anlegen und konfigurieren. Dieses erscheint dann bereits in der Google-Home App. Hier sollten die entsprechenden MQTT-Topics notiert werden.<br />
# Einrichtung einer MQTT_BRIDGE in FHEM, welche FHEM-Geräte den entsprechenden MQTT-Topics zuordnet<br />
<br />
=== Steuerung von Lampen ===<br />
In gBridge muss ein neues Gerät mit den Traits "On and Off" und "Brightness" erstellt werden. Steuern lassen sich mit der nachfolgenden Konfiguration unter anderem Hue- und Tradfri-Geräte:<br />
<pre><br />
define {devicename}.gBridge MQTT_BRIDGE {devicename}<br />
attr {devicename}.gBridge IODev Connections.gBridge<br />
attr {devicename}.gBridge publishReading_onoff gBridge/u{userid}/d{deviceid}/onoff/set<br />
attr {devicename}.gBridge publishReading_pct gBridge/u{userid}/d{deviceid}/brightness/set<br />
attr {devicename}.gBridge stateFormat transmission-state<br />
attr {devicename}.gBridge subscribeSet_gstate {if($message eq "0"){fhem("set $device off")}else{ fhem("set $device on")};; 0} gBridge/u{userid}/d{deviceid}/onoff<br />
attr {devicename}.gBridge subscribeSet_pct gBridge/u{userid}/d{deviceid}/brightness<br />
</pre><br />
<br />
== Bezahlmodell ==<br />
gBridge.io ist ein Cloudservice, der nur bis zu gewissen Nutzungsgrenzen gratis nutzbar ist. Dabei handelt es sich aber um einen auf Skalierbarkeit ausgelegten Dienst mit klarer und zukunftssicherer Preisgestaltung.<br />
<br />
== Weiterführende Links ==<br />
* [https://doc.gbridge.io Englische Dokumentation von gBridge mit weiteren Beispielen und Erklärungen]<br />
* [https://assistant.google.com/services/a/uid/0000002012d62c59 gBridge im Google Assistant Directory]<br />
* [https://community.gbridge.io Nutzerforum von gBridge.io]</div>Pkappelthttp://wiki.fhem.de/w/index.php?title=Datei:GBridge_in_Google_Home_w%C3%A4hlen.png&diff=30237Datei:GBridge in Google Home wählen.png2019-04-23T21:20:33Z<p>Pkappelt: </p>
<hr />
<div>Auswählen des Dienstanbieters "gBridge" in der Google Home App</div>Pkappelt