Hallo,
Ich habe gerade zufällig die Funktion threshold bei event-on-change-reading entdeckt! Sehr klasse, hatte ich schon sehnlichst vermisst um die Größe der Logfiles weiter zu reduzieren.
Leider ist mir aufgefallen, dass zusätzlich in den Readings vorhandene Zeichen hierbei verloren gehen. Teilweise sind an die Readings Einheiten angehängt, teilweise weitere Informationen, wie z.B. bei den Temperatursensoren.
So sehen die Readings ursprünglich aus:
humidity 53 2016-01-02 16:40:53
state T: 19.6 H: 53 2016-01-02 16:40:53
temperature 19.6 2016-01-02 16:40:53
Und so mit threashold:
humidity 44 2016-01-02 16:42:13
state 22.344 2016-01-02 16:42:13
temperature 22.3 2016-01-02 16:42:13
Das State-Reading ist jetzt leider nicht mehr brauchbar.
Bei den Power-Readings von FBDECT fehlt jetzt die Einheit:
2016-01-01_12:44:41 FBDECT_16 power: 0.00
2016-01-01_12:42:41 FBDECT_16 power: 0.00
2016-01-01_12:38:41 FBDECT_16 power: 0.00 W
2016-01-01_12:36:41 FBDECT_16 power: 0.00 W
Leider funktionieren deshalb jetzt meine Filelogs und SVG-Plots nicht mehr wie gehabt.
Hat jemand eine Idee, wie man die Readings wieder in die ursprüngliche Form bekommt? Sicherlich könnte ich auch die Filelogs ändern, schöner wäre es aber, wenn sich die Readings beim aktivieren/deaktiveren der threshold-Funktion nicht ändern würden.
Gruß
Georg
Ich konnte das Problem gerade nicht nachstellen. Wenn ich das Problem untersuchen soll, brauche ich die Definition eines der Problemgeraete (list devicename) _UND_ "attr global verbose 5" Mitschnitt der Verarbeitung eines Nachrichtes von diesem Geraet. Am besten angefangen mit "XXX dispatch YY"
Ok: Das hier habe ich im Logfile gefunden:
2016.01.04 20:07:30 5: HMLAN/RAW: /E1B59D9,0000,1DA80BE7,FF,FFBF,1486701B59D9000000004257
2016.01.04 20:07:30 5: HMLAN_Parse: HMLAN1 R:E1B59D9 stat:0000 t:1DA80BE7 d:FF r:FFBF m:14 8670 1B59D9 000000 004257
2016.01.04 20:07:30 5: HMLAN1 dispatch A0C1486701B59D9000000004257::-65:HMLAN1
2016.01.04 20:07:32 5: HMLAN/RAW: /E1ABF51,0000,1DA81260,FF,FFC2,A386701ABF5100000000C835
2016.01.04 20:07:32 5: HMLAN_Parse: HMLAN1 R:E1ABF51 stat:0000 t:1DA81260 d:FF r:FFC2 m:A3 8670 1ABF51 000000 00C835
2016.01.04 20:07:32 5: HMLAN1 dispatch A0CA386701ABF5100000000C835::-62:HMLAN1
Device-List ist:
Internals:
CHANGED
DEF 1B59D9
HMLAN1_MSGCNT 1869
HMLAN1_RAWMSG E1B59D9,0000,1DA3FC9B,FF,FFBF,1286701B59D9000000004357
HMLAN1_RSSI -65
HMLAN1_TIME 2016-01-04 20:03:04
IODev HMLAN1
LASTInputDev HMLAN1
MSGCNT 1869
NAME Aussentemperatur
NR 48
STATE 6.787
TYPE CUL_HM
lastMsg No:12 - t:70 s:1B59D9 d:000000 004357
protLastRcv 2016-01-04 20:03:04
rssi_at_HMLAN1 avg:-65.78 min:-72 max:-62 lst:-65 cnt:1869
CHANGETIME:
Helper:
Dblog:
Humidity:
Mydblog:
TIME 1451933544.15286
VALUE 87
Temperature:
Mydblog:
TIME 1451933544.15286
VALUE 6.8
Readings:
2016-01-01 13:11:11 Activity alive
2015-12-30 23:17:23 CommandAccepted yes
2015-06-06 15:35:25 D-firmware 1.2
2015-06-06 15:35:25 D-serialNr JEQ0089434
2015-12-30 23:17:23 PairedTo 0xAABBCC
2015-12-30 23:17:23 R-burstRx off
2015-12-30 23:17:23 R-pairCentral 0xAABBCC
2015-12-30 23:17:23 RegL_00. 01:00 02:01 05:00 0A:AA 0B:BB 0C:CC 0F:00 00:00
2016-01-04 20:03:04 battery ok
2016-01-04 20:03:04 humidity 87
2016-01-04 20:03:04 state 6.787
2016-01-04 20:03:04 temperature 6.7
Helper:
HM_CMDNR 18
mId 003D
rxType 140
Expert:
def 1
det 0
raw 1
tpl 0
Io:
newChn +1B59D9,00,00,00
nextSend 1451934184.8936
prefIO
rxt 2
vccu
p:
1B59D9
00
00
00
Mrssi:
mNo 12
Io:
HMLAN1 -63
Prt:
bErr 0
sProc 0
Q:
qReqConf
qReqStat
Role:
chn 1
dev 1
Rssi:
At_hmlan1:
avg -65.7859818084535
cnt 1869
lst -65
max -62
min -72
Shadowreg:
Attributes:
IODev HMLAN1
actCycle 060:00
actStatus alive
alias Temperatur_Aussen
autoReadReg 4_reqStatus
event-min-interval .*:1200
event-on-change-reading .*:1.0
expert 2_full
firmware 1.2
fp_Haus 630,450,4,
group THSensor
icon icoTempBaum
model HM-WDS10-TH-O
peerIDs 00000000,
room Arbeitszimmer
serialNr JEQ0089434
sortby 10
subType THSensor
Ich habe ein HMLAN1 mit none und Aussentemperatur mit allen gezeigten Attributen definiert und getestet:
fhem> info timer
fhem> { Dispatch($defs{HMLAN1}, "A0C1486701B59D9000000004257::-65:HMLAN1", undef) }
fhem> 2016-01-05 13:53:42 CUL_HM Aussentemperatur battery: ok
2016-01-05 13:53:42 CUL_HM Aussentemperatur humidity: 87
2016-01-05 13:53:42 CUL_HM Aussentemperatur T: 6.6 H: 87
2016-01-05 13:53:42 CUL_HM Aussentemperatur temperature: 6.6
Nach CUL_HM code inspizieren und sicherheitshalber zusaetzliche debug Ausgaben in fhem.pl bin ich der Ansicht, dass fuer diesen Sensor nie eine Einheit gemeldet wurde.
Ok, zugegebenermaßen, bei diesem Sensor meinte ich nicht Einheiten, sondern die Prefixes "T:" und "H:" im State.
Ein FBDECT Sensor zeigt das gleiche Verhalten aber bei Einheiten von power, energy und current:
Mit threshold:
Internals:
CHANGED
DEF 16 powerMeter,switch
FritzDect_MSGCNT 21744
FritzDect_RAWMSG 0703001c00000011001000000000000c000000160004000000000000
FritzDect_TIME 2016-01-05 20:02:01
IODev FritzDect
LASTInputDev FritzDect
MSGCNT 21744
NAME FBDECT_16
NR 498
STATE off
TYPE FBDECT
id 16
props powerMeter,switch
CHANGETIME:
Helper:
Dblog:
Power:
Mydblog:
TIME 1451942908.68427
VALUE 0.00
Temperature:
Mydblog:
TIME 1452020281.09598
VALUE 21.5
Readings:
2016-01-01 22:39:22 FBNAME FRITZ!DECT 200 #1
2016-01-01 22:39:22 FBPROP powerMeter,switch
2016-01-01 22:39:22 FBTYPE AVM FRITZ!Dect 200
2016-01-04 20:06:48 control 10.000
2016-01-05 20:02:01 current 0.0009
2016-01-05 20:02:01 energy 133347
2016-01-04 20:06:44 options powerOnState:last,lock:none
2016-01-05 20:02:01 power 0.00
2016-01-05 20:02:01 powerFactor 0.000
2016-01-02 12:03:52 relayTimes disabled
2016-01-05 20:02:01 state off
2016-01-04 20:06:40 tempadjust 0.0
2016-01-05 20:02:01 temperature 21.5 C (measured)
2016-01-05 20:02:01 voltage 235.291
Attributes:
IODev FritzDect
alias FB16_Pumpe
event-on-change-reading power:3.0,current:1.0,energy:20,temperature,voltage:2.0
fp_Haus 60,300,1,
group Steckdosen
room FBDECT
debug:
2016.01.05 20:24:22 5: FBAHA/RAW: /0703001c00000011001000000000000c00000014000400000000061e0703001c00000011001000000000000c0000000f0004000000000001070300200000001100100000000000100000001700080000000000cd000000000703001c00000011001000000000000c0000001300040000000395e00703001c00000011001000000000000c0000001200040000000004510703001c00000011001000000000000c0000001500040000000208e80703001c00000011001000000000000c00000016000400000000025c
2016.01.05 20:24:22 5: FritzDect dispatch 0703001c00000011001000000000000c00000014000400000000061e
2016.01.05 20:24:22 4: Payload: 00000014000400000000061e -> power: 15.66 W
2016.01.05 20:24:22 5: FBDECT_Parse for device FBDECT_16 done
2016.01.05 20:24:22 5: Triggering FBDECT_16 (1 changes)
2016.01.05 20:24:22 5: Notify loop for FBDECT_16 power: 15.66
2016.01.05 20:24:22 5: batteries: not on any display, ignoring notify
2016.01.05 20:24:22 5: Notify from Device: FBDECT_16 recieved
2016.01.05 20:24:22 5: DbLog: logging of Device: FBDECT_16 , Type: FBDECT , Event: power: 15.66 , Reading: power , Value: 15.66 , Unit:
2016.01.05 20:24:22 5: FritzDect dispatch 0703001c00000011001000000000000c0000000f0004000000000001
2016.01.05 20:24:22 4: Payload: 0000000f0004000000000001 -> state: on
2016.01.05 20:24:22 5: FBDECT_Parse for device FBDECT_16 done
2016.01.05 20:24:22 5: FritzDect dispatch 070300200000001100100000000000100000001700080000000000cd00000000
2016.01.05 20:24:22 4: Payload: 0000001700080000000000cd00000000 -> temperature: 20.5 C (measured)
2016.01.05 20:24:22 5: FBDECT_Parse for device FBDECT_16 done
2016.01.05 20:24:22 5: Triggering FBDECT_16 (1 changes)
2016.01.05 20:24:22 5: Notify loop for FBDECT_16 temperature: 20.5 C (measured)
2016.01.05 20:24:22 5: batteries: not on any display, ignoring notify
2016.01.05 20:24:22 5: Notify from Device: FBDECT_16 recieved
2016.01.05 20:24:22 5: DbLog: logging of Device: FBDECT_16 , Type: FBDECT , Event: temperature: 20.5 C (measured) , Reading: temperature , Value: 20.5 , Unit: C
2016.01.05 20:24:22 5: FritzDect dispatch 0703001c00000011001000000000000c0000001300040000000395e0
2016.01.05 20:24:22 4: Payload: 0000001300040000000395e0 -> voltage: 234.976 V
2016.01.05 20:24:22 5: FBDECT_Parse for device FBDECT_16 done
2016.01.05 20:24:22 5: FritzDect dispatch 0703001c00000011001000000000000c000000120004000000000451
2016.01.05 20:24:22 4: Payload: 000000120004000000000451 -> current: 0.1105 A
2016.01.05 20:24:22 5: FBDECT_Parse for device FBDECT_16 done
2016.01.05 20:24:22 5: Triggering FBDECT_16 (1 changes)
2016.01.05 20:24:22 5: Notify loop for FBDECT_16 current: 0.1105
2016.01.05 20:24:22 5: batteries: not on any display, ignoring notify
2016.01.05 20:24:22 5: Notify from Device: FBDECT_16 recieved
2016.01.05 20:24:22 5: FritzDect dispatch 0703001c00000011001000000000000c0000001500040000000208e8
2016.01.05 20:24:22 4: Payload: 0000001500040000000208e8 -> energy: 133352 Wh
2016.01.05 20:24:22 5: FBDECT_Parse for device FBDECT_16 done
2016.01.05 20:24:22 5: Triggering FBDECT_16 (1 changes)
2016.01.05 20:24:22 5: Notify loop for FBDECT_16 energy: 133352
2016.01.05 20:24:22 5: batteries: not on any display, ignoring notify
2016.01.05 20:24:22 5: Notify from Device: FBDECT_16 recieved
2016.01.05 20:24:22 5: FritzDect dispatch 0703001c00000011001000000000000c00000016000400000000025c
2016.01.05 20:24:22 4: Payload: 00000016000400000000025c -> powerFactor: 604.000
ohne threshold:
Internals:
DEF 16 powerMeter,switch
FritzDect_MSGCNT 21759
FritzDect_RAWMSG 0703001c00000011001000000000000c000000160004000000000262
FritzDect_TIME 2016-01-05 20:05:49
IODev FritzDect
LASTInputDev FritzDect
MSGCNT 21759
NAME FBDECT_16
NR 498
STATE on
TYPE FBDECT
id 16
props powerMeter,switch
CHANGETIME:
Helper:
Dblog:
Power:
Mydblog:
TIME 1452020749.47003
VALUE 15.95
Temperature:
Mydblog:
TIME 1452020281.09598
VALUE 21.5
Readings:
2016-01-01 22:39:22 FBNAME FRITZ!DECT 200 #1
2016-01-01 22:39:22 FBPROP powerMeter,switch
2016-01-01 22:39:22 FBTYPE AVM FRITZ!Dect 200
2016-01-04 20:06:48 control 10.000
2016-01-05 20:05:49 current 0.1119 A
2016-01-05 20:05:49 energy 133347 Wh
2016-01-04 20:06:44 options powerOnState:last,lock:none
2016-01-05 20:05:49 power 15.95 W
2016-01-05 20:05:49 powerFactor 610.000
2016-01-02 12:03:52 relayTimes disabled
2016-01-05 20:05:49 state on
2016-01-04 20:06:40 tempadjust 0.0
2016-01-05 20:05:49 temperature 21.5 C (measured)
2016-01-05 20:05:49 voltage 234.225 V
Attributes:
IODev FritzDect
alias FB16_Pumpe
event-on-change-reading .*
fp_Haus 60,300,1,
group Steckdosen
room FBDECT
debug:
016.01.05 20:11:49 4: Payload: 000000160004000000000266 -> powerFactor: 614.000
2016.01.05 20:11:49 5: FritzDect dispatch 0703001c00000011001000000000000c000000160004000000000266
2016.01.05 20:11:49 5: Notify from Device: FBDECT_16 recieved
2016.01.05 20:11:49 5: batteries: not on any display, ignoring notify
2016.01.05 20:11:49 5: Notify loop for FBDECT_16 energy: 133349 Wh
2016.01.05 20:11:49 5: Triggering FBDECT_16 (1 changes)
2016.01.05 20:11:49 5: FBDECT_Parse for device FBDECT_16 done
2016.01.05 20:11:49 4: Payload: 0000001500040000000208e5 -> energy: 133349 Wh
2016.01.05 20:11:49 5: FritzDect dispatch 0703001c00000011001000000000000c0000001500040000000208e5
2016.01.05 20:11:49 5: Notify from Device: FBDECT_16 recieved
2016.01.05 20:11:49 5: batteries: not on any display, ignoring notify
2016.01.05 20:11:49 5: Notify loop for FBDECT_16 current: 0.1172 A
2016.01.05 20:11:49 5: Triggering FBDECT_16 (1 changes)
2016.01.05 20:11:49 5: FBDECT_Parse for device FBDECT_16 done
2016.01.05 20:11:49 4: Payload: 000000120004000000000494 -> current: 0.1172 A
2016.01.05 20:11:49 5: FritzDect dispatch 0703001c00000011001000000000000c000000120004000000000494
2016.01.05 20:11:49 5: Notify from Device: FBDECT_16 recieved
2016.01.05 20:11:49 5: batteries: not on any display, ignoring notify
2016.01.05 20:11:49 5: Notify loop for FBDECT_16 voltage: 234.097 V
2016.01.05 20:11:49 5: Triggering FBDECT_16 (1 changes)
2016.01.05 20:11:49 5: FBDECT_Parse for device FBDECT_16 done
2016.01.05 20:11:49 4: Payload: 000000130004000000039271 -> voltage: 234.097 V
2016.01.05 20:11:49 5: FritzDect dispatch 0703001c00000011001000000000000c000000130004000000039271
2016.01.05 20:11:49 5: FBDECT_Parse for device FBDECT_16 done
2016.01.05 20:11:49 4: Payload: 0000001700080000000000d200000000 -> temperature: 21.0 C (measured)
2016.01.05 20:11:49 5: FritzDect dispatch 070300200000001100100000000000100000001700080000000000d200000000
2016.01.05 20:11:49 5: FBDECT_Parse for device FBDECT_16 done
2016.01.05 20:11:49 4: Payload: 0000000f0004000000000001 -> state: on
2016.01.05 20:11:49 5: FritzDect dispatch 0703001c00000011001000000000000c0000000f0004000000000001
2016.01.05 20:11:49 5: DbLog: logging of Device: FBDECT_16 , Type: FBDECT , Event: power: 16.80 W , Reading: power , Value: 16.80 , Unit: W
2016.01.05 20:11:49 5: Notify from Device: FBDECT_16 recieved
2016.01.05 20:11:49 5: batteries: not on any display, ignoring notify
2016.01.05 20:11:49 5: Notify loop for FBDECT_16 power: 16.80 W
2016.01.05 20:11:49 5: Triggering FBDECT_16 (1 changes)
2016.01.05 20:11:49 5: FBDECT_Parse for device FBDECT_16 done
2016.01.05 20:11:49 4: Payload: 000000140004000000000690 -> power: 16.80 W
2016.01.05 20:11:49 5: FritzDect dispatch 0703001c00000011001000000000000c000000140004000000000690
2016.01.05 20:11:49 5: FBAHA/RAW: /0703001c00000011001000000000000c0000001400040000000006900703001c00000011001000000000000c0000000f0004000000000001070300200000001100100000000000100000001700080000000000d2000000000703001c00000011001000000000000c0000001300040000000392710703001c00000011001000000000000c0000001200040000000004940703001c00000011001000000000000c0000001500040000000208e50703001c00000011001000000000000c000000160004000000000266
ZitatOk, zugegebenermaßen, bei diesem Sensor meinte ich nicht Einheiten, sondern die Prefixes "T:" und "H:" im State.
Das habe ich nicht verstanden.
ZitatEin FBDECT Sensor zeigt das gleiche Verhalten aber bei Einheiten von power, energy und current:
Das konnte ich nachvollziehen, und habs gefixt. Ab morgen per update, oder jetzt von sourceforge.
Zitat von: rudolfkoenig am 06 Januar 2016, 17:54:09
Das habe ich nicht verstanden.
Was ich meinte: Das State-Reading des Temperatursensors, das eigentlich so aussehen soll:
state T: 6.3 H: 92 2016-01-06 21:10:34
sieht mit threshold nur noch so aus:
state 6.292 2016-01-06 21:07:42
Und ist somit nicht mehr zu gebrauchen.
Zitat von: rudolfkoenig am 06 Januar 2016, 17:54:09
Das konnte ich nachvollziehen, und habs gefixt. Ab morgen per update, oder jetzt von sourceforge.
Super, vielen Dank!
Vielleicht hat sich ersteres Problem damit ja auch erledigt? Ich werde es ausprobieren!
ok, ausprobiert. Problem für beide Fälle gelöst! Danke!