(gelöst) Doif Rolladen at umgebaut

Begonnen von Intruder1956, 15 März 2016, 09:08:43

Vorheriges Thema - Nächstes Thema

Damian

([{sunrise(2700,"07:30")}|8 -{sunset(-1500)}] or [08:30|7]-{sunset(-1500)}])


Diese Syntax funktioniert nicht. Wochentagangaben können beim Intervall nur am Ende angegeben werden und gelten sowohl für die Anfangs- wie auch für die Endzeit, hier also:

([{sunrise(2700,"07:30")}-{sunset(-1500)}|8] or [08:30-{sunset(-1500)}|7])

Gruß

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

Intruder1956

ich bin völlig verwirrt  :o ::)

@Per,
mit deinen Antworten komme ich überhaupt nicht klar, kann sie nicht interpretieren
liegt vielleicht an meinem Alter

@Jens_B,
WeekdayTimer mag das richtige Modul sein, nur blicke ich wie oben geschrieben in meinem Alter 60 Jahre ohne Englischkenntnisse und Null Programmiererfahrung nicht wirklich durch.
Ich war froh das DOIF erstmal ohne Hilfe soweit aufzubauen das es mir was anzeigt, wie z.b. Timer_1_c1 und Timer_2_c2 mit den Entsprechenden Anfangs- und Endzeiten und ohne Syntaxfehler.
Es laufen noch 7 andere DOIF bei mir, die aber nicht so komplex waren
Ich habe gerade gesehen das du mir ein Beispiel geschrieben hast, ich werde es auf jedenfall ausprobieren.
Danke

und jetzt zu Dir
@Damian  :) ;) :)
Ich habe den Code
([{sunrise(2700,"07:30")}-{sunset(-1500)}|8] or [08:30-{sunset(-1500)}|7])
jetzt in meiner "def" eingetragen und bekomme jetzt 4 Timer
2016-03-15 14:04:10   state           initialized
     2016-03-15 14:04:10   timer_1_c1      16.03.2016 07:30:00|8
     2016-03-15 14:04:10   timer_2_c1      15.03.2016 18:43:15|8
     2016-03-15 14:04:10   timer_3_c1      16.03.2016 08:30:00|7
     2016-03-15 14:04:10   timer_4_c1      15.03.2016 18:43:15|7


für morgen werden zwei timer angezeigt 1+3, gehe ich recht in der Annahme das er dann morgen schaut ob Werktag oder Wochenende/Feiertag ist und schaltet dann zur richtigen Zeit ??

Vielen Dank an euch
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

Damian

Zitat von: Intruder1956 am 15 März 2016, 14:24:14
für morgen werden zwei timer angezeigt 1+3, gehe ich recht in der Annahme das er dann morgen schaut ob Werktag oder Wochenende/Feiertag ist und schaltet dann zur richtigen Zeit ??

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

Per

Zitat von: Damian am 15 März 2016, 13:26:46Wochentagangaben können beim Intervall nur am Ende angegeben werden
:-[ aber ich war nah dran :D

Otto123

Naja jetzt hast Du zwei Varianten, die von Damian und die von mir, meine funktioniert auch.  8)
Im Zweifelsfall ist Damian seine die Bessere, er kennt sein DOIF einfach am Besten.
Beiden Varianten gemeinsam ist das or, ich hoffe Du glaubst es.  8)

Schönen Abend und eine zufriedene Nachbarin

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

Intruder1956

moin Jungs  ;D 8)
es hat leider nicht geklappt wie @Damian mir vorgeschlagen hat
Heute morgen haben die Rollos zweimal geschaltet
2016.03.16 07:30:00 3: UNIRoll set Bad_Rollo up
2016.03.16 07:30:00 3: UNIRoll set WZ_RollGross up
2016.03.16 07:30:00 3: UNIRoll set Schlaf_Rollo up
2016.03.16 08:30:00 3: UNIRoll set Bad_Rollo up
2016.03.16 08:30:00 3: UNIRoll set WZ_RollGross up
2016.03.16 08:30:00 3: UNIRoll set Schlaf_Rollo up

Wo ist der Fehler ?
Ich probiere gleich mal den Vorschlag von @Otto

Gruß Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

CoolTux

Vielleicht hilft es wenn Du bitte ein paar mehr Infos gibst. Am besten erstmal ein list vom Device damit wir wissen was genau gemacht wird. Kann ja sein das Du den set Befehl zweimal drin stehen hast, das können wir aber nicht sehen.



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Intruder1956

sorry CoolTux,
alle Details stehen oben.
Was genau möchtest du noch haben.
Ich denke nicht, dass du  ein List vom Rollo möchtest.

Der Rest ist ja oben

Gruß Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

CoolTux

Das list vom DOIF wäre gut. Und sicherlich steht es auch schon auf der ersten Seit, aber in der Zwischenzeit hast Du sicherlich auch schon gefüllte hundert Änderungen gemacht oder auch nicht. Aber das kann der Helfende nicht wissen. Deswegen sollten nach so einem Fall wie Deinen wo anscheinend Änderungen gemacht hast frische Infos kommen.
In einem Reading allein stehen nicht alle Infos. welche Attribute hast Du genommen, Ich kann aus Deinem Reading nicht sehen wie Dein set Befehl aus sieht auch kann ich nicht sehen welchen cmd er genommen hat und was das Event war.
Kann aber auch sein das die anderen Helfenden das sehen können. Ich jedenfalls kann so nicht helfen. Tut mir leid  :-[
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Intruder1956

#24
ok, in dem fall gebe ich dir recht  ;)
das aktuelle list gibt die entsprechende Info
Hier ist es
Internals:
   DEF        ([{sunrise(2700,"07:30")}-{sunset(-1500)}|8] or [08:30-{sunset(-1500)}|7]) ((set Bad_Rollo,WZ_RollGross,Schlaf_Rollo up)) DOELSE ((set Bad_Rollo,WZ_RollGross,Schlaf_Rollo down))
   NAME       doRolladen
   NR         255
   NTFY_ORDER 50-doRolladen
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2016-03-16 08:30:01   cmd_event       timer_3
     2016-03-16 08:30:01   cmd_nr          1
     2016-03-16 08:30:01   state           cmd_1
     2016-03-15 23:17:36   timer_1_c1      16.03.2016 07:30:00|8
     2016-03-15 23:17:36   timer_2_c1      16.03.2016 18:44:54|8
     2016-03-15 23:17:36   timer_3_c1      16.03.2016 08:30:00|7
     2016-03-15 23:17:36   timer_4_c1      16.03.2016 18:44:54|7
   Condition:
     0          DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"8") or DOIF_time($hash,$hash->{realtime}{2},$hash->{realtime}{3},$wday,$hms,"7")
   Days:
     0          8
     1          8
     2          7
     3          7
   Devices:
   Do:
     0:
       0          (set Bad_Rollo,WZ_RollGross,Schlaf_Rollo up)
     1:
       0          (set Bad_Rollo,WZ_RollGross,Schlaf_Rollo down)
   Helper:
     event      timer_3
     globalinit 1
     last_timer 4
     sleeptimer -1
     timerdev
     timerevent timer_3
     triggerDev
     timerevents:
       timer_3
     triggerEvents:
       timer_3
   Internals:
   Interval:
     0          -1
     1          0
     2          -1
     3          2
   Itimer:
   Localtime:
     0          1458109800
     1          1458150294
     2          1458113400
     3          1458150294
   Readings:
   Realtime:
     0          07:30:00
     1          18:44:54
     2          08:30:00
     3          18:44:54
   Regexp:
   State:
   Time:
     0          {sunrise(2700,"07:30")}
     1          {sunset(-1500)}
     2          08:30:00
     3          {sunset(-1500)}
   Timecond:
     0          0
     1          0
     2          0
     3          0
   Timer:
     0          0
     1          0
     2          0
     3          0
   Timers:
     0           0  1  2  3
   Triggertime:
     1458150294:
       localtime  1458150294
       Hash:
Attributes:
   do         always


Gruß Werner

EDIT: hier nochmal was ich möchte  :)
Die Rollos sollen Mo.-Fr. nicht vor 7:30 hochgehen, am Sa.,So. Feiertag erst um 8:30 am Abend nach sunset runterfahren
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

CoolTux

Eventuell hilft es wenn Du Dein do always raus nimmst. Vielelicht war das der Grund warum er den set Befehl zweimal abgearbeitet hat.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Intruder1956

ok, ich habe das "Eventuell" mal rausgenomnmen und schaue was heute Abend oder Morgen passiert  ;) :) ;)

gruß Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

CoolTux

Na dann viel Glück. Und berichten nicht vergessen   :D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Intruder1956

#28
sollte es so funktionieren, werde ich es natürlich berichten und das Thema auf gelöst setzen.
Wollte es gestern schon auf gelöst setzen und ich dachte, warte erst mal ab auch ein Profi kann sich mal Irren  ??? ;D

Gruß und viel Sonnenschein heute

Werner
EDIT: Aber noch mal zum Verständnis. in dem DOIF steht doch die "|7" für Wochentag und die "|8" für Sa.,So., Feiertag
Würde für mich erstmal bedeuten das Werktag und WE nicht unterschieden werden.
Das "do Always" führt den Befehl um 8:30 Uhr  nochmal aus, der Befehl erkennt keinen Unterschied und führt den WE/Feiertag Termin am Werktag aus.
hmmm

Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

Otto123

#29
Moin,
Also die Timer im DOIF sehen aber gut aus. DOIF setzt die Timer jeden Tag und schreibt die |7 oder |8 dahinter. Ausgewertet wird offenbar wenn der Timer wirklich läuft.
Aber deinen hat er scheinbar beide ausgewertet.

Mach doch mal ein zweites DOIF und setze dort ein ein Dummy. Einfach nur zwei Zeiten, damit man sieht ob er die |7 und |8 unterscheidet.

Mein aktives  DOIF läuft genau so wie in meinem Beispiel und ohne do always

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