Netatmo - dewpoint

Begonnen von Bonzon, 03 Februar 2014, 11:16:07

Vorheriges Thema - Nächstes Thema

Cluni

Also ich finde es nicht. Hat jemand eine Ahnung? Das erste Listing ist der Innensensor (Ort und Koordinaten entfernt) und das zweite ist der Außensensor. Und ja ich weiß - ich muss wieder lüften...  :P

Internals:
   DEF        70:ee:50:20:87:6e
   Device     70:ee:50:20:87:6e
   INTERVAL   900
   IODev      Wetter
   LAST_POLL  2017-02-11 13:40:19
   NAME       netatmo_D70_ee_50_20_87_6e
   NOTIFYDEV  global
   NR         187
   NTFY_ORDER 50-netatmo_D70_ee_50_20_87_6e
   STATE      T: 24.9 H: 40 P: 1018.4 CO2: 1177 N: 37
   SUBTYPE    DEVICE
   TYPE       netatmo
   altitude   88
   city       xxx
   country    DE
   dataTypes  Temperature,CO2,Humidity,Noise,Pressure
   date_setup 2017-02-09 18:53:08
   firmware   124
   last_setup 2017-02-09 18:53:08
   last_status_store 2017-02-11 12:50:46
   last_upgrade 2017-02-10 12:54:24
   location   51.xxx,6.xxx
   model      NAMain
   moduleName Wohnzimmer
   openRequests 0
   stationName Cluni
   status     ok
   wifi_status 36
   Readings:
     2017-02-11 13:30:55   co2             1177
     2017-02-11 13:30:55   dew             10.38
     2017-02-11 13:30:55   humidity        40
     2017-02-11 13:30:55   noise           37
     2017-02-11 13:30:55   pressure        1018.4
     2017-02-11 12:50:36   pressure_abs    1007.8
     2017-02-11 12:50:36   pressure_trend  stable
     2017-02-11 02:13:46   temp_max        26.1
     2017-02-11 10:27:24   temp_min        17.8
     2017-02-11 12:50:36   temp_trend      up
     2017-02-11 13:30:55   temperature     24.9
   Helper:
     readingNames:
       temperature
       co2
       humidity
       noise
       pressure
Attributes:
   IODev      Wetter
   alias      Klima.Wohnzimmer
   devStateIcon .*:no-icon
   group      Klima
   room       Wohnzimmer,netatmo
   stateFormat T: temperature H: humidity P: pressure CO2: co2 N: noise
   userReadings dew:temperature.* {urDewpoint($name)}


Internals:
   DEF        MODULE 70:ee:50:20:87:6e 02:00:00:20:fa:a6
   Device     70:ee:50:20:87:6e
   INTERVAL   900
   IODev      Wetter
   LAST_POLL  2017-02-11 13:40:19
   Module     02:00:00:20:fa:a6
   NAME       netatmo_M02_00_00_20_fa_a6
   NOTIFYDEV  global
   NR         188
   NTFY_ORDER 50-netatmo_M02_00_00_20_fa_a6
   STATE      T: 3.2 H: 81
   SUBTYPE    MODULE
   TYPE       netatmo
   battery_vp 6468
   dataTypes  Temperature,Humidity
   firmware   44
   last_message 2017-02-11 12:50:45
   last_seen  2017-02-11 12:50:45
   last_setup 2017-02-09 18:53:08
   model      NAModule1
   moduleName Terrasse
   openRequests 0
   rf_status  74
   status     ok
   Readings:
     2017-02-11 12:55:05   battery         ok
     2017-02-11 12:55:05   battery_percent 100
     2017-02-11 13:30:55   humidity        81
     2017-02-11 12:37:55   temp_max        3.1
     2017-02-11 05:49:29   temp_min        0.7
     2017-02-11 12:49:53   temp_trend      up
     2017-02-11 13:30:55   temperature     3.2
   Helper:
     readingNames:
       temperature
       humidity
Attributes:
   IODev      Wetter
   alias      Klima.Terrasse
   devStateIcon .*:no-icon
   event-on-change-reading battery humidity temperature
   group      Klima
   room       Garten,Wetterdaten,netatmo
   stateFormat T: temperature H: humidity
   userReadings dew:temperature.* {urDewpoint($name)}

Cluni

Schade - keiner eine Idee?

Weisswurstverkäufer

bis auf  dein "event-on-change-reading" sieht es bei mir eigentlich genauso aus.

Cluni

Das habe ich bei mir drin, weil ansonsten ständig eine Batteriewarnung auf "battery_percent" kommt. Und genau da hatte ich auch noch einen Fehler drin - ich hatte das Komma zwischen den Readings vergessen. Jetzt geht es...

Dank dir für den Hinweis!  :D

silent_mystery

Auch ich hatte das Problem, dass dewpoint in Kombination mit meinem NetAtmo-Device nicht funktionieren wollte; ich bin dem Ganzen nachgegangen und ich glaube, dass ein `max_timediff=3600` viele Probleme loest.

Hintergrund:
Im folgenden seht ihr ein klassisches Update vom NetAtmo:

  • Zuerst kommt temperature (Log-Eintrag mit `temperature!`) und wird von dewpoint processed - scheinbar ist im gleichen notify allerdings nichts von humidity zu sehen
  • Kurz darauf kommt dann humidity (Log-Eitnrag mit `humidity!` - dieses Mal processed dewpoint das Ganze aber mit leerer Temperatur (schoen an den selbst eingebauten `dewpoint_notify_self`Log-Messages zu sehen)

Jedes Mal wenn dewpoint also so ein reading bekommt, fehlt entweder die temperature oder die humidity; dewpoint ist intelligent genug, hier ein bestehendes Reading vom device auszulesen und hier kommt `max_timediff` ins Spiel: nur wenn das Reading juenger ist, als der konfigurierte Wert, wird es fuer die Betrachtung verwendet.

Was in meinem Kopf noch nicht ganz klar ist: die Readings muessten zeitlich sehr knapp beieinander liegen; tun sie aber nicht:


  • dev=netatmo_mine, hum_name=humidity, reference humidity=35 (735), temp=13.9 -> Alter des humidity Readings sind `735` Sekunden
  • >dev=netatmo_mine, temp_name=temperature, reference temperature=13.9 (172), hum=34 -> Alter des temperature Readings sind `172` Sekunden (auch wenn es gerade in diesem Moment upgedatet wurde

Auf jeden Fall brauchts deshalb einen relativ grossen `max_timediff` Wert, der diesen Umstand ignoriert. Vielleicht hat ja sonst noch jemand eine Idee, wieso die historischen Readings so "komisch" sind...


2020.04.03 11:26:37 3: netatmo_mine: poll (MODULE)
2020.04.03 11:26:37 3: netatmo_mine: requestDeviceReadings (Temperature,Humidity)
2020.04.03 11:26:37 4: dewpoint_notify: cmd_type=dewpoint devname=netatmo_mine dewname=dewpoint_netatmo, dev=netatmo_mine, dev_regex=netatmo_mine temp_name=temperature hum_name=humidity
2020.04.03 11:26:37 5: dewpoint_notify: s='temperature: 13.9'
2020.04.03 11:26:37 5: dewpoint_notify: evName='temperature:' val=13.9'
2020.04.03 11:26:37 5: dewpoint_notify: temperature! dev=netatmo_mine, temp_name=temperature, temp=13.9
2020.04.03 11:26:37 5: dewpoint_notify: max_timediff=3600
2020.04.03 11:26:37 5: dewpoint_notify_self: before if
2020.04.03 11:26:37 5: dewpoint_notify_self: empty humidity, not-empty temperature
2020.04.03 11:26:37 5: >dev=netatmo_mine, hum_name=humidity, reference humidity=35 (735), temp=13.9
2020.04.03 11:26:37 5: dewpoint_notify_self: afterif
2020.04.03 11:26:37 5: dewpoint_notify_self: before dewpoint calculation
2020.04.03 11:26:37 5: dewpoint_notify: dewpoint=-1.3
2020.04.03 11:26:37 5: dewpoint_notify_self: after dewpoint calculation
2020.04.03 11:26:37 5: dewpoint_notify: absoluteHumidity= 4.2
2020.04.03 11:26:37 5: dewpoint_notify: rval=-1.3
2020.04.03 11:26:37 4: dewpoint_notify: cmd_type=dewpoint devname=netatmo_mine dewname=dewpoint_netatmo, dev=netatmo_mine, dev_regex=netatmo_mine temp_name=temperature hum_name=humidity
2020.04.03 11:26:37 5: dewpoint_notify: s='humidity: 34'
2020.04.03 11:26:37 5: dewpoint_notify: evName='humidity:' val=34'
2020.04.03 11:26:37 5: dewpoint_notify: humidity! dev=netatmo_mine, hum_name=humidity, hum=34
2020.04.03 11:26:37 5: dewpoint_notify: max_timediff=3600
2020.04.03 11:26:37 5: dewpoint_notify_self: before if
2020.04.03 11:26:37 5: dewpoint_notify_self: empty temperature, not-empty humidity
2020.04.03 11:26:37 5: >dev=netatmo_mine, temp_name=temperature, reference temperature=13.9 (172), hum=34
2020.04.03 11:26:37 5: dewpoint_notify_self: afterif
2020.04.03 11:26:37 5: dewpoint_notify_self: before dewpoint calculation
2020.04.03 11:26:37 5: dewpoint_notify: dewpoint=-1.7
2020.04.03 11:26:37 5: dewpoint_notify_self: after dewpoint calculation
2020.04.03 11:26:37 5: dewpoint_notify: absoluteHumidity= 4.1
2020.04.03 11:26:37 5: dewpoint_notify: rval=-1.7