Slack integration - juri8/openhab GitHub Wiki
Slack is a wonderful team collaboration tool. One of the best things about Slack is the integrations with other systems that are possible. Below are instructions for adding a plugin to Slack which enables you to send commands and updates to openHAB items, as well as querying current state.
Follow the instructions here to install the Slack RTM bot. You will need to create a new Real-Time Messaging integration in your Slack account and copy the generated API token into the python-rtmbot config file.
Then copy the slackhab.py script to the python-rtmbot/plugins
folder and update the values at the top of the script;
openhab_url = 'http://127.0.0.1:8080'
slackhab_user_id = "UXXXXXXXX"
Where slackhab_user_id
is the internal user ID for the slackhab bot. The easiest way to get this user_id is to add some debugging to the slackhab plugin. Although there may be a way to find it via the Slack UI.
Once everything is configured and you start the python-rtmbot script you should see the slackhab
bot turn green in your Slack UI. You can then either send direct messages (DMs) to the bot or mention the bot in any Slack channel, e.g. @slackhab send CoffeeMachine ON
.
The following commands are supported;
* send <item> <command>
* update <item> <state>
* items [<filter>]
Examples;
@slackhab items temp
GroupItem SensorTemperature Undefined
NumberItem Sensor_Temperature1 18.6
NumberItem Sensor_Temperature2 19.6
NumberItem Sensor_HallwayTemp 20.1
NumberItem Sensor_EnsuiteTemp 20.2
NumberItem Weather_TempOut 11
NumberItem Sensor_GarageTemp 14.12
NumberItem Heating_DaikinTemp 23
@slackhab send CoffeeMachine ON
Sent ON command to CoffeeMachine
@slackhab send NonExistingItem TEST
404: Not Found