[gelöst] Homekit Temperaturanzeige mit Sonoff und DHT22

Begonnen von t1me2die, 27 Juli 2018, 21:50:38

Vorheriges Thema - Nächstes Thema

t1me2die

Moin liebe Leute,

folgendes Problem:
Ich habe einen Sonoff Basic, an welchem ich einen DHT22 angeschlossen habe, soweit funktioniert der Sonoff wie sowohl die Temperaturanzeige in FHEM.
Ich versuche nun die Temperaturanzeige in der Home App auch dargestellt zu bekommen, leider vergebens.
Ich habe beim DHT Device das Attribut "genericDeviceType" auf "thermometer" gesetzt.
In der Home App erscheint auch ein neues Device, jedoch erscheint dort die Temperatur 0°C.

Von anderen Thermometern bin ich gewohnt, dass direkt die Gradzahl angezeigt wird und wenn man das Gerät "öffnet" in der Home App, dass dort sogar noch die "Aktuelle relative Luftfeuchtigkeit" angezeigt wird, falls das Device diese liefert.

List vom Sonoff Basic:

Internals:
   DEF        192.168.178.105 80 espBridge Sonoff_4_Temp
   ESP_BUILD  20000
   ESP_BUILD_GIT v2.0.0-dev11
   ESP_BUILD_NOTES  - Mega
   ESP_NODE_TYPE_ID 17: ESP Easy Mega
   ESP_SLEEP  0
   ESP_UNIT   0
   ESP_VERSION 2
   HOST       192.168.178.105
   IDENT      Sonoff_4_Temp
   INTERVAL   300
   IODev      espBridge
   LASTInputDev espBridge
   MSGCNT     31
   NAME       temp_Luefter
   NOTIFYDEV  global
   NR         653
   NTFY_ORDER 50-ESPEasy_Sonoff_4_Temp
   PORT       80
   STATE      Temperatur: 31.7°C Luftfeuchtigkeit: 48.4
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    1.38
   espBridge_MSGCNT 31
   espBridge_TIME 2018-07-27 21:44:25
   READINGS:
     2018-07-27 21:44:25   Humidity        48.40
     2018-07-27 21:44:25   Temperature     31.70
     2018-07-27 21:46:03   presence        present
     2018-07-27 21:46:03   state           Hum: 48.40 Tem: 31.70
   helper:
     fpc        1531769249.79829
     pm:
       Encode     1
       JSON       1
     received:
       Humidity   1532720665.84941
       Temperature 1532720665.84885
Attributes:
   DbLogExclude .*
   IODev      espBridge
   Interval   300
   genericDeviceType thermometer
   group      ESPEasy Device
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy,Flur,Homekit,QNAP
   setState   3
   stateFormat {sprintf("Temperatur: %.1f°C Luftfeuchtigkeit: %.1f ", ReadingsVal($name,"Temperature",0), ReadingsVal($name,"Humidity",0))}


List von DHT22:

Internals:
   DEF        192.168.178.105 80 espBridge Sonoff_4_Temp
   ESP_BUILD  20000
   ESP_BUILD_GIT v2.0.0-dev11
   ESP_BUILD_NOTES  - Mega
   ESP_NODE_TYPE_ID 17: ESP Easy Mega
   ESP_SLEEP  0
   ESP_UNIT   0
   ESP_VERSION 2
   HOST       192.168.178.105
   IDENT      Sonoff_4_Temp
   INTERVAL   300
   IODev      espBridge
   LASTInputDev espBridge
   MSGCNT     29
   NAME       temp_Luefter
   NOTIFYDEV  global
   NR         653
   NTFY_ORDER 50-ESPEasy_Sonoff_4_Temp
   PORT       80
   STATE      Temperatur: 31.8°C Luftfeuchtigkeit: 48.6
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    1.38
   espBridge_MSGCNT 29
   espBridge_TIME 2018-07-27 21:41:25
   READINGS:
     2018-07-27 21:41:25   Humidity        48.60
     2018-07-27 21:41:25   Temperature     31.80
     2018-07-27 21:40:59   presence        present
     2018-07-27 21:41:25   state           Hum: 48.60 Tem: 31.80
   helper:
     fpc        1531769249.79829
     pm:
       Encode     1
       JSON       1
     received:
       Humidity   1532720485.66796
       Temperature 1532720485.66768
Attributes:
   DbLogExclude .*
   IODev      espBridge
   Interval   300
   genericDeviceType thermometer
   group      ESPEasy Device
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy,Flur,Homekit,QNAP
   setState   3
   stateFormat {sprintf("Temperatur: %.1f°C Luftfeuchtigkeit: %.1f ", ReadingsVal($name,"Temperature",0), ReadingsVal($name,"Humidity",0))}


Leider weiß ich nicht so genau, wonach ich suchen muss.

Gruß
Mathze

TomLee

Denke Homekit erwartet ein Reading 'temperature' nicht 'Temperature'.

Gruß

Thomas

t1me2die

Danke Thomas für den Gedankenanstoß  :)

Darauf habe ich gar nicht geachtet gehabt!

Hier die Lösung für die Nachwelt:


temperature { ReadingsVal("$name","Temperature",0) ;;}, humidity { ReadingsVal("$name","Humidity",0) ;;}


Gruß
Mathze