Autor Thema: 98_MSwitch - Support  (Gelesen 19945 mal)

Offline Torsten_MG

  • Full Member
  • ***
  • Beiträge: 364
Antw:neues modul: 98_MSwitch.pm
« Antwort #285 am: 03 Juli 2018, 16:45:52 »
Habe den Msitch von Post 828 angelegt. Mal schauen was passiert.

Achso, um 13:55Uhr habe ich auch keine Nachricht bekommen.


EDIT:

Habe den Fehler gefunden:

Habe [vKalender_Schicht:daysleft] statt [vKalender_Schicht:t_001_daysleft] eingegeben
« Letzte Änderung: 03 Juli 2018, 16:51:14 von Torsten_MG »

Offline Torsten_MG

  • Full Member
  • ***
  • Beiträge: 364
Antw:neues modul: 98_MSwitch.pm
« Antwort #286 am: 04 Juli 2018, 19:00:12 »
Scheint jetzt zu funktionieren, habe um 13:55Uhr die Nachricht bekommen.

Jetzt noch eine Frage, in deinem Screenshot steht ja bei telebot MSwitch 'cmd1' hinten dran _001_summary als ich deine Config übernommen habe, ist es bei mir nicht erschienen. Siehe Foto
« Letzte Änderung: 04 Juli 2018, 19:08:14 von Torsten_MG »

Online Byte09

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 896
Antw:neues modul: 98_MSwitch.pm
« Antwort #287 am: 04 Juli 2018, 20:05:15 »
Scheint jetzt zu funktionieren, habe um 13:55Uhr die Nachricht bekommen.

Jetzt noch eine Frage, in deinem Screenshot steht ja bei telebot MSwitch 'cmd1' hinten dran _001_summary als ich deine Config übernommen habe, ist es bei mir nicht erschienen. Siehe Foto
Erstmal gut das es jetzt geht . Sitze aber gerade im Musical (pause) ... Insofern melde ich mich morgen . ;-)

Gruss Byte09

Gesendet von meinem SM-G900F mit Tapatalk

Fhem 5.7, 3*RPi2, Harmony, Hyperion, HM-CFG-LAN, Signalduino, SignalESP, NanoCul
MAINTAINER: 98_Siro, 98_MSwitch

Offline Torsten_MG

  • Full Member
  • ***
  • Beiträge: 364
Antw:neues modul: 98_MSwitch.pm
« Antwort #288 am: 04 Juli 2018, 20:05:57 »
Erstmal gut das es jetzt geht . Sitze aber gerade im Musical (pause) ... Insofern melde ich mich morgen . ;-)

Gruss Byte09

Gesendet von meinem SM-G900F mit Tapatalk

Kein Stress und viel Spaß

Online Byte09

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 896
Antw:neues modul: 98_MSwitch.pm
« Antwort #289 am: 05 Juli 2018, 19:09:40 »
Scheint jetzt zu funktionieren, habe um 13:55Uhr die Nachricht bekommen.

Jetzt noch eine Frage, in deinem Screenshot steht ja bei telebot MSwitch 'cmd1' hinten dran _001_summary als ich deine Config übernommen habe, ist es bei mir nicht erschienen. Siehe Foto

das scheint mir ein problem mit dem darkstyle zu sein . die textarea-felder werden extrem weit auseinandergezogen und dadurch schiebt sich das entsprechende feld sehr weit nach rechts. schau mal , ob du die seite nach rechts scrollen kannst, dann sollte es zu dsehen sein.

ich passe das an.

gruss Byte09
Fhem 5.7, 3*RPi2, Harmony, Hyperion, HM-CFG-LAN, Signalduino, SignalESP, NanoCul
MAINTAINER: 98_Siro, 98_MSwitch

Online Byte09

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 896
Antw:neues modul: 98_MSwitch.pm
« Antwort #290 am: 06 Juli 2018, 08:46:01 »
das problem mit dem DarkStyle sollte behoben sein.

gruss Byte09
Fhem 5.7, 3*RPi2, Harmony, Hyperion, HM-CFG-LAN, Signalduino, SignalESP, NanoCul
MAINTAINER: 98_Siro, 98_MSwitch

Offline Torsten_MG

  • Full Member
  • ***
  • Beiträge: 364
Antw:neues modul: 98_MSwitch.pm
« Antwort #291 am: 06 Juli 2018, 18:17:44 »
das problem mit dem DarkStyle sollte behoben sein.

gruss Byte09

Funktioniert!

Super!

Offline Torsten_MG

  • Full Member
  • ***
  • Beiträge: 364
Antw:neues modul: 98_MSwitch.pm
« Antwort #292 am: 06 Juli 2018, 18:56:12 »
Eine Frage noch.

Im device action rufe ich ja mit {Fahrtstrecke()} den Code in den 99_myUtils auf.
Du wolltest mal schauen, ob man das auch direkt in den MSwitch einbinden kann.

Hier nochmal der Code:
sub
Fahrtstrecke()
{
my @Strecke1 = "";
my @Strecke1a = "";
my @Strecke2 = "";
my @Strecke2a ="";

@Strecke1 =  ReadingsVal("Fahrtzeit_Arbeit","duration_in_traffic","");
@Strecke2 =  ReadingsVal("Abbelen_ohne_Arbeit","duration_in_traffic","");
@Strecke1a = split(/ /,@Strecke1);
@Strecke2a = split(/ /,@Strecke2);

if (@Strecke2a[0]<@Strecke1a[0])
{
fhem("set teleBot send Alternative Strecke @Strecke2")}
else
{
fhem("set teleBot send Standard Strecke @Strecke1")}
}

Online Byte09

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 896
Antw:neues modul: 98_MSwitch.pm
« Antwort #293 am: 06 Juli 2018, 19:25:02 »
Eine Frage noch.

Im device action rufe ich ja mit {Fahrtstrecke()} den Code in den 99_myUtils auf.
Du wolltest mal schauen, ob man das auch direkt in den MSwitch einbinden kann.

Hier nochmal der Code:
sub
Fahrtstrecke()
{
my @Strecke1 = "";
my @Strecke1a = "";
my @Strecke2 = "";
my @Strecke2a ="";

@Strecke1 =  ReadingsVal("Fahrtzeit_Arbeit","duration_in_traffic","");
@Strecke2 =  ReadingsVal("Abbelen_ohne_Arbeit","duration_in_traffic","");
@Strecke1a = split(/ /,@Strecke1);
@Strecke2a = split(/ /,@Strecke2);

if (@Strecke2a[0]<@Strecke1a[0])
{
fhem("set teleBot send Alternative Strecke @Strecke2")}
else
{
fhem("set teleBot send Standard Strecke @Strecke1")}
}

es sollte gehen, wenn du den code genau so :
{
my @Strecke1 = "";
my @Strecke1a = "";
my @Strecke2 = "";
my @Strecke2a ="";
@Strecke1 =  ReadingsVal("Fahrtzeit_Arbeit","duration_in_traffic","");
@Strecke2 =  ReadingsVal("Abbelen_ohne_Arbeit","duration_in_traffic","");
@Strecke1a = split(/ /,@Strecke1);
@Strecke2a = split(/ /,@Strecke2);
if (@Strecke2a[0]<@Strecke1a[0])
{
fhem("set teleBot send Alternative Strecke @Strecke2")}
else
{
fhem("set teleBot send Standard Strecke @Strecke1")}
}

in das cmd1 eingiebst , anstatt des aufrufes der routine.

ungetestet  - bin gerade auf dem sprung . probier es einfach mal .


gruss Byte09
Fhem 5.7, 3*RPi2, Harmony, Hyperion, HM-CFG-LAN, Signalduino, SignalESP, NanoCul
MAINTAINER: 98_Siro, 98_MSwitch

Offline Torsten_MG

  • Full Member
  • ***
  • Beiträge: 364
Antw:neues modul: 98_MSwitch.pm
« Antwort #294 am: 06 Juli 2018, 19:30:06 »
...
in das cmd1 eingiebst , anstatt des aufrufes der routine.

ungetestet  - bin gerade auf dem sprung . probier es einfach mal .


gruss Byte09

Scheint zu funktionieren!

Super!

Also einfach den Code aus myUtils übernehmen!

Offline Torsten_MG

  • Full Member
  • ***
  • Beiträge: 364
Antw:neues modul: 98_MSwitch.pm
« Antwort #295 am: 15 Juli 2018, 20:16:31 »
Ich habe mir heute ein neues MSwitch gemacht und da nochmal eine Frage.

Ich habe als Trigger device meinen Bewegungsmelder genommen. Zusätzlich habe ich bei Trigger condition folgendes eingetragen: [Handy_Torsten:state] eq "absent" AND [Handy_Tanja:state] eq "absent" AND [Handy_Ben:state] eq "absent" AND [Handy_Denise:state] eq "absent". Bei trigger details habe ich bei cmd1 state:motion ausgewählt

Als affected device habe ich den teleBot ausgewählt und bei cmd1 Set msg Bewegungsmelder aktiv eingetragen.

Es funktioniert soweit alles gut. Was mir nur etwas stört ist, dass es ein paar min. dauert bis die Handy´s auf present stehen und so bekomme ich, wenn jemand nach Hause kommt (die 1. Person) sofort die Nachricht geschickt wird. Gibt es eine Möglichkeit in dem MSwitch noch einen Timer einzubinden? Etwa so, dass nachdem der Bewegungsmelder etwas registriert hat, eine Zeit gewartet wird, bis er auf Anwesenheit der Handy´s prüft und dann gegebenenfalls die Nachricht rausschickt.

Hier noch die config:
#V V1.62
#S .Device_Affected -> teleBot-AbsCmd1
#S .Device_Affected_Details -> teleBot-AbsCmd1,msg,no_action,Bewegungsmelder aktiv,,delay1,delay1,000000,000000,,,,,1
#S .Device_Events -> motion:off|motion:on (to broadcast)|state:noMotion|no_trigger|motionCount:89_next:30s|brightness:75|state:motion|motionDuration:32|trigger_cnt:89
#S .First_init -> done
#S .Trigger_Whitelist -> undef
#S .Trigger_cmd_off -> no_trigger
#S .Trigger_cmd_on -> state:motion
#S .Trigger_condition -> [Handy_Torsten.state]~eq~"absent"~AND~[Handy_Tanja.state]~eq~"absent"~AND~[Handy_Ben.state]~eq~"absent"~AND~[Handy_Denise.state]~eq~"absent"
#S .Trigger_off -> no_trigger
#S .Trigger_on -> no_trigger
#S .Trigger_time ->
#S .V_Check -> V 0.3
#S Trigger_device -> FL_Taster2_Motion
#S Trigger_log -> off
#S last_event -> state:motion
#S state -> active
#A room -> Sicherheit
#A MSwitch_Mode -> Notify
#A MSwitch_Delete_Delays -> 1
#A MSwitch_Inforoom -> MSwitch
#A MSwitch_Expert -> 0
#A MSwitch_Debug -> 0
#A MSwitch_Lock_Quickedit -> 1
#A MSwitch_Condition_Time -> 1
#A MSwitch_Ignore_Types -> notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
#A MSwitch_Include_Webcmds -> 0
#A MSwitch_Include_Devicecmds -> 1
#A disable -> 0
#A MSwitch_Include_MSwitchcmds -> 0
#A MSwitch_Help -> 0
#A MSwitch_Extensions -> 0
« Letzte Änderung: 15 Juli 2018, 20:20:05 von Torsten_MG »

Online Byte09

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 896
Antw:neues modul: 98_MSwitch.pm
« Antwort #296 am: 15 Juli 2018, 20:26:20 »
Ich habe mir heute ein neues MSwitch gemacht und da nochmal eine Frage.

Ich habe als Trigger device meinen Bewegungsmelder genommen. Zusätzlich habe ich bei Trigger condition folgendes eingetragen: [Handy_Torsten:state] eq "absent" AND [Handy_Tanja:state] eq "absent" AND [Handy_Ben:state] eq "absent" AND [Handy_Denise:state] eq "absent". Bei trigger details habe ich bei cmd1 state:motion ausgewählt

Als affected device habe ich den teleBot ausgewählt und bei cmd1 Set msg Bewegungsmelder aktiv eingetragen.

Es funktioniert soweit alles gut. Was mir nur etwas stört ist, dass es ein paar min. dauert bis die Handy´s auf present stehen und so bekomme ich, wenn jemand nach Hause kommt (die 1. Person) sofort die Nachricht geschickt wird. Gibt es eine Möglichkeit in dem MSwitch noch einen Timer einzubinden? Etwa so, dass nachdem der Bewegungsmelder etwas registriert hat, eine Zeit gewartet wird, bis er auf Anwesenheit der Handy´s prüft und dann gegebenenfalls die Nachricht rausschickt.

Hier noch die config:
#V V1.62
#S .Device_Affected -> teleBot-AbsCmd1
#S .Device_Affected_Details -> teleBot-AbsCmd1,msg,no_action,Bewegungsmelder aktiv,,delay1,delay1,000000,000000,,,,,1
#S .Device_Events -> motion:off|motion:on (to broadcast)|state:noMotion|no_trigger|motionCount:89_next:30s|brightness:75|state:motion|motionDuration:32|trigger_cnt:89
#S .First_init -> done
#S .Trigger_Whitelist -> undef
#S .Trigger_cmd_off -> no_trigger
#S .Trigger_cmd_on -> state:motion
#S .Trigger_condition -> [Handy_Torsten.state]~eq~"absent"~AND~[Handy_Tanja.state]~eq~"absent"~AND~[Handy_Ben.state]~eq~"absent"~AND~[Handy_Denise.state]~eq~"absent"
#S .Trigger_off -> no_trigger
#S .Trigger_on -> no_trigger
#S .Trigger_time ->
#S .V_Check -> V 0.3
#S Trigger_device -> FL_Taster2_Motion
#S Trigger_log -> off
#S last_event -> state:motion
#S state -> active
#A room -> Sicherheit
#A MSwitch_Mode -> Notify
#A MSwitch_Delete_Delays -> 1
#A MSwitch_Inforoom -> MSwitch
#A MSwitch_Expert -> 0
#A MSwitch_Debug -> 0
#A MSwitch_Lock_Quickedit -> 1
#A MSwitch_Condition_Time -> 1
#A MSwitch_Ignore_Types -> notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
#A MSwitch_Include_Webcmds -> 0
#A MSwitch_Include_Devicecmds -> 1
#A disable -> 0
#A MSwitch_Include_MSwitchcmds -> 0
#A MSwitch_Help -> 0
#A MSwitch_Extensions -> 0

ja , klar.

du trägst bei ''cmd1 condition:' ebenfalls folgendes ein :
[Handy_Torsten:state] eq "absent" AND [Handy_Tanja:state] eq "absent" AND [Handy_Ben:state] eq "absent" AND [Handy_Denise:state] eq "absent".

bei cmd1 (selectfeld) trägst du immidialety and delayed ein und z.b 00:01:00.
so führt er den befehl 1 minute später aus , schaut aber vorher nochmals, ob die bedingung erfüllt ist.
so sollte es eigentlich gehen  ;)

gruss Byte09


edit: die zeit ( 1min) musst du halt entsprechend anpassen , so dass es passt.
« Letzte Änderung: 15 Juli 2018, 20:28:07 von Byte09 »
Fhem 5.7, 3*RPi2, Harmony, Hyperion, HM-CFG-LAN, Signalduino, SignalESP, NanoCul
MAINTAINER: 98_Siro, 98_MSwitch

Offline Torsten_MG

  • Full Member
  • ***
  • Beiträge: 364
Antw:neues modul: 98_MSwitch.pm
« Antwort #297 am: 15 Juli 2018, 20:37:21 »
ok, vielen Dank. Werde ich gleich einpflegen und beim nächsten Fall merken ob´s dann klappt

Online Byte09

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 896
Antw:neues modul: 98_MSwitch.pm
« Antwort #298 am: 15 Juli 2018, 20:38:06 »
nachtrag:

ich würde die 3 telefone aber ggf. in eine structure setzen , das erspart jede menge abfragen.


z:B ... musst du natürlich auf deine devicenamen anpassen
defmod HomeStatus structure home_structure  HandyThomas HandySandra HandyDevon HandyJay  PreseceState
attr HomeStatus clientstate_behavior relative
attr HomeStatus clientstate_priority present absent
attr HomeStatus devStateIcon present:status_available:home absent:control_building_empty:home
attr HomeStatus event-on-change-reading .*
attr HomeStatus group .Home Status
attr HomeStatus icon system_fhem
attr HomeStatus room Anwesenheit

gruss Byte09
Fhem 5.7, 3*RPi2, Harmony, Hyperion, HM-CFG-LAN, Signalduino, SignalESP, NanoCul
MAINTAINER: 98_Siro, 98_MSwitch

Online Byte09

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 896
Antw:neues modul: 98_MSwitch.pm
« Antwort #299 am: 15 Juli 2018, 21:04:44 »
ok, vielen Dank. Werde ich gleich einpflegen und beim nächsten Fall merken ob´s dann klappt

da fällt mir gerade nochwas ein !
du solltest in diesem MSwitch das attribut 'MSwitch_Delete_Delays' unbedingt auf 0 stellen.

wenn dieses nicht auf 0 steht, wird bei jedem neuen event ( innerhalb der minute wartezeit ) das MSwitch im grunde resettet und alle delays ( verzögerungen ) gelöscht und neu gesetzt. d.H bei regelmässigen bewegungen würdest du nur dann eine Nachricht bekommen , wenn es mindestens für die dauer der wartezeit keine neue bewegung gab. das ist wohl nicht sinn der sache .

ist das attribut auf 0 , wird die bereits gesetzte verzögerung nicht gelöscht und eine zusätzliche gesetzt.

gruss Byte09
« Letzte Änderung: 15 Juli 2018, 21:14:57 von Byte09 »
Fhem 5.7, 3*RPi2, Harmony, Hyperion, HM-CFG-LAN, Signalduino, SignalESP, NanoCul
MAINTAINER: 98_Siro, 98_MSwitch