gelöst: 98_dewpoint.pm: Bug, attr "absoluteHumidity" wird als "1" gespeichert

Begonnen von FlatTV, 27 Dezember 2018, 23:28:48

Vorheriges Thema - Nächstes Thema

FlatTV

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);
}
Raspi3 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

herrmannj


FlatTV

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);
}
Raspi3 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

herrmannj

Poste bitte nach einmal ein list vom dem device with das Attribut gesetzt ist

FlatTV

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
Raspi3 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

herrmannj

Ne, ich meine das device wo das Attribut absoluteHumidity von dir gesetzt wurde. Ich vermute dass da der Wert 1 steht. Stimmt das ?

FlatTV

Ja genau so ist es

//edit
Mit meiner Änderung steht da natürlich absoluteHumidity
Raspi3 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

Frank_Huber


FlatTV

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
Raspi3 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

FlatTV

also mit dem Attribut ,,absFeuchte" klappt es, wird nur eben die Warnung ausgegeben.
Raspi3 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

herrmannj

Du musst bei dem Attribut keine 1 sondern den Namen reinschreiben der erzeugt werden soll.

FlatTV

Raspi3 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

Frank_Huber

Wie aktuell ist fhem im gesamten?

Gesendet von meinem Doogee S60 mit Tapatalk


FlatTV

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
Raspi3 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

Frank_Huber

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


FlatTV

super, zum Test musst du das Attribut absFeuchte aber löschen.
Raspi3 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

herrmannj

#16
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.

FlatTV

oh, das die cmdref absFeuchte überhaupt nicht mehr beschreibt beschreibt habe ich übersehen  :-[

Dann ist attr dewpointToAllDeviceReadings absoluteHumidity absoluteHumidity
zwar doof aber richtig.

tschuldigung
Raspi3 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

herrmannj

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.

Frank_Huber

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