Zigbee Gateways Conbee und Raspbee mit deConz und Phoscon in Fhem einbinden

Begonnen von maddinthebrain, 04 Januar 2019, 10:41:24

Vorheriges Thema - Nächstes Thema

maddinthebrain

Hallo zusammen,
Ich wollte kurz zusammenfassend beschreiben, wie man die ZigBee Gateways Raspbee und ConBee in Fhem einbindet.

Zunächst die Gateways und deConz nach Anleitung installieren https://www.dresden-elektronik.de/funktechnik/products/software/pc/deconz/. Dann die deconz Software starten. Anschließend die Schritte aus http://coldcorner.de/2018/04/02/deconz-hue-bridge-auf-dem-raspberry-pi-emulieren/#8 durchführen: Die Einbindung des deCONZ Gateways unterscheidet sich nicht von der offiziellen HUE Bridge.

Passe den Namen und die IP an define deCONZ HUEBridge ip.vom.deconz.gateway dann attr deCONZ httpUtils 1 Dann mit set deCONZ active das Pairing starten.

Danach die Phoscon App über http://ip.vom.deconz.gateway im Browser öffnen. Dort das Symbol mit den drei Strichen anklicken, dann auf Gateway -> Erweitert -> App verbinden. Das Gateway und evtl. vorhandene Lampen (nur mit aktivem Autocreate) werden in Fhem automatisch angelegt. Zusätzliche Sensoren über get deCONZ sensors in Fhem suchen. Den gesuchten Sensor in der aufpoppenden Liste identifizieren, sich die ID (z.B. 2) merken und mit define motion3 HUEDevice sensor 2anlegen.

Das war es schon. Geht problemlos!

Grüße Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

gloob

Hast du mal im Forum gesucht. Es gibt schon einen Thread dafür.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

maddinthebrain

Ja, aber die Beiträge sind alle nicht unbedingt aktuell und daher verwirrend. Daher diese Zusammenfassung mit den Links. Man braucht nichts weiter in FHEM installieren oder dazu kopieren. Das eben Beschriebene geht ohne Addons.

Grüße Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

gloob

Trag es doch bitte ins Wiki ein, dann findet man es auch besser wieder und kann drauf verlinken.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

maddinthebrain

Zitat von: gloob am 04 Januar 2019, 11:04:38
Trag es doch bitte ins Wiki ein, dann findet man es auch besser wieder und kann drauf verlinken.

Das mache ich sehr gerne. Das wollte ich eh machen!

Grüße Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

netbus

ich habe da noch eine Frage an den Entwickler von der Huebridge.
z.b. Xiaomi sensoren liefern fast alle auch die Temperatur mit auch wenn es nur ein Fensterkontakt ist.
In der Phoscon App sieht man diese Werte und auch über die Rest API werden sie geliefert.

curl -X GET http://localhost:81/api/81F392A2A5/sensors/7
{"config":{"battery":100,"on":true,"reachable":true,"temperature":2300},"ep":1,"etag":"6e7d5edaadc6e44fd99f0e695a2f381d","manufacturername":"LUMI","modelid":"lumi.sensor_magnet.aq2","name":"Fenster- / Türkontaksensor","state":{"lastupdated":"2019-01-22T19:48:46","open":false},"swversion":"20161128","type":"ZHAOpenClose","uniqueid":"00:15:8d:99:99:99:99:cf-01-0006"}


Daher die Frage ob es möglich ist, dass auch zu implementieren?

sinus61

Dann müsste es aber auch die Möglichkeit geben einen Offset zu setzen, weil die total von der Realität abweichen. Nur die echten Temp-Sensoren liefern auch brauchbare Werte.

netbus

Zitat von: sinus61 am 23 Januar 2019, 19:55:35
Dann müsste es aber auch die Möglichkeit geben einen Offset zu setzen, weil die total von der Realität abweichen. Nur die echten Temp-Sensoren liefern auch brauchbare Werte.
Das wäre dann der nächste Schritt. Aber zuerst braucht man die Daten mal in Fhem

F-Spezi

Die Daten der Sensoren können über die REST API per HTTPMOD ausgelesen werden. Dazu wird ein API Key benötigt, der über einen REST Client per POST erstellt werden muss. Eine Beschreibung findet sich bei Dresden Elektronik unter (http://dresden-elektronik.github.io/deconz-rest-doc/getting_started/), aber ich versuche es mal mit einer kurzen Anleitung.

Als Firefox Add-On gibt es z.B. den RESTClient (https://addons.mozilla.org/de/firefox/addon/restclient/), der nach der Installation über ein Icon (rot mit gelbem Zahnrad) in der Symbolleiste geöffnet wird.
Im RESTClient die Methode POST wählen, als URL 'http://<ip_des_phoscon/deCONZ_PC>:<Port>/api' eintragen und in Body { "devicetype": "XY_Name" } eingeben. Bevor die Anfrage gesendet wird, muss auf der Phoscon/deCONZ Webseite oder APP unter Einstellungen/Gateway/Erweitert mit der Schaltfläche 'App verbinden' der Zugriff für 60 Sekunden erlaubt werden. Nach dem Senden der Anfrage über RESTClient sollte jetzt eine Antwort mit 'success' und 'username' erfolgen. Der Wert hinter 'username' ist der neue API Key und kann jetzt für weitere Abfragen verwendet werden.
Um die Verbindung zu testen: Im RESTClient die Methode GET wählen, als URL 'http://<ip_des_phoscon/deCONZ_PC>:<Port>/api/deinen_API_Key/sensors' eintragen und Body leer lassen. Als Antwort sollte eine Liste aller Sensoren erscheinen. Hier ist dann bei den Xiaomi Sensoren unter 'config' der Wert 'temperature' aufgeführt, in °C x 100.
Um die Temperatur eines bestimmten Sensor in FHEM abzufragen, kann nun ein HTTPMOD Device definiert werden.

define z_sensor_xy_rawdata HTTPMOD http://<ip_des_phoscon/deCONZ_PC>:<Port>/api/deinen_API_Key/sensors/Nummer_des_Sensor 3600

z.B.:
define z_sensor_1_rawdata HTTPMOD http://192.168.1.112:80/api/78AE55BCE4/sensors/1 3600
attr z_sensor_1_rawdata event-on-update-reading config_battery,config_temperature
attr z_sensor_1_rawdata extractAllJSON 1
attr z_sensor_1_rawdata userReadings temperatur {sprintf "%.0f", ReadingsVal($name,"config_temperature",0)/100;;;;}


Das Attribut 'extractAllJSON 1' sorgt dafür, dass alle JSON Werte in ein Reading geschrieben werden und 'userReadings' setzt ein Reading mit der Temperatur ohne Nachkommastellen.
Eine stündliche Abfrage sollte ausreichend sein, da sich die Sonsoren üblicherweise im Standby nur alle 50 bis 60 Minuten bei Gateway melden.
3x FHEM (HyperV Debian, RasPi 3B NFS, NanoPi Neo Plus2)
UniFi, 1-Wire, ESP8266, ESP32, Shelly, Sonoff, ConBee/ZigBee, S7 Logo, BLE, iSpy uvm.
Standort: Saarland

justme1968

#9
oder man nimmt einfach das HUEBridge modul. das kommt auch mit deconz klar. und sogar ohne pollen per push.

wenn readings in den angelegten devices fehlen: bitte melden.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

netbus

Zitat von: justme1968 am 25 Februar 2019, 05:24:33
oder man nimmt einfach das HUEBridge modul. das kommt auch mit deconz klar. und sogar ohne pollen per push.

wenn readings in den angelegten devices fehlen: bitte melden.
Ich verwende das HUEBridge modul und alle Xiaomi Sensoren liefern auch eine Temperatur mit. Das HUEBridge modul liefert das leider nicht.


CoolTux

Deswegen hatte Andre ja gebeten Bescheid zu geben wenn was fehlt. Hast Du ja nun hiermit getan. Eventuell wäre ein verbose 5 Auszug vom Empfang der Daten nicht verkehrt. Es sei denn Andre kennt den Aufbau der REST Antwort schon.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

F-Spezi

HUEBridge zeigt die Temperatur der Xiaomi Sensoren leider nicht, aber deCONZ zeigt sie an und liefert sie auch in der REST Antwort.

Hier ein Fenster-/Türkontakt:
{
  "config": {
    "battery": 100,
    "on": true,
    "reachable": true,
    "temperature": 1800
  },
  "ep": 1,
  "etag": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "manufacturername": "LUMI",
  "modelid": "lumi.sensor_magnet.aq2",
  "name": "x_tuerkontakt_03",
  "state": {
    "lastupdated": "2019-02-25T11:15:45",
    "open": false
  },
  "swversion": "20161128",
  "type": "ZHAOpenClose",
  "uniqueid": "00:00:00:00:00:00:00:00-00-0000"
}


Und ein Rauchmelder:
{
  "config": {
    "battery": 100,
    "on": true,
    "reachable": true,
    "temperature": 2400
  },
  "ep": 1,
  "etag": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "manufacturername": "LUMI",
  "modelid": "lumi.sensor_smoke",
  "name": "lumi.sensor_smoke",
  "state": {
    "fire": false,
    "lastupdated": "2019-02-25T11:50:58",
    "lowbattery": false,
    "tampered": false
  },
  "swversion": "20170314",
  "type": "ZHAFire",
  "uniqueid": "00:00:00:00:00:00:00:00-00-0000"
}
3x FHEM (HyperV Debian, RasPi 3B NFS, NanoPi Neo Plus2)
UniFi, 1-Wire, ESP8266, ESP32, Shelly, Sonoff, ConBee/ZigBee, S7 Logo, BLE, iSpy uvm.
Standort: Saarland

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Micky79

Hallo an Alle,

ich habe eben deconz in Fhem installiert. Soweit funktioniert alles super.
Nur kann ich die Szenen, welche ich in der Phoscon App angelegt habe, nicht einlesen. get Scenes liefert keine Szenen.
Besteht da irgendeine Möglichkeit welche ich übersehen habe?

Bei dem Deconz Adapter vom ioBroker funktioniert das. Ich bin gerade dabei mein System von ioBroker nach FHEM zu migrieren. Deshalb die Info und die Frage.

Viele Grüße Micky