Re: Zigbee2MQTT
Posted: Friday 31 August 2018 18:35
Code: Select all
[{"id":"881e4b14.568708","type":"mqtt out","z":"f962b96d.7044c8","name":"zigbee2mqtt/in","topic":"zigbee2mqtt/bridge/config/remove","qos":"","retain":"","broker":"cd51966f.aa7e38","x":480,"y":420,"wires":[]},{"id":"c60eb810.782768","type":"inject","z":"f962b96d.7044c8","name":"Device to Unpair","topic":"","payload":"0x001388020121e5ei","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":300,"y":420,"wires":[["881e4b14.568708"]]},{"id":"4eb439f3.01d7f8","type":"comment","z":"f962b96d.7044c8","name":"Unpair a Device","info":"","x":100,"y":420,"wires":[]},{"id":"cd51966f.aa7e38","type":"mqtt-broker","z":"","name":"Domoticz","broker":"192.168.0.5","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]
Here is the pairing of devices: https://github.com/Koenkk/zigbee2mqtt/w ... ng-devices
Code: Select all
object
battery: "100.00"
voltage: 3035
linkquality: 5
action: "flip90"
from_side: 0
to_side: 5
Code: Select all
http://192.168.0.5:1880/hueapi?devicename=lightstripkittylitter&state=on&brightness=126&r=0&g=0&b=0&colortemp=366&transition=1
Code: Select all
[{"id":"fb7148f.58630b8","type":"comment","z":"ecbf4921.26b488","name":"Philips Hue Plus Lightstrips","info":"","x":150,"y":120,"wires":[]},{"id":"48eebee9.f9ecc","type":"mqtt in","z":"ecbf4921.26b488","name":"","topic":"domoticz/out","qos":"2","broker":"cd51966f.aa7e38","x":350,"y":60,"wires":[["a9756327.ccade"]]},{"id":"80a1c890.346428","type":"function","z":"ecbf4921.26b488","name":"Domoticz Control","func":"var idx = msg.payload.idx;\n\n// Domoticz IDX to Zigbee2MQTT Device Name Map\nif (idx == '1258'){\n devicename = 'lightstrip2ndbathroommirror';\n} else if (idx == '1260'){\ndevicename = 'lightstripkittylitter';\n} else if (idx == '1261'){\ndevicename = 'lightstripmainbathmirror';\n} else if (idx == '1262'){\ndevicename = 'lightstripmbrwardrobe';\n} else {\n devicename = null;\n}\n\nif (typeof devicename !== 'undefined' && devicename !== null){\n\nvar nvalue = msg.payload.nvalue;\nvar brightness = msg.payload.svalue1;\nvar r = msg.payload.Color.r;\nvar g = msg.payload.Color.g;\nvar b = msg.payload.Color.b;\nvar colortemp = msg.payload.Color.ww;\nmsg.payload = {}\n\nif(nvalue == '0') {\n msg.payload.state = 'OFF'\n}\nif(nvalue == '1' || nvalue == '10') {\n msg.payload.state = 'ON';\n msg.payload.brightness = Math.round(brightness * 255 / 100);\n if (r === 0 && b === 0 && g === 0) {\n msg.payload.color_temp = Math.round(500 / 255 * colortemp);\n msg.payload.transition = 1;\n }else{\n msg.payload.color = {\"r\":r,\"g\":g,\"b\":b};\n msg.payload.transition = 1;\n}\n}\n\nmsg.topic = 'zigbee2mqtt/'+devicename+'/set';\n\nreturn msg;\n}","outputs":1,"noerr":0,"x":650,"y":60,"wires":[["f7ed5194.3f7f9"]]},{"id":"a9756327.ccade","type":"json","z":"ecbf4921.26b488","name":"","property":"payload","action":"","pretty":false,"x":490,"y":60,"wires":[["80a1c890.346428"]]},{"id":"772e44e0.eeb13c","type":"template","z":"ecbf4921.26b488","name":"page","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"<html>\n<head></head>\n<body>\n<h1>API:</h1>\n<h3>Usage: /hueapi?devicename=huetest&state=on&brightness=100&r=50&g=170&b=2&colortemp=0&transition=1</h3>\n<h3>or</h3>\n<h3>Usage: /hueapi?devicename=huetest&state=on&brightness=100&r=0&g=0&b=0&colortemp=270&transition=1</h3>\n<h4>Note: this page is always displayed regardless if command is successful or not.</h4>\n</body>\n</html>","x":490,"y":180,"wires":[["bf0118ca.6ffa08"]]},{"id":"d13ff611.844ac8","type":"http in","z":"ecbf4921.26b488","name":"","url":"/hueapi","method":"get","upload":false,"swaggerDoc":"","x":350,"y":120,"wires":[["84c8aed7.2462a","772e44e0.eeb13c"]]},{"id":"bf0118ca.6ffa08","type":"http response","z":"ecbf4921.26b488","name":"","x":610,"y":180,"wires":[]},{"id":"84c8aed7.2462a","type":"function","z":"ecbf4921.26b488","name":"HTTP Control","func":"var state = msg.req.query.state;\nvar brightness = msg.req.query.brightness;\nvar r = msg.req.query.r;\nvar g = msg.req.query.g;\nvar b = msg.req.query.b;\nvar colortemp = msg.req.query.colortemp;\nvar devicename = msg.req.query.devicename;\nvar transition = msg.req.query.transition;\nmsg.payload = {}\n\n\nmsg.payload.state = state;\nmsg.payload.brightness = brightness;\nmsg.payload.transition = transition;\nif (r === '0' && g === '0' && b === '0') {\nmsg.payload.color_temp = colortemp;\n}else{\nmsg.payload.color = {\"r\":r,\"g\":g,\"b\":b};\n}\nmsg.topic = 'zigbee2mqtt/'+devicename+'/set';\n\nreturn msg;\n","outputs":1,"noerr":0,"x":520,"y":120,"wires":[["f7ed5194.3f7f9"]]},{"id":"f7ed5194.3f7f9","type":"mqtt out","z":"ecbf4921.26b488","name":"zigbee2mqtt/in","topic":"","qos":"","retain":"","broker":"cd51966f.aa7e38","x":700,"y":120,"wires":[]},{"id":"cd51966f.aa7e38","type":"mqtt-broker","z":"","name":"MQTT","broker":"127.0.0.1","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]
Will do in october after my holiday.ben53252642 wrote: ↑Friday 21 September 2018 0:34 EddyG, check this out,
Worked out how to use a variable for the MQTT topic.