98_MSwitch - Support

Begonnen von Byte09, 25 März 2018, 12:19:58

Vorheriges Thema - Nächstes Thema

Byte09

Ich bekomme diese warnings nicht, werde wohl heute abend mal mein perl aktualisieren müssen. 

Gruss Byte09

Gesendet von meinem SM-G900F mit Tapatalk


DeeSPe

Zitat von: Byte09 am 04 April 2019, 12:50:55
Ich bekomme diese warnings nicht, werde wohl heute abend mal mein perl aktualisieren müssen. 

Gruss Byte09

Gesendet von meinem SM-G900F mit Tapatalk

Egal ob Du die Warnungen bekommst oder nicht, wenn geschweifte Klammern im Regex matchen sollen, dann müssen Sie escaped werden, ansonsten sind die geschweiften Klammern ja für Repetitions im Regex reserviert.
Ich habe mein Testsystem übrigens auf einer Windows-Workstation.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Byte09

#647
Update auf V2.20

ab morgen ist das Update auf Version 2.20 verfügbar.

änderungen:
- diverse Perlwarnings behoben ( danke @ deespe )
- geändertes startverhalten in Bezug auf sich selber Triggernde MSwitchdevices
- gesetzte verzögerte Befehle ( delay,at ) überstehen jetzt einen Fhemneustart

neu: (Funktion zur Erkennung von Sequenzen)
- ATTR MSwitch_Sequenz
- ATTR MSwitch_Sequenz_time
- Reading SEQUENCE <match/no_match>
- Reading SEQUENCE_NUMBER <1-x>

mehr zu den neuen Attributen und Readings werde ich heute Nachmittag im Wiki nachtragen.

die Ankündigung , das delays und ats auch einen Fhemabsturz überstehen , werde ich erst mit der folgenden Version umsetzen.


gruss Byte09


Byte09

#648
im Anhang ein Beispiel zu der neuen Sequenze-Funktion ( enthalten im heutigen Update ).

die rawdefinitionen legt ein Mswitch und einen dummy im raum code an. Das Mswitch reagiert nur bei eingabe des richtigen codes im dummy ( innerhalb von 7 sekunden )

die beispielcodes, auf die reagiert wird lauten 7901 oder 7902

gruss Byte09

defmod code MSwitch codedummy  # MSwitch_Self
attr code MSwitch_Debug 0
attr code MSwitch_Delete_Delays 1
attr code MSwitch_Expert 0
attr code MSwitch_Extensions 0
attr code MSwitch_Help 0
attr code MSwitch_Ignore_Types notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
attr code MSwitch_Include_Devicecmds 1
attr code MSwitch_Include_MSwitchcmds 0
attr code MSwitch_Include_Webcmds 0
attr code MSwitch_Inforoom MSwitch
attr code MSwitch_Lock_Quickedit 1
attr code MSwitch_Mode Notify
attr code MSwitch_Sequenz codedummy:state:7 codedummy:state:9 codedummy:state:0 codedummy:state:1/codedummy:state:7 codedummy:state:9 codedummy:state:0 codedummy:state:2
attr code MSwitch_Sequenz_time 7
attr code readingList foundcode
attr code room Code
attr code setList foundcode
attr code stateFormat SEQUENCE foundcode

defmod codedummy dummy
attr codedummy room Code
attr codedummy setList 1 2 3 4 5 6 7 8 9 0
attr codedummy webCmd 1:2:3:4:5:6:7:8:9:0

setstate code match CODE_Found_7902
setstate code 2019-04-07 10:01:29 .Device_Affected MSwitch_Self-AbsCmd1,MSwitch_Self-AbsCmd2,MSwitch_Self-AbsCmd3
setstate code 2019-04-07 10:03:40 .Device_Affected_Details MSwitch_Self-AbsCmd1#[NF]foundcode#[NF]no_action#[NF]CODE_Found_7901#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]SEQUENCE]#[sp]eq#[sp]"match"#[sp]AND#[sp][$SELF#[dp]SEQUENCE_Number]#[sp]eq#[sp]"1"#[NF]#[NF]0#[NF]0#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1#[ND]MSwitch_Self-AbsCmd2#[NF]foundcode#[NF]no_action#[NF]CODE_not_found#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]SEQUENCE]#[sp]eq#[sp]"no_match"#[NF]#[NF]0#[NF]0#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1#[ND]MSwitch_Self-AbsCmd3#[NF]foundcode#[NF]no_action#[NF]CODE_Found_7902#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][$SELF#[dp]SEQUENCE]#[sp]eq#[sp]"match"#[sp]AND#[sp][$SELF#[dp]SEQUENCE_Number]#[sp]eq#[sp]"2"#[NF]#[NF]0#[NF]0#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1
setstate code 2019-04-07 10:04:12 .Device_Events state:2#[tr]state:4#[tr].*#[tr]state:5#[tr]state:8#[tr]state:9#[tr]state:3#[tr]state:6#[tr]state:7#[tr]state:1#[tr]state:0#[tr]no_trigger
setstate code 2019-04-07 09:36:01 .First_init done
setstate code 2019-04-07 09:45:54 .Trigger_cmd_off no_trigger
setstate code 2019-04-07 09:45:54 .Trigger_cmd_on .*
setstate code 2019-04-07 09:38:34 .Trigger_condition
setstate code 2019-04-07 09:45:54 .Trigger_off no_trigger
setstate code 2019-04-07 09:45:54 .Trigger_on no_trigger
setstate code 2019-04-07 09:38:34 .Trigger_time
setstate code 2019-04-07 09:36:01 .V_Check V2.00
setstate code 2019-04-07 10:04:12 EVENT state:2
setstate code 2019-04-07 10:04:12 EVTFULL codedummy:state:2
setstate code 2019-04-07 10:04:12 EVTPART1 codedummy
setstate code 2019-04-07 10:04:12 EVTPART2 state
setstate code 2019-04-07 10:04:12 EVTPART3 2
setstate code 2019-04-07 10:04:11 SEQUENCE match
setstate code 2019-04-07 10:04:11 SEQUENCE_Number 2
setstate code 2019-04-07 09:38:34 Trigger_device codedummy
setstate code 2019-04-07 09:45:54 Trigger_log on
setstate code 2019-04-07 10:04:12 foundcode CODE_Found_7902
setstate code 2019-04-07 10:04:11 last_activation_by event
setstate code 2019-04-07 10:04:12 last_event state:2
setstate code 2019-04-07 10:04:12 last_exec_cmd set code foundcode CODE_Found_7902
setstate code 2019-04-07 10:04:20 state active

setstate codedummy 2
setstate codedummy 2019-04-07 10:04:11 state 2

wm1962

Hallo zusammen,

ich möchte einen Aktor schalten, wenn ich einen speziellen Code erhalte.
Ich habe das bisher über ein DOIF realisiert:
defmod di_Check_Dash_Buttton DOIF ([Dash_Button:Code] eq [xx_CompareDashButton] ) (set Sonoff_TH10_DG ON)
attr di_Check_Dash_Buttton do always
attr di_Check_Dash_Buttton room MQTT

setstate di_Check_Dash_Buttton initialized
setstate di_Check_Dash_Buttton 2019-04-09 12:48:22 Device Dash_Button
setstate di_Check_Dash_Buttton 2019-04-09 12:35:39 cmd 0
setstate di_Check_Dash_Buttton 2019-04-09 12:48:22 e_Dash_Button_Code 212
setstate di_Check_Dash_Buttton 2019-04-09 12:35:39 mode enabled
setstate di_Check_Dash_Buttton 2019-04-09 12:35:39 state initialized


defmod xx_CompareDashButton dummy
attr xx_CompareDashButton room MQTT

setstate xx_CompareDashButton 212
setstate xx_CompareDashButton 2019-04-07 11:48:18 state 212


Ich möchte nun auf MSwitch umstellen und habe den wie folgt definiert:
defmod flexDashboard MSwitch Dash_Button  # Sonoff_TH10_DG
attr flexDashboard MSwitch_Debug 0
attr flexDashboard MSwitch_Delete_Delays 1
attr flexDashboard MSwitch_Expert 0
attr flexDashboard MSwitch_Extensions 0
attr flexDashboard MSwitch_Help 1
attr flexDashboard MSwitch_Ignore_Types notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
attr flexDashboard MSwitch_Include_Devicecmds 1
attr flexDashboard MSwitch_Include_MSwitchcmds 0
attr flexDashboard MSwitch_Include_Webcmds 0
attr flexDashboard MSwitch_Inforoom MSwitch
attr flexDashboard MSwitch_Lock_Quickedit 1
attr flexDashboard MSwitch_Mode Notify
attr flexDashboard icon Restart
attr flexDashboard room MSwitch

setstate flexDashboard active
setstate flexDashboard 2019-04-09 11:58:07 .Device_Affected Sonoff_TH10_DG-AbsCmd1
setstate flexDashboard 2019-04-09 12:48:12 .Device_Affected_Details Sonoff_TH10_DG-AbsCmd1#[NF]ON#[NF]no_action#[NF]#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][Dash_Button#[dp]Code]#[sp]eq#[sp][xx_CompareDashButton]#[NF]#[NF]0#[NF]0#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1
setstate flexDashboard 2019-04-09 12:48:22 .Device_Events *#[tr]transmission-state:incoming publish received#[tr]no_trigger#[tr]Code:212
setstate flexDashboard 2019-04-09 08:52:12 .First_init done
setstate flexDashboard 2019-04-09 12:06:38 .Trigger_cmd_off no_trigger
setstate flexDashboard 2019-04-09 12:06:38 .Trigger_cmd_on transmission-state:incoming publish received
setstate flexDashboard 2019-04-09 09:27:05 .Trigger_condition
setstate flexDashboard 2019-04-09 12:06:38 .Trigger_off no_trigger
setstate flexDashboard 2019-04-09 12:06:38 .Trigger_on no_trigger
setstate flexDashboard 2019-04-09 09:27:05 .Trigger_time
setstate flexDashboard 2019-04-09 08:52:12 .V_Check V2.00
setstate flexDashboard 2019-04-09 12:48:22 EVENT Code:212
setstate flexDashboard 2019-04-09 12:48:22 EVTFULL Dash_Button:Code:212
setstate flexDashboard 2019-04-09 12:48:22 EVTPART1 Dash_Button
setstate flexDashboard 2019-04-09 12:48:22 EVTPART2 Code
setstate flexDashboard 2019-04-09 12:48:22 EVTPART3 212
setstate flexDashboard 2019-04-09 09:27:05 Trigger_device Dash_Button
setstate flexDashboard 2019-04-09 12:06:38 Trigger_log on
setstate flexDashboard 2019-04-09 12:48:22 last_activation_by event
setstate flexDashboard 2019-04-09 12:48:22 last_event Code:212
setstate flexDashboard 2019-04-09 12:07:01 last_exec_cmd set Sonoff_TH10_DG ON
setstate flexDashboard 2019-04-09 12:48:22 state active


Das ganze geht jedoch erst wenn ich beim MSwitch in der 'cmd1' condition:
[Dash_Button:Code] eq "212"
den Vergleichswert manuell eintrage

VG Wilfried
RPI 3 mit FHEM, 1x Stackable CUL (433MHz)

Byte09

Auf dem Handy etwas unübersichtlich [emoji848]. Schaue ich mir an, wenn ich heute Abend zuhause bin.

Gruß Byte09

Gesendet von meinem ELE-L29 mit Tapatalk


Byte09

#651
Zitat von: wm1962 am 09 April 2019, 13:05:47
Hallo zusammen,

ich möchte einen Aktor schalten, wenn ich einen speziellen Code erhalte.
Ich habe das bisher über ein DOIF realisiert:
defmod di_Check_Dash_Buttton DOIF ([Dash_Button:Code] eq [xx_CompareDashButton] ) (set Sonoff_TH10_DG ON)
attr di_Check_Dash_Buttton do always
attr di_Check_Dash_Buttton room MQTT

setstate di_Check_Dash_Buttton initialized
setstate di_Check_Dash_Buttton 2019-04-09 12:48:22 Device Dash_Button
setstate di_Check_Dash_Buttton 2019-04-09 12:35:39 cmd 0
setstate di_Check_Dash_Buttton 2019-04-09 12:48:22 e_Dash_Button_Code 212
setstate di_Check_Dash_Buttton 2019-04-09 12:35:39 mode enabled
setstate di_Check_Dash_Buttton 2019-04-09 12:35:39 state initialized


defmod xx_CompareDashButton dummy
attr xx_CompareDashButton room MQTT

setstate xx_CompareDashButton 212
setstate xx_CompareDashButton 2019-04-07 11:48:18 state 212


Ich möchte nun auf MSwitch umstellen und habe den wie folgt definiert:
defmod flexDashboard MSwitch Dash_Button  # Sonoff_TH10_DG
attr flexDashboard MSwitch_Debug 0
attr flexDashboard MSwitch_Delete_Delays 1
attr flexDashboard MSwitch_Expert 0
attr flexDashboard MSwitch_Extensions 0
attr flexDashboard MSwitch_Help 1
attr flexDashboard MSwitch_Ignore_Types notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
attr flexDashboard MSwitch_Include_Devicecmds 1
attr flexDashboard MSwitch_Include_MSwitchcmds 0
attr flexDashboard MSwitch_Include_Webcmds 0
attr flexDashboard MSwitch_Inforoom MSwitch
attr flexDashboard MSwitch_Lock_Quickedit 1
attr flexDashboard MSwitch_Mode Notify
attr flexDashboard icon Restart
attr flexDashboard room MSwitch

setstate flexDashboard active
setstate flexDashboard 2019-04-09 11:58:07 .Device_Affected Sonoff_TH10_DG-AbsCmd1
setstate flexDashboard 2019-04-09 12:48:12 .Device_Affected_Details Sonoff_TH10_DG-AbsCmd1#[NF]ON#[NF]no_action#[NF]#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][Dash_Button#[dp]Code]#[sp]eq#[sp][xx_CompareDashButton]#[NF]#[NF]0#[NF]0#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1
setstate flexDashboard 2019-04-09 12:48:22 .Device_Events *#[tr]transmission-state:incoming publish received#[tr]no_trigger#[tr]Code:212
setstate flexDashboard 2019-04-09 08:52:12 .First_init done
setstate flexDashboard 2019-04-09 12:06:38 .Trigger_cmd_off no_trigger
setstate flexDashboard 2019-04-09 12:06:38 .Trigger_cmd_on transmission-state:incoming publish received
setstate flexDashboard 2019-04-09 09:27:05 .Trigger_condition
setstate flexDashboard 2019-04-09 12:06:38 .Trigger_off no_trigger
setstate flexDashboard 2019-04-09 12:06:38 .Trigger_on no_trigger
setstate flexDashboard 2019-04-09 09:27:05 .Trigger_time
setstate flexDashboard 2019-04-09 08:52:12 .V_Check V2.00
setstate flexDashboard 2019-04-09 12:48:22 EVENT Code:212
setstate flexDashboard 2019-04-09 12:48:22 EVTFULL Dash_Button:Code:212
setstate flexDashboard 2019-04-09 12:48:22 EVTPART1 Dash_Button
setstate flexDashboard 2019-04-09 12:48:22 EVTPART2 Code
setstate flexDashboard 2019-04-09 12:48:22 EVTPART3 212
setstate flexDashboard 2019-04-09 09:27:05 Trigger_device Dash_Button
setstate flexDashboard 2019-04-09 12:06:38 Trigger_log on
setstate flexDashboard 2019-04-09 12:48:22 last_activation_by event
setstate flexDashboard 2019-04-09 12:48:22 last_event Code:212
setstate flexDashboard 2019-04-09 12:07:01 last_exec_cmd set Sonoff_TH10_DG ON
setstate flexDashboard 2019-04-09 12:48:22 state active


Das ganze geht jedoch erst wenn ich beim MSwitch in der 'cmd1' condition:
[Dash_Button:Code] eq "212"
den Vergleichswert manuell eintrage

Hi,

da liegt daran , das MSwitch mit [xx_CompareDashButton] nichts anfangen kann. es muss ein konkreter verweis auf ein device und ein reading sein.

versuch bitte mal [xx_CompareDashButton:state]

das problem kannst du ganz gut sehen , wenn du das attribut MSwitch_Debug mal auf 1 setzt . dann hast du neben dem Conditionfeld einen Button 'check condition'. wenn du dieses klickst bekommst du eine Fehlermeldung - das dort was nicht passt - so wie du es angegeben hast .

gruss Byte09

PS: der dummy xx_CompareDashButton ist dann im grunde auch nicht nötig. das könntest du direkt in das MSwitch integrieren.


wm1962

Hi Byte09,

mit [xx_CompareDashButton:state]
hats funktioniert, vielen Dank.

Zitat von: Byte09 am 09 April 2019, 18:24:35
PS: der dummy xx_CompareDashButton ist dann im grunde auch nicht nötig. das könntest du direkt in das MSwitch integrieren.
Wie würde da deine Lösung aussehen?

VG Wilfried
RPI 3 mit FHEM, 1x Stackable CUL (433MHz)

Byte09

Zitat von: wm1962 am 09 April 2019, 19:39:27
Hi Byte09,

mit [xx_CompareDashButton:state]
hats funktioniert, vielen Dank.
Wie würde da deine Lösung aussehen?

VG Wilfried

ich würde direkt im MSwitch-Device das Reading z.B. 'Code' definieren, mit attribut setlist und readingList - jeweils 'Code'.

dann kannst du den sollcode direkt im MSwitch mit set DEVICE Code CODE eingeben.

der Vergleich muss dan halt [$SELF:Code] sein.

( Ich mag es halt sowenig wie möglich devices zu haben )

gruss Byte09



wm1962

Hi Byte09,

danke das mit Code hat super funktioniert.

Jetzt habe ich noch eine weitere Frage: Ich experimentiere noch mit dem Sunset/Sunrise aus https://forum.fhem.de/index.php/topic,99409.0.html
und komme da noch nicht richtig voran. Kannst du die Konfiguration mal anschauen, und kann ich den auslösenden Event irgendwie simulieren?

VG Wilfried

defmod flexAtSunset MSwitch flexAtSunset # Sonoff_TH10_DG
attr flexAtSunset MSwitch_Debug 0
attr flexAtSunset MSwitch_Delete_Delays 1
attr flexAtSunset MSwitch_Event_Id_Distributor delay:.*=>cmd1 ID 1\

attr flexAtSunset MSwitch_Expert 1
attr flexAtSunset MSwitch_Extensions 0
attr flexAtSunset MSwitch_Help 1
attr flexAtSunset MSwitch_Ignore_Types notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
attr flexAtSunset MSwitch_Include_Devicecmds 1
attr flexAtSunset MSwitch_Include_MSwitchcmds 0
attr flexAtSunset MSwitch_Include_Webcmds 0
attr flexAtSunset MSwitch_Inforoom MSwitch
attr flexAtSunset MSwitch_Lock_Quickedit 1
attr flexAtSunset MSwitch_Mode Notify
attr flexAtSunset icon weather_sunrise@yellow
attr flexAtSunset readingList delay
attr flexAtSunset room MSwitch,Rolladen
attr flexAtSunset setList delay:slider,-3600,60,8000
attr flexAtSunset webCmd delay
attr flexAtSunset webCmdLabel sunrise_offset

setstate flexAtSunset active
setstate flexAtSunset 2019-04-08 19:07:21 .Device_Affected Sonoff_TH10_DG-AbsCmd1
setstate flexAtSunset 2019-04-08 19:07:21 .Device_Affected_Details Sonoff_TH10_DG-AbsCmd1#[NF]ON#[NF]no_action#[NF]#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]#[NF]#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1
setstate flexAtSunset 2019-04-09 12:08:28 .Device_Events no_trigger#[tr]*
setstate flexAtSunset 2019-04-08 19:07:21 .First_init done
setstate flexAtSunset 2019-04-08 19:10:08 .Trigger_Whitelist undef
setstate flexAtSunset 2019-04-09 12:08:41 .Trigger_cmd_off no_trigger
setstate flexAtSunset 2019-04-09 12:08:41 .Trigger_cmd_on *
setstate flexAtSunset 2019-04-08 19:10:08 .Trigger_condition
setstate flexAtSunset 2019-04-09 12:08:41 .Trigger_off no_trigger
setstate flexAtSunset 2019-04-09 12:08:41 .Trigger_on no_trigger
setstate flexAtSunset 2019-04-08 19:10:08 .Trigger_time on~off~ononly[{sunrise("REAL",ReadingsVal("flexAtSunset","delay",0),"06#[dp]00","08#[dp]30")}]~offonly~onoffonly
setstate flexAtSunset 2019-04-08 19:07:21 .V_Check V2.00
setstate flexAtSunset 2019-04-08 19:07:21 .sysconf undef
setstate flexAtSunset 2019-04-08 19:07:21 Sys_Extension undef
setstate flexAtSunset 2019-04-08 19:10:08 Trigger_device MSwitch_Self
setstate flexAtSunset 2019-04-09 12:08:41 Trigger_log off
setstate flexAtSunset 2019-04-09 20:40:11 delay 2580
setstate flexAtSunset 2019-04-09 20:35:22 last_activation_by event
setstate flexAtSunset 2019-04-09 20:35:22 last_cmd 1
setstate flexAtSunset 2019-04-08 19:07:21 last_event state:active
setstate flexAtSunset 2019-04-09 20:35:22 last_exec_cmd set Sonoff_TH10_DG ON
setstate flexAtSunset 2019-04-09 21:04:50 state active
RPI 3 mit FHEM, 1x Stackable CUL (433MHz)

Byte09

#655
Kann ich leider erst morgen drüber schauen, sonst reißt mir meine Frau mir den Kopf ab [emoji12], sorry.

Ich melde mich morgen dazu.

Gruß Byte09

Gesendet von meinem ELE-L29 mit Tapatalk

Byte09

#656
Zitat von: wm1962 am 09 April 2019, 21:11:46
Hi Byte09,

danke das mit Code hat super funktioniert.

Jetzt habe ich noch eine weitere Frage: Ich experimentiere noch mit dem Sunset/Sunrise aus https://forum.fhem.de/index.php/topic,99409.0.html
und komme da noch nicht richtig voran. Kannst du die Konfiguration mal anschauen, und kann ich den auslösenden Event irgendwie simulieren?

VG Wilfried

defmod flexAtSunset MSwitch flexAtSunset # Sonoff_TH10_DG
attr flexAtSunset MSwitch_Debug 0
attr flexAtSunset MSwitch_Delete_Delays 1
attr flexAtSunset MSwitch_Event_Id_Distributor delay:.*=>cmd1 ID 1\

attr flexAtSunset MSwitch_Expert 1
attr flexAtSunset MSwitch_Extensions 0
attr flexAtSunset MSwitch_Help 1
attr flexAtSunset MSwitch_Ignore_Types notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
attr flexAtSunset MSwitch_Include_Devicecmds 1
attr flexAtSunset MSwitch_Include_MSwitchcmds 0
attr flexAtSunset MSwitch_Include_Webcmds 0
attr flexAtSunset MSwitch_Inforoom MSwitch
attr flexAtSunset MSwitch_Lock_Quickedit 1
attr flexAtSunset MSwitch_Mode Notify
attr flexAtSunset icon weather_sunrise@yellow
attr flexAtSunset readingList delay
attr flexAtSunset room MSwitch,Rolladen
attr flexAtSunset setList delay:slider,-3600,60,8000
attr flexAtSunset webCmd delay
attr flexAtSunset webCmdLabel sunrise_offset

setstate flexAtSunset active
setstate flexAtSunset 2019-04-08 19:07:21 .Device_Affected Sonoff_TH10_DG-AbsCmd1
setstate flexAtSunset 2019-04-08 19:07:21 .Device_Affected_Details Sonoff_TH10_DG-AbsCmd1#[NF]ON#[NF]no_action#[NF]#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]#[NF]#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1
setstate flexAtSunset 2019-04-09 12:08:28 .Device_Events no_trigger#[tr]*
setstate flexAtSunset 2019-04-08 19:07:21 .First_init done
setstate flexAtSunset 2019-04-08 19:10:08 .Trigger_Whitelist undef
setstate flexAtSunset 2019-04-09 12:08:41 .Trigger_cmd_off no_trigger
setstate flexAtSunset 2019-04-09 12:08:41 .Trigger_cmd_on *
setstate flexAtSunset 2019-04-08 19:10:08 .Trigger_condition
setstate flexAtSunset 2019-04-09 12:08:41 .Trigger_off no_trigger
setstate flexAtSunset 2019-04-09 12:08:41 .Trigger_on no_trigger
setstate flexAtSunset 2019-04-08 19:10:08 .Trigger_time on~off~ononly[{sunrise("REAL",ReadingsVal("flexAtSunset","delay",0),"06#[dp]00","08#[dp]30")}]~offonly~onoffonly
setstate flexAtSunset 2019-04-08 19:07:21 .V_Check V2.00
setstate flexAtSunset 2019-04-08 19:07:21 .sysconf undef
setstate flexAtSunset 2019-04-08 19:07:21 Sys_Extension undef
setstate flexAtSunset 2019-04-08 19:10:08 Trigger_device MSwitch_Self
setstate flexAtSunset 2019-04-09 12:08:41 Trigger_log off
setstate flexAtSunset 2019-04-09 20:40:11 delay 2580
setstate flexAtSunset 2019-04-09 20:35:22 last_activation_by event
setstate flexAtSunset 2019-04-09 20:35:22 last_cmd 1
setstate flexAtSunset 2019-04-08 19:07:21 last_event state:active
setstate flexAtSunset 2019-04-09 20:35:22 last_exec_cmd set Sonoff_TH10_DG ON
setstate flexAtSunset 2019-04-09 21:04:50 state active


nein , den Auslöser kannst du nicht simulieren , da es sich ja nicht um ein Event handelt sondern um eine reine Zeitsteuerung ( sonst ginge es mit set DEVICE fakeevent EVENT ) .

Aber du kannst die Schltzeit ja sehen ( nach jeder Änderung des Sliders ) mit 'get flexAtSunset active_timer show' ( das kannst du direkt in der Dropdownliste von 'get' anwählen).
Allerdings geht das nur für zukünftige Zeiten des gleichen Tages, da bereits vergangene Zeiten nicht mehr angelegt werden und dann eine Neuberechnung ( und setzen des Timers ) erst um 00:00:10 erfolgt.

mit dem Slider die Skunden einzustellen war wohl eher Suboptimal , das kannst du ja ggf. auf Minuten Ändern imdem du

[{sunrise("REAL",ReadingsVal("flexAtSunset","delay",0),"06:00","08:30")}] gegen
[{sunrise("REAL",(ReadingsVal("flexAtSunset","delay",0)*60),"06:00","08:30")}] ersetzt.

gruss Byte09

wm1962

Hallo Byte09,

ich komm noch nicht ganz klar.
Sobald ich den Slider bewege wird mein Aktor geschaltet.
2019-04-10 09:11:19 MSwitch flexAtSunset delay: 35
2019-04-10 09:11:19 MSwitch flexAtSunset last_activation_by: event
2019-04-10 09:11:19 MSwitch flexAtSunset EVENT: delay:35
2019-04-10 09:11:19 MSwitch flexAtSunset EVTFULL: flexAtSunset:delay:35
2019-04-10 09:11:19 MSwitch flexAtSunset EVTPART1: flexAtSunset
2019-04-10 09:11:19 MSwitch flexAtSunset EVTPART2: delay
2019-04-10 09:11:19 MSwitch flexAtSunset EVTPART3: 35
2019-04-10 09:11:19 MSwitch flexAtSunset last_event: delay:35
2019-04-10 09:11:19 MSwitch flexAtSunset EVENT: last_activation_by:event
2019-04-10 09:11:19 MSwitch flexAtSunset EVTFULL: flexAtSunset:last_activation_by:event
2019-04-10 09:11:19 MSwitch flexAtSunset EVTPART1: flexAtSunset
2019-04-10 09:11:19 MSwitch flexAtSunset EVTPART2: last_activation_by
2019-04-10 09:11:19 MSwitch flexAtSunset EVTPART3: event
2019-04-10 09:11:19 MSwitch flexAtSunset last_event: last_activation_by:event
2019-04-10 09:11:19 MSwitch flexAtSunset active
2019-04-10 09:11:19 MSwitch flexAtSunset last_exec_cmd: set Sonoff_TH10_DG ON
2019-04-10 09:11:19 MSwitch flexAtSunset last_cmd: 1


Und mit 'get flexAtSunset active_timer show' kommt:
Systemzeit: Wed Apr 10 09:06:57 2019
Schaltzeiten (at - kommandos).


aktive Delays:




und muß ich
setstate flexAtSunset 2019-04-10 09:05:28 Trigger_device MSwitch_Self
oder
setstate flexAtSunset 2019-04-10 09:04:00 Trigger_device no_trigger
einstellen.

VG Wilfried
RPI 3 mit FHEM, 1x Stackable CUL (433MHz)

Byte09

#658
Zitat von: wm1962 am 10 April 2019, 09:13:01
Hallo Byte09,

ich komm noch nicht ganz klar.
Sobald ich den Slider bewege wird mein Aktor geschaltet.
2019-04-10 09:11:19 MSwitch flexAtSunset delay: 35
2019-04-10 09:11:19 MSwitch flexAtSunset last_activation_by: event
2019-04-10 09:11:19 MSwitch flexAtSunset EVENT: delay:35
2019-04-10 09:11:19 MSwitch flexAtSunset EVTFULL: flexAtSunset:delay:35
2019-04-10 09:11:19 MSwitch flexAtSunset EVTPART1: flexAtSunset
2019-04-10 09:11:19 MSwitch flexAtSunset EVTPART2: delay
2019-04-10 09:11:19 MSwitch flexAtSunset EVTPART3: 35
2019-04-10 09:11:19 MSwitch flexAtSunset last_event: delay:35
2019-04-10 09:11:19 MSwitch flexAtSunset EVENT: last_activation_by:event
2019-04-10 09:11:19 MSwitch flexAtSunset EVTFULL: flexAtSunset:last_activation_by:event
2019-04-10 09:11:19 MSwitch flexAtSunset EVTPART1: flexAtSunset
2019-04-10 09:11:19 MSwitch flexAtSunset EVTPART2: last_activation_by
2019-04-10 09:11:19 MSwitch flexAtSunset EVTPART3: event
2019-04-10 09:11:19 MSwitch flexAtSunset last_event: last_activation_by:event
2019-04-10 09:11:19 MSwitch flexAtSunset active
2019-04-10 09:11:19 MSwitch flexAtSunset last_exec_cmd: set Sonoff_TH10_DG ON
2019-04-10 09:11:19 MSwitch flexAtSunset last_cmd: 1


Und mit 'get flexAtSunset active_timer show' kommt:
Systemzeit: Wed Apr 10 09:06:57 2019
Schaltzeiten (at - kommandos).


aktive Delays:




und muß ich
setstate flexAtSunset 2019-04-10 09:05:28 Trigger_device MSwitch_Self
oder
setstate flexAtSunset 2019-04-10 09:04:00 Trigger_device no_trigger
einstellen.

VG Wilfried

ich hab mir das gerade angeschaut. es kann nicht gehen , da du im zuge des kopierens/einrichtens/whatever einen teil des MSwitches gelöscht oder verloren hast ( Siehe Bild - fehlender Befehl ). Ich nehme an , als du den 'Sonoff_TH10_DG   ' ausgewählt hast , hast du nicht darauf geachtet , das in diesem Feld mehrere geräte gewählt werden können ( mit strg-maustaste ) und hast nur mit normalem klick dein device gewählt. dabei hast du wohl den anderen Befehl (device) gelöscht  ;)

Du kannst das Manuell einsetzen , oder du übernimmst die folgende config :

#V 2.20
#VS V2.00
#S Trigger_log -> off
#S .sysconf -> undef
#S EVTPART3 -> active
#S .Trigger_time -> on~off~ononly[{sunrise("REAL",ReadingsVal("flexAtSunset","delay",0),"06#[dp]00","08#[dp]30")}]~offonly~onoffonly
#S EVTPART2 -> state
#S .Device_Affected_Details -> MSwitch_Self-AbsCmd1#[NF]reload_timer#[NF]no_action#[NF]#[NF]#[NF]delay1#[NF]delay1#[NF]00:00:00#[NF]00:00:00#[NF]#[NF]#[NF]#[NF]#[NF]1#[NF]1#[NF]#[NF]0#[NF]0#[NF]1#[ND]Sonoff_TH10_DG-AbsCmd1#[NF]ON#[NF]no_action#[NF]#[NF]#[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
#S .Device_Events -> no_trigger *
#S .Trigger_Whitelist -> undef
#S .First_init -> done
#S EVTFULL -> flexAtSunset:state:active
#S state -> active
#S .Trigger_on -> no_trigger
#S delay -> 5580
#S .Device_Affected -> MSwitch_Self-AbsCmd1,Sonoff_TH10_DG-AbsCmd1
#S Trigger_device -> MSwitch_Self
#S .Trigger_cmd_on -> *
#S last_activation_by -> event
#S EVENT -> state:active
#S last_event -> state:active
#S .Trigger_off -> no_trigger
#S .V_Check -> V2.00
#S Sys_Extension -> undef
#S .Trigger_condition ->
#S .Trigger_cmd_off -> no_trigger
#S last_cmd -> 1
#S EVTPART1 -> flexAtSunset
#A webCmd -> delay
#A MSwitch_Include_MSwitchcmds -> 0
#A MSwitch_Ignore_Types -> notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
#A setList -> delay:slider,-3600,60,8000
#A readingList -> delay
#A MSwitch_Mode -> Notify
#A MSwitch_Lock_Quickedit -> 1
#A icon -> weather_sunrise@yellow
#A webCmdLabel -> sunrise_offset
#A MSwitch_Expert -> 1
#A MSwitch_Inforoom -> MSwitch
#A MSwitch_Extensions -> 0
#A MSwitch_Event_Id_Distributor -> delay:.*=>cmd1 ID 1#[nl]
#A MSwitch_Include_Devicecmds -> 1
#A room -> MSwitch,Rolladen
#A MSwitch_Debug -> 0
#A MSwitch_Include_Webcmds -> 0
#A MSwitch_Delete_Delays -> 1
#A MSwitch_Help -> 1


dazu gehst du im device auf get get_config . die dort angezeigte datei ersetzt du gegen die neue ( oben ) unsd save_changes drücken.

danach im modul unbedinbgt einmal 'modify_trigger_device' klicken.

damit sollte der fehlende teil dann vorhanden sein.

alternativ ist es ggf. einfacher das ganze device neu anzulegen , mit der geposteten raw-definition.

gruss Byte09



wm1962

Hallo,
ich hab das Device nun mit deinen RAW-Daten neu angelegt:
defmod flexat MSwitch flexat # MSwitch_Self Sonoff_TH10_DG
attr flexat MSwitch_Debug 0
attr flexat MSwitch_Delete_Delays 1
attr flexat MSwitch_Event_Id_Distributor delay:.*=>cmd1 ID 1\

attr flexat MSwitch_Expert 1
attr flexat MSwitch_Extensions 0
attr flexat MSwitch_Help 1
attr flexat MSwitch_Ignore_Types notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
attr flexat MSwitch_Include_Devicecmds 1
attr flexat MSwitch_Include_MSwitchcmds 0
attr flexat MSwitch_Include_Webcmds 0
attr flexat MSwitch_Inforoom MSwitch
attr flexat MSwitch_Lock_Quickedit 1
attr flexat MSwitch_Mode Notify
attr flexat icon weather_sunrise@yellow
attr flexat readingList delay
attr flexat room MSwitch,Rolladen
attr flexat setList delay:slider,-3600,60,8000
attr flexat webCmd delay
attr flexat webCmdLabel sunrise_offset

setstate flexat active
setstate flexat 2019-04-10 17:55:12 .Device_Affected MSwitch_Self-AbsCmd1,Sonoff_TH10_DG-AbsCmd1
setstate flexat 2019-04-10 17:55:02 .Device_Affected_Details MSwitch_Self-AbsCmd1#[NF]reload_timer#[NF]no_action#[NF]#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]#[NF]#[NF]1#[NF]1#[NF]#[NF]0#[NF]0#[NF]1#[ND]Sonoff_TH10_DG-AbsCmd1#[NF]ON#[NF]no_action#[NF]#[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]0#[NF]#[NF]0#[NF]0#[NF]1
setstate flexat 2019-04-10 17:56:07 .Device_Events no_trigger
setstate flexat 2019-04-10 17:55:02 .First_init done
setstate flexat 2019-04-10 17:55:02 .Trigger_cmd_off no_trigger
setstate flexat 2019-04-10 17:55:02 .Trigger_cmd_on *
setstate flexat 2019-04-10 17:55:18 .Trigger_condition
setstate flexat 2019-04-10 17:55:02 .Trigger_off no_trigger
setstate flexat 2019-04-10 17:55:02 .Trigger_on no_trigger
setstate flexat 2019-04-10 17:55:18 .Trigger_time on~off~ononly[{sunrise("REAL",ReadingsVal("flexAtSunset","delay",0),"06#[dp]00","08#[dp]30")}]~offonly~onoffonly
setstate flexat 2019-04-10 17:55:02 .V_Check V2.00
setstate flexat 2019-04-10 17:56:04 EVENT state:active
setstate flexat 2019-04-10 17:56:04 EVTFULL flexat:state:active
setstate flexat 2019-04-10 17:56:04 EVTPART1 flexat
setstate flexat 2019-04-10 17:56:04 EVTPART2 state
setstate flexat 2019-04-10 17:56:04 EVTPART3 active
setstate flexat 2019-04-10 17:55:18 Trigger_device MSwitch_Self
setstate flexat 2019-04-10 17:55:02 Trigger_log off
setstate flexat 2019-04-10 17:55:29 delay 3120
setstate flexat 2019-04-10 17:56:07 last_activation_by event
setstate flexat 2019-04-10 17:56:07 last_cmd 1
setstate flexat 2019-04-10 17:56:04 last_event state:active
setstate flexat 2019-04-10 17:56:07 last_exec_cmd set Sonoff_TH10_DG ON
setstate flexat 2019-04-10 17:56:07 state active



und mit get get_config
#V 2.20
#VS V2.00
#S last_event -> state:active
#S EVTPART1 -> flexat
#S state -> active
#S last_cmd -> 1
#S .Device_Affected -> MSwitch_Self-AbsCmd1,Sonoff_TH10_DG-AbsCmd1
#S last_activation_by -> event
#S EVTPART2 -> state
#S .Trigger_condition ->
#S .Trigger_time -> on~off~ononly[{sunrise("REAL",ReadingsVal("flexAtSunset","delay",0),"06#[dp]00","08#[dp]30")}]~offonly~onoffonly
#S Trigger_device -> MSwitch_Self
#S .Trigger_off -> no_trigger
#S EVTPART3 -> active
#S .Device_Affected_Details -> MSwitch_Self-AbsCmd1#[NF]reload_timer#[NF]no_action#[NF]#[NF]#[NF]delay1#[NF]delay1#[NF]00:00:00#[NF]00:00:00#[NF]#[NF]#[NF]#[NF]#[NF]1#[NF]1#[NF]#[NF]0#[NF]0#[NF]1#[ND]Sonoff_TH10_DG-AbsCmd1#[NF]ON#[NF]no_action#[NF]#[NF]#[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
#S .Trigger_on -> no_trigger
#S Trigger_log -> off
#S .Device_Events -> no_trigger
#S .Trigger_cmd_off -> no_trigger
#S EVENT -> state:active
#S delay -> 3120
#S .First_init -> done
#S .Trigger_cmd_on -> *
#S EVTFULL -> flexat:state:active
#S .V_Check -> V2.00
#A MSwitch_Delete_Delays -> 1
#A MSwitch_Expert -> 1
#A MSwitch_Lock_Quickedit -> 1
#A MSwitch_Include_MSwitchcmds -> 0
#A webCmdLabel -> sunrise_offset
#A webCmd -> delay
#A MSwitch_Debug -> 0
#A MSwitch_Ignore_Types -> notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
#A MSwitch_Help -> 1
#A MSwitch_Inforoom -> MSwitch
#A setList -> delay:slider,-3600,60,8000
#A MSwitch_Event_Id_Distributor -> delay:.*=>cmd1 ID 1#[nl]
#A icon -> weather_sunrise@yellow
#A MSwitch_Extensions -> 0
#A room -> MSwitch,Rolladen
#A MSwitch_Include_Webcmds -> 0
#A MSwitch_Mode -> Notify
#A MSwitch_Include_Devicecmds -> 1
#A readingList -> delay


Sobald ich den Slider bewege oder auf nur auf das Device klicke wird Der Aktor geschalten.
RPI 3 mit FHEM, 1x Stackable CUL (433MHz)