GithubHelp home page GithubHelp logo

deconz-mqtt's Introduction

deconz-mqtt

This is a Python library that talk to the deCONZ REST API and publishes devices to MQTT.

I have started simple and publish only the lights and their status. There is much on the TODO-list. Feel free to contribute with Issues or Pull Requests.

  • Publish status of lights when changed by deCONZ
  • Change more than just the dim level on the lights (saturation, hue etc.)
  • Other devices

Installation

Clone this repository and make a production configuration file

$ clone https://github.com/xibriz/deconz-mqtt.git
$ cd deconz-mqtt/
$ cp config/default.cfg config/prod.cfg

Change all the FIXME values in config/prod.cfg exept for the api_key

Go to the SETTINGS tab in the Wireless Light web interface and click Unlock Gateway

Run the apikey.py script $ python apikey.py

Change the WorkingDirectory in deconz-mqtt.service

Copy the service file to the system-folder and enable the service

$ sudo cp deconz-mqtt.service /etc/systemd/service/
$ sudo systemctl enable deconz-mqtt.service
$ sudo systemctl start deconz-mqtt.service

Test

From a MQTT-client:

Get status from light 1 $ mosquitto_pub -t 'deconz/{group_name}/{light_name}/status' -m ''

Dim light 1 to 40% $ mosquitto_pub -t 'deconz/{group_name}/{light_name}/set' -m '40'

Turn off light 1 $ mosquitto_pub -t 'deconz/{group_name}/{light_name}/set' -m '0'

Note that the {group_name} and {light_name} is the defined names in deCONZ without spaces but case sensitive.

deconz-mqtt's People

Contributors

joerggollnick avatar kilowatt-w avatar xibriz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

deconz-mqtt's Issues

UTF Error with importin Names from Deconz

Traceback (most recent call last):
File "client.py", line 39, in
light.get_lights()
File "/home/pi/deconz-mqtt/src/lights.py", line 61, in get_lights
publish.single(self.topic_pub.format(group_name=group_name, light_name=light_name), state, hostname=self.mqtt_ip, port=self.mqtt_port)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 1: ordinal not in range(128)

can be fixed by adding to client.py : ๐Ÿ‘

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

RaspBee II Configuration-Tool is shown as light

RaspBee deconz api shows its Configuration tool as light but lights[key]['state']['on'] does not exist.
I solved the issue and filter out states without 'on' by an additional if in the function get_lights (file: lights.py):
....
line 55-> for key in self.lights:
if 'on' in self.lights[key]['state']:
state = 0
...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.