pimatic plugin for xmpp messaging system
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE
README.md
package.json
xmpp-config-schema.coffee
xmpp-device-schema.coffee
xmpp.coffee

README.md

pimatic-xmpp

This plugin provides an xmpp aka jabber messaging system for pimatic.

Features

  • Send messages to users
  • Reveive commands from users

Service dependencies

The plugin needs a valid user account on any xmpp service.

  • You can use a public jabber/xmpp service
  • or install a local service on your pimatic server like ejabberd

For the raspberry pi there are several guides to install an ejabberd service.

Installation

Just activate the plugin in your pimatic config. The plugin manager automatically installs the package with his dependencys.

Configuration

You can load the plugin by adding following in the config.json from your pimatic server:

{
  "plugin": "xmpp",
  "user": "pimatic-user@server.org",
  "password": "secretpw",
  "adminId": "admin-user@server.org",
  "defaultId": "default-user@server.org",
  "nickId": "pimatic"
  "keepaliveInterval": 5
}

The config item adminId is the access controle for receiving messages.

Only messages from this user will be accepted.

Usages

Chat client

The messaging system implements a chat bot which answers questions and execute actions.

The bot uses the rule action syntax. So all devices are out of the box accessible.

For example:

toggle device1
switch device2 on
set temp of heating to 28
list devices
get device heating
get all devices

Following commands are predefiend:

Built-in commands:

  • help
  • list devices
  • get all devices
  • get device name or id

Available actions:

  • "created predicates in rules"

Provided predicates

The messaging system provides a received event.

received "do action"

Provided actions

The messaging system provides a send event.

send chat tojid:"admin-user@server.org" message:"triggerd event has occurred"

ToDoList

  • chatrooms for multiuser enviroments (password protected)
  • built-in server ? for easy use of plugin

ChangeLog

  • 0.0.3 First public version. Use xmpp system over the rule section: predicates and action handler

  • 0.0.4

    • Full integrated command parser for all available pimatic actions
    • list all devices
    • xmpp core improvements; subscribe to admin user
    • some bug fixes
  • 0.0.5

    • code cleanup
    • autoreconnect
    • new Device: xmppUser as presence device
    • get commands for devices
    • security fixes
  • 0.0.6 BUGFIX

  • 0.0.7 BUGFIX

  • 0.0.8 BUGFIX

  • 0.0.9 BUGFIX

  • 0.0.10 BUGFIX

  • 0.0.11

    • disable remote control in config
    • BUGFIX

This plugin depends on node-xmpp-client.