98_MSwitch - Support

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

Vorheriges Thema - Nächstes Thema

Torsten_MG

Zitat von: Byte09 am 27 Mai 2018, 09:11:06

...
zur wollmilchsau :

es ist in der Tat so , dass  es eine solche werden muss ( fast ist ), da ich z.B nichts anderes mehr nutze , kein notify,kein watchdog, kein at, kein doif etc. pp . in meinem system gibt es ausschliesslich MSwitch , da ich alle Automatisierungen übersichtlich - auf einer Seite - einsehen können will , und das ist nunmal bisher nur im MSwitch - Inforoom gegeben (Anhang).
Sozusagen ein Alleinstellungsmerkmal  ;)

Insofern muss/soll es alles können. Aber da det. ja schon ähnliche bedenken geäussert hat bleibt die Grundfunktion und Konfiguration so , wie sie jetzt ist . Alles weiter sind/werden Funktionen , die entweder komplett im Hintergrund laufen , oder die Zuschalbar sind , nach Bedarf, und somit nicht auffallen , wenn sie nicht aktiviert werden.

gruss thomas

Das stimmt schon und erleichtert vieles auf anhieb, aber die Anfälligkeit für Fehler wird immer größer.

Im Grunde bin ich auch für ein Modul das alles kann, aber es kann auch zu Problemen führen.


Noch eine Frage:

Wie komme ich an den Inforoom? Kann ihn irgendwie nicht finden

Byte09

#166
Zitat von: Torsten_MG am 27 Mai 2018, 10:57:46
Das stimmt schon und erleichtert vieles auf anhieb, aber die Anfälligkeit für Fehler wird immer größer.

Im Grunde bin ich auch für ein Modul das alles kann, aber es kann auch zu Problemen führen.


Noch eine Frage:

Wie komme ich an den Inforoom? Kann ihn irgendwie nicht finden

du musst alle MSwitch Devices (zusätlich) in einen Raum sortieren (da sollten nur MSwitch Devices drinnen sein) z.B  Room MSwitch.

Dann stellst du in einem MSwitch Device das Attribut 'MSwitch_Inforoom' auf diesen Raum (MSwitch). Das Modul setzt dann in allen MSwitch Devices dieses Attribut automatisch .

Wenn du dann auf diesen Raum gehst hast du entsprechende Ansicht.

https://wiki.fhem.de/wiki/MSwitch.pm#MSwitch_Inforoom

wenn du das Attribut in einem Device löscht (änderst) , wird dieses Attribut automatisch in allen MSwitch Devices ebenfalls gelöscht (geändert)

gruss Thomas

Torsten_MG

Zitat von: Byte09 am 26 Mai 2018, 17:34:14
im grunde musst du hier 2 befehle ausführen lassen , beide im on- zweig , da der dimmer es nicht unterstützt ( on for timer und einen pct wert gleichzeitig zu setzen zu setzen  - glaube ich .

anbei einfach ein bild mit der config.

gruss thomas

Wie gerade gemerkt, hat die Sache leider einen negativen Effekt.

Zur Erklärung der ganzen Struktur.

Im Flur habe ich eine Lampe (Flur_Lampe) und 2 Taster (Flur_Taster1 & Flur_Taster2). Im Flur_Taster2 ist noch ein Bewegungsmelder integriert.

Ich habe nun 3 MSwitch um dieses zu schalten:


MSwitch: Flur_Licht_S1

Trigger device:
[b]Flur_Taster1[/b]

trigger details :
[b]execute 'on' commands Trigger Flur_Taster1 :[/b] state:Flur_Taster1_01 Short
[b]execute 'off' commands Trigger Flur_Taster1 :[/b] state:Flur_Taster1_02 Short

device actions :
Flur_Lampe   

[b]MSwitch on cmd: Set on[/b]
[b]MSwitch off cmd: Set off[/b]


MSwitch: Flur_Licht_S2

Trigger device:
[b]GLOBAL[/b]
Trigger Device Global Whitelist:
[b]Flur_Taster2_01,Flur_Taster2_02[/b]

trigger details :
[b]execute 'on' commands Trigger all_events :[/b] Flur_Taster2_01:trigger:Short
[b]execute 'off' commands Trigger all_events :[/b] Flur_Taster2_02:trigger:Short

device actions :
Flur_Lampe   

[b]MSwitch on cmd: Set on[/b]
[b]MSwitch off cmd: Set off[/b]


MSwitch: Flur_Licht_motion

Trigger device:
[b]Flur_Taster1_motion[/b]

trigger details :
[b]execute 'on' commands Trigger Flur_Taster1 :[/b] state:motion
[b]execute 'off' commands Trigger Flur_Taster1 :[/b] no_trigger

device actions :
Flur_Lampe   

[b]MSwitch on cmd: Set pct[/b]  60
[b]MSwitch off cmd: Set no_action[/b]
[b]on condition:[/b] [18:00-6:00]

Flur_Lampe   

[b]MSwitch on cmd: Set off[/b]
[b]MSwitch off cmd: Set no_action[/b]
[b]on delay with cond-check: +[/b] 00:00:30


Nun zu meinem Problem.

Der Befehl im 3. MSwitch mit dem ausschalten nach 30sek hat leider auch auswirkung auf das Licht, wenn ich dieses mit einem der beiden Taster einschalte. In diesem Fall sollte das Licht aber nur ausgehen, wenn es von Hand ausgeschaltet wird.

Byte09

Zitat von: Torsten_MG am 27 Mai 2018, 12:41:08
Wie gerade gemerkt, hat die Sache leider einen negativen Effekt.

Zur Erklärung der ganzen Struktur.

Im Flur habe ich eine Lampe (Flur_Lampe) und 2 Taster (Flur_Taster1 & Flur_Taster2). Im Flur_Taster2 ist noch ein Bewegungsmelder integriert.

Ich habe nun 3 MSwitch um dieses zu schalten:


MSwitch: Flur_Licht_S1

Trigger device:
[b]Flur_Taster1[/b]

trigger details :
[b]execute 'on' commands Trigger Flur_Taster1 :[/b] state:Flur_Taster1_01 Short
[b]execute 'off' commands Trigger Flur_Taster1 :[/b] state:Flur_Taster1_02 Short

device actions :
Flur_Lampe   

[b]MSwitch on cmd: Set on[/b]
[b]MSwitch off cmd: Set off[/b]


MSwitch: Flur_Licht_S2

Trigger device:
[b]GLOBAL[/b]
Trigger Device Global Whitelist:
[b]Flur_Taster2_01,Flur_Taster2_02[/b]

trigger details :
[b]execute 'on' commands Trigger all_events :[/b] Flur_Taster2_01:trigger:Short
[b]execute 'off' commands Trigger all_events :[/b] Flur_Taster2_02:trigger:Short

device actions :
Flur_Lampe   

[b]MSwitch on cmd: Set on[/b]
[b]MSwitch off cmd: Set off[/b]


MSwitch: Flur_Licht_motion

Trigger device:
[b]Flur_Taster1_motion[/b]

trigger details :
[b]execute 'on' commands Trigger Flur_Taster1 :[/b] state:motion
[b]execute 'off' commands Trigger Flur_Taster1 :[/b] no_trigger

device actions :
Flur_Lampe   

[b]MSwitch on cmd: Set pct[/b]  60
[b]MSwitch off cmd: Set no_action[/b]
[b]on condition:[/b] [18:00-6:00]

Flur_Lampe   

[b]MSwitch on cmd: Set off[/b]
[b]MSwitch off cmd: Set no_action[/b]
[b]on delay with cond-check: +[/b] 00:00:30


Nun zu meinem Problem.

Der Befehl im 3. MSwitch mit dem ausschalten nach 30sek hat leider auch auswirkung auf das Licht, wenn ich dieses mit einem der beiden Taster einschalte. In diesem Fall sollte das Licht aber nur ausgehen, wenn es von Hand ausgeschaltet wird.

ok, etwas schwierig zu folgen :

also erstmal benötigst du dafür nur ein Device. würde dir nochmal ein beispiel basteln , mit dummys , muss aber genau wissen , was - wann pasiieren soll.

mein verständniss:

taster 1 und zwei schalten an und aus , jeder beides - also im grunde wechselschaltung .
bewegungsmeder schaltet für 30 sek an  . nur wenn licht noch aus . wenn das licht schon an ist , durch taster geschaltet soll es nicht ausgehen nach den 30 sekunden ?

passt das so ?

gruss Thomas


Torsten_MG

Zitat von: Byte09 am 27 Mai 2018, 13:06:07
...
mein verständniss:

taster 1 und zwei schalten an und aus , jeder beides - also im grunde wechselschaltung .
bewegungsmeder schaltet für 30 sek an  . nur wenn licht noch aus . wenn das licht schon an ist , durch taster geschaltet soll es nicht ausgehen nach den 30 sekunden ?

passt das so ?

gruss Thomas

Bingo, zusätzlich soll der Bewegungsmelder in diesem Fall nur zw. 18Uhr und 6Uhr schalten. Wobei ich das ja gerne Variabel halten würde über meine Tablet UI und dummy

Zitat von: Torsten_MG am 25 Mai 2018, 15:49:18
Ich kann über meine Tablet UI die 2 Zeiten (von/bis) einstellen. Diese 2 Zeiten werden im Dummy Flur_Lampe_Dummy in den Readings Licht_an & Licht_aus abgelegt. Wie kann ich das einbinden?

Byte09

gib mir 10 minuten , poste dan die beispielkonfig.

gruss Thomas

Torsten_MG

Zitat von: Byte09 am 27 Mai 2018, 13:30:06
gib mir 10 minuten , poste dan die beispielkonfig.

gruss Thomas

kein Sress!

Byte09

#172
Zitat von: Torsten_MG am 27 Mai 2018, 13:31:16
kein Sress!

beispielkonfiguration - wird alles im raum bsp angelegt.
bitte erst die dummys anlegen, dann ein leeres MSwitch Device anlegen und das MSwitch Configfile einspielen.
danach 'modify trigger device' drücken.

schau es dir einfach an , bei fragen melden  ;)

defmod Dummy_taster2 dummy
attr Dummy_taster2 room bsp
attr Dummy_taster2 webCmd on

setstate Dummy_taster2 on
setstate Dummy_taster2 2018-05-27 13:28:11 state on

defmod Dummy_taster1 dummy
attr Dummy_taster1 room bsp
attr Dummy_taster1 webCmd on

setstate Dummy_taster1 on
setstate Dummy_taster1 2018-05-27 13:28:40 state on

defmod Dummy_Lampe dummy
attr Dummy_Lampe room bsp
attr Dummy_Lampe webCmd on:off

setstate Dummy_Lampe off
setstate Dummy_Lampe 2018-05-27 13:32:07 state off

defmod Dummy_Bewegungsmelder dummy
attr Dummy_Bewegungsmelder room bsp
attr Dummy_Bewegungsmelder webCmd on

setstate Dummy_Bewegungsmelder on
setstate Dummy_Bewegungsmelder 2018-05-27 13:32:14 state on



#S .Device_Affected -> Dummy_Lampe-AbsCmd1,Dummy_Lampe-AbsCmd2,Dummy_Lampe-AbsCmd3
#S .Device_Affected_Details -> Dummy_Lampe-AbsCmd1,on,no_action,,,delay1,delay1,000000,000000,[$EVENT]~eq~"Dummy_Bewegungsmelder:state:on"~AND~[Dummy_Lampe:state]~eq~"off"~AND~[18:00-06:00],,0,0|Dummy_Lampe-AbsCmd2,off,no_action,,,delay0,delay1,000010,000000,[$EVENT]~eq~"Dummy_Bewegungsmelder:state:on"~AND~[Dummy_Lampe:state]~eq~"off"~AND~[18:00-06:00],,0,0|Dummy_Lampe-AbsCmd3,MSwitchtoggle,no_action,on/off,,delay1,delay1,000000,000000,[$EVENT]~eq~"Dummy_taster1:state:on"~OR~[$EVENT]~eq~"Dummy_taster2:state:on",,0,0
#S .Device_Events -> no_trigger|*:state:on|Dummy_Bewegungsmelder:state:on|Dummy_taster2:state:on|Dummy_taster1:state:on
#S .First_init -> done
#S .Trigger_Whitelist -> Dummy_taster1,Dummy_taster2,Dummy_Bewegungsmelder
#S .Trigger_cmd_off -> no_trigger
#S .Trigger_cmd_on -> no_trigger
#S .Trigger_condition ->
#S .Trigger_off -> no_trigger
#S .Trigger_on -> *:state:on
#S .Trigger_time ->
#S .V_Check -> V 0.3
#S Exec_cmd -> set Dummy_Lampe on
#S Trigger_device -> all_events
#S Trigger_log -> on
#S last_event -> Dummy_Bewegungsmelder:state:on
#S state -> on
#A MSwitch_Include_Devicecmds -> 1
#A MSwitch_Debug -> 1
#A MSwitch_Extensions -> 1
#A MSwitch_Ignore_Types -> notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
#A MSwitch_Lock_Quickedit -> 1
#A room -> bsp
#A MSwitch_Include_MSwitchcmds -> 0
#A MSwitch_Delete_Delays -> 1
#A MSwitch_Mode -> Full
#A MSwitch_Expert -> 1
#A MSwitch_Include_Webcmds -> 1
#A MSwitch_Help -> 1


ziemlich schnell zusammengeklickt , denke aber das es geht .

gruss Thomas

EDIT : dummy_bewegungsmelder schaltet nur zwischn 18 und 6 uhr , findest du in den conditions

Byte09

nachtrag:

im Feld 'switch Mswitch on + execute 'on' commands' kannst du auch alle events durchlassen  , add event * und den dann auswählen.

Auf die einzelevents wird ja nochmal bei den conditions unterschieden.

gruss thomas

Torsten_MG

ok, viel Futter für Papa  :o

Muß ich jetzt die Dummys anlegen und mit den Tastern belegen, oder statt der dummys die Taster/Lampe eintragen?

Byte09

#175
Zitat von: Torsten_MG am 27 Mai 2018, 13:52:00
ok, viel Futter für Papa  :o

Muß ich jetzt die Dummys anlegen und mit den Tastern belegen, oder statt der dummys die Taster/Lampe eintragen?
Genau , die Dummys und die von denen generierten events musst du durch deine Geräte und deren events ersetzen.

Gruss thomas

Gesendet von meinem SM-G900F mit Tapatalk

EDIT:

es kann hier zu problemen kommen , wenn das event des bewegungsmelder kommt, und quasi im selben moment das manuelle anschalten . das kannst du mit dem attribut MSwitch_Wait umgehen. wenn das gesetzt ist  nimmt das modul nach einem event für gesetzte zeit keine weiteren events an , um fhem und MSwitch zeit zu geben , alle zustaände richtig herzustellen.


Torsten_MG

Funktioniert leider nicht. Anbei mal die config von dem MSwitch wie ich ihn angepasst habe

#S .Device_Affected -> Flur_Lampe-AbsCmd1,Flur_Lampe-AbsCmd2,Flur_Lampe-AbsCmd3
#S .Device_Affected_Details -> Flur_Lampe-AbsCmd1,on,no_action,,,delay1,delay1,000000,000000,[$EVENT]~eq~"Flur_Taster2_Motion:state:motion"~AND~off~eq~"off"~AND~[18:00-06:00],,0,0|Flur_Lampe-AbsCmd2,off,no_action,,,delay1,delay1,000000,000000,[$EVENT]~eq~"Flur_Taster2_Motion:state:motion"~AND~off~eq~"off"~AND~[18:00-06:00],,0,0|Flur_Lampe-AbsCmd3,MSwitchtoggle,no_action,on/off,,delay1,delay1,000000,000000,[$EVENT]~eq~"Flur_Taster1:state:*Short"~OR~[$EVENT]~eq~"Flur_Taster2_01:trigger:Short*"~OR~[$EVENT]~eq~"Flur_Taster2_02:trigger:Short*",,0,0
#S .Device_Events -> no_trigger|*
#S .First_init -> done
#S .Trigger_Whitelist -> Flur_Taster1,Flur_Taster2_01,Flur_Taster2_02,Flur_Taster2_Motion
#S .Trigger_cmd_off -> no_trigger
#S .Trigger_cmd_on -> no_trigger
#S .Trigger_condition ->
#S .Trigger_off -> no_trigger
#S .Trigger_on -> *
#S .Trigger_time ->
#S .V_Check -> V 0.3
#S Exec_cmd -> set Dummy_Lampe on
#S Trigger_device -> all_events
#S Trigger_log -> off
#S last_event -> Flur_Taster2_Motion:trigger_cnt:204
#S state -> on
#A room -> bsp
#A MSwitch_Include_MSwitchcmds -> 0
#A MSwitch_Inforoom -> MSwitch
#A MSwitch_Mode -> Full
#A MSwitch_Help -> 1
#A MSwitch_Include_Devicecmds -> 1
#A MSwitch_Expert -> 1
#A MSwitch_Extensions -> 1
#A MSwitch_Delete_Delays -> 1
#A MSwitch_Debug -> 1
#A MSwitch_Ignore_Types -> notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
#A MSwitch_Lock_Quickedit -> 1
#A MSwitch_Include_Webcmds -> 1


Bin jetzt aber auch erstmal unterwegs.

andies

Ich habe mal angefangen, eine Einführung zu entwerfen. Eventuell fixieren wir die auch im ersten Post? Ich brauche, glaube ich, da mithilfe von der Community. Ist das, was da bisher steht, überhaupt richtig? Was sollte als nächstes kommen?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Byte09

Zitat von: Torsten_MG am 27 Mai 2018, 14:25:30
Funktioniert leider nicht. Anbei mal die config von dem MSwitch wie ich ihn angepasst habe

#S .Device_Affected -> Flur_Lampe-AbsCmd1,Flur_Lampe-AbsCmd2,Flur_Lampe-AbsCmd3
#S .Device_Affected_Details -> Flur_Lampe-AbsCmd1,on,no_action,,,delay1,delay1,000000,000000,[$EVENT]~eq~"Flur_Taster2_Motion:state:motion"~AND~off~eq~"off"~AND~[18:00-06:00],,0,0|Flur_Lampe-AbsCmd2,off,no_action,,,delay1,delay1,000000,000000,[$EVENT]~eq~"Flur_Taster2_Motion:state:motion"~AND~off~eq~"off"~AND~[18:00-06:00],,0,0|Flur_Lampe-AbsCmd3,MSwitchtoggle,no_action,on/off,,delay1,delay1,000000,000000,[$EVENT]~eq~"Flur_Taster1:state:*Short"~OR~[$EVENT]~eq~"Flur_Taster2_01:trigger:Short*"~OR~[$EVENT]~eq~"Flur_Taster2_02:trigger:Short*",,0,0
#S .Device_Events -> no_trigger|*
#S .First_init -> done
#S .Trigger_Whitelist -> Flur_Taster1,Flur_Taster2_01,Flur_Taster2_02,Flur_Taster2_Motion
#S .Trigger_cmd_off -> no_trigger
#S .Trigger_cmd_on -> no_trigger
#S .Trigger_condition ->
#S .Trigger_off -> no_trigger
#S .Trigger_on -> *
#S .Trigger_time ->
#S .V_Check -> V 0.3
#S Exec_cmd -> set Dummy_Lampe on
#S Trigger_device -> all_events
#S Trigger_log -> off
#S last_event -> Flur_Taster2_Motion:trigger_cnt:204
#S state -> on
#A room -> bsp
#A MSwitch_Include_MSwitchcmds -> 0
#A MSwitch_Inforoom -> MSwitch
#A MSwitch_Mode -> Full
#A MSwitch_Help -> 1
#A MSwitch_Include_Devicecmds -> 1
#A MSwitch_Expert -> 1
#A MSwitch_Extensions -> 1
#A MSwitch_Delete_Delays -> 1
#A MSwitch_Debug -> 1
#A MSwitch_Ignore_Types -> notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
#A MSwitch_Lock_Quickedit -> 1
#A MSwitch_Include_Webcmds -> 1


Bin jetzt aber auch erstmal unterwegs.

wenn du es noch schaffdt, mach doch bitte im device mal 'save events' an , löse jedes beteiligte gerät mal aus und schicke mir dann nochmal die config. dann habe ich auch alle generierten events und kann es mir anschauen.

gruss Byte09

Byte09

Zitat von: andies am 27 Mai 2018, 14:30:13
Ich habe mal angefangen, eine Einführung zu entwerfen. Eventuell fixieren wir die auch im ersten Post? Ich brauche, glaube ich, da mithilfe von der Community. Ist das, was da bisher steht, überhaupt richtig? Was sollte als nächstes kommen?

bekommen jetzt auch erstmal besuch , ich schaue es mir später an . thx.

gruss thomas