Erweiterung Sonnenuntergang um zweite Bedingung

Begonnen von michael1966, 03 Mai 2017, 21:08:02

Vorheriges Thema - Nächstes Thema

michael1966

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


fhem auf Raspberry PI3, CUL busware 868 für FS20, nanoCUL 433 für Intertechno, nanoCUL 868 für HomeMatic, DUOFernStick für Rademacher. Harmony Hub, Nanoleaf Aurora, Sprachsteuerung per EchoDot / Alexa

michael1966

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...
fhem auf Raspberry PI3, CUL busware 868 für FS20, nanoCUL 433 für Intertechno, nanoCUL 868 für HomeMatic, DUOFernStick für Rademacher. Harmony Hub, Nanoleaf Aurora, Sprachsteuerung per EchoDot / Alexa

michael1966

Wüsste trotzdem gerne, wie man solche Sachen am besten debuggt. Wie macht ihr das?
fhem auf Raspberry PI3, CUL busware 868 für FS20, nanoCUL 433 für Intertechno, nanoCUL 868 für HomeMatic, DUOFernStick für Rademacher. Harmony Hub, Nanoleaf Aurora, Sprachsteuerung per EchoDot / Alexa

Muschelpuster

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
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TWART016

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

KernSani

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.ä.)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Thorsten Pferdekaemper

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
FUIP