Code Frage zu Notify und Timer

Begonnen von Fabiango, 13 Oktober 2013, 13:53:00

Vorheriges Thema - Nächstes Thema

Fabiango

Guten Morgen zusammen,

Ich habe mir einen Schalter in FHEM gebaut mit ON und OFF. Name SchlafenGehen.
Dazu 2 Notify angelegt zum Ein und Ausschalten. SchlafenGehenNOTIFYON / SchlafenGehenNOTIFYOFF

SchlafenGehen:on [b]set SchlafenGehen:off off-for-timer 90;[/b]set wzTVAnlage off;set flKugelLampe on
SchlafenGehen:off set flKugelLampe off

Nun möchte ich Abends den Schalter SchlafenGehen Einschalten. Dann gehen alle Geräte aus, und eine Lampe sollte für 90 Sekunden noch an bleiben.
Nach 90 Sekunden sollte dann der Ausschalter von alleine betätigt oder Rückgesetzt werden, da sonst immer das EIN Zeichen aktiv bleibt.
Das wollte ich so realisieren, funktioniert aber nicht.
SchlafenGehen:on set SchlafenGehen:off off-for-timer 90

Was mache ich falsch?
Wie muss der Code richtig aussehen?

Zrrronggg!

Das ist jetzt doublepost. Lies mla meine Antwort in dem anderen thread wo du die Frage auch schon gestellt hast.
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

Fabiango

Hier mal meine ganzen Codes dazu.

define SchlafenGehenNotifyON notify SchlafenGehen:on set SchlafenGehen:off off-for-timer 10;set wzTVAnlage off;set wzLEDWohnwand off;set wzStehlampe off;set flKugelLampe on

define SchlafenGehenNotifyOFF notify SchlafenGehen:off set flKugelLampe off

TVAnlage, LEDWohnwand gehen bereits aus und die KugelLampe an.
Jedoch wird der SchlafenGehen Schalter nicht zurück gesetzt und die KugelLampe geht nach 10 Sekunden nicht aus.


Zrrronggg!

#3
Zitat
define SchlafenGehenNotifyON notify SchlafenGehen:on set SchlafenGehen:off off-for-timer 10;set wzTVAnlage off;set wzLEDWohnwand off;set wzStehlampe off;set flKugelLampe on
Das geht so in der Tat nicht.

define SchlafenGehenNotifyON notify SchlafenGehen:on ...


bedeutet: Mach das folgende, wenn SchlafenGehen auf "on" gesetzt wird.

Okay.

Aber nun müssen nachfolgende Commandos so aussehen: "set irgendwas zusand"

Du aber machst weiter mit

Zitatset SchlafenGehen:off off-for-timer 10

Was soll das bewirken? das müsste eigentlich sogar Fehlermeldunge im Log geben.

set SchlafenGehen off-for-timer 10


ginge, würde aber womöglich ein ein Loop erzeugen. Denn "off-for-timer 10" bedeutet ja, dass es nach 10 Sekunden auf ON geschaltet wird und das triggert ja wieder :

define SchlafenGehenNotifyON notify SchlafenGehen:on  ...

Ich muss auch zugeben, das ich deine Anforderung nicht ganz verstanden habe.
Zitat
da sonst immer das EIN Zeichen aktiv bleibt.

Das könnte man durch "setstate SchlafenGehen off" lösen, das nichts macht ausser den Zustand auf off zu stellen.


Also basierend auf dem was ich meine verstanden zu haben, schlage ich folgendes vor:

define SchlafenGehenNotifyON notify SchlafenGehen:on set wzTVAnlage,wzLEDWohnwand,wzStehlampe off ;; setstate SchlafenGehen off ;; define KugelLampe_90_aus at +00:01:30 set flKugelLampe off


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

Fabiango

Hat fast funktioniert dein Code. Musste noch den ON Befehl für die KugelLampe hinzufügen.
Ist alles so wie ich es wollte.

define SchlafenGehenNotifyON notify SchlafenGehen:on set wzTVAnlage,wzLEDWohnwand,wzStehlampe off ; set flKugelLampe on ; setstate SchlafenGehen off ; define KugelLampe_90_aus at +00:01:30 set flKugelLampe off

Besten Dank.


Zrrronggg!

ZitatMusste noch den ON Befehl für die KugelLampe hinzufügen.

Okay, ich dachte die wäre da schon an.

ich denke übrigens, dass du die Semikolons verdoppeln must. (so wie bei mir, das war nicht weil meine Taste prellt, ich hab die absichtlich doppelt hingeschrieben)
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

Fabiango

Die Semikolons habe ich auch doppelt in die Komandozeile geschrieben.
Jedoch wenn ich die Detailansicht öffne und aus dem REF den Code dan kopiere ist wieder  nur eins drin.

Warum das so ist, verstehe ich nicht.

Zrrronggg!

Auf Dauer arbeitet es vermutlich einfacher, wenn du das hem.cfg Filedirekt  editierst. Speziell wenn es später mal grösser wird.
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