ES-PMSw1-Pl: FW-Bug oder Device defekt?

Begonnen von frank, 04 August 2014, 11:33:42

Vorheriges Thema - Nächstes Thema

frank

hallo martin,

das register R-txThrVlt von channel2 der messsteckdose, sollte eigentlich 0 volt anzeigen, da ich die eventbedingung des spannungswertes ausgeschaltet habe. siehe screenshot.

hier ein list von channel2 nach clear:all und getconfig.

Internals:
   .triggerUsed 1
   DEF        24AF1D02
   IODev
   NAME       SwitchES01_Pwr
   NR         454
   STATE      E: 10.4 P: 14.97 I: 93 U: 242 f: 49.99
   TYPE       CUL_HM
   chanNo     02
   device     SwitchES01
   protState  Info_Cleared
   Readings:
     2014-08-04 11:09:17   R-averaging     10 s
     2014-08-04 11:09:17   R-txMinDly      10 s
     2014-08-04 11:09:17   R-txThrCur      1000 mA
     2014-08-04 11:09:17   R-txThrFrq      0 Hz
     2014-08-04 11:09:17   R-txThrPwr      0 W
     2014-08-04 11:09:17   R-txThrVlt      76.8 V
     2014-08-04 11:09:17   RegL_01:          08:00 7A:0A 7B:0A 7C:00 7D:00 7E:00  7F:03 80:E8 81:03 82:00 83:00 00:00
     2014-08-04 11:11:28   boot            off
     2014-08-04 11:11:28   current         93
     2014-08-04 11:11:28   eState          E: 10.4 P: 14.97 I: 93 U: 242 f: 49.99
     2014-08-04 11:11:28   energy          10.4
     2014-08-04 11:11:28   frequency       49.99
     2014-08-04 11:11:28   power           14.97
     2014-08-04 11:11:28   state           10.4
     2014-08-04 11:11:28   voltage         242
   Helper:
     getCfgListNo
     Bm:
       Cul_hm_attr:
         cnt        4
         dmx        0
         mAr
         max        0
         tot        0
       Cul_hm_get:
         cnt        17
         dmx        0
         max        2
         tot        18
         mAr:
           HASH(0x13e0ab0)
           SwitchES01_Pwr
           ?
       Cul_hm_set:
         cnt        59
         dmx        0
         max        128
         tot        367
         mAr:
           HASH(0x13e0ab0)
           SwitchES01_Pwr
           getConfig
     Prt:
       bErr       0
       sProc      0
     Role:
       chn        1
     Shadowreg:
Attributes:
   event-on-change-reading .*
   model      HM-ES-PMSw1-Pl
   room       45_Keller,70_Garten
   stateFormat eState


gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

martinp876

Die Anzeige ist korrekt. Das steht im Register.
wie hast du es abgeschaltet und warum soll es Null sein?

Null ist der Wert für unused, das ist korrekt - steht aber nicht drin

frank

#2
Zitatwie hast du es abgeschaltet und warum soll es Null sein?
habe ich mit eq3-sw abgeschaltet und anschliessend in fhem getconfig gemacht. die anderen werte sind auch auf 0, sobald man sie abschaltet.

jetzt habe ich 100volt mit eq3 eingestellt, dann kommt in fhem auch 100volt. sobald ich wieder abschalte, steht bei fhem 76,8volt. muss dann wohl ein fw-bug sein. aber schon ein seltsamer wert.

eq3 -> fhem (wertebereich ist angegeben mit 0.10 -> 230.00)
230 -> 102
100 -> 100
23.21 -> 100
23.2 -> 100
10 -> 86.8
1 -> 77.8
0.11 -> 76.9
0.10 -> 76.9
0 -> 76.8

ich würde behaupten, da stimmt was nicht.

edit:
die 2. stelle nach dem komma kommt gar nicht zur geltung.

gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

martinp876

nach XML (aus der CCU2 SW) sollte Voltagethreshold
- auf Adresse 129 zu liegen kommen, 2 Byte lang. Also 0x81 und 0x82.
- type="float" min="0.1" max="230.0" unit="V" default="10.0"

In deinem Reading steht 81:03 82:00

Also 0x0300 = 768. Faktor 10 (also divisor) macht 76,8V
Abschalten kann man die Funktion indem man 0 schreibt  - so das XML

Also verstehe ich das ganze nicht. Wenn es ein FW bug ist sollte die SW merken, dass kein 0 drin steht. Kann aber sein, dass eQ3 sich auf das ACK verlässt und die Werte nicht noch einmal liest. FHEM macht das anders - ich verlasse mich nicht auf ACKs sondern will den Wert sehen - daher wird per default nach dem Schreiben ein getConfig abgesetzt. In der eQ3 SW habe ich nicht gefunden, wie ich ein rereadCfg aus dem Device anstossen kann....

a) Die FW macht eine Fehler und die SW merkt es nicht
b) die FW macht einen Fehler und die SW hat einen workaround

Mögliche Tests:
schreibe unterschiedliche Werte mit der eQ3 SW in das Register und logge die messages.

schreibe u.a. 76.8 in das Register und schau, was die SW/FW daraus macht.


frank

#4
seltsam...

sniffen von eq3 nach ES: zb dezimal 0 -> 81:00, 82:00. so wie geplant.

2014.08.05 22:20:34.202 0: HMLAN_Parse: hmlan1 R:E1ACE1F   stat:0000 t:0055E677 d:FF r:FFCD     m:30 A001 1ACE1F 24AF1D 02050000000001
2014.08.05 22:20:34.221 0: HMLAN_Parse: hmlan1 R:E24AF1D   stat:0000 t:0055E6F0 d:FF r:FFBC     m:30 8002 24AF1D 1ACE1F 00
2014.08.05 22:20:34.433 0: HMLAN_Parse: hmlan1 R:E1ACE1F   stat:0000 t:0055E736 d:FF r:FFCD     m:31 A001 1ACE1F 24AF1D 020881008200
2014.08.05 22:20:34.451 0: HMLAN_Parse: hmlan1 R:E24AF1D   stat:0000 t:0055E7B0 d:FF r:FFBD     m:31 8002 24AF1D 1ACE1F 00
2014.08.05 22:20:34.470 0: HMLAN_Parse: hmlan1 R:E1ACE1F   stat:0000 t:0055E7F3 d:FF r:FFCD     m:32 A001 1ACE1F 24AF1D 0206
2014.08.05 22:20:34.817 0: HMLAN_Parse: hmlan1 R:E24AF1D   stat:0000 t:0055E870 d:FF r:FFBC     m:32 8002 24AF1D 1ACE1F 00


egal welche werte ich mit eq3 zum schalter sende, in fhem ist nach getconfig register 81 immer 0x03. mit der software kann man wohl aber das device nicht auslesen. ??? irgendwie kann ich nichts finden, seltsam. die software scheint die eingegebenen werte zu speichern. wenn ich über fhem etwas einstelle, kann ich das in eq3-sw nicht auslesen. schade.

wenn ich mit fhem das register setze mit 10 (volt):

set stecker regSet txThrVlt 10

bekomme ich auch 86.6 V im reading angezeigt. über fhem kann ich register 81 ebenfalls nicht ändern. egal von welcher seite register 81 steht fest auf 0x03. vielleich ist mein device defekt?


könnte bitte jemand testen, ob sich der messstecker dort genauso verhält. also ein

set stecker regSet txThrVlt 100

absetzen und nach einem anschliessenden getconfig schauen, was in der registerliste regL_01 oder im reading R-txThrVlt steht. es geht um channel2 der _pwr channel.

danke, gruss frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

frank

#5
update:

wenn ich das device aus der eq3-sw lösche (ablerne/unpair) und danach zb über seriennummer neu anlerne (ohne am device den anlernknopf zu betätigen), liest die sw die configdaten vom device neu ein. in fhem war zuvor 81:03, 82:00. eq3 hat dann auch 76.8 angezeigt. demnach, würde ich sagen, machen fhem und eq3-sw alles richtig. entweder hat das device oder die fw einen defekt.

festgebrannt ist register 81 nicht wirklich. nach vielem hin und her hatte ich auch mal 81:00 im register stehen. nur leider weiss ich nicht mehr wodurch.

klarheit kann jetzt wohl nur ein test eines anderen erbringen.

edit:
fhem verhindert die eingabe von "0" volt. also abschalten.

gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

martinp876

gelöst in Version 6375 (hoffe ich)
Habe jetzt auch "special values" berücksichtigt.
0 sollte als "unused" angezeigt werden. Setzen kannst du 0 oder "unused". Bitte testen.

Das mit eq3 beruhigt mich. Schön, dass man in fhem die Werte noch einmal lesen kann.
Evtl ist es nur ein Anzeigeproblem des Device?

frank

Zitatgelöst in Version 6375 (hoffe ich)
was genau meinst du? unused?

die special werte lassen sich einwandfrei setzen. sowohl 0, als auch unused. danke. eventuell könnte man noch die einheiten entfernen, wenn der zustand unused ist.

nach dem ersten setzen von unused dachte ich schon an ein wunder, da register 81 von 0x03 auf 0x00 verändert wurde. nun bleibt es aber auf 0x00, egal was ich bisher eingestellt habe.

ZitatEvtl ist es nur ein Anzeigeproblem des Device?
du meinst, es wird im device an eine andere position gespeichert und von dort gelesen? somit eine korrekte funktion. nur von aussen nicht zu kontrollieren. vielleicht mache ich noch mal ein paar versuche mit einem alten, einstellbaren trenntrafo.

ansonsten kann man nur hoffen das der speicherplatz sicher ist, und dort nichts wichtiges überschrieben wird.  hast du eventuell ein tool, das sämtliche speicherplätze eines device abffragen und als tableau darstellen kann. dann könnte man evntuell erkennen wo die werte hingeschrieben werden.

gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

martinp876

Hallo Frank,

bei special values habe ich noch einmal nachgebessert... sollten jetzt mehr kommen.

Der Fehler kann es viele geben. Was ich meinte ist, dass 0x81 korrekt gesetzt wird, aber  nicht korrekt zurückgegeben wird.
Alle Register werden von einem Device zurückgegeben und stehen in den Registerlisten. Was man wissen muss ist, welche Listen es gibt - der Inhalt ist immer komplett (aus Sicht des Device).

Aber wie das Device intern damit umgeht ist damit nicht geklärt. Es könnte... die listen kopieren, einzelne Register duplizieren, bei der Rückgabe (Lesen der Listen) suchen und basteln gehen... was du willst.

Ich würde mir wahrscheinlich eine Kopie in Device anlegen, die beispielsweise Bitfelder zerlegt - damit ich schneller werde.
=> du kannst nicht vom Lesen auf das Setzen oder auf das Verhalten schliessen.

Gruss Martin

frank

Zitatbei special values habe ich noch einmal nachgebessert...
sieht gut aus.

nach erfolgreichem fw-update keine änderung im verhalten von register 81. weitere register-tester scheint es leider nicht zu geben.

gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html