Frage zum DOIF-Beispiel aus Commandref

Begonnen von Bartimaus, 01 Mai 2016, 22:23:25

Vorheriges Thema - Nächstes Thema

Bartimaus

Nabend,

nur mal ne DOIF Verständnisfrage zu folgendem Beispiel:

Anwendungsbeispiel: Rollläden sollen an Arbeitstagen nach 6:25 Uhr hochfahren, wenn es hell wird, am Wochenende erst um 9:00 Uhr, herunter sollen sie wieder, wenn es dunkel wird:

define di_shutters DOIF ([sensor:brightness]>100 and [06:25-09:00|8] or [09:00|7]) (set shutters up) DOELSEIF ([sensor:brightness]<50) (set shutters down)


Folgende Situation:
Wochentag = 8
09:00 Uhr = aktuelle Uhrzeit
Sensor-Brightness = 90

Geht das Rollo jetzt hoch ?
Ich war bis jetzt der Meinung es müsste um spätestens um 09:00 hochgehen, auch wenn der Schwellenwert des Sensors noch nicht überschritten ist.


LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

Zitat von: Bartimaus am 01 Mai 2016, 22:23:25
Nabend,

nur mal ne DOIF Verständnisfrage zu folgendem Beispiel:

Anwendungsbeispiel: Rollläden sollen an Arbeitstagen nach 6:25 Uhr hochfahren, wenn es hell wird, am Wochenende erst um 9:00 Uhr, herunter sollen sie wieder, wenn es dunkel wird:

define di_shutters DOIF ([sensor:brightness]>100 and [06:25-09:00|8] or [09:00|7]) (set shutters up) DOELSEIF ([sensor:brightness]<50) (set shutters down)


Folgende Situation:
Wochentag = 8
09:00 Uhr = aktuelle Uhrzeit
Sensor-Brightness = 90

Geht das Rollo jetzt hoch ?
Ich war bis jetzt der Meinung es müsste um spätestens um 09:00 hochgehen, auch wenn der Schwellenwert des Sensors noch nicht überschritten ist.

Ich ging bei diesem Beispiel davon aus, dass bis 09:00 Uhr die Helligkeit von >100 zu jeder Jahreszeit erreicht wird. So ist es bei mir jedenfalls.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

#2
Und wenn nicht ?  ::)

Dh das Rollo bleibt nach 09:00 auch unten...
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

Zitat von: Bartimaus am 01 Mai 2016, 23:00:43
Und wenn nicht ?  ::)

Dh das Rollo bleibt nach 09:00 auch unten...

Bei dieser Definition ja.

Man könnte bei [09:00|7] die Sieben weglassen, allerdings sollte dann die Helligkeit über 50 sein, sonst geht es gleich wieder runter.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

Nabend,

wäre nicht eine Erweiterung von DOIF an der Stelle möglich/sinnvoll ?

Man könnte die Endzeit doch auch mit [?07:00-?10:00] aushebeln genau wie die Beginnzeit.
Was meinst Du hierzu ?
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

Zitat von: Bartimaus am 10 Mai 2016, 22:53:01
Nabend,

wäre nicht eine Erweiterung von DOIF an der Stelle möglich/sinnvoll ?

Man könnte die Endzeit doch auch mit [?07:00-?10:00] aushebeln genau wie die Beginnzeit.
Was meinst Du hierzu ?

Das Fragezeichen bezieht sich auf beide Zeiten. Mit [?07:00-10:00] wird auch nicht um 10:00 Uhr getriggert.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

Ah, ok.

Ich wünsche mir aber eine Funktionalität so wie diese:

DOELSEIF ([{sunset_abs(0,"17:00","21:15:00")}|01234]


Frühestens um 17:00, spätestens um 21:15 wird der Befehl ausgeführt.

Weil, mit [17:00-21:15] wird zwar frühestens ausgeführt, aber nicht um 21:15 (unabhängig davon ob die Bedigungen "wahr" sind.)
Für mich klingt das unlogisch, weil ich ja das Triggern mit vorangestelltem "?" aushebeln kann...

Verstehst Du was ich meine ?

LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

#7
Zitat von: Bartimaus am 11 Mai 2016, 08:32:27
Ah, ok.

Ich wünsche mir aber eine Funktionalität so wie diese:

DOELSEIF ([{sunset_abs(0,"17:00","21:15:00")}|01234]


Frühestens um 17:00, spätestens um 21:15 wird der Befehl ausgeführt.

Weil, mit [17:00-21:15] wird zwar frühestens ausgeführt, aber nicht um 21:15 (unabhängig davon ob die Bedigungen "wahr" sind.)
Für mich klingt das unlogisch, weil ich ja das Triggern mit vorangestelltem "?" aushebeln kann...

Verstehst Du was ich meine ?

Dann musst du angeben:

[17:00-21:15] or [21:15]

Die Triggerung um 21:15 reicht nicht, da das Intervall per Definition genau um 21:15 nicht mehr wahr ist.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

Danke für den Tip. Aber "umständlicher" ist es schon, oder ?

Was spricht denn gegen meinen Vorschlag, nur mal so interessehalber...?
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

Zitat von: Bartimaus am 11 Mai 2016, 10:24:19
Danke für den Tip. Aber "umständlicher" ist es schon, oder ?

Was spricht denn gegen meinen Vorschlag, nur mal so interessehalber...?

ja, es ist die Frage der Sichtweise.

Die Definition des Zeitintervalls (wahr/unwahr) wurde von mir bewusst so gewählt, damit solche intuitiven  Dinge funktionieren:

DOIF ([10:00-20:00]) (set lamp on) DOELSE (set lamp off)

Dazu muss um 20:00 Uhr getriggert werden und das Zeitintervall darf um 20:00 Uhr nicht wahr sein.

Wenn um 20:00 das Zeitintervall noch wahr wäre, würde die Lampe nicht ausgehen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

Zitat von: Damian am 11 Mai 2016, 10:43:44
Wenn um 20:00 das Zeitintervall noch wahr wäre, würde die Lampe nicht ausgehen.

Die Lampe geht aber um 20:00 auch nicht aus, wenn noch eine andere Bedingung wahr ist...

and [Sensor:brightness] < 100

Brightness = 110  ;D

Naja, mit dem Workaround kann (muss) ich leben. Nix für ungut.
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

Zitat von: Bartimaus am 11 Mai 2016, 10:54:15
Die Lampe geht aber um 20:00 auch nicht aus, wenn noch eine andere Bedingung wahr ist...

and [Sensor:brightness] < 100

Brightness = 110  ;D

Naja, mit dem Workaround kann (muss) ich leben. Nix für ungut.

ja, wie auch immer, bei über 20.000 DOIF-Modulen können wir uns nicht mehr leisten die bisherige Funktionsweise zu ändern  ;)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

Zitat von: Damian am 11 Mai 2016, 11:00:18
ja, wie auch immer, bei über 20.000 DOIF-Modulen können wir uns nicht mehr leisten die bisherige Funktionsweise zu ändern  ;)

Wohl wahr !
> 20.000 Module ? Respekt, Volltreffer würde ich sagen.
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly