xmpp

Das Plugin verbindet SmartHomeNG über das Extensible Messaging and Presence Protocol (XMPP) mit einem Jabber/XMPP-Konto. Es unterstützt aktuell nur das Senden von Nachrichten, empfangene Nachrichten werden ignoriert.

Voraussetzungen

Für verschlüsselte Chats (OTR über XEP-0384) muss zusätzlich slixmpp-omemo manuell installiert werden.

Konfiguration

Die Informationen zur Konfiguration des Plugins sind unter Plugin ‚xmpp‘ Konfiguration beschrieben.

Nachrichten werden aus Logiken heraus über die Funktion send() verschickt, siehe Plugin ‚xmpp‘ Konfiguration:

sh.xmpp.send("skender@somexmppserver.me", "ALARM: Triggered, Danger.", 'chat')

XMPP als Logging-Handler

Das Plugin kann auch als Logging-Handler eingebunden werden, um Log-Meldungen von SmartHomeNG per XMPP an einen Chat- oder Gruppenchat-Kontakt zu senden. Dazu wird in etc/logging.yaml ein Handler auf Basis des Plugins definiert:

handlers:
    xmpp:
        class: plugins.xmpp.XMPPLogHandler
        formatter: shng_simple
        xmpp_plugin: xmpp
        xmpp_receiver: room@conference.example.com
        xmpp_receiver_type: groupchat
loggers:
    xmpp:
        handlers: [xmpp]
        level: WARN

xmpp_plugin verweist auf die Instanz des xmpp-Plugins, über die versendet werden soll. xmpp_receiver und xmpp_receiver_type (chat oder groupchat) legen den Ziel-Kontakt fest.

Auf diese Weise lässt sich z.B. auch ein einzelnes Operationlog gezielt per XMPP versenden:

loggers:
    plugins.operationlog.alarms:
        handlers: [xmpp]
        level: INFO