grüße, die profis!
eventuell könnte es hier https://forum.fhem.de/index.php?topic=123230.msg1177709#msg1177709 auch für hm interessant werden. vielleicht mag mal schnell ein wissender dort rein schauen - speziell mein 2. beitrag könnte staunen hervorrufen *g*.
Zeig mal ein list von schlafzimmer_temperatur.
Wenn ich wetten müßte, würde ich auf einen nicht gesetzten Trigger bei einem dortigen userReadings-Eintrag setzen ;) .
Zitat von: the ratman am 04 Oktober 2021, 10:08:49
was die userreadings angeht, hab ich mal im hm-abteil hierher verwiesen. da wird ja momentan sehr viel rumgebastelt - vielleicht ist das ein nebenkriegsschauplatz.
weil mehr als ein userreading anlegen kann ich ja nicht wirklich. das geht dann, oder nicht, aber doppelt schreiben?
Wenn es das trigger-Thema ist, ist es schon länger so, das hatten wir 1:1 auch schon bei diversen Event-Handlern (das "state-Thema"). Mit den jüngsten Umbauten hat es nichts zu tun.
Mehrere userReadings gehen schon, aber eben nicht gleich benannt; das dürfte aber klar bzw. bekannt sein.
bitteescheen - extra frisch gezapft für dich:
Internals:
DEF 621F4B
FUUID 5cd2e86f-f33f-0f9e-c5ac-da92f25ee5540345
IODev hmLan2
LASTInputDev hmLan2
MSGCNT 32
NAME schlafzimmer_temperatur
NR 227
NTFY_ORDER 50-schlafzimmer_temperatur
STATE temp:18.4 °c || lf:64 %
tp:11.5 °c (abs:10.0 %)
TYPE CUL_HM
chanNo 01
disableNotifyFn 1
hmLan2_MSGCNT 32
hmLan2_RAWMSG 05000039978670621F4B00000000B840
hmLan2_RSSI -57
hmLan2_TIME 2021-10-04 10:10:54
lastMsg No:97 - t:70 s:621F4B d:000000 00B840
protLastRcv 2021-10-04 10:10:54
protRcv 32 last_at:2021-10-04 10:10:54
rssi_at_hmLan2 cnt:32 min:-58 max:-53 avg:-54.71 lst:-57
CL:
Authenticated 0
BUF
FD 4
FW_ID 15193
LASTACCESS 1633335106
NAME handyWEB_192.168.178.51_5752
NR 15679
PEER 192.168.178.51
PORT 5752
SNAME handyWEB
SSL
STATE Connected
TEMPORARY 1
TYPE FHEMWEB
canAsyncOutput 1
READINGS:
2021-10-04 10:11:30 state Connected
Helper:
DBLOG:
dewpoint:
logdb:
TIME 1633335054.45233
VALUE 11.5
humidity:
logdb:
TIME 1633335054.45233
VALUE 64
temperature:
logdb:
TIME 1633335054.45233
VALUE 18.4
temperature_alt:
logdb:
TIME 1633335054.45233
VALUE 18.5
temperature_komma:
logdb:
TIME 1633335054.45233
VALUE 18,4
OLDREADINGS:
2021-10-04 09:45:44 temperature 18.5
READINGS:
2021-10-04 09:01:49 Activity alive
2021-04-13 10:25:19 D-firmware 1.3
2021-04-13 10:25:19 D-serialNr OEQ1305690
2021-10-04 08:51:49 IODev hmLan2
2021-04-13 10:25:20 PairedTo 0x322433
2021-04-13 10:25:20 R-pairCentral 0x322433
2021-04-13 10:25:20 RegL_00. 00:00 01:00 02:01 0A:32 0B:24 0C:33 0F:00 18:00
2021-10-04 10:10:54 absoluteHumidity 10.0
2021-10-04 10:10:54 battery ok
2021-05-01 16:41:56 cfgState ok
2021-04-15 12:00:38 commState Info_Cleared
2021-10-04 10:10:54 dewpoint 11.5
2021-10-04 10:10:54 humidity 64
2021-10-04 10:10:54 state T: 18.4 H: 64
2021-10-04 10:10:54 temperature 18.4
2021-10-04 10:10:54 temperature_alt 18.5
2021-10-04 10:10:54 temperature_komma 18,4
helper:
HM_CMDNR 151
lastMsgTm 1633335054.44953
mId 00BC
peerFriend
peerIDsState complete
peerOpt p:THSensor
regLst 0
rxType 132
supp_Pair_Rep 0
cmds:
TmplKey :no:1633330309.9055
TmplTs 1633330309.9055
cmdKey 1:1:0::schlafzimmer_temperatur:00BC:01:
cmdLst:
assignHmKey noArg
burstXmit 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 0 -actChn- [({single})] [({set}|unset)] [actor|remote|both]
raw -data- [...]
regBulk -list-.-peerChn- -addr1:data1- [-addr2:data2-]...
regSet [(prep|{exec})] -regName- -value- [-peerChn-]
reset noArg
tplDel -tplDel-
tplSet_0 -tplChan-
unpair noArg
lst:
condition slider,0,1,255
peer
peerOpt
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 0
raw 1
tpl 0
io:
flgs 0
newChn +621F4B,00,00,00
nextSend 1633335054.54524
rxt 0
vccu vccu
p:
621F4B
00
00
00
prefIO:
hmLan2
mRssi:
mNo 97
io:
hmLan2:
-51
-51
peerIDsH:
00000000 broadcast
prt:
bErr 0
sProc 0
q:
qReqConf
qReqStat
role:
chn 1
dev 1
rssi:
at_hmLan2:
avg -54.71875
cnt 32
lst -57
max -53
min -58
tmpl:
Attributes:
IOgrp vccu:hmLan2
actCycle 000:10
actStatus alive
alias schlafzimmer temperatursensor
autoReadReg 4_reqStatus
expert defReg,rawReg
firmware 1.3
fp_3d 959,589,0,schlafzimmer_temperatur,
group sensoren
icon temp_temperature
model HM-WDS40-TH-I-2
oldreadings temperature
peerIDs 00000000
room homematic
serialNr OEQ1305690
stateFormat temp:temperature °c || lf:humidity %
tp:dewpoint °c (abs:absoluteHumidity %)
subType THSensor
userReadings temperature_komma { my $val = (ReadingsVal($name,"temperature","temperature")); $val =~ s/\./,/g; return $val;},
temperature_alt { OldReadingsNum($name,"temperature",0); }
qed, Wette gewonnen, wo ist mein Preis ;D .
(Siehe auch meinen Edit im vorherigen Post).
userReadings temperature_komma:temperature.* { my $val = (ReadingsVal($name,"temperature","temperature")); $val =~ s/\./,/g; return $val;},
temperature_alt:temperature.* { OldReadingsNum($name,"temperature",0); }
juhuu, wieder mal.
was die zeit angeht - keine ahnung, bei mir steht alles mehrfach seit dem 27.9. drinnen.
muss schon sagen, dass sowas extrem frustrierend ist - ich kann ja ned jeden tag jeden beitrag hier lesen um eventuell rückschlüsse auf mein fhem machen zu können.
das kann ich jetzt wieder überall zusammensuchen - ist ja nicht selten, dass ich userreadings verwende.
da du aber nix für kannst: wieder mal danke für die schnelle hilfe ...
nur gleich ne dumme frage - weil ichs auch oft habe - ich hab bei den magnet- und lichtschranken-kontakten folgende userreadings:
lastOpen:open {ReadingsTimestamp($name,"state","") =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+:\d+)$/;; "$3.$2.$1 $4"},
lastClosed:closed {ReadingsTimestamp($name,"state","") =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+:\d+)$/;; "$3.$2.$1 $4"}
und das für ein "entferntes" reading in einem doif?
regenmenge_aktuell:regen_d_curr.* {ReadingsVal("wetterstation","regen_d_curr","0")}
sind die wenigstens o.k.?
...immer wieder gerne...
Btw: Ganz unabhängig von dieser "state"-Event-"machine" "predige" ich schon seit längerem, dass userReadings ohne trigger (denkdirwas) sind :-* . Das Problem hat sich nur deutlich vertieft ;D . (Der Effekt ist zwar bei CUL_HM relativ neu, betrifft aber auch diverse andere Module bzw. Datenlieferanten.)
Zitat von: the ratman am 04 Oktober 2021, 10:37:28
nur gleich ne dumme frage - weil ichs auch oft habe - ich hab bei den magnet- und lichtschranken-kontakten folgende userreadings:
lastOpen:open {ReadingsTimestamp($name,"state","") =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+:\d+)$/;; "$3.$2.$1 $4"},
lastClosed:closed {ReadingsTimestamp($name,"state","") =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+:\d+)$/;; "$3.$2.$1 $4"}
und das für ein "entferntes" reading in einem doif?
regenmenge_aktuell:regen_d_curr.* {ReadingsVal("wetterstation","regen_d_curr","0")}
sind die wenigstens o.k.?
Jein. Die oberen ja, beim unteren (Device heißt ja nicht "wetterstation", sonst würde da $name stehen?) müßte "zufällig" auch ein Reading getriggert werden, das auf die Regex "regen_d_curr.*" paßt.
Kurz: userReadings auf "fremde" Geräte sollte man vermeiden, das ist Bäh...
ZitatKurz: userReadings auf "fremde" Geräte sollte man vermeiden, das ist Bäh...
ich dachte, dass
nur "eigene" trigger ein userreading triggern können.
ja, würd ich auch gerne - aber vor langen jahren hat ich probleme mit der wetterstation. da ich ned wusste, ob ich wieder eine kriege, hab ich ne netatmo probiert und dann wieder ne station von hm. drum dachte ich, ein "sammelpunkt" wäre nicht blöd, wenn ich wieder die hw umstelle und den wert somit ins doif gelegt.
so musste ich keine kunststücke mehr mit der db aufführen, wenn ich die regenmenge wieder mal wo anders her bekommen hab.
im nachhinein blöd, aber ich will jetzt nicht unbedingt an der db rumdrehen, damit ich meine werte plotten kann. kennst ja meinen wissensstand in solchen sachen *g*. würd bei mir wahrscheinlich den totalverlust der db-einträge bedeuten ...
wie also krieg ich solch ein userreading hin - egal, ob gescheit oder blöd? immerhin scheint das jetzt das einzige vorhandene userreading zu sein, dass noch blödsinn macht, soweit ich dass mit meinem tunnelblick sehen kann.
greifst mir nochmal unter die (frisch gewaschenen) arme?
derzeit aktuell: userReadings
regenmenge_aktuell {ReadingsVal("wetterstation","regen_d_curr","0")}
da schreibt er wenigstens zu viel, anstelle nix in die db ...
@frank ...TIMESTAMP;DEVICE;TYPE;EVENT;READING;VALUE;UNIT
2021-10-04 10:31:34;doif_regenumrechnung;DOIF;regenmenge_aktuell: 10.6;regenmenge_aktuell;10.6;
2021-10-04 10:31:34;doif_regenumrechnung;DOIF;regenmenge_aktuell: 10.6;regenmenge_aktuell;10.6;
2021-10-04 10:31:34;doif_regenumrechnung;DOIF;regenmenge_aktuell: 10.6;regenmenge_aktuell;10.6;
2021-10-04 10:31:34;doif_regenumrechnung;DOIF;regenmenge_aktuell: 10.6;regenmenge_aktuell;10.6;
2021-10-04 10:31:34;doif_regenumrechnung;DOIF;regenmenge_aktuell: 10.6;regenmenge_aktuell;10.6;
"nur triggern" wäre ja schon fast schön *g*
Zitat von: frank am 04 Oktober 2021, 10:52:50
Kurz: userReadings auf "fremde" Geräte sollte man vermeiden, das ist Bäh... (//http://Kurz:%20userReadings%20auf%20"fremde"%20Ger%C3%A4te%20sollte%20man%20vermeiden,%20das%20ist%20B%C3%A4h...)
ich dachte, dass nur "eigene" trigger ein userreading triggern können.
Schon richtig, ein eigener trigger ist erforderlich. Das heißt aber nicht, dass man userReadings nicht verwenden könnte, um Daten aus einem fremden Device zu holen. Aber auf was internes trigger, um dann möglicherweise veraltete Daten von woanders zu holen, das ist m.e. "Bäh"...
"Unter die Arme greifen" ginge vielleicht, wenn ich "Material" (=list) hätte.
Gebe aber zu bedenken, dass DBLog m.E. in der Lage ist, auch alte Readings "umzusortieren". Vielleicht nutzt du den "fast-doppel-Thread" und fragst mal nach, wie das genau geht ;) .
naja, mit der dbrep ginge es scheinbar - die löscht wohl auf verlangen doppeltes zeug wieder raus.
und gehen tut sicher viel ... aber ich würd natürlich das problem lieber an der wurzel lösen und nicht am ast.
welches list hätten's den gerne? wetterstation:Internals:
DEF 62E4AE
FUUID 5c62c6bf-f33f-0f9e-8d92-c33bb22adf9d44b4
IODev hmLan2
LASTInputDev hmLan2
MSGCNT 53
NAME wetterstation
NR 104
NTFY_ORDER 50-wetterstation
STATE regen
heute:10.9 mm
stunde:0.0 mm
temp:12.3 °c || lf:92 %
tp:11.0 °c (abs:10.0 %)
TYPE CUL_HM
chanNo 01
disableNotifyFn 1
hmLan2_MSGCNT 53
hmLan2_RAWMSG 05000036B2867062E4AE000000007B5C00EAC055444E77
hmLan2_RSSI -54
hmLan2_TIME 2021-10-04 11:05:18
lastMsg No:B2 - t:70 s:62E4AE d:000000 007B5C00EAC055444E77
protLastRcv 2021-10-04 11:05:18
protRcv 53 last_at:2021-10-04 11:05:18
rssi_at_hmLan2 cnt:53 min:-60 max:-51 avg:-52.79 lst:-54
CL:
Authenticated 0
BUF
FD 19
FW_ID 26120
LASTACCESS 1633338397
NAME handyWEB_192.168.178.51_6762
NR 26120
PEER 192.168.178.51
PORT 6762
SNAME handyWEB
SSL
STATE Connected
TEMPORARY 1
TYPE FHEMWEB
canAsyncOutput 1
READINGS:
2021-10-04 11:06:31 state Connected
Helper:
DBLOG:
brightness:
logdb:
TIME 1633338318.44812
VALUE 119
dewpoint:
logdb:
TIME 1633338318.44812
VALUE 11.0
humidity:
logdb:
TIME 1633338318.44812
VALUE 92
temperature:
logdb:
TIME 1633338318.44812
VALUE 12.3
temperature_alt:
logdb:
TIME 1633338318.44812
VALUE 12.4
temperature_komma:
logdb:
TIME 1633338318.44812
VALUE 12,3
windDirection:
logdb:
TIME 1633338318.44812
VALUE 340
windSpeed:
logdb:
TIME 1633338318.44812
VALUE 8.5
OLDREADINGS:
2021-10-04 10:57:00 temperature 12.4
READINGS:
2021-10-04 09:01:49 Activity alive
2021-04-13 10:30:00 CommandAccepted yes
2021-04-12 08:46:10 D-firmware 1.6
2021-04-12 08:46:10 D-serialNr OEQ1864809
2021-10-04 08:51:49 IODev hmLan2
2021-04-13 11:52:47 PairedTo 0x322433
2021-04-13 10:29:58 R-burstRx off
2021-04-13 10:29:58 R-localResDis off
2021-04-13 10:29:58 R-pairCentral 0x322433
2021-04-13 10:29:59 R-sunThresh 50
2021-04-13 10:29:59 R-windSpeedRsltSrc max
2021-04-13 11:52:47 RegL_00. 00:00 01:00 02:01 0A:32 0B:24 0C:33 18:00
2021-04-13 11:52:46 RegL_01. 00:00 05:32 06:14 07:05 0A:01
2021-10-04 11:05:18 absoluteHumidity 10.0
2021-10-04 11:05:18 battery ok
2021-10-04 11:05:18 brightness 119
2021-05-01 16:41:56 cfgState ok
2021-08-24 07:28:49 commState CMDs_done
2021-10-04 11:05:18 dewpoint 11.0
2021-10-04 11:05:18 humidity 92
2021-10-04 11:05:18 isRaining 0
2021-08-24 07:28:49 powerOn 2021-08-24 07:28:49
2021-10-04 11:05:18 rain 69.03
2021-08-24 07:28:49 recentStateType info
2021-10-04 11:05:18 regen_all cH: 0.0 lH: 0.0 cD: 10.9 lD: 5.3 IR: 0 Rnow: 0.0 Rdif: 0
2021-10-04 11:05:18 regen_d_curr 10.9
2021-10-04 00:00:37 regen_d_last 5.3
2021-10-04 00:00:37 regen_d_start 58.1
2021-10-04 00:00:37 regen_d_trig_tsecs 1633384800
2021-10-04 11:05:18 regen_h_curr 0.0
2021-10-04 11:05:18 regen_h_last 0.0
2021-10-04 11:05:18 regen_h_start 69.0
2021-10-04 11:05:18 regen_h_trig_tsecs 1633338000
2021-10-04 11:05:18 regen_now_diff 0
2021-10-04 11:05:18 regen_now_rate 0.0
2021-10-04 11:05:18 regen_now_value 69.0
2021-10-04 11:05:18 regen_tsecs 1633338318.43899
2021-10-04 11:05:18 state T: 12.3 H: 92 W: 8.5 R: 69.03 IR: 0 WD: 340 WDR: 67.5 S: 78 B: 119
2021-10-04 11:05:18 sunshine 78
2021-10-04 11:05:18 temperature 12.3
2021-10-04 11:05:18 temperature_alt 12.4
2021-10-04 11:05:18 temperature_komma 12,3
2021-08-24 07:28:49 unknown 06000030
2021-10-04 11:05:18 windDirRange 67.5
2021-10-04 11:05:18 windDirection 340
2021-10-04 11:05:18 windSpeed 8.5
helper:
HM_CMDNR 178
lastMsgTm 1633338318.43756
mId 00AE
peerFriend peerAct,peerVirt
peerIDsState complete
peerOpt 1p:THSensor,4:THSensor,p:THSensor
regLst 0,1,1p,4p
rxType 140
supp_Pair_Rep 0
cmds:
TmplKey :no:1633330310.00023
TmplTs 1633330310.00023
cmdKey 1:1:0::wetterstation:00AE:01:
cmdLst:
assignHmKey noArg
burstXmit 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 0 -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 slider,0,1,255
peer
peerOpt 4k12v_schalter1,4k12v_schalter2,4k12v_schalter3,4k12v_schalter4,schlafzimmer_rollo,solaranlage_kuehlung,vccu,wohnzimmer_buero_licht_Dim,wohnzimmer_buero_licht_Dim_V_01,wohnzimmer_buero_licht_Dim_V_02,wohnzimmer_gang_gz_licht_Dim,wohnzimmer_gang_gz_licht_Dim_V_01,wohnzimmer_gang_gz_licht_Dim_V_02,wohnzimmer_gang_sz_licht_Dim,wohnzimmer_gang_sz_licht_Dim_V_01,wohnzimmer_gang_sz_licht_Dim_V_02,wohnzimmer_rollo_strasse,wohnzimmer_rollo_terrasse,wohnzimmer_sofa_licht_Dim,wohnzimmer_sofa_licht_Dim_V_01,wohnzimmer_sofa_licht_Dim_V_02
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 1
io:
flgs 0
newChn +62E4AE,00,00,00
nextSend 1633338318.53321
rxt 0
vccu vccu
p:
62E4AE
00
00
00
prefIO:
hmLan2
mRssi:
mNo B2
io:
hmLan2:
-48
-48
peerIDsH:
00000000 broadcast
prt:
bErr 0
sProc 0
q:
qReqConf
qReqStat
role:
chn 1
dev 1
rssi:
at_hmLan2:
avg -52.7924528301887
cnt 53
lst -54
max -51
min -60
tmpl:
Attributes:
IOgrp vccu:hmLan2
actCycle 000:10
actStatus alive
alias wetterstation
autoReadReg 0_off
expert defReg,allReg,rawReg,templ
firmware 1.6
group sensoren
icon weather_station
model HM-WDS100-C6-O-2
oldreadings temperature
peerIDs 00000000
room homematic
serialNr OEQ1864809
stateFormat regen
heute:regen_d_curr mm
stunde:regen_h_curr mm
temp:temperature °c || lf:humidity %
tp:dewpoint °c (abs:absoluteHumidity %)
subType THSensor
userReadings temperature_komma:temperature.* { my $val = (ReadingsVal($name,"temperature",0)); $val =~ s/\./,/g; return $val;},
temperature_alt:temperature.* { OldReadingsNum($name,"temperature",0); }
nachtrag:
ganz vergessen: die werte werden aus dem modal "rain" in die wetterstation gepresst.
da würd ich sowieso schon nach alternativen suchen, weil so derartig zuverlässig is die sache nicht. das ding bringt auch gern mal beim tageswechsel minus-werte
Dein list ist ja schön, aber da finde ich nicht das userReadings, das du eigentlich anfassen wolltest, oder...?
Zitat von: the ratman am 04 Oktober 2021, 10:55:40
regenmenge_aktuell {ReadingsVal("wetterstation","regen_d_curr","0")}
ja, nur für doif gibt's scheints kein list ... weil kein get.
ich geb die anstelle ne raw def, vielleicht hilfts ja?defmod doif_regenumrechnung DOIF ( \
[HM_70FEFD_Rain:regen] eq "rain"\
and [$SELF:zustand] eq "an" \
)\
\
( set HM_70FEFD_Heating on-for-timer 300 )\
( setreading $SELF regen_echt 255 )\
\
DOELSEIF ## 02\
\
( \
[HM_70FEFD_Rain:regen] eq "rain"\
and [$SELF:zustand] eq "aus" \
)\
\
( set HM_70FEFD_Heating off)\
( setreading $SELF regen_echt 130 )\
\
DOELSEIF ## 03\
\
( [HM_70FEFD_Rain:regen] eq "dry" )\
\
( set HM_70FEFD_Heating off ) \
( setreading $SELF regen_echt 0 )\
\
DOELSEIF ## 04\
\
( [HM_70FEFD_Rain:regen] eq "rain"\
and [wetterstation:temperature] < 2 \
and [$SELF:zustand] eq "an" \
) \
\
( set HM_70FEFD_Heating on-for-timer 599 )\
( setreading $SELF regen_echt 10 )\
\
DOELSEIF ## 05\
\
( [00:00] )\
\
( setreading wetterstation regen_d_curr 0 )\
\
DOELSEIF ## 06\
\
( [solaranlage_kuehlung:battery] eq "low" )\
\
( set $SELF zustand aus )\
( set HM_70FEFD_Heating off )
attr doif_regenumrechnung alias regen umrechnen und heizen
attr doif_regenumrechnung do always
attr doif_regenumrechnung group temperaturhilfen
attr doif_regenumrechnung icon helper_doif
attr doif_regenumrechnung readingList zustand \
regen_echt
attr doif_regenumrechnung repeatcmd 600:0:0:0
attr doif_regenumrechnung room logik und schalten
attr doif_regenumrechnung setList regen_echt:0,10,130,255
attr doif_regenumrechnung startup set $SELF checkall
attr doif_regenumrechnung stateFormat regen? regen_echt
attr doif_regenumrechnung userReadings regenmenge_aktuell {ReadingsVal("wetterstation","regen_d_curr","0")}\
\
setstate doif_regenumrechnung regen? 255
setstate doif_regenumrechnung 2021-10-04 11:12:30 Device wetterstation
setstate doif_regenumrechnung 2021-10-04 11:11:34 cmd 1.2
setstate doif_regenumrechnung 2021-10-04 11:11:34 cmd_event doif_regenumrechnung
setstate doif_regenumrechnung 2021-10-04 11:11:34 cmd_nr 1
setstate doif_regenumrechnung 2021-10-04 11:11:34 cmd_seqnr 2
setstate doif_regenumrechnung 2021-10-03 17:45:10 e_HM_70FEFD_Rain_regen rain
setstate doif_regenumrechnung 2021-10-04 07:41:40 e_doif_regenumrechnung_zustand an
setstate doif_regenumrechnung 2021-10-04 11:12:30 e_wetterstation_temperature 12.3
setstate doif_regenumrechnung 2021-09-29 15:47:04 mode enabled
setstate doif_regenumrechnung 2021-10-04 11:11:34 regen_echt 255
setstate doif_regenumrechnung 2021-10-04 11:12:30 regenmenge_aktuell 10.9
setstate doif_regenumrechnung 2021-10-04 11:11:34 state cmd_1
setstate doif_regenumrechnung 2021-10-04 08:51:34 timer_01_c05 05.10.2021 00:00:00
setstate doif_regenumrechnung 2021-10-04 11:11:34 wait_timer 04.10.2021 11:21:34 cmd_1_1 doif_regenumrechnung
setstate doif_regenumrechnung 2021-10-04 07:41:40 zustand an
Aua, ich vergaß: DOIF kapiere ich nicht...
Anders gesagt: Such' dir ein passendes Event an dem DOIF aus und packe das in den trigger. Das _könnte_ "Device.wetterstation" sein. Aber hatte DOIF nicht Mittel und Wege, eigene Readings zu setzen? Müßte doch gehen, Änderungen der Regenmenge am überwachten Device abzugreifen...?
tröste dich - ich kapier viel, viel mehr ned *g*
das
regenmenge_aktuell:cmd_nr.* {ReadingsVal("wetterstation","regen_d_curr",0)}
müsste also gehen?
dann müsste das bei jedem fall-wechsel im reading
cmd_nr 3 2021-10-04 11:39:17
triggern. theoretisch also bei regen alle 600 sek.
nachtrag:
ja, geht auch - nur "verliere" ich dann eben alle regeneinträge, die mit einem anderen readingsnamen/device gemacht wurden im plot.
und ja, könnte man sicher umstellen in der db, usw. aber ich bin schon froh, dass die sache generell rennt.
die mysql-db ist nicht nur für fhem. wenn ich da scheiße drehe, stell ich mich still ins winkerl und weine 3 tage durch.
das glaube ich nicht. ;)
du hast "attr do always" und kein eocr.
das sind die "normlen" userreadings, nicht die vom doif - nur, falls wir da aneinander vorbei reden.
es ist auch schon besser: anstelle 4-5 mal schreibt er jetzt verlässlich alle 10 min (das würde passen) nur mehr 2 mal *g*TIMESTAMP;DEVICE;TYPE;EVENT;READING;VALUE;UNIT
2021-10-04 11:53:53;doif_regenumrechnung;DOIF;regenmenge_aktuell: 10.9;regenmenge_aktuell;10.9;
2021-10-04 11:53:53;doif_regenumrechnung;DOIF;regenmenge_aktuell: 10.9;regenmenge_aktuell;10.9;
2021-10-04 11:43:53;doif_regenumrechnung;DOIF;regenmenge_aktuell: 10.9;regenmenge_aktuell;10.9;
2021-10-04 11:43:53;doif_regenumrechnung;DOIF;regenmenge_aktuell: 10.9;regenmenge_aktuell;10.9;
öhm, wat is nu wieder "eocr"?
event-on-change-reading
oh mann ... *g*
gut, mach ich mal eocr mit .* im doif.
vdfdh!