Userreading holt sich Werte vom anderen Gerät nicht mehr zur gleichen Zeit

Begonnen von Ruggy, 26 November 2022, 17:47:47

Vorheriges Thema - Nächstes Thema

Ruggy

Hallo,

habe einen Xiaomi Temperatur/Luftfeuchtigkeitssensor und für Temperatur und Luftfeuchtigkeit ein Gerät in FHEM angelegt.

Um mir den Taupunkt anzuzeigen hat es bisher so funktioniert, dass mir im Gerät "AUS_LUFTFEUCHTIGKEIT" mit einem userreading die Temperatur vom Gerät "AUS_TEMPERATUR" die Temperatur zu holen.

Seit ein einiger Zeit sind beide Werte oftmals (nicht immer) von Auslesezeitpunkt weit auseinander und die Berechnung vom Taupunkt funktioniert nicht mehr bzw. wird auch nicht mehr aktualisiert.

Habe mal beim Device für die Taupunktberechnung "dewpointToAllDeviceReadings" kurz Verbose 5 gesetzt.
Hier wird von einer ShellySteckdose (diese habe ich noch nicht all zu lange angelegt) anscheinend auch die Temperatur ausgelesen. Readings werden in diesen Device keine bzgl. Temperatur angezeigt.

Kann es daran liegen?
Kann ich ein einzelnes Device vom "dewpoint" ausnehmen, dass es dort nichts abruft?

Oder habe ich noch wo anders etwas falsch eingestellt?


Vielen Dank
Grüße
Ruggy


List AUS_LUFTFEUCHTIGKEIT:

Internals:
   DEF        sensor 51  IODev=deCONZ
   FUUID      5f78d12e-f33f-f59f-c1a2-0ba25f621adf5d5b
   FVERSION   31_HUEDevice.pm:0.262040/2022-07-09
   ID         S51
   INTERVAL   
   IODev      deCONZ
   NAME       AUS_LUFTFEUCHTIGKEIT
   NR         78
   STATE      ???
   TYPE       HUEDevice
   eventCount 30737
   has_events 1
   manufacturername LUMI
   modelid    lumi.weather
   name       Haustüre_Temp_Luft
   on         1
   reachable  1
   swversion  20161129
   type       ZHAHumidity
   uniqueid   00:15:8d:00:02:b5:c6:03-01-0405
   Helper:
     DBLOG:
       absFeuchte:
         DbLog:
           TIME       1669454910.87459
           VALUE      6.8
       dewpoint:
         DbLog:
           TIME       1669454910.87459
           VALUE      5.0
       humidity:
         DbLog:
           TIME       1669454910.87459
           VALUE      96.4
       temperature:
         DbLog:
           TIME       1669480569.41092
           VALUE      4.06
   READINGS:
     2022-11-05 17:17:40   IODev           deCONZ
     2022-11-26 10:28:30   absFeuchte      6.8
     2022-11-26 16:54:32   battery         88
     2022-11-26 16:54:32   batteryPercent  88
     2022-11-26 10:28:30   dewpoint        5.0
     2022-11-26 10:28:30   humidity        96.4
     2022-11-26 10:28:30   lastseen        2022-11-26T09:28Z
     2022-11-26 16:54:32   reachable       1
     2022-11-26 17:36:09   temperature     4.06
   helper:
     devtype    S
     state     
     update_timeout 1
     bm:
       HUEDevice_Attr:
         cnt        4
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        13.11. 19:17:37
         max        0.000757932662963867
         tot        0.000845193862915039
         mAr:
           del
           AUS_LUFTFEUCHTIGKEIT
           event-on-update-reading
       HUEDevice_Get:
         cnt        24
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        16.11. 06:13:01
         max        0.00020599365234375
         tot        0.00198554992675781
         mAr:
           HASH(0x384a180)
           AUS_LUFTFEUCHTIGKEIT
           ?
       HUEDevice_Set:
         cnt        4584
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        13.11. 15:40:51
         max        0.0321519374847412
         tot        2.22763609886169
         mAr:
           HASH(0x384a180)
           AUS_LUFTFEUCHTIGKEIT
           ?
     configList:
     json:
       ep         1
       etag       bcda6070fc77e34d4ffd7346d06cf3d9
       lastannounced
       lastseen   2022-11-26T15:59Z
       manufacturername LUMI
       modelid    lumi.weather
       name       Haustüre_Temp_Luft
       swversion  20161129
       type       ZHAHumidity
       uniqueid   00:15:8d:00:02:b5:c6:03-01-0405
       config:
         battery    88
         offset     0
       state:
         humidity   9640
         lastupdated 2022-11-26T09:28:30.838
     setList:
Attributes:
   IODev      deCONZ
   event-on-update-reading absFeuchte,dewpoint,humidity,temperature
   model      lumi.weather
   room       Aussen,Kellerlüftung
   userReadings temperature {ReadingsVal("AUS_TEMPERATUR","temperature",0)}


List AUS_TEMPERATUR

Internals:
   DEF        sensor 50  IODev=deCONZ
   FUUID      5f78d16e-f33f-f59f-a5a5-ed37c90bca963477
   FVERSION   31_HUEDevice.pm:0.262040/2022-07-09
   ID         S50
   INTERVAL   
   IODev      deCONZ
   NAME       AUS_TEMPERATUR
   NR         80
   STATE      ???
   TYPE       HUEDevice
   eventCount 746
   has_events 1
   manufacturername LUMI
   modelid    lumi.weather
   name       Haustüre_Temp_Luft
   on         1
   reachable  1
   swversion  20161129
   type       ZHATemperature
   uniqueid   00:15:8d:00:02:b5:c6:03-01-0402
   Helper:
     DBLOG:
       temperature:
         DbLog:
           TIME       1669478377.03593
           VALUE      4.06
   READINGS:
     2022-11-05 17:17:40   IODev           deCONZ
     2022-11-26 16:59:36   battery         88
     2022-11-26 16:59:36   batteryPercent  88
     2022-11-26 16:59:36   lastseen        2022-11-26T15:59Z
     2022-11-26 16:59:36   reachable       1
     2022-11-26 16:59:36   temperature     4.06
   helper:
     devtype    S
     state     
     update_timeout 1
     bm:
       HUEDevice_Get:
         cnt        8
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        13.11. 19:12:37
         max        0.000139951705932617
         tot        0.000733613967895508
         mAr:
           HASH(0x380d3f8)
           AUS_TEMPERATUR
           ?
       HUEDevice_Set:
         cnt        42
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        05.11. 19:29:45
         max        0.0160150527954102
         tot        0.0399103164672852
         mAr:
           HASH(0x380d3f8)
           AUS_TEMPERATUR
           ?
     configList:
     json:
       ep         1
       etag       b005a7dbf18dc50598c61cb120c93e20
       lastannounced
       lastseen   2022-11-26T15:59Z
       manufacturername LUMI
       modelid    lumi.weather
       name       Haustüre_Temp_Luft
       swversion  20161129
       type       ZHATemperature
       uniqueid   00:15:8d:00:02:b5:c6:03-01-0402
       config:
         battery    88
         offset     0
       state:
         lastupdated 2022-11-26T15:59:36.995
         temperature 406
     setList:
Attributes:
   IODev      deCONZ
   event-on-change-reading temperature
   model      lumi.weather
   room       Aussen


List vom dewpointToAllDeviceReadings

Internals:
   CMD_TYPE   dewpoint
   DEF        dewpoint .* temperature humidity dewpoint
   DEV_REGEXP .*
   FUUID      5f1bd2bc-f33f-f59f-3b11-27bb05846417f5af
   HUM_NAME   humidity
   NAME       dewpointToAllDeviceReadings
   NEW_NAME   dewpoint
   NR         19
   NTFY_ORDER 10-dewpointToAllDeviceReadings
   STATE      active
   TEMP_NAME  temperature
   TYPE       dewpoint
   helper:
     bm:
       dewpoint_Attr:
         cnt        6
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        26.11. 14:19:25
         max        0.00259208679199219
         tot        0.00280237197875977
         mAr:
           set
           dewpointToAllDeviceReadings
           verbose
           5
       dewpoint_Notify:
         cnt        1447707
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        26.11. 14:54:59
         max        0.0833990573883057
         tot        400.252690076828
         mAr:
           HASH(0x2535988)
           HASH(0x492b9c0)
Attributes:
   absFeuchte 1
   max_timediff 5
   room       Kellerlüftung


Hier ein Auszug vom Log:

.11.26 15:11:35 4: dewpoint_notify: cmd_type=dewpoint devname=myStatDevice dewname=dewpointToAllDeviceReadings, dev=myStatDevice, dev_regex=.* temp_name=temperature hum_name=humidity
2022.11.26 15:11:35 5: dewpoint_notify: s='Updated stats for: Shelly3EM_OG_Strom'
2022.11.26 15:11:35 5: dewpoint_notify: evName='Updated' val=stats'
2022.11.26 15:11:35 5: dewpoint_notify: max_timediff=1
2022.11.26 15:11:37 4: dewpoint_notify: cmd_type=dewpoint devname=myShelly_Plug_1 dewname=dewpointToAllDeviceReadings, dev=myShelly_Plug_1, dev_regex=.* temp_name=temperature hum_name=humidity
2022.11.26 15:11:37 5: dewpoint_notify: s='inttemp: 19.59'
2022.11.26 15:11:37 5: dewpoint_notify: evName='inttemp:' val=19.59'
2022.11.26 15:11:37 5: dewpoint_notify: max_timediff=1
2022.11.26 15:11:37 4: dewpoint_notify: cmd_type=dewpoint devname=myStatDevice dewname=dewpointToAllDeviceReadings, dev=myStatDevice, dev_regex=.* temp_name=temperature hum_name=humidity
2022.11.26 15:11:37 5: dewpoint_notify: s='Updated stats for: myShelly_Plug_1'
2022.11.26 15:11:37 5: dewpoint_notify: evName='Updated' val=stats'
2022.11.26 15:11:37 5: dewpoint_notify: max_timediff=1
2022.11.26 15:11:39 4: dewpoint_notify: cmd_type=dewpoint devname=Shelly3EM_OG_Heizung dewname=dewpointToAllDeviceReadings, dev=Shelly3EM_OG_Heizung, dev_regex=.* temp_name=temperature hum_name=humidity
2022.11.26 15:11:39 5: dewpoint_notify: s='voltage_0: 232.22'
2022.11.26 15:11:39 5: dewpoint_notify: evName='voltage_0:' val=232.22'
2022.11.26 15:11:39 5: dewpoint_notify: s='voltage_1: 233.49'
2022.11.26 15:11:39 5: dewpoint_notify: evName='voltage_1:' val=233.49'
2022.11.26 15:11:39 5: dewpoint_notify: s='power_2: 28.88'
2022.11.26 15:11:39 5: dewpoint_notify: evName='power_2:' val=28.88'
2022.11.26 15:11:39 5: dewpoint_notify: s='voltage_2: 230.2'
2022.11.26 15:11:39 5: dewpoint_notify: evName='voltage_2:' val=230.2'
2022.11.26 15:11:39 5: dewpoint_notify: max_timediff=1
2022.11.26 15:11:39 4: dewpoint_notify: cmd_type=dewpoint devname=myStatDevice dewname=dewpointToAllDeviceReadings, dev=myStatDevice, dev_regex=.* temp_name=temperature hum_name=humidity
2022.11.26 15:11:39 5: dewpoint_notify: s='Updated stats for: Shelly3EM_OG_Heizung'
2022.11.26 15:11:39 5: dewpoint_notify: evName='Updated' val=stats'
2022.11.26 15:11:39 5: dewpoint_notify: max_timediff=1
2022.11.26 15:11:42 4: dewpoint_notify: cmd_type=dewpoint devname=myShelly_Plug_1 dewname=dewpointToAllDeviceReadings, dev=myShelly_Plug_1, dev_regex=.* temp_name=temperature hum_name=humidity
2022.11.26 15:11:42 5: dewpoint_notify: s='inttemp: 19.43'
2022.11.26 15:11:42 5: dewpoint_notify: evName='inttemp:' val=19.43'
2022.11.26 15:11:42 5: dewpoint_notify: max_timediff=1
2022.11.26 15:11:42 4: dewpoint_notify: cmd_type=dewpoint devname=myStatDevice dewname=dewpointToAllDeviceReadings, dev=myStatDevice, dev_regex=.* temp_name=temperature hum_name=humidity
2022.11.26 15:11:42 5: dewpoint_notify: s='Updated stats for: myShelly_Plug_1'
2022.11.26 15:11:42 5: dewpoint_notify: evName='Updated' val=stats'
2022.11.26 15:11:42 5: dewpoint_notify: max_timediff=1
2022.11.26 15:11:47 4: dewpoint_notify: cmd_type=dewpoint devname=myShelly_Plug_1 dewname=dewpointToAllDeviceReadings, dev=myShelly_Plug_1, dev_regex=.* temp_name=temperature hum_name=humidity
2022.11.26 15:11:47 5: dewpoint_notify: s='inttemp: 19.47'
2022.11.26 15:11:47 5: dewpoint_notify: evName='inttemp:' val=19.47'
2022.11.26 15:11:47 5: dewpoint_notify: max_timediff=1
2022.11.26 15:11:47 4: dewpoint_notify: cmd_type=dewpoint devname=myStatDevice dewname=dewpointToAllDeviceReadings, dev=myStatDevice, dev_regex=.* temp_name=temperature hum_name=humidity
2022.11.26 15:11:47 5: dewpoint_notify: s='Updated stats for: myShelly_Plug_1'
2022.11.26 15:11:47 5: dewpoint_notify: evName='Updated' val=stats'
2022.11.26 15:11:47 5: dewpoint_notify: max_timediff=1

MadMax-FHEM

Ein userReadings wird getriggert, wenn an dem Device an dem es hängt/definiert ist etwas passiert (also AUS_LUFTFEUCHTIGKEIT).

Das muss ja nicht zwingend der selbe Zeitpunkt sein, an dem sich bei dem Device von dem sich das userReadings den Wert holt dieser auch aktuell ist (also AUS_TEMPERATUR)...

Mit event-on-... veränderst du zusätzlich die Events, auch das kann dazu führen, dass das Device an dem das userReadings hängt nicht mehr so oft "triggert" und damit das userReadings nicht so oft aktualisiert wird...
Evtl. hast du die ergänzt/verändert? -> anderes Event-Verhalten -> andere Update des userReadings...

Wenn du immer dann, wenn sich ein Wert ändert auch diese Änderung woanders hin spiegeln willst: notify auf diesen Event und dann setreading

Du hast eh "Glück", weil dein userReadings keinen Trigger-Anteil hat, also auf JEDEN Änderung/Event reagiert, den das Device wo es dran hängt ausführt (also AUS_LUFTFEUCHTIGKEIT).

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Ruggy

Ich habe noch ein weiteres Thermometer, bei welchem es aber funktioniert. Hier sind die Readings nicht so weit auseinander.

Habe noch ein weiteres Thermometer neu angelegt. Hier funktioniert es auch.

Die Attributes sind bei allen gleich.

Nur bei den AUS_LUFTFEUCHTIGKEIT wird anscheinend die Luftfeuchtigkeit nicht bzw. sehr selten ausgelesen (zuletzt um 3:28), obwohl diese ja genau zu diesem Device gehört.

Kann es sein, dass das Thermometer defekt ist oder sieht es trotzdem nach einen Einstellungsproblem in FHEM aus?


Weiteres Thermomter; KEL_LUFTFEUCHTIGKEIT

Internals:
   DEF        sensor 34  IODev=deCONZ
   FUUID      5f1bd2bf-f33f-f59f-4223-20393969640a9584
   FVERSION   31_HUEDevice.pm:0.262040/2022-07-09
   ID         S34
   INTERVAL   
   IODev      deCONZ
   NAME       KEL_LUFTFEUCHTIGKEIT
   NR         41
   STATE      ???
   TYPE       HUEDevice
   eventCount 12957
   has_events 1
   manufacturername LUMI
   modelid    lumi.weather
   name       Keller
   on         1
   reachable  1
   swversion  20161129
   type       ZHAHumidity
   uniqueid   00:15:8d:00:02:72:0d:d0-01-0405
   Helper:
     DBLOG:
       absFeuchte:
         DbLog:
           TIME       1669537634.95965
           VALUE      9.1
       dewpoint:
         DbLog:
           TIME       1669537634.95965
           VALUE      9.5
       humidity:
         DbLog:
           TIME       1669537634.95965
           VALUE      92.24
       temperature:
         DbLog:
           TIME       1669541350.65597
           VALUE      10.78
   READINGS:
     2022-11-05 17:17:40   IODev           deCONZ
     2022-11-27 09:27:14   absFeuchte      9.1
     2022-11-27 09:27:14   battery         75
     2022-11-27 09:27:14   batteryPercent  75
     2022-11-27 09:27:14   dewpoint        9.5
     2020-12-21 07:56:38   fan             on
     2022-11-27 09:27:14   humidity        92.24
     2022-11-27 09:27:14   lastseen        2022-11-27T08:27Z
     2022-11-27 09:27:14   reachable       1
     2022-11-27 10:29:10   temperature     10.78
   helper:
     devtype    S
     state     
     update_timeout 1
     bm:
       HUEDevice_Attr:
         cnt        2
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        13.11. 19:27:58
         max        2.88486480712891e-05
         tot        4.88758087158203e-05
         mAr:
           set
           KEL_LUFTFEUCHTIGKEIT
           event-min-interval
           .*:1800
       HUEDevice_Get:
         cnt        13
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        13.11. 19:27:59
         max        0.000110864639282227
         tot        0.000716686248779297
         mAr:
           HASH(0x3695758)
           KEL_LUFTFEUCHTIGKEIT
           ?
       HUEDevice_Set:
         cnt        1520
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        05.11. 19:29:45
         max        0.0161919593811035
         tot        0.746381282806396
         mAr:
           HASH(0x3695758)
           KEL_LUFTFEUCHTIGKEIT
           ?
     configList:
     json:
       ep         1
       etag       c3dc135f35ea94135c349098c91372f8
       lastannounced
       lastseen   2022-11-27T08:27Z
       manufacturername LUMI
       modelid    lumi.weather
       name       Keller
       swversion  20161129
       type       ZHAHumidity
       uniqueid   00:15:8d:00:02:72:0d:d0-01-0405
       config:
         battery    75
         offset     0
       state:
         humidity   9224
         lastupdated 2022-11-27T08:27:14.925
     setList:
Attributes:
   IODev      deCONZ
   event-on-update-reading absFeuchte,dewpoint,humidity,temperature
   model      lumi.weather
   room       Keller,Kellerlüftung
   userReadings temperature {ReadingsVal("KEL_TEMPERATUR","temperature",0)}


weiteres Thermometer; neu angelegt

Internals:
   CFGFN     
   DEF        sensor 75  IODev=deCONZ
   FUUID      63820d76-f33f-f59f-7571-895fba2a9f2630f8
   FVERSION   31_HUEDevice.pm:0.262040/2022-07-09
   ID         S75
   INTERVAL   
   IODev      deCONZ
   NAME       HUESensor75
   NR         37677
   STATE      Initialized
   TYPE       HUEDevice
   eventCount 1292
   has_events 1
   manufacturername LUMI
   modelid    lumi.weather
   name       Aussensensor_Temp_Feucht
   on         1
   reachable  1
   swversion  20191205
   type       ZHAHumidity
   uniqueid   00:15:8d:00:07:e3:f9:d1-01-0405
   Helper:
     DBLOG:
       absFeuchte:
         DbLog:
           TIME       1669541080.34206
           VALUE      6.9
       dewpoint:
         DbLog:
           TIME       1669541080.34206
           VALUE      5.9
       humidity:
         DbLog:
           TIME       1669541080.34206
           VALUE      44.35
       temperature:
         DbLog:
           TIME       1669541410.8359
           VALUE      18.27
   READINGS:
     2022-11-26 13:58:30   IODev           deCONZ
     2022-11-27 10:24:40   absFeuchte      6.9
     2022-11-27 10:24:40   battery         100
     2022-11-27 10:24:40   batteryPercent  100
     2022-11-27 10:24:40   dewpoint        5.9
     2022-11-27 10:24:40   humidity        44.35
     2022-11-27 10:24:40   lastseen        2022-11-27T09:24Z
     2022-11-27 10:24:40   reachable       1
     2022-11-27 10:30:10   temperature     18.27
   helper:
     devtype    S
     fromAutocreate 1
     reachable  0
     state     
     update_timeout 1
     bm:
       HUEDevice_Attr:
         cnt        8
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        26.11. 13:58:30
         max        0.00127410888671875
         tot        0.00146913528442383
         mAr:
           set
           HUESensor75
           IODev
           deCONZ
       HUEDevice_Define:
         cnt        1
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        26.11. 13:58:30
         max        0.031174898147583
         tot        0.031174898147583
         mAr:
           HASH(0x48929e0)
           HUESensor75 HUEDevice sensor 75 IODev=deCONZ
       HUEDevice_Get:
         cnt        15
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        26.11. 14:08:25
         max        0.000134944915771484
         tot        0.000828266143798828
         mAr:
           HASH(0x48929e0)
           HUESensor75
           ?
       HUEDevice_Set:
         cnt        330
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        26.11. 13:59:23
         max        0.0271930694580078
         tot        0.205711841583252
         mAr:
           HASH(0x48929e0)
           HUESensor75
           ?
     configList:
     json:
       ep         1
       etag       c593d8d541a2683d9807a463ec2d39af
       lastannounced
       lastseen   2022-11-27T09:24Z
       manufacturername LUMI
       modelid    lumi.weather
       name       Aussensensor_Temp_Feucht
       swversion  20191205
       type       ZHAHumidity
       uniqueid   00:15:8d:00:07:e3:f9:d1-01-0405
       config:
         battery    100
         offset     0
       state:
         humidity   4435
         lastupdated 2022-11-27T09:24:40.307
     setList:
Attributes:
   IODev      deCONZ
   alias      Humidity 75
   group      HUESensor
   model      lumi.weather
   room       Aussen,deCONZ_Geraete
   userReadings temperature {ReadingsVal("HUESensor76","temperature",0)}

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Ruggy

Funkverbindung ja. Perfekt wahrscheinlich nicht. Es wäre aber eine Bosch Smart+ in der Nähe, welche ja als Repeater funktionieren sollte.

Ich lege jetzt aber mal testweise das Thermometer neben das Thermometer, welches funktioniert und beobachte das Verhalten mal.

Ruggy

@frank

Es liegt an der Funktverbindung.
Nachdem ich es neben das andere gelegt habe, waren alle Werte gleich vorhanden.

Ich mußte vor kurzem dem Strom abschalten. Evlt. hat sich das Thermometer über einen anderen Weg ins Mesh gesucht, welcher nicht ideal war.
Aber wie geschrieben, wäre diese Steckdose ziemlich in der Nähe. Eine Wand bzw. Fenster ist dazwischen. Also fast "Blickkontakt".
Es ist noch eine weitere Steckdose in der Nähe. Können sich diese gegenseitig stören bzw. andere Sensoren?

MadMax-FHEM

Wie erklärt und bei userReadings (hoffentlich) nachzulesen:

es hängt von Events ab, die von dem Device an dem das userReadings hängt/definiert ist ab und davon welche Triggereinstellung beim userReadings das u.U. weiter einschränkt (hast du nicht).

Dass es dann bei gleich definierten Devices mal besser und mal schlechter geht hängt davon ab wie viele Events eben dazu führen das userReadings anzustossen!

Und das hängt NICHT an dem FREMDEN Device wo das userReadings die Daten in deinem Fall herholt, sondern eben an dem Device wo das userReadings definiert ist.
Zusätzlich schränken Attribute wie event-on-... das Eventverhalten weiter ein...

Und all das kann man z.B. im Eventmonitor sehen...

Da die Events/Änderungen der beiden Devices (meist) unabhängig voneinander passieren stimmen die Werte halt nur bedingt überein.

Also:

userReadings am Device A (holt Daten von Device B)

Änderung (passender Event) am Device A -> userReadings wird ausgeführt (userReadings holt sich den Wert von Device B / wie alt auch immer der sein mag)

Änderung am Device B -> userReadings macht nix

Weiter Änderung am Device B -> userReadings macht nix

usw.

Änderung an Device A -> userReadings wird ausgelöst (wie viele Änderungen bei Device B du bis dahin "verpasst" hast: keine Ahnung / wie alt nun der Wert bei Device B ist: naja es ist halt der der zuletzt dort geändert wurde muss nicht aktuell sein und kann 1s nach dem Ausführen des userReadings schon wieder anders sein)

Wenn du wirklich immer synchron sein willst: notify auf den Wert den du "synchronisieren" willst und dann diesen per setreading übertragen...

Alles andere hängt eben vom Event-Verhalten der beteiligten Devices ab...

EDIT: klar mehr Events größere Wahrscheinlichkeit, dass die Werte näher beeinander liegen. Das Grundproblem bleibt aber: per userReadings Werte aus einem anderen Device holen -> dafür ist userReadings eigentlich nicht gedacht weil sich die beiden Devices (meist) unabhängig voneinander ändern... Und bei Polling (und nichts anderes machst du) ist es halt unklar wie aktuell die Daten sind...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Ruggy

Vielen Dank für Deine ausführliche Antwort.

Ich glaube ich habe das Prinzip vom userReadings verstanden.

In meinem Fall lag es aber hauptsächlich an der schlechten Funkverbindung.


Zitat von: MadMax-FHEM am 27 November 2022, 11:55:10

Wenn du wirklich immer synchron sein willst: notify auf den Wert den du "synchronisieren" willst und dann diesen per setreading übertragen...


Das wäre wahrscheinlich für eine solche Steuerung, die ich habe am sinnvollsten.
Vor allem Werte von Außen und Keller vom selben Zeitpunkt.

Ich weiß jetzt noch nicht wie genau das norify aussehen muss.

Aber ist es in etwa so, dass ich mit dem Notify alle XX Minuten mir die Werte vom Device Luftfeuchtigkeit und Device Temperatur in ein Dummy hole.
Das selbe auch für das Thermometer im Keller in ein anderes Dummy und dann daraus den dewpoint berechnen lasse?


Und dann müsste ich die Werte für die Berechnung der Differenz vom Taupunkt im Keller und Außen (damit es auch trockener ist, wenn der Lüfter einschaltet) aus diesen beiden Dummys holen?

So wird derzeit die Differenz vom Taupunkt berechnet:

Internals:
   DEF        (KEL|AUS)_LUFTFEUCHTIGKEIT:dewpoint.* { my $a=ReadingsVal("KEL_LUFTFEUCHTIGKEIT", "dewpoint", 0)-ReadingsVal("AUS_LUFTFEUCHTIGKEIT", "dewpoint", 0); fhem ("set deltadewpoint " . $a) }
   FUUID      5fe0eb52-f33f-f59f-d120-dc8c0132d5471c97
   NAME       calcdelta
   NR         85
   NTFY_ORDER 50-calcdelta
   REGEXP     (KEL|AUS)_LUFTFEUCHTIGKEIT:dewpoint.*
   STATE      2022-11-27 16:55:46
   TRIGGERTIME 1669564546.90154
   TYPE       notify
   READINGS:
     2022-11-05 17:17:37   state           active
     2022-11-27 16:55:46   triggeredByDev  KEL_LUFTFEUCHTIGKEIT
     2022-11-27 16:55:46   triggeredByEvent dewpoint: 9.6
   helper:
     bm:
       notify_Exec:
         cnt        1512700
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        13.11. 11:05:07
         max        0.722661018371582
         tot        739.659292936325
         mAr:
           HASH(0x3f94490)
           HASH(0x3695758)
       notify_Set:
         cnt        92
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        13.11. 15:40:51
         max        0.000225067138671875
         tot        0.00760340690612793
         mAr:
           HASH(0x3f94490)
           calcdelta
           ?
Attributes:
   room       Kellerlüftung

MadMax-FHEM

Nix dummy!

Einfach den Eventmonitor aufmachen, auf das Event temperatur KEL_TEMPERATUR warten und das notify anlegen lassen.
https://wiki.fhem.de/wiki/Event_monitor
https://wiki.fhem.de/wiki/Event_monitor#Vorgehensweise_beim_Anlegen_eines_Ger.C3.A4tes

Dort dann z.B.


{my $value=ReadingsVal("KEL_TEMPERATUR","temperature",0); fhem("setreading KEL_LUFTFEUCHTIGKEIT temperature $value")}


Oder jenachdem wie das notify bzw. die Event-/Trigger-RegEx aussieht geht auch sowas:


setreading KEL_LUFTFEUCHTIGKEIT temperature $EVENT


bzw.

setreading KEL_LUFTFEUCHTIGKEIT temperature $EVTPART1


Da musst du halt mal probieren...

Vorteil: immer wenn sich beim Device KEL_TEMPERATUR das Reading temperature ändert (bzw. genauer ein Event erzeugt), dann wird der aktelle Wert (kam ja gerade erst) in das Device KEL_LUFTFEUCHTIGKEIT in das Reading temperature geschrieben wird.

Für dewpoint ändert sich doch nichts.

Unterschied zwischen deinem userReadings und dem notify: bei userReadings wird der Wert aus temperature genommen zu dem Zeitpunkt wo sich etws am Device KEL_LUFTFEUCHTIGKEIT tut (der Wert temperature kann dann beliebig alt sein) und beim notify wird immer das aktuelle Wert von temperature genommen (-> notify reagiert ja darauf) und "sofort" in das Device KEL_LUFTFEUCHTIGKEIT geschrieben.

Also ist bei Verwendung eines notify der Wert von temperature im Device KEL_LUFTFEUCHTIGKEIT immer derselbe wie im Device KEL_TEMPERATUR (sofern keine Events "unterdrückt" werden)...

Mehr wollte ich nicht mitteilen ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Ruggy

Danke nochmal für die ausführliche Hilfe.
Werde es mal probieren.

Ich muß wahrscheinlich vorher mein jetziges Userreadings im KEL_LUFTFEUCHTIGKEIT löschen?


MadMax-FHEM

Müssen nicht aber es ist dann nicht mehr wirklich nützlich ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Ruggy

Danke @frank

Lese ich mir gleich mal durch.
Hätte ich mir evlt. so einiges an Ärger sparen können. Mal schauen, ob es für meine Anwendung auch passt.