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
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
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 ::)
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
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?
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.
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
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
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
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
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
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
PS:
die komlette rawdefinition muss in einem Rutsch eingespielt werden !
gruss Byte09
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
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?
Zitat von: psycho160 am 28 Januar 2020, 01:46:18
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?
verstehe ich nicht, warum der Import nicht funktioniert. Ich habe es auf 3 Sytsemen getestet ( davon eben eins nagelneu aufgesetzt ) und es funktioniert.
in welcher Version liegt MSwict bei dir vor ? siehst du in den Internals des Devices - auch wenn es nicht funktioniert. Es sollte 2.93 sein.
Ich kann die die CFG-Teile leider nicht schicken da Mswitch - Definitionen nicht komplett über die cfg laufen.
gruss Byte09
ja hab 2.93.
Hab mich gestern noch gespielt und die Freecmds importieren können, jedoch bekom ich dann immer den fehler
PERL WARNING: Argument "on" isn't numeric in numeric lt (<) at (eval 3803) line 1.
Vermute das mir da noch Code fehlt der nicht importiert wird. Zumindest "on" und "off" schalten ging dann über das Slowdimmer device.
Zitat von: psycho160 am 28 Januar 2020, 08:08:16
ja hab 2.93.
Hab mich gestern noch gespielt und die Freecmds importieren können, jedoch bekom ich dann immer den fehler
PERL WARNING: Argument "on" isn't numeric in numeric lt (<) at (eval 3803) line 1.
Vermute das mir da noch Code fehlt der nicht importiert wird. Zumindest "on" und "off" schalten ging dann über das Slowdimmer device.
geh bitte mal im device auf get Slowdimmer config.
in dem fenster ersetze bitte den code gegen diesen und drücke auf 'save'
#V 3.02 alpha
#VS V2.00
#S .sortby -> show
#S .V_Check -> V2.00
#S .Device_Affected -> FreeCmd-AbsCmd1,FreeCmd-AbsCmd2,FreeCmd-AbsCmd3,FreeCmd-AbsCmd4,MSwitch_Self-AbsCmd1,MSwitch_Self-AbsCmd2,MSwitch_Self-AbsCmd3
#S .Trigger_cmd_off -> no_trigger
#S EVTPART1 -> MSwitch_Self
#S autostop -> on
#S EVTPART2 -> stop
#S akt_driving -> dimming_none
#S .First_init -> done
#S state -> on
#S target_next -> 45
#S .Device_Events -> MSwitch_Self:pct:0 MSwitch_Self:pct:93 MSwitch_Self:stop:on MSwitch_Self:pct:100
#S stop.* ->
#S last_activation_by -> event
#S intervall_time -> 00:00:02
#S .Trigger_cmd_on -> .*
#S EVENT -> MSwitch_Self:stop:on
#S Trigger_log -> on
#S EVTPART3 -> on
#S target_ewrartet -> 50
#S .Trigger_time ->
#S Trigger_device -> HUEGroup0
#S stop -> on
#S EVTFULL -> MSwitch_Self:stop:on
#S target_is -> 45
#S pct -> 45
#S last_cmd -> 1
#S .Device_Affected_Details -> FreeCmd-AbsCmd1#[NF]undefined#[NF]cmd#[NF]{;;my $device = "[$SELF:Trigger_device]";;;my $driving = "[$SELF:akt_driving]";;;my $targis = ReadingsNum($device,"pct","0"); ;;my $targsoll = "[$SELF:pct]";;;;;readingsSingleUpdate( $hash, "state","on", 1 );;;;;;;if ($targsoll eq $targis ) {$targsoll = "[$SELF:EVTPART3]";};;;;if ($targsoll eq $targis );;{;;readingsSingleUpdate( $hash, "akt_driving","dimming_none", 1 ) if $driving ne "dimming_none";;;};;;;readingsSingleUpdate( $hash, "target_is","$targis", 1 );;;;;Log3( "test", 5, "targis $targis" );;;Log3( "test", 5, "targsoll $targsoll" );;;;;;;my $step = "[$SELF:intervall_percent]";;;my $targ_cmd = AttrVal( "$SELF", 'setcmd', 'pct' ); ;;my $targnext = $targsoll;;;my $targerwartet = $targsoll;;;;;if ($targis < $targsoll);; {;; $targnext = $targis+$step;;; $targerwartet =$targnext+$step;;; $targnext = $targsoll if $targnext > $targsoll;;;;; readingsSingleUpdate( $hash, "akt_driving","dimming-up", 1 ) if $driving ne "dimming-up";;;;;;; };;elsif ($targis > $targsoll);; {;; $targnext = $targis-$step;;; $targerwartet =$targnext-$step;;; $targnext = $targsoll if $targnext < $targsoll;;;;; readingsSingleUpdate( $hash, "akt_driving","dimming-down", 1 ) if $driving ne "dimming-down";;; };;;;$targnext = 100 if $targnext > 100;;;$targnext = 0 if $targnext < 0;;;;;readingsSingleUpdate( $hash, "target_next","$targnext", 1 );;;readingsSingleUpdate( $hash, "target_ewrartet","$targerwartet ", 1 );;;fhem("set $device $targ_cmd $targnext") ;;;;;Log3( "test", 5, "set $device $targ_cmd $targnext" );;;Log3( "test", 5, "------------------" );;;;;;;return;;;}#[NF]#[NF]delay1#[NF]delay1#[NF]00:00:00#[NF]00:00: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]{;;fhem("set $SELF del_delays");;;readingsSingleUpdate( $hash, "pct","[$SELF:EVTPART3]", 1 );;;readingsSingleUpdate( $hash, "target_next","[$SELF:EVTPART3]", 1 );;;readingsSingleUpdate( $hash, "target_is","[$SELF:EVTPART3]", 1 );;;};;#[NF]#[NF]delay1#[NF]delay1#[NF]00:00:00#[NF]00:00:00#[NF][$SELF:target_next] ne [$SELF:EVTPART3] AND [$SELF:autostop] eq "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]{;;fhem("set $SELF del_delays") ;;;readingsSingleUpdate( $hash, "pct","[$SELF:target_next]", 1 );;;#readingsSingleUpdate( $hash, "target_next","[$SELF:EVTPART3]", 1 );;;readingsSingleUpdate( $hash, "target_is","[$SELF:target_next]", 1 );;;readingsSingleUpdate( $hash, "akt_driving","dimming_none", 1 );;;}#[NF]#[NF]delay1#[NF]delay1#[NF]00:00:00#[NF]00:00: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]{;;my $device = "[$SELF:Trigger_device]";;;fhem("set $device on") ;;;}#[NF]{;;my $device = "[$SELF:Trigger_device]";;;fhem("set $device off") ;;;}#[NF]delay1#[NF]delay1#[NF]00:00:00#[NF]00:00: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 1#[NF]#[NF]delay2#[NF]delay1#[NF][$SELF:intervall_time]#[NF]00:00:00#[NF][$SELF:target_is] ne [$SELF: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:intervall_time]#[NF]#[NF]delay1#[NF]delay1#[NF]00:00:00#[NF]00:00:00#[NF][$SELF:autostop] eq "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:00:00#[NF]00:00:00#[NF][$SELF:autostop] eq "on"#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[NF]#[NF]0#[NF]0#[NF]1#[NF]1
#S .Trigger_on -> no_trigger
#S .Trigger_condition -> "$EVENT"#[sp]=#[ti]#[sp]m/(pct#[pt]*)|(stop#[pt]*)/
#S intervall_percent -> 5
#S .Trigger_off -> no_trigger
#S last_event -> MSwitch_Self:stop:on
#A MSwitch_Inforoom -> MSwitch
#A MSwitch_Include_Devicecmds -> 1
#A MSwitch_Ignore_Types -> "TYPE=(.*):s=[ATTR:$SELF:setcmd]"
#A MSwitch_Selftrigger_always -> 1
#A MSwitch_Include_MSwitchcmds -> 0
#A MSwitch_Include_Webcmds -> 0
#A MSwitch_Comments -> 0
#A alexaName -> Slowdimmer
#A MSwitch_Event_Id_Distributor -> MSwitch_Self:pct:.*=>cmd1 ID 1#[nl]MSwitch_Self:stop.*=>cmd1 ID 3#[nl]^pct:.*=>cmd1 ID 2#[nl]
#A 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
#A MSwitch_Help -> 0
#A MSwitch_Expert -> 1
#A MSwitch_Delete_Delays -> 1
#A MSwitch_Lock_Quickedit -> 1
#A MSwitch_Mode -> Full
#A MSwitch_Eventhistory -> 10
#A userattr -> setcmd
#A readingList -> autostop pct target_is intervall_time intervall_percent targ_next target_ewrartet akt_driving stop
#A MSwitch_DeleteCMDs -> automatic
#A MSwitch_Language -> DE
#A eventMap -> /stop on:dimming-stop/
#A setcmd -> pct
#A MSwitch_Extensions -> 0
#A room -> 01_Test->Slowdimmer,alexa
#A MSwitch_Debug -> 0
#A MSwitch_Startdelay -> 10
#A 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$)/ ); }
#A webCmd -> on:off:dimming-stop:pct:intervall_time:intervall_percent:autostop
#A MSwitch_generate_Events -> 0
... schau dann bitte mal ob er alles hat.
gruss Byte09
Hab ich gemacht. Der beriech mit den kommandos ist dann gar nicht mehr vorhanden. im log dann:
2020.01.28 08:35:28.383 3: bad reading name stop.* (contains not A-Za-z/\d_\.- or is too long)
2020.01.28 08:35:37.990 1: PERL WARNING: Use of uninitialized value $errors in pattern match (m//) at ./FHEM/98_MSwitch.pm line 4294.
2020.01.28 08:35:38.255 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_MSwitch.pm line 11315.
2020.01.28 08:39:33.541 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_MSwitch.pm line 11260.
2020.01.28 08:39:33.542 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/98_MSwitch.pm line 11265.
Zitat von: psycho160 am 28 Januar 2020, 08:42:17
Hab ich gemacht. Der beriech mit den kommandos ist dann gar nicht mehr vorhanden. im log dann:
2020.01.28 08:35:28.383 3: bad reading name stop.* (contains not A-Za-z/\d_\.- or is too long)
2020.01.28 08:35:37.990 1: PERL WARNING: Use of uninitialized value $errors in pattern match (m//) at ./FHEM/98_MSwitch.pm line 4294.
2020.01.28 08:35:38.255 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_MSwitch.pm line 11315.
2020.01.28 08:39:33.541 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_MSwitch.pm line 11260.
2020.01.28 08:39:33.542 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/98_MSwitch.pm line 11265.
ok , ich sehe da gerade was und befürchte schlimmes.
kannst du bitte mal im device global das attribut 'featurelevel' auf '5.9' stellen und das ganze dann nochmal versuchen ?
und diese
raw config benutzen:
#V 3.02 alpha
#VS V2.00
#S .sortby -> show
#S .V_Check -> V2.00
#S .Device_Affected -> FreeCmd-AbsCmd1,FreeCmd-AbsCmd2,FreeCmd-AbsCmd3,FreeCmd-AbsCmd4,MSwitch_Self-AbsCmd1,MSwitch_Self-AbsCmd2,MSwitch_Self-AbsCmd3
#S .Trigger_cmd_off -> no_trigger
#S EVTPART1 -> MSwitch_Self
#S autostop -> on
#S EVTPART2 -> stop
#S akt_driving -> dimming_none
#S .First_init -> done
#S state -> on
#S target_next -> 45
#S .Device_Events -> MSwitch_Self:pct:0 MSwitch_Self:pct:93 MSwitch_Self:stop:on MSwitch_Self:pct:100
#S last_activation_by -> event
#S intervall_time -> 00:00:02
#S .Trigger_cmd_on -> .*
#S EVENT -> MSwitch_Self:stop:on
#S Trigger_log -> on
#S EVTPART3 -> on
#S target_ewrartet -> 50
#S .Trigger_time ->
#S Trigger_device -> HUEGroup0
#S stop -> on
#S EVTFULL -> MSwitch_Self:stop:on
#S target_is -> 45
#S pct -> 45
#S last_cmd -> 1
#S .Device_Affected_Details -> FreeCmd-AbsCmd1#[NF]undefined#[NF]cmd#[NF]{;;my $device = "[$SELF:Trigger_device]";;;my $driving = "[$SELF:akt_driving]";;;my $targis = ReadingsNum($device,"pct","0"); ;;my $targsoll = "[$SELF:pct]";;;;;readingsSingleUpdate( $hash, "state","on", 1 );;;;;;;if ($targsoll eq $targis ) {$targsoll = "[$SELF:EVTPART3]";};;;;if ($targsoll eq $targis );;{;;readingsSingleUpdate( $hash, "akt_driving","dimming_none", 1 ) if $driving ne "dimming_none";;;};;;;readingsSingleUpdate( $hash, "target_is","$targis", 1 );;;;;Log3( "test", 5, "targis $targis" );;;Log3( "test", 5, "targsoll $targsoll" );;;;;;;my $step = "[$SELF:intervall_percent]";;;my $targ_cmd = AttrVal( "$SELF", 'setcmd', 'pct' ); ;;my $targnext = $targsoll;;;my $targerwartet = $targsoll;;;;;if ($targis < $targsoll);; {;; $targnext = $targis+$step;;; $targerwartet =$targnext+$step;;; $targnext = $targsoll if $targnext > $targsoll;;;;; readingsSingleUpdate( $hash, "akt_driving","dimming-up", 1 ) if $driving ne "dimming-up";;;;;;; };;elsif ($targis > $targsoll);; {;; $targnext = $targis-$step;;; $targerwartet =$targnext-$step;;; $targnext = $targsoll if $targnext < $targsoll;;;;; readingsSingleUpdate( $hash, "akt_driving","dimming-down", 1 ) if $driving ne "dimming-down";;; };;;;$targnext = 100 if $targnext > 100;;;$targnext = 0 if $targnext < 0;;;;;readingsSingleUpdate( $hash, "target_next","$targnext", 1 );;;readingsSingleUpdate( $hash, "target_ewrartet","$targerwartet ", 1 );;;fhem("set $device $targ_cmd $targnext") ;;;;;Log3( "test", 5, "set $device $targ_cmd $targnext" );;;Log3( "test", 5, "------------------" );;;;;;;return;;;}#[NF]#[NF]delay1#[NF]delay1#[NF]00:00:00#[NF]00:00: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]{;;fhem("set $SELF del_delays");;;readingsSingleUpdate( $hash, "pct","[$SELF:EVTPART3]", 1 );;;readingsSingleUpdate( $hash, "target_next","[$SELF:EVTPART3]", 1 );;;readingsSingleUpdate( $hash, "target_is","[$SELF:EVTPART3]", 1 );;;};;#[NF]#[NF]delay1#[NF]delay1#[NF]00:00:00#[NF]00:00:00#[NF][$SELF:target_next] ne [$SELF:EVTPART3] AND [$SELF:autostop] eq "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]{;;fhem("set $SELF del_delays") ;;;readingsSingleUpdate( $hash, "pct","[$SELF:target_next]", 1 );;;#readingsSingleUpdate( $hash, "target_next","[$SELF:EVTPART3]", 1 );;;readingsSingleUpdate( $hash, "target_is","[$SELF:target_next]", 1 );;;readingsSingleUpdate( $hash, "akt_driving","dimming_none", 1 );;;}#[NF]#[NF]delay1#[NF]delay1#[NF]00:00:00#[NF]00:00: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]{;;my $device = "[$SELF:Trigger_device]";;;fhem("set $device on") ;;;}#[NF]{;;my $device = "[$SELF:Trigger_device]";;;fhem("set $device off") ;;;}#[NF]delay1#[NF]delay1#[NF]00:00:00#[NF]00:00: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 1#[NF]#[NF]delay2#[NF]delay1#[NF][$SELF:intervall_time]#[NF]00:00:00#[NF][$SELF:target_is] ne [$SELF: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:intervall_time]#[NF]#[NF]delay1#[NF]delay1#[NF]00:00:00#[NF]00:00:00#[NF][$SELF:autostop] eq "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:00:00#[NF]00:00:00#[NF][$SELF:autostop] eq "on"#[NF]#[NF]0#[NF]0#[NF]1#[NF]1#[NF]#[NF]0#[NF]0#[NF]1#[NF]1
#S .Trigger_on -> no_trigger
#S .Trigger_condition -> "$EVENT"#[sp]=#[ti]#[sp]m/(pct#[pt]*)|(stop#[pt]*)/
#S intervall_percent -> 5
#S .Trigger_off -> no_trigger
#S last_event -> MSwitch_Self:stop:on
#A MSwitch_Inforoom -> MSwitch
#A MSwitch_Include_Devicecmds -> 1
#A MSwitch_Ignore_Types -> "TYPE=(.*):s=[ATTR:$SELF:setcmd]"
#A MSwitch_Selftrigger_always -> 1
#A MSwitch_Include_MSwitchcmds -> 0
#A MSwitch_Include_Webcmds -> 0
#A MSwitch_Comments -> 0
#A alexaName -> Slowdimmer
#A MSwitch_Event_Id_Distributor -> MSwitch_Self:pct:.*=>cmd1 ID 1#[nl]MSwitch_Self:stop.*=>cmd1 ID 3#[nl]^pct:.*=>cmd1 ID 2#[nl]
#A 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
#A MSwitch_Help -> 0
#A MSwitch_Expert -> 1
#A MSwitch_Delete_Delays -> 1
#A MSwitch_Lock_Quickedit -> 1
#A MSwitch_Mode -> Full
#A MSwitch_Eventhistory -> 10
#A userattr -> setcmd
#A readingList -> autostop pct target_is intervall_time intervall_percent targ_next target_ewrartet akt_driving stop
#A MSwitch_DeleteCMDs -> automatic
#A MSwitch_Language -> DE
#A eventMap -> /stop on:dimming-stop/
#A setcmd -> pct
#A MSwitch_Extensions -> 0
#A room -> 01_Test->Slowdimmer,alexa
#A MSwitch_Debug -> 0
#A MSwitch_Startdelay -> 10
#A 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$)/ ); }
#A webCmd -> on:off:dimming-stop:pct:intervall_time:intervall_percent:autostop
#A MSwitch_generate_Events -> 0
gruss Byte09
Zitatkannst du bitte mal im device global das attribut 'featurelevel' auf '5.9' stellen und das ganze dann nochmal versuchen ?
Alternativ loescht man die Zeile:
setstate Slowdimmer 2019-10-13 08:45:04 stop.*
Zitat von: rudolfkoenig am 28 Januar 2020, 10:00:56
Alternativ loescht man die Zeile:
setstate Slowdimmer 2019-10-13 08:45:04 stop.*
dank dir. ich hatte es eben auch gesehen und in der letzten raw rausgenommen - aber leider noch keine ahnung wie es sich dort hin verirrt hat.
Gruss Thomas
Ne, will einfach nicht...
Mir kommt vor, generell "frisst" der raw bzw. dein config import nicht alles..
Wenn ich das Trigger Device im raw von HUEgroup0 auf meinen LD_SZ ändere, ist es nach erfolgreichem Import trotzdem noch auf HUEGroup0..
Folgendes bekomm ich trotzdem noch immer:
2020.01.28 11:49:53.498 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_MSwitch.pm line 1251.
2020.01.28 11:49:53.498 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_MSwitch.pm line 10254.
Zitat von: psycho160 am 28 Januar 2020, 11:56:05
Ne, will einfach nicht...
Mir kommt vor, generell "frisst" der raw bzw. dein config import nicht alles..
Wenn ich das Trigger Device im raw von HUEgroup0 auf meinen LD_SZ ändere, ist es nach erfolgreichem Import trotzdem noch auf HUEGroup0..
Folgendes bekomm ich trotzdem noch immer:
2020.01.28 11:49:53.498 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_MSwitch.pm line 1251.
2020.01.28 11:49:53.498 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_MSwitch.pm line 10254.
du darfst die raw keinesfalls ändern !! .. änderungen erst nachdem das device eingespielt ist im webinterface.
gruss Byte09
Zitat von: Byte09 am 28 Januar 2020, 11:59:18
du darfst die raw keinesfalls ändern !! .. änderungen erst nachdem das device eingespielt ist im webinterface.
gruss Byte09
ok ja das wars! Hatte es immer vorher angepasst :o
Danke!!!
Wie kann ich nun per set Slowdimmer [Helligkeit] [Intervall ] etc. den MSwitch aus einem "at" ansprechen?
Zitat von: psycho160 am 28 Januar 2020, 14:27:06
Wie kann ich nun per set Slowdimmer [Helligkeit] [Intervall ] etc. den MSwitch aus einem "at" ansprechen?
z.b:
set Slowdimmer intervall_time 00:00:05;set Slowdimmer intervall_percent 10;set Slowdimmer pct 90
erhöht den wert alle 5 sekunden um 10 % bis auf einen wert von 90
die zeit und das intervall musst du nicht jedesmal neu setzen
ggf. ändere ich es noch ,so dass eine angabe wie
set dimmer 90 00:00:10 5 möglich ist
gruss Byte09
Zitat
ggf. ändere ich es noch ,so dass eine angabe wie
set dimmer 90 00:00:10 5 möglich ist
das wäre super!!
EDIT: vielleicht die 00:00:00 angabe in sekunden
Zitat von: psycho160 am 28 Januar 2020, 14:46:47
das wäre super!!
EDIT: vielleicht die 00:00:00 angabe in sekunden
mache ich , weiss aber noch nicht ob ich es heute noch schaffe - zumal ich gerne morgen oder übermorge eine überarbeitet modulversion einchecken möchte und da noch einiges zu tun ist.
... mal schauen
gruss Byte09
Zitat von: Byte09 am 28 Januar 2020, 14:55:32
mache ich , weiss aber noch nicht ob ich es heute noch schaffe - zumal ich gerne morgen oder übermorge eine überarbeitet modulversion einchecken möchte und da noch einiges zu tun ist.
... mal schauen
gruss Byte09
danke, kein stress :)
Zitat von: psycho160 am 28 Januar 2020, 17:33:47
danke, kein stress :)
in dieser Version sollte es wie folgt ansprechbar sein:
set Slowdimmer dimm 100,10
Device wird vom aktuellen Zustand auf 100% gedimmt - innerhalb von 10 Sekunden .
dabei wird das bestmögliche Intervall/Zeitverhältniss selbständig berechnet.
Ich hoffe es funktionie so wie ich mir das vorstelle ;)
gruss Byte09
edit: im device befindet sich oben rechts ein dropdownfeld (on/off) . Dieses bedeutet nicht das die Lampe on oder off ist , sonder schaltet die Überwachung einer externen Bedienung der Lampe an oder aus. wenn dieses auf on steht, der Dimmer läuft und die Lampe anderweitig geschaltet wird sollte der Slowdimmer den laufenden Dimmvorgang abbrechen ( zumondest ist so der Plan - Bei homematic-devices funktioniert dieses technisch bedingt nur dann , wenn das Zeitintervall über 5 sekunden beträgt - wobei ein Einsatz bei Homematic eh nicht sein sollte wegen der 1% regelung).
defmod Slowdimmer MSwitch HUEDevice2 # 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\
MSwitch_Self:dimm.*=>cmd1 ID 4\
^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 Notify
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 readingList dimm 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 dimm 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-28 15:08:08 .Device_Affected FreeCmd-AbsCmd1,FreeCmd-AbsCmd2,FreeCmd-AbsCmd3,FreeCmd-AbsCmd4,FreeCmd-AbsCmd5,MSwitch_Self-AbsCmd1,MSwitch_Self-AbsCmd2,MSwitch_Self-AbsCmd3
setstate Slowdimmer 2020-01-29 04:15:15 .Device_Affected_Details FreeCmd-AbsCmd1#[NF]undefined#[NF]cmd#[NF]{#[nl]#[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]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"state"#[ko]"on"#[ko]#[sp]1#[sp])#[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]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"target_is"#[ko]"$targis"#[ko]#[sp]1#[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]#[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]$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]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]FreeCmd-AbsCmd5#[NF]undefined#[NF]cmd#[NF]{#[nl]my#[sp]@argus#[se]#[nl]my#[sp]$device#[sp]=#[sp]ReadingsVal("$SELF"#[ko]"Trigger_device"#[ko]"0")#[se]#[nl]#Log3(#[sp]"test"#[ko]#[sp]0#[ko]#[sp]"$device"#[sp])#[se]#[nl]my#[sp]$targis#[sp]=#[sp]ReadingsNum($device#[ko]"pct"#[ko]"0")#[se]#[sp]#[nl]#Log3(#[sp]"test"#[ko]#[sp]0#[ko]#[sp]"targis#[dp]#[sp]$targis"#[sp])#[se]#[nl]my#[sp]$korrektur=0#[se]#[nl]#Log3(#[sp]"test"#[ko]#[sp]0#[ko]#[sp]"[$SELF#[dp]EVTPART3]"#[sp])#[se]#[nl]my#[sp]$argument#[sp]=#[sp]ReadingsVal("$SELF"#[ko]"EVTPART3"#[ko]"0")#[se]#[nl]@argus#[sp]=#[sp]split(/#[ko]/#[ko]$argument#[sp])#[se]#[nl]#Log3(#[sp]"test"#[ko]#[sp]0#[ko]#[sp]"$argus[0]"#[sp])#[se]#[nl]#Log3(#[sp]"test"#[ko]#[sp]0#[ko]#[sp]"$argus[1]"#[sp])#[se]#[nl]my#[sp]$ziel#[sp]=#[sp]$argus[0]#[se]#[nl]#[nl]fhem("setreading#[sp]$SELF#[sp]target_next#[sp]".$targis)#[se]#[nl]fhem("setreading#[sp]$SELF#[sp]target_ewrartet#[sp]".$targis)#[se]#[nl]fhem("setreading#[sp]$SELF#[sp]pct#[sp]".$targis)#[se]#[nl]fhem("setreading#[sp]$SELF#[sp]target_is#[sp]".$targis)#[se]#[nl]#[nl]if#[sp]($argus[0]#[sp]>#[sp]$targis)#[nl]{#[nl]$korrektur#[sp]=#[sp]$argus[0]-$targis#[se]#[nl]}#[nl]if#[sp]($argus[0]#[sp]<#[sp]$targis)#[nl]{#[nl]$korrektur#[sp]=#[sp]$targis-$argus[0]#[se]#[nl]}#[nl]#[nl]#Log3(#[sp]"test"#[ko]#[sp]0#[ko]#[sp]"korrektur#[sp]=#[sp]$korrektur"#[sp])#[se]#[nl]#[nl]my#[sp]$schrittime#[sp]=1#[se]#[nl]my#[sp]$schrittpersecond#[sp]=#[sp]$korrektur#[sp]/#[sp]$argus[1]#[se]#[nl]#[nl]#Log3(#[sp]"test"#[ko]#[sp]0#[ko]#[sp]"schritte#[sp]pro#[sp]sekunde#[sp]#[sp]=#[sp]$schrittpersecond"#[sp])#[se]#[nl]#[nl]my#[sp]$integer#[sp]=#[sp]int($schrittpersecond)#[se]#[nl]#Log3(#[sp]"test"#[ko]#[sp]0#[ko]#[sp]"integer#[sp]schritte#[sp]pro#[sp]sekunde#[sp]#[sp]=#[sp]$integer"#[sp])#[se]#[nl]#[nl]my#[sp]$i#[sp]=0#[se]#[nl]#[nl]my#[sp]$testschritte#[sp]=#[sp]$schrittpersecond#[se]#[nl]#[nl]while#[sp](#[sp]$integer#[sp]!=#[sp]$testschritte)#[nl]{#[nl]$testschritte=$testschritte*10#[se]#[nl]$schrittime#[sp]=$schrittime#[sp]*10#[se]#[nl]$integer#[sp]=#[sp]int($testschritte)#[se]#[nl]Log3(#[sp]"test"#[ko]#[sp]0#[ko]#[sp]"i=$i#[dp]integer#[sp]schritte#[sp]pro#[sp]sekunde=$integer#[dp]schritte#[sp]pro#[sp]sekunde=$testschritte"#[sp])#[se]#[nl]$i++#[se]#[nl]last#[sp]if#[sp]$i>5000#[se]#[nl]}#[nl]#[nl]#Log3(#[sp]"test"#[ko]#[sp]0#[ko]#[sp]"ergebniss#[dp]#[sp]$testschritte#[sp]alle#[sp]$schrittime#[sp]sekunden#[sp]"#[sp])#[se]#[nl]#[nl]my#[sp]$timer#[sp]=#[sp]$schrittime/$testschritte#[se]#[nl]#Log3(#[sp]"test"#[ko]#[sp]0#[ko]#[sp]"änderung#[sp]1%#[sp]alle#[sp]$timer#[sp]sekunden#[sp]"#[sp])#[se]#[nl]##[sp]wenn#[sp]kleiner#[sp]1#[sp]pro#[sp]sekunde#[nl]#[nl]my#[sp]$percent#[sp]=#[sp]1#[se]#[nl]while#[sp](#[sp]$timer#[sp]<#[sp]1)#[nl]{#[sp]#[nl]$timer=$timer*2#[se]#[nl]$percent=$percent*2#[se]#[nl]}#[nl]#[nl]#Log3(#[sp]"test"#[ko]#[sp]0#[ko]#[sp]"änderung#[sp]$percent#[sp]%#[sp]alle#[sp]$timer#[sp]sekunden#[sp]"#[sp])#[se]#[nl]fhem("set#[sp]$SELF#[sp]intervall_time#[sp]".$timer)#[se]#[nl]fhem("set#[sp]$SELF#[sp]intervall_percent#[sp]".$percent)#[se]#[nl]#Log3(#[sp]"test"#[ko]#[sp]0#[ko]#[sp]"Ziel#[sp]$ziel"#[sp])#[se]#[nl]fhem("set#[sp]$SELF#[sp]pct#[sp]".$ziel)#[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]4#[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-29 04:19:36 .Device_Events no_trigger#[tr].*
setstate Slowdimmer 2020-01-28 14:39:54 .First_init done
setstate Slowdimmer 2020-01-28 14:39:54 .Trigger_cmd_off no_trigger
setstate Slowdimmer 2020-01-28 14:39:54 .Trigger_cmd_on .*
setstate Slowdimmer 2020-01-28 15:16:43 .Trigger_condition "$EVENT"#[sp]=#[ti]#[sp]m/(dimm#[pt]*)|(pct#[pt]*)|(stop#[pt]*)/
setstate Slowdimmer 2020-01-28 14:39:54 .Trigger_off no_trigger
setstate Slowdimmer 2020-01-28 14:39:54 .Trigger_on no_trigger
setstate Slowdimmer 2020-01-28 15:16:43 .Trigger_time
setstate Slowdimmer 2020-01-28 14:39:54 .V_Check V2.00
setstate Slowdimmer 2020-01-28 14:39:54 .sortby show
setstate Slowdimmer 2020-01-29 04:19:36 EVENT pct:0
setstate Slowdimmer 2020-01-29 04:19:36 EVTFULL HUEDevice2:pct:0
setstate Slowdimmer 2020-01-29 04:19:36 EVTPART1 HUEDevice2
setstate Slowdimmer 2020-01-29 04:19:36 EVTPART2 pct
setstate Slowdimmer 2020-01-29 04:19:36 EVTPART3 0
setstate Slowdimmer 2020-01-28 15:16:43 Trigger_device HUEDevice2
setstate Slowdimmer 2020-01-28 14:39:54 Trigger_log off
setstate Slowdimmer 2020-01-29 04:19:37 akt_driving dimming_none
setstate Slowdimmer 2020-01-28 14:39:54 autostop off
setstate Slowdimmer 2020-01-29 04:13:28 dimm 50,10
setstate Slowdimmer 2020-01-29 04:19:20 intervall_percent 2
setstate Slowdimmer 2020-01-29 04:15:41 intervall_time 00:00:02
setstate Slowdimmer 2020-01-29 04:19:36 last_activation_by event
setstate Slowdimmer 2020-01-29 04:19:37 last_cmd 1
setstate Slowdimmer 2020-01-29 04:19:36 last_event pct:0
setstate Slowdimmer 2020-01-29 04:19:37 last_exec_cmd set Slowdimmer exec_cmd_1 ID 1
setstate Slowdimmer 2020-01-29 04:19:30 pct 0
setstate Slowdimmer 2020-01-29 04:19:37 state on
setstate Slowdimmer 2020-01-29 04:03:58 stop on
setstate Slowdimmer 2020-01-29 04:19:37 target_ewrartet 0
setstate Slowdimmer 2020-01-29 04:19:37 target_is 0
setstate Slowdimmer 2020-01-29 04:19:37 target_next 0
setstate Slowdimmer 2020-01-29 04:19:37 waiting 1580267977.20601
Zitat von: gestein am 27 Januar 2020, 22:11:05
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
In der kommenden Version des MSwitch-Moduls wird diese Device als auswählbares Preconfig-Device verfügbar sein , bis dahin korrigiere ich diesen ... und die im Screenshot auch ;)
gruss Byte09
ZitatDevice wird vom aktuellen Zustand auf 100% gedimmt - innerhalb von 10 Sekunden .
dabei wird das bestmögliche Intervall/Zeitverhältniss selbständig berechnet.
Das blöde, oder bzw der unterschied zwischen Shelly und Homematic Dimmern ist, dass bei Shelly der pct Wert zwischen 1 und 100 sein kann, aber das Gerät aus oder ein sein kann.
z.B pct 65 aber Lampe aus.
Bei homematic (und vl bei anderen auch) ist aus gleichzeitig auch 0% pct...
Jetzt muss man vor dem dimmen immer das shelly auf pct 1 stellen und dann erst dimmen beginnen. sonst könnte es sein das er bei 100 beginnt und dann auf 60 hinunterdimmt, was in der Früh ganz schön stressig sein kann.
noch dazu bewirkt bei Shelly eine pct Änderung, das er instant auf diesen Wert hindimmt...
Zitat von: psycho160 am 29 Januar 2020, 08:58:22
Das blöde, oder bzw der unterschied zwischen Shelly und Homematic Dimmern ist, dass bei Shelly der pct Wert zwischen 1 und 100 sein kann, aber das Gerät aus oder ein sein kann.
z.B pct 65 aber Lampe aus.
Bei homematic (und vl bei anderen auch) ist aus gleichzeitig auch 0% pct...
Jetzt muss man vor dem dimmen immer das shelly auf pct 1 stellen und dann erst dimmen beginnen. sonst könnte es sein das er bei 100 beginnt und dann auf 60 hinunterdimmt, was in der Früh ganz schön stressig sein kann.
noch dazu bewirkt bei Shelly eine pct Änderung, das er instant auf diesen Wert hindimmt...
ich könnte es entsprechend ergänzen:
set Dimmer dimm 0,100,10
damit würde dann von 0 - 100 gedimmt in 10 sekunden
würde dass helfen ?
gruss Byte09
edit: der erste wert wäre dann halt ein
optionaler startpunkt
Zitat von: Byte09 am 29 Januar 2020, 09:08:42
ich könnte es entsprechend ergänzen:
set Dimmer dimm 0,100,10
damit würde dann von 0 - 100 gedimmt in 10 sekunden
würde dass helfen ?
gruss Byte09
ja das wäre cool.
aber bei Shelly müsste man dann
set Dimmer dimm 1,100,10
verwenden.
EDIT:
Vielleicht könnte dann jemand das Wiki noch diesbezüglich ergänzen: https://wiki.fhem.de/wiki/Wakeuplight
Ist sicher für einige interessant
Zitat von: psycho160 am 29 Januar 2020, 09:11:39
ja das wäre cool.
aber bei Shelly müsste man dann set Dimmer dimm 1,100,10
verwenden.
EDIT:
Vielleicht könnte dann jemand das Wiki noch diesbezüglich ergänzen: https://wiki.fhem.de/wiki/Wakeuplight
Ist sicher für einige interessant
ich ändere es im laufe des tages.
es nutzt kaum jemand MSwitch , von daher ist es glaube ich den Aufwand nicht wert einen diesbezüglichen Wikieintrag zu verfassen - leider ;-)
gruss Byte09
Zitates nutzt kaum jemand MSwitch , von daher ist es glaube ich den Aufwand nicht wert einen diesbezüglichen Wikieintrag zu verfassen - leider ;-)
Naja aber es nutzen viele Shelly, und könnte mir gut vorstellen, dass dann einige den Code bzw. dann auch natürlich MSwitch nutzen.
Der Wikibeitrag umfasst ja jetzt schon unterschiedliche Systeme (FS20, HM)
Zitat von: psycho160 am 29 Januar 2020, 09:23:23
Naja aber es nutzen viele Shelly, und könnte mir gut vorstellen, dass dann einige den Code bzw. dann auch natürlich MSwitch nutzen.
Der Wikibeitrag umfasst ja jetzt schon unterschiedliche Systeme (FS20, HM)
set Slowdimmer dimm 1,100,10
set Slowdimmer dimm <start,>ziel,ramptime
dimmt von 1 -100 % in 10 sekunden
wir der erste wert weggelassen dimmt er vom aktuellen stand bis 100 in 10 sekunden.
gruss Byte09
defmod Slowdimmer MSwitch HUEDevice2 # 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\
MSwitch_Self:dimm.*=>cmd1 ID 4\
^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 0
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 readingList startpoint dimm 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 startpoint dimm 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-29 09:21:01 .Device_Affected FreeCmd-AbsCmd1,FreeCmd-AbsCmd2,FreeCmd-AbsCmd3,FreeCmd-AbsCmd4,FreeCmd-AbsCmd5,MSwitch_Self-AbsCmd1,MSwitch_Self-AbsCmd2,MSwitch_Self-AbsCmd3
setstate Slowdimmer 2020-01-29 11:05:30 .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]#[nl]my#[sp]$targis=#[sp]ReadingsNum("$SELF"#[ko]"startpoint"#[ko]"undefiniert")#[se]#[sp]#[nl]#[nl]if#[sp]($targis#[sp]eq#[sp]"undefiniert")#[nl]{#[nl]$targis#[sp]=#[sp]ReadingsNum($device#[ko]"pct"#[ko]"0")#[se]#[nl]#[nl]}#[nl]#[nl]readingsSingleUpdate(#[sp]$hash#[ko]#[sp]"startpoint"#[ko]"undefiniert"#[ko]#[sp]1#[sp])#[se]#[sp]#[nl]#[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]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]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]#[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]$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]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]FreeCmd-AbsCmd5#[NF]undefined#[NF]cmd#[NF]{#[nl]fhem("setreading#[sp]$SELF#[sp]startpoint#[sp]undefiniert")#[se]#[nl]my#[sp]$argument#[sp]=#[sp]ReadingsVal("$SELF"#[ko]"EVTPART3"#[ko]"0")#[se]#[nl]my#[sp]$startpoint=ReadingsNum($device#[ko]"pct"#[ko]"0")#[se]#[nl]my#[sp]$device#[sp]=#[sp]ReadingsVal("$SELF"#[ko]"Trigger_device"#[ko]"0")#[se]#[nl]my#[sp]$endpoint=0#[se]#[nl]my#[sp]$ramptime=0#[se]#[nl]my#[sp]$korrektur=0#[se]#[nl]#[nl]my#[sp]@argus#[sp]=#[sp]split(/#[ko]/#[ko]$argument#[sp])#[se]#[nl]#[nl]my#[sp]$arranz#[sp]=#[sp]@argus#[se]#[nl]#[nl]if#[sp](#[sp]$arranz#[sp]==#[sp]2)#[nl]{#[nl]#[nl]$endpoint#[sp]=#[sp]$argus[0]#[se]#[nl]$ramptime#[sp]=#[sp]$argus[1]#[se]#[nl]}#[nl]#[nl]if#[sp](#[sp]$arranz#[sp]==#[sp]3)#[nl]{#[nl]$endpoint#[sp]=#[sp]$argus[1]#[se]#[nl]$ramptime#[sp]=#[sp]$argus[2]#[se]#[nl]$startpoint#[sp]=#[sp]$argus[0]#[se]#[nl]#[nl]fhem("set#[sp]$device#[sp]pct#[sp]".$startpoint)#[se]#[nl]fhem("setreading#[sp]$SELF#[sp]startpoint#[sp]".$startpoint)#[se]#[nl]}#[nl]#[nl]my#[sp]$ziel#[sp]=#[sp]$endpoint#[se]#[nl]#[nl]fhem("setreading#[sp]$SELF#[sp]target_next#[sp]".$startpoint)#[se]#[nl]fhem("setreading#[sp]$SELF#[sp]target_ewrartet#[sp]".$startpoint)#[se]#[nl]fhem("setreading#[sp]$SELF#[sp]pct#[sp]".$startpoint)#[se]#[nl]fhem("setreading#[sp]$SELF#[sp]target_is#[sp]".$startpoint)#[se]#[nl]#[nl]if#[sp]($endpoint#[sp]>#[sp]$startpoint)#[nl]{#[nl]$korrektur#[sp]=#[sp]$endpoint-$startpoint#[se]#[nl]}#[nl]#[nl]if#[sp]($endpoint#[sp]<#[sp]$startpoint)#[nl]{#[nl]$korrektur#[sp]=#[sp]$startpoint-$endpoint#[se]#[nl]}#[nl]#[nl]my#[sp]$schrittime#[sp]=1#[se]#[nl]my#[sp]$schrittpersecond#[sp]=#[sp]$korrektur#[sp]/#[sp]$ramptime#[se]#[nl]my#[sp]$integer#[sp]=#[sp]int($schrittpersecond)#[se]#[nl]my#[sp]$i#[sp]=0#[se]#[nl]my#[sp]$testschritte#[sp]=#[sp]$schrittpersecond#[se]#[nl]#[nl]while#[sp](#[sp]$integer#[sp]!=#[sp]$testschritte)#[nl]{#[nl]$testschritte=$testschritte*10#[se]#[nl]$schrittime#[sp]=$schrittime#[sp]*10#[se]#[nl]$integer#[sp]=#[sp]int($testschritte)#[se]#[nl]$i++#[se]#[nl]last#[sp]if#[sp]$i>5000#[se]#[nl]}#[nl]#[nl]my#[sp]$timer#[sp]=#[sp]$schrittime/$testschritte#[se]#[nl]my#[sp]$percent#[sp]=#[sp]1#[se]#[nl]#[nl]while#[sp](#[sp]$timer#[sp]<#[sp]1)#[nl]{#[sp]#[nl]$timer=$timer*2#[se]#[nl]$percent=$percent*2#[se]#[nl]}#[nl]#[nl]fhem("set#[sp]$SELF#[sp]intervall_time#[sp]".$timer)#[se]#[nl]fhem("set#[sp]$SELF#[sp]intervall_percent#[sp]".$percent)#[se]#[nl]fhem("set#[sp]$SELF#[sp]pct#[sp]".$ziel)#[se]#[nl]#[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]4#[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-29 11:04:54 .Device_Events .*#[tr]no_trigger
setstate Slowdimmer 2020-01-29 09:21:01 .First_init done
setstate Slowdimmer 2020-01-29 09:21:01 .Trigger_cmd_off no_trigger
setstate Slowdimmer 2020-01-29 09:21:01 .Trigger_cmd_on .*
setstate Slowdimmer 2020-01-29 09:22:07 .Trigger_condition "$EVENT"#[sp]=#[ti]#[sp]m/(dimm#[pt]*)|(pct#[pt]*)|(stop#[pt]*)/
setstate Slowdimmer 2020-01-29 09:21:01 .Trigger_off no_trigger
setstate Slowdimmer 2020-01-29 09:21:01 .Trigger_on no_trigger
setstate Slowdimmer 2020-01-29 09:22:07 .Trigger_time
setstate Slowdimmer 2020-01-29 09:21:01 .V_Check V2.00
setstate Slowdimmer 2020-01-29 09:21:01 .sortby show
setstate Slowdimmer 2020-01-29 11:04:54 EVENT pct:50
setstate Slowdimmer 2020-01-29 11:04:54 EVTFULL HUEDevice2:pct:50
setstate Slowdimmer 2020-01-29 11:04:54 EVTPART1 HUEDevice2
setstate Slowdimmer 2020-01-29 11:04:54 EVTPART2 pct
setstate Slowdimmer 2020-01-29 11:04:54 EVTPART3 50
setstate Slowdimmer 2020-01-29 09:22:07 Trigger_device HUEDevice2
setstate Slowdimmer 2020-01-29 09:21:01 Trigger_log off
setstate Slowdimmer 2020-01-29 11:04:54 akt_driving dimming_none
setstate Slowdimmer 2020-01-29 09:23:20 autostop off
setstate Slowdimmer 2020-01-29 11:04:44 dimm 10,50,5
setstate Slowdimmer 2020-01-29 11:05:41 intervall_percent 1
setstate Slowdimmer 2020-01-29 11:05:40 intervall_time 00:00:01
setstate Slowdimmer 2020-01-29 11:05:41 last_activation_by event
setstate Slowdimmer 2020-01-29 11:04:55 last_cmd 1
setstate Slowdimmer 2020-01-29 11:04:54 last_event pct:50
setstate Slowdimmer 2020-01-29 11:04:55 last_exec_cmd set test exec_cmd_1 ID 1
setstate Slowdimmer 2020-01-29 11:04:44 pct 50
setstate Slowdimmer 2020-01-29 11:04:54 startpoint undefiniert
setstate Slowdimmer 2020-01-29 11:04:54 state on
setstate Slowdimmer 2020-01-29 10:59:03 stop on
setstate Slowdimmer 2020-01-29 11:04:54 target_ewrartet 50
setstate Slowdimmer 2020-01-29 11:04:54 target_is 50
setstate Slowdimmer 2020-01-29 11:04:54 target_next 50
PS: den slider kannst du über das attribut 'setlist' auf 1-100 statt 0-100 ändern.
den teil pct:slider,0,1,100
ändern in pct:slider,1,1,100
gruss Byte09
Danke!!!!!
Zitat von: psycho160 am 29 Januar 2020, 11:30:30
Danke!!!!!
... gerne.
Das Teil ist schon recht komplex. Wenn es Probleme gibt melde dich einfach.
gruss Byte09
eine allgemeine frage nocht, geht das irgendwie, dass in der Freecmd Inputbox auch mittels codemirror dargesellt wird? bin schon so vom syntax highlighting verwöhnt :-P
Zitat von: psycho160 am 29 Januar 2020, 12:01:34
eine allgemeine frage nocht, geht das irgendwie, dass in der Freecmd Inputbox auch mittels codemirror dargesellt wird? bin schon so vom syntax highlighting verwöhnt :-P
nein , ich habe mich damit noch nie beschäftigt. Muss ich mir mal anschauen ob das machbar wäre.
gruss Byte09
ich habe mich jetzt mal ein wenig damit beschäftigt. Leider bin ich irgendwie nicht in der Lage das einzubinden. Sollte im Grunde kein Thema sein - da entsprechende 'bilbliotheken' ja bereits vorhanden sind.
....aber für mich scheinbar ein Problem. Wenn ich jemanden finde , der sich damit auskennt gehe ich das ggf. nochmal an.
Ich habe da auch nicht die nötige Geduld, wenn ich ewig auf der Stelle trete ohne auch nur ein Stück weiterzukommen ;)
gruss Byte09
Mit morgigem Fhemupdate ist dieses Device in den vorkonfigurierten Devices vorhanden , ein Raw-import ist dann nicht mehr notwendig.
*edit: oder über heutiges Update mit:
update all https://raw.githubusercontent.com/Byte009/FHEM-MSwitch/master/controls_mswitch.txt
MSwitch muss mindestens in der Version V3.0 vorliegen !
Zur Einrichtung:
- Mswitch anlegen : define NAME MSwitch
- In den Wizardmode gehen: set NAME wizard
- den Modus 'import PRECONF' wählen ( Button )
- device 'Slowdimmer' wählen ( Dropdownfeld )
- Button 'importiere dieses MSwitch' klicken
- bei 'auslösendes Gerät' die zu steuernde Lampe wählen - es werden nur Geräte angeboten die ptc unterstützen
- Button 'Trigger speichern' klicken
- Fertig !
falls du Lust hast kannst du es ja in das Wiki setzen ;)
gruss Byte09
Zitat von: Byte09 am 30 Januar 2020, 11:05:44
Mit morgigem Fhemupdate ist dieses Device in den vorkonfigurierten Devices vorhanden , ein Raw-import ist dann nicht mehr notwendig.
*edit: oder über heutiges Update mit:
update all https://raw.githubusercontent.com/Byte009/FHEM-MSwitch/master/controls_mswitch.txt
MSwitch muss mindestens in der Version V3.0 vorliegen !
Zur Einrichtung:
- Mswitch anlegen : define NAME MSwitch
- In den Wizardmode gehen: set NAME wizard
- den Modus 'import PRECONF' wählen ( Button )
- device 'Slowdimmer' wählen ( Dropdownfeld )
- Button 'importiere dieses MSwitch' klicken
- bei 'auslösendes Gerät' die zu steuernde Lampe wählen - es werden nur Geräte angeboten die ptc unterstützen
- Button 'Trigger speichern' klicken
- Fertig !
falls du Lust hast kannst du es ja in das Wiki setzen ;)
gruss Byte09
Hallo,
ich wollte diese Schritte jetzt einmal abarbeiten da ich auch einen shelly dimmer verwende. Die ersten beiden Punkte klappen bei mir, danach ist MSwitch im Konfigurationsmodus. Und nun? Klicke ich auf MSwitch erhalte ich die Fehlermeldung aus der angehängten Datei.
Mache ich etwas falsch, oder muss das für Anfänger einfach noch weiter step für step runtergebrochen werden?
Gruß
Jan
hmm, ich bin auf der Arbeit und schaue mir das an, wenn ich zu Hause bin. Wann genau kommt die Fehlermeldung?... damit ich es ggf reproduzieren kann.
lässt sich Import Preconfig anklicken?
gruss Byte09
PS. Die GitHub Version ist überholt, du nutzt dia aktuelle Version aus dem Fhemupdate?
Gesendet von meinem ELE-L29 mit Tapatalk
Hi,
ja ich habe FHEM erst gerade aktualisiert, ich nutze nichts aus Git.
Ich gebe ein: "set MSwitch wizard" nachdem ich Eingabe gedrückt habe springt FHEM irgendwi in die Hauptdarstellung.
Klicke ich dann auf die MSwitch_Devices erscheint: MSwitch ist im Konfigurationsmodus. Klicke ich dann auf MSwitch folgt die Meldung.
Vielleicht ist das von der Reihenfolge ja auch alles total falsch was ich mache....
Gruß
Jan
Zitat von: stratege-0815 am 18 März 2020, 15:48:45
Hi,
ja ich habe FHEM erst gerade aktualisiert, ich nutze nichts aus Git.
Ich gebe ein: "set MSwitch wizard" nachdem ich Eingabe gedrückt habe springt FHEM irgendwi in die Hauptdarstellung.
Klicke ich dann auf die MSwitch_Devices erscheint: MSwitch ist im Konfigurationsmodus. Klicke ich dann auf MSwitch folgt die Meldung.
Vielleicht ist das von der Reihenfolge ja auch alles total falsch was ich mache....
Gruß
Jan
lösche das device bitte und legeein neues an , möglichst nicht mit dem namen MSwitch , ggf. resultiert das problem daher ( muss ich mir anschauen ).
define TEST MSwitch
danach gehst du über die dropdownsetlist auf wizard - schau bitte mal ob es dann geht.
gruss Byte09
edit : habe mir das kurz angeschaut. Der Mode ist
fehlerfrei nur über die dropdownliste zu erreichen . eine eingabe über über die cmdline führt unter anderem zu diesem Fehler. ich werde das Problem die Tage beheben.
gruss Byte09
Hi.
Zur Info, der Fehler kommt auch bei der von dir beschiebenen Vorgehensweise.
Sowohl bei Benennung des MSwitch als TEST wie auch wenn ich in der Oberfläche auf "set" klicke - "wizard" ist hier schon voreingestellt, da der einzige Eintrag.
Es macht auch keinen Unterschied ob ich nach dem define zuerst ein "save config" ausführe oder nicht.
Gruß
Jan
Zitat von: stratege-0815 am 18 März 2020, 17:05:24
Hi.
Zur Info, der Fehler kommt auch bei der von dir beschiebenen Vorgehensweise.
Sowohl bei Benennung des MSwitch als TEST wie auch wenn ich in der Oberfläche auf "set" klicke - "wizard" ist hier schon voreingestellt, da der einzige Eintrag.
Es macht auch keinen Unterschied ob ich nach dem define zuerst ein "save config" ausführe oder nicht.
Gruß
Jan
hmm, ok ... dann habe ich gerade das problem , das ich den Fehler nicht reproduzieren kann. was für einen browser nutzt du ?
gruss Byte09
Gestern habe ich Firefox verwendet. Ich kann es mir gleich mal in anderen Browsern ansehen.
Der Effekt ist unabhängig vom verwendeten Browser.
Ich habe das selbe Problem, mit Firefox und Edge!
Zitat von: sparkiie am 21 März 2020, 12:27:52
Ich habe das selbe Problem, mit Firefox und Edge!
Lider kann ich das Problem nachwievor nicht nachvollziehen . Ich kann es auf 3 verschiedenen Sytemen mit diversen Endgeräten nicht reproduzieren.
könnt ihr mir bitte noch mal schritt für schritt sagen was ihr tut ?
gruss Byte09
kann mir bitte mal jemand die betreffende Zeile aus dem Html-code ( am besten zeile 693 -700 ) schicken ?
... ohne diese habe ich keine Chance das Problem zu finden.
gruss Byte09
Ich gehe wie folgt vor:
define Slowdimmer MSwitch > ok
set Slowdimmer wizard (über das Dropdown) > Fehlermeldung
Zeile 691 endet mit '];
Zeile 692 endet mit ; > hier fehlt ein ' und ein ]
danke , ich kann das Problem jetzt eingrenzen und werde das heute oder morgen beheben. wird von der import at/notify - funktion verursacht und da ich weder das eine noch das andere in meinem system nutze kommt es bei mir nicht zum tragen.
gruss Byte09
ich habe die Funktionen importat und importnotify mit der heutigen updateversion vorerst deaktiviert, da ich glaube das der fehler daher kommt. ihr könnt ja mal versuchen ob der fehler jetzt weg ist. ( nach heutigem update )
gruss Byte09
Zitat von: Byte09 am 22 März 2020, 05:07:16
ich habe die Funktionen importat und importnotify mit der heutigen updateversion vorerst deaktiviert, da ich glaube das der fehler daher kommt. ihr könnt ja mal versuchen ob der fehler jetzt weg ist. ( nach heutigem update )
Funktioniert jetzt prima, vielen Dank!
gruss Byte09
Ja, der Fehler ist weg.
Nun muss ich mich nur noch einarbeiten und verstehen wie ich in MSwitch die ganzen Knöpfe und Regler bediene um daraus meinen Tageslichtwecker zu bauen.
Die Einrichtung ist wirklich sehr einfach!
Doch eine Frage noch:
Könnte man die Dimming Schritte editierbar machen?
Ich würde gerne kleinere Sprünge machen, damit das Licht auch in kurzer Zeit sanfter gedimmt wird.
Zitat von: sparkiie am 22 März 2020, 12:39:40
Die Einrichtung ist wirklich sehr einfach!
Doch eine Frage noch:
Könnte man die Dimming Schritte editierbar machen?
Ich würde gerne kleinere Sprünge machen, damit das Licht auch in kurzer Zeit sanfter gedimmt wird.
Hi ,
mit folgendem befehl in der cmdline bekommst du vollen zugriff auf alle Befehlsausführungen und kannst nach belieben Änderungen vornehmen:
deletereading DEVICENAME .lock
Im grunde kannst du ahand der dropdownfelder schon entsprechende einstellungen machen ( zeitintervall - allle angegebenen sekunden erfolgt eine änderung und prozent - alle x sekunden erfolgt eine änderung um y prozent )
dieses ist zwar noch kürzer machbar - aber die frage ist ob das system das dann mitmacht ( wird entsprechend system und ggf. sehr funklastig ) - musst du probieren.
gruss Byte09
edit:
im grunde reicht es aber auch schon das attribut 'setlist' entsprechend anzupassen.
Zitatstartpoint dimm 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
intervall_time und intervall_percent sind hier masgeblich.
gruss Byte09
Zitat von: sparkiie am 22 März 2020, 12:39:40
Die Einrichtung ist wirklich sehr einfach!
Was hast du denn konkret gemacht bzw. erreicht?
Gruß
Jan
Ich habe über einen Dummy einen Tradfri Trafo mit 3 Leuchten in 30 Sekunden augenschonend auf 100% fahren lassen.
Irgendwie kapiere ich nicht wie ich den slowdimmer jetzt ansteuern kann.
Zitat von: stratege-0815 am 23 März 2020, 09:57:19
Irgendwie kapiere ich nicht wie ich den slowdimmer jetzt ansteuern kann.
set Device pct 100 (0-100)
gruss Byte09
Gesendet von meinem ELE-L29 mit Tapatalk
Zitat von: Byte09 am 23 März 2020, 10:02:07
set Device pct 100 (0-100)
gruss Byte09
Gesendet von meinem ELE-L29 mit Tapatalk
Ist "Device" bei dir jetzt der MSwitch ?
Wenn ich eingebe: "set myMSwitch pct 100" kommt nichts bei meinem Shelly Device "Dimmer_Schalfzimmer" an
Bei FHEM Neustart erscheinen noch folgende Fehler im log:
2020.03.23 10:56:26 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_MSwitch.pm line 1234.
2020.03.23 10:56:26 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_MSwitch.pm line 10760.
2020.03.23 12:28:13 1: PERL WARNING: Use of uninitialized value $errors in pattern match (m//) at ./FHEM/98_MSwitch.pm line 4628.
Eventuell habe ich das ganze noch nicht richtig eingerichtet?
2020.03.23 12:36:03 1: [Shelly_dim] has invalid JSON data
2020.03.23 12:36:11 1: [Shelly_dim] has invalid JSON data
2020.03.23 12:36:14 1: [Shelly_dim] has invalid JSON data
2020.03.23 12:36:16 1: [Shelly_dim] has invalid JSON data
Darüber bin ich auch gerade noch gestolpert
Im MSwitch gibt es eine option 'get device supportinfo'.
Klick das in der dropdownliste mal an poste mir die Daten die du bekommst.
gruss Byte09
Gesendet von meinem ELE-L29 mit Tapatalk
Meinst du "get ... config" ?
Ich habe einfach mal screenshots angehängt.
,,supportinfo" sehe ich hier nirgendwo
Zitat von: stratege-0815 am 23 März 2020, 13:52:11
Meinst du "get ... config" ?
Ich habe einfach mal screenshots angehängt.
,,supportinfo" sehe ich hier nirgendwo
ok, sorry die "supportinfo gibt es in diesem mode nicht.
dann anders.
setze den slider mal auf 0 , die einstellbare zeit auf 00:00:01 und die prozentangabe auf 50.
danach das attribut MSwitch_debug auf 3.
dann 'lösche log'
dann den slider auff 100 setzen
warten bis sich nichts mehr tut , und dann das log hier posten.
bitte in code-tags - ist vermutlich ein lägeres log
gruss Byte09
So, ich weiss nicht ob das alles richtig geklappt hat.
Ich hänge das log hier als Datei an, als embedded code klappte es nicht - vielleicht zuviel Text.
Vielleicht kam es durch den Debug Modus, mein FHEM war fast nicht mehr bedienbar. Firefox meldete die ganze Zeit die Webseite würde den Rechner verlangsamen und der Raspberry Pi3 zeigte 50%-80% CPU Auslastung für FHEM.
Ich habe auch kein Problem den MSwitch zu löschen und dann alles neu anzulegen. Aber wahrscheinlich lande ich dann in der selben Situation.
Zitat von: stratege-0815 am 23 März 2020, 20:11:43
So, ich weiss nicht ob das alles richtig geklappt hat.
Ich hänge das log hier als Datei an, als embedded code klappte es nicht - vielleicht zuviel Text.
Vielleicht kam es durch den Debug Modus, mein FHEM war fast nicht mehr bedienbar. Firefox meldete die ganze Zeit die Webseite würde den Rechner verlangsamen und der Raspberry Pi3 zeigte 50%-80% CPU Auslastung für FHEM.
Ich habe auch kein Problem den MSwitch zu löschen und dann alles neu anzulegen. Aber wahrscheinlich lande ich dann in der selben Situation.
sorry, ich habe jetzt erst gesehen , das du das Log geposted hast. Ich schaue mir das heute abend oder morgen an.
gruss Byte09
edit:
ZitatVielleicht kam es durch den Debug Modus, mein FHEM war fast nicht mehr bedienbar. Firefox meldete die ganze Zeit die Webseite würde den Rechner verlangsamen und der Raspberry Pi3 zeigte 50%-80% CPU Auslastung für FHEM.
... das hängt damit zusammen , wie ich die Daten für die Liveansicht abgreife - in einer kommenden Version ist das geändert.
hi, ich melde mich nun noch mal mit einem ersten erfahrungsbericht. danke noochmal an byte09 für seine Bemühungen.
Ich habe das ganze aber nun mit einem 3 Zeiligem DOIF gelöst:
([06:19-06:30|8] and [Bewohner:state] eq "home" and [Dimmer:state] eq "pct") (
set Dimmer pct {([Dimmer:pct])+1}
)
DOELSEIF([Bewohner:state] ne "home" or [07:00|8])(set Dimmer off)
Wichtig: Das DOIF benötigt folggende Attribute:
attr di_SZ_wakeUp do always
attr di_SZ_wakeUp repeatcmd 30
attr di_SZ_wakeUp repeatsame 15:1
Alle 30 Sekunden wird pct um 1 erhöht, das ganze 15x (also es dimmt alle 30 Sekunden um 1 % höher)
MeinDOIF beginnt um 06:19, darum MUSS ich 1 min vorher den Shelly Dimmer in den "pct" state versetzen.
Das mache ich mit einem "at" um 06:18:
define Wecker at *06:18:00 set LD_SZ pct 3
(Das ganze halt an eure gewünschte Weckzeit anpassen...)
Das ganze weckt mich nun seit einigen Monaten sanft auf :)
lg
Ich habe noch einmal alles gelöscht und neu angelegt, upgedated habe ich auch noch einmal
Im FHEM log erhalte ich beim start ich immer noch diese Einträge:
2020.05.01 19:26:44 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_MSwitch.pm line 1234.
2020.05.01 19:26:44 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_MSwitch.pm line 10760.
Ich habe mich wieder an diese Schritte gehalten:
Zur Einrichtung:
- Mswitch anlegen : define NAME MSwitch
- In den Wizardmode gehen: set NAME wizard
- den Modus 'import PRECONF' wählen ( Button )
- device 'Slowdimmer' wählen ( Dropdownfeld )
- Button 'importiere dieses MSwitch' klicken
- bei 'auslösendes Gerät' die zu steuernde Lampe wählen - es werden nur Geräte angeboten die ptc unterstützen
- Button 'Trigger speichern' klicken
- Fertig !
Irgendwas ist da ja immer noch uninitialisiert, so scheint mir.
Zitat von: psycho160 am 01 April 2020, 05:32:29
hi, ich melde mich nun noch mal mit einem ersten erfahrungsbericht. danke noochmal an byte09 für seine Bemühungen.
Ich habe das ganze aber nun mit einem 3 Zeiligem DOIF gelöst:
([06:19-06:30|8] and [Bewohner:state] eq "home" and [Dimmer:state] eq "pct") (
set Dimmer pct {([Dimmer:pct])+1}
)
DOELSEIF([Bewohner:state] ne "home" or [07:00|8])(set Dimmer off)
Wichtig: Das DOIF benötigt folggende Attribute:
attr di_SZ_wakeUp do always
attr di_SZ_wakeUp repeatcmd 30
attr di_SZ_wakeUp repeatsame 15:1
Alle 30 Sekunden wird pct um 1 erhöht, das ganze 15x (also es dimmt alle 30 Sekunden um 1 % höher)
MeinDOIF beginnt um 06:19, darum MUSS ich 1 min vorher den Shelly Dimmer in den "pct" state versetzen.
Das mache ich mit einem "at" um 06:18:
define Wecker at *06:18:00 set LD_SZ pct 3
(Das ganze halt an eure gewünschte Weckzeit anpassen...)
Das ganze weckt mich nun seit einigen Monaten sanft auf :)
lg
Kannst du vielleicht mal einen vollständigen Screenshot von deinem MSwitch posten, ich glaube da ist bei meiner Umgebung noch irgendwas unvollständig.
Zitat von: stratege-0815 am 01 Mai 2020, 21:58:57
Kannst du vielleicht mal einen vollständigen Screenshot von deinem MSwitch posten, ich glaube da ist bei meiner Umgebung noch irgendwas unvollständig.
Wer lesen kann ist klar im Vorteil. Du machst das ja ohne den MSwitch. Das läuft bei mir jetzt auch in einer rudimentären Konfiguration ohne MSwitch die ich nur noch an meine Bedürfnisse anpassen muss.
Trotzem Danke allen Beteiligten.