FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Chris1540 am 12 Februar 2015, 14:08:55

Titel: Beleuchtung zeitgesteuert automatisieren
Beitrag von: Chris1540 am 12 Februar 2015, 14:08:55
Hallo zusammen,

seit einigen Wochen nutze ich nun Fhem und bin begeistert, wie Leistungsfähig das Programm ist.
Ich habe es auch geschafft (auch ohne Programierkenntnisse) das eine oder andere in Fhem zum laufen zu bringen. Nun fehlt mir aber der Ansatz, so das ich nicht mal weiß, nach was ich im Forum oder Wiki suchen soll.
Ich möchte eine kleine ablaufsteuerung machen. Soll heißen ich klicke im Webfrontend auf ein Symbol, dann soll z.b. nach 1 min der Fernseher ausgehen, das Licht im Wohnzimmer 30 sec danach auch ausgehen. Vorher geht im Bad und schlafzimmer das Licht an. Heizung im Wz fährt runter.
Das wäre so ein Beispiel, welches ich gerne umsetzen möchte.
Nun meine Frage, nach was muss ich suchen, bzw hat jemand einen Beispiel Code für mich?
Da ich im Programieren eine glatte null bin, aber das eine oder andere an Code anpassen oder ableiten kann würdet ihr mir damit sehr helfen.

Viele Grüße aus Hannover
Chris
Titel: Antw:Beleuchtung zeitgesteuert automatisieren
Beitrag von: betateilchen am 12 Februar 2015, 14:15:13
Prinzipiell ist das recht einfach.

1. Im fhem Frontend ein notify definieren:

define s_sequenz1 notify <irgendEinEvent> {do_seq1}

2. In der Datei 99_myUtils.pm die Funktion do_seq1 anlegen:



sub do_seq1 {
fhem("sleep 60; set TV off");
fhem("set Bad,Schlafzimmer on; set Wohnzimmerheizung off");
fhem("sleep 90; set Wohnzimmerlich off");
}



Titel: Antw:Beleuchtung zeitgesteuert automatisieren
Beitrag von: Chris1540 am 12 Februar 2015, 15:12:20
Hallo betateilchen,

danke für Deine schnelle Antwort. Wenn ich die define Zeile in die FHEM cfg einbaue, habe ich aber noch keinen Button.
Wie könnte ich den dazu realisieren?

Ich weiß, gaaaanz blöde Fragen :-(

Gruß Chris
Titel: Antw:Beleuchtung zeitgesteuert automatisieren
Beitrag von: betateilchen am 12 Februar 2015, 15:15:05
Das eines notify erzeugt nie einen Button. Das notify reagiert auf irgendeine Aktivität, die Du in fhem auslöst.

Du könntest z.B. einen FS20 Dummy erzeugen und dort auf das entsprechende Symbol klicken, um einen event auszulösen. Diesen event musst Du dann im notify als "Starter" verwenden.

Titel: Antw:Beleuchtung zeitgesteuert automatisieren
Beitrag von: Chris1540 am 12 Februar 2015, 16:13:24
Irgendwie bin ich zu blöd.... Ich begreife es nicht  :o
define schlafen dummy
set <irgendEinEvent>
attr schlafen alias Schlafen
attr schlafen group 2_Szenen
attr schlafen icon scene_sleeping
attr schlafen room 1_Home Status


define s_sequenz1 notify <irgendEinEvent> {do_seq1}

Ich habe mal das was ich "verzappft" habe mal angehangen
So habe alle was zu lachen  ::)

Gruß Chris

PS: Das funktioniert natürlich nicht....
Titel: Antw:Beleuchtung zeitgesteuert automatisieren
Beitrag von: Spezialtrick am 12 Februar 2015, 17:13:31
Nun musst dein Notify auch auf deinen Dummy bzw. den State deines Dummys reagieren können.
Titel: Antw:Beleuchtung zeitgesteuert automatisieren
Beitrag von: elfrinjo am 12 Februar 2015, 17:26:13
Kurze Frage von der Seite:
Spricht etwas dagegen, die Steps direkt in das notify zu schreiben?
Titel: Antw:Beleuchtung zeitgesteuert automatisieren
Beitrag von: Chris1540 am 12 Februar 2015, 17:54:24
Zitat von: Spezialtrick am 12 Februar 2015, 17:13:31
Nun musst dein Notify auch auf deinen Dummy bzw. den State deines Dummys reagieren können.

Toll, könntest Du es mir bitte erklären, ich verstehe nur Bahnhof.
Tut mir leid das ich Dir nicht so folgen kann....

Chris
Titel: Antw:Beleuchtung zeitgesteuert automatisieren
Beitrag von: Chris1540 am 15 Februar 2015, 09:12:50
Guten morgen zusammen,

ich hole den Beitrag noch mal hoch, da ich hiermit leider immer noch nicht weiter gekommen bin.

Mit der Nachricht von Spezialtrick kann ich leider gar nichts anfangen....

Gruß Chris
Titel: Antw:Beleuchtung zeitgesteuert automatisieren
Beitrag von: Invers am 15 Februar 2015, 10:53:25
Vielleicht hilft dir das:

define schlafen dummy
attr schlafen icon scene_sleeping
attr schlafen room 1_Home
attr schlafen setList on off


Wenn du mit dem Schalter nur an, aber nicht aus willst, dann reicht auch schon
attr schlafen setList on

Bei <irgendEinEvent> wird dann getestet, ob jemand on geklickt hat. Darauf würde dann das Notrify reagieren und einschalten.

Titel: Antw:Beleuchtung zeitgesteuert automatisieren
Beitrag von: Otto123 am 15 Februar 2015, 12:32:40
Zitat von: Chris1540 am 12 Februar 2015, 16:13:24
Irgendwie bin ich zu blöd.... Ich begreife es nicht  :o
define schlafen dummy
set <irgendEinEvent>
attr schlafen alias Schlafen
attr schlafen group 2_Szenen
attr schlafen icon scene_sleeping
attr schlafen room 1_Home Status


define s_sequenz1 notify <irgendEinEvent> {do_seq1}

Ich habe mal das was ich "verzappft" habe mal angehangen
So habe alle was zu lachen  ::)

Gruß Chris

PS: Das funktioniert natürlich nicht....

Hallo,

hast Du in deiner Definition wirklich <irgendEinEvent> drinstehen?

Gruß Otto
Titel: Antw:Beleuchtung zeitgesteuert automatisieren
Beitrag von: Chris1540 am 15 Februar 2015, 12:37:43
Zitat von: Otto123 am 15 Februar 2015, 12:32:40
Hallo,

hast Du in deiner Definition wirklich <irgendEinEvent> drinstehen?

Gruß Otto

Hallo Otto,

um die funktionen zu verstehen, "klaue" ich mir häufig erstmal ein wenig Code und lasse ihn dann erstmal so stehen. Meist verändere ich zum testen erstmal nur die Parameter, die in meiner Umgebung vorhanden sind. Namen oder z.B. Räume passe ich dann meist erst danach an.

Gruß Chris
Titel: Antw:Beleuchtung zeitgesteuert automatisieren
Beitrag von: Chris1540 am 15 Februar 2015, 12:47:26
Zitat von: Invers am 15 Februar 2015, 10:53:25
Vielleicht hilft dir das:

define schlafen dummy
attr schlafen icon scene_sleeping
attr schlafen room 1_Home
attr schlafen setList on off


Wenn du mit dem Schalter nur an, aber nicht aus willst, dann reicht auch schon
attr schlafen setList on

Bei <irgendEinEvent> wird dann getestet, ob jemand on geklickt hat. Darauf würde dann das Notrify reagieren und einschalten.

Wo ist bei Deinem Code oben die Verbindung zu <irgendEinEvent>?

Gruß Chris
Titel: Antw:Beleuchtung zeitgesteuert automatisieren
Beitrag von: Otto123 am 15 Februar 2015, 13:02:48
Hallo Chris,

naja wenn das so ist solltest Du vielleicht etwas genauer sagen was nicht geht. Ich kann das aus dem Wusel nicht erkennen.

Du findest für Deinen Fall eigentlich genug Beispiele in der Commandref.
Du solltest im Logfile nach Fehlermeldungen suchen.
Du solltest den Eventmonitor anschauen was da passiert.

Du kannst mit define nty_Test notify nty_Test <Befehle, Sub wie auch immer> auch ein notify definieren welches ein makro darstellt und Du kannst das mit trigger nty_Test auf der commandozeile anschubsen. Auch das steht in der Commandref und Wiki.

Gruß Otto