Hauptmenü

Frage zu modify von at

Begonnen von Totte10, 28 Oktober 2014, 20:56:10

Vorheriges Thema - Nächstes Thema

Totte10

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

fidel

Versuch mal fhem('modify TV_Schlaf_aus +%')
Fhem 5.6 auf Cubietruck,CUL,CUL_TCM97001,FritzBox7390,HMLAN,CUL_HM_HM_OU-16LED,CUL_HM_HM_SEC_SC,CUL_HM_HM_LC_SW4,CUL_HM_HM_RT_DN,HUEBridge,HUEDevice,Panstick,Panstamp (binouts,rgddriver mit dht22),PHTV,Yamaha-AVR,Withings,ELV-IPS, etc...

Totte10

#2
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?

fidel

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...
Fhem 5.6 auf Cubietruck,CUL,CUL_TCM97001,FritzBox7390,HMLAN,CUL_HM_HM_OU-16LED,CUL_HM_HM_SEC_SC,CUL_HM_HM_LC_SW4,CUL_HM_HM_RT_DN,HUEBridge,HUEDevice,Panstick,Panstamp (binouts,rgddriver mit dht22),PHTV,Yamaha-AVR,Withings,ELV-IPS, etc...

Puschel74

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
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

fidel

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.
Fhem 5.6 auf Cubietruck,CUL,CUL_TCM97001,FritzBox7390,HMLAN,CUL_HM_HM_OU-16LED,CUL_HM_HM_SEC_SC,CUL_HM_HM_LC_SW4,CUL_HM_HM_RT_DN,HUEBridge,HUEDevice,Panstick,Panstamp (binouts,rgddriver mit dht22),PHTV,Yamaha-AVR,Withings,ELV-IPS, etc...