[HMCCU] Werte kleiner 0,5 und negative Werte: Falsche Anzeige

Begonnen von OiledAmoeba, 07 Februar 2018, 22:18:47

Vorheriges Thema - Nächstes Thema

OiledAmoeba

Moin,

beim Betreff habe ich mir echt einen abgebrochen... Also, folgende zwei Probleme:
Geht auf der CCU2 ein Wert unter 0.5 zeigt das FHEM-Device den Status/Value "Inf". Dürfte wohl für "infinite" stehen und auf einen Berechnungsfehler hindeuten. Nur, wo ist die Ursache? Ich sehe in der .pm nicht, das HMCCU da was umrechnet, für mich sieht das nur nach einer Auswertung aus.

Dieses Device habe ich mal rausgesucht, weil's der Dimmer ist, da lässt sich mit den Werten spielen. In diesem Beispiel wurde der Dimmfaktor auf 25pct gesetzt.

XML-API:
<state>
<device name="fs20.Dimmer" ise_id="2534">
<channel name="fs20.Dimmer:0" ise_id="2535">
<datapoint name="CUxD.CUX0400001:0.RSSI_PEER" type="RSSI_PEER" ise_id="2536" value="0" valuetype="8" valueunit="dBm" timestamp="1517840202"/>
</channel>
<channel name="fs20.Dimmer:1" ise_id="2537">
<datapoint name="CUxD.CUX0400001:1.LEVEL" type="LEVEL" ise_id="2539" value="0.250000" valuetype="6" valueunit="100%" timestamp="1518037366"/>
<datapoint name="CUxD.CUX0400001:1.OLD_LEVEL" type="OLD_LEVEL" ise_id="2540" value="" valuetype="2" valueunit="" timestamp="0"/>
<datapoint name="CUxD.CUX0400001:1.RAMP_TIME" type="RAMP_TIME" ise_id="2545" value="" valuetype="4" valueunit="s" timestamp="0"/>
<datapoint name="CUxD.CUX0400001:1.TOGGLE" type="TOGGLE" ise_id="2546" value="" valuetype="2" valueunit="" timestamp="0"/>
<datapoint name="CUxD.CUX0400001:1.PROG_TIMER" type="PROG_TIMER" ise_id="2544" value="0.000000" valuetype="4" valueunit="s" timestamp="1517837879"/>
<datapoint name="CUxD.CUX0400001:1.PROG_DIM_UP" type="PROG_DIM_UP" ise_id="2543" value="0.000000" valuetype="4" valueunit="s" timestamp="1517837879"/>
<datapoint name="CUxD.CUX0400001:1.PROG_DIM_DOWN" type="PROG_DIM_DOWN" ise_id="2542" value="0.000000" valuetype="4" valueunit="s" timestamp="1517837879"/>
</channel>
</device>
</state>


Tracelog FHEM:
2018.02.07 22:03:58.563 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.02.07 22:03:58.623 2: HMCCUDEV: IsValidDatapoint: devtype=CUX-HM-LC-Dim1L-Pl, chnno=1, dpt=LEVEL
2018.02.07 22:03:58.624 2: HMCCUDEV: SetDatapoint: param=CUxD.CUX0400001:1.LEVEL, value=25.0
2018.02.07 22:03:58.656 2: HMCCUDEV: SetDatapoint: Addr=CUX0400001:1 Name=fs20.Dimmer:1
2018.02.07 22:03:58.657 2: HMCCUDEV: SetDatapoint: Script response =
<xml><exec>/do.exe</exec><sessionId></sessionId><httpUserAgent>User-Agent: fhem</httpUserAgent><r1>false</r1></xml>
2018.02.07 22:03:58.657 2: HMCCUDEV: SetDatapoint: Script =
http://10.23.102.77:8181/do.exe?r1=dom.GetObject("CUxD.CUX0400001:1.LEVEL").State(0.25)
2018.02.07 22:03:58.658 2: HMCCUDEV: IsValidDatapoint: CUX0400001:1 is a valid channel address
2018.02.07 22:03:58.659 2: HMCCUDEV: IsValidDatapoint: devtype=CUX-HM-LC-Dim1L-Pl, chnno=1, dpt=LEVEL
2018.02.07 22:03:58.660 2: HMCCUDEV: GetDatapoint: URL=http://10.23.102.77:8181/do.exe?r1=dom.GetObject("CUxD.CUX0400001:1.LEVEL").Value(), param=CUxD.CUX0400001:1.LEVEL, ccuget=Value
2018.02.07 22:03:58.678 2: HMCCUDEV: GetDatapoint: Response = <xml><exec>/do.exe</exec><sessionId></sessionId><httpUserAgent>User-Agent: fhem</httpUserAgent><r1>0.250000</r1></xml>
2018.02.07 22:03:58.686 2: HMCCUDEV: UpdateSingleDevice: HM_fs20.Dimmer Virlist =
2018.02.07 22:03:58.687 2: HMCCUDEV: UpdateSingleDevice: HM_fs20.Dimmer Grplist = HM_fs20.Dimmer
2018.02.07 22:03:58.687 2: HMCCUDEV: UpdateSingleDevice: HM_fs20.Dimmer Objects = CUX0400001
2018.02.07 22:03:58.688 2: HMCCUDEV: UpdateSingleDevice: Processing device HM_fs20.Dimmer
2018.02.07 22:03:58.689 2: HMCCUDEV: GetAttrSubstitute: subst = AES_KEY!(0|false):off,(1|true):on;LOWBAT,LOW_BAT!(0|false):ok,(1|true):low;UNREACH!(0|false):alive,(1|true):dead;MOTION!(0|false):noMotion,(1|true):motion;DIRECTION!0:stop,1:up,2:down,3:undefined;WORKING!0:false,1:true;INHIBIT!(0|false):unlocked,(1|true):locked
2018.02.07 22:03:58.690 2: HMCCUDEV: UpdateSingleDevice: dev=HM_fs20.Dimmer, chnadd=CUX0400001:1, dpt=LEVEL, value=0.250000
2018.02.07 22:03:58.691 2: HMCCUDEV: FilterReading: chn=CUX0400001:1, chnnam=fs20.Dimmer:1 chnnum=1 dpt=LEVEL, rules=^(LOW_?BAT|UNREACH)$;(LOWBAT|STATE|LEVEL)
2018.02.07 22:03:58.692 2: HMCCUDEV:     check rm=1 f=^(LOW_?BAT|UNREACH)$ cn= c=
2018.02.07 22:03:58.693 2: HMCCUDEV:     check result false
2018.02.07 22:03:58.694 2: HMCCUDEV:     check rm=1 f=(LOWBAT|STATE|LEVEL) cn= c=
2018.02.07 22:03:58.697 2: HMCCUDEV: UpdateSingleDevice: device=HM_fs20.Dimmer, readings=level,pct, orgvalue=0.250000 value=25 peer=null
2018.02.07 22:03:58.699 2: HMCCUDEV: GetHMState: hmstatevals=^0\.UNREACH!(1|true):unreachable;^[0-9]\.LOW_?BAT!(1|true):warn_battery
2018.02.07 22:03:58.703 2: HMCCUDEV: GetHMState: dptexpr=^0\.UNREACH, subst=(1|true):unreachable
2018.02.07 22:03:58.704 2: HMCCUDEV: GetHMState: Check 1.PROG_DIM_UP match ^0\.UNREACH
2018.02.07 22:03:58.704 2: HMCCUDEV: GetHMState: Check 1.PROG_DIM_DOWN match ^0\.UNREACH
2018.02.07 22:03:58.705 2: HMCCUDEV: GetHMState: Check 0.RSSI_PEER match ^0\.UNREACH
2018.02.07 22:03:58.705 2: HMCCUDEV: GetHMState: Check 1.LEVEL match ^0\.UNREACH
2018.02.07 22:03:58.706 2: HMCCUDEV: GetHMState: Check 1.WORKING match ^0\.UNREACH
2018.02.07 22:03:58.706 2: HMCCUDEV: GetHMState: Check 1.PROG_TIMER match ^0\.UNREACH
2018.02.07 22:03:58.707 2: HMCCUDEV: GetHMState: dptexpr=^[0-9]\.LOW_?BAT, subst=(1|true):warn_battery
2018.02.07 22:03:58.707 2: HMCCUDEV: GetHMState: Check 1.PROG_DIM_UP match ^[0-9]\.LOW_?BAT
2018.02.07 22:03:58.708 2: HMCCUDEV: GetHMState: Check 1.PROG_DIM_DOWN match ^[0-9]\.LOW_?BAT
2018.02.07 22:03:58.708 2: HMCCUDEV: GetHMState: Check 0.RSSI_PEER match ^[0-9]\.LOW_?BAT
2018.02.07 22:03:58.709 2: HMCCUDEV: GetHMState: Check 1.LEVEL match ^[0-9]\.LOW_?BAT
2018.02.07 22:03:58.709 2: HMCCUDEV: GetHMState: Check 1.WORKING match ^[0-9]\.LOW_?BAT
2018.02.07 22:03:58.710 2: HMCCUDEV: GetHMState: Check 1.PROG_TIMER match ^[0-9]\.LOW_?BAT
2018.02.07 22:03:59.188 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.02.07 22:03:59.189 2: HMCCUDEV: IsValidDatapoint: devtype=CUX-HM-LC-Dim1L-Pl, chnno=1, dpt=ON_TIME
2018.02.07 22:03:59.190 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.02.07 22:03:59.190 2: HMCCUDEV: IsValidDatapoint: devtype=CUX-HM-LC-Dim1L-Pl, chnno=1, dpt=LEVEL
2018.02.07 22:03:59.196 2: HMCCUDEV: GetDatapoint: Value of 1.LEVEL = 25
2018.02.07 22:03:59.220 2: HMCCUDEV: UpdateSingleDevice: HM_fs20.Dimmer Virlist =
2018.02.07 22:03:59.221 2: HMCCUDEV: UpdateSingleDevice: HM_fs20.Dimmer Grplist = HM_fs20.Dimmer
2018.02.07 22:03:59.221 2: HMCCUDEV: UpdateSingleDevice: HM_fs20.Dimmer Objects = CUX0400001
2018.02.07 22:03:59.222 2: HMCCUDEV: UpdateSingleDevice: Processing device HM_fs20.Dimmer
2018.02.07 22:03:59.224 2: HMCCUDEV: GetAttrSubstitute: subst = AES_KEY!(0|false):off,(1|true):on;LOWBAT,LOW_BAT!(0|false):ok,(1|true):low;UNREACH!(0|false):alive,(1|true):dead;MOTION!(0|false):noMotion,(1|true):motion;DIRECTION!0:stop,1:up,2:down,3:undefined;WORKING!0:false,1:true;INHIBIT!(0|false):unlocked,(1|true):locked
2018.02.07 22:03:59.226 2: HMCCUDEV: UpdateSingleDevice: dev=HM_fs20.Dimmer, chnadd=CUX0400001:1, dpt=LEVEL, value=Inf
2018.02.07 22:03:59.227 2: HMCCUDEV: FilterReading: chn=CUX0400001:1, chnnam=fs20.Dimmer:1 chnnum=1 dpt=LEVEL, rules=^(LOW_?BAT|UNREACH)$;(LOWBAT|STATE|LEVEL)
2018.02.07 22:03:59.228 2: HMCCUDEV:     check rm=1 f=^(LOW_?BAT|UNREACH)$ cn= c=
2018.02.07 22:03:59.229 2: HMCCUDEV:     check result false
2018.02.07 22:03:59.230 2: HMCCUDEV:     check rm=1 f=(LOWBAT|STATE|LEVEL) cn= c=
2018.02.07 22:03:59.234 2: HMCCUDEV: UpdateSingleDevice: device=HM_fs20.Dimmer, readings=level,pct, orgvalue=Inf value=Inf peer=null
2018.02.07 22:03:59.236 2: HMCCUDEV: GetHMState: hmstatevals=^0\.UNREACH!(1|true):unreachable;^[0-9]\.LOW_?BAT!(1|true):warn_battery
2018.02.07 22:03:59.239 2: HMCCUDEV: GetHMState: dptexpr=^0\.UNREACH, subst=(1|true):unreachable
2018.02.07 22:03:59.240 2: HMCCUDEV: GetHMState: Check 1.PROG_DIM_UP match ^0\.UNREACH
2018.02.07 22:03:59.240 2: HMCCUDEV: GetHMState: Check 1.PROG_DIM_DOWN match ^0\.UNREACH
2018.02.07 22:03:59.241 2: HMCCUDEV: GetHMState: Check 0.RSSI_PEER match ^0\.UNREACH
2018.02.07 22:03:59.241 2: HMCCUDEV: GetHMState: Check 1.LEVEL match ^0\.UNREACH
2018.02.07 22:03:59.242 2: HMCCUDEV: GetHMState: Check 1.WORKING match ^0\.UNREACH
2018.02.07 22:03:59.242 2: HMCCUDEV: GetHMState: Check 1.PROG_TIMER match ^0\.UNREACH
2018.02.07 22:03:59.243 2: HMCCUDEV: GetHMState: dptexpr=^[0-9]\.LOW_?BAT, subst=(1|true):warn_battery
2018.02.07 22:03:59.243 2: HMCCUDEV: GetHMState: Check 1.PROG_DIM_UP match ^[0-9]\.LOW_?BAT
2018.02.07 22:03:59.244 2: HMCCUDEV: GetHMState: Check 1.PROG_DIM_DOWN match ^[0-9]\.LOW_?BAT
2018.02.07 22:03:59.244 2: HMCCUDEV: GetHMState: Check 0.RSSI_PEER match ^[0-9]\.LOW_?BAT
2018.02.07 22:03:59.245 2: HMCCUDEV: GetHMState: Check 1.LEVEL match ^[0-9]\.LOW_?BAT
2018.02.07 22:03:59.245 2: HMCCUDEV: GetHMState: Check 1.WORKING match ^[0-9]\.LOW_?BAT
2018.02.07 22:03:59.246 2: HMCCUDEV: GetHMState: Check 1.PROG_TIMER match ^[0-9]\.LOW_?BAT
2018.02.07 22:03:59.782 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.02.07 22:03:59.782 2: HMCCUDEV: IsValidDatapoint: devtype=CUX-HM-LC-Dim1L-Pl, chnno=1, dpt=ON_TIME
2018.02.07 22:03:59.783 2: HMCCUDEV: IsValidDatapoint: 1 is not a valid channel address
2018.02.07 22:03:59.783 2: HMCCUDEV: IsValidDatapoint: devtype=CUX-HM-LC-Dim1L-Pl, chnno=1, dpt=LEVEL


Und das Gerät selbst:
Internals:
   CFGFN     
   DEF        CUX0400001
   IODev      ccu
   NAME       HM_fs20.Dimmer
   NR         140
   STATE      Inf
   TYPE       HMCCUDEV
   ccuaddr    CUX0400001
   ccudevstate active
   ccuif      CUxD
   ccuname    fs20.Dimmer
   ccutype    CUX-HM-LC-Dim1L-Pl
   channels   2
   statevals  devstate|on|off|0|100|25|31|50|62
   Helper:
     DBLOG:
       1.pct:
         logdb:
           TIME       1518033183.08706
           VALUE      0
       control:
         logdb:
           TIME       1518037439.77072
           VALUE      Inf
       hmstate:
         logdb:
           TIME       1518037439.77072
           VALUE      Inf
       level:
         logdb:
           TIME       1518037439.77072
           VALUE      Inf
       pct:
         logdb:
           TIME       1518037439.77072
           VALUE      Inf
       state:
         logdb:
           TIME       1518037439.77072
           VALUE      Inf
   READINGS:
     2018-02-07 16:56:49   1.LEVEL         0
     2018-02-07 20:53:03   1.pct           0
     2018-02-07 22:03:59   control         Inf
     2018-02-07 22:03:59   hmstate         Inf
     2018-02-07 22:03:59   level           Inf
     2018-02-07 22:03:59   pct             Inf
     2018-02-07 22:03:59   state           Inf
   hmccu:
     dp:
       0.RSSI_PEER:
         OVAL       0
         VAL        0
       1.LEVEL:
         OSVAL      25
         OVAL       0.250000
         SVAL       Inf
         VAL        Inf
       1.PROG_DIM_DOWN:
         OVAL       0.000000
         VAL        0.000000
       1.PROG_DIM_UP:
         OVAL       0.000000
         VAL        0.000000
       1.PROG_TIMER:
         OVAL       0.000000
         VAL        0.000000
       1.WORKING:
         OVAL       false
         VAL        false
Attributes:
   IODev      ccu
   alias      Stehleuchte
   ccuflags   trace
   ccuget     Value
   ccureadingfilter (LOWBAT|STATE|LEVEL)
   ccureadingname 1.LEVEL:+pct;1.LEVEL:level
   ccureadings 1
   ccuscaleval LEVEL:0:1:0:100
   ccuverify  1
   controldatapoint 1.LEVEL
   event-on-change-reading .*
   group      Licht
   room       FS20,Schlafzimmer
   statedatapoint 1.LEVEL
   statevals  on:100.0,off:0.0,0:0.0,100:100.0,25:25.0,31:31.0,50:50.0,62:62.0
   stripnumber 2
   webCmd     control:on:off:25:31:50:62
   widgetOverride control:slider,0.0,1.0,100.0,1


Mein erster Verdacht war CUxD, aber dann müsste doch auch im XML Schrott drin stehen, oder? In der Rückmeldung der XML-API steht null-komma-nix von "unendlichen" Werten...

Zweites Problem: Ein Device mit DP 1.DEW_POINT zeigt in der XML-API und in der CCU aktuell -6.00°C, jedoch kommen in FHEM 26.0°C (ja, PLUS 26!) an. Dazu habe ich gerade kein Trace und XML. Ist ein Intertechno, Trace knallt mir da das Logfile zu... (Aber auch ein CUxD-Gerät...)
Gruß
Florian

Jail auf XigmaNAS (freeBSD); CCU2 mit CULv3, nanoCUL868 und JeeLink-Clone; div. FS20-Komponenten; andFHEM; div. hm- und hmip-Komponenten; div. IT+

zap

wirklich seltsam. Muss ich heute abend mal nachstellen. HMCCU rechnet um, wegen dem Attribut ccuscaleval. Was micht stutzig macht: im Trace steht bei UpdateClients Orgval=Inf. Und das ist eigentlich der Wert, der von der CCU kommt.

Mach mal bitte ein get deviceinfo für das FHEM Device. Das zeigt alle Datenpunkte mit den Originalwerten der CCU an.

Auch bei dem Dewpoint würde mich get deviceinfo interessieren. Was ist das für ein Gerät (Typ)?
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

OiledAmoeba

Hier das deviceinfo vom Dimmer (Anzeige ist gerade "Inf"):
CHN CUX0400001:0 fs20.Dimmer:0
  DPT {n} CUxD.CUX0400001:0.RSSI_PEER = 0 [RE]
CHN CUX0400001:1 fs20.Dimmer:1
  DPT {a} CUxD.CUX0400001:1.LEVEL = 0.250000 [RWE]
  DPT {b} CUxD.CUX0400001:1.OLD_LEVEL =  [W]
  DPT {f} CUxD.CUX0400001:1.RAMP_TIME =  [W]
  DPT {f} CUxD.CUX0400001:1.ON_TIME =  [W]
  DPT {b} CUxD.CUX0400001:1.TOGGLE =  [W]
  DPT {b} CUxD.CUX0400001:1.WORKING = false [RE]
  DPT {f} CUxD.CUX0400001:1.PROG_TIMER = 0.000000 [RWE]
  DPT {f} CUxD.CUX0400001:1.PROG_DIM_UP = 0.000000 [RWE]
  DPT {f} CUxD.CUX0400001:1.PROG_DIM_DOWN = 0.000000 [RWE]
  DPT {b} CUxD.CUX0400001:1.INSTALL_TEST =  [W]




Und hier vom Thermometer:
CHN CUX1200001:0 Wetter_aussen:0
  DPT {b} CUxD.CUX1200001:0.LOWBAT = false [RE]
  DPT {n} CUxD.CUX1200001:0.RSSI_PEER = 0 [RE]
CHN CUX1200001:1 Wetter_aussen:1
  DPT {f} CUxD.CUX1200001:1.TEMPERATURE = -0.900000 [R]
  DPT {i} CUxD.CUX1200001:1.MISS_24H = 0 [R]
  DPT {i} CUxD.CUX1200001:1.HUMIDITY = 73 [R]
  DPT {f} CUxD.CUX1200001:1.DEW_POINT = -5.100000 [R]
  DPT {f} CUxD.CUX1200001:1.ABS_HUMIDITY = 3.300000 [R]
  DPT {f} CUxD.CUX1200001:1.HUMIDITYF = 73.000000 [R]
  DPT {f} CUxD.CUX1200001:1.HUM_MIN_24H = 51.000000 [R]
  DPT {f} CUxD.CUX1200001:1.HUM_MAX_24H = 74.000000 [R]
  DPT {f} CUxD.CUX1200001:1.TEMP_MIN_24H = -3.200000 [R]
  DPT {f} CUxD.CUX1200001:1.TEMP_MAX_24H = 6.500000 [R]
  DPT {b} CUxD.CUX1200001:1.INSTALL_TEST = false [RW]


list:
Internals:
   .lastTime0.RSSI_PEER 1518018131.78434
   .lastTime1.ABS_HUMIDITY 1518080837.69824
   .lastTime1.DEW_POINT 1518080951.29676
   .lastTime1.HUMIDITY 1518080837.69824
   .lastTime1.HUMIDITYF 1518080837.69824
   .lastTime1.HUM_MAX_24H 1518079551.05774
   .lastTime1.HUM_MIN_24H 1518079708.50377
   .lastTime1.INSTALL_TEST 1518018131.78434
   .lastTime1.MISS_24H 1518080553.14552
   .lastTime1.TEMPERATURE 1518080942.50943
   .lastTime1.TEMP_MAX_24H 1518079708.50377
   .lastTime1.TEMP_MIN_24H 1518080995.18191
   .lastTimebattery 1518018131.78434
   .lastTimehmstate 1518079708.50377
   .lastTimehumidity 1518080837.69824
   .lastTimetemperature 1518080942.50943
   CFGFN     
   CHANGED   
   DEF        Wetter_aussen:1
   IODev      ccu
   NAME       Wetter_aussen
   NR         152
   STATE      T: 3.1° H: 73% D: 26.9° A: 3.3
   TYPE       HMCCUCHN
   ccuaddr    CUX1200001:1
   ccudevstate active
   ccuif      CUxD
   ccuname    Wetter_aussen:1
   ccutype    CUX-HM-WDS10-TH-O
   channels   1
   statevals  devstate
   Helper:
     DBLOG:
       0.RSSI_PEER:
         logdb:
           TIME       1518018132.45047
           VALUE      0
       1.ABS_HUMIDITY:
         logdb:
           TIME       1518080838.59993
           VALUE      3.3
       1.DEW_POINT:
         logdb:
           TIME       1518080951.99449
           VALUE      26.9
       1.HUMIDITY:
         logdb:
           TIME       1518080830.27563
           VALUE      74
       1.HUMIDITYF:
         logdb:
           TIME       1518080838.59993
           VALUE      73.0
       1.HUM_MAX_24H:
         logdb:
           TIME       1518079551.84852
           VALUE      74.0
       1.HUM_MIN_24H:
         logdb:
           TIME       1518079708.55621
           VALUE      51.0
       1.INSTALL_TEST:
         logdb:
           TIME       1518018132.45047
           VALUE      false
       1.MISS_24H:
         logdb:
           TIME       1518080553.74924
           VALUE      0
       1.TEMPERATURE:
         logdb:
           TIME       1518080903.78392
           VALUE      7.0
       1.TEMP_MAX_24H:
         logdb:
           TIME       1518079708.55621
           VALUE      6.5
       1.TEMP_MIN_24H:
         logdb:
           TIME       1518080995.37115
           VALUE      12.8
       battery:
         logdb:
           TIME       1518018132.45047
           VALUE      ok
       hmstate:
         logdb:
           TIME       1518079708.55621
           VALUE      Initialized
       humidity:
         logdb:
           TIME       1518080838.59993
           VALUE      73
       temperature:
         logdb:
           TIME       1518080943.0636
           VALUE      3.1
   READINGS:
     2018-02-07 16:56:52   0.RSSI_PEER     0
     2018-02-08 10:12:41   1.ABS_HUMIDITY  3.3
     2018-02-08 10:12:41   1.DEW_POINT     26.9
     2018-02-08 10:12:41   1.HUMIDITY      73
     2018-02-08 10:12:41   1.HUMIDITYF     73.0
     2018-02-08 10:12:41   1.HUM_MAX_24H   74.0
     2018-02-08 10:12:41   1.HUM_MIN_24H   51.0
     2018-02-07 16:56:52   1.INSTALL_TEST  false
     2018-02-08 10:12:41   1.MISS_24H      0
     2018-02-08 10:12:41   1.TEMPERATURE   3.1
     2018-02-08 10:12:41   1.TEMP_MAX_24H  6.5
     2018-02-08 10:12:41   1.TEMP_MIN_24H  12.8
     2018-02-07 16:56:52   battery         ok
     2018-02-08 10:12:41   hmstate         Initialized
     2018-02-08 10:12:41   humidity        73
     2018-02-07 16:41:09   state           Initialized
     2018-02-08 10:12:41   temperature     3.1
   hmccu:
     dp:
       0.LOWBAT:
         OSVAL      ok
         OVAL       false
         SVAL       ok
         VAL        false
       0.RSSI_PEER:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.ABS_HUMIDITY:
         OSVAL      3.3
         OVAL       3.300000
         SVAL       3.3
         VAL        3.300000
       1.DEW_POINT:
         OSVAL      26.9
         OVAL       26.900000
         SVAL       26.9
         VAL        26.900000
       1.HUMIDITY:
         OSVAL      73
         OVAL       73
         SVAL       73
         VAL        73
       1.HUMIDITYF:
         OSVAL      73.0
         OVAL       73.000000
         SVAL       73.0
         VAL        73.000000
       1.HUM_MAX_24H:
         OSVAL      74.0
         OVAL       74.000000
         SVAL       74.0
         VAL        74.000000
       1.HUM_MIN_24H:
         OSVAL      51.0
         OVAL       51.000000
         SVAL       51.0
         VAL        51.000000
       1.INSTALL_TEST:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       1.MISS_24H:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.TEMPERATURE:
         OSVAL      3.1
         OVAL       3.100000
         SVAL       3.1
         VAL        3.100000
       1.TEMP_MAX_24H:
         OSVAL      6.5
         OVAL       6.500000
         SVAL       6.5
         VAL        6.500000
       1.TEMP_MIN_24H:
         OSVAL      12.8
         OVAL       12.800000
         SVAL       12.8
         VAL        12.800000
Attributes:
   IODev      ccu
   ccureadingfilter .*
   devStateIcon OK:10px-kreis-gruen Error:10px-kreis-rot Initialized:10px-kreis-gelb
   event-aggregator 1.TEMPERATURE:60:none:median:120,1.HUMIDITY:60:none:median:120,1.DEW_POINT:60:none:median:120
   event-min-interval .*:1800
   event-on-change-reading .*
   room       Balkon
   stateFormat T: 1.TEMPERATURE° H: 1.HUMIDITY% D: 1.DEW_POINT° A: 1.ABS_HUMIDITY
   stripnumber 1


XML-API:
<state>
<device name="Wetter_aussen" ise_id="3564">
<channel name="Wetter_aussen:0" ise_id="3565">
<datapoint name="CUxD.CUX1200001:0.LOWBAT" type="LOWBAT" ise_id="3566" value="false" valuetype="2" valueunit="" timestamp="1517840207"/>
<datapoint name="CUxD.CUX1200001:0.RSSI_PEER" type="RSSI_PEER" ise_id="3570" value="0" valuetype="8" valueunit="dBm" timestamp="1517840207"/>
</channel>
<channel name="Wetter_aussen:1" ise_id="3571">
<datapoint name="CUxD.CUX1200001:1.TEMPERATURE" type="TEMPERATURE" ise_id="3580" value="-0.700000" valuetype="4" valueunit="°C" timestamp="1518081296"/>
<datapoint name="CUxD.CUX1200001:1.MISS_24H" type="MISS_24H" ise_id="3579" value="0" valuetype="16" valueunit="" timestamp="1518081296"/>
<datapoint name="CUxD.CUX1200001:1.HUMIDITY" type="HUMIDITY" ise_id="3574" value="73" valuetype="16" valueunit="%" timestamp="1518081296"/>
<datapoint name="CUxD.CUX1200001:1.DEW_POINT" type="DEW_POINT" ise_id="3573" value="-4.900000" valuetype="4" valueunit="°C" timestamp="1518081296"/>
<datapoint name="CUxD.CUX1200001:1.ABS_HUMIDITY" type="ABS_HUMIDITY" ise_id="3572" value="3.400000" valuetype="4" valueunit="g/m³" timestamp="1518081296"/>
<datapoint name="CUxD.CUX1200001:1.HUM_MIN_24H" type="HUM_MIN_24H" ise_id="3577" value="51.000000" valuetype="4" valueunit="%" timestamp="1518081296"/>
<datapoint name="CUxD.CUX1200001:1.HUM_MAX_24H" type="HUM_MAX_24H" ise_id="3576" value="74.000000" valuetype="4" valueunit="%" timestamp="1518081296"/>
<datapoint name="CUxD.CUX1200001:1.TEMP_MIN_24H" type="TEMP_MIN_24H" ise_id="3582" value="-3.200000" valuetype="4" valueunit="°C" timestamp="1518081296"/>
<datapoint name="CUxD.CUX1200001:1.TEMP_MAX_24H" type="TEMP_MAX_24H" ise_id="3581" value="6.500000" valuetype="4" valueunit="°C" timestamp="1518081296"/>
</channel>
</device>
</state>


Trace:
2018.02.08 10:16:14.306 2: HMCCUCHN: IsValidDatapoint: CUX1200001:1 is a valid channel address
2018.02.08 10:16:14.417 2: HMCCUCHN: IsValidDatapoint: devtype=CUX-HM-WDS10-TH-O, chnno=1, dpt=ON_TIME
2018.02.08 10:16:14.418 2: HMCCUCHN: IsValidDatapoint: CUX1200001:1 is a valid channel address
2018.02.08 10:16:14.418 2: HMCCUCHN: IsValidDatapoint: devtype=CUX-HM-WDS10-TH-O, chnno=1, dpt=LEVEL
2018.02.08 10:16:14.510 2: HMCCUCHN: IsValidDatapoint: CUX1200001:1 is a valid channel address
2018.02.08 10:16:14.511 2: HMCCUCHN: IsValidDatapoint: devtype=CUX-HM-WDS10-TH-O, chnno=1, dpt=ON_TIME
2018.02.08 10:16:14.511 2: HMCCUCHN: IsValidDatapoint: CUX1200001:1 is a valid channel address
2018.02.08 10:16:14.512 2: HMCCUCHN: IsValidDatapoint: devtype=CUX-HM-WDS10-TH-O, chnno=1, dpt=LEVEL
2018.02.08 10:16:14.515 2: HMCCUCHN: IsValidDatapoint: CUX1200001:1 is a valid channel address
2018.02.08 10:16:14.516 2: HMCCUCHN: IsValidDatapoint: devtype=CUX-HM-WDS10-TH-O, chnno=1, dpt=ON_TIME
2018.02.08 10:16:14.516 2: HMCCUCHN: IsValidDatapoint: CUX1200001:1 is a valid channel address
2018.02.08 10:16:14.517 2: HMCCUCHN: IsValidDatapoint: devtype=CUX-HM-WDS10-TH-O, chnno=1, dpt=LEVEL
2018.02.08 10:16:16.311 2: HMCCUCHN: UpdateSingleDevice: Wetter_aussen Virlist =
2018.02.08 10:16:16.312 2: HMCCUCHN: UpdateSingleDevice: Wetter_aussen Grplist = Wetter_aussen
2018.02.08 10:16:16.312 2: HMCCUCHN: UpdateSingleDevice: Wetter_aussen Objects = CUX1200001
2018.02.08 10:16:16.312 2: HMCCUCHN: UpdateSingleDevice: Processing device Wetter_aussen
2018.02.08 10:16:16.313 2: HMCCUCHN: GetAttrSubstitute: subst = AES_KEY!(0|false):off,(1|true):on;LOWBAT,LOW_BAT!(0|false):ok,(1|true):low;UNREACH!(0|false):alive,(1|true):dead;MOTION!(0|false):noMotion,(1|true):motion;DIRECTION!0:stop,1:up,2:down,3:undefined;WORKING!0:false,1:true;INHIBIT!(0|false):unlocked,(1|true):locked
2018.02.08 10:16:16.313 2: HMCCUCHN: UpdateSingleDevice: dev=Wetter_aussen, chnadd=CUX1200001:1, dpt=TEMP_MAX_24H, value=6.500000
2018.02.08 10:16:16.314 2: HMCCUCHN: FilterReading: chn=CUX1200001:1, chnnam=Wetter_aussen:1 chnnum=1 dpt=TEMP_MAX_24H, rules=^(LOW_?BAT|UNREACH)$;.*
2018.02.08 10:16:16.314 2: HMCCUCHN:     check rm=1 f=^(LOW_?BAT|UNREACH)$ cn= c=
2018.02.08 10:16:16.315 2: HMCCUCHN:     check result false
2018.02.08 10:16:16.315 2: HMCCUCHN:     check rm=1 f=.* cn= c=
2018.02.08 10:16:16.317 2: HMCCUCHN: UpdateSingleDevice: device=Wetter_aussen, readings=1.TEMP_MAX_24H, orgvalue=6.500000 value=6.5 peer=null
2018.02.08 10:16:16.317 2: HMCCUCHN: UpdateSingleDevice: dev=Wetter_aussen, chnadd=CUX1200001:1, dpt=TEMP_MIN_24H, value=12.800000
2018.02.08 10:16:16.318 2: HMCCUCHN: FilterReading: chn=CUX1200001:1, chnnam=Wetter_aussen:1 chnnum=1 dpt=TEMP_MIN_24H, rules=^(LOW_?BAT|UNREACH)$;.*
2018.02.08 10:16:16.318 2: HMCCUCHN:     check rm=1 f=^(LOW_?BAT|UNREACH)$ cn= c=
2018.02.08 10:16:16.319 2: HMCCUCHN:     check result false
2018.02.08 10:16:16.319 2: HMCCUCHN:     check rm=1 f=.* cn= c=
2018.02.08 10:16:16.321 2: HMCCUCHN: UpdateSingleDevice: device=Wetter_aussen, readings=1.TEMP_MIN_24H, orgvalue=12.800000 value=12.8 peer=null
2018.02.08 10:16:16.321 2: HMCCUCHN: UpdateSingleDevice: dev=Wetter_aussen, chnadd=CUX1200001:1, dpt=HUMIDITY, value=73
2018.02.08 10:16:16.322 2: HMCCUCHN: FilterReading: chn=CUX1200001:1, chnnam=Wetter_aussen:1 chnnum=1 dpt=HUMIDITY, rules=^(LOW_?BAT|UNREACH)$;.*
2018.02.08 10:16:16.322 2: HMCCUCHN:     check rm=1 f=^(LOW_?BAT|UNREACH)$ cn= c=
2018.02.08 10:16:16.323 2: HMCCUCHN:     check result false
2018.02.08 10:16:16.323 2: HMCCUCHN:     check rm=1 f=.* cn= c=
2018.02.08 10:16:16.325 2: HMCCUCHN: UpdateSingleDevice: device=Wetter_aussen, readings=1.HUMIDITY,humidity, orgvalue=73 value=73 peer=null
2018.02.08 10:16:16.325 2: HMCCUCHN: UpdateSingleDevice: dev=Wetter_aussen, chnadd=CUX1200001:1, dpt=ABS_HUMIDITY, value=3.400000
2018.02.08 10:16:16.326 2: HMCCUCHN: FilterReading: chn=CUX1200001:1, chnnam=Wetter_aussen:1 chnnum=1 dpt=ABS_HUMIDITY, rules=^(LOW_?BAT|UNREACH)$;.*
2018.02.08 10:16:16.326 2: HMCCUCHN:     check rm=1 f=^(LOW_?BAT|UNREACH)$ cn= c=
2018.02.08 10:16:16.327 2: HMCCUCHN:     check result false
2018.02.08 10:16:16.327 2: HMCCUCHN:     check rm=1 f=.* cn= c=
2018.02.08 10:16:16.329 2: HMCCUCHN: UpdateSingleDevice: device=Wetter_aussen, readings=1.ABS_HUMIDITY, orgvalue=3.400000 value=3.4 peer=null
2018.02.08 10:16:16.329 2: HMCCUCHN: UpdateSingleDevice: dev=Wetter_aussen, chnadd=CUX1200001:1, dpt=HUMIDITYF, value=73.000000
2018.02.08 10:16:16.330 2: HMCCUCHN: FilterReading: chn=CUX1200001:1, chnnam=Wetter_aussen:1 chnnum=1 dpt=HUMIDITYF, rules=^(LOW_?BAT|UNREACH)$;.*
2018.02.08 10:16:16.330 2: HMCCUCHN:     check rm=1 f=^(LOW_?BAT|UNREACH)$ cn= c=
2018.02.08 10:16:16.331 2: HMCCUCHN:     check result false
2018.02.08 10:16:16.331 2: HMCCUCHN:     check rm=1 f=.* cn= c=
2018.02.08 10:16:16.333 2: HMCCUCHN: UpdateSingleDevice: device=Wetter_aussen, readings=1.HUMIDITYF, orgvalue=73.000000 value=73.0 peer=null
2018.02.08 10:16:16.333 2: HMCCUCHN: UpdateSingleDevice: dev=Wetter_aussen, chnadd=CUX1200001:1, dpt=TEMPERATURE, value=3.300000
2018.02.08 10:16:16.334 2: HMCCUCHN: FilterReading: chn=CUX1200001:1, chnnam=Wetter_aussen:1 chnnum=1 dpt=TEMPERATURE, rules=^(LOW_?BAT|UNREACH)$;.*
2018.02.08 10:16:16.334 2: HMCCUCHN:     check rm=1 f=^(LOW_?BAT|UNREACH)$ cn= c=
2018.02.08 10:16:16.335 2: HMCCUCHN:     check result false
2018.02.08 10:16:16.335 2: HMCCUCHN:     check rm=1 f=.* cn= c=
2018.02.08 10:16:16.337 2: HMCCUCHN: UpdateSingleDevice: device=Wetter_aussen, readings=1.TEMPERATURE,temperature, orgvalue=3.300000 value=3.3 peer=null
2018.02.08 10:16:16.338 2: HMCCUCHN: UpdateSingleDevice: dev=Wetter_aussen, chnadd=CUX1200001:1, dpt=HUM_MIN_24H, value=51.000000
2018.02.08 10:16:16.338 2: HMCCUCHN: FilterReading: chn=CUX1200001:1, chnnam=Wetter_aussen:1 chnnum=1 dpt=HUM_MIN_24H, rules=^(LOW_?BAT|UNREACH)$;.*
2018.02.08 10:16:16.339 2: HMCCUCHN:     check rm=1 f=^(LOW_?BAT|UNREACH)$ cn= c=
2018.02.08 10:16:16.339 2: HMCCUCHN:     check result false
2018.02.08 10:16:16.339 2: HMCCUCHN:     check rm=1 f=.* cn= c=
2018.02.08 10:16:16.341 2: HMCCUCHN: UpdateSingleDevice: device=Wetter_aussen, readings=1.HUM_MIN_24H, orgvalue=51.000000 value=51.0 peer=null
2018.02.08 10:16:16.342 2: HMCCUCHN: UpdateSingleDevice: dev=Wetter_aussen, chnadd=CUX1200001:1, dpt=HUM_MAX_24H, value=74.000000
2018.02.08 10:16:16.342 2: HMCCUCHN: FilterReading: chn=CUX1200001:1, chnnam=Wetter_aussen:1 chnnum=1 dpt=HUM_MAX_24H, rules=^(LOW_?BAT|UNREACH)$;.*
2018.02.08 10:16:16.342 2: HMCCUCHN:     check rm=1 f=^(LOW_?BAT|UNREACH)$ cn= c=
2018.02.08 10:16:16.343 2: HMCCUCHN:     check result false
2018.02.08 10:16:16.343 2: HMCCUCHN:     check rm=1 f=.* cn= c=
2018.02.08 10:16:16.345 2: HMCCUCHN: UpdateSingleDevice: device=Wetter_aussen, readings=1.HUM_MAX_24H, orgvalue=74.000000 value=74.0 peer=null
2018.02.08 10:16:16.345 2: HMCCUCHN: UpdateSingleDevice: dev=Wetter_aussen, chnadd=CUX1200001:1, dpt=MISS_24H, value=0
2018.02.08 10:16:16.346 2: HMCCUCHN: FilterReading: chn=CUX1200001:1, chnnam=Wetter_aussen:1 chnnum=1 dpt=MISS_24H, rules=^(LOW_?BAT|UNREACH)$;.*
2018.02.08 10:16:16.346 2: HMCCUCHN:     check rm=1 f=^(LOW_?BAT|UNREACH)$ cn= c=
2018.02.08 10:16:16.347 2: HMCCUCHN:     check result false
2018.02.08 10:16:16.347 2: HMCCUCHN:     check rm=1 f=.* cn= c=
2018.02.08 10:16:16.349 2: HMCCUCHN: UpdateSingleDevice: device=Wetter_aussen, readings=1.MISS_24H, orgvalue=0 value=0 peer=null
2018.02.08 10:16:16.349 2: HMCCUCHN: UpdateSingleDevice: dev=Wetter_aussen, chnadd=CUX1200001:1, dpt=DEW_POINT, value=27.100000
2018.02.08 10:16:16.350 2: HMCCUCHN: FilterReading: chn=CUX1200001:1, chnnam=Wetter_aussen:1 chnnum=1 dpt=DEW_POINT, rules=^(LOW_?BAT|UNREACH)$;.*
2018.02.08 10:16:16.350 2: HMCCUCHN:     check rm=1 f=^(LOW_?BAT|UNREACH)$ cn= c=
2018.02.08 10:16:16.351 2: HMCCUCHN:     check result false
2018.02.08 10:16:16.351 2: HMCCUCHN:     check rm=1 f=.* cn= c=
2018.02.08 10:16:16.353 2: HMCCUCHN: UpdateSingleDevice: device=Wetter_aussen, readings=1.DEW_POINT, orgvalue=27.100000 value=27.1 peer=null
2018.02.08 10:16:16.354 2: HMCCUCHN: GetHMState: hmstatevals=^0\.UNREACH!(1|true):unreachable;^[0-9]\.LOW_?BAT!(1|true):warn_battery
2018.02.08 10:16:16.362 2: HMCCUCHN: GetHMState: dptexpr=^0\.UNREACH, subst=(1|true):unreachable
2018.02.08 10:16:16.362 2: HMCCUCHN: GetHMState: Check 0.LOWBAT match ^0\.UNREACH
2018.02.08 10:16:16.362 2: HMCCUCHN: GetHMState: Check 1.MISS_24H match ^0\.UNREACH
2018.02.08 10:16:16.363 2: HMCCUCHN: GetHMState: Check 1.HUMIDITY match ^0\.UNREACH
2018.02.08 10:16:16.363 2: HMCCUCHN: GetHMState: Check 1.TEMPERATURE match ^0\.UNREACH
2018.02.08 10:16:16.363 2: HMCCUCHN: GetHMState: Check 1.TEMP_MAX_24H match ^0\.UNREACH
2018.02.08 10:16:16.364 2: HMCCUCHN: GetHMState: Check 1.HUM_MAX_24H match ^0\.UNREACH
2018.02.08 10:16:16.364 2: HMCCUCHN: GetHMState: Check 1.HUMIDITYF match ^0\.UNREACH
2018.02.08 10:16:16.364 2: HMCCUCHN: GetHMState: Check 1.ABS_HUMIDITY match ^0\.UNREACH
2018.02.08 10:16:16.365 2: HMCCUCHN: GetHMState: Check 1.DEW_POINT match ^0\.UNREACH
2018.02.08 10:16:16.365 2: HMCCUCHN: GetHMState: Check 1.HUM_MIN_24H match ^0\.UNREACH
2018.02.08 10:16:16.365 2: HMCCUCHN: GetHMState: Check 1.INSTALL_TEST match ^0\.UNREACH
2018.02.08 10:16:16.366 2: HMCCUCHN: GetHMState: Check 0.RSSI_PEER match ^0\.UNREACH
2018.02.08 10:16:16.366 2: HMCCUCHN: GetHMState: Check 1.TEMP_MIN_24H match ^0\.UNREACH
2018.02.08 10:16:16.366 2: HMCCUCHN: GetHMState: dptexpr=^[0-9]\.LOW_?BAT, subst=(1|true):warn_battery
2018.02.08 10:16:16.367 2: HMCCUCHN: GetHMState: Check 0.LOWBAT match ^[0-9]\.LOW_?BAT


Mir fällt gerade auf, dass die Temperatur auch falsch (positiv) angezeigt wird, da sie real gerade negativ ist. Gestern habe ich sie bei 0.4 gesehen, da hat FHEM dann auch "Inf" angezeigt.

An ccuscaleval kann es eigentlich nicht liegen, das habe ich gestern erst eingefügt, weil ich den WAF erhöhen wollte ;-) Bis gestern waren die Schaltpunkte 0.0 Inf Inf 0.50 0.62 1 (also 0% 25% 31% 50% 62% 100%)
Und der event-aggregator kam auch erst gestern in das Thermometer. Auch ohne "Glättung" kommt da Mist an...

Habe über die Google-Suche ein Problem von @Garbsen gefunden, mit der Anzeige seines Rolloaktors. Er hatte auch "Inf"-Werte, die er aber ersetzt/ignoriert. Das Thema wurde dann vom User nicht weiter verfolgt. https://forum.fhem.de/index.php/topic,73681.msg654714.html#msg654714
Gruß
Florian

Jail auf XigmaNAS (freeBSD); CCU2 mit CULv3, nanoCUL868 und JeeLink-Clone; div. FS20-Komponenten; andFHEM; div. hm- und hmip-Komponenten; div. IT+

zap

Frage: werden die Readings mit den korrekten Werten aktualisiert, wenn Du ein get update ausführst?

wenn ja, liegt es an der RPC Schnittstelle der CCU. Die schickt die Events, während get deviceinfo und get update HMScript verwenden. Das würde den Fehler eingrenzen.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

OiledAmoeba

Ja, get update liefert korrekte Werte. Irgendwo muss da aber eine krux drin sein, im Trace sieht man, dass die Werte mehrfach kommen, ich glaube drei mal. Zwei mal der korrekte Wert und dann plötzlich Inf. Get update holt sich doch die Werte aus dem xml, oder? Die Werte kommen doch auch irgendwo her.
Ich weiß nicht, wie die Schichten aufgebaut sind, kommt xml intern vom rpcserver oder holt der rpcserver die Daten intern aus dem xml? (ccu-intern, meine ich) Die Daten werden ja nicht mehrfach ermittelt...

Gesendet von meinem VTR-L09 mit Tapatalk

Gruß
Florian

Jail auf XigmaNAS (freeBSD); CCU2 mit CULv3, nanoCUL868 und JeeLink-Clone; div. FS20-Komponenten; andFHEM; div. hm- und hmip-Komponenten; div. IT+

zap

Das Problem mit den Werten < 0 liegt an einem Fehler in der BIN-RPC Dekodierung in HMCCURPCPROC oder in der BIN-RPC Enkodierung in CUxD.

Die "inf" Werte entstehen bei der Dekodierung.

In Arbeit, allerdings ist die Fehlersuche mühsam.


2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Max_Headroom

Hallo zusammen,

ich schalte mich auch mal dazu.
Ich habe das gleiche Problem. Ich lese über HMCCU CUxD Temperatursensoren ein.
inf erscheint bei mir nur, wenn die Temperatur mit genau 0.000 übermittelt wird.
Sobald es negativ wird, wird ein Wert > 0 in den Readings ausgegeben.
Über get deviceinfo wird aber immer der richtige (negative) Wert angezeigt z.B. im Moment:

DPT {f} CUxD.CUX1200004:1.TEMPERATURE = -1.500000 [R]

Bei einem get update erscheint auch in den Readings der richtige, springt aber nach ein paar Sekunden wieder zurück auf den falschen positiven Wert.

Könnte es nicht auch ein Problem mit float Werten liegen, die bei Übergabe das '-' falsch interpretieren?

OiledAmoeba

Was für einen Sensor hast du? Kann der nur 0.5er Schritte? Das würde zumindest erklären, warum es nur bei 0 bei dir auftritt. Bei mir führt jeder Wert zwischen 0 < 0.5 zu Inf, fast als wäre da ein Rundungsfehler.
Habe es bisher nur bei CUxD Geräten bemerkt, ich überlege, ob ich morgen mal ein HM-Gerät in den Froster lege...

Gesendet von meinem VTR-L09 mit Tapatalk

Gruß
Florian

Jail auf XigmaNAS (freeBSD); CCU2 mit CULv3, nanoCUL868 und JeeLink-Clone; div. FS20-Komponenten; andFHEM; div. hm- und hmip-Komponenten; div. IT+

zap

Bei get update und get deviceinfo werden Werte aus der CCU Logikschicht abgefragt. Das läuft in Textform, daher funktioniert das.

Bei der automatischen Aktualisierung hingegen schickt CUxD die Werte binär codiert. Dabei sind Float Werte offensichtlich nicht so codiert, wie HMCCU das erwartet.

Ich muss mir jetzt Hexdumps der Daten ziehen und versuchen rauszufinden, wie das richtige Format ist. Habe auch eine Anfrage dazu im CUxD Teil des Homematic Forums laufen.

Was seltsam ist: es funktioniert bei Werten >1.Und da ich keine Fallunterscheidung in der Decodierungsroutine drin habe, wundert mich das etwas ....
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

OiledAmoeba

Im HM-Forum ist sicher eine gute Idee. Bisher habe ich nur Probleme bei CUxD Geräten bemerkt, vielleicht kann Uwe was dazu sagen. Ich war mir auch nicht sicher, ob ich die Frage an das FHEM- oder HM-Forum stellen sollte, hab mich letzenendes hierfür entschieden, weil Google hier den einzigen Treffer zu Inf geliefert hat.

Sind die OpenHAB-Module eigentlich quelloffen? Die greifen doch auch auf rpc zu, könnten da vllt Hinweise im Quelltext sein? Wobei ich nicht weiß, ob es das Problem dort auch gibt...

Gesendet von meinem VTR-L09 mit Tapatalk

Gruß
Florian

Jail auf XigmaNAS (freeBSD); CCU2 mit CULv3, nanoCUL868 und JeeLink-Clone; div. FS20-Komponenten; andFHEM; div. hm- und hmip-Komponenten; div. IT+

Max_Headroom

ZitatWas für einen Sensor hast du? Kann der nur 0.5er Schritte?

Ich verwende die Sensoren von IT (TX 35 DHT). Die lösen 0.1 auf. +0.1 kommt noch richtig, 0.0 ist inf und dann eben irgendwas positives.
Ich habe leider keine HM Geräte, die Datenpunkte mit negativen Werten liefern, wäre interessant, ob auch die falsch übergeben werden,
oder ob es nur bei CUxD ein Problem gibt.

zap

#11
Die Probleme treten nur bei CUxD auf. Bei den normalen Geräten werden die Werte als Text übertragen.

Update: ach Perl ... die Byte Order bei Integers ist es. Hoffentlich wird diese ,,Programmiersprache" bald beerdigt.
Sowas nervt mich echt. Habe jetzt die Event Dekodierung mit C++ und nodejs getestet. Funktioniert einwandfrei. Nur Perl muckt rum und will eine umgekehrte Byte Order haben. Was für ein Haufen Mist 😡
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

zap

#12
Hoffnung (CUxD Thermostat):

1.TEMPERATURE -10.2 2018-02-09 19:21:25
1.TEMP_MAX_24H -10.1 2018-02-09 19:21:25
1.TEMP_MIN_24H -12.3 2018-02-09 19:21:25


Negative Werte durch Offset von -30 Grad im CUxD Device erzeugt.

Damit werden alle Fehler (Inf, falsche Werte usw). gefixt. Muss noch ein paar Dinge testen und werde das morgen oder Sonntag einchecken.



2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

zap

Morgen bitte ein Update durchführen. Damit sollte das Problem behoben sein.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

OiledAmoeba

Gehöre zu den Leuten, die es nicht abwarten können. Gerade aus dem Repo gezogen, die Negativwerte stimmen schon mal mit der Anzeige in der CCU überein.
Kann 0<0,5 gerade mangels passender Außentemperatur nicht testen.
Also, nach kurzem Drübergucken schon mal ein ganz dickes ThumbsUp!!!!

PS. Ich denke, die 0<0,5 stimmen jetzt auch, denn mein Dimmer wird tatsächlich mit 25% angezeigt! Ein Traum! DAAAANNNKEE!!!
Gruß
Florian

Jail auf XigmaNAS (freeBSD); CCU2 mit CULv3, nanoCUL868 und JeeLink-Clone; div. FS20-Komponenten; andFHEM; div. hm- und hmip-Komponenten; div. IT+