ioBroker
Dieser Artikel ist gültig ab Version aPAGER PRO ANDROID 5.5.0.77
Im folgenden Abschnitt wird erklärt wie aPager PRO Automatisierungen im beliebten Smart Home System ioBroker auslösen kann. Der Artikel kann für iOS adaptiert werden.
Inhalt
Hinweise
Die nachfolgenden Einstellungen funktionieren nur im lokalen Netzwerk. Sollen die Webhooks auch unterwegs funktionieren so muss ioBroker im Internet freigegeben werden. Dies und die Einrichtung und Installation von ioBroker selbst ist nicht Teil dieser Anleitung. Eine funktionsfähige, im lokalen Netzwerk erreichbare ioBroker Installation, wird vorausgesetzt.
Konfiguration
ioBroker
Installieren Sie unter Adapter den links gezeigten Adapter
Konfigurieren Sie den Adapter indem Sie diesen unter Instanzen öffnen. Er heißt dort simple-api.0
Stellen Sie bitte sicher unter IP den richtigen Netzwerkadapter zu nutzen. In unseren Tests konnte bei der Bindung auf alle Adapter nur ein Zugriff über IPv6 erfolgen, was nicht gewünscht sein dürfte.
Erstellen Sie unter Objekte einen eigenen Datenpunkt.
Basisordner: 0
Unterordner: webhook
Typ: Zustand
Zustandstyp: Zeichenkette
Name: apager-webhook
Wechseln Sie nun zu Skripte und erstellen ein neues Skript vom Typ “Blockly”
Prosatext:
Falls Objekt apager-webhook (unser gerade erstellter Datenpunkt) aktualisiert wurde (nicht geändert denn Stichwort und Einheit könnten bei aufeinander folgenden Einsätzen identisch sein) so erstelle aus dem Inhalt ein JSON-Objekt und weise es der Variable webhook_body zu. Gebe dann eine Nachricht im Log Level Info aus, die die Felder keyword und unit des JSON-Objekts enthält. Diese Felder kommen aus der aPager PRO Konfiguration, siehe unten. Natürlich kann hier jede beliebige Automatisierung erstellt werden, etwa die Übergabe an telegram, das Schalten von Hue Lampen, etc. doch dies ist außerhalb dieser kurzen Anleitung.
Ggf. kann je nach Version der folgende Code-Block auch direkt importiert werden:
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="Uq(Z~m~!bmW~.6MQYnVe">webhook_body</variable>
</variables>
<block type="on_ext" id="B*m$g:59!sPyal3$sx3h" x="38" y="38">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
<field name="CONDITION">any</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="_%ru6$`%Wy,uIHyn3iU/">
<field name="oid">0_userdata.0.webhook.apager-webhook</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="variables_set" id="1P/cXx!,PaGy22D`7XGz">
<field name="VAR" id="Uq(Z~m~!bmW~.6MQYnVe">webhook_body</field>
<value name="VALUE">
<block type="convert_json2object" id="/A|g~x=KvKV#4_V4VQ~k">
<value name="VALUE">
<block type="on_source" id="|lHzpvvhZFY_mK@3eLzY">
<field name="ATTR">state.val</field>
</block>
</value>
</block>
</value>
<next>
<block type="debug" id="Uoco0Iq=2a0nGdaUy6GF">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="b{:4OwOKc6ET]Z$$9|Q7">
<field name="TEXT">test</field>
</shadow>
<block type="text_join" id="CHUg;6uZ4[|^Zw*weIH8">
<mutation items="4"></mutation>
<value name="ADD0">
<block type="text" id="U2E,h{tg32(V~+93`aVU">
<field name="TEXT">Stichwort: </field>
</block>
</value>
<value name="ADD1">
<block type="get_attr" id="=1+zXvl~Iwl.5qHr#d,|">
<value name="PATH">
<shadow type="text" id="R=otstKtGGrBa#yXKXig">
<field name="TEXT">keyword</field>
</shadow>
</value>
<value name="OBJECT">
<block type="variables_get" id="?OQdhREG~Y*C]:nTIl[n">
<field name="VAR" id="Uq(Z~m~!bmW~.6MQYnVe">webhook_body</field>
</block>
</value>
</block>
</value>
<value name="ADD2">
<block type="text" id="3Ubze`B3z!0ZtqY1UdP^">
<field name="TEXT">. Einheit: </field>
</block>
</value>
<value name="ADD3">
<block type="get_attr" id="}Ntyd2qE_aQ*TYPlm9+L">
<value name="PATH">
<shadow type="text" id="7PkX8[)=BQ5gA!F(H}tG">
<field name="TEXT">unit</field>
</shadow>
</value>
<value name="OBJECT">
<block type="variables_get" id="yVWEmie[|?83H;a|KcFY">
<field name="VAR" id="Uq(Z~m~!bmW~.6MQYnVe">webhook_body</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</xml>
aPager PRO Android
Bitte konfigurieren Sie den Webhook wie folgt
Ihre ioBroker Adresse inkl. Port im lokalen Netzwerk.
Hier den Port des Adapters simple-api verwenden, nicht den ioBroker Web Port. Der Rest der URL kann 1:1 so gelassen werden, vorausgesetzt Sie haben den Datenpunkt oben in 0/webhook/apager-webhook erstellt.HTTP-Modus POST
Einheitenkennung übertragen wenn gewünscht. In ioBroker nutzbar wie im o.g. Blockly Script verdeutlicht.
Stichwort übertragen wenn gewünscht. In ioBroker nutzbar wie im o.g. Blockly Script verdeutlicht.