Hallo in die Runde. Ich bin Anfänger was FHEM angeht und stehe nun vor einem (wie ich hoffe) banalem Problem.
Den at-Befehl kenne ich und er funktioniert auch in meinem System. Ich kann zu bestimmten Uhrzeiten schalten und auch Wiederholungen funktionieren. Doch wie kann ich z.B. jede Woche am Mittwoch um 5:00 Uhr eine FS20 Schaltsteckdose einschalten? Meine Suche im Forum und auch im Netz haben mich nicht weitergebracht.
Wer hilft mir bei diesem Problem?
Danke und einen schönen Abend.
Andreas
Hallo,
so in etwa:
define Ladezyklus at *21:15:00 {
if ($wday == 6) {
fhem ("set Ladestation_GZ Laden; set Ladestation_Bar Laden");
}
}
Ich hoff ich hab nichts vergessen zu kopieren.
Am Samstag ab 21:15:00 Uhr werden die Ladestationen für die 2 Siemens-Telefone für 6 Stunden eingeschaltet.
Wenigstens ein kleines bischen Akkupflege betreiben ;-)
Das ausschalten sieht man hier aber nicht da ein eigenes Notify dafür verantwortlich ist.
Schliesslich soll der Ladezyklus auch abschalten wenn ich eine der beiden Stationen von Hand laden will.
Sonntag = 0 ..... Samstag = 6
wenn ich das richtig im Kopf habe.
Grüße
HalloPuschel74,
vielen Dank für deine schnelle Hilfe.Ich habe deinen angegebenen code auf meine Bedürfnisse hin angepasst.
define Vorwaermen at *18:04:00 { if ($wday == 3) { fhem ("set Calix08_1124 on"); } }
und ... PERFEKT -funktioniert! Mußte nur im set-Befehl ein "on" anfügen. Hast mir damit sehr geholfen.
Nun, eingeschaltet ist die Vorwaermung jetzt, aber wie schalte ich wieder aus? Könnte notfalls auch die Timer Funktion der FS20 Schaltsteckdose verwenden, doch eine "richtige" Uhrzeit oder eine Angabe im code wie lang eingeschaltet bleiben soll(z.B.3 Stunden) wäre schon wünschenswerter.
Irgendeine Idee dazu?
Grüße
Andreas
define Vorwaermen at *18:04:00 { if ($wday == 3) { fhem ("set Calix08_1124 on ;; define Vorwaermen_auschalten at +03:00:00 set Calix08_1124 off "); } }
Hallo,
schön das es funktioniert.
ZitatMußte nur im set-Befehl ein "on" anfügen
Stimmt. Bei mir ist on per eventMap auf Laden gemappt.
Hatte ich garnicht beachtet.
Abschalten geht bei mir so:
Ladestation.*:Laden.* {
Log (3,"Aufruf durch @");
fhem("define @_Aus at +06:00:00 set @ off") if (Value("@_Aus") eq "");
}
Achtung! Wieder Laden anstelle von on.
Da bei mir auch die Ladestationen per FS20-Fernbedienung eingeschaltet werden können trigger ich das notify auf Laden
und schalte mir 6 Stunden nach dem Aufruf die jeweilige Ladestation wieder aus.
Selbiges natürlich auch 6 Stunden nach 21:15:00 am Samstag ==> Sonntag 03:15:00.
Das könnte ich zwar auch direkt eintragen per at da sich nichts ändert aber was solls.
Grüße
Edit: Oder wie Zrrronggg! vorschlägt - einfach und elegant.
Hallo Puschel74, Hallo Zrrronggg!
Ich bin erschlagen von soviel Kompetenz. Deine Ausführungen Puschel74 übersteigen mein Anfängerwissen um einige Wissensstufen und ich muß mich mit "log, notify, triggern..." erst noch anfreunden. Verstehe leider so einiges nicht. Trotzdem Danke für die Anregungen.
Dir Zrrronggg! Danke für den code!! Das hilft mir auf die Schnelle sehr weiter. Ich kann darauf aufbauen.
Allen einen schönen Abend.
Grüße
Andreas
ZitatVerstehe leider so einiges nicht.
Da waren wir alle mal. Geht schnell und jeder entwickelt so seinen eigenen "Stil" Dinge zu lösen. Viele Wege führen nach Rom.
Hallo Zrrronggg,
ich habe deinen code ausprobiert und auf die aktuelle Uhrzeit angepasst
define Vorwaermen3 at *20:10:00 { if ($wday == 3) { fhem ("set Calix08_1124 on ;; define Vorwaermen_auschalten at +00:05:00 set Calix08_1124 off "); } }
aber... nichts passiert.Calix08_1124 schaltet sich nicht ein. Was mir auffällt: Auf der FHEM Seite wird unter den "at Befehlen" nur Vorwaerm3 gelistet und Vorwaermen-ausschalten nicht!? Hilft dir das bei der Fehlersuche und würdest du deinen Code bitte noch einmal kontrollieren?
Danke und Grüße
Andreas
Hi!
Also wenn das bei dir funktioniert hat:
define Vorwaermen at *18:04:00 { if ($wday == 3) { fhem ("set Calix08_1124 on"); } }
und ... PERFEKT -funktioniert! Mußte nur im set-Befehl ein "on" anfügen. Hast mir damit sehr geholfen....
dann müsste:
define Vorwaermen3 at *20:10:00 {\
if ($wday == 3) {\
fhem ("set Calix08_1124 on ;; define Vorwaermen_auschalten at +00:05:00 set Calix08_1124 off ");;}\
}
auch funktionieren...
Was steht denn im Logfile???
MfG, MisterEltako.
Mal sehen:
Zitatdefine Vorwaermen3 at *20:10:00 { if ($wday == 3) { fhem ("set Calix08_1124 on ;; define Vorwaermen_auschalten at +00:05:00 set Calix08_1124 off "); } }
1. das Semikolon hinter der ) Klammer am Ende ist überflüssig, da habe ich nicht aufgepasst.
(Das machen in letzter Zeit viele hier, am Ende noch mal ein oder gar zwei Semikolons anhängen. Ich wunder mich wo diese Idee herkommt)
2. Der Rest ist korrekt und müsste gehen.
ZitatCalix08_1124 schaltet sich nicht ein.
Ich nehme an, du hast das um 20:10 Uhr probiert, und den Befehl auch garantiert VORHER angelegt, oder?
ZitatWas mir auffällt: Auf der FHEM Seite wird unter den "at Befehlen" nur Vorwaerm3 gelistet und Vorwaermen-ausschalten nicht!?
Das ist normal!
Denn Vorwaermen_auschalten wird ja erst frisch angelegt, wenn Vorwaermen3 getriggert wird!
d.H. Vorwaermen_auschalten existiert NUR zwischen 20:10 und 20:15 !
EDIT:
Zitatfhem ("set Calix08_1124 on ;; define Vorwaermen_auschalten at +00:05:00 set Calix08_1124 off ");;}\
}
Auch hier ist das doppelte Semikolon am Ende überflüssig. Aber ansonsten sehe ich das genau so wie Mister Eltako. Der Code ist ok und müsste gehen.
Hallo an alle Helfenden.
Habe das Semikolon weggelassen
define Vorwaermen4 at *20:42:00 { if ($wday == 3) { fhem ("set Calix08_1124 on ;; define Vorwaermen_auschalten at +00:05:00 set Calix08_1124 off ") } }
und um 20:38 eingegeben, aber die Calix08_1124 schaltet nicht ein.
Der log file sagt:
2013.02.13 20:10:00 3: set Calix08_1124 on ;; define Vorwaermen_auschalten at +00:05:00 set Calix08_1124 off : no set value specified
2013.02.13 20:10:00 3: no set value specified
2013.02.13 20:42:00 3: set Calix08_1124 on ;; define Vorwaermen_auschalten at +00:05:00 set Calix08_1124 off : no set value specified
2013.02.13 20:42:00 3: no set value specified
Whoooot?
Paste bitte mal die Definition von Calix08_1124,
also den Part wo es heisst
define...Calix08_1124...(addr)
Ausserdem gib mal bitte simpel
set Calix08_1124 on
in FHEM ein und sag uns, was dann im Logile steht.
Gebe ich in FHEM
set Calix08_1124 on
ein, so schaltet die Steckdose und im log-file steht
2013.02.13 20:54:00 3: set Calix08_1124 on ;; define Vorwaermen_auschalten at +00:05:00 set Calix08_1124 off : no set value specified
2013.02.13 20:54:00 3: no set value specified
2013.02.13 21:02:31 2: FS20 set Calix08_1124 on
in fhem cfg finde ich folgende Zeilen
define Calix08_1124 FS20 1be4 07
attr Calix08_1124 model fs20st
attr Calix08_1124 room KFZ
define FileLog_Calix08_1124 FileLog /var/log/fhem/Calix08_1124-%Y.log Calix08_1124
attr FileLog_Calix08_1124 logtype text
attr FileLog_Calix08_1124 room FS20
Ist es das, was du benötigst?
Hallo,
nur zur Sicherheit ...
ein
set Calix08_1124 off
schaltet die FS20ST auch wieder aus??
Grüße
Hallo,
set Calix08_1124 off
schaltet die Steckdose aus.
Hi!
Versuch doch nochmal ganz einfach zu beginnen ob nachfolgendes funktioniert, ehe du das ganze in obiger Funktion zusammenfasst:
define Testdummy dummy
define Test notify Testdummy {\
fhem ("set Calix08_1124 on");;\
fhem ("sleep 20;;set Calix08_1124 off");;\
}
nun mit "trigger Testdummy" in Kommandozeile testen und wenn das geht dann:
define Test notify Testdummy {\
fhem ("set Calix08_1124 on");;\
fhem ("define Vorwaermen_aus at +00:05:00 set Calix08_1124 off");;\
}
definieren und nochmals "trigger Testdummy" testen und jeweils ins Logfile schauen...
MfG, MisterEltako.
Hallo,
also bei mir funktioniert der Code
define Vorwaermen4 at *21:15:00 { if ($wday == 3) { fhem ("set Calix08_1124 on ;; define Vorwaermen_auschalten at +00:05:00 set Calix08_1124 off ") } }
so wie er hier steht einwandfrei.
2013.02.13 21:15:00 2: dummy set Calix08_1124 on
2013.02.13 21:20:00 2: dummy set Calix08_1124 off
Grüße
Hallo Mr Eltako,
versuche ich
define Testdummy dummy
define Test notify Testdummy {\
fhem ("set Calix08_1124 on");;\
fhem ("sleep 20;;set Calix08_1124 off");;\
}
nun mit "trigger Testdummy" in Kommandozeile testen
dann schaltet Calix08_1124 ein und im log-file steht
2013.02.13 21:26:23 2: FS20 set Calix08_1124 on
2013.02.13 21:26:23 3: sleep 20;;set Calix08_1124 off : Cannot interpret 20;set Calix08_1124 off as seconds
2013.02.13 21:26:23 3: Test return value: Cannot interpret 20;set Calix08_1124 off as seconds
versuche ich dann (nachdem "Test" bereits definiert war, habe ich Test2 versucht und dann Test gelöscht)
define Test notify Testdummy {\
fhem ("set Calix08_1124 on");;\
fhem ("define Vorwaermen_aus at +00:05:00 set Calix08_1124 off");;\
}
definieren und nochmals "trigger Testdummy" testen
schaltet die Calix08_1124 5min später aus und im Log file steht
2013.02.13 21:36:09 2: FS20 set Calix08_1124 on
2013.02.13 21:36:09 2: FS20 set Calix08_1124 on
2013.02.13 21:36:09 3: define Vorwaermen_aus at +00:05:00 set Calix08_1124 off : Vorwaermen_aus already defined, delete it first
2013.02.13 21:36:09 3: Test2 return value: Vorwaermen_aus already defined, delete it first
2013.02.13 21:41:09 2: FS20 set Calix08_1124 off
Für mich als Anfänger schaut es aus, als seien wir auf dem richtigen Weg, oder?
Danke für eure Geduld
Hallo Puschel74,
der code
define Vorwaermen8 at *21:53:00 { if ($wday == 3) { fhem ("set Calix08_1124 on ;; define Vorwaermen_auschalten at +00:05:00 set Calix08_1124 off ") } }
funktioniert leider bei mir nicht. Im Log file steht
2013.02.13 21:53:00 3: set Calix08_1124 on ;; define Vorwaermen_auschalten at +00:05:00 set Calix08_1124 off : no set value specified
2013.02.13 21:53:00 3: no set value specified
Ich habe dafür leider keine Erklärung!?
Die von MrEltako gewünschten Tests verliefen erfolgreich, aber wie der daraus resultierende code aussieht kann ich nicht sagen. Kann mir jemand denn einen code nur zum ausschalten der Calix08_1124 nennen? Einschalten funktioniert ja seit erstem code von Puschel74 einwandfrei?
Ist dann auch für heute mein letztes posting. Nochmals VIELEN DANK für eure Hilfe und Geduld.
Andreas
Hallo,
Als schnelle Hilfe kannst du den ersten funktionierenden Code nehmen, ein zweites Mal anlegen + die Zeit nach der du wieder ausschalten möchtest, und schreibst statt on einfach off.
Und änderst den Namen noch etwas ab um die beiden at unterscheiden zu können.
Interessanter wäre aber warum bei dir der Code nicht funktioniert.
Grüße
Hi!
Warum "sleep 20" nicht funktioniert verstehe ich zwar nicht, aber der Rest sieht ja ganz gut aus.
Also du solltest nicht beide Definitionen aus meinem Post übernehmen, sondern wenn die erste geht, diese wieder löschen und die 2. ausprobieren.
Also analog zu:
define Test notify Testdummy {\
fhem ("set Calix08_1124 on");;\
fhem ("define Vorwaermen_aus at +00:05:00 set Calix08_1124 off");;\
}
Probiere bitte nachdem du das andere probierte alles gelöscht hast:
define Vorwaermen at *20:42:00 {\
if ($wday == 3){\
fhem ("set Calix08_1124 on");;\
fhem ("define Vorwaermen_aus at +00:05:00 set Calix08_1124 off");;}\
}
Und bitte wieder Logfile schauen...
Mfg, MisterEltako.
Ich muss zugeben, ich bin ratlos:
Der Teil
fhem ("set Calix08_1124 on");;\
fhem ("define Vorwaermen_aus at +00:05:00 set Calix08_1124 off");;\
ist nur eine ... äh... umständlichere Schreibweise von
fhem ("set Calix08_1124 on ;; define Vorwaermen_auschalten at +00:05:00 set Calix08_1124 off ")
Funktional ist der Code gleich.
Warum das eine gehen soll und das andere nicht ist mir absolut schleierhaft.
Ich hätte höchstens eine Idee:
Hast du meinen Vorschlag hier aus dem Forum mit copy/paste übernommen? Wenn ja, dann tu das mal bitte nicht und schreib ihn anstelle dessen ab.
Das
fhem ("sleep 20;;set Calix08_1124 off")
den Fehler:
2013.02.13 21:26:23 3: sleep 20;;set Calix08_1124 off : Cannot interpret 20;set Calix08_1124 off as seconds
2013.02.13 21:26:23 3: Test return value: Cannot interpret 20;set Calix08_1124 off as seconds
erzeugt ist genauso seltsam und unverständlich.
Entweder das sind irgendwelche Sonderzeichen die durch Copy/paste eingeschlept werden oder deine FHEM -Installtion hat irgendeine echtes Problem oder MisterEltako, Puschel74 und ich sind blind.
Hallo Zrrronggg
ich habe aufgrund deines letzten postings noch einmal ein wenig getestet. Die von dir erwähnte "umständlichere" Schreibweise habe ich in dem folgenden code eingebaut
define Vorwaermen4 at *09:36:00 { if ($wday == 4) { fhem ("set Calix08_1124 on");; fhem ("define Vorwaermen_aus at +00:05:00 set Calix08_1124 off ") } }
und dieser code funktioniert wie gewünscht!!!! S U P E R - damit kann ich gut leben. Warum die "einfache" Schreibweise nicht funktioniert ist mir im Moment nicht so wichtig. Das werde ich nach mehr Einarbeitung in FHEM untersuchen. Für mich das Wichtigste ist, dass ich nun zwei Möglichkeiten zur Schaltung an einem bestimmten Wochentag habe. Einmal mit absoluten Uhrzeiten wie von Puschel74 um 22.07 Uhr vorgeschlagen und dank dir die obige Schaltmöglichkeit.
Sollte ich irgendwann die Ursache für das nicht funktionieren des "einfachen" codes finden, lasse ich es euch wissen.
DANKE für eure Hilfe. ohne euch Puschel74, Zrrronggg und MrEltako wäre ich niemals so weit gekommen!
Grüße vom winterlichen Ammersee
Zitat von: Zrrronggg! schrieb am Mi, 13 Februar 2013 22:53fhem ("sleep 20;;set Calix08_1124 off")
2013.02.13 21:26:23 3: sleep 20;;set Calix08_1124 off : Cannot interpret 20;set Calix08_1124 off as seconds
Wenn ich das mal so wortwörtlich lese, habe ich eher den Eindruck, FHEM bekommt die Befehlstrennung nicht hin!
Es wird versucht, das Kommando "sleep" mit dem Parameter "20;;set Calix..." auszuführen, so interpretiere ich diese Fehlermeldung.
Entweder muss das Semikolon hier NICHT dupliziert werden, oder nach dem ";" muss ein Leerzeichen stehen, oder irgendwas in dieser Richtung...?
Leerzeichen muss eigentlich nicht, ich mache aber immer welche.
Es ist aber tatsächlich so, dass ich auch glaube, das die Befehltrennung nicht richtig arbeitet.
Wenn das so ist, wird astorch noch ne Menge Problem bekommen!
Ich bin der Auffassung, er sollte das dringend rausfinden bevor er weiter macht.
Zitat von: Zrrronggg! schrieb am Do, 14 Februar 2013 14:14Leerzeichen muss eigentlich nicht, ich mache aber immer welche.
Es ist aber tatsächlich so, dass ich auch glaube, das die Befehltrennung nicht richtig arbeitet.
Wenn das so ist, wird astorch noch ne Menge Problem bekommen!
Ich bin der Auffassung, er sollte das dringend rausfinden bevor er weiter macht.
Hallo,
ihr macht mit Mut ;-) Ob die Befehlstrennung richtig funktioniert würde ich schon gerne überprüfen um nicht in die angesprochenen Probleme zu geraten. Aber als Anfänger habe ich so meine Schwierigkeiten und weiß nicht wie ich die Befehlstrennung testen kann. Gibt es einen code mit dem ich das testen kann?
Grüße
astorch
Hi!
Funktioniert den die "update"-Funktion mit anschliessendem "shutdown restart" sowie "save-Button" bei dir fehlerfrei? Welche Fhem-Version nutzt du 5.3 oder 5.2?
MfG,MisterEltako.
ZitatGibt es einen code mit dem ich das testen kann?
Naja, bau dir irgendwas, was beim betätigen eines Dummies oder einer Ferbbedihung eine Lamp ein und aus schaltet, so fangen wir mal an.
Irgendwas wie:
define test notivy meine_FB_Taste set lamp1 on ; sleep 2 ; set lampe1 off
meine_FB_Taste ist natürlich irgendeine funkionierender und bei dir schon definierter Schalter oder Fernbedienung, Lampe1 irgendeine schon definiert Lampe.
Dann drückst du die Taste und dann muss die Lampe an gehen und 2 Sekunden später wieder aus. Testen ob das geht und ggf. im Log nachsehen was an Meldungen kommt.
Hallo an alle Helfenden!
Um Probleme mit der Befehlstrennung auszuschliessen und ich noch ein Anfänger bin, werde ich FHEM komplett neu von der 5.3 Imagedatei in meine 7390 Fritzbox einspielen und alle Elemente neu definieren. Ich hoffe, damit ein sauberes System zu haben und eure Tipps und Anregungen neu einpflegen zu können. Melde mich dann und berichte.
DANKe erst einmal.
Grüße
astorch
Zitat von: Zrrronggg! schrieb am Do, 14 Februar 2013 14:14Leerzeichen muss eigentlich nicht, ich mache aber immer welche.
Es ist aber tatsächlich so, dass ich auch glaube, das die Befehltrennung nicht richtig arbeitet.
Wenn das so ist, wird astorch noch ne Menge Problem bekommen!
Ich bin der Auffassung, er sollte das dringend rausfinden bevor er weiter macht.
Hallo Zrrroggg,
ich habe mir deinen Rat zu Herzen genommen und da ich es nicht besser wußte, FHEM komplett neu mit einer 5.3 image-Datei in meiner FritzBox aufgebaut. War zwar etwas Arbeit alles neu zu deninieren, aber es hat sich gelohnt!! Nun funktioniert auch den code
fhem ("set Calix08_1124 on ;; define Vorwaermen_auschalten at +00:05:00 set Calix08_1124 off ")
Also - DANKE an Alle - Problem gelöst und ich habe viel dazugelernt.
Ein schönes Wochenende vom winterlichen Ammersee.
astorch
Bestens!