Hauptmenü

DOIF mit on-for-timer

Begonnen von stgeran, 04 April 2017, 19:00:26

Vorheriges Thema - Nächstes Thema

stgeran

Kann ich in meinem DOIF mit "on-for-timer" eine Verzögerung vor dem nächsten Schaltvorgang erreichen?

([06:00-22:00] and [K_1_Temp:humidity] > 55 and ([K_1_Temp:dewpoint]-[Aussen_Temp:dewpoint]) > 2)(set Fenster_K_1 on-for-timer 600 pct 100)DOELSE (set Fenster_K_1 on-for-timer 600 pct 0)
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

Damian

Zitat von: stgeran am 04 April 2017, 19:00:26
Kann ich in meinem DOIF mit "on-for-timer" eine Verzögerung vor dem nächsten Schaltvorgang erreichen?

([06:00-22:00] and [K_1_Temp:humidity] > 55 and ([K_1_Temp:dewpoint]-[Aussen_Temp:dewpoint]) > 2)(set Fenster_K_1 on-for-timer 600 pct 100)DOELSE (set Fenster_K_1 on-for-timer 600 pct 0)


evtl.: https://fhem.de/commandref_DE.html#DOIF_cmdState zum Verhindern einer zu frühen nächsten Ausführung

mit https://fhem.de/commandref_DE.html#DOIF_wait  hast du immer eine Verzögerung
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

stgeran

Ist den die Syntax so richtig?
([06:00-22:00] and [K_1_Temp:humidity]-[Aussen_Temp:humidity] > 5 and ([K_1_Temp:dewpoint]-[Aussen_Temp:dewpoint]) > 2)(set Fenster_K_1 pct 100)DOELSE (set Fenster_K_1 pct 0)wait 600:600
Es müssten ja im Plot pro Stunde maximal 6 Änderungen stattfinden und keine kurzen "Zacken"
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

Jorge3711

Zitat von: Damian am 04 April 2017, 19:07:48
evtl.: https://fhem.de/commandref_DE.html#DOIF_cmdState zum Verhindern einer zu frühen nächsten Ausführung


Sorry, wenn ich mich hier einklinke, aber: Mit cmdState kann man den Status des DOIF umbenennen. Wo ist da eine Verhinderung eingebaut, in der Commandref finde ich dazu nichts (zumindest nicht im verlinkten Abschnitt)?

Brockmann

Ich könnte mir vorstellen, dass eigentlich das hier gemeint war:
http://fhem.de/commandref_DE.html#DOIF_cmdpause

stgeran

Ich nochmal mit meinem Problem. Ich habe das als DOIF
([06:00-22:00] and [K_1_Temp:humidity]-[Aussen_Temp:humidity] > 3 and ([K_1_Temp:dewpoint]-[Aussen_Temp:dewpoint]) > 2)(set Fenster_K_1 pct 100)DOELSE (set Fenster_K_1 pct 0)
Und habe
attr Fenster_K_1 wait 600:600
Ich glaube, die Sache hängt sich auf. Ist an der Schreibweise was falsch?
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

Damian

Zitat von: stgeran am 23 April 2017, 17:13:35
Ich nochmal mit meinem Problem. Ich habe das als DOIF
([06:00-22:00] and [K_1_Temp:humidity]-[Aussen_Temp:humidity] > 3 and ([K_1_Temp:dewpoint]-[Aussen_Temp:dewpoint]) > 2)(set Fenster_K_1 pct 100)DOELSE (set Fenster_K_1 pct 0)
Und habe
attr Fenster_K_1 wait 600:600
Ich glaube, die Sache hängt sich auf. Ist an der Schreibweise was falsch?

Ich glaube nicht, dass sie sich aufhängt, du meinst vermutlich:

([K_1_Temp:humidity]-[Aussen_Temp:humidity])> 3
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

buchner51

Hallo,

ich möchte meinem Dimmer (KNX) einen on-vor-Timer verpassen, ich hab folgendes versucht:

defmod Logik_wz_Decke_dimm_Hof DOIF ([wz_Decke_dimm_Hof value:"on"]) (set wz_Decke_dimm_Hof value 100) DOELSE (set wz_Decke_dimm_Hof value 0)
attr Logik_wz_Decke_dimm_Hof room Schaltuhr
attr Logik_wz_Decke_dimm_Hof wait 5

setstate Logik_wz_Decke_dimm_Hof initialized
setstate Logik_wz_Decke_dimm_Hof 2018-03-23 16:25:44 cmd 0
setstate Logik_wz_Decke_dimm_Hof 2018-03-23 16:25:44 mode enabled
setstate Logik_wz_Decke_dimm_Hof 2018-03-23 16:25:44 state initialized
setstate Logik_wz_Decke_dimm_Hof 2018-03-23 16:25:44 timer_01_c01 error: Wrong timespec wz_Decke_dimm_Hofvalue:"on": either HH:MM:SS or {perlcode}



leider ohne erfolg, was mche ich falsch, das licht soll in jerder helligkeit nach 5 Sekunden ausgehen.

Danke
Raspberry pi 3+
KNX mit TUL, FHEM mit SMARTVISU 2.9

Damian

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

Ellert

Zitat[wz_Decke_dimm_Hof value:"on"]
Leerzeichen sind im Gerätenamen nicht erlaubt.

Damian

Zitat von: Ellert am 23 März 2018, 17:25:24
Leerzeichen sind im Gerätenamen nicht erlaubt.

und value gehört da auch nicht hin ;)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

buchner51

Hi,

ich verstehe es immer noch nicht wenn ich doch meinen Dimmer wert nutzen will muss ich doch mit value Arbeiten, oder ?

Jetzt hab ich es mal mit "setG1 " probiert da kommt aber ein Fehler.

defmod wz_Decke_dimm_Hof KNX 0/2/7:dpt5.001 0/2/8:dpt5.001
attr wz_Decke_dimm_Hof IODev KNX
attr wz_Decke_dimm_Hof TEERKOAlias licht
attr wz_Decke_dimm_Hof TEERKOControl 1
attr wz_Decke_dimm_Hof TEERKORoom wohnzimmer
attr wz_Decke_dimm_Hof event-on-change-reading .*
attr wz_Decke_dimm_Hof event-on-update-reading .*
attr wz_Decke_dimm_Hof room EG
attr wz_Decke_dimm_Hof slider 0,1,100
attr wz_Decke_dimm_Hof webCmd value

setstate wz_Decke_dimm_Hof 0 %
setstate wz_Decke_dimm_Hof 2018-04-02 20:44:49 getG1 0 %
setstate wz_Decke_dimm_Hof 2018-04-02 20:44:49 last-sender 1/12/8
setstate wz_Decke_dimm_Hof 2018-04-02 20:44:48 setG1 0 %
setstate wz_Decke_dimm_Hof 2018-04-02 20:44:49 state 0 %



defmod Logik_wz_Decke_dimm_Hof DOIF ([wz_Decke_dimm_Hof:"on"]) (set wz_Decke_dimm_Hof setG1:100) DOELSE (set wz_Decke_dimm_Hof setG1:0)
attr Logik_wz_Decke_dimm_Hof room Schaltuhr
attr Logik_wz_Decke_dimm_Hof wait 5

setstate Logik_wz_Decke_dimm_Hof cmd_2
setstate Logik_wz_Decke_dimm_Hof 2018-04-02 20:44:49 Device wz_Decke_dimm_Hof
setstate Logik_wz_Decke_dimm_Hof 2018-04-02 20:44:31 cmd 2
setstate Logik_wz_Decke_dimm_Hof 2018-04-02 20:44:31 cmd_event wz_Decke_dimm_Hof
setstate Logik_wz_Decke_dimm_Hof 2018-04-02 20:44:31 cmd_nr 2
setstate Logik_wz_Decke_dimm_Hof 2018-04-02 20:44:49 e_wz_Decke_dimm_Hof_events getG1: 0 %,last-sender: 1/12/8,0 %
setstate Logik_wz_Decke_dimm_Hof 2018-04-02 20:44:31 error set wz_Decke_dimm_Hof setG1:0: Unknown argument setg1:0, choose one of on-for-timer rgb:colorpicker on raw string off value:slider,0,1,100 on-until on-till-overnight toggle blink on-till intervals off-for-timer off-till off-till-overnight
setstate Logik_wz_Decke_dimm_Hof 2018-04-02 20:43:30 mode enabled
setstate Logik_wz_Decke_dimm_Hof 2018-04-02 20:44:31 state cmd_2

Raspberry pi 3+
KNX mit TUL, FHEM mit SMARTVISU 2.9

Ellert

#12
Das DOIF ist erstmal o.k., wenn es ein Event "on" gibt und innerhalb der Wartezeit keine störenden Ereignisse auftreten und Du das Attribut wait ergänzt.
Bei KNX kann ich nicht helfen, wie der Befehl zu schreiben ist, geht bestimmt aus der Befehlsreferenz hervor. Oder Du orientierst dich an der Fehlermeldung, die umreisst ja was Du wählen darfst.

buchner51

Hallo,
ich habe es jetzt folgender Massen gelöst:

defmod Logik_ez_Licht_Decke DOIF ([ez_Licht_Decke:"on"]) (set ez_Licht_Decke off)
attr Logik_ez_Licht_Decke do resetwait
attr Logik_ez_Licht_Decke room Schaltuhr
attr Logik_ez_Licht_Decke wait 3600
Raspberry pi 3+
KNX mit TUL, FHEM mit SMARTVISU 2.9