FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: topfi am 26 Januar 2016, 21:04:11

Titel: HM-Dis-TD-T Retro Anzeige: gibt es keine readings für battery und alive?
Beitrag von: topfi am 26 Januar 2016, 21:04:11
Hallo,

im Betreff steht eigentlich meine ganze Frage bereits. Mir ist aufgefallen, dass es für dieses Device zwar das Reading R-lowBatLimitFS aber eben kein battery ok gibt. Außerdem vermisse ich den Actiondetector und das obligatorische alive. Ist das bei diesem Gerät "normal"?

Darauf gekommen bin ich, weil es (heißt bei mir Anzeige01) ab und zu mal nicht umschaltet, das sieht dann so aus:

2016.01.26 07:31:19 3: CUL_HM set Anzeige01 on
2016.01.26 07:31:19 3: CUL_HM Anzeige01 repeat, level 00 instead of C8
2016.01.26 07:31:19 3: CUL_HM set Anzeige01 on

Daraufhin habe ich mir das Device mal näher angeschaut. Ich habe mir diese seltenen Ausfälle bisher damit erklärt, dass man das Umschalten direkt daneben mit einer HM-Fernbedienung auslöst, allerdings nicht direkt, das macht fhem. Vielleicht stören sich die Funksignale. Oder ist hier etwas faul:

Internals:
   DEF        2737F3
   HMLAN1_MSGCNT 44
   HMLAN1_RAWMSG E2737F3,0000,0BF54B12,FF,FFB1,2B80022737F32588B1010100004B
   HMLAN1_RSSI -79
   HMLAN1_TIME 2016-01-26 20:22:39
   HMLAN2_MSGCNT 41
   HMLAN2_RAWMSG R7F63475F,0001,2E6019AC,FF,FFBA,2B80022737F32588B1010100004B
   HMLAN2_RSSI -70
   HMLAN2_TIME 2016-01-26 20:22:39
   IODev      HMLAN2
   LASTInputDev HMLAN2
   MSGCNT     85
   NAME       Anzeige01
   NR         2092
   NTFY_ORDER 50-Anzeige01
   STATE      off
   TYPE       CUL_HM
   lastMsg    No:2B - t:02 s:2737F3 d:2588B1 010100004B
   protLastRcv 2016-01-26 20:22:39
   protSnd    45 last_at:2016-01-26 20:22:38
   protState  CMDs_done
   rssi_HMLAN1 avg:-49.74 min:-82 max:-46 lst:-72 cnt:24
   rssi_HMLAN2 avg:-75.5 min:-76 max:-75 lst:-75 cnt:2
   rssi_at_HMLAN1 avg:-61.86 min:-82 max:-49 lst:-79 cnt:44
   rssi_at_HMLAN2 avg:-62.6 min:-70 max:-57 lst:-70 cnt:41
   Readings:
     2016-01-26 20:22:39   CommandAccepted yes
     2016-01-26 20:14:40   D-firmware      1.1
     2016-01-26 20:14:40   D-serialNr      LEQ0215133
     2016-01-26 20:14:42   PairedTo        0x2588B1
     2014-11-02 15:29:37   R-intKeyVisib   invisib
     2014-11-02 15:29:37   R-ledMode       off
     2014-11-02 15:29:37   R-lowBatLimitFS 2.4 V
     2014-11-02 15:29:37   R-pairCentral   0x2588B1
     2016-01-26 20:14:42   RegL_00:          02:01 05:00 0A:25 0B:77 0C:B1 12:18  00:00
     2016-01-26 20:22:39   deviceMsg       off (to vccu)
     2016-01-26 20:22:39   level           0
     2016-01-26 20:22:39   pct             0
     2016-01-26 20:22:39   recentStateType ack
     2015-06-22 20:45:10   sabotageAttack  ErrIoAttack cnt:1
     2015-06-22 20:55:45   sabotageAttackId ErrIoId_F10000 cnt:6
     2016-01-26 20:22:39   state           off
     2016-01-26 20:22:39   timedOn         off
   Helper:
     HM_CMDNR   43
     cSnd       112588B12737F30201C80000,112588B12737F30201000000
     dlvlCmd    ++A0112588B12737F30201000000
     mId        0078
     peerIDsRaw ,00000000
     rxType     2
     Io:
       newChn     +2737F3,00,02,00
       nextSend   1453836159.0882
       rxt        0
       vccu       vccu
       p:
         2737F3
         00
         02
         00
     Mrssi:
       mNo        2B
       Io:
         HMLAN1     -79
         HMLAN2     -68
     Prt:
       bErr       0
       sProc      0
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
       prs        1
     Rssi:
       Hmlan1:
         avg        -49.75
         cnt        24
         lst        -72
         max        -46
         min        -82
       Hmlan2:
         avg        -75.5
         cnt        2
         lst        -75
         max        -75
         min        -76
       At_hmlan1:
         avg        -61.8636363636364
         cnt        44
         lst        -79
         max        -49
         min        -82
       At_hmlan2:
         avg        -62.609756097561
         cnt        41
         lst        -70
         max        -57
         min        -70
     Shadowreg:
Attributes:
   IODev      HMLAN2
   IOgrp      vccu
   autoReadReg 4_reqStatus
   event-on-change-reading .*
   expert     2_full
   firmware   1.1
   model      HM-Dis-TD-T
   msgRepeat  1
   peerIDs    00000000,
   room       Flur
   serialNr   LEQ0215133
   subType    switch
   webCmd     statusRequest:toggle:on:off
Titel: Antw:HM-Dis-TD-T Retro Anzeige: gibt es keine readings für battery und alive?
Beitrag von: franky08 am 26 Januar 2016, 23:07:08
Nö, hab ich auch schon danach gesucht.  :)

VG
Frank
Titel: Antw:HM-Dis-TD-T Retro Anzeige: gibt es keine readings für battery und alive?
Beitrag von: stromer-12 am 26 Januar 2016, 23:11:19
Das Attribut actCycle kannst du doch auch selber mit einer plausiblen Zeit setzen.
Titel: Antw:HM-Dis-TD-T Retro Anzeige: gibt es keine readings für battery und alive?
Beitrag von: franky08 am 26 Januar 2016, 23:17:44
Klar aber damit hast du immer noch kein reading vom batt. Level.
Titel: Antw:HM-Dis-TD-T Retro Anzeige: gibt es keine readings für battery und alive?
Beitrag von: stromer-12 am 26 Januar 2016, 23:19:06
Habe ich auch nicht behauptet.
Titel: Antw:HM-Dis-TD-T Retro Anzeige: gibt es keine readings für battery und alive?
Beitrag von: franky08 am 26 Januar 2016, 23:20:28
Das Tei taucht ja nicht einmal im ActionDetektor auf und wird somit auch nicht ausgewertet.
Titel: Antw:HM-Dis-TD-T Retro Anzeige: gibt es keine readings für battery und alive?
Beitrag von: stromer-12 am 26 Januar 2016, 23:27:38
Auch wenn actCycl definiert ist?
Titel: Antw:HM-Dis-TD-T Retro Anzeige: gibt es keine readings für battery und alive?
Beitrag von: franky08 am 26 Januar 2016, 23:40:17
Dann bekommt man wenigstens ein alive zurück aber keinen level.
Titel: Antw:HM-Dis-TD-T Retro Anzeige: gibt es keine readings für battery und alive?
Beitrag von: MarcelK am 26 Januar 2016, 23:45:07
Zitat von: topfi am 26 Januar 2016, 21:04:11
im Betreff steht eigentlich meine ganze Frage bereits. Mir ist aufgefallen, dass es für dieses Device zwar das Reading R-lowBatLimitFS aber eben kein battery ok gibt.
Oh, richtig, ist mir bisher noch nicht aufgefallen...

Glücklicherweise ist die Abhilfe relativ einfach:

bash-3.2$ svn diff 10_CUL_HM.pm
Index: 10_CUL_HM.pm
===================================================================
--- 10_CUL_HM.pm        (revision 10639)
+++ 10_CUL_HM.pm        (working copy)
@@ -1992,7 +1992,7 @@
         push @evtEt,[$mh{devH},1,"sabotageError:".(($err&0x04) ? "on":"off")];
         push @evtEt,[$mh{devH},1,"battery:".(($err&0x08)?"critical":($err&0x80?"low":"ok"))];
       }
-      elsif ($mh{md} =~ m /HM-LC-SW.-BA-PCB/){
+      elsif ($mh{md} =~ m /HM-LC-SW.-BA-PCB/ || $mh{md} eq 'HM-Dis-TD-T'){
         push @evtEt,[$mh{devH},1,"battery:" . (($err&0x80) ? "low" : "ok" )];
       }
     }


Hab's auch kurz mit einem Labor-Netzteil getestet, funktioniert.

Gruß Marcel
Titel: Antw:HM-Dis-TD-T Retro Anzeige: gibt es keine readings für battery und alive?
Beitrag von: franky08 am 26 Januar 2016, 23:48:16
Ich hab iMo nur das Tablet und kann damit schlecht in 1400 Zeilen Code von meiner utils sehen, da ich dort auch die batt level sowie alive auswerte aber der batt level von der retro Anzeige ist dort definitiv nicht vorhanden, dass der actiondetektor das teil auswertet habe ich auch eben erst gesehen, lag aber am alias.

VG
Frank
Titel: Antw:HM-Dis-TD-T Retro Anzeige: gibt es keine readings für battery und alive?
Beitrag von: franky08 am 26 Januar 2016, 23:50:52
Dank an MarcelK, sollte Martin mitbekommen.
Titel: Antw:HM-Dis-TD-T Retro Anzeige: gibt es keine readings für battery und alive?
Beitrag von: topfi am 27 Januar 2016, 10:00:23
Oops, das nenne ich mal Resonanz. Danke für Eure Diskussion. Jetzt bin ich im Bilde.
Titel: Antw:HM-Dis-TD-T Retro Anzeige: gibt es keine readings für battery und alive?
Beitrag von: MarcelK am 27 Januar 2016, 10:23:31
Zitat von: franky08 am 26 Januar 2016, 23:48:16
Ich hab iMo nur das Tablet und kann damit schlecht in 1400 Zeilen Code von meiner utils sehen, da ich dort auch die batt level sowie alive auswerte aber der batt level von der retro Anzeige ist dort definitiv nicht vorhanden, dass der actiondetektor das teil auswertet habe ich auch eben erst gesehen, lag aber am alias.

Also per Default wird die Anzeige vom ActionDetector nicht ausgewertet. Ich weiß nicht ob sie überhaupt zyklisch Informationen schickt, zumindest gibt's kein Setting dafür. Und da sie hier den Füllstand vom Briefkasten anzeigt gibt's praktisch keine 24 Stunden in denen sie nicht eh angesprochen wird ;)

Gruß Marcel
Titel: Antw:HM-Dis-TD-T Retro Anzeige: gibt es keine readings für battery und alive?
Beitrag von: frank am 27 Januar 2016, 10:41:19
beim actiondetector gibt es das attr actAutoTry.
wenn das auf 1_on gesetzt wird, versucht der actiondetector ein sich nicht meldendes device zu kontaktieren, bevor es auf dead gesetzt wird. somit kann man auch bei nicht zyklischen sendenden devices das attr actCycle sinnvoll nutzen.
Titel: Antw:HM-Dis-TD-T Retro Anzeige: gibt es keine readings für battery und alive?
Beitrag von: MarcelK am 27 Januar 2016, 10:55:48
Zitat von: frank am 27 Januar 2016, 10:41:19
beim actiondetector gibt es das attr actAutoTry.
wenn das auf 1_on gesetzt wird, versucht der actiondetector ein sich nicht meldendes device zu kontaktieren, bevor es auf dead gesetzt wird. somit kann man auch bei nicht zyklischen sendenden devices das attr actCycle sinnvoll nutzen.
Ah, das Feature kannte ich noch nicht, danke. Für mich war noch die Frage ob das Device sich selbst meldet wenn die Batterie unter die konfigurierte Spannung fällt, aber mit autoTry könnte man ja selbst wenn's das nicht tut einmal am Tag fragen ob alles noch okay ist.

Gruß Marcel
Titel: Antw:HM-Dis-TD-T Retro Anzeige: gibt es keine readings für battery und alive?
Beitrag von: MarcelK am 20 Februar 2016, 12:47:01
Patch wurde übernommen und sollte jetzt per Update erhältlich sein.