Hallo,
ich verzweifel an einem At Befehl. Ich will damit meinen Koi Futterautomaten steuern. Das Ganze ist eine Homematic Funksteckdose. Hier mal der Code:
*10:00:00 {if(ReadingsVal('dy_Season', 'state', '') eq 'Sommer') {fhem ("set SteckdoseKoiFutter on-for-timer 3")} }
Die Namen sind richtig geschrieben bei SteckdoseKoiFutter steht auch der At unten drin das er damit verbunden ist. Der Dummy dy_Season steht auf Sommer. Beim At steht auch die zeit als next. Aber er wird nicht ausgeführt. Leider steht auch in den Logfiles nichts drinnen. Ich habe noch andere At Befehlr die funktionieren einwandfrei. Werden aber auch nicht im Logfile angezeigt.
Vielleicht kann mir ja jemand auf die Sprünge helfen.
Danke und Gruß Rolf
Was genau ist das Problem?
Der Code sieht nicht schön aus, sollte aber funktionieren!
Funktioniert "execNow" ?
Gruß
Dan
Hallo Dan,
den Code hab ich mir so aus verschiedenen Beispielen versucht zusammen zubauen. Mit execNow wird er auch nicht ausgefürht. Es kommt kein Fehler, aber es pasiert auch nix. Also die Steckdose wird nicht geschaltet. Über web cmd usw. geht alles. Nur dieser At Befehl will nicht. da stimmt irgentwas nicht.
Danke und Gruß Rolf
Was passiert wenn Du den Perl Code Teil in der FHEM Eingabezeile ausführst?
Gruß
Dan
EDIT: Kann SteckdoseKoiFutter überhaupt "on-for-timer"?
Hallo Dan,
ja der reine set befehl mit on-for-timer funktioniert auch. Deshalb verzweifel ich auch ein wenig. Das Problem ist auch das in jedem Beispiel die Leerzeichen vor oder hinter klammer oder geschweiften klammern anders sind. Da blick ich nicht durch.
Danke und Gruß Rolf
Zeig mal bitte ein list von dem at, von dy_Season und von SteckdoseKoiFutter.
Gruß
Dan
Hallo Dan
list at:
Internals:
COMMAND {if(ReadingsVal('dy_Season', 'state', '') eq 'Sommer') {fhem ("set SteckdoseKoiFutter on-for-timer 3")} }
DEF *10:00:00 {if(ReadingsVal('dy_Season', 'state', '') eq 'Sommer') {fhem ("set SteckdoseKoiFutter on-for-timer 3")} }
NAME KoiFuetterung_Sommer4
NR 121
PERIODIC yes
RELATIVE no
REP -1
STATE Next: 10:00:00
TIMESPEC 10:00:00
TRIGGERTIME 1496131200
TRIGGERTIME_FMT 2017-05-30 10:00:00
TYPE at
Readings:
2017-05-29 21:11:40 state Next: 10:00:00
Attributes:
room Garten
list dy_Season:
Internals:
NAME dy_Season
NR 101
STATE state Sommer
TYPE dummy
Readings:
2017-05-23 19:41:21 state state Sommer
Attributes:
alias Jahreszeiten
devStateIcon Sommer:weather_summer:Herbst Frühling:weather_pollen:Sommer Herbst:weather_wind:Winter Winter:weather_winter:Frühling
room Garten,Wettervorhersage
setList state:Winter,Frühling,Sommer,Herbst
list Steckdose:
Internals:
DEF 56505E
HMLANGW_MSGCNT 1
HMLANGW_RAWMSG 05010054BFA41056505E1231230601000058
HMLANGW_RSSI -84
HMLANGW_TIME 2017-05-29 21:00:04
IODev HMLANGW
LASTInputDev HMLANGW
MSGCNT 1
NAME SteckdoseKoiFutter
NOTIFYDEV global
NR 99
NTFY_ORDER 50-SteckdoseKoiFutter
STATE off
TYPE CUL_HM
lastMsg No:BF - t:10 s:56505E d:123123 0601000058
protLastRcv 2017-05-29 21:00:04
protSnd 2 last_at:2017-05-29 21:00:04
protState CMDs_done
rssi_HMLANGW avg:-88 lst:-88 min:-88 cnt:1 max:-88
rssi_at_HMLANGW min:-84 avg:-84 lst:-84 cnt:1 max:-84
Readings:
2017-05-29 19:45:07 CommandAccepted yes
2017-04-08 15:01:12 D-firmware 2.6
2017-04-08 15:01:12 D-serialNr OEQ0189238
2017-04-08 15:01:21 PairedTo 0x123123
2017-04-08 15:01:21 R-pairCentral 0x123123
2017-04-08 15:01:21 R-powerUpAction off
2017-04-08 15:01:21 R-sign off
2017-04-08 15:01:21 RegL_00. 02:01 0A:12 0B:31 0C:23 15:FF 18:00 00:00
2017-04-08 15:01:21 RegL_01. 08:00 30:06 56:00 57:24 93:5F 94:B3 00:00
2017-05-29 21:00:04 deviceMsg off (to HMLANGW)
2017-05-29 21:00:04 level 0
2017-05-29 21:00:04 pct 0
2017-05-29 21:00:04 recentStateType info
2017-05-29 21:00:04 state off
2017-05-29 21:00:04 timedOn off
Helper:
HM_CMDNR 191
cSnd ,0112312356505E010E
mId 00D8
rxType 1
supp_Pair_Rep 0
Expert:
def 1
det 0
raw 1
tpl 0
Io:
newChn +56505E,00,00,00
nextSend 1496084405.04286
prefIO
rxt 0
vccu
p:
56505E
00
00
00
Mrssi:
mNo BF
Io:
HMLANGW -82
Prt:
bErr 0
sProc 0
Rspwait:
Q:
qReqConf
qReqStat
Role:
chn 1
dev 1
prs 1
Rpt:
IO HMLANGW
flg A
ts 1496084404.75001
ack:
HASH(0x3958690)
BF800212312356505E00
Rssi:
Hmlangw:
avg -88
cnt 1
lst -88
max -88
min -88
At_hmlangw:
avg -84
cnt 1
lst -84
max -84
min -84
Tmpl:
Attributes:
IODev HMLANGW
autoReadReg 4_reqStatus
expert 2_raw
firmware 2.6
model HM-LC-Sw1-Pl-DN-R1
peerIDs 00000000,
room Garten,CUL_HM
serialNr OEQ0189238
subType switch
webCmd statusRequest:toggle:on:off
Viel Text.
Danke und Gruß Rolf
attr dy_Season readingList state
ist die Lösung.
Danach 1x "set dy_Season state Sommer" ausführen und Dein at sollte funktionieren.
Gruß
Dan
Hallo Dan,
tausend Dank du bist mein Held. Der execNow hat auf anhieb funktioniert. Dieses Atribut habe ich schon mal gesehen.
Besten Dank und Gruß Rolf
Bitte gerne!
Hoffentlich verstehst Du was sich geändert hat dadurch, denn nur dann war das hier sinnvoll. 8)
Gruß
Dan
Hallo Dan,
verstehen naja. Der State wird jetzt richtig angezeigt. Soweit ich das sehe. Da stand vorher state state Sommer. Dabei habe ich mir nichts gedacht weil im at unten auch der dy_Season mit state Sommer stand so wie ich dachte es soll. Was dieses atribut jetzt genau macht weiß ich nicht. Das mit den atributen ist mir leider eh zum teil ein rätsel was die so alles bewirken. Aber ich kämpfe mich dank Google und viel lesen im Forum und Wiki so durch. Und wenn ich garnicht klar komme frage ich halt und manchmal wird mir dann auch so toll geholfen.
Danke und Gruß Rolf
Per Default landet bei einem dummy erst mal alles in state.
Durch das Setzen von readingList kannst Du Deine set Befehlen die passenden Readings erstellen lassen.
Gruß
Dan
Hallo Dan,
ich glaube ich habs verstanden. Durch das readingslist kann ich bestimmen was im state steht. Muss ich mal mit experimentieren. Habe da noch so ein paar dummies aus der Anfangszeit als Fernsteuerung fürs Wohnzimmer. Das muß ich mal optimieren. Leider wird in manchen Wikis sehr viel vorraus gesetzt. Klar man muß sich damit beschäftigen. Aber manchmal findet man den Wald vor lauter Bäumen nicht.
Danke und Gruß Rolf
Nein, durch readingList sagst Du welche "Auswahlliste" aus "setList" ein Reading erstellen soll.
Tust Du das nicht erscheint "<Auswahlliste> <Auswahl>" im Reading state.
Statt "readingList" hinzuzufügen hättest Du auch "attr dy_Season setList Frühling:noArg Sommer:noArg Herbst:noArg Winter:noArg" setzen können. Das Ergebnis wäre das Selbe: die Jahreszeiten erscheinen, ohne irgendwas davor, in state.
Gruß
Dan