mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
6df6783b60
Signed-off-by: Kai Kreuzer <kai@openhab.org> |
||
---|---|---|
.. | ||
src/main | ||
.classpath | ||
.project | ||
noEmbedDependencies.profile | ||
NOTICE | ||
pom.xml | ||
README.md |
XMPPClient Binding
XMPPClient binding provides support for sending and receiving XMPP (Jabber) messages.
Supported Things
xmppBridge - Basic XMPP (Jabber) client thing, that can send and receive messages.
Thing Configuration
Sample configurations:
Bridge xmppclient:xmppBridge:xmpp "XMPP Client" [ username="openhab", domain="example.com", password="********" ] {
Channels:
Trigger String : xmpp_command [ separator="##" ]
}
Bridge xmppclient:xmppBridge:xmpp "XMPP Client" [ host="xmpp.example.com", port=7222, username="openhab", domain="example.com", password="********" ] {
Channels:
Trigger String : xmpp_command [ separator="##" ]
}
xmppBridge parameters:
Name | Label | Description | Required | Default value |
---|---|---|---|---|
username | Username | The XMPP username (left part of JID) | true | - |
domain | Domain | The XMPP domain name (right part of JID) | true | - |
password | Password | The XMPP user password | true | - |
host | Server Hostname/IP | The IP/Hostname of the XMPP server | false | as "domain" parameter |
port | XMPP server Port | The typical port is 5222 | false | 5222 |
Channels
publishTrigger parameters:
Name | Label | Description | Required |
---|---|---|---|
payload | Payload condition | An optional condition on the value | false |
separator | Separator character | The trigger channel payload usually only contains the received text. If you define a separator character, for example '#', the sender UID and received text will be in the trigger channel payload. For example: pavel@example.com#My Message Text | false |
Example Rules
Send message:
rule "Leak detected"
when
Item Xi_Leak changed
then
if(Xi_Leak.state == ON) {
val actions = getActions("xmpp","xmppclient:xmppBridge:xmpp")
actions.publishXMPP("pavel@example.com","Warning! Leak detected!")
}
end
Receive and process message:
rule "Turn off all lights without separator"
when
Channel "xmppclient:xmppBridge:xmpp:xmpp_command" triggered
then
var actionName = receivedEvent.getEvent()
if(actionName.toLowerCase() == "turn off lights") {
Group_Light_Home_All.sendCommand(OFF)
}
end
rule "Turn off all lights with separator and reply"
when
Channel "xmppclient:xmppBridge:xmpp:xmpp_command" triggered
then
var actionName = receivedEvent.getEvent().split("##")
if(actionName.get(1).toLowerCase() == "turn off lights") {
Group_Light_Home_All.sendCommand(OFF)
val actions = getActions("xmpp","xmppclient:xmppBridge:xmpp")
actions.publishXMPP(actionName.get(0),"All lights was turned off")
}
end