Temperatursensor / ESP8266 (node mcu) in homebridge intergrieren (DS18b20)

Begonnen von Nihilo, 25 Januar 2017, 16:45:44

Vorheriges Thema - Nächstes Thema

Nihilo

Hallo zusammen.
Ich habe nun erfolgreich meinen ersten Temperatur Sensor mittels ESP8266 und einem DS18b20 in FHEM eingebunden.
Allerdings hätte ich gerne die Temperatur ins HomeKit; respektive Homebridge eingebunden.

Was habe ich derzeit:
-FHEM (aktuell)
-Homebridge plugin mit der FHEM als platform eingebunden ist
-MQTT Broker
- MiLight und Hue Platform in Homebridge integriert.


Der Temperatursensor wird bisher super in FHEM ausgelesen.
Wie bekomme ich ihn nun ins HomeKit, Homebridge eingebunden?

Hier der Code in der fhem.cfg
define ESP8266 MQTT_DEVICE DS18B20
attr ESP8266 IODev mqtt
attr ESP8266 alias Wohnzimmer Temperatur
attr ESP8266 room Homekit
attr ESP8266 stateFormat Temperatur: Temperature°C
attr ESP8266 subscribeReading_Temperature /hooks/devices/1/SensorData/Temperature


Ich würde mich sehr über Hilfe von euch freuen.

Liebe Grüße
Marcel

Gizmo_the_great

Hallo, ich finde es momentan noch am einfachsten ESPEasy auf dem ESP8266/Node MCU als Firmware laufen zu lassen.
Infos gibts unter letscontrolit.com.

Wenn ESPEasy auf dem ESP läuft werden die Geräte automatisch über autocreate in FHEM angelegt. Ich habe an meinem Wemos D1 mini einen DHT22 (und ein OLED und einen 433MHz-Sender alles über das Webfrontend von ESPEasy eingerichtet)
Mit MQTT hab ich leider keine Erfahrung.
Ich hänge dir einfach mal einen Auszug aus meiner .cfg an. Da kannst Du mal vergleichen, vielleicht hilft dir das ja schon. Ich hab in der Config.json keinen Filter für die Räume gesetzt, daher auch nicht die Zuweisung in den Homekit Raum.

define ESPBridge ESPEasy bridge 8383
define ESPEasy_ESPRoomsense1_DHT ESPEasy 192.168.178.31 80 ESPBridge ESPRoomsense1_DHT
attr ESPEasy_ESPRoomsense1_DHT IODev ESPBridge
attr ESPEasy_ESPRoomsense1_DHT Interval 30
attr ESPEasy_ESPRoomsense1_DHT event-on-change-reading .*
attr ESPEasy_ESPRoomsense1_DHT event-on-update-reading .*
attr ESPEasy_ESPRoomsense1_DHT genericDeviceType thermometer
attr ESPEasy_ESPRoomsense1_DHT group Heizung
attr ESPEasy_ESPRoomsense1_DHT homebridgeMapping [CurrentTemperature=temperature] CurrentRelativeHumidity=humidity
attr ESPEasy_ESPRoomsense1_DHT icon temp_temperature
attr ESPEasy_ESPRoomsense1_DHT presenceCheck 1
attr ESPEasy_ESPRoomsense1_DHT readingSwitchText 1
attr ESPEasy_ESPRoomsense1_DHT setState 3
attr ESPEasy_ESPRoomsense1_DHT stateFormat T: temperature H: humidity

Grüße

Gizmo


Gesendet von iPhone mit Tapatalk Pro
FHEM unter Debian auf RK3188, Homebridge, Apple TV3, Wemos D1 mini mit ESPeasy als RF433MHz-Transmitter, Raumsensor und OLED, Wemos D1 als Klingelsensor per Pushnachricht inkl. Remoteklingel-Funktion, Heizungsregelung Brötje WGB S und ISR SSR C mit BSB_Lan

Gizmo_the_great

Hab gerade noch das hier gefunden:
Sample HomeBridge Configuration
( sudo npm install -g homebridge-mqtt-temperature )
https://www.npmjs.com/package/homebridge-mqtt-temperature

Wenn Du aber die Werte sowieso schon in FHEM hast, kannst Du ja direkt den Wert aus dem angelegten Device DS18B20 holen.
Soweit ich das jetzt beurteilen kann (auch Anfänger), würde ich sagen dir fehlt das homebridgeMapping, sowas in der Art:
attr DS18B20 homebridgeMapping [CurrentTemperature=Temperatur]

Müsstest aber nochmal schauen ob das dann wirklich so stimmt. Solltest nochmal schauen wie das Reading wirklich heißt. Denke da ist noch ein Fehler bei "Temperatur: Temperature•C"

Grüße

Gizmo


Gesendet von iPhone mit Tapatalk Pro
FHEM unter Debian auf RK3188, Homebridge, Apple TV3, Wemos D1 mini mit ESPeasy als RF433MHz-Transmitter, Raumsensor und OLED, Wemos D1 als Klingelsensor per Pushnachricht inkl. Remoteklingel-Funktion, Heizungsregelung Brötje WGB S und ISR SSR C mit BSB_Lan

xxAvarlonxx

Hallo,

ich habe auch ein Wemos D1 als Temperatursensor in Homebridge integriert. Die Einrichtung in FHEM habe ich auch über MQTT gemacht. Klappt super. Mein Vorredner hat Recht dir fehlt einfach der genericDeviceType und das Homebrigemapping. Beides sind Attribute die du an deinem Device direkt setzen kannst.


attr <Device> genericDeviceType thermometer (ich glaube so heißt der Type, musst du mal in der Combo-Box suchen)
attr <Devide> homebridgemapping CurrentTemperature=<Reading mit der Temperatur als Zahl (nicht state)> CurrentRelativeHumidity=<Reading mit Luftfeuchtigkeit>


Dann das Device dem konfigurierten Homekit-Raum zuordnen, Homebridge auf dem PI neustarten und schon taucht der Wemos als Thermometer Device in Homekit auf.

Gruß
xxAvarlonxx