Wakeup Licht mit Shelly Dimmer

Begonnen von psycho160, 27 Januar 2020, 09:49:25

Vorheriges Thema - Nächstes Thema

psycho160

Hi,
bin etwas von Homematic verwöhnt, da konnte man [Ziel-Helligkeit] [wie lange Ein] [Zeitdauer zum anfahren der Zielhelligkeit] mit einem set an den Aktor übergeben und somit ein langsames "hochdimmen" in der Früh als Wecker verwenden.

Da ich nun aber Homematic duch Shelly abgelöst habe (was übrigens top funtioniert), ist das der einzige Punkt woch ich nachbessern muss. Dazu bräuchte ich eure Ratschläge:

Der Shelly Dimmer kann nur einen Helligkeitswert entgegennehmen und fährt diesen direkt an. Jetzt dacht ich mir ich schicke einfach alle paar Sekunden einen neuen Wert an den Dimmer und erreiche somit auch ein ganz langsames hochdimmen.

Die Frage ist nun, wie das in FHEM am schönsten gelöst werden kann. Entweder über 20 oder 30 "at" Befehle alle 5 Sekunden, oder über eine Schleife (dan blockiert FHEM vermutlich aber...)
Oder macht ein "at" um z.B 06:00 in der Früh sinn, das ein weiters "at" mit +*00:00:05 anlegt was mir die Helligkeit erhöht?

Was meint ihr? Bitte um Tipps
- 2013@FHEM - 2020 Setup: Pi 4 4GB Systeme: Shelly, Tasmota, Zigbee und mittlerweile nur noch wenig Homematic. Entwicker von: tado-FHEM Modul (perlcritic 3 ^^)(https://git.wolfmajer.at/Public/FHEM-Tado)

Byte09

#1
Zitat von: psycho160 am 27 Januar 2020, 09:49:25
Hi,
bin etwas von Homematic verwöhnt, da konnte man [Ziel-Helligkeit] [wie lange Ein] [Zeitdauer zum anfahren der Zielhelligkeit] mit einem set an den Aktor übergeben und somit ein langsames "hochdimmen" in der Früh als Wecker verwenden.

Da ich nun aber Homematic duch Shelly abgelöst habe (was übrigens top funtioniert), ist das der einzige Punkt woch ich nachbessern muss. Dazu bräuchte ich eure Ratschläge:

Der Shelly Dimmer kann nur einen Helligkeitswert entgegennehmen und fährt diesen direkt an. Jetzt dacht ich mir ich schicke einfach alle paar Sekunden einen neuen Wert an den Dimmer und erreiche somit auch ein ganz langsames hochdimmen.

Die Frage ist nun, wie das in FHEM am schönsten gelöst werden kann. Entweder über 20 oder 30 "at" Befehle alle 5 Sekunden, oder über eine Schleife (dan blockiert FHEM vermutlich aber...)
Oder macht ein "at" um z.B 06:00 in der Früh sinn, das ein weiters "at" mit +*00:00:05 anlegt was mir die Helligkeit erhöht?

Was meint ihr? Bitte um Tipps

wie wird die helligkeit gesetzt bei shelly ( habe ich nicht in benutzung ) ? mit set pct ... ?

gruss Byte09

edit: wenn es mit set pct XXX ansprechbar ist könntest du angehägtes MSwitch versuchen.

dort müsstest du nur das 'Auslösendes Gerät' auf den shelly ändern und mit 'trigger speichern' bestätigen. Danach sollte es bereits funtionieren und ist über alexa ansprechbar ( falls vorhanden ) .

wenn das attribut 'genericDeviceType' bei di nicht global vorhanden ist ( alexa ) müsstest du dieses aus der definition nehman, sonst wird es beim einspielen einen fehler geben.

Dieses solltenicht bei Homematic Komponenten eingesetzt werden ( Funklast - Beschränkung )

gruss Byte09

defmod Slowdimmer MSwitch HUEGroup0 # MSwitch_Self FreeCmd
attr Slowdimmer userattr setcmd
attr Slowdimmer MSwitch_Comments 0
attr Slowdimmer MSwitch_Debug 0
attr Slowdimmer MSwitch_DeleteCMDs automatic
attr Slowdimmer MSwitch_Delete_Delays 1
attr Slowdimmer MSwitch_Event_Id_Distributor MSwitch_Self:pct:.*=>cmd1 ID 1\
MSwitch_Self:stop.*=>cmd1 ID 3\
^pct:.*=>cmd1 ID 2\

attr Slowdimmer MSwitch_Eventhistory 10
attr Slowdimmer MSwitch_Expert 1
attr Slowdimmer MSwitch_Extensions 0
attr Slowdimmer MSwitch_Help 0
attr Slowdimmer MSwitch_Ignore_Types "TYPE=(.*):s=[ATTR:$SELF:setcmd]"
attr Slowdimmer MSwitch_Include_Devicecmds 1
attr Slowdimmer MSwitch_Include_MSwitchcmds 0
attr Slowdimmer MSwitch_Include_Webcmds 0
attr Slowdimmer MSwitch_Inforoom MSwitch
attr Slowdimmer MSwitch_Language DE
attr Slowdimmer MSwitch_Lock_Quickedit 1
attr Slowdimmer MSwitch_Mode Full
attr Slowdimmer MSwitch_Selftrigger_always 1
attr Slowdimmer MSwitch_Startdelay 10
attr Slowdimmer MSwitch_generate_Events 0
attr Slowdimmer alexaName Slowdimmer
attr Slowdimmer devStateIcon {     my $state    = ReadingsVal( $name, "akt_driving", "" );;     my $statepct = ReadingsVal( $name, "pct",         0 );; $statepct = 0 if  ReadingsVal( $name, "state",0 ) eq "off";;      return '<div><img src="/fhem/images/default/dimup.png">'       . sprintf( " %2.2d", ReadingsNum( $name, "target_next", 0 ) )       . '</div>'       if ( $state eq "dimming-up" );;     return '<div><img src="/fhem/images/default/dimdown.png">'       . sprintf( " %2.2d", ReadingsNum( $name, "target_next", 0 ) )       . '</div>'       if ( $state eq "dimming-down" );;     return '<div><img src="/fhem/images/default/on.png">'       . sprintf( " %2.2d", ReadingsNum( $name, "target_next", 0 ) )       . '</div>'       if ( $statepct =~ m/(^100$)/ );;     return '<div><img src="/fhem/images/default/dim56%.png">'       . sprintf( " %2.2d", ReadingsNum( $name, "target_next", 0 ) )       . '</div>'       if ( $statepct =~ m/(^[0-9]{3}|[0-9]{2}|[1-9]{1}$)/ );;     return '<div><img src="/fhem/images/default/off.png">'       . sprintf( " %2.2d", ReadingsNum( $name, "target_next", 0 ) )       . '</div>'       if ( $statepct =~ m/(^00|0$)/ );; }
attr Slowdimmer eventMap /stop on:dimming-stop/
attr Slowdimmer genericDeviceType light
attr Slowdimmer readingList autostop pct target_is intervall_time intervall_percent targ_next target_ewrartet akt_driving stop
attr Slowdimmer room 01_Test->Slowdimmer,alexa
attr Slowdimmer setList on off autostop:on,off pct:slider,0,1,100 target_is intervall_time:00:00:01,00:00:02,00:00:03,00:00:04,00:00:05,00:00:10,00:00:15,00:00:30,00:00:45,00:01:00 intervall_percent:1,2,3,4,5,6,7,8,9,10,20,30,40,50,100 tar_next target_ewrartet akt_driving stop:stop
attr Slowdimmer setcmd pct
attr Slowdimmer webCmd on:off:dimming-stop:pct:intervall_time:intervall_percent:autostop

setstate Slowdimmer on
setstate Slowdimmer 2019-10-26 18:06:17 .Device_Affected FreeCmd-AbsCmd1,FreeCmd-AbsCmd2,FreeCmd-AbsCmd3,FreeCmd-AbsCmd4,MSwitch_Self-AbsCmd1,MSwitch_Self-AbsCmd2,MSwitch_Self-AbsCmd3
setstate Slowdimmer 2020-01-27 10:06:33 .Device_Affected_Details FreeCmd-AbsCmd1#[NF]undefined#[NF]cmd#[NF]{#[nl]my#[sp]$device#[sp]=#[sp]"[$SELF#[dp]Trigger_device]"#[se]#[nl]my#[sp]$driving#[sp]=#[sp]"[$SELF#[dp]akt_driving]"#[se]#[nl]my#[sp]$targis#[sp]=#[sp]ReadingsNum($device#[ko]"pct"#[ko]"0")#[se]#[sp]#[nl]my#[sp]$targsoll#[sp]=#[sp]"[$SELF#[dp]pct]"#[se]#[nl]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"state"#[ko]"on"#[ko]#[sp]1#[sp])#[se]#[nl]#[nl]#[nl]if#[sp]($targsoll#[sp]eq#[sp]$targis#[sp])#[sp]{$targsoll#[sp]=#[sp]"[$SELF#[dp]EVTPART3]"#[se]}#[nl]#[nl]if#[sp]($targsoll#[sp]eq#[sp]$targis#[sp])#[nl]{#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"akt_driving"#[ko]"dimming_none"#[ko]#[sp]1#[sp])#[sp]if#[sp]$driving#[sp]ne#[sp]"dimming_none"#[se]#[nl]}#[nl]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_is"#[ko]"$targis"#[ko]#[sp]1#[sp])#[se]#[nl]#[nl]Log3(#[sp]"test"#[ko]#[sp]5#[ko]#[sp]"targis#[sp]$targis"#[sp])#[se]#[nl]Log3(#[sp]"test"#[ko]#[sp]5#[ko]#[sp]"targsoll#[sp]$targsoll"#[sp])#[se]#[nl]#[nl]#[nl]my#[sp]$step#[sp]=#[sp]"[$SELF#[dp]intervall_percent]"#[se]#[nl]my#[sp]$targ_cmd#[sp]=#[sp]AttrVal(#[sp]"$SELF"#[ko]#[sp]'setcmd'#[ko]#[sp]'pct'#[sp])#[se]#[sp]#[nl]my#[sp]$targnext#[sp]=#[sp]$targsoll#[se]#[nl]my#[sp]$targerwartet#[sp]=#[sp]$targsoll#[se]#[nl]#[nl]if#[sp]($targis#[sp]<#[sp]$targsoll)#[nl]#[sp]{#[nl]#[sp]#[sp]$targnext#[sp]=#[sp]$targis+$step#[se]#[nl]#[sp]#[sp]$targerwartet#[sp]=$targnext+$step#[se]#[nl]#[sp]#[sp]$targnext#[sp]=#[sp]$targsoll#[sp]if#[sp]$targnext#[sp]>#[sp]$targsoll#[se]#[nl]#[nl]#[sp]#[sp]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"akt_driving"#[ko]"dimming-up"#[ko]#[sp]1#[sp])#[sp]if#[sp]$driving#[sp]ne#[sp]"dimming-up"#[se]#[nl]#[nl]#[nl]#[sp]}#[nl]elsif#[sp]($targis#[sp]>#[sp]$targsoll)#[nl]#[sp]{#[nl]#[sp]#[sp]$targnext#[sp]=#[sp]$targis-$step#[se]#[nl]#[sp]#[sp]$targerwartet#[sp]=$targnext-$step#[se]#[nl]#[sp]#[sp]$targnext#[sp]=#[sp]$targsoll#[sp]if#[sp]$targnext#[sp]<#[sp]$targsoll#[se]#[nl]#[nl]#[sp]#[sp]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"akt_driving"#[ko]"dimming-down"#[ko]#[sp]1#[sp])#[sp]if#[sp]$driving#[sp]ne#[sp]"dimming-down"#[se]#[nl]#[sp]}#[nl]#[nl]$targnext#[sp]=#[sp]100#[sp]if#[sp]$targnext#[sp]>#[sp]100#[se]#[nl]$targnext#[sp]=#[sp]0#[sp]if#[sp]$targnext#[sp]<#[sp]0#[se]#[nl]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_next"#[ko]"$targnext"#[ko]#[sp]1#[sp])#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_ewrartet"#[ko]"$targerwartet#[sp]"#[ko]#[sp]1#[sp])#[se]#[nl]fhem("set#[sp]$device#[sp]$targ_cmd#[sp]$targnext")#[sp]#[se]#[nl]#[nl]Log3(#[sp]"test"#[ko]#[sp]5#[ko]#[sp]"set#[sp]$device#[sp]$targ_cmd#[sp]$targnext"#[sp])#[se]#[nl]Log3(#[sp]"test"#[ko]#[sp]5#[ko]#[sp]"------------------"#[sp])#[se]#[nl]#[nl]#[nl]return#[se]#[nl]}#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[ND]FreeCmd-AbsCmd2#[NF]undefined#[NF]cmd#[NF]{#[nl]fhem("set#[sp]$SELF#[sp]del_delays")#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"pct"#[ko]"[$SELF#[dp]EVTPART3]"#[ko]#[sp]1#[sp])#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_next"#[ko]"[$SELF#[dp]EVTPART3]"#[ko]#[sp]1#[sp])#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_is"#[ko]"[$SELF#[dp]EVTPART3]"#[ko]#[sp]1#[sp])#[se]#[nl]}#[nl]#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]target_next]#[sp]ne#[sp][$SELF#[dp]EVTPART3]#[sp]AND#[sp][$SELF#[dp]autostop]#[sp]eq#[sp]"on"#[NF]#[NF]0#[NF]0#[NF]1#[NF]2#[NF]#[NF]0#[NF]0#[NF]4#[NF]1#[ND]FreeCmd-AbsCmd3#[NF]undefined#[NF]cmd#[NF]{#[nl]fhem("set#[sp]$SELF#[sp]del_delays")#[sp]#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"pct"#[ko]"[$SELF#[dp]target_next]"#[ko]#[sp]1#[sp])#[se]#[nl]#readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_next"#[ko]"[$SELF#[dp]EVTPART3]"#[ko]#[sp]1#[sp])#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_is"#[ko]"[$SELF#[dp]target_next]"#[ko]#[sp]1#[sp])#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"akt_driving"#[ko]"dimming_none"#[ko]#[sp]1#[sp])#[se]#[nl]}#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]0#[NF]0#[NF]1#[NF]3#[NF]#[NF]0#[NF]0#[NF]5#[NF]1#[ND]FreeCmd-AbsCmd4#[NF]undefined#[NF]cmd#[NF]{#[nl]my#[sp]$device#[sp]=#[sp]"[$SELF#[dp]Trigger_device]"#[se]#[nl]fhem("set#[sp]$device#[sp]on")#[sp]#[se]#[nl]}#[NF]{#[nl]my#[sp]$device#[sp]=#[sp]"[$SELF#[dp]Trigger_device]"#[se]#[nl]fhem("set#[sp]$device#[sp]off")#[sp]#[se]#[nl]}#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]0#[NF]0#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[ND]MSwitch_Self-AbsCmd1#[NF]exec_cmd_1#[NF]no_action#[NF]ID#[sp]1#[NF]#[NF]delay2#[NF]delay1#[NF][$SELF#[dp]intervall_time]#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]target_is]#[sp]ne#[sp][$SELF#[dp]pct]#[NF]#[NF]0#[NF]0#[NF]3#[NF]1#[NF]#[NF]0#[NF]0#[NF]3#[NF]1#[ND]MSwitch_Self-AbsCmd2#[NF]wait#[NF]no_action#[NF][$SELF#[dp]intervall_time]#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]autostop]#[sp]eq#[sp]"off"#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[ND]MSwitch_Self-AbsCmd3#[NF]wait#[NF]no_action#[NF]0.5#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]autostop]#[sp]eq#[sp]"on"#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[NF]#[NF]0#[NF]0#[NF]1#[NF]1
setstate Slowdimmer 2020-01-27 10:08:19 .Device_Events MSwitch_Self:pct:0#[tr]MSwitch_Self:pct:93#[tr]MSwitch_Self:stop:on#[tr]MSwitch_Self:pct:100
setstate Slowdimmer 2019-10-11 15:22:02 .First_init done
setstate Slowdimmer 2019-10-26 17:56:07 .Trigger_cmd_off no_trigger
setstate Slowdimmer 2019-10-26 17:56:07 .Trigger_cmd_on .*
setstate Slowdimmer 2020-01-27 10:03:37 .Trigger_condition "$EVENT"#[sp]=#[ti]#[sp]m/(pct#[pt]*)|(stop#[pt]*)/
setstate Slowdimmer 2019-10-26 17:56:07 .Trigger_off no_trigger
setstate Slowdimmer 2019-10-26 17:56:07 .Trigger_on no_trigger
setstate Slowdimmer 2020-01-27 10:03:37 .Trigger_time
setstate Slowdimmer 2019-10-11 15:22:02 .V_Check V2.00
setstate Slowdimmer 2019-10-13 07:18:26 .sortby show
setstate Slowdimmer 2020-01-27 10:08:19 EVENT MSwitch_Self:stop:on
setstate Slowdimmer 2020-01-27 10:08:19 EVTFULL MSwitch_Self:stop:on
setstate Slowdimmer 2020-01-27 10:08:19 EVTPART1 MSwitch_Self
setstate Slowdimmer 2020-01-27 10:08:19 EVTPART2 stop
setstate Slowdimmer 2020-01-27 10:08:19 EVTPART3 on
setstate Slowdimmer 2020-01-27 10:03:37 Trigger_device HUEGroup0
setstate Slowdimmer 2019-10-26 17:56:07 Trigger_log on
setstate Slowdimmer 2020-01-27 10:08:19 akt_driving dimming_none
setstate Slowdimmer 2019-10-29 16:53:26 autostop on
setstate Slowdimmer 2019-11-03 13:34:38 intervall_percent 5
setstate Slowdimmer 2020-01-27 10:07:57 intervall_time 00:00:02
setstate Slowdimmer 2020-01-27 10:08:19 last_activation_by event
setstate Slowdimmer 2020-01-27 10:08:19 last_cmd 1
setstate Slowdimmer 2020-01-27 10:08:19 last_event MSwitch_Self:stop:on
setstate Slowdimmer 2020-01-27 10:08:19 last_exec_cmd   {fhem("set Slowdimmer del_delays") ;;readingsSingleUpdate( $hash, "pct","45", 1 );;readingsSingleUpd....
setstate Slowdimmer 2020-01-27 10:08:19 pct 45
setstate Slowdimmer 2020-01-27 10:08:18 state on
setstate Slowdimmer 2020-01-27 10:08:19 stop on
setstate Slowdimmer 2019-10-13 08:45:04 stop.*
setstate Slowdimmer 2020-01-27 10:08:18 target_ewrartet 50
setstate Slowdimmer 2020-01-27 10:08:19 target_is 45
setstate Slowdimmer 2020-01-27 10:08:18 target_next 45



psycho160

Zitatwie wird die helligkeit gesetzt bei shelly ( habe ich nicht in benutzung ) ? mit set pct ... ?

ja genau so ist es.

Danke für den Tipp, das muss ich mir mal genauer ansehen, Mswitch sagt mir jetzt gar nix  ::)
- 2013@FHEM - 2020 Setup: Pi 4 4GB Systeme: Shelly, Tasmota, Zigbee und mittlerweile nur noch wenig Homematic. Entwicker von: tado-FHEM Modul (perlcritic 3 ^^)(https://git.wolfmajer.at/Public/FHEM-Tado)

Byte09

Zitat von: psycho160 am 27 Januar 2020, 10:38:59
ja genau so ist es.

Danke für den Tipp, das muss ich mir mal genauer ansehen, Mswitch sagt mir jetzt gar nix  ::)

dann sollte er so wie er ist funktionieren. rawdefinition einspielen , device ändern , fertig .
hoffe ich  ;)

gruss Byte09

psycho160

Zitat von: Byte09 am 27 Januar 2020, 10:41:13
dann sollte er so wie er ist funktionieren. rawdefinition einspielen , device ändern , fertig .
hoffe ich  ;)

gruss Byte09

ok danke, probiere ich. eine frage noch dazu. wo genau in deinem code wird definiert welche zielhelligkeit, und in welchen schritten diese angefahren wird?
- 2013@FHEM - 2020 Setup: Pi 4 4GB Systeme: Shelly, Tasmota, Zigbee und mittlerweile nur noch wenig Homematic. Entwicker von: tado-FHEM Modul (perlcritic 3 ^^)(https://git.wolfmajer.at/Public/FHEM-Tado)

Byte09

Zitat von: psycho160 am 27 Januar 2020, 10:44:11
ok danke, probiere ich. eine frage noch dazu. wo genau in deinem code wird definiert welche zielhelligkeit, und in welchen schritten diese angefahren wird?

siehst du wenn du es eingespielt hast .

gruss Byte09

edit: bitte an der rawdefinition nichsts ändern. MSwitch ist für eine Konfiguration komplett über webinterface ausgelegt.

psycho160

hab ich eingespielt, tut sich aber noch nix. muss mich da mal spielen

EDIT:
Das schreibt er noch
ACHTUNG: Der Safemodus hat eine Endlosschleife erkannt, welche zum Fhemabsturz führen könnte.
Dieses Device wurde automatisch deaktiviert ( ATTR 'disable') !

Was mir noch aufgefallen ist, pct 0 geht bei shelly nicht, 1 ist das mindeste
- 2013@FHEM - 2020 Setup: Pi 4 4GB Systeme: Shelly, Tasmota, Zigbee und mittlerweile nur noch wenig Homematic. Entwicker von: tado-FHEM Modul (perlcritic 3 ^^)(https://git.wolfmajer.at/Public/FHEM-Tado)

Byte09

Zitat von: psycho160 am 27 Januar 2020, 11:01:52
hab ich eingespielt, tut sich aber noch nix. muss mich da mal spielen

EDIT:
Das schreibt er noch
ACHTUNG: Der Safemodus hat eine Endlosschleife erkannt, welche zum Fhemabsturz führen könnte.
Dieses Device wurde automatisch deaktiviert ( ATTR 'disable') !

Was mir noch aufgefallen ist, pct 0 geht bei shelly nicht, 1 ist das mindeste

ok , das device hat sich abgeschaltet - da es eine endlosschleife erkannt hat. zeig mir bitte mal einen screenshot des gesamten devices.

gruss byte09

psycho160


defmod Slowdimmer MSwitch LD_SZ # MSwitch_Self FreeCmd
attr Slowdimmer userattr setcmd
attr Slowdimmer MSwitch_Comments 0
attr Slowdimmer MSwitch_Debug 0
attr Slowdimmer MSwitch_DeleteCMDs automatic
attr Slowdimmer MSwitch_Delete_Delays 1
attr Slowdimmer MSwitch_Event_Id_Distributor MSwitch_Self:pct:.*=>cmd1 ID 1\
MSwitch_Self:stop.*=>cmd1 ID 3\
^pct:.*=>cmd1 ID 2\

attr Slowdimmer MSwitch_Eventhistory 10
attr Slowdimmer MSwitch_Expert 1
attr Slowdimmer MSwitch_Extensions 0
attr Slowdimmer MSwitch_Help 0
attr Slowdimmer MSwitch_Ignore_Types "TYPE=(.*):s=[ATTR:$SELF:setcmd]"
attr Slowdimmer MSwitch_Include_Devicecmds 1
attr Slowdimmer MSwitch_Include_MSwitchcmds 0
attr Slowdimmer MSwitch_Include_Webcmds 0
attr Slowdimmer MSwitch_Inforoom MSwitch
attr Slowdimmer MSwitch_Language DE
attr Slowdimmer MSwitch_Lock_Quickedit 1
attr Slowdimmer MSwitch_Mode Full
attr Slowdimmer MSwitch_Safemode 1
attr Slowdimmer MSwitch_Selftrigger_always 1
attr Slowdimmer MSwitch_Startdelay 10
attr Slowdimmer MSwitch_generate_Events 0
attr Slowdimmer alexaName Slowdimmer
attr Slowdimmer devStateIcon {     my $state    = ReadingsVal( $name, "akt_driving", "" );;     my $statepct = ReadingsVal( $name, "pct",         0 );; $statepct = 0 if  ReadingsVal( $name, "state",0 ) eq "off";;      return '<div><img src="/fhem/images/default/dimup.png">'       . sprintf( " %2.2d", ReadingsNum( $name, "target_next", 0 ) )       . '</div>'       if ( $state eq "dimming-up" );;     return '<div><img src="/fhem/images/default/dimdown.png">'       . sprintf( " %2.2d", ReadingsNum( $name, "target_next", 0 ) )       . '</div>'       if ( $state eq "dimming-down" );;     return '<div><img src="/fhem/images/default/on.png">'       . sprintf( " %2.2d", ReadingsNum( $name, "target_next", 0 ) )       . '</div>'       if ( $statepct =~ m/(^100$)/ );;     return '<div><img src="/fhem/images/default/dim56%.png">'       . sprintf( " %2.2d", ReadingsNum( $name, "target_next", 0 ) )       . '</div>'       if ( $statepct =~ m/(^[0-9]{3}|[0-9]{2}|[1-9]{1}$)/ );;     return '<div><img src="/fhem/images/default/off.png">'       . sprintf( " %2.2d", ReadingsNum( $name, "target_next", 0 ) )       . '</div>'       if ( $statepct =~ m/(^00|0$)/ );; }
attr Slowdimmer disable 1
attr Slowdimmer eventMap /stop on:dimming-stop/
attr Slowdimmer genericDeviceType light
attr Slowdimmer readingList autostop pct target_is intervall_time intervall_percent targ_next target_ewrartet akt_driving stop
attr Slowdimmer room 01_Test->Slowdimmer,alexa
attr Slowdimmer setList on off autostop:on,off pct:slider,0,1,100 target_is intervall_time:00:00:01,00:00:02,00:00:03,00:00:04,00:00:05,00:00:10,00:00:15,00:00:30,00:00:45,00:01:00 intervall_percent:1,2,3,4,5,6,7,8,9,10,20,30,40,50,100 tar_next target_ewrartet akt_driving stop:stop
attr Slowdimmer setcmd pct
attr Slowdimmer webCmd on:off:dimming-stop:pct:intervall_time:intervall_percent:autostop

setstate Slowdimmer on
setstate Slowdimmer 2020-01-27 10:47:24 .Device_Affected no_device
setstate Slowdimmer 2020-01-27 10:06:33 .Device_Affected_Details FreeCmd-AbsCmd1#[NF]undefined#[NF]cmd#[NF]{#[nl]my#[sp]$device#[sp]=#[sp]"[$SELF#[dp]Trigger_device]"#[se]#[nl]my#[sp]$driving#[sp]=#[sp]"[$SELF#[dp]akt_driving]"#[se]#[nl]my#[sp]$targis#[sp]=#[sp]ReadingsNum($device#[ko]"pct"#[ko]"0")#[se]#[sp]#[nl]my#[sp]$targsoll#[sp]=#[sp]"[$SELF#[dp]pct]"#[se]#[nl]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"state"#[ko]"on"#[ko]#[sp]1#[sp])#[se]#[nl]#[nl]#[nl]if#[sp]($targsoll#[sp]eq#[sp]$targis#[sp])#[sp]{$targsoll#[sp]=#[sp]"[$SELF#[dp]EVTPART3]"#[se]}#[nl]#[nl]if#[sp]($targsoll#[sp]eq#[sp]$targis#[sp])#[nl]{#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"akt_driving"#[ko]"dimming_none"#[ko]#[sp]1#[sp])#[sp]if#[sp]$driving#[sp]ne#[sp]"dimming_none"#[se]#[nl]}#[nl]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_is"#[ko]"$targis"#[ko]#[sp]1#[sp])#[se]#[nl]#[nl]Log3(#[sp]"test"#[ko]#[sp]5#[ko]#[sp]"targis#[sp]$targis"#[sp])#[se]#[nl]Log3(#[sp]"test"#[ko]#[sp]5#[ko]#[sp]"targsoll#[sp]$targsoll"#[sp])#[se]#[nl]#[nl]#[nl]my#[sp]$step#[sp]=#[sp]"[$SELF#[dp]intervall_percent]"#[se]#[nl]my#[sp]$targ_cmd#[sp]=#[sp]AttrVal(#[sp]"$SELF"#[ko]#[sp]'setcmd'#[ko]#[sp]'pct'#[sp])#[se]#[sp]#[nl]my#[sp]$targnext#[sp]=#[sp]$targsoll#[se]#[nl]my#[sp]$targerwartet#[sp]=#[sp]$targsoll#[se]#[nl]#[nl]if#[sp]($targis#[sp]<#[sp]$targsoll)#[nl]#[sp]{#[nl]#[sp]#[sp]$targnext#[sp]=#[sp]$targis+$step#[se]#[nl]#[sp]#[sp]$targerwartet#[sp]=$targnext+$step#[se]#[nl]#[sp]#[sp]$targnext#[sp]=#[sp]$targsoll#[sp]if#[sp]$targnext#[sp]>#[sp]$targsoll#[se]#[nl]#[nl]#[sp]#[sp]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"akt_driving"#[ko]"dimming-up"#[ko]#[sp]1#[sp])#[sp]if#[sp]$driving#[sp]ne#[sp]"dimming-up"#[se]#[nl]#[nl]#[nl]#[sp]}#[nl]elsif#[sp]($targis#[sp]>#[sp]$targsoll)#[nl]#[sp]{#[nl]#[sp]#[sp]$targnext#[sp]=#[sp]$targis-$step#[se]#[nl]#[sp]#[sp]$targerwartet#[sp]=$targnext-$step#[se]#[nl]#[sp]#[sp]$targnext#[sp]=#[sp]$targsoll#[sp]if#[sp]$targnext#[sp]<#[sp]$targsoll#[se]#[nl]#[nl]#[sp]#[sp]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"akt_driving"#[ko]"dimming-down"#[ko]#[sp]1#[sp])#[sp]if#[sp]$driving#[sp]ne#[sp]"dimming-down"#[se]#[nl]#[sp]}#[nl]#[nl]$targnext#[sp]=#[sp]100#[sp]if#[sp]$targnext#[sp]>#[sp]100#[se]#[nl]$targnext#[sp]=#[sp]0#[sp]if#[sp]$targnext#[sp]<#[sp]0#[se]#[nl]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_next"#[ko]"$targnext"#[ko]#[sp]1#[sp])#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_ewrartet"#[ko]"$targerwartet#[sp]"#[ko]#[sp]1#[sp])#[se]#[nl]fhem("set#[sp]$device#[sp]$targ_cmd#[sp]$targnext")#[sp]#[se]#[nl]#[nl]Log3(#[sp]"test"#[ko]#[sp]5#[ko]#[sp]"set#[sp]$device#[sp]$targ_cmd#[sp]$targnext"#[sp])#[se]#[nl]Log3(#[sp]"test"#[ko]#[sp]5#[ko]#[sp]"------------------"#[sp])#[se]#[nl]#[nl]#[nl]return#[se]#[nl]}#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[ND]FreeCmd-AbsCmd2#[NF]undefined#[NF]cmd#[NF]{#[nl]fhem("set#[sp]$SELF#[sp]del_delays")#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"pct"#[ko]"[$SELF#[dp]EVTPART3]"#[ko]#[sp]1#[sp])#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_next"#[ko]"[$SELF#[dp]EVTPART3]"#[ko]#[sp]1#[sp])#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_is"#[ko]"[$SELF#[dp]EVTPART3]"#[ko]#[sp]1#[sp])#[se]#[nl]}#[nl]#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]target_next]#[sp]ne#[sp][$SELF#[dp]EVTPART3]#[sp]AND#[sp][$SELF#[dp]autostop]#[sp]eq#[sp]"on"#[NF]#[NF]0#[NF]0#[NF]1#[NF]2#[NF]#[NF]0#[NF]0#[NF]4#[NF]1#[ND]FreeCmd-AbsCmd3#[NF]undefined#[NF]cmd#[NF]{#[nl]fhem("set#[sp]$SELF#[sp]del_delays")#[sp]#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"pct"#[ko]"[$SELF#[dp]target_next]"#[ko]#[sp]1#[sp])#[se]#[nl]#readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_next"#[ko]"[$SELF#[dp]EVTPART3]"#[ko]#[sp]1#[sp])#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_is"#[ko]"[$SELF#[dp]target_next]"#[ko]#[sp]1#[sp])#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"akt_driving"#[ko]"dimming_none"#[ko]#[sp]1#[sp])#[se]#[nl]}#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]0#[NF]0#[NF]1#[NF]3#[NF]#[NF]0#[NF]0#[NF]5#[NF]1#[ND]FreeCmd-AbsCmd4#[NF]undefined#[NF]cmd#[NF]{#[nl]my#[sp]$device#[sp]=#[sp]"[$SELF#[dp]Trigger_device]"#[se]#[nl]fhem("set#[sp]$device#[sp]on")#[sp]#[se]#[nl]}#[NF]{#[nl]my#[sp]$device#[sp]=#[sp]"[$SELF#[dp]Trigger_device]"#[se]#[nl]fhem("set#[sp]$device#[sp]off")#[sp]#[se]#[nl]}#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]0#[NF]0#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[ND]MSwitch_Self-AbsCmd1#[NF]exec_cmd_1#[NF]no_action#[NF]ID#[sp]1#[NF]#[NF]delay2#[NF]delay1#[NF][$SELF#[dp]intervall_time]#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]target_is]#[sp]ne#[sp][$SELF#[dp]pct]#[NF]#[NF]0#[NF]0#[NF]3#[NF]1#[NF]#[NF]0#[NF]0#[NF]3#[NF]1#[ND]MSwitch_Self-AbsCmd2#[NF]wait#[NF]no_action#[NF][$SELF#[dp]intervall_time]#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]autostop]#[sp]eq#[sp]"off"#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[ND]MSwitch_Self-AbsCmd3#[NF]wait#[NF]no_action#[NF]0.5#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]autostop]#[sp]eq#[sp]"on"#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[NF]#[NF]0#[NF]0#[NF]1#[NF]1
setstate Slowdimmer 2020-01-27 10:47:24 .Device_Events no_trigger
setstate Slowdimmer 2020-01-27 10:47:24 .First_init done
setstate Slowdimmer 2020-01-27 10:47:24 .Trigger_cmd_off no_trigger
setstate Slowdimmer 2020-01-27 10:47:24 .Trigger_cmd_on no_trigger
setstate Slowdimmer 2020-01-27 10:03:37 .Trigger_condition "$EVENT"#[sp]=#[ti]#[sp]m/(pct#[pt]*)|(stop#[pt]*)/
setstate Slowdimmer 2020-01-27 10:47:24 .Trigger_off no_trigger
setstate Slowdimmer 2020-01-27 10:47:24 .Trigger_on no_trigger
setstate Slowdimmer 2020-01-27 10:03:37 .Trigger_time
setstate Slowdimmer 2020-01-27 10:47:24 .V_Check V2.00
setstate Slowdimmer 2019-10-13 07:18:26 .sortby show
setstate Slowdimmer 2020-01-27 10:57:03 EVENT pct:1
setstate Slowdimmer 2020-01-27 10:57:03 EVTFULL LD_SZ:pct:1
setstate Slowdimmer 2020-01-27 10:57:03 EVTPART1 LD_SZ
setstate Slowdimmer 2020-01-27 10:57:03 EVTPART2 pct
setstate Slowdimmer 2020-01-27 10:57:03 EVTPART3 1
setstate Slowdimmer 2020-01-27 10:57:10 Safemode on
setstate Slowdimmer 2020-01-27 10:47:24 Trigger_device LD_SZ
setstate Slowdimmer 2020-01-27 10:47:24 Trigger_log off
setstate Slowdimmer 2020-01-27 10:08:19 akt_driving dimming_none
setstate Slowdimmer 2020-01-27 10:53:24 autostop on
setstate Slowdimmer 2020-01-27 10:59:59 intervall_percent 50
setstate Slowdimmer 2020-01-27 10:57:45 intervall_time 00:01:00
setstate Slowdimmer 2020-01-27 10:57:10 last_activation_by event
setstate Slowdimmer 2020-01-27 10:08:19 last_cmd 1
setstate Slowdimmer 2020-01-27 10:57:03 last_event pct:1
setstate Slowdimmer 2020-01-27 10:08:19 last_exec_cmd {fhem("set Slowdimmer del_delays") ;;readingsSingleUpdate( $hash, "pct","45", 1 );;readingsSingleUpd....
setstate Slowdimmer 2020-01-27 10:58:56 pct 23
setstate Slowdimmer 2020-01-27 10:53:35 state on
setstate Slowdimmer 2020-01-27 10:08:19 stop on
setstate Slowdimmer 2019-10-13 08:45:04 stop.*
setstate Slowdimmer 2020-01-27 10:08:18 target_ewrartet 50
setstate Slowdimmer 2020-01-27 10:08:19 target_is 45
setstate Slowdimmer 2020-01-27 10:08:18 target_next 45
- 2013@FHEM - 2020 Setup: Pi 4 4GB Systeme: Shelly, Tasmota, Zigbee und mittlerweile nur noch wenig Homematic. Entwicker von: tado-FHEM Modul (perlcritic 3 ^^)(https://git.wolfmajer.at/Public/FHEM-Tado)

Byte09

Zitat von: psycho160 am 27 Januar 2020, 11:10:18

defmod Slowdimmer MSwitch LD_SZ # MSwitch_Self FreeCmd
attr Slowdimmer userattr setcmd
attr Slowdimmer MSwitch_Comments 0
attr Slowdimmer MSwitch_Debug 0
attr Slowdimmer MSwitch_DeleteCMDs automatic
attr Slowdimmer MSwitch_Delete_Delays 1
attr Slowdimmer MSwitch_Event_Id_Distributor MSwitch_Self:pct:.*=>cmd1 ID 1\
MSwitch_Self:stop.*=>cmd1 ID 3\
^pct:.*=>cmd1 ID 2\

attr Slowdimmer MSwitch_Eventhistory 10
attr Slowdimmer MSwitch_Expert 1
attr Slowdimmer MSwitch_Extensions 0
attr Slowdimmer MSwitch_Help 0
attr Slowdimmer MSwitch_Ignore_Types "TYPE=(.*):s=[ATTR:$SELF:setcmd]"
attr Slowdimmer MSwitch_Include_Devicecmds 1
attr Slowdimmer MSwitch_Include_MSwitchcmds 0
attr Slowdimmer MSwitch_Include_Webcmds 0
attr Slowdimmer MSwitch_Inforoom MSwitch
attr Slowdimmer MSwitch_Language DE
attr Slowdimmer MSwitch_Lock_Quickedit 1
attr Slowdimmer MSwitch_Mode Full
attr Slowdimmer MSwitch_Safemode 1
attr Slowdimmer MSwitch_Selftrigger_always 1
attr Slowdimmer MSwitch_Startdelay 10
attr Slowdimmer MSwitch_generate_Events 0
attr Slowdimmer alexaName Slowdimmer
attr Slowdimmer devStateIcon {     my $state    = ReadingsVal( $name, "akt_driving", "" );;     my $statepct = ReadingsVal( $name, "pct",         0 );; $statepct = 0 if  ReadingsVal( $name, "state",0 ) eq "off";;      return '<div><img src="/fhem/images/default/dimup.png">'       . sprintf( " %2.2d", ReadingsNum( $name, "target_next", 0 ) )       . '</div>'       if ( $state eq "dimming-up" );;     return '<div><img src="/fhem/images/default/dimdown.png">'       . sprintf( " %2.2d", ReadingsNum( $name, "target_next", 0 ) )       . '</div>'       if ( $state eq "dimming-down" );;     return '<div><img src="/fhem/images/default/on.png">'       . sprintf( " %2.2d", ReadingsNum( $name, "target_next", 0 ) )       . '</div>'       if ( $statepct =~ m/(^100$)/ );;     return '<div><img src="/fhem/images/default/dim56%.png">'       . sprintf( " %2.2d", ReadingsNum( $name, "target_next", 0 ) )       . '</div>'       if ( $statepct =~ m/(^[0-9]{3}|[0-9]{2}|[1-9]{1}$)/ );;     return '<div><img src="/fhem/images/default/off.png">'       . sprintf( " %2.2d", ReadingsNum( $name, "target_next", 0 ) )       . '</div>'       if ( $statepct =~ m/(^00|0$)/ );; }
attr Slowdimmer disable 1
attr Slowdimmer eventMap /stop on:dimming-stop/
attr Slowdimmer genericDeviceType light
attr Slowdimmer readingList autostop pct target_is intervall_time intervall_percent targ_next target_ewrartet akt_driving stop
attr Slowdimmer room 01_Test->Slowdimmer,alexa
attr Slowdimmer setList on off autostop:on,off pct:slider,0,1,100 target_is intervall_time:00:00:01,00:00:02,00:00:03,00:00:04,00:00:05,00:00:10,00:00:15,00:00:30,00:00:45,00:01:00 intervall_percent:1,2,3,4,5,6,7,8,9,10,20,30,40,50,100 tar_next target_ewrartet akt_driving stop:stop
attr Slowdimmer setcmd pct
attr Slowdimmer webCmd on:off:dimming-stop:pct:intervall_time:intervall_percent:autostop

setstate Slowdimmer on
setstate Slowdimmer 2020-01-27 10:47:24 .Device_Affected no_device
setstate Slowdimmer 2020-01-27 10:06:33 .Device_Affected_Details FreeCmd-AbsCmd1#[NF]undefined#[NF]cmd#[NF]{#[nl]my#[sp]$device#[sp]=#[sp]"[$SELF#[dp]Trigger_device]"#[se]#[nl]my#[sp]$driving#[sp]=#[sp]"[$SELF#[dp]akt_driving]"#[se]#[nl]my#[sp]$targis#[sp]=#[sp]ReadingsNum($device#[ko]"pct"#[ko]"0")#[se]#[sp]#[nl]my#[sp]$targsoll#[sp]=#[sp]"[$SELF#[dp]pct]"#[se]#[nl]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"state"#[ko]"on"#[ko]#[sp]1#[sp])#[se]#[nl]#[nl]#[nl]if#[sp]($targsoll#[sp]eq#[sp]$targis#[sp])#[sp]{$targsoll#[sp]=#[sp]"[$SELF#[dp]EVTPART3]"#[se]}#[nl]#[nl]if#[sp]($targsoll#[sp]eq#[sp]$targis#[sp])#[nl]{#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"akt_driving"#[ko]"dimming_none"#[ko]#[sp]1#[sp])#[sp]if#[sp]$driving#[sp]ne#[sp]"dimming_none"#[se]#[nl]}#[nl]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_is"#[ko]"$targis"#[ko]#[sp]1#[sp])#[se]#[nl]#[nl]Log3(#[sp]"test"#[ko]#[sp]5#[ko]#[sp]"targis#[sp]$targis"#[sp])#[se]#[nl]Log3(#[sp]"test"#[ko]#[sp]5#[ko]#[sp]"targsoll#[sp]$targsoll"#[sp])#[se]#[nl]#[nl]#[nl]my#[sp]$step#[sp]=#[sp]"[$SELF#[dp]intervall_percent]"#[se]#[nl]my#[sp]$targ_cmd#[sp]=#[sp]AttrVal(#[sp]"$SELF"#[ko]#[sp]'setcmd'#[ko]#[sp]'pct'#[sp])#[se]#[sp]#[nl]my#[sp]$targnext#[sp]=#[sp]$targsoll#[se]#[nl]my#[sp]$targerwartet#[sp]=#[sp]$targsoll#[se]#[nl]#[nl]if#[sp]($targis#[sp]<#[sp]$targsoll)#[nl]#[sp]{#[nl]#[sp]#[sp]$targnext#[sp]=#[sp]$targis+$step#[se]#[nl]#[sp]#[sp]$targerwartet#[sp]=$targnext+$step#[se]#[nl]#[sp]#[sp]$targnext#[sp]=#[sp]$targsoll#[sp]if#[sp]$targnext#[sp]>#[sp]$targsoll#[se]#[nl]#[nl]#[sp]#[sp]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"akt_driving"#[ko]"dimming-up"#[ko]#[sp]1#[sp])#[sp]if#[sp]$driving#[sp]ne#[sp]"dimming-up"#[se]#[nl]#[nl]#[nl]#[sp]}#[nl]elsif#[sp]($targis#[sp]>#[sp]$targsoll)#[nl]#[sp]{#[nl]#[sp]#[sp]$targnext#[sp]=#[sp]$targis-$step#[se]#[nl]#[sp]#[sp]$targerwartet#[sp]=$targnext-$step#[se]#[nl]#[sp]#[sp]$targnext#[sp]=#[sp]$targsoll#[sp]if#[sp]$targnext#[sp]<#[sp]$targsoll#[se]#[nl]#[nl]#[sp]#[sp]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"akt_driving"#[ko]"dimming-down"#[ko]#[sp]1#[sp])#[sp]if#[sp]$driving#[sp]ne#[sp]"dimming-down"#[se]#[nl]#[sp]}#[nl]#[nl]$targnext#[sp]=#[sp]100#[sp]if#[sp]$targnext#[sp]>#[sp]100#[se]#[nl]$targnext#[sp]=#[sp]0#[sp]if#[sp]$targnext#[sp]<#[sp]0#[se]#[nl]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_next"#[ko]"$targnext"#[ko]#[sp]1#[sp])#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_ewrartet"#[ko]"$targerwartet#[sp]"#[ko]#[sp]1#[sp])#[se]#[nl]fhem("set#[sp]$device#[sp]$targ_cmd#[sp]$targnext")#[sp]#[se]#[nl]#[nl]Log3(#[sp]"test"#[ko]#[sp]5#[ko]#[sp]"set#[sp]$device#[sp]$targ_cmd#[sp]$targnext"#[sp])#[se]#[nl]Log3(#[sp]"test"#[ko]#[sp]5#[ko]#[sp]"------------------"#[sp])#[se]#[nl]#[nl]#[nl]return#[se]#[nl]}#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[ND]FreeCmd-AbsCmd2#[NF]undefined#[NF]cmd#[NF]{#[nl]fhem("set#[sp]$SELF#[sp]del_delays")#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"pct"#[ko]"[$SELF#[dp]EVTPART3]"#[ko]#[sp]1#[sp])#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_next"#[ko]"[$SELF#[dp]EVTPART3]"#[ko]#[sp]1#[sp])#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_is"#[ko]"[$SELF#[dp]EVTPART3]"#[ko]#[sp]1#[sp])#[se]#[nl]}#[nl]#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]target_next]#[sp]ne#[sp][$SELF#[dp]EVTPART3]#[sp]AND#[sp][$SELF#[dp]autostop]#[sp]eq#[sp]"on"#[NF]#[NF]0#[NF]0#[NF]1#[NF]2#[NF]#[NF]0#[NF]0#[NF]4#[NF]1#[ND]FreeCmd-AbsCmd3#[NF]undefined#[NF]cmd#[NF]{#[nl]fhem("set#[sp]$SELF#[sp]del_delays")#[sp]#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"pct"#[ko]"[$SELF#[dp]target_next]"#[ko]#[sp]1#[sp])#[se]#[nl]#readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_next"#[ko]"[$SELF#[dp]EVTPART3]"#[ko]#[sp]1#[sp])#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_is"#[ko]"[$SELF#[dp]target_next]"#[ko]#[sp]1#[sp])#[se]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"akt_driving"#[ko]"dimming_none"#[ko]#[sp]1#[sp])#[se]#[nl]}#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]0#[NF]0#[NF]1#[NF]3#[NF]#[NF]0#[NF]0#[NF]5#[NF]1#[ND]FreeCmd-AbsCmd4#[NF]undefined#[NF]cmd#[NF]{#[nl]my#[sp]$device#[sp]=#[sp]"[$SELF#[dp]Trigger_device]"#[se]#[nl]fhem("set#[sp]$device#[sp]on")#[sp]#[se]#[nl]}#[NF]{#[nl]my#[sp]$device#[sp]=#[sp]"[$SELF#[dp]Trigger_device]"#[se]#[nl]fhem("set#[sp]$device#[sp]off")#[sp]#[se]#[nl]}#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]0#[NF]0#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[ND]MSwitch_Self-AbsCmd1#[NF]exec_cmd_1#[NF]no_action#[NF]ID#[sp]1#[NF]#[NF]delay2#[NF]delay1#[NF][$SELF#[dp]intervall_time]#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]target_is]#[sp]ne#[sp][$SELF#[dp]pct]#[NF]#[NF]0#[NF]0#[NF]3#[NF]1#[NF]#[NF]0#[NF]0#[NF]3#[NF]1#[ND]MSwitch_Self-AbsCmd2#[NF]wait#[NF]no_action#[NF][$SELF#[dp]intervall_time]#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]autostop]#[sp]eq#[sp]"off"#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[ND]MSwitch_Self-AbsCmd3#[NF]wait#[NF]no_action#[NF]0.5#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]autostop]#[sp]eq#[sp]"on"#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[NF]#[NF]0#[NF]0#[NF]1#[NF]1
setstate Slowdimmer 2020-01-27 10:47:24 .Device_Events no_trigger
setstate Slowdimmer 2020-01-27 10:47:24 .First_init done
setstate Slowdimmer 2020-01-27 10:47:24 .Trigger_cmd_off no_trigger
setstate Slowdimmer 2020-01-27 10:47:24 .Trigger_cmd_on no_trigger
setstate Slowdimmer 2020-01-27 10:03:37 .Trigger_condition "$EVENT"#[sp]=#[ti]#[sp]m/(pct#[pt]*)|(stop#[pt]*)/
setstate Slowdimmer 2020-01-27 10:47:24 .Trigger_off no_trigger
setstate Slowdimmer 2020-01-27 10:47:24 .Trigger_on no_trigger
setstate Slowdimmer 2020-01-27 10:03:37 .Trigger_time
setstate Slowdimmer 2020-01-27 10:47:24 .V_Check V2.00
setstate Slowdimmer 2019-10-13 07:18:26 .sortby show
setstate Slowdimmer 2020-01-27 10:57:03 EVENT pct:1
setstate Slowdimmer 2020-01-27 10:57:03 EVTFULL LD_SZ:pct:1
setstate Slowdimmer 2020-01-27 10:57:03 EVTPART1 LD_SZ
setstate Slowdimmer 2020-01-27 10:57:03 EVTPART2 pct
setstate Slowdimmer 2020-01-27 10:57:03 EVTPART3 1
setstate Slowdimmer 2020-01-27 10:57:10 Safemode on
setstate Slowdimmer 2020-01-27 10:47:24 Trigger_device LD_SZ
setstate Slowdimmer 2020-01-27 10:47:24 Trigger_log off
setstate Slowdimmer 2020-01-27 10:08:19 akt_driving dimming_none
setstate Slowdimmer 2020-01-27 10:53:24 autostop on
setstate Slowdimmer 2020-01-27 10:59:59 intervall_percent 50
setstate Slowdimmer 2020-01-27 10:57:45 intervall_time 00:01:00
setstate Slowdimmer 2020-01-27 10:57:10 last_activation_by event
setstate Slowdimmer 2020-01-27 10:08:19 last_cmd 1
setstate Slowdimmer 2020-01-27 10:57:03 last_event pct:1
setstate Slowdimmer 2020-01-27 10:08:19 last_exec_cmd {fhem("set Slowdimmer del_delays") ;;readingsSingleUpdate( $hash, "pct","45", 1 );;readingsSingleUpd....
setstate Slowdimmer 2020-01-27 10:58:56 pct 23
setstate Slowdimmer 2020-01-27 10:53:35 state on
setstate Slowdimmer 2020-01-27 10:08:19 stop on
setstate Slowdimmer 2019-10-13 08:45:04 stop.*
setstate Slowdimmer 2020-01-27 10:08:18 target_ewrartet 50
setstate Slowdimmer 2020-01-27 10:08:19 target_is 45
setstate Slowdimmer 2020-01-27 10:08:18 target_next 45



es ist nicht komplett eingespielt. Hast du zeit und lust kurz zu telefonieren  - ist einfacher.

gruss Byte09

gestein

Hallo,

darf ich mich da anhängen?
Das würde mich auch interessieren.

Einfach den Code für den MSwitch in fhem eingespielen?
Oder hat sich ein Fehler eingeschlichen?

Danke im Voraus
lg, Gerhard

Byte09

Zitat von: gestein am 27 Januar 2020, 15:00:38
Hallo,

darf ich mich da anhängen?
Das würde mich auch interessieren.

Einfach den Code für den MSwitch in fhem eingespielen?
Oder hat sich ein Fehler eingeschlichen?

Danke im Voraus
lg, Gerhard

versuch es bitte einfach mal , bei mir gibt es kein problem , bei psycho160 schein er ihn nicht richtig einzuspielen.
wäre cool wenn du kurz bescheid gibst , ob es geht.

bitte code aus dem 2ten beitrag nutzen.

gruss Byte09

Byte09

PS:

die komlette rawdefinition muss in einem Rutsch eingespielt werden !

gruss Byte09

gestein

Hallo,

scheint zu funktionieren.
Wurde auf einem Rutsch eingespielt (bis auf Alexa, das ich nicht habe).

In einem setstate ist mir ein Rechtschreibfehler aufgefallen:
setstate Slowdimmer 2020-01-27 10:08:18 target_ewrartet 50

Aber das ist wahrscheinlich egal.

Jetzt noch den Shelly-Dimmer anschliessen und ausprobieren.
Das mach ich die nächsten Tage.

Danke. lg, Gerhard

psycho160

#14
Zitat von: Byte09 am 27 Januar 2020, 15:23:04
PS:

die komlette rawdefinition muss in einem Rutsch eingespielt werden !

gruss Byte09

hi, konnte dich leider noch nicht anrufen (Kinder...)
was mir aber aufgefallen ist, der Raw Import funtioniert nicht, genau genommen das setstate von Device_Affected_Details. Da du dort Perl Code drinn hast, kann ich mir nur vorstellen, dass es da zu einem Problem beim Import kommt. die cmd Felder sind bei mir jedenfalls leer... kannst du den Abschnitt aus deiner cfg direkt posten?
- 2013@FHEM - 2020 Setup: Pi 4 4GB Systeme: Shelly, Tasmota, Zigbee und mittlerweile nur noch wenig Homematic. Entwicker von: tado-FHEM Modul (perlcritic 3 ^^)(https://git.wolfmajer.at/Public/FHEM-Tado)