Hauptmenü

FHEM als Zeitschaltuhr

Begonnen von astorch, 13 Februar 2013, 18:03:50

Vorheriges Thema - Nächstes Thema

MisterEltako

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.
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

Puschel74

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
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.

astorch

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?










astorch



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

Puschel74

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
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.

MisterEltako

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.
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

Zrrronggg!

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.


FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

astorch


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

borsti67

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...?
cu/2
Borsti
---
FHEM 5.8 auf Synology DS211j (bis 11/17) | FHEM 6.0 auf Raspi Zero W (bis 11/20) | FHEM 6.2 als VM in Synology DS1815+ (ab 11/20)

Zrrronggg!

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.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

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,

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

MisterEltako

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.
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

Zrrronggg!

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.

FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

astorch

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

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