Hauptmenü

neues Modul DOIF

Begonnen von Damian, 21 Mai 2014, 15:53:18

Vorheriges Thema - Nächstes Thema

Damian

Zitat von: Puschel74 am 05 Oktober 2014, 20:59:01
Hallo,

sorry Damian aber setreading sollte eben kein Event auslösen.

Grüße

Das tut er aber! Probier mal aus.

Gruß

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

holzwurm83

Komme da jetzt nicht mehr mit. Habe das jetzt wie folgt angelegt, aber das habe ich wohl noch nicht richtig verstanden.

define di_fensterhoch DOIF ([WZ_Fenster_OST_R]) (IF ([WZ_Fenster_OST_R:doppelklick] eq "offen") (set WZ_J_OST auf) ELSE (set test_F_R WZ_Fenster_OST_R doppelklick offen, define doppelklick_zu at +00:00:02 set test_F_R WZ_Fenster_OST_R doppelklick zu))
attr di_fensterhoch do always
attr di_fensterhoch verbose 5
define test_F_R dummy


Der Dummy steht auf "zu"
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

Damian

Zitat von: holzwurm83 am 05 Oktober 2014, 20:59:40
Da ist wohl irgendwo noch ein Fehler. Sobald ist das angelegte DOIF lösche kann ich das Reading wieder setzten. Finde hier aber den Fehler nicht:
define di_fensterhoch DOIF ([WZ_Fenster_OST_R]) (IF ([WZ_Fenster_OST_R:doppelklick] eq "offen") (set WZ_J_OST auf) ELSE (setreading WZ_Fenster_OST_R doppelklick offen, define doppelklick_zu at +00:00:02 setreading WZ_Fenster_OST_R doppelklick zu))

Ist klar, siehe mein vorheriger Post.

Deine Lösung sollte sein:

define Doppelklick dummy
set Doppelklick off

define di_fensterhoch DOIF ([WZ_Fenster_OST_R])
(IF ([Doppelklick] eq "on")
   (set WZ_J_OST auf)
ELSE
(set Doppelklick on, define doppelklick_zu at +00:00:02 set Doppelklick off))

attr di_fensterhoch do always


Ich würde es auch bei "on" und "off" belassen, denn die Umbenennung ist verwirrend und entspricht nicht dem echten Zustand. Doppelklick kann von "offen" auf "zu" oder umgekehrt bedeuten.

So langsam sollte die Sache funktionieren  :)

Gruß

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

Puschel74

Hallo,

Zitat von: Damian am 05 Oktober 2014, 21:05:35
Das tut er aber! Probier mal aus.

Gruß

Damian
Stimmt - laut commandref soll setreading auch ein Event auslösen.
http://fhem.de/commandref_DE.html#setreading
Evtl. wäre dann setstate besser?

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

holzwurm83

Sehr schön! ;D Vielen Dank Damian! Jetzt geht das!

Weist du schon ab du die Version fertig hast, um das Dummy zu sparen?
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

Damian

Zitat von: holzwurm83 am 05 Oktober 2014, 21:37:35
Sehr schön! ;D Vielen Dank Damian! Jetzt geht das!

Weist du schon ab du die Version fertig hast, um das Dummy zu sparen?
Noch nicht, mache erst mal Urlaub. Es wird aber ein ganzes Paket voller neuer Features für das Modul geben, die es in sich haben. ;)

Gruß

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

Puschel74

Hallo,

@holzwurm
Kannst du nochmal selbiges versuchen nur anstelle von setreading setstate verwenden?
Danke.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

holzwurm83

Zitat von: Puschel74 am 05 Oktober 2014, 21:51:43
Hallo,

@holzwurm
Kannst du nochmal selbiges versuchen nur anstelle von setreading setstate verwenden?
Danke.

Grüße

Kann ich gerne noch mal probieren. Teste das morgen Abend noch mal in ruhe.
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

holzwurm83

Zitat von: Puschel74 am 05 Oktober 2014, 21:51:43
Hallo,

@holzwurm
Kannst du nochmal selbiges versuchen nur anstelle von setreading setstate verwenden?
Danke.

Grüße

Hallo Puschel,

habe das gerade mal soweit umgeschrieben und wollte das jetzt testen. Bin mir aber bei dem IF noch nicht ganz sicher ob das passt?
define di_fensterhoch DOIF ([WZ_Fenster_OST_L]) (IF ([WZ_Fenster_OST_L:doppelklick] eq "offen") (set WZ_J_OST auf) ELSE (setstate WZ_Fenster_OST_L doppelklick offen, define doppelklick_zu at +00:00:02 setstate WZ_Fenster_OST_L doppelklick zu))
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

Puschel74

Hallo,

ich meinte eigentlich das DOIF OHNE den Dummy und anstelle von setreading das setstate.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

holzwurm83

Ja, so hatte ich es auch verstanden. Nur dann stimmt doch auch das If nicht, da dass Reading "Doppelklick" nicht da ist?
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

Puschel74

Hallo,

ZitatSobald ist das angelegte DOIF lösche kann ich das Reading wieder setzten.
Ok, das hatte ich übersehen/verdrängt/vergessen  8)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

krikan

Blöde Zwischenfrage: Was spricht eigentlich dagegen, das Problem mittels simpler "sequence" zu lösen.
Sorry, Damian, DOIF ist trotzdem unersetzlich!

satprofi

HAllo.
HAbe erfolgreich einge DOIF mit Dummys verknüpft. Jetzt habe ich eine Frage zu den State`s, wie muss der code aussehen wenn "on" oder "on-till" als wahr erkannt wird?
wäre ([dummy] eq "on" or eq "on-till") richtig?
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Brockmann

Zitat von: satprofi am 06 Oktober 2014, 22:39:31
HAbe erfolgreich einge DOIF mit Dummys verknüpft. Jetzt habe ich eine Frage zu den State`s, wie muss der code aussehen wenn "on" oder "on-till" als wahr erkannt wird?
wäre ([dummy] eq "on" or eq "on-till") richtig?
Also wenn, dann ([dummy] eq "on" or [dummy] eq "on-till") oder etwas kürzer ([dummy] =~ "on|on-till")
Aber ich bin mir nicht sicher, was Du genau erreichen willst. Dummys unterstützen von sich aus kein "on-till".
Also Du kannst einen Dummy natürlich auf "on-till 12:00:00" setzen, aber er wird dann bei Erreichen dieses Zeitpunkt nicht von alleine wieder auf "off" wechseln.
Das tun nur bestimmte reale Geräte.