Zigbee / deCONZ / zigbee2mqtt


#1

ich habe gestern mal deCONZ mit meinem RaspBee Adapter installiert. Soweit so gut, habe ein paar Xiaomi Aqara Sensoren/Schalter angebunden, funktioniert gut, etwas einfacher als mit zigbee2mqtt. Das mag auch an der Hardware liegen…

Aber, wie geht es jetzt weiter? Wie bekomme ich die Sensoren nun nach Homegear? deCONZ liefert die Lampen (in meinem Fall ein Osram Smart Plug) als Hue Bridge nach Homegear, nicht aber die Schalter oder Sensoren. War es das jetzt?

Zum Hintergrund: Ich habe zur Zeit ungefähr 30 Geräte an zigbee2mqtt hängen, mit der aktuellen Firmware bin ich am Ende, für jedes neue Gerät, was ich hinzufüge, wird ein anderes unerreichbar. Router habe ich genug, die werden nur irgendwie nicht wirklich verwendet. :frowning:
Ich stehe also vor der Frage, wie ich meine weiteren Geräte anbinde. Es geht primär um die billigen Xiaomi Schalter und Sensoren, die Lampen hängen alle nach wie vor an der Hue Bridge.

RaspBee/deCONZ kann angeblich mit 200 Geräten umgehen, das würde locker reichen. Mir bringt das nur nichts, wenn ich die Geräte nicht nach Honmegear bekomme.

Es scheint mir als hätte ich nur zwei Optionen:

  • ein zweites zigbee2mqtt-Netz
  • warten bis Homegear Zigbee unterstützt

Oder kennt jemand einen anderen Weg?


#2

Naja, die Xiaomi Geräte könntest Du auch hiermit anbinden:


Voraussetzung ist allerdings, dass Du das Gateway benutzt. Ich glaube vom Gateway werden aber nur bis zu 32 Geräte unterstützt.


#3

Dann sind das ja schon 2 Gründe, warum ich das nicht nutzen kann. Ich benutze das Xiaomi Gateway nicht und ich habe aktuell 38 Geräte an zigbee2mqtt. (wovon 4 oder 5 nicht funktionieren). :wink:


#4

Irgendwie sagt mir mein Gefühl, dass ich das deCONZ/Raspbee Ding besser als Ersatz für die Hue Bridge nehmen sollte, sobald ich dort das 50 Device Limit knacke. :wink:

Ich bin aktuell bei ca. 25, allerdings sind die ganzen Osram Smart Plugs über zigbee2mqtt angebunden.


#5

Hallo @job,

die Zigbee-Hardware ist gerade vor ein paar Tagen bei uns angekommen. Ich werde mich also in überschaubarer Zeit dem Thema annehmen und mich an die Implementierung der Gerätefamilie setzen. In der Zwischenzeit können wir aber mal schauen, ob wir die Sensoren und Schalter nicht in Homegear bekommen. Stellt deCONZ diese Geräte zur Verfügung? Können Ereignisse über z. B. einen Webhook “live” übermittelt werden?

Viele Grüße

Sathya


#6

Kleiner Nachtrag: Müsste eigentlich gehen. Siehe http://dresden-elektronik.github.io/deconz-rest-doc/websocket/


#7

Cool.

Habe damit gerade mal rumgespielt.

  • sowohl die Hue-Bridge als auch deCONZ liefern eine “config” Antwort
  • sowohl die Hue-Bridge als auch deCONZ liefern eine “sensors” Antwort

Wäre es nicht als erster Schritt sinnvoll, die Sensor-Peers der Hue-Bridge/deCONZ abzufragen? Bei einer deCONZ-Bridge könnte man dann eine Websockets Verbindung aufbauen… Bei der Hue-Bridge müsste man sich dann was überlegen, wie das gehen kann. Eventuell durch pollen.

Hier sind meine Test-Sensoren:

{

"1":{"config":{"configured":true,"on":true,"sunriseoffset":30,"sunsetoffset":-30},"etag":"0ebca0cad6101b4eefc49fe43ea1be01","manufacturername":"Philips","modelid":"PHDL00","name":"Daylight","state":{"dark":false,"daylight":true,"lastupdated":"2019-03-03T11:46:35","status":170},"swversion":"1.0","type":"Daylight","uniqueid":"00:21:2e:ff:ff:02:46:62-01"},
"2":{"config":{"battery":null,"duration":122,"on":true,"reachable":false,"temperature":null},"ep":1,"etag":"abed6c9fe5622de3c3e2c30f7fe89d91","manufacturername":"LUMI","modelid":"lumi.sensor_motion.aq2","name":"Presence 2","state":{"lastupdated":"2019-03-01T21:01:21","presence":false},"type":"ZHAPresence","uniqueid":"00:15:8d:00:02:37:53:26-01-0406"},
"3":{"config":{"battery":null,"on":true,"reachable":false,"temperature":null,"tholddark":12000,"tholdoffset":7000},"ep":1,"etag":"abed6c9fe5622de3c3e2c30f7fe89d91","manufacturername":"LUMI","modelid":"lumi.sensor_motion.aq2","name":"LightLevel 3","state":{"dark":true,"daylight":false,"lastupdated":"2019-03-01T20:59:51","lightlevel":0,"lux":0},"type":"ZHALightLevel","uniqueid":"00:15:8d:00:02:37:53:26-01-0400"},
"4":{"config":{"battery":100,"on":true,"reachable":true,"temperature":2400},"ep":1,"etag":"41a902b9c168bc429743914d03768f50","manufacturername":"LUMI","mode":1,"modelid":"lumi.sensor_switch.aq2","name":"lumi.sensor_switch.aq2 4","state":{"buttonevent":1004,"lastupdated":"2019-03-01T21:09:08"},"swversion":"20161128","type":"ZHASwitch","uniqueid":"00:15:8d:00:02:15:ca:03-01-0006"},
"5":{"config":{"battery":100,"on":true,"reachable":true,"temperature":2600},"ep":1,"etag":"7bcf408328549ab4f6f41b780e6c84de","manufacturername":"LUMI","mode":1,"modelid":"lumi.sensor_switch.aq2","name":"lumi.sensor_switch.aq2 5","state":{"buttonevent":1004,"lastupdated":"2019-03-01T21:01:22"},"swversion":"20161128","type":"ZHASwitch","uniqueid":"00:15:8d:00:02:04:2c:27-01-0006"},
"6":{"config":{"duration":60,"on":true,"reachable":true},"etag":"2960e327b075644847fc34518c6bf96d","manufacturername":"Phoscon","modelid":"PHOSCON_VPIR","name":"VPIR y","state":{"lastupdated":"2019-03-01T21:02:22","presence":false},"swversion":"1.0","type":"CLIPPresence","uniqueid":"vpir-1551474114742"},
"7":{"config":{"on":true,"reachable":true},"etag":"2960e327b075644847fc34518c6bf96d","manufacturername":"Phoscon","modelid":"PHOSCON_FSM_STATE","name":"FSM_STATE y","state":{"lastupdated":"2019-03-01T21:02:22","status":0},"swversion":"1.0","type":"CLIPGenericStatus","uniqueid":"fsm-state-1551474114742"},
"8":{"config":{"battery":100,"on":true,"pending":[],"reachable":true,"sensitivity":11,"sensitivitymax":21,"temperature":2500},"ep":1,"etag":"c69f102b9fc5475c61fe32386ef4d4c0","manufacturername":"LUMI","mode":1,"modelid":"lumi.vibration.aq1","name":"lumi.vibration.aq1 8","state":{"buttonevent":1007,"lastupdated":"2019-03-03T14:39:09"},"swversion":"20180130","type":"ZHASwitch","uniqueid":"00:15:8d:00:02:a4:91:00-01-0101"}
}

#8

Wie könnte ich denn mit Node-Blue einen Websocket-Request aufbauen?

Mit einer http-node geht es irgendwie nicht.

Müsste ich eine php-Funktion bauen, die eine websocket-Verbindung aufbaut und jede eingehende Nachricht an den output liefert?