FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Totte10 am 28 Oktober 2014, 20:56:10

Titel: Frage zu modify von at
Beitrag von: Totte10 am 28 Oktober 2014, 20:56:10
Hallo zusammen,

ich bin FHEM Neuling und habe mich versucht in das Thema einzulesen.
Leider habe ich keine Perl Kenntnisse und stehe vor einem kleinen Problem.

Ich möchte einen änderbaren Ausschalttimer realisieren.
1. einen Auswahlmöglichkeit für den Timer anlegen (off, 00:15, 00:30, 00:45) => habe ich erledigt und funktioniert
2. ein notify anlegen das auf die ausgewählte Dauer reagiert und ein "at" anlegt welches nach Ablauf der Dauer eine Steckdose schaltet => hab ich zum Teil hinbekommen
3. jetzt versage ich:
nun soll bei Änderung des Timer das "at" geändert werden bzw. bei Auswahl von off gelöscht werden. => das Löschen bekomme ich mit Perl "if else" auch hin, aber das modify passend zur neuen Zeit klappt nicht und ich habe keine Idee was ich machen muss. Anbei mein bisheriger Code:

define TV_Schlaf_timer dummy
attr TV_Schlaf_timer setList state:off,00.15,00.30,00.45,01.00,01.15,01.30,01.45,02.00
attr TV_Schlaf_timer webCmd state
define TV_Schlaf_change notify TV_Schlaf_timer { if ( Value("TV_Schlaf_timer") eq "off" ) {fhem ('delete TV_Schlaf_aus')} else {fhem ('define TV_Schlaf_aus at +00:00:00 set Schlafz_TV_J41 off');; fhem('modify TV_Schlaf_aus +?????????????)}}

Kann jemand helfen?

beste Grüße

Thorsten
Titel: Antw:Frage zu modify von at
Beitrag von: fidel am 28 Oktober 2014, 21:52:56
Versuch mal fhem('modify TV_Schlaf_aus +%')
Titel: Antw:Frage zu modify von at
Beitrag von: Totte10 am 28 Oktober 2014, 22:17:15
Klappt leider nicht, das "at" bleibt auf dem alten Wert.
Ich habe auch schon in der setlist die Zeitvorgaben auf Format 00:15:00 geändert.
Hilft aber nicht. Muss ich erst den Wert in eine Variable schreiben?

Nachtrag:
Geht doch wenn man nur alle Rechtschreibfehler beseitigt :-)

Besten Dank

Nachtrag2:

Es funktioniert mit % aber nicht mit $EVENT

woran liegt das?
Titel: Antw:Frage zu modify von at
Beitrag von: fidel am 28 Oktober 2014, 22:57:51
Ich hätte dir als nächstes geraten die Hochkomma durch Anführungszeichen zu ersetzen und die fhem(...) Ausdrücke mit ";;" abzuschließen, so wie du es von den 3 malen einmal gemacht hast...
Titel: Antw:Frage zu modify von at
Beitrag von: Puschel74 am 28 Oktober 2014, 23:14:26
Hallo,

und ich wär so unverschämt gewesen und hätte vom direkten bearbeiten der fhem.cfg abgeraten.
Aber ich will hier natürlich niemanden "meine Religion" aufzwingen - auch wenn man sich so manches vereinfachen könnte damit (aber ich darf ja nicht).

Auch wenn es jetzt "erschlagend" wirkt aber - so klappt auch das modify für ein at:
fhem("modify Licht_an_Wuchs *".$Beginn_new);
$Beginn_new wird errechnet und im Format xx:yy (xx = Stunde, yy = Minute) eingefügt und das modify für ein at ausgeführt.
Das klappt jeden Tag aufs neue perfekt.
Der gesamte Code wäre nur etwas "erschlagender" da ich dafür eine zeitgesteuerte Beleuchtung für meine Tomatensetzlinge realisiere - ja, wofür man FHEM alles nehmen kann  ;D

Grüße
Titel: Antw:Frage zu modify von at
Beitrag von: fidel am 28 Oktober 2014, 23:19:38
Entweder liefert $EVENT noch mehr als deine in der setlist angegebenen Werte zurück und du musst mit $EVTPART arbeiten oder es lag an bereits an den Hochkomma.