Xiaomi Temperatursensor zeitweise auf -100 Grad

Begonnen von Ruggy, 01 Februar 2023, 15:08:13

Vorheriges Thema - Nächstes Thema

Ruggy

@MadMax-FHEM

Danke, dass Du deinen Beitrag nochmal eingestellt hast; mich hat es gewundert, dass er weg war, während ich geschrieben habe.

Sicher bin ich mir nicht, ob es mich bzgl. den -100 Grad weiter bringt.
Andererseits ist es aber so, dass anscheinend auch etwas mit den event-on-... grundsätzlich nicht stimmt und/oder ich es nicht richtig verstanden habe.

Zitat von: MadMax-FHEM am 27 August 2023, 15:17:18Naja, nachdem ich in den anderen Thread geschaut habe und dort gesehen habe, dass tatsächlich der Sensor selbst wohl falsche Werte liefert
Meinst Du den Thread mit "Readings aktualisieren sich nicht richtig"?
Hier ist eigentlich der Sensor im Keller betroffen, welcher ein anderes Verhalten zeigt, aber keine -100 Grad Werte liefert.


Das "event-on-change-reading" beim Temperatur-Device war auf state gesetzt. Das war denke ich grundsätzlich falsch, weil es gar kein state gibt.
Habe es jetzt auf temperature geändert.

Oder wäre dies hier wiederum auch nicht so wichtig, weil die Temperatur durch das userReadings im Feuchtigkeits-Device geholt wird (wegen Deiner folgenden Erklärung; wenn ich es richtig verstanden habe)?:
Zitat von: MadMax-FHEM am 27 August 2023, 15:17:181. dein (jedes) userReadings wird getriggert von Events des Devices an dem es "hängt", also nicht, wenn sich an dem Device wo die Daten herkommen etwas ändert.

Bedeutet dass, das die Temperatur des userReadings erst aktualisiert wird, wenn sich Humidity im Feuchtigkeits-Device ändert?
Und dann wird auch erst absFeuchte und dewpoint berechnet?

Sollte dann auch im event-on-update-reading nur das humidity hinein und absFeuchte und dewpoint nicht?
Werden dann aber trotzdem die Werte für absFeuchte und dewpoint gespeichert, welche ich ja für den SVG-DBlog bräuchte?

Zitat von: MadMax-FHEM am 27 August 2023, 15:17:18Dann fehlt das list des dewpoint-Devices...

Hier wäre das List:

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         47
   NTFY_ORDER 10-dewpointToAllDeviceReadings
   STATE      active
   TEMP_NAME  temperature
   TYPE       dewpoint
   helper:
     bm:
       dewpoint_Notify:
         cnt        49584
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        25.08. 07:49:11
         max        0.0111498832702637
         tot        16.8463199138641
         mAr:
           HASH(dewpointToAllDeviceReadings)
           HASH(myShelly_Plug_1)
Attributes:
   absFeuchte 1
   max_timediff 5
   room       Kellerlüftung

Zitat von: MadMax-FHEM am 27 August 2023, 15:17:18Denn (mir) unklar ist was die Graphen zeigen, weil nicht angegeben ist, wo die Daten herkommen usw.

Die Daten kommen aus der Datenbank DbLog


Ruggy

Das HUEDevice66 und HUEDevice66 hat z.B. folgendes gemeldet; auch die -100 (das HUESensor66):

2023-08-27 20:44:52 HUEDevice HUESensor66 temperature: 23.73
2023-08-27 20:44:52 HUEDevice HUESensor65 humidity: 61.17
2023-08-27 20:44:52 HUEDevice HUESensor65 temperature: 23.73
2023-08-27 20:44:52 HUEDevice HUESensor65 absFeuchte: 13.1
2023-08-27 20:44:52 HUEDevice HUESensor65 dewpoint: 15.8
2023-08-27 20:44:52 HUEDevice HUESensor65 temperature: 23.73
2023-08-27 20:44:53 HUEDevice HUESensor66 temperature: -100
2023-08-27 20:45:03 HUEDevice HUESensor66 temperature: 23.74
2023-08-27 20:45:03 HUEDevice HUESensor65 humidity: 61.21
2023-08-27 20:45:03 HUEDevice HUESensor65 temperature: 23.74
2023-08-27 20:45:03 HUEDevice HUESensor65 absFeuchte: 13.1
2023-08-27 20:45:03 HUEDevice HUESensor65 dewpoint: 15.8
2023-08-27 20:45:03 HUEDevice HUESensor65 temperature: 23.74

Zitat von: MadMax-FHEM am 27 August 2023, 15:17:18ich würde das userReadings zumindest auf Events von humidity beschränken (Trigger)

Ist das userReadings so richtig?
Dies hatte ich bei den oberen Events noch nicht so gesetzt.

temperature:humidity.* {ReadingsVal("HUESensor66","temperature",0)}

Ruggy

Noch ein weiteres Beispiel mit den 100 Grad.
Hier mit den userReadings und dem Trigger (falls dies so richtig ist)

Dies zeigt der Event Monitor für HUESensor66 und HUESensor65:

2023-08-27 21:23:06 HUEDevice HUESensor66 temperature: 23.45
2023-08-27 21:23:07 HUEDevice HUESensor66 temperature: -100
2023-08-27 21:23:17 HUEDevice HUESensor66 temperature: 23.45

2023-08-27 21:23:06 HUEDevice HUESensor65 humidity: 59.73
2023-08-27 21:23:06 HUEDevice HUESensor65 temperature: 23.74
2023-08-27 21:23:06 HUEDevice HUESensor65 absFeuchte: 12.8
2023-08-27 21:23:06 HUEDevice HUESensor65 dewpoint: 15.4
2023-08-27 21:23:17 HUEDevice HUESensor65 humidity: 59.75
2023-08-27 21:23:17 HUEDevice HUESensor65 temperature: -100
2023-08-27 21:23:17 HUEDevice HUESensor65 absFeuchte: 0.0
2023-08-27 21:23:17 HUEDevice HUESensor65 dewpoint: -102.5

Dies ist das List vom HUEDevice65 zu diesem Zeitpunkt:

Internals:
   DEF        sensor 65  IODev=deCONZ
   FUUID      6339d54c-f33f-f59f-fd73-38e1cf0c416bc676
   FVERSION   31_HUEDevice.pm:0.267300/2022-11-21
   ID         S65
   INTERVAL   
   IODev      deCONZ
   NAME       HUESensor65
   NR         180
   STATE      ???
   TYPE       HUEDevice
   eventCount 3769
   has_events 1
   manufacturername LUMI
   modelid    lumi.weather
   name       Küche-OG
   on         1
   reachable  1
   swversion  20161129
   type       ZHAHumidity
   uniqueid   00:15:8d:00:02:b5:45:19-01-0405
   Helper:
     DBLOG:
       absFeuchte:
         DbLog:
           TIME       1693164197.70632
           VALUE      0.0
       dewpoint:
         DbLog:
           TIME       1693164197.70632
           VALUE      -102.5
       humidity:
         DbLog:
           TIME       1693164197.70632
           VALUE      59.75
       temperature:
         DbLog:
           TIME       1693164197.70632
           VALUE      -100
   READINGS:
     2023-08-25 07:47:09   IODev           deCONZ
     2023-08-27 21:23:17   absFeuchte      0.0
     2023-08-27 21:23:17   battery         65
     2023-08-27 21:23:17   batteryPercent  65
     2023-08-27 21:23:17   dewpoint        -102.5
     2023-08-27 21:23:17   humidity        59.75
     2023-08-27 21:23:17   lastseen        2023-08-27T19:23Z
     2023-08-27 21:23:17   reachable       1
     2023-08-27 21:23:17   temperature     -100
   helper:
     devtype    S
     state     
     update_timeout 1
     bm:
       HUEDevice_Attr:
         cnt        4
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        27.08. 16:12:24
         max        4.10079956054688e-05
         tot        0.000138044357299805
         mAr:
           set
           HUESensor65
           event-on-update-reading
           humidity
       HUEDevice_Get:
         cnt        12
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        27.08. 20:22:56
         max        0.0016319751739502
         tot        0.00233650207519531
         mAr:
           HASH(0x46f7e50)
           HUESensor65
           ?
       HUEDevice_Set:
         cnt        697
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        25.08. 07:48:47
         max        0.0166151523590088
         tot        0.344811201095581
         mAr:
           HASH(HUESensor65)
           HUESensor65
           ?
     configList:
     json:
       ep         1
       etag       96c49cef822015d27bd86a87afed9d18
       lastannounced
       lastseen   2023-08-27T19:23Z
       manufacturername LUMI
       modelid    lumi.weather
       name       Küche-OG
       swversion  20161129
       type       ZHAHumidity
       uniqueid   00:15:8d:00:02:b5:45:19-01-0405
       config:
         battery    65
         offset     0
       state:
         humidity   5975
         lastupdated 2023-08-27T19:23:17.670
     setList:
Attributes:
   IODev      deCONZ
   alias      KUECHE_LUFTFEUCHTIGKEIT
   event-on-update-reading humidity,absFeuchte,dewpoint,temperature
   group      HUESensor
   model      lumi.weather
   room       Küche_OG,deCONZ_Geraete
   userReadings temperature:humidity.* {ReadingsVal("HUESensor66","temperature",0)}

Ruggy

Das mit dem -100 Grad ist tatsächlich ein Batterieproblem. Hier wird darüber diskutiert bzw. wie der Fehler beseitigt werden könnte.
Eine Lösung gibt es aber anscheinend nicht und das Problem hat auch anscheinend nicht jeder.

https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1748
https://forum.phoscon.de/t/its-time-to-fix-aqara-battery-bug/2368

Habe mir die Tipps in diesem Thread nochmal angeschaut, wie man den -100 Grand Ausschlag umgehen könnte.
Möchte nicht schon bei 80 oder 85 die Batterie wechseln, wenn es grundsätzlich noch funktioniert.
Am liebsten wäre es mir, wenn es den -100 Grad Wert gleich gar nicht aufgezeichnet würde.


Probiere derzeit testweise den Tip von @DeeSPe mit readingsChange.

Hier wird aber immer auch ein Temperaturwert von 0 Grad mit ausgelesen. Dadurch ist in der Graphen ein kleiner Sprung.
Ist hier in meiner Syntax etwas falsch oder geht es nicht anders?

So sieht es im Event Manager aus:

2023-08-28 18:13:33 HUEDevice HUESensor65 humidity: 63.26
2023-08-28 18:13:33 HUEDevice HUESensor65 temperature: 23.15
2023-08-28 18:13:33 HUEDevice HUESensor65 absFeuchte: 13.1
2023-08-28 18:13:33 HUEDevice HUESensor65 dewpoint: 15.8
2023-08-28 18:13:44 HUEDevice HUESensor65 humidity: 63.33
2023-08-28 18:13:44 HUEDevice HUESensor65 temperature: 23.12
2023-08-28 18:13:44 HUEDevice HUESensor65 absFeuchte: 13.1
2023-08-28 18:13:44 HUEDevice HUESensor65 dewpoint: 15.8
2023-08-28 18:21:01 HUEDevice HUESensor65 humidity: 60.03
2023-08-28 18:21:01 HUEDevice HUESensor65 temperature: 23.12
2023-08-28 18:21:01 HUEDevice HUESensor65 absFeuchte: 12.4
2023-08-28 18:21:01 HUEDevice HUESensor65 dewpoint: 14.9
2023-08-28 18:21:11 HUEDevice HUESensor65 humidity: 60.02
2023-08-28 18:21:11 HUEDevice HUESensor65 temperature: 0
2023-08-28 18:21:11 HUEDevice HUESensor65 absFeuchte: 2.9
2023-08-28 18:21:11 HUEDevice HUESensor65 dewpoint: -6.1
2023-08-28 18:28:59 HUEDevice HUESensor65 humidity: 59.92
2023-08-28 18:28:59 HUEDevice HUESensor65 temperature: 23.14
2023-08-28 18:28:59 HUEDevice HUESensor65 absFeuchte: 12.4
2023-08-28 18:28:59 HUEDevice HUESensor65 dewpoint: 14.9
2023-08-28 18:29:09 HUEDevice HUESensor65 humidity: 59.74
2023-08-28 18:29:09 HUEDevice HUESensor65 temperature: 0
2023-08-28 18:29:09 HUEDevice HUESensor65 absFeuchte: 2.9
2023-08-28 18:29:09 HUEDevice HUESensor65 dewpoint: -6.1
2023-08-28 18:38:07 HUEDevice HUESensor65 humidity: 58.61
2023-08-28 18:38:07 HUEDevice HUESensor65 temperature: 23.18
2023-08-28 18:38:07 HUEDevice HUESensor65 absFeuchte: 12.1
2023-08-28 18:38:07 HUEDevice HUESensor65 dewpoint: 14.6
2023-08-28 18:38:18 HUEDevice HUESensor65 humidity: 58.5
2023-08-28 18:38:18 HUEDevice HUESensor65 temperature: 0
2023-08-28 18:38:18 HUEDevice HUESensor65 absFeuchte: 2.8
2023-08-28 18:38:18 HUEDevice HUESensor65 dewpoint: -6.4

So habe ich es eingerichtet:

attr HUESensor65 oldreadings temperatur
define HundertGradProb_Kueche readingsChange HUESensor65 temperature (.+) {$1!=-100?$1:OldReadingsVal('HUESensor65','temperature',0)}

Evlt. spielen auch die event-on-xx-readings eine Rolle und es ist hier immer noch etwas falsch?


Im Temperatursensor:
attr HUESensor66 event-on-change-reading temperature

Im Feuchtigkeitssensor:
attr HUESensor65 event-on-update-reading humidity,absFeuchte,dewpoint,temperatureund
defmod HundertGradProb_Kueche readingsChange HUESensor65 temperature (.+) {$1!=-100?$1:OldReadingsVal('HUESensor65','temperature',0)}attr HUESensor65 userReadings temperature:humidity.* {ReadingsVal("HUESensor66","temperature",0)}

Hier wären noch Listings, falls diese benötig werden:

Vom readingsChange
Internals:
   CFGFN     
   DEF        HUESensor65 temperature (.+) {$1!=-100?$1:OldReadingsVal('HUESensor65','temperature',0)}
   FUUID      64ec93bd-f33f-f59f-0a0f-569e62f0168d00c4
   NAME       HundertGradProb_Kueche
   NOTIFYDEV  HUESensor65
   NR         16404
   NTFY_ORDER 00-HundertGradProb_Kueche
   STATE      active
   TYPE       readingsChange
   READINGS:
     2023-08-28 14:31:57   state           active
   helper:
     bm:
       readingsChangeDefine:
         cnt        1
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        28.08. 14:31:57
         max        0.00300002098083496
         tot        0.00300002098083496
         mAr:
           HASH(0x326f2c8)
           HundertGradProb_Kueche readingsChange HUESensor65 temperature (.+) {$1!=-100?$1:OldReadingsVal('HUESensor65','temperature',0)}
       readingsChangeExec:
         cnt        28
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        28.08. 18:28:59
         max        0.00606489181518555
         tot        0.0284314155578613
         mAr:
           HASH(0x326f2c8)
           HASH(0x46f7e50)
Attributes:
   room       Küche_OG

vom Feuchtesensor:

Internals:
   DEF        sensor 65  IODev=deCONZ
   FUUID      6339d54c-f33f-f59f-fd73-38e1cf0c416bc676
   FVERSION   31_HUEDevice.pm:0.267300/2022-11-21
   ID         S65
   INTERVAL   
   IODev      deCONZ
   NAME       HUESensor65
   NR         180
   STATE      ???
   TYPE       HUEDevice
   eventCount 3889
   has_events 1
   manufacturername LUMI
   modelid    lumi.weather
   name       Küche-OG
   on         1
   reachable  1
   swversion  20161129
   type       ZHAHumidity
   uniqueid   00:15:8d:00:02:b5:45:19-01-0405
   Helper:
     DBLOG:
       absFeuchte:
         DbLog:
           TIME       1693240698.7579
           VALUE      2.8
       dewpoint:
         DbLog:
           TIME       1693240698.7579
           VALUE      -6.4
       humidity:
         DbLog:
           TIME       1693240698.7579
           VALUE      58.5
       temperature:
         DbLog:
           TIME       1693240698.7579
           VALUE      0
   READINGS:
     2023-08-25 07:47:09   IODev           deCONZ
     2023-08-28 18:38:18   absFeuchte      2.8
     2023-08-28 18:38:18   battery         62
     2023-08-28 18:38:18   batteryPercent  62
     2023-08-28 18:38:18   dewpoint        -6.4
     2023-08-28 18:38:18   humidity        58.5
     2023-08-28 18:38:18   lastseen        2023-08-28T16:38Z
     2023-08-28 18:38:18   reachable       1
     2023-08-28 18:38:18   temperature     0
   helper:
     devtype    S
     state     
     update_timeout 1
     bm:
       HUEDevice_Attr:
         cnt        5
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        27.08. 16:12:24
         max        4.10079956054688e-05
         tot        0.000176906585693359
         mAr:
           set
           HUESensor65
           event-on-update-reading
           humidity
       HUEDevice_Get:
         cnt        18
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        27.08. 20:22:56
         max        0.0016319751739502
         tot        0.00275421142578125
         mAr:
           HASH(0x46f7e50)
           HUESensor65
           ?
       HUEDevice_Set:
         cnt        749
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        25.08. 07:48:47
         max        0.0166151523590088
         tot        0.37520694732666
         mAr:
           HASH(HUESensor65)
           HUESensor65
           ?
     configList:
     json:
       ep         1
       etag       06e5311cf6e3ee49c03f027b48e04d8f
       lastannounced
       lastseen   2023-08-28T16:38Z
       manufacturername LUMI
       modelid    lumi.weather
       name       Küche-OG
       swversion  20161129
       type       ZHAHumidity
       uniqueid   00:15:8d:00:02:b5:45:19-01-0405
       config:
         battery    62
         offset     0
       state:
         humidity   5850
         lastupdated 2023-08-28T16:38:18.718
     setList:
Attributes:
   IODev      deCONZ
   alias      KUECHE_LUFTFEUCHTIGKEIT
   event-on-update-reading humidity,absFeuchte,dewpoint,temperature
   group      HUESensor
   model      lumi.weather
   oldreadings temperatur
   room       Küche_OG,deCONZ_Geraete
   userReadings temperature:humidity.* {ReadingsVal("HUESensor66","temperature",0)}


Vom Temperatursensor

Internals:
   DEF        sensor 66  IODev=deCONZ
   FUUID      6339d54c-f33f-f59f-a638-827bd2277898bf64
   FVERSION   31_HUEDevice.pm:0.267300/2022-11-21
   ID         S66
   INTERVAL   
   IODev      deCONZ
   NAME       HUESensor66
   NR         181
   STATE      ???
   TYPE       HUEDevice
   eventCount 217
   has_events 1
   manufacturername LUMI
   modelid    lumi.weather
   name       Küche-OG
   on         1
   reachable  1
   swversion  20161129
   type       ZHATemperature
   uniqueid   00:15:8d:00:02:b5:45:19-01-0402
   Helper:
     DBLOG:
       temperature:
         DbLog:
           TIME       1693240698.87764
           VALUE      23.7
   READINGS:
     2023-08-25 07:47:09   IODev           deCONZ
     2023-08-28 18:38:18   battery         62
     2023-08-28 18:38:18   batteryPercent  62
     2023-08-28 18:38:18   lastseen        2023-08-28T16:38Z
     2023-08-28 18:38:18   reachable       1
     2023-08-28 18:38:18   temperature     23.7
   helper:
     devtype    S
     state     
     update_timeout 1
     bm:
       HUEDevice_Attr:
         cnt        1
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        27.08. 12:13:22
         max        0.00174713134765625
         tot        0.00174713134765625
         mAr:
           set
           HUESensor66
           event-on-change-reading
           temperature
       HUEDevice_Get:
         cnt        13
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        27.08. 12:10:32
         max        9.01222229003906e-05
         tot        0.000715732574462891
         mAr:
           HASH(0x443be50)
           HUESensor66
           ?
       HUEDevice_Set:
         cnt        158
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        25.08. 07:48:47
         max        0.0166890621185303
         tot        0.102755546569824
         mAr:
           HASH(HUESensor66)
           HUESensor66
           ?
     configList:
     json:
       ep         1
       etag       02177d57f093c9b793470e99211a44c6
       lastannounced
       lastseen   2023-08-28T16:38Z
       manufacturername LUMI
       modelid    lumi.weather
       name       Küche-OG
       swversion  20161129
       type       ZHATemperature
       uniqueid   00:15:8d:00:02:b5:45:19-01-0402
       config:
         battery    62
         offset     0
       state:
         lastupdated 2023-08-28T16:38:18.844
         temperature 2370
     setList:
Attributes:
   IODev      deCONZ
   alias      KUECHE_TEMPERATUR
   event-on-change-reading temperature
   group      HUESensor
   model      lumi.weather
   room       Küche_OG,deCONZ_Geraete

sash.sc

Du wirst dann wohl bei eintreffen der Temperatur eine Abfrage auf Plausibilität machen müssen.

Z. B. Ob die Temperatur größer 0 Grad ist oder ob die Differenz zum letzten Wert nicht größer wie 10 Grad ist.

Ich habe bei manchen Daten die ich mir per httpmod aus dem Netz hole, solche Anfragen gemacht. Wenn ok, dann schreibe den Wert in ein reading.

Gruß Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

MadMax-FHEM

Zitat von: sash.sc am 30 August 2023, 09:29:01Du wirst dann wohl bei eintreffen der Temperatur eine Abfrage auf Plausibilität machen müssen.

Z. B. Ob die Temperatur größer 0 Grad ist oder ob die Differenz zum letzten Wert nicht größer wie 10 Grad ist.

Ich habe bei manchen Daten die ich mir per httpmod aus dem Netz hole, solche Anfragen gemacht. Wenn ok, dann schreibe den Wert in ein reading.

Gruß Sascha

Ja sowas wollte ich auch grad vorschlagen ;)

Du schickst doch eh die Daten (temperature) von einem Sensor zum anderen Sensor.

Warum machst du das nicht einfach nur, wenn die Daten/Werte "plausibel" sind?
(ansonsten nichts oder den alten Wert)

Also in deinem userReadings einfach eine Abfrage auf "Plausibilität"...

Ich würde auch erst mal die ganzen event-on-... wegmachen.
Bzw. gehe ich so vor: erst mal alles umsetzen was ich möchte (weil mehr Events wird es nicht geben, ich muss also damit auskommen ;)  )
Wenn das dann (eine Zeitlang) läuft, dann schaue ich mal in den Eventmonitor (mit Filter) was da so rumkommt.
Wenn es eh nicht viel ist: lasse ich es auch einfach mal...

Wenn es mehr ist oder ich "weiß" (schwer vermute ;) ), dass es unnötige Events gibt, dann schränke ich ein.

Wenn dann etwas nicht mehr geht: wird wohl etwas zu stark eingeschränkt worden sein...

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

Zitat von: sash.sc am 30 August 2023, 09:29:01Du wirst dann wohl bei eintreffen der Temperatur eine Abfrage auf Plausibilität machen müssen.
Zitat von: MadMax-FHEM am 30 August 2023, 10:21:45Also in deinem userReadings einfach eine Abfrage auf "Plausibilität"...

Werde mich wohl damit beschäftigen müssen; wie ich dies dann in das unserReadings alles hinein bekomme.
Geht das dann mit Pearl?


Was ich aber trotzdem nicht ganz verstehe ist, warum jetzt die "0" Grad Werte ankommen.
Durch folgendes sollte doch der vorherige Temperaturwert aktuell bleiben, falls der -100 Grad Wert gemeldet wird.
Die Temperaturwerte werden ja sonst richtig übertragen und sind auch plausibel; außer den -100 Grad.

attr HUESensor65 oldreadings temperatur
define HundertGradProb_Kueche readingsChange HUESensor65 temperature (.+) {$1!=-100?$1:OldReadingsVal('HUESensor65','temperature',0)}

Soll ich dann diesen Teil auch wieder löschen?

Zitat von: MadMax-FHEM am 30 August 2023, 10:21:45Ich würde auch erst mal die ganzen event-on-... wegmachen.

Sammeln sich dann nicht zu viele nicht benötigten Daten?
Dafür wären die eigentlich gedacht gewesen.


rabehd

Auch funktionierende Lösungen kann man hinterfragen.

Ruggy

 :-[  :))

Meinte Perl.

Deshalb habe ich mir mal sogar das Buch "Perl für Dummies" gekauft  ;)

Ruggy

Ist das "+" im Beitrag #21 genannten Syntax richtig oder sollte es .* heißen?

temperature (.+)

sash.sc

Geht auch ohne perl.
Ich habe so eine Abfrage mit einem doif gelöst.Bei mir ist sag Problem, das ich zwischendurch null Werte bekomme und diese filtern wollte.

(Euro_Dollar:ED2] != 0) (setreading Euro_Dollar Euro_Dollar {(ReadingsVal("Euro_Dollar","ED2",0))})

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

MadMax-FHEM

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)

Beta-User

Zitat von: sash.sc am 31 August 2023, 05:47:12Geht auch ohne perl.
Ich habe so eine Abfrage mit einem doif gelöst.Bei mir ist sag Problem, das ich zwischendurch null Werte bekomme und diese filtern wollte.

(Euro_Dollar:ED2] != 0) (setreading Euro_Dollar Euro_Dollar {(ReadingsVal("Euro_Dollar","ED2",0))})

Danke für die Info.

War mir neu, das DOIF nicht in Perl geschrieben ist ;) ....
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors