FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: michael1966 am 03 Mai 2017, 21:08:02

Titel: Erweiterung Sonnenuntergang um zweite Bedingung
Beitrag von: michael1966 am 03 Mai 2017, 21:08:02
Hallo miteinander,

folgendes funktioniert:
# Buerobeleuchtung an 1800 sec vor Sonnenuntergang
define BuerolampeAn at *{sunset(-1800,"17:00","22:00")} set schalter3 on

Jetzt möchte ich das umbauen, dass die Buerobeleuchtung nur angeschaltet wird, wenn meine Bildschirme angeschaltet sind...

define BuerolampeAn at *{sunset(-1800,"17:00","22:00")} {if (Value("Bildschirme") eq "on"){fhem("set schalter3 on")} }

Leider wird schalter3 dann nicht geschalten...
Bildschirme haben zu der entsprechenden Zeit ein helles Lampensymbol in der Web-Oberfläche und sind angeschaltet.
Was passt da nicht? Und wie kann man so etwas debuggen?


Gruß

Michl


Titel: Antw:Erweiterung Sonnenuntergang um zweite Bedingung
Beitrag von: michael1966 am 03 Mai 2017, 21:26:58
OK, funktioniert doch, aber musste nach dem fhem Neustart die Bildschirme einmal ausschalten und wieder an, bevor der Zeitpunkt erreicht ist...

Komisch, da fhem ja sagt, dass die an sind...
Titel: Antw:Erweiterung Sonnenuntergang um zweite Bedingung
Beitrag von: michael1966 am 03 Mai 2017, 22:07:35
Wüsste trotzdem gerne, wie man solche Sachen am besten debuggt. Wie macht ihr das?
Titel: Antw:Erweiterung Sonnenuntergang um zweite Bedingung
Beitrag von: Muschelpuster am 03 Mai 2017, 22:28:19
Zum Debuggen hilft immer ein 2. Browserfenster mit gestartetem Eventmonitor. Der ist nicht zu unterschätzen! Insbesondere die unscheinbare Zeile oben (Events (Filter: .*) ) ist hilfreich. Mit Klick auf * kann man die Events filtern und kann auch schon testen, ob eingesetzte reguläre Ausdrücke passen.
Auch 'Create/Modify Device' hat was. Man kann eine Zeile markieren und mit wenigen Klicks ein passendes Device zu dem Event erstellen.
Zu dem 'at' kann ich wenig sagen, ich mache so etwas mit DOIF. Das ist aber eine Glaubensfrage. Es finden sich auch viele, die das für suboptimal halten.

alternative Grüße
Niels
Titel: Antw:Erweiterung Sonnenuntergang um zweite Bedingung
Beitrag von: Otto123 am 04 Mai 2017, 11:47:15
Hi Michl,

und Du kannst jederzeit Deine "Werte" auch abfragen -> {Value("Bildschirme"} in die Kommandozeile von FHEM (im Browserfenster) sollte Dir den Wert zurückliefern.
Oder {(Value("Bildschirme") eq "on")} eine 1 wenn die Bedingung wahr ist bzw nichts (leer) wenn sie nicht wahr ist.
{sunset(-1800,"17:00","22:00")} liefert Dir die Zeit usw.

Gruß Otto
Titel: Antw:Erweiterung Sonnenuntergang um zweite Bedingung
Beitrag von: TWART016 am 13 Mai 2017, 22:55:11
Hi,

Sobald der sunset Befehl geschalten wird, berechnet sich der Wert neu. Also ein paar Minuten später tritt das Event wieder auf. Wie kann ich das verhindern?


Gruß
TWART016
Titel: Antw:Erweiterung Sonnenuntergang um zweite Bedingung
Beitrag von: KernSani am 13 Mai 2017, 23:20:56
Zitat von: TWART016 am 13 Mai 2017, 22:55:11
Sobald der sunset Befehl geschalten wird, berechnet sich der Wert neu. Also ein paar Minuten später tritt das Event wieder auf. Wie kann ich das verhindern?
Das halte ich für eher unwahrscheinlich. Poste bitte mal Details, die dich zu dieser Annahme führen (list des devices, Logeinträge o.ä.)
Titel: Antw:Erweiterung Sonnenuntergang um zweite Bedingung
Beitrag von: Thorsten Pferdekaemper am 14 Mai 2017, 09:39:27
Zitat von: TWART016 am 13 Mai 2017, 22:55:11Sobald der sunset Befehl
geschalten wird,
sunset ist kein Befehl, sondern eine Funktion. Wie schaltet man denn einen Befehl/ eine Funktion?

Zitatberechnet sich der Wert neu. Also ein paar Minuten später tritt das Event wieder auf.
Welches Event? sunset ist einfach eine Funktion, die keinerlei Events erzeugt.

Zitat
Wie kann ich das verhindern?

sudo shutdown now

SCNR...
Im Ernst: Siehe KernSani.
Außerdem: Warum machst Du dazu nicht einen neuen Thread auf. Soweit ich das sehe, hast Du ein ganz anderes Problem.
Gruß,
   Thorsten