Konstantlichtregelung mit HM-HM-LC-DW-WM [Gelöst]

Begonnen von fast-eddy, 17 September 2018, 14:48:44

Vorheriges Thema - Nächstes Thema

fast-eddy

Hallo zusammen,

seit kurzen nenne ich einen HM-HM-LC-DW-WM DualWhite LED Dimmer mein eigen,
der sich Dank martinp876 auch problemlos in meine HM-Welt integrieren lies.

Jetzt möchte ich den LED-Controller verwenden um eine Konstantlichtregelung zu bauen,
bei der sich analog zum Sonnenstand Helligkeit und Lichtfarbe ändern (zumindest in grober
Näherung)

Das klappt soweit auch ganz gut - um es komplett dynamisch abbilden zu können müsste
man aber die ramptime aus dem pct Befehl auch als Variable
oder Perl Code setzen können. So In der Art:
DEF        ([{sunrise("CIVIL")}])
(set eg_garderobe_HELLIGKEIT press)
(set eg_garderobe_HELLIGKEIT pct 40 0 {hms2secs(sunset_rel("CIVIL"))/2})
(set eg_gardedobe_FARBE pct 100 0 {hms2secs(sunset_rel("CIVIL"))/2}) 
(set eg_garderobe_HELLIGKEIT pct 5 {hms2secs(sunset_rel("NAUTIC"))})
DOELSEIF ([23:00])
(set eg_garderobe_HELLIGKEIT press)


Wobei das command (set eg_garderobe_HELLIGKEIT pct 5 {hms2secs(sunset_rel("NAUTIC"))}) über die Attribute wait und timerWithWait verzögert wird.

Attributes:
   group      Haussteuerung
   room       STEUERUNG
   timerWithWait 1
   wait       0,5,0,{hms2secs(sunset_rel("CIVIL"))/2}:0


Wie gesagt es funktioniert alles bis auf das setzen der ramptime.
Das Perl snipped für sich alleine liefert sauber die Sekunden zurück - nur als ramptime wird´s halt nicht ausgewertet.
Ist da nur die manuelle Angabe von Werten in Sekunde möglich oder gibt es einen Trick, so dass auch Perl Code
akzeptiert wird?

Bin gespannt auch Euer Feedback...
Raspberry Pi | HMUART | HMLAN | JeeLink | HUE | Z-WAVE.ME | HM-LC-Bl1PBU-FM | HM-PB-2-WM55 HM-CC-RT-DN | HM-LC-SW4-SM | HM-WDS10-TH-O HM-WDS30-T-O | HM-LC-SW4-DR | HM-Sen-MDIR-O-2 | HM-SEC-SCo |  Technoline TX 29 DT-HT|

fast-eddy

...wie jetzt ?
Hat wirklich niemand eine Idee wie ich die ramptime als Variable oder Perlcode setzen kann ?
Das kenne ich so gar nicht von diesem Forum  ;)
Sonst hat man eher das Problem, sich für einen der vielen Vorschläge von Euch entscheiden zu müssen  :)
Raspberry Pi | HMUART | HMLAN | JeeLink | HUE | Z-WAVE.ME | HM-LC-Bl1PBU-FM | HM-PB-2-WM55 HM-CC-RT-DN | HM-LC-SW4-SM | HM-WDS10-TH-O HM-WDS30-T-O | HM-LC-SW4-DR | HM-Sen-MDIR-O-2 | HM-SEC-SCo |  Technoline TX 29 DT-HT|

TomLee

Versuch's mal so:

DEF        ([{sunrise("CIVIL")}])
(set eg_garderobe_HELLIGKEIT press)
((set eg_garderobe_HELLIGKEIT pct 40 0 {hms2secs(sunset_rel("CIVIL"))/2}))
((set eg_gardedobe_FARBE pct 100 0 {hms2secs(sunset_rel("CIVIL"))/2}))  
((set eg_garderobe_HELLIGKEIT pct 5 {hms2secs(sunset_rel("NAUTIC"))})) 
DOELSEIF ([23:00])
(set eg_garderobe_HELLIGKEIT press)


Wenn das auch nicht klappt, dann verschiebe die Frage in den richtigen Forums-Bereich (DOIF) da gibts dann vielleicht auch schneller eine richtige Antwort.

fast-eddy

Hi TomLee,

danke für Dein Feedback.
Irgendwie stehe ich auf dem Schlauch und erkenne Deinen Änderungsvorschlag nicht.
Kannst Du mir dabei bitte etwas auf die Sprünge helfen?

ZitatWenn das auch nicht klappt, dann verschiebe die Frage in den richtigen Forums-Bereich (DOIF) da gibts dann vielleicht auch schneller eine richtige Antwort.

Ja - war mir nicht sicher wo das Thema hingehört. Das DOIF funktioniert ja.
Nur der Paramater für die ramptime wird halt nicht interpertiert und statt dessen der Default Value gesetzt.
Und das ist imho ja eine Frage des HM Devices - oder liege ich damit falsch?
Raspberry Pi | HMUART | HMLAN | JeeLink | HUE | Z-WAVE.ME | HM-LC-Bl1PBU-FM | HM-PB-2-WM55 HM-CC-RT-DN | HM-LC-SW4-SM | HM-WDS10-TH-O HM-WDS30-T-O | HM-LC-SW4-DR | HM-Sen-MDIR-O-2 | HM-SEC-SCo |  Technoline TX 29 DT-HT|

TomLee

Keine Ahnung obs heute immer noch so klappt, habs nicht getestet, meine Suche nach deinem Problem hatte mich hierhin geführt.

fast-eddy

...ahhh jetzt ja!
Jetzt sehe auch ich Deinen Änderungsvorschlag mit den zusätzlichen Klammern.
Aber wie im zitierten Thread schon geschrieben: Da sieht mal das Command vor lauter Klammern nicht mehr  ;)
Unter dem Gesichtspunkt ist meineFrage im DOIF Forum wohl doch besser aufgehoben.
Raspberry Pi | HMUART | HMLAN | JeeLink | HUE | Z-WAVE.ME | HM-LC-Bl1PBU-FM | HM-PB-2-WM55 HM-CC-RT-DN | HM-LC-SW4-SM | HM-WDS10-TH-O HM-WDS30-T-O | HM-LC-SW4-DR | HM-Sen-MDIR-O-2 | HM-SEC-SCo |  Technoline TX 29 DT-HT|

Damian

#6
Hier mit Perlvariablen ohne jegliche Attribute im DOIF-Perl-Modus:

DOIF {if ([{sunrise("CIVIL")}]) {
        my $ramptime1=hms2secs(sunset_rel("CIVIL"))/2;
        my $ramptime2=hms2secs(sunset_rel("NAUTIC"));
        fhem"set eg_garderobe_HELLIGKEIT press";
        set_Exec("hell",5,"fhem\"set eg_garderobe_HELLIGKEIT pct 40 0 $reamptime1;set eg_gardedobe_FARBE pct 100 $ramptime1\""); # um 5 Sekunden verzögert
        set_Exec("dunkel",5+$ramptime1,"fhem\"set eg_garderobe_HELLIGKEIT pct 5 $ramptime2\"") # verzögert um 5+$ramptime1
      }
    }
{if ([23:00]) {fhem"set eg_garderobe_HELLIGKEIT press"}}
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

TomLee

Was hab ich gesagt

Zitat... vielleicht auch schneller eine richtige Antwort.

bei der Umsetzung auf die Schreibfehler in $ramptime1 achten 😉

fast-eddy

 :)

...werd´s morgen gleich mal testen und berichten.

@Damian: Danke auch für Deine prompte Unterstützung.
Auch wenn es jetzt halt ohne DOIF laufen muss  ;)
Raspberry Pi | HMUART | HMLAN | JeeLink | HUE | Z-WAVE.ME | HM-LC-Bl1PBU-FM | HM-PB-2-WM55 HM-CC-RT-DN | HM-LC-SW4-SM | HM-WDS10-TH-O HM-WDS30-T-O | HM-LC-SW4-DR | HM-Sen-MDIR-O-2 | HM-SEC-SCo |  Technoline TX 29 DT-HT|

Damian

Zitat von: TomLee am 18 September 2018, 16:35:25
Was hab ich gesagt

bei der Umsetzung auf die Schreibfehler in $ramptime1 achten 😉

Hab´s korrigiert :)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

TomLee

ZitatAuch wenn es jetzt halt ohne DOIF laufen muss  ;)

Für Morgen:

Es ist weiterhin ein DOIF.

Damian

Zitat von: fast-eddy am 18 September 2018, 16:38:22
:)

...werd´s morgen gleich mal testen und berichten.

@Damian: Danke auch für Deine prompte Unterstützung.
Auch wenn es jetzt halt ohne DOIF laufen muss  ;)

Warum ohne DOIF? Beides ist DOIF.

Der Vollständigkeit halber im DOIF-FHEM-Modus:

DEF        ([{sunrise("CIVIL")}])
(set eg_garderobe_HELLIGKEIT press)
(set eg_garderobe_HELLIGKEIT pct 40 0 {(hms2secs(sunset_rel("CIVIL"))/2)} , set eg_gardedobe_FARBE pct 100 0 {(hms2secs(sunset_rel("CIVIL"))/2)}) 
(set eg_garderobe_HELLIGKEIT pct 5 {(hms2secs(sunset_rel("NAUTIC")))})
DOELSEIF ([23:00])
(set eg_garderobe_HELLIGKEIT press)
   
timerWithWait 1
wait       0,5,{hms2secs(sunset_rel("CIVIL"))/2}

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

rabehd

Ich habe eine Userreading, welches die Dauer des Sonnenunterganges enthält.

Im DOIF habe ich als Befehl
Zitat(set AquariumLicht 0 0 [ThailandSonne:ss_dauer])
Auch funktionierende Lösungen kann man hinterfragen.

fast-eddy

...so hier mal das erste Feedback.
Das mit Eurer Hilfe gebaute DOIF scheint zumindest mal grundsätzlich zu tun was es soll - Siehe Logfile:

LOGFILE:
2018.09.19 08:30:00 3: CUL_HM set eg_garderobe_HELLIGKEIT pct 5
2018.09.19 08:30:05 3: CUL_HM set eg_garderobe_HELLIGKEIT pct 40 0 20817.5
2018.09.19 08:30:05 3: CUL_HM set eg_garderobe_FARBE pct 100 0 20817.5


Die Timestamps für die ramptime werden sauber in Sekunden umgerechnet und das Command für den LED Dimmer scheint OK.

Allerdings wird das ganze auf seiten des Devices nur initial getriggert und dann passiert erstmal nix oder nur merkwürdige Dinge.
Siehe EventLog:

EVENTLOG
2018-09-19 08:30:00 CUL_HM eg_garderobe_HELLIGKEIT level: set_5
2018-09-19 08:30:00 CUL_HM eg_garderobe_HELLIGKEIT set_5
2018-09-19 08:30:00 CUL_HM eg_garderobe_HELLIGKEIT trigLast: fhem:02
2018-09-19 08:30:00 CUL_HM eg_garderobe_HELLIGKEIT trigLast: fhem:02
2018-09-19 08:30:00 CUL_HM eg_garderobe_HELLIGKEIT deviceMsg: 99.5 (to vccu)
2018-09-19 08:30:00 CUL_HM eg_garderobe_HELLIGKEIT dim: down:99.5
2018-09-19 08:30:00 CUL_HM eg_garderobe_HELLIGKEIT level: 99.5
2018-09-19 08:30:00 CUL_HM eg_garderobe_HELLIGKEIT pct: 99.5
2018-09-19 08:30:00 CUL_HM eg_garderobe_HELLIGKEIT 99.5
2018-09-19 08:30:00 CUL_HM eg_garderobe_HELLIGKEIT timedOn: AUS
2018-09-19 08:30:05 CUL_HM eg_garderobe_HELLIGKEIT level: set_40
2018-09-19 08:30:05 CUL_HM eg_garderobe_HELLIGKEIT set_40
2018-09-19 08:30:05 CUL_HM eg_garderobe_HELLIGKEIT trigLast: fhem:02
2018-09-19 08:30:05 CUL_HM eg_garderobe_FARBE level: set_100
2018-09-19 08:30:05 CUL_HM eg_garderobe_FARBE set_100
2018-09-19 08:30:05 CUL_HM eg_garderobe_HELLIGKEIT trigLast: fhem:02
2018-09-19 08:30:05 CUL_HM eg_garderobe_FARBE trigLast: fhem:02
2018-09-19 08:30:05 CUL_HM eg_garderobe_HELLIGKEIT deviceMsg: 5.5 (to vccu)
2018-09-19 08:30:05 CUL_HM eg_garderobe_HELLIGKEIT dim: up:5.5
2018-09-19 08:30:05 CUL_HM eg_garderobe_HELLIGKEIT level: 5.5
2018-09-19 08:30:05 CUL_HM eg_garderobe_HELLIGKEIT pct: 5.5
2018-09-19 08:30:05 CUL_HM eg_garderobe_HELLIGKEIT 5.5
2018-09-19 08:30:05 CUL_HM eg_garderobe_HELLIGKEIT timedOn: AUS
2018-09-19 08:30:05 CUL_HM eg_garderobe_FARBE trigLast: fhem:02
2018-09-19 08:30:05 CUL_HM eg_garderobe_FARBE color: 0.5
2018-09-19 08:30:05 CUL_HM eg_garderobe_FARBE deviceMsg: 0.5 (to vccu)
2018-09-19 08:30:05 CUL_HM eg_garderobe_FARBE dim: up:0.5
2018-09-19 08:30:05 CUL_HM eg_garderobe_FARBE level: 0.5
2018-09-19 08:30:05 CUL_HM eg_garderobe_FARBE pct: 0.5
2018-09-19 08:30:05 CUL_HM eg_garderobe_FARBE rgb: FF0700
2018-09-19 08:30:05 CUL_HM eg_garderobe_FARBE 0.5
2018-09-19 08:30:05 CUL_HM eg_garderobe_FARBE timedOn: WARM


Auch aus dem List des DOIF kann ich nicht erkennen warum der Dimmer die Helligkeit auf 5.5 (!) setzt und dann erstmal nichts weiter passiert :

Internals:
   DEF        ([08:30])
(set eg_garderobe_HELLIGKEIT pct 5)
(set eg_garderobe_HELLIGKEIT pct 40 0 {(hms2secs(sunset_rel("CIVIL"))/2)})
(set eg_garderobe_FARBE pct 100 0 {(hms2secs(sunset_rel("CIVIL"))/2)})
(set eg_garderobe_HELLIGKEIT pct 5 {(hms2secs(sunset_rel("NAUTIC")))})
DOELSEIF ([23:00])
(set eg_garderobe_HELLIGKEIT off)
   MODEL      FHEM
   NAME       timer_LED_GARDEROBE
   NR         503
   NTFY_ORDER 50-timer_LED_GARDEROBE
   STATE      cmd_1_3
   TYPE       DOIF
   READINGS:
     2018-09-19 08:30:05   cmd             1.3
     2018-09-19 08:30:05   cmd_event       timer_1
     2018-09-19 08:30:05   cmd_nr          1
     2018-09-19 08:30:05   cmd_seqnr       3
     2018-09-19 08:27:52   mode            enabled
     2018-09-19 08:30:05   state           cmd_1_3
     2018-09-19 08:30:00   timer_01_c01    20.09.2018 08:30:00
     2018-09-19 08:27:52   timer_02_c02    19.09.2018 23:00:00
     2018-09-19 08:30:05   wait_timer      19.09.2018 14:17:02 cmd_1_4 timer_1
   Regex:
   attr:
     cmdState:
     wait:
       0:
         0
         5
         5
         {hms2secs(sunset_rel("CIVIL"))/2}
       1:
         0
     waitdel:
   condition:
     0          DOIF_time_once($hash,0,$wday)
     1          DOIF_time_once($hash,1,$wday)
   days:
   devices:
   do:
     0:
       0          set eg_garderobe_HELLIGKEIT pct 5
       1          set eg_garderobe_HELLIGKEIT pct 40 0 {(hms2secs(sunset_rel("CIVIL"))/2)}
       2          set eg_garderobe_FARBE pct 100 0 {(hms2secs(sunset_rel("CIVIL"))/2)}
       3          set eg_garderobe_HELLIGKEIT pct 5 {(hms2secs(sunset_rel("NAUTIC")))}
     1:
       0          set eg_garderobe_HELLIGKEIT off
     2:
   helper:
     event      timer_1
     globalinit 1
     last_timer 2
     sleepdevice timer_1
     sleepsubtimer 3
     sleeptimer 0
     timerdev   
     timerevent timer_1
     timereventsState
     triggerDev
     triggerEventsState
     DOIF_eventas:
       cmd_nr: 1
       cmd_seqnr: 3
       cmd_event: timer_1
       state: cmd_1_3
     timerevents:
       timer_1
     triggerEvents:
       timer_1
   internals:
   interval:
   intervalfunc:
   itimer:
   localtime:
     0          1537425000
     1          1537390800
   readings:
   realtime:
     0          08:30:00
     1          23:00:00
   time:
     0          08:30:00
     1          23:00:00
   timeCond:
     0          0
     1          1
   timer:
     0          0
     1          0
   timers:
     0           0
     1           1
   triggertime:
     1537390800:
       localtime  1537390800
       hash:
     1537425000:
       localtime  1537425000
       hash:
   uiState:
   uiTable:
Attributes:
   group      Haussteuerung
   room       STEUERUNG
   timerWithWait 1
   wait       0,5,5,{hms2secs(sunset_rel("CIVIL"))/2}:0


Hat einer von Euch noch ne zündende Idee?
Raspberry Pi | HMUART | HMLAN | JeeLink | HUE | Z-WAVE.ME | HM-LC-Bl1PBU-FM | HM-PB-2-WM55 HM-CC-RT-DN | HM-LC-SW4-SM | HM-WDS10-TH-O HM-WDS30-T-O | HM-LC-SW4-DR | HM-Sen-MDIR-O-2 | HM-SEC-SCo |  Technoline TX 29 DT-HT|

Damian

Wenn man eine ganze Zahl durch 2 teilt, dann braucht man sich nicht zu wundern, wenn hinter dem Komma eine 5 steht :)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

fast-eddy

Moin Damian,
sag mal machst Du auch mal Forumpause?  :)
Super Reaktionszeit - Danke dafür!

Aber ich stehe mal wieder suf dem Schlauch!
Ich teile doch nur die Ramptime durch zwei.
Der pct Wert wird initial auf 5 gesetzt und soll
dann über die ramptime hochgedimmt werden.
5.5 lässt vermuten, dass das einmalig um 0.5
passiert und dann stoppt,
Oder meinst Du was anderes?
Raspberry Pi | HMUART | HMLAN | JeeLink | HUE | Z-WAVE.ME | HM-LC-Bl1PBU-FM | HM-PB-2-WM55 HM-CC-RT-DN | HM-LC-SW4-SM | HM-WDS10-TH-O HM-WDS30-T-O | HM-LC-SW4-DR | HM-Sen-MDIR-O-2 | HM-SEC-SCo |  Technoline TX 29 DT-HT|

Damian

Zitat von: fast-eddy am 19 September 2018, 09:28:15
Moin Damian,
sag mal machst Du auch mal Forumpause?  :)
Super Reaktionszeit - Danke dafür!

Aber ich stehe mal wieder suf dem Schlauch!
Ich teile doch nur die Ramptime durch zwei.
Der pct Wert wird initial auf 5 gesetzt und soll
dann über die ramptime hochgedimmt werden.
5.5 lässt vermuten, dass das einmalig um 0.5
passiert und dann stoppt,
Oder meinst Du was anderes?

Die genaue Bedeutung der Parameter kenne ich nicht, ich meine natürlich nur den letzten Parameter, der ja als Ramptime berechnet wurde. Zum Rest kann ich  nichts sagen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

fast-eddy

OK - Das pct command hat 3 Parameter:
set pct p1 p2 p3
p1 gibt den Zielwert in % an
p2 die Einschaltdauer wobei 0=unendlich
p3 die ,,ramptime" setzt die Zeit in Sekunden in der der Zielwert (pct) erreicht werden soll.

Laut Logfile werden alle Parameter sauber gesetzt.
Das was dann laut Evenlog passiert macht für mich
aber keinen Sinn.
Raspberry Pi | HMUART | HMLAN | JeeLink | HUE | Z-WAVE.ME | HM-LC-Bl1PBU-FM | HM-PB-2-WM55 HM-CC-RT-DN | HM-LC-SW4-SM | HM-WDS10-TH-O HM-WDS30-T-O | HM-LC-SW4-DR | HM-Sen-MDIR-O-2 | HM-SEC-SCo |  Technoline TX 29 DT-HT|

fast-eddy

Hallo zusammen,

mittlerweile bin ich mir fast sicher, dass mich hier das Device HM-HM-LC-DW-WM ärgern will.
Nach den Einträgen im Logfile werden alle commands korrekt ausgeführt und auch die Berechnung
der Parameter wird sauber ausgeführt:

Zitat2018.09.19 08:30:00 3: CUL_HM set eg_garderobe_HELLIGKEIT pct 5
2018.09.19 08:30:05 3: CUL_HM set eg_garderobe_HELLIGKEIT pct 40 0 20817.5
2018.09.19 08:30:05 3: CUL_HM set eg_garderobe_FARBE pct 100 0 20817.5

Da aber zeitnah auch einige Attack Alerts im Log auftauchen bin ich auf die Idee gekommen, dass das Device durch
das viele Testen vielleicht einen Speicherüberlauf hat (lokal werkelt dort ein kleiner Atmega Controller)
Zitat

2018.09.19 08:31:37 2: CUL_HM HM_59E794 attack:11F1234159E794020150CB47FFFF,11F1234159E7940202C8CB47FFFF:11E9FEE59E794010E
2018.09.19 08:32:06 2: CUL_HM HM_59E794 attack:11F1234159E794020150CB47FFFF,11F1234159E7940202C8CB47FFFF:11E9FEE59E794010E
2018.09.19 08:32:16 2: CUL_HM HM_59E794 attack:11F1234159E794020150CB47FFFF,11F1234159E7940202C8CB47FFFF:11E9FEE59E794010E

Daher habe ich mal alle Trigger, Settings usw. lokal zurückgesetzt. Und sie da - plötzlich lief das mit Eurer Hilfe gebaute DOIF und der
Regelprozess wie gewünscht. Leider nur für etwa 3 Stunden dann tauchen die attacks wieder auf und der Prozess stoppt.
Siehe List:

Internals:
   DEF        ([{sunrise("CIVIL")}])
(set eg_garderobe_HELLIGKEIT pct 5)
(set eg_garderobe_HELLIGKEIT pct 40 0 {(hms2secs(sunset_rel("CIVIL"))/2)})
(set eg_garderobe_FARBE pct 100 0 {(hms2secs(sunset_rel("CIVIL"))/2)})
(set eg_garderobe_HELLIGKEIT pct 5 {(hms2secs(sunset_rel("NAUTIC")))})
DOELSEIF ([23:00])
(set eg_garderobe_HELLIGKEIT off)
   MODEL      FHEM
   NAME       timer_LED_GARDEROBE
   NR         503
   NTFY_ORDER 50-timer_LED_GARDEROBE
   STATE      cmd_1_3
   TYPE       DOIF
   READINGS:
     2018-09-19 11:34:09   cmd             1.3
     2018-09-19 11:34:09   cmd_event       set_cmd_1
     2018-09-19 11:34:09   cmd_nr          1
     2018-09-19 11:34:09   cmd_seqnr       3
     2018-09-19 11:33:32   mode            enabled
     2018-09-19 11:34:09   state           cmd_1_3
     2018-09-19 11:33:32   timer_01_c01    20.09.2018 06:37:26
     2018-09-19 11:33:32   timer_02_c02    19.09.2018 23:00:00
     2018-09-19 11:34:09   wait_timer      19.09.2018 15:49:05 cmd_1_4 set_cmd_1
   Regex:
   attr:
     cmdState:
     wait:
       0:
         0
         5
         5
         {hms2secs(sunset_rel("CIVIL"))/2}
       1:
         0
     waitdel:
   condition:
     0          DOIF_time_once($hash,0,$wday)
     1          DOIF_time_once($hash,1,$wday)
   days:
   devices:
   do:
     0:
       0          set eg_garderobe_HELLIGKEIT pct 5
       1          set eg_garderobe_HELLIGKEIT pct 40 0 {(hms2secs(sunset_rel("CIVIL"))/2)}
       2          set eg_garderobe_FARBE pct 100 0 {(hms2secs(sunset_rel("CIVIL"))/2)}
       3          set eg_garderobe_HELLIGKEIT pct 5 {(hms2secs(sunset_rel("NAUTIC")))}
     1:
       0          set eg_garderobe_HELLIGKEIT off
     2:
   helper:
     event     
     globalinit 1
     last_timer 2
     sleepdevice set_cmd_1
     sleepsubtimer 3
     sleeptimer 0
     triggerDev
     triggerEvents
     triggerEventsState
     DOIF_eventas:
       cmd_nr: 1
       cmd_seqnr: 3
       cmd_event: set_cmd_1
       state: cmd_1_3
   intervalfunc:
   itimer:
   localtime:
     0          1537418246
     1          1537390800
   realtime:
     0          06:37:26
     1          23:00:00
   time:
     0          {sunrise("CIVIL")}
     1          23:00:00
   timeCond:
     0          0
     1          1
   timer:
     0          0
     1          0
   timers:
     0           0
     1           1
   triggertime:
     1537390800:
       localtime  1537390800
       hash:
     1537418246:
       localtime  1537418246
       hash:
   uiState:
   uiTable:
Attributes:
   group      Haussteuerung
   room       STEUERUNG
   timerWithWait 1
   wait       0,5,5,{hms2secs(sunset_rel("CIVIL"))/2}:0


Ich vermute, dass der lokale Prozessor auf dem LED Controller mit zu langen ramptimes d.h. zu vielen Schaltzyklen Probleme mit dem raren Speicher bekommt. Vielleicht ist da im entsprechenden HM-Modul aber ein Limit eingebaut oder große Werte (noch) nicht implementiert. Vielleicht kann uns da martinp876 weiterhelfen.
Raspberry Pi | HMUART | HMLAN | JeeLink | HUE | Z-WAVE.ME | HM-LC-Bl1PBU-FM | HM-PB-2-WM55 HM-CC-RT-DN | HM-LC-SW4-SM | HM-WDS10-TH-O HM-WDS30-T-O | HM-LC-SW4-DR | HM-Sen-MDIR-O-2 | HM-SEC-SCo |  Technoline TX 29 DT-HT|

fast-eddy

So ich noch mal - Es rennt....!

Das DOIF hatte ich ja mit Eurer Unterstützung recht schnell am Laufen - nur der Controller wollte nicht so recht mitspielen
und hat ganz komische Dinge gemacht. Zunächst dachte ich die Ramptimes wären limitiert oder der LED Controller sogar defekt.
Zumindest liesen die Blink Codes des Geräts darauf schließen.

Letztlich war es doch die im Controller verbaute CPU bzw. deren geringer Speicher. Durch das ganze Testen und ausprobieren habe
ich wohl den Speicher vollgeschrieben und das arme Ding zum Absturz gebracht. Mit Factory Reset und stromlos machen konnte ich
es überreden wieder seinen Job zu machen ;)

Jetzt habe ich hier eine schöne Lichtvoute im Flur, die analog zum Sonnenstand Lichttemperatur und Helligkeit nachführt - coole Sache!
Danke nochmals für alle die mitgedacht und debugged haben!

Und so sieht das ganze aus - für diejenigen die mal en Code Snipped für sowas suchen:

define timer_LED_GARDEROBE DOIF ([{sunrise("CIVIL")}])
(set eg_garderobe_HELLIGKEIT pct 5 0 2, set eg_garderobe_FARBE pct 5 0 0)
(set eg_garderobe_HELLIGKEIT pct 50 0 {(hms2secs(sunset_rel("CIVIL"))/2)})
(set eg_garderobe_FARBE pct 80 0 {(hms2secs(sunset_rel("CIVIL"))/2)})
(set eg_garderobe_HELLIGKEIT pct 10 0 {(hms2secs(sunset_rel("CIVIL")))})
(set eg_garderobe_FARBE pct 0 0 {(hms2secs(sunset_rel("CIVIL"))/2)})
DOELSEIF ([23:00])
(set eg_garderobe_HELLIGKEIT off)

attr timer_LED_GARDEROBE timerWithWait 1
attr timer_LED_GARDEROBE wait 0,5,5,{hms2secs(sunset_rel("NAUTIC"))/2},5:0


P.S. Ich weiss, dass ich die dedizierten set commands mehr FHEM Last erzeugen als kommaseparierte
aber das war mir fürs erste zu unübersichtlich. Wenn ich mal wieder Zeit übrig habe räum´ ich auf...  :)
Raspberry Pi | HMUART | HMLAN | JeeLink | HUE | Z-WAVE.ME | HM-LC-Bl1PBU-FM | HM-PB-2-WM55 HM-CC-RT-DN | HM-LC-SW4-SM | HM-WDS10-TH-O HM-WDS30-T-O | HM-LC-SW4-DR | HM-Sen-MDIR-O-2 | HM-SEC-SCo |  Technoline TX 29 DT-HT|

Per

Zitat von: fast-eddy am 28 September 2018, 15:50:07So ich noch mal - Es rennt....!die dedizierten set commands mehr FHEM Last erzeugen als kommaseparierte
Da du mit wait arbeitest, wirst du noch ohne auskommen.