Hallo miteinander,
ich habe eine Rg, mit der ich u.a. den Batteriestatus anzeigen lasse. Um die Laufzeit bei Batteriewechsel zurückzusetzen, habe ich ein command definiert, welches das Alter des Zeitstempels in das gleiche userreading eintragen soll. Allerdings funzt das nicht und ich bekomme folgenden Fehler:
fhem?detail=Batteriestati line 1:
SyntaxError: missing ) after argument list
Hier die RG:
Internals:
CFGFN ./FHEM/85_System.cfg
DEF <%measure_battery_75>,<Aktiv>,<letzte Aktivität>,<RSSI>,<Batterie (Spannung)>,<aktuelle Laufzeit (Tage)>,<vorher (Tage)>,<Batteriewechsel>
<>,<>,<>,<>,<>,<>,<>,<>,<>
<Fenster, Wohnungstür>,<>,<>,<>,<>,<>,<>,<>,<>
BK_Fenster:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,battery,<{int(ReadingsAge($DEVICE,'Batteriedauer_alt',0)/60/60/24)}@state>,Batteriedauer_alt,<Wechsel>
WZ_Fenster:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+CUNO2_RSSI:i,<>,<{int(ReadingsAge($DEVICE,'Batteriedauer_alt',0)/60/60/24)}@state>,Batteriedauer_alt,<Wechsel>
KU_Fenster:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,battery,<{int(ReadingsAge($DEVICE,'Batteriedauer_alt',0)/60/60/24)}@state>,Batteriedauer_alt,<Wechsel>
SZ_Fenster:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,battery,<{int(ReadingsAge($DEVICE,'Batteriedauer_alt',0)/60/60/24)}@state>,Batteriedauer_alt,<Wechsel>
BD_Fenster:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,battery,<{int(ReadingsAge($DEVICE,'Batteriedauer_alt',0)/60/60/24)}@state>,Batteriedauer_alt,<Wechsel>
AZ_Fenster:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+CUNO2_RSSI:i,<>,<{int(ReadingsAge($DEVICE,'Batteriedauer_alt',0)/60/60/24)}@state>,Batteriedauer_alt,<Wechsel>
FL_Fenster:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+CUNO2_RSSI:i,<>,<{int(ReadingsAge($DEVICE,'Batteriedauer_alt',0)/60/60/24)}@state>,Batteriedauer_alt,<Wechsel>
<>,<>,<>,<>,<>,<>,<>,<>,<>
<Heizungen>,<>,<>,<>,<>,<>,<>,<>,<>
WZ_Hk0:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,batteryLevel,<{int(ReadingsAge($DEVICE,'Batteriedauer_alt',0)/60/60/24)}@state>,Batteriedauer_alt,<Wechsel>
WZ_Hk1:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,batteryLevel,<{int(ReadingsAge($DEVICE,'Batteriedauer_alt',0)/60/60/24)}@state>,Batteriedauer_alt,<Wechsel>
BD_Regler:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,batteryLevel,<{int(ReadingsAge($DEVICE,'Batteriedauer_alt',0)/60/60/24)}@state>,Batteriedauer_alt,<Wechsel>
BD_Hk4:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,batteryLevel,<{int(ReadingsAge($DEVICE,'Batteriedauer_alt',0)/60/60/24)}@state>,Batteriedauer_alt,<Wechsel>
<>,<>,<>,<>,<>,<>,<>,<>,<>
<Sensoren>,<>,<>,<>,<>,<>,<>,<>,<>
WZ_Sensor:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,<>,battery,<{int(ReadingsAge($DEVICE,'Batteriedauer_alt',0)/60/60/24)}@state>,Batteriedauer_alt,<Wechsel>
KU_Sensor:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,<>,battery,<{int(ReadingsAge($DEVICE,'Batteriedauer_alt',0)/60/60/24)}@state>,Batteriedauer_alt,<Wechsel>
AZ_Sensor:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,<>,battery,<{int(ReadingsAge($DEVICE,'Batteriedauer_alt',0)/60/60/24)}@state>,Batteriedauer_alt,<Wechsel>
<>,<>,<>,<>,<>,<>,<>,<>,<>
<Taster, Aktoren>,<>,<>,<>,<>,<>,<>,<>,<>
BD_T6:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,battery,<{int(ReadingsAge($DEVICE,'Batteriedauer_alt',0)/60/60/24)}@state>,Batteriedauer_alt,<Wechsel>
FL_T6:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,battery,<{int(ReadingsAge($DEVICE,'Batteriedauer_alt',0)/60/60/24)}@state>,Batteriedauer_alt,<Wechsel>
BD_Li:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,<>,<>,<>,<>
BD_Luefter:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,<>,<>,<>,<>
FL_Licht:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,<>,<>,<>,<>
<>,<>,<>,<>,<>,<>,<>,<>,<>
<Rollläden>,<>,<>,<>,<>,<>,<>,<>,<>
WZ_Rolare:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,<>,<>,<>,<>
WZ_Rolali:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,<>,<>,<>,<>
WZ_Rola:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,<>,<>,<>,<>
KU_Rola:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,<>,<>,<>,<>
SZ_Rola:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,<>,<>,<>,<>
BD_Rola:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,<>,<>,<>,<>
AZ_Rola:Activity,<{ReadingsTimestamp($DEVICE,"state","")}@state>,+HMLAN1_RSSI:i,<>,<>,<>,<>
FUUID 5c443db1-f33f-b425-5ab3-02e5ce0ff492fd77
NAME Batteriestati
NR 723
NTFY_ORDER 50-Batteriestati
STATE Initialized
TYPE readingsGroup
changed 0
mayBeVisible 1
CONTENT:
AZ_Fenster 1
AZ_Rola 1
AZ_Sensor 1
BD_Fenster 1
BD_Hk4 1
BD_Li 1
BD_Luefter 1
BD_Regler 1
BD_Rola 1
BD_T6 1
BK_Fenster 1
FL_Fenster 1
FL_Licht 1
FL_T6 1
KU_Fenster 1
KU_Rola 1
KU_Sensor 1
SZ_Fenster 1
SZ_Rola 1
WZ_Fenster 1
WZ_Hk0 1
WZ_Hk1 1
WZ_Rola 1
WZ_Rolali 1
WZ_Rolare 1
WZ_Sensor 1
CONTENT2:
DEVICES:
ARRAY(0x7860fd8)
ARRAY(0x774cb18)
ARRAY(0x78456b0)
ARRAY(0x6c60d80)
ARRAY(0x7846b68)
ARRAY(0x781d488)
ARRAY(0x7866828)
ARRAY(0x78667f8)
ARRAY(0x6c3fb78)
ARRAY(0x6cdbf70)
ARRAY(0x7859af8)
ARRAY(0x6faae50)
ARRAY(0x7866708)
ARRAY(0x78e70b0)
ARRAY(0x7865f28)
ARRAY(0x7866078)
ARRAY(0x7866510)
ARRAY(0x781d0b0)
ARRAY(0x781d1e8)
ARRAY(0x781d098)
ARRAY(0x781d140)
ARRAY(0x7748030)
ARRAY(0x7758e00)
ARRAY(0x775b328)
ARRAY(0x78450e0)
ARRAY(0x792c550)
ARRAY(0x781d260)
ARRAY(0x76920d8)
ARRAY(0x792e290)
ARRAY(0x7848380)
ARRAY(0x7853d78)
ARRAY(0x7856de8)
ARRAY(0x77439f0)
ARRAY(0x6ced9f0)
ARRAY(0x7852460)
ARRAY(0x773d5c0)
ARRAY(0x785ee70)
fhem:
lastDefChange 5
last_update 1625127274.49573
helper:
DEF
commands {"battery.low"=>"set $DEVICE replaceBatteryForSec 60",
"Batteriestati.Wechsel"=>"setreading $DEVICE Batteriedauer_alt {ReadingsAge($DEVICE,'Batteriedauer_alt',0)}"}
valueFormat {if($READING eq "batteryLevel"){if($VALUE>=3){$VALUE=100} elsif($VALUE>=2.7){$VALUE=75}elsif($VALUE>=2.5){$VALUE=50}elsif($VALUE>=2.2){$VALUE=25} else{$VALUE=0}}}
valueStyle style="text-align:right"
valueSuffix {"batteryLevel"=>" (".ReadingsVal($DEVICE,$READING,0)." V)","Batteriewechsel"=>" Tage"}
cellStyle:
r:1 style="font-weight:bold;;font-size:16px"
r:12 style="font-weight:bold"
r:18 style="font-weight:bold"
r:23 style="font-weight:bold"
r:3 style="font-weight:bold"
r:30 style="font-weight:bold"
positions:
AZ_Fenster.Activity 9:1
AZ_Fenster.Batteriedauer_alt 9:6
AZ_Rola.Activity 37:1
AZ_Rola.HMLAN1_RSSI 37:3
AZ_Sensor.Activity 21:1
AZ_Sensor.Batteriedauer_alt 21:6
AZ_Sensor.battery 21:4
BD_Fenster.Activity 8:1
BD_Fenster.Batteriedauer_alt 8:6
BD_Fenster.HMLAN1_RSSI 8:3
BD_Fenster.battery 8:4
BD_Hk4.Activity 16:1
BD_Hk4.Batteriedauer_alt 16:6
BD_Hk4.HMLAN1_RSSI 16:3
BD_Hk4.batteryLevel 16:4
BD_Li.Activity 26:1
BD_Li.HMLAN1_RSSI 26:3
BD_Luefter.Activity 27:1
BD_Luefter.HMLAN1_RSSI 27:3
BD_Regler.Activity 15:1
BD_Regler.Batteriedauer_alt 15:6
BD_Regler.HMLAN1_RSSI 15:3
BD_Regler.batteryLevel 15:4
BD_Rola.Activity 36:1
BD_Rola.HMLAN1_RSSI 36:3
BD_T6.Activity 24:1
BD_T6.Batteriedauer_alt 24:6
BD_T6.battery 24:4
BK_Fenster.Activity 4:1
BK_Fenster.Batteriedauer_alt 4:6
BK_Fenster.battery 4:4
FL_Fenster.Activity 10:1
FL_Fenster.Batteriedauer_alt 10:6
FL_Licht.Activity 28:1
FL_Licht.HMLAN1_RSSI 28:3
FL_T6.Activity 25:1
FL_T6.Batteriedauer_alt 25:6
FL_T6.battery 25:4
KU_Fenster.Activity 6:1
KU_Fenster.Batteriedauer_alt 6:6
KU_Fenster.battery 6:4
KU_Rola.Activity 34:1
KU_Rola.HMLAN1_RSSI 34:3
KU_Sensor.Activity 20:1
KU_Sensor.Batteriedauer_alt 20:6
KU_Sensor.battery 20:4
SZ_Fenster.Activity 7:1
SZ_Fenster.Batteriedauer_alt 7:6
SZ_Fenster.battery 7:4
SZ_Rola.Activity 35:1
WZ_Fenster.Activity 5:1
WZ_Fenster.Batteriedauer_alt 5:6
WZ_Hk0.Activity 13:1
WZ_Hk0.Batteriedauer_alt 13:6
WZ_Hk0.HMLAN1_RSSI 13:3
WZ_Hk0.batteryLevel 13:4
WZ_Hk1.Activity 14:1
WZ_Hk1.Batteriedauer_alt 14:6
WZ_Hk1.HMLAN1_RSSI 14:3
WZ_Hk1.batteryLevel 14:4
WZ_Rola.Activity 33:1
WZ_Rola.HMLAN1_RSSI 33:3
WZ_Rolali.Activity 32:1
WZ_Rolali.HMLAN1_RSSI 32:3
WZ_Rolare.Activity 31:1
WZ_Rolare.HMLAN1_RSSI 31:3
WZ_Sensor.Activity 19:1
WZ_Sensor.Batteriedauer_alt 19:6
WZ_Sensor.battery 19:4
valueColumn:
Batteriedauer_alt 6
battery 4
batteryLevel 4
valueIcon:
Activity.alive general_ok@green
Activity.dead unknown@red
Activity.unknown unknown@orange
alive.yes general_ok@green
battery.low measure_battery_50@E50005
battery.ok measure_battery_100@0CFB0C
batteryLevel.0 measure_battery_0@E50005
batteryLevel.100 measure_battery_100@0CFB0C
batteryLevel.25 measure_battery_25@FB5909
batteryLevel.50 measure_battery_50@F5FF10
batteryLevel.75 measure_battery_75@42BC0A
values:
formated:
undef
ARRAY(0x78502c0)
undef
ARRAY(0x784fe40)
ARRAY(0x7846670)
ARRAY(0x6b8a748)
ARRAY(0x781db78)
orig:
undef
ARRAY(0x6ba6398)
undef
ARRAY(0x776de18)
ARRAY(0x7859180)
ARRAY(0x784fff0)
ARRAY(0x6ced858)
prefixsuffix:
undef
ARRAY(0x6cc70f8)
undef
ARRAY(0x6b9a000)
ARRAY(0x6b9a6f0)
ARRAY(0x6b9eff0)
ARRAY(0x78e6780)
Attributes:
alias Stati
cellStyle {"r:1"=>'style="font-weight:bold;;font-size:16px"', "r:3"=>'style="font-weight:bold"',"r:12" =>'style="font-weight:bold"', "r:18"=>'style="font-weight:bold"',"r:23"=>'style="font-weight:bold"',"r:30"=>'style="font-weight:bold"'}
commands {"battery.low"=>"set $DEVICE replaceBatteryForSec 60",
"Batteriestati.Wechsel"=>"setreading $DEVICE Batteriedauer_alt {ReadingsAge($DEVICE,'Batteriedauer_alt',0)}"}
room 085System
valueColumn {battery => 4,batteryLevel => 4,Batteriedauer_alt => 6}
valueFormat {if($READING eq "batteryLevel"){if($VALUE>=3){$VALUE=100} elsif($VALUE>=2.7){$VALUE=75}elsif($VALUE>=2.5){$VALUE=50}elsif($VALUE>=2.2){$VALUE=25} else{$VALUE=0}}}
valueIcon {'batteryLevel.100'=>'measure_battery_100@0CFB0C','batteryLevel.75'=>'measure_battery_75@42BC0A', 'batteryLevel.50'=>'measure_battery_50@F5FF10','batteryLevel.25'=>'measure_battery_25@FB5909', 'batteryLevel.0'=>'measure_battery_0@E50005','battery.ok'=>'measure_battery_100@0CFB0C', 'battery.low'=>'measure_battery_50@E50005','Activity.unknown'=>'unknown@orange','Activity.dead'=>'unknown@red',
'Activity.alive'=>'general_ok@green','alive.yes'=>'general_ok@green'}
valueStyle style="text-align:right"
valueSuffix {"batteryLevel"=>" (".ReadingsVal($DEVICE,$READING,0)." V)","Batteriewechsel"=>" Tage"}
Und als Beispiel ein HM-RHS Fensterkontakt:
Internals:
CFGFN ./FHEM/064_BD.cfg
DEF 149A4C
FUUID 5c443da8-f33f-b425-cb01-fa4c8b02a307fe7a
HMLAN1_MSGCNT 36
HMLAN1_RAWMSG R6121CCE5,0001,718DEC62,FF,FFB7,26A010149A4CF112340100000000
HMLAN1_RSSI -73
HMLAN1_TIME 2021-07-01 10:14:03
IODev HMLAN1
LASTInputDev HMLAN1
MSGCNT 39
NAME BD_Fenster
NOTIFYDEV global
NR 184
NTFY_ORDER 50-BD_Fenster
STATE gekippt
TYPE CUL_HM
chanNo 01
lastMsg No:26 - t:10 s:149A4C d:F11234 0100000000
myHmUART_MSGCNT 3
myHmUART_RAWMSG 0500005C03A441149A4CF112340103C8
myHmUART_RSSI -92
myHmUART_TIME 2021-07-01 10:10:08
protLastRcv 2021-07-01 10:14:03
protRcv 30 last_at:2021-07-01 10:14:03
protSnd 17 last_at:2021-07-01 10:14:03
protState CMDs_done
rssi_at_HMLAN1 cnt:36 min:-81 max:-69 avg:-75.11 lst:-73
rssi_at_myHmUART cnt:3 min:-92 max:-90 avg:-91 lst:-92
READINGS:
2021-07-01 10:15:23 Activity alive
2021-06-13 17:17:28 Alias Badfenster
2021-07-01 10:16:03 Batteriedauer_alt 20
2021-07-01 08:05:00 Batteriewechsel 1481
2021-07-01 10:14:01 CommandAccepted yes
2021-07-01 10:11:22 D-firmware 2.0
2021-07-01 10:11:22 D-serialNr IEQ0044944
2021-07-01 10:05:23 IODev HMLAN1
2021-07-01 10:14:01 PairedTo 0xF11234
2021-06-13 17:16:07 R-cyclicInfoMsg off
2021-06-13 17:16:07 R-eventDlyTime 0 s
2021-06-13 17:16:07 R-ledOnTime 0.5 s
2021-06-13 17:16:07 R-msgRhsPosA closed
2021-06-13 17:16:07 R-msgRhsPosB open
2021-06-13 17:16:07 R-msgRhsPosC tilted
2021-06-13 17:21:33 R-pairCentral 0xF11234
2021-07-01 10:14:01 R-sabotageMsg off
2021-06-13 17:16:07 R-sign off
2021-06-13 17:16:07 R-transmDevTryMax 6
2021-06-13 17:16:07 R-transmitTryMax 6
2021-07-01 10:14:01 RegL_00. 00:00 02:01 09:00 0A:F1 0B:12 0C:34 10:00 14:06
2021-07-01 10:14:02 RegL_01. 00:00 08:00 20:6C 21:00 22:64 30:06
2021-07-01 10:13:59 alive yes
2021-07-01 10:13:59 battery ok
2021-07-01 10:15:03 cfgState ok
2021-07-01 10:14:03 commState CMDs_done
2021-07-01 10:13:59 contact tilted (to VCCU)
2021-07-01 10:10:27 ftui_background yellow
2021-07-01 10:11:37 powerOn 2021-07-01 10:11:37
2021-07-01 10:13:59 recentStateType info
2021-07-01 10:13:59 sabotageError on
2021-07-01 10:13:59 state tilted
2021-07-01 10:11:32 trigger_cnt 1
helper:
HM_CMDNR 38
PONtest 0
cSnd 01F11234149A4C01040000000001,01F11234149A4C0103
cfgStateUpdt 0
mId 0030
peerFriend peerAct,peerVirt
peerIDsRaw ,00000000
peerIDsState complete
peerOpt 4:threeStateSensor
regLst 0,1,4p
rxType 20
supp_Pair_Rep 0
tmplChg 0
ack:
cmds:
TmplKey :no:1625126728.87296
TmplTs 1625126728.87296
cmdKey 1:1:0::BD_Fenster:0030:01:
cmdLst:
assignHmKey noArg
clear [(readings|trigger|register|oldRegs|rssi|msgEvents|{msgErrors}|attack|all)]
deviceRename -newName-
fwUpdate -filename- [-bootTime-]
getConfig noArg
getDevInfo noArg
getRegRaw (List0|List1|List2|List3|List4|List5|List6|List7) [-peerChn-]
peerBulk -peer1,peer2,...- [({set}|unset)]
peerChan -btnNumber- -actChn- [({single})] [({set}|unset)] [actor|remote|both]
peerSmart -peerOpt-
raw -data- [...]
regBulk -list-.-peerChn- -addr1:data1- -addr2:data2-...
regSet [(prep|{exec})] -regName- -value- [-peerChn-]
reset noArg
sign [(on|{off})]
tplDel -tplDel-
tplSet_0 -tplChan-
trgEventL -peer- -condition-
trgEventS -peer- -condition-
trgPressL [(-peer-|{all})]
trgPressS [(-peer-|{all})]
unpair noArg
lst:
condition closed,open,tilted
peer
peerOpt AZ_Rola,BD_Hk4_WindowRec,BD_Hk4_remote,BD_Li_Sw_01,BD_Li_Sw_02,BD_Luefter_Sw_01,BD_Regler_WindowRec,BD_Regler_remote,BD_Rola,FL_Licht,GB_Luefter_Sw_02,KU_Rola,Melde_LED,SZ_Rola,WZ_Hk0_WindowRec,WZ_Hk0_remote,WZ_Hk1_WindowRec,WZ_Hk1_remote,WZ_Rola,WZ_Rolali,WZ_Rolare,WZ_virt_Sensor,virSEC,virSEC_BD,virSEC_Btn2,virSEC_Btn3,virSEC_Btn5,virSEC_Btn6,virSEC_Btn7,virSEC_Btn8,virSEC_Btn9,virSEC_WZ,virtual_BD_Window,virtual_BK_Window
tplChan
tplDel
tplPeer
rtrvLst:
cmdList [({short}|long)]
deviceInfo [({short}|long)]
list [({normal}|full)]
param -param-
reg -addr- -list- [-peerChn-]
regList noArg
regTable noArg
regVal -addr- -list- [-peerChn-]
saveConfig [-filename-]
tplInfo noArg
expert:
def 1
det 1
raw 1
tpl 0
io:
flgs 0
newChn +149A4C,00,00,00
nextSend 1625127243.09169
rxt 2
vccu VCCU
p:
149A4C
00
00
00
prefIO:
HMLAN1
mRssi:
mNo 26
io:
HMLAN1:
-71
-71
myHmUART:
peerIDsH:
00000000 broadcast
prt:
bErr 0
sProc 0
sleeping 0
rspWait:
q:
qReqConf
qReqStat
regCollect:
role:
chn 1
dev 1
rpt:
IO HMLAN1
flg A
ts 1625127243.00312
ack:
HASH(0x37954e0)
268002F11234149A4C00
rssi:
at_HMLAN1:
avg -75.1111111111111
cnt 36
lst -73
max -69
min -81
at_myHmUART:
avg -91
cnt 3
lst -92
max -90
min -92
shadowReg:
tmpl:
Attributes:
IODev HMLAN1
IOgrp VCCU:HMLAN1
actCycle 028:00
actStatus alive
alias Badfenster
appOptions {"template":"contact"}
autoReadReg 4_reqStatus
eventMap /tilted:gekippt/open:offen/closed:geschlossen/
expert defReg,allReg,rawReg
firmware 2.0
fp_ETW 26,596,0,
model HM-SEC-RHS
peerIDs 00000000
room 004Bad
serialNr IEQ0044944
subType threeStateSensor
verbose 3
Das Kommando ist folgendes:
"Batteriestati.Wechsel"=>"setreading $DEVICE Batteriedauer_alt {ReadingsAge($DEVICE,'Batteriedauer_alt',0)}"
Wo kann ich hier ansetzen?
Falls noch Infos fehlen, dann bitte fragen.
Dankeschön
Uwe