98_MSwitch - Support

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

Vorheriges Thema - Nächstes Thema

hermann1514

Zitat von: Byte09 am 13 November 2019, 17:19:46
anbei zwei MSwitch devices , wobei eines nur ein ersatzdummy statt der LED ist. sschau es dir einfach mal an , ggf. wird es dann klar - ansonsten melde dich einfach.

gruss Byte09

defmod MSwitch_fuer_LED MSwitch   # dummy_fuer_LED
attr MSwitch_fuer_LED MSwitch_Debug 0
attr MSwitch_fuer_LED MSwitch_Eventhistory 0
attr MSwitch_fuer_LED MSwitch_Expert 0
attr MSwitch_fuer_LED MSwitch_Help 0
attr MSwitch_fuer_LED MSwitch_Ignore_Types notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
attr MSwitch_fuer_LED MSwitch_Inforoom MSwitch
attr MSwitch_fuer_LED MSwitch_Mode Dummy
attr MSwitch_fuer_LED MSwitch_Selftrigger_always 1
attr MSwitch_fuer_LED room MSwitch_Devices
attr MSwitch_fuer_LED setList on off
attr MSwitch_fuer_LED useSetExtensions 1
attr MSwitch_fuer_LED webCmd on:off:on-for-timer 10

defmod dummy_fuer_LED MSwitch  # nodevices
attr dummy_fuer_LED MSwitch_Debug 0
attr dummy_fuer_LED MSwitch_Eventhistory 0
attr dummy_fuer_LED MSwitch_Expert 0
attr dummy_fuer_LED MSwitch_Help 0
attr dummy_fuer_LED MSwitch_Ignore_Types notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
attr dummy_fuer_LED MSwitch_Inforoom MSwitch
attr dummy_fuer_LED MSwitch_Mode Dummy
attr dummy_fuer_LED room MSwitch_Devices
attr dummy_fuer_LED setList on off dimmup dimmdown

setstate MSwitch_fuer_LED off
setstate MSwitch_fuer_LED 2019-11-13 17:09:13 .Device_Affected dummy_fuer_LED-AbsCmd1
setstate MSwitch_fuer_LED 2019-11-13 17:09:28 .Device_Affected_Details dummy_fuer_LED-AbsCmd1#[NF]on#[NF]off#[NF]#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]undefined#[NF]undefined#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1
setstate MSwitch_fuer_LED 2019-11-13 17:13:38 .Device_Events .*:off.*:.*#[tr].*:on.*:.*#[tr]no_trigger
setstate MSwitch_fuer_LED 2019-11-13 16:53:07 .First_init done
setstate MSwitch_fuer_LED 2019-11-13 17:13:33 .Trigger_cmd_off .*:off.*:.*
setstate MSwitch_fuer_LED 2019-11-13 17:13:33 .Trigger_cmd_on .*:on.*:.*
setstate MSwitch_fuer_LED 2019-11-13 17:13:33 .Trigger_off no_trigger
setstate MSwitch_fuer_LED 2019-11-13 17:13:33 .Trigger_on no_trigger
setstate MSwitch_fuer_LED 2019-11-13 16:53:07 .V_Check V2.00
setstate MSwitch_fuer_LED 2019-11-13 17:17:27 EVENT MSwitch_Self:off:
setstate MSwitch_fuer_LED 2019-11-13 17:17:27 EVTFULL MSwitch_fuer_LED:MSwitch_Self:off
setstate MSwitch_fuer_LED 2019-11-13 17:17:27 EVTPART1 MSwitch_fuer_LED
setstate MSwitch_fuer_LED 2019-11-13 17:17:27 EVTPART2 MSwitch_Self
setstate MSwitch_fuer_LED 2019-11-13 17:17:27 EVTPART3 off
setstate MSwitch_fuer_LED 2019-11-13 17:13:33 Trigger_log off
setstate MSwitch_fuer_LED 2019-11-13 17:17:28 last_activation_by manual
setstate MSwitch_fuer_LED 2019-11-13 17:17:27 last_event MSwitch_Self:off:
setstate MSwitch_fuer_LED 2019-11-13 17:17:28 last_exec_cmd set dummy_fuer_LED off
setstate MSwitch_fuer_LED 2019-11-13 17:17:28 state off

setstate dummy_fuer_LED off
setstate dummy_fuer_LED 2019-11-13 16:50:40 .Device_Affected no_device
setstate dummy_fuer_LED 2019-11-13 16:50:40 .Device_Events no_trigger
setstate dummy_fuer_LED 2019-11-13 16:50:40 .First_init done
setstate dummy_fuer_LED 2019-11-13 16:50:40 .Trigger_cmd_off no_trigger
setstate dummy_fuer_LED 2019-11-13 16:50:40 .Trigger_cmd_on no_trigger
setstate dummy_fuer_LED 2019-11-13 16:50:40 .Trigger_off no_trigger
setstate dummy_fuer_LED 2019-11-13 16:50:40 .Trigger_on no_trigger
setstate dummy_fuer_LED 2019-11-13 16:50:40 .V_Check V2.00
setstate dummy_fuer_LED 2019-11-13 16:50:40 Trigger_log off
setstate dummy_fuer_LED 2019-11-13 17:17:28 state off



Danke. Nun habe ich es wohl verstanden. Hatte das mit dem WEBCMD bei dem Device nicht gesetzt.

Tolle Arbeit. Daumen hoch ;-)

Gruß
Hermann

Wolle02

Hallo Thomas,

ich habe grade wieder etwas Probleme mit dem Dummy-Modus  ::)
Ich versuche einen MSwitch zu erstellen, der, wenn ich ihn anschalte, einen Alexa-Wecker generiert. Hierzu soll zunächst die Lautstärke auf 5 gestellt werden; nach 10 Sekunden soll eine Playlist gestartet werden; nach weiteren 10 Sekunden soll der Shuffle Modus aktiviert werden. Danach soll mit einem FreeCMD alle 30 Sekunden (zu Testzwecken) der Echo eingeschaltet und die Lautstärke um 10 erhöht werden.
Leider klappt das in der Praxis nicht so recht, weil nur die erste Aktion ausgeführt wird, die den Echo auf Volume 5 schaltet; danach passiert leider gar nichts mehr.

Hier ist die Raw-Definition von dem MSwitsch:

defmod Wecker_Niklas MSwitch       # FreeCmd ECHO_G090LF0965041A78
attr Wecker_Niklas MSwitch_Debug 0
attr Wecker_Niklas MSwitch_Eventhistory 0
attr Wecker_Niklas MSwitch_Expert 1
attr Wecker_Niklas MSwitch_Help 1
attr Wecker_Niklas MSwitch_Ignore_Types notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
attr Wecker_Niklas MSwitch_Inforoom MSwitch_Info
attr Wecker_Niklas MSwitch_Mode Dummy
attr Wecker_Niklas MSwitch_Selftrigger_always 1
attr Wecker_Niklas room MSwitch_Info,Steuerungen
attr Wecker_Niklas setList on off

setstate Wecker_Niklas off
setstate Wecker_Niklas 2019-11-14 14:13:12 .Device_Affected ECHO_G090LF0965041A78-AbsCmd1,ECHO_G090LF0965041A78-AbsCmd2,ECHO_G090LF0965041A78-AbsCmd3,FreeCmd-AbsCmd1
setstate Wecker_Niklas 2019-11-16 06:25:06 .Device_Affected_Details ECHO_G090LF0965041A78-AbsCmd1#[NF]volume#[NF]no_action#[NF]5#[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#[ND]ECHO_G090LF0965041A78-AbsCmd2#[NF]primeplayeigeneplaylist#[NF]no_action#[NF]f9fc6a1b-f9fe-4e78-93bb-73485239c93c#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]10#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]0#[NF]0#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1#[ND]ECHO_G090LF0965041A78-AbsCmd3#[NF]shuffle#[NF]no_action#[NF]on#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]20#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]0#[NF]0#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1#[ND]FreeCmd-AbsCmd1#[NF]cmd#[NF]cmd#[NF]{#[sp]my#[sp]$laut=ReadingsVal("ECHO_G090LF0965041A78"#[ko]"volume"#[ko]"5")#[se]#[nl]$laut=$laut+5#[se]#[sp]#[nl]fhem("set#[sp]ECHO_G090LF0965041A78#[sp]play#[se]#[nl]#[sp]#[sp]#[sp]#[sp]#[sp]#[sp]set#[sp]ECHO_G090LF0965041A78#[sp]volume#[sp]".$laut)#[sp]}#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]30#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]5#[NF]0#[NF]2#[NF]0#[NF]#[NF]0#[NF]0#[NF]1
setstate Wecker_Niklas 2019-11-16 06:26:05 .Device_Events MSwitch_Self:off:#[tr]MSwitch_Self:on:
setstate Wecker_Niklas 2019-11-13 19:18:09 .First_init done
setstate Wecker_Niklas 2019-11-13 19:23:25 .Trigger_cmd_off state:off
setstate Wecker_Niklas 2019-11-13 19:23:25 .Trigger_cmd_on state:on
setstate Wecker_Niklas 2019-11-13 19:23:25 .Trigger_off no_trigger
setstate Wecker_Niklas 2019-11-13 19:23:25 .Trigger_on no_trigger
setstate Wecker_Niklas 2019-11-13 19:18:09 .V_Check V2.00
setstate Wecker_Niklas 2019-11-16 06:15:11 .sortby none
setstate Wecker_Niklas 2019-11-16 06:26:05 EVENT MSwitch_Self:off:
setstate Wecker_Niklas 2019-11-16 06:26:05 EVTFULL Wecker_Niklas:MSwitch_Self:off
setstate Wecker_Niklas 2019-11-16 06:26:05 EVTPART1 Wecker_Niklas
setstate Wecker_Niklas 2019-11-16 06:26:05 EVTPART2 MSwitch_Self
setstate Wecker_Niklas 2019-11-16 06:26:05 EVTPART3 off
setstate Wecker_Niklas 2019-11-13 19:23:25 Trigger_log off
setstate Wecker_Niklas 2019-11-16 06:26:05 last_activation_by manual
setstate Wecker_Niklas 2019-11-16 06:26:05 last_cmd 2
setstate Wecker_Niklas 2019-11-16 06:26:05 last_event MSwitch_Self:off:
setstate Wecker_Niklas 2019-11-16 06:25:21 last_exec_cmd set ECHO_G090LF0965041A78 volume 5
setstate Wecker_Niklas 2019-11-16 06:26:05 state off


Kannst du mal schauen, wo ich hier einen Fehler reingebaut habe?

Danke und Gruß
Wolle

Byte09

#842
Zitat von: Wolle02 am 16 November 2019, 07:04:12
Hallo Thomas,

ich habe grade wieder etwas Probleme mit dem Dummy-Modus  ::)
Ich versuche einen MSwitch zu erstellen, der, wenn ich ihn anschalte, einen Alexa-Wecker generiert. Hierzu soll zunächst die Lautstärke auf 5 gestellt werden; nach 10 Sekunden soll eine Playlist gestartet werden; nach weiteren 10 Sekunden soll der Shuffle Modus aktiviert werden. Danach soll mit einem FreeCMD alle 30 Sekunden (zu Testzwecken) der Echo eingeschaltet und die Lautstärke um 10 erhöht werden.
Leider klappt das in der Praxis nicht so recht, weil nur die erste Aktion ausgeführt wird, die den Echo auf Volume 5 schaltet; danach passiert leider gar nichts mehr.

Hier ist die Raw-Definition von dem MSwitsch:

defmod Wecker_Niklas MSwitch       # FreeCmd ECHO_G090LF0965041A78
attr Wecker_Niklas MSwitch_Debug 0
attr Wecker_Niklas MSwitch_Eventhistory 0
attr Wecker_Niklas MSwitch_Expert 1
attr Wecker_Niklas MSwitch_Help 1
attr Wecker_Niklas MSwitch_Ignore_Types notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
attr Wecker_Niklas MSwitch_Inforoom MSwitch_Info
attr Wecker_Niklas MSwitch_Mode Dummy
attr Wecker_Niklas MSwitch_Selftrigger_always 1
attr Wecker_Niklas room MSwitch_Info,Steuerungen
attr Wecker_Niklas setList on off

setstate Wecker_Niklas off
setstate Wecker_Niklas 2019-11-14 14:13:12 .Device_Affected ECHO_G090LF0965041A78-AbsCmd1,ECHO_G090LF0965041A78-AbsCmd2,ECHO_G090LF0965041A78-AbsCmd3,FreeCmd-AbsCmd1
setstate Wecker_Niklas 2019-11-16 06:25:06 .Device_Affected_Details ECHO_G090LF0965041A78-AbsCmd1#[NF]volume#[NF]no_action#[NF]5#[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#[ND]ECHO_G090LF0965041A78-AbsCmd2#[NF]primeplayeigeneplaylist#[NF]no_action#[NF]f9fc6a1b-f9fe-4e78-93bb-73485239c93c#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]10#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]0#[NF]0#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1#[ND]ECHO_G090LF0965041A78-AbsCmd3#[NF]shuffle#[NF]no_action#[NF]on#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]20#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]0#[NF]0#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1#[ND]FreeCmd-AbsCmd1#[NF]cmd#[NF]cmd#[NF]{#[sp]my#[sp]$laut=ReadingsVal("ECHO_G090LF0965041A78"#[ko]"volume"#[ko]"5")#[se]#[nl]$laut=$laut+5#[se]#[sp]#[nl]fhem("set#[sp]ECHO_G090LF0965041A78#[sp]play#[se]#[nl]#[sp]#[sp]#[sp]#[sp]#[sp]#[sp]set#[sp]ECHO_G090LF0965041A78#[sp]volume#[sp]".$laut)#[sp]}#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]30#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]5#[NF]0#[NF]2#[NF]0#[NF]#[NF]0#[NF]0#[NF]1
setstate Wecker_Niklas 2019-11-16 06:26:05 .Device_Events MSwitch_Self:off:#[tr]MSwitch_Self:on:
setstate Wecker_Niklas 2019-11-13 19:18:09 .First_init done
setstate Wecker_Niklas 2019-11-13 19:23:25 .Trigger_cmd_off state:off
setstate Wecker_Niklas 2019-11-13 19:23:25 .Trigger_cmd_on state:on
setstate Wecker_Niklas 2019-11-13 19:23:25 .Trigger_off no_trigger
setstate Wecker_Niklas 2019-11-13 19:23:25 .Trigger_on no_trigger
setstate Wecker_Niklas 2019-11-13 19:18:09 .V_Check V2.00
setstate Wecker_Niklas 2019-11-16 06:15:11 .sortby none
setstate Wecker_Niklas 2019-11-16 06:26:05 EVENT MSwitch_Self:off:
setstate Wecker_Niklas 2019-11-16 06:26:05 EVTFULL Wecker_Niklas:MSwitch_Self:off
setstate Wecker_Niklas 2019-11-16 06:26:05 EVTPART1 Wecker_Niklas
setstate Wecker_Niklas 2019-11-16 06:26:05 EVTPART2 MSwitch_Self
setstate Wecker_Niklas 2019-11-16 06:26:05 EVTPART3 off
setstate Wecker_Niklas 2019-11-13 19:23:25 Trigger_log off
setstate Wecker_Niklas 2019-11-16 06:26:05 last_activation_by manual
setstate Wecker_Niklas 2019-11-16 06:26:05 last_cmd 2
setstate Wecker_Niklas 2019-11-16 06:26:05 last_event MSwitch_Self:off:
setstate Wecker_Niklas 2019-11-16 06:25:21 last_exec_cmd set ECHO_G090LF0965041A78 volume 5
setstate Wecker_Niklas 2019-11-16 06:26:05 state off


Kannst du mal schauen, wo ich hier einen Fehler reingebaut habe?

Danke und Gruß
Wolle

Hi Wolle,

mein Fehler, nicht deiner. Da dieser Mode noch recht neu ist ( hat früher anders funktioniert ) wurde ein restart ( delay ) bei dummys schlicht noch geblockt ( ein überbleibsel aus einer früheren Version ) .
Sorry hierfür.

Ich spiele in einer halbe Stunde ein Update ein , kannst du dann sofort über GIT aktualisieren.

Ich gebe dir bescheid, wenn ich es habe.

edit: update ist im GIT
update all https://raw.githubusercontent.com/Byte009/FHEM-MSwitch/master/controls_mswitch.txt

und morgen früh auch im SVN
zudem ist im dummymode jetzt auch expert zuschaltbar und gesetzte timer und delays sind über das GET-Dropdown abrufbar.

gruss Thomas

Wolle02

Super, jetzt funktioniert's. Vielen Dank.

Eine Frage noch zu den Repeats. Kann man eine laufende Repeatfolge auch irgendwie abbrechen?

Byte09

#844
Zitat von: Wolle02 am 16 November 2019, 11:21:38
Super, jetzt funktioniert's. Vielen Dank.

Eine Frage noch zu den Repeats. Kann man eine laufende Repeatfolge auch irgendwie abbrechen?

im Dummymode derzeit nicht ( bis vor 1 Stunde konn man sie in diesem mode nichtmal einrichten  ;) ) .
Ich werde diese Option aber aktivieren. Mach in 10 Minuten nochmal ein Update über GIT.

geht dann wie in den anderen modi auch mit set DEVICE del_repeats bzw. set DEVICE del_delays

gruss Thomas

Wolle02

Ich sag ganz artig Danke schön. Und jetzt lass ich dich mal ne Weile in Ruhe.  ;D

hermann1514

Huhu zusammen,

ich habe da mal wieder eine Frage:

Ich möchte eine Lampe - die per Bewegungsmelder geschaltet wird mit on-for-timer - aber dann abhängig von der Uhrzeit.
Das Device habe ich normal hinzugefügt und dann über "add action for device..." eine weitere Aktion hinzugefügt.
In dieser habe ich dann eine Zeit eingetragen [20:00-21:00] und dort eine andere Zeit für on-for-timer.

Wenn in dieser Zeit nun der Bewegungsmelder "triggert", werden beide Actions ausgeführt. Es sollte doch nur der eine ausgeführt werden bei dem die Uhrzeit passt - oder?

Gruß
Hermann



Byte09

Zitat von: hermann1514 am 18 November 2019, 13:20:38
Huhu zusammen,

ich habe da mal wieder eine Frage:

Ich möchte eine Lampe - die per Bewegungsmelder geschaltet wird mit on-for-timer - aber dann abhängig von der Uhrzeit.
Das Device habe ich normal hinzugefügt und dann über "add action for device..." eine weitere Aktion hinzugefügt.
In dieser habe ich dann eine Zeit eingetragen [20:00-21:00] und dort eine andere Zeit für on-for-timer.

Wenn in dieser Zeit nun der Bewegungsmelder "triggert", werden beide Actions ausgeführt. Es sollte doch nur der eine ausgeführt werden bei dem die Uhrzeit passt - oder?

Gruß
Hermann
hi,

postest du mir bitte die raw Definition... ich schaue es mir an, wenn ich zuhause bin.

gruss thomas

Gesendet von meinem ELE-L29 mit Tapatalk


hermann1514

Hi,
oki - hier die RAW Daten:


defmod mSwitch_dummy_test MSwitch mswitch_dummy_schalter_1  # mswitch_dummy_licht_1
attr mSwitch_dummy_test MSwitch_Debug 0
attr mSwitch_dummy_test MSwitch_Delete_Delays 1
attr mSwitch_dummy_test MSwitch_Eventhistory 0
attr mSwitch_dummy_test MSwitch_Expert 0
attr mSwitch_dummy_test MSwitch_Extensions 0
attr mSwitch_dummy_test MSwitch_Help 0
attr mSwitch_dummy_test MSwitch_Ignore_Types notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
attr mSwitch_dummy_test MSwitch_Include_Devicecmds 1
attr mSwitch_dummy_test MSwitch_Include_MSwitchcmds 0
attr mSwitch_dummy_test MSwitch_Include_Webcmds 0
attr mSwitch_dummy_test MSwitch_Inforoom MSwitch_Devices
attr mSwitch_dummy_test MSwitch_Lock_Quickedit 1
attr mSwitch_dummy_test MSwitch_Mode Notify
attr mSwitch_dummy_test MSwitch_Safemode 1
attr mSwitch_dummy_test room MSwitch_Devices,mSwitches
attr mSwitch_dummy_test setList on off
attr mSwitch_dummy_test webCmd on:off

setstate mSwitch_dummy_test active
setstate mSwitch_dummy_test 2019-11-18 13:37:52 .Device_Affected mswitch_dummy_licht_1-AbsCmd1,mswitch_dummy_licht_1-AbsCmd2
setstate mSwitch_dummy_test 2019-11-18 13:37:52 .Device_Affected_Details mswitch_dummy_licht_1-AbsCmd1#[NF]on-for-timer#[NF]off#[NF]10#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][12#[dp]55-12#[dp]58]#[NF]#[NF]0#[NF]0#[NF]1#[NF]0#[NF]#[NF]0#[NF]0#[NF]1#[ND]mswitch_dummy_licht_1-AbsCmd2#[NF]on-for-timer#[NF]no_action#[NF]20#[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 mSwitch_dummy_test 2019-11-18 12:56:56 .Device_Events no_trigger#[tr]state:on#[tr]state:off
setstate mSwitch_dummy_test 2019-11-18 12:39:31 .First_init done
setstate mSwitch_dummy_test 2019-11-18 12:43:24 .Trigger_cmd_off no_trigger
setstate mSwitch_dummy_test 2019-11-18 12:43:24 .Trigger_cmd_on state:on
setstate mSwitch_dummy_test 2019-11-18 12:42:33 .Trigger_condition
setstate mSwitch_dummy_test 2019-11-18 12:43:24 .Trigger_off no_trigger
setstate mSwitch_dummy_test 2019-11-18 12:43:24 .Trigger_on no_trigger
setstate mSwitch_dummy_test 2019-11-18 12:42:33 .Trigger_time
setstate mSwitch_dummy_test 2019-11-18 12:39:31 .V_Check V2.00
setstate mSwitch_dummy_test 2019-11-18 12:56:56 EVENT state:on
setstate mSwitch_dummy_test 2019-11-18 12:56:56 EVTFULL mswitch_dummy_schalter_1:state:on
setstate mSwitch_dummy_test 2019-11-18 12:56:56 EVTPART1 mswitch_dummy_schalter_1
setstate mSwitch_dummy_test 2019-11-18 12:56:56 EVTPART2 state
setstate mSwitch_dummy_test 2019-11-18 12:56:56 EVTPART3 on
setstate mSwitch_dummy_test 2019-11-18 12:42:33 Trigger_device mswitch_dummy_schalter_1
setstate mSwitch_dummy_test 2019-11-18 12:43:24 Trigger_log off
setstate mSwitch_dummy_test 2019-11-18 12:56:56 last_activation_by event
setstate mSwitch_dummy_test 2019-11-18 12:56:56 last_event state:on
setstate mSwitch_dummy_test 2019-11-18 12:56:56 last_exec_cmd set mswitch_dummy_licht_1 on-for-timer 20
setstate mSwitch_dummy_test 2019-11-18 12:56:56 state active


Gruß
Hermann

Byte09

#849
Zitat von: hermann1514 am 18 November 2019, 13:20:38
Huhu zusammen,

ich habe da mal wieder eine Frage:

Ich möchte eine Lampe - die per Bewegungsmelder geschaltet wird mit on-for-timer - aber dann abhängig von der Uhrzeit.
Das Device habe ich normal hinzugefügt und dann über "add action for device..." eine weitere Aktion hinzugefügt.
In dieser habe ich dann eine Zeit eingetragen [20:00-21:00] und dort eine andere Zeit für on-for-timer.

Wenn in dieser Zeit nun der Bewegungsmelder "triggert", werden beide Actions ausgeführt. Es sollte doch nur der eine ausgeführt werden bei dem die Uhrzeit passt - oder?

Gruß
Hermann

ich habe mir das gerade mal angeschaut. Die verschiedenen auzuführenden Befehle unterliegen keiner if/else bedingung. d.H es werden immer alle zweige immer ausgeführt, solange die bedingung passt. Keine bedingung passt immer.

du musst in den expertmode wechseln , dafür sorgen , das der befehl, der einer zeitlichen bedingung unterliegt immer zuerst ausgeführt wird und die befehlsausführung in diesem fall , das diese bedingung passt, danach abgebrochen wird.

ich habe das device mal entsprechend geändert.

gruss Byte09

defmod mSwitch_dummy_test MSwitch mswitch_dummy_schalter_1  # mswitch_dummy_licht_1
attr mSwitch_dummy_test MSwitch_Debug 1
attr mSwitch_dummy_test MSwitch_Delete_Delays 1
attr mSwitch_dummy_test MSwitch_Eventhistory 0
attr mSwitch_dummy_test MSwitch_Expert 1
attr mSwitch_dummy_test MSwitch_Extensions 0
attr mSwitch_dummy_test MSwitch_Help 0
attr mSwitch_dummy_test MSwitch_Ignore_Types notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
attr mSwitch_dummy_test MSwitch_Include_Devicecmds 1
attr mSwitch_dummy_test MSwitch_Include_MSwitchcmds 0
attr mSwitch_dummy_test MSwitch_Include_Webcmds 0
attr mSwitch_dummy_test MSwitch_Inforoom MSwitch
attr mSwitch_dummy_test MSwitch_Lock_Quickedit 1
attr mSwitch_dummy_test MSwitch_Mode Notify
attr mSwitch_dummy_test MSwitch_Safemode 1
attr mSwitch_dummy_test room MSwitch_Devices
attr mSwitch_dummy_test setList on off
attr mSwitch_dummy_test webCmd on:off

setstate mSwitch_dummy_test active
setstate mSwitch_dummy_test 2019-11-18 13:37:52 .Device_Affected mswitch_dummy_licht_1-AbsCmd1,mswitch_dummy_licht_1-AbsCmd2
setstate mSwitch_dummy_test 2019-11-18 17:23:47 .Device_Affected_Details mswitch_dummy_licht_1-AbsCmd1#[NF]on-for-timer#[NF]off#[NF]10#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF][12#[dp]55-12#[dp]58]#[NF]#[NF]0#[NF]0#[NF]1#[NF]0#[NF]#[NF]1#[NF]0#[NF]1#[ND]mswitch_dummy_licht_1-AbsCmd2#[NF]on-for-timer#[NF]no_action#[NF]20#[NF]#[NF]delay1#[NF]delay1#[NF]00#[dp]00#[dp]00#[NF]00#[dp]00#[dp]00#[NF]#[NF]#[NF]0#[NF]0#[NF]2#[NF]0#[NF]#[NF]0#[NF]0#[NF]1
setstate mSwitch_dummy_test 2019-11-18 12:56:56 .Device_Events no_trigger#[tr]state:on#[tr]state:off
setstate mSwitch_dummy_test 2019-11-18 12:39:31 .First_init done
setstate mSwitch_dummy_test 2019-11-18 12:43:24 .Trigger_cmd_off no_trigger
setstate mSwitch_dummy_test 2019-11-18 12:43:24 .Trigger_cmd_on state:on
setstate mSwitch_dummy_test 2019-11-18 12:42:33 .Trigger_condition
setstate mSwitch_dummy_test 2019-11-18 12:43:24 .Trigger_off no_trigger
setstate mSwitch_dummy_test 2019-11-18 12:43:24 .Trigger_on no_trigger
setstate mSwitch_dummy_test 2019-11-18 12:42:33 .Trigger_time
setstate mSwitch_dummy_test 2019-11-18 12:39:31 .V_Check V2.00
setstate mSwitch_dummy_test 2019-11-18 17:21:17 EVENT Sys_Extension:undef
setstate mSwitch_dummy_test 2019-11-18 17:21:17 EVTFULL mswitch_dummy_schalter_1:Sys_Extension:undef
setstate mSwitch_dummy_test 2019-11-18 17:21:17 EVTPART1 mswitch_dummy_schalter_1
setstate mSwitch_dummy_test 2019-11-18 17:21:17 EVTPART2 Sys_Extension
setstate mSwitch_dummy_test 2019-11-18 17:21:17 EVTPART3 undef
setstate mSwitch_dummy_test 2019-11-18 16:22:04 Trigger_device mswitch_dummy_schalter_1
setstate mSwitch_dummy_test 2019-11-18 12:43:24 Trigger_log off
setstate mSwitch_dummy_test 2019-11-18 17:21:17 last_activation_by event
setstate mSwitch_dummy_test 2019-11-18 17:21:17 last_event Sys_Extension:undef
setstate mSwitch_dummy_test 2019-11-18 12:56:56 last_exec_cmd set mswitch_dummy_licht_1 on-for-timer 20
setstate mSwitch_dummy_test 2019-11-18 17:21:17 state active


Wolle02

Hallo Thomas,

es weihnachtet so langsam und meine Frau möchte beleuchtete Sterne im Fenster haben. Alles klar, da mach ich mal eben nen MSwitch. Also habe ich einen MSwitch im Modus notify erstellt, keinen Trigger eingegeben, sondern im Feld "execute 'cmd1' at :" gemäß Hilfe und Wiki folgendes eingegeben: [{sunset()}], damit der Stern bei Sonnenuntergang angeschaltet wird.

Leider hat sich als Ergebnis nichts getan!

Den Code habe ich per Copy & Pate aus der Hilfe übernommen. Im Wiki habe ich gelesen, dass auf korrekte Eingabe der Leerzeichen zu achten ist (allerdings habe ich nirgends gelesen, was denn die korrekte Eingabe der Leerzeichen ist). Die Leerzeichen werden laut Wiki jeweils nach und vor der geschweiften Klammer gesetzt. Wenn ich das allerdings in das Feld eintrage und auf "modify Trigger Device" klicke, werden die Leerzeichen automatisch wieder entfernt und es steht dann wieder [{sunset()}] im Feld. Somit schaltet der Stern leider wieder nicht.

Zur besseren Nachvollziehbarkeit habe ich hier das Raw_Define angegeben.

defmod WZ_Stern_at MSwitch
attr WZ_Stern_at MSwitch_Debug 0
attr WZ_Stern_at MSwitch_Delete_Delays 1
attr WZ_Stern_at MSwitch_Eventhistory 0
attr WZ_Stern_at MSwitch_Expert 0
attr WZ_Stern_at MSwitch_Extensions 0
attr WZ_Stern_at MSwitch_Help 1
attr WZ_Stern_at MSwitch_Ignore_Types notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
attr WZ_Stern_at MSwitch_Include_Devicecmds 1
attr WZ_Stern_at MSwitch_Include_MSwitchcmds 0
attr WZ_Stern_at MSwitch_Include_Webcmds 0
attr WZ_Stern_at MSwitch_Lock_Quickedit 1
attr WZ_Stern_at MSwitch_Mode Notify
attr WZ_Stern_at MSwitch_Safemode 1
attr WZ_Stern_at room MSwitch_Info,Steuerungen

setstate WZ_Stern_at active
setstate WZ_Stern_at 2019-11-17 18:49:10 .Device_Affected WZ_Stern-AbsCmd1
setstate WZ_Stern_at 2019-11-17 18:49:26 .Device_Affected_Details WZ_Stern-AbsCmd1#[NF]on#[NF]off#[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 WZ_Stern_at 2019-11-17 18:46:49 .Device_Events no_trigger
setstate WZ_Stern_at 2019-11-17 18:45:56 .First_init done
setstate WZ_Stern_at 2019-11-17 18:45:56 .Trigger_cmd_off no_trigger
setstate WZ_Stern_at 2019-11-17 18:45:56 .Trigger_cmd_on no_trigger
setstate WZ_Stern_at 2019-11-18 17:12:30 .Trigger_condition
setstate WZ_Stern_at 2019-11-17 18:45:56 .Trigger_off no_trigger
setstate WZ_Stern_at 2019-11-17 18:45:56 .Trigger_on no_trigger
setstate WZ_Stern_at 2019-11-18 17:12:30 .Trigger_time on~off~ononly[{sunset()}]~offonly[23#[dp]30]~onoffonly
setstate WZ_Stern_at 2019-11-17 18:45:56 .V_Check V2.00
setstate WZ_Stern_at 2019-11-18 17:16:00 EVENT WZ_Stern_at:execute_timer_P3:17:16
setstate WZ_Stern_at 2019-11-18 17:16:00 EVTFULL WZ_Stern_at:execute_timer_P3:17:16
setstate WZ_Stern_at 2019-11-18 17:16:00 EVTPART1 WZ_Stern_at
setstate WZ_Stern_at 2019-11-18 17:16:00 EVTPART2 execute_timer_P3
setstate WZ_Stern_at 2019-11-18 17:16:00 EVTPART3 17:16
setstate WZ_Stern_at 2019-11-18 17:12:29 Trigger_device no_trigger
setstate WZ_Stern_at 2019-11-17 18:45:56 Trigger_log off
setstate WZ_Stern_at 2019-11-18 17:16:00 last_activation_by timer
setstate WZ_Stern_at 2019-11-17 18:46:21 last_event state:active
setstate WZ_Stern_at 2019-11-18 17:16:00 last_exec_cmd set WZ_Stern on
setstate WZ_Stern_at 2019-11-17 18:46:21 state active


Gruß
Wolle

Byte09

#851
Zitat von: Wolle02 am 18 November 2019, 17:27:58
Hallo Thomas,

es weihnachtet so langsam und meine Frau möchte beleuchtete Sterne im Fenster haben. Alles klar, da mach ich mal eben nen MSwitch. Also habe ich einen MSwitch im Modus notify erstellt, keinen Trigger eingegeben, sondern im Feld "execute 'cmd1' at :" gemäß Hilfe und Wiki folgendes eingegeben: [{sunset()}], damit der Stern bei Sonnenuntergang angeschaltet wird.

Leider hat sich als Ergebnis nichts getan!

Den Code habe ich per Copy & Pate aus der Hilfe übernommen. Im Wiki habe ich gelesen, dass auf korrekte Eingabe der Leerzeichen zu achten ist (allerdings habe ich nirgends gelesen, was denn die korrekte Eingabe der Leerzeichen ist). Die Leerzeichen werden laut Wiki jeweils nach und vor der geschweiften Klammer gesetzt. Wenn ich das allerdings in das Feld eintrage und auf "modify Trigger Device" klicke, werden die Leerzeichen automatisch wieder entfernt und es steht dann wieder [{sunset()}] im Feld. Somit schaltet der Stern leider wieder nicht.

Zur besseren Nachvollziehbarkeit habe ich hier das Raw_Define angegeben.

defmod WZ_Stern_at MSwitch
attr WZ_Stern_at MSwitch_Debug 0
attr WZ_Stern_at MSwitch_Delete_Delays 1
attr WZ_Stern_at MSwitch_Eventhistory 0
attr WZ_Stern_at MSwitch_Expert 0
attr WZ_Stern_at MSwitch_Extensions 0
attr WZ_Stern_at MSwitch_Help 1
attr WZ_Stern_at MSwitch_Ignore_Types notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
attr WZ_Stern_at MSwitch_Include_Devicecmds 1
attr WZ_Stern_at MSwitch_Include_MSwitchcmds 0
attr WZ_Stern_at MSwitch_Include_Webcmds 0
attr WZ_Stern_at MSwitch_Lock_Quickedit 1
attr WZ_Stern_at MSwitch_Mode Notify
attr WZ_Stern_at MSwitch_Safemode 1
attr WZ_Stern_at room MSwitch_Info,Steuerungen

setstate WZ_Stern_at active
setstate WZ_Stern_at 2019-11-17 18:49:10 .Device_Affected WZ_Stern-AbsCmd1
setstate WZ_Stern_at 2019-11-17 18:49:26 .Device_Affected_Details WZ_Stern-AbsCmd1#[NF]on#[NF]off#[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 WZ_Stern_at 2019-11-17 18:46:49 .Device_Events no_trigger
setstate WZ_Stern_at 2019-11-17 18:45:56 .First_init done
setstate WZ_Stern_at 2019-11-17 18:45:56 .Trigger_cmd_off no_trigger
setstate WZ_Stern_at 2019-11-17 18:45:56 .Trigger_cmd_on no_trigger
setstate WZ_Stern_at 2019-11-18 17:12:30 .Trigger_condition
setstate WZ_Stern_at 2019-11-17 18:45:56 .Trigger_off no_trigger
setstate WZ_Stern_at 2019-11-17 18:45:56 .Trigger_on no_trigger
setstate WZ_Stern_at 2019-11-18 17:12:30 .Trigger_time on~off~ononly[{sunset()}]~offonly[23#[dp]30]~onoffonly
setstate WZ_Stern_at 2019-11-17 18:45:56 .V_Check V2.00
setstate WZ_Stern_at 2019-11-18 17:16:00 EVENT WZ_Stern_at:execute_timer_P3:17:16
setstate WZ_Stern_at 2019-11-18 17:16:00 EVTFULL WZ_Stern_at:execute_timer_P3:17:16
setstate WZ_Stern_at 2019-11-18 17:16:00 EVTPART1 WZ_Stern_at
setstate WZ_Stern_at 2019-11-18 17:16:00 EVTPART2 execute_timer_P3
setstate WZ_Stern_at 2019-11-18 17:16:00 EVTPART3 17:16
setstate WZ_Stern_at 2019-11-18 17:12:29 Trigger_device no_trigger
setstate WZ_Stern_at 2019-11-17 18:45:56 Trigger_log off
setstate WZ_Stern_at 2019-11-18 17:16:00 last_activation_by timer
setstate WZ_Stern_at 2019-11-17 18:46:21 last_event state:active
setstate WZ_Stern_at 2019-11-18 17:16:00 last_exec_cmd set WZ_Stern on
setstate WZ_Stern_at 2019-11-17 18:46:21 state active


Gruß
Wolle

hi,

bist du sicher , das beim anlegen des devices bzw. beim eintag sunset - dieser nicht schon überschritten war ?

wenn ich 1 stunde draufgebe wird es bei mir korrekt angezeigt .

[{sunset(+3600)}]

gruss Thomas

edit: das 'leerzeichenproblem' ist überholt und sollte eigentlich egal sein

Wolle02

Zitatbist du sicher , das beim anlegen des devices bzw. beim eintag sunset - dieser nicht schon überschritten war ?

hmmm, ich habe den MSwitch mit dem [{sunset()}] gestern abend angelegt. Dann hätte er doch heute um 16:40 Uhr schalten müssen. Leider war der Stern dunkel.

Byte09

nachtrga:

ich habe gerade einen test durchlaufen lassen , hat pünktlich angeschaltet .

ZitatMon Nov 18 17:56:58 2019 Starte Log
Mon Nov 18 17:59:00 2019: -> WZ_Stern_at:     zu schaltende devices -> 1 WZ_Stern-AbsCmd1
Mon Nov 18 17:59:00 2019: -> WZ_Stern_at:     timer des devices -> 0
Mon Nov 18 17:59:00 2019: -> WZ_Stern_at:     auszufuehrender Befehl -> set WZ_Stern on
Mon Nov 18 17:59:00 2019: -> WZ_Stern_at:     teste auf repeasts
Mon Nov 18 17:59:00 2019: -> WZ_Stern_at:     anzahl repeats -> 0
Mon Nov 18 17:59:00 2019: -> WZ_Stern_at:     delay repeats -> 0
Mon Nov 18 17:59:00 2019: -> WZ_Stern_at:     return aus execnotif -> set WZ_Stern on ,

gruss thomas

Byte09

Zitat von: Byte09 am 18 November 2019, 18:01:44
nachtrga:

ich habe gerade einen test durchlaufen lassen , hat pünktlich angeschaltet .

gruss thomas

ok , das ist jetzt etwas schwierig zu sagen - ich lasse mein device jetzt erstmal stehen . die zeiten werden aber leider erst um 00:00:10 neu berechnet , d.H - ohne an meinen systemzeiten zu drehen - kann ich es jetzt ganz schlecht testen , ob die neuberechnung korrekt durchgeführt wird. sehe ich aber morgen früh und würde dann bescheid geben.

gruss thomas