FHEM Forum

FHEM - Entwicklung => Wunschliste => Thema gestartet von: FlatTV am 27 Dezember 2018, 23:28:48

Titel: gelöst: 98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: FlatTV am 27 Dezember 2018, 23:28:48
Aus dem Log 2018-12-27 23:21:25 CUL_HM HM_5C413B battery: ok
2018-12-27 23:21:25 CUL_HM HM_5C413B humidity: 59
2018-12-27 23:21:25 CUL_HM HM_5C413B T: 19.1 H: 59
2018-12-27 23:21:25 CUL_HM HM_5C413B temperature: 19.1
2018-12-27 23:21:25 CUL_HM HM_5C413B 1: 9.6
2018-12-27 23:21:25 CUL_HM HM_5C413B dewpoint: 10.9


Ich denke in der Funktion readingsBulkUpdate() muss der Name, nicht die Variable $ah_rname gesetzt werden.

my $ah_rname = AttrVal($hashName, "absoluteHumidity", undef);
if (defined($ah_rname)) {
       readingsBulkUpdate($dev, $ah_rname, $abs_hunidity);
       Log3($hashName, 5, "dewpoint $ah_rname= $abs_hunidity");
       $aFeuchte = "A: " . $abs_hunidity if !defined($aFeuchte);
}
Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: herrmannj am 28 Dezember 2018, 00:56:25
poste bitte mal ein komplettes list vom HM_5C413B
Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: FlatTV am 29 Dezember 2018, 18:30:32
defmod HM_5C413B CUL_HM 5C413B
attr HM_5C413B IODev hmUART
attr HM_5C413B actCycle 000:10
attr HM_5C413B actStatus alive
attr HM_5C413B alias Küche_HM_5C413B
attr HM_5C413B autoReadReg 4_reqStatus
attr HM_5C413B expert 2_raw
attr HM_5C413B firmware 1.3
attr HM_5C413B group alle Sensoren
attr HM_5C413B model HM-WDS40-TH-I-2
attr HM_5C413B room 99_Geräte
attr HM_5C413B serialNr OEQ0670749
attr HM_5C413B subType THSensor

setstate HM_5C413B T: 20.5 H: 55
setstate HM_5C413B 2018-12-29 18:23:40 .protLastRcv 2018-12-29 18:23:40
setstate HM_5C413B 2018-12-29 00:35:19 Activity alive
setstate HM_5C413B 2018-12-28 23:33:02 D-firmware 1.3
setstate HM_5C413B 2018-12-28 23:33:02 D-serialNr OEQ0670749
setstate HM_5C413B 2018-12-29 18:23:40 1 9.8
setstate HM_5C413B 2018-12-29 18:23:40 battery ok
setstate HM_5C413B 2018-12-29 18:23:40 dewpoint 11.1
setstate HM_5C413B 2018-12-29 18:23:40 humidity 55
setstate HM_5C413B 2018-12-29 18:23:40 state T: 20.5 H: 55
setstate HM_5C413B 2018-12-29 18:23:40 temperature 20.5


so geht es richtig
my $ah_rname = AttrVal($hashName, "absoluteHumidity", undef);
if (defined($ah_rname)) {
       $rname = "absoluteHumidity";
       readingsBulkUpdate($dev, $rname, $abs_hunidity);
       Log3($hashName, 5, "dewpoint $ah_rname= $abs_hunidity");
       $aFeuchte = "A: " . $abs_hunidity if !defined($aFeuchte);
}
Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: herrmannj am 29 Dezember 2018, 20:06:49
Poste bitte nach einmal ein list vom dem device with das Attribut gesetzt ist
Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: FlatTV am 29 Dezember 2018, 20:29:08
Internals:
   DEF        5C413B
   IODev      hmUART
   LASTInputDev hmUART
   MSGCNT     470
   NAME       HM_5C413B
   NOTIFYDEV  global
   NR         33
   NTFY_ORDER 50-HM_5C413B
   STATE      T: 19.8 H: 55
   TYPE       CUL_HM
   hmUART_MSGCNT 470
   hmUART_RAWMSG 050000353A86705C413B00000000C637
   hmUART_RSSI -53
   hmUART_TIME 2018-12-29 20:24:49
   lastMsg    No:3A - t:70 s:5C413B d:000000 00C637
   protLastRcv 2018-12-29 20:24:49
   protRcv    470 last_at:2018-12-29 20:24:49
   rssi_at_hmUART cnt:470 min:-64 max:-48 avg:-52.13 lst:-53
   READINGS:
     2018-12-29 00:35:19   Activity        alive
     2018-12-28 23:33:02   D-firmware      1.3
     2018-12-28 23:33:02   D-serialNr      OEQ0670749
     2018-12-29 20:24:49   1      9.4
     2018-12-29 20:24:49   battery         ok
     2018-12-29 20:24:49   dewpoint        10.5
     2018-12-29 20:24:49   humidity        55
     2018-12-29 20:24:49   state           T: 19.8 H: 55
     2018-12-29 20:24:49   temperature     19.8
   helper:
     HM_CMDNR   58
     mId        00BC
     regLst     ,0
     rxType     132
     supp_Pair_Rep 0
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +5C413B,00,00,00
       nextSend   1546111489.11927
       prefIO     
       rxt        0
       vccu       
       p:
         5C413B
         00
         00
         00
     mRssi:
       mNo        3A
       io:
         hmUART:
           -47
           -47
     prt:
       bErr       0
       sProc      0
     q:
       qReqConf   00
       qReqStat   
     role:
       chn        1
       dev        1
     rssi:
       at_hmUART:
         avg        -52.136170212766
         cnt        470
         lst        -53
         max        -48
         min        -64
Attributes:
   IODev      hmUART
   actCycle   000:10
   actStatus  alive
   alias      Küche_HM_5C413B
   autoReadReg 4_reqStatus
   expert     2_raw
   firmware   1.3
   group      alle Sensoren
   model      HM-WDS40-TH-I-2
   room       99_Geräte
   serialNr   OEQ0670749
   subType    THSensor
Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: herrmannj am 29 Dezember 2018, 20:50:29
Ne, ich meine das device wo das Attribut absoluteHumidity von dir gesetzt wurde. Ich vermute dass da der Wert 1 steht. Stimmt das ?
Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: FlatTV am 29 Dezember 2018, 20:54:02
Ja genau so ist es

//edit
Mit meiner Änderung steht da natürlich absoluteHumidity
Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: Frank_Huber am 29 Dezember 2018, 21:01:11
list TYPE=dewpoint

Gesendet von meinem Doogee S60 mit Tapatalk

Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: FlatTV am 29 Dezember 2018, 21:21:27
Aye aye
Internals:
   CMD_TYPE   dewpoint
   DEF        dewpoint .* temperature humidity dewpoint
   DEV_REGEXP .*
   HUM_NAME   humidity
   NAME       dewpointToAllDeviceReadings
   NEW_NAME   dewpoint
   NR         156
   NTFY_ORDER 10-dewpointToAllDeviceReadings
   STATE      active
   TEMP_NAME  temperature
   TYPE       dewpoint
Attributes:
   absoluteHumidity 1
   room       99_System


Bei vapourPressure (Zeile 322) ist im Code das gleiche Problem

//ups jetzt ist es richtig
Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: FlatTV am 29 Dezember 2018, 21:25:16
also mit dem Attribut ,,absFeuchte" klappt es, wird nur eben die Warnung ausgegeben.
Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: herrmannj am 29 Dezember 2018, 21:27:49
Du musst bei dem Attribut keine 1 sondern den Namen reinschreiben der erzeugt werden soll.
Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: FlatTV am 29 Dezember 2018, 21:38:54
ne das ist falsch
Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: Frank_Huber am 29 Dezember 2018, 21:44:50
Wie aktuell ist fhem im gesamten?

Gesendet von meinem Doogee S60 mit Tapatalk

Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: FlatTV am 29 Dezember 2018, 21:48:45
obwohl es funktionieren würde

attr dewpointToAllDeviceReadings absFeuchte 1
wäre okay, für absoluteHumidity dann
attr dewpointToAllDeviceReadings absoluteHumidity absoluteHumidity
das ist doch doof

Stand ist von gestern
Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: Frank_Huber am 29 Dezember 2018, 22:02:06
Ich habe bei mir auch noch absFeuchte als Attribut und Readings. Geht problemlos.

Werde morgen die neue Version testen.

Gesendet von meinem Doogee S60 mit Tapatalk

Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: FlatTV am 29 Dezember 2018, 22:10:11
super, zum Test musst du das Attribut absFeuchte aber löschen.
Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: herrmannj am 29 Dezember 2018, 22:29:19
Zitat von: FlatTV am 29 Dezember 2018, 21:38:54
ne das ist falsch
die cmdref sagt
absoluteHumidity <reading_name>
In addition the absolute humidity in g/m³ will be computed as reading <reading_name>.

und Dein reading heist '1'.

Wenn Du jetzt bei dem Attribut zb "absFeuchte" reinschreibst werden Deine Readings so genannt. Für mich sieht das sinnvoll aus.
Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: FlatTV am 29 Dezember 2018, 23:05:39
oh, das die cmdref absFeuchte überhaupt nicht mehr beschreibt beschreibt habe ich übersehen  :-[

Dann ist attr dewpointToAllDeviceReadings absoluteHumidity absoluteHumidity
zwar doof aber richtig.

tschuldigung
Titel: Antw:98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert
Beitrag von: herrmannj am 29 Dezember 2018, 23:08:31
no prob, your welcome.

Es macht auch durchaus Sinn den Namen konfigurierbar zu halten weil man ja nie weiß ob in einem x-beliebigen device etwas ähnliches existiert. Bei einem hart kodierten Namen gibt es dann Kollisionen.

Schreibst noch ein gelöst vor den Titel ? Danke.
Titel: Antw:gelöst: 98_dewpoint.pm: Bug, attr &quot;absoluteHumidity&quot; wird als &quot;1&quot; gespeiche
Beitrag von: Frank_Huber am 29 Dezember 2018, 23:19:18
Das bedeutet das neue Attribut funktioniert kpl anderst als das alte.
Vorteil ist, man kann das neue Attribut mit dem alten Reading-Namen füttern und alles läuft wie zuvor.

Gesendet von meinem Doogee S60 mit Tapatalk