98_MSwitch - Support

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

Vorheriges Thema - Nächstes Thema

Byte09

#300
update auf v1.66 verfügbar.

change:
-bugfix timespec regex ( führte zu Fehlermeldung bei bestimmten Schaltzeiten )
-add ATTR 'disabledForIntervals'
-fix wrong-timespec bug at at-comands (fhem-crash)
-add EVENT readings - ececute timer or at-comands

gruss Byte09

Byte09

wer noch die Version v1.62 einsetzt sollte bitte unbedingt ein update auf V1.65 machen.
die Version V1.62 enthällt einen Fehler, der unter ganz bestimmten Umständen ( bei einsatz von zeitgesteuerten Schaltvorgängen ) zum Fhemcrash führen kann.

gruss Byte09

Torsten_MG

Zitat von: Byte09 am 15 Juli 2018, 20:26:20
ja , klar.

...

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.

Funktioniert leider nicht.

Ich habe als Zeit zu testzwecken 00:06:00 eingetragen.

Handy aus dem W-Lan genommen gewartet bis absent kommt. Dann das W-Lan wieder eingeschaltet. Nach ca. 3min. schaltete Homestatus auf present. Nachdem die 6min. abgelaufen sind kam trotzdem per TeleBot die Meldung "Bewegungsmelder aktiv"

Byte09

Zitat von: Torsten_MG am 23 Juli 2018, 21:25:23
Funktioniert leider nicht.

Ich habe als Zeit zu testzwecken 00:06:00 eingetragen.

Handy aus dem W-Lan genommen gewartet bis absent kommt. Dann das W-Lan wieder eingeschaltet. Nach ca. 3min. schaltete Homestatus auf present. Nachdem die 6min. abgelaufen sind kam trotzdem per TeleBot die Meldung "Bewegungsmelder aktiv"

ich habe das gerade nochmal bei mir probiert und es geht ohne probleme. schick mir doch bitte mal dei komplette rawdefinition oder den configfile des devices.

gruss Byte09

Torsten_MG

Zitat von: Byte09 am 24 Juli 2018, 05:19:23
ich habe das gerade nochmal bei mir probiert und es geht ohne probleme. schick mir doch bitte mal dei komplette rawdefinition oder den configfile des devices.

gruss Byte09

Hier die config

#V V1.66
#S .Device_Affected -> teleBot-AbsCmd1
#S .Device_Affected_Details -> teleBot-AbsCmd1,msg,no_action,Bewegungsmelder aktiv,,delay1,delay1,000600,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 -> [HomeStatus.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 MSwitch_Debug -> 0
#A MSwitch_Mode -> Notify
#A MSwitch_Expert -> 0
#A MSwitch_Delete_Delays -> 0
#A MSwitch_Include_Webcmds -> 0
#A MSwitch_Condition_Time -> 1
#A MSwitch_Include_Devicecmds -> 1
#A MSwitch_Lock_Quickedit -> 1
#A disable -> 0
#A MSwitch_Help -> 0
#A MSwitch_Inforoom -> MSwitch
#A MSwitch_Extensions -> 0
#A room -> Sicherheit
#A MSwitch_Ignore_Types -> notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
#A MSwitch_Include_MSwitchcmds -> 0

Byte09

#305
Zitat von: Torsten_MG am 24 Juli 2018, 08:28:15
Hier die config

#V V1.66
#S .Device_Affected -> teleBot-AbsCmd1
#S .Device_Affected_Details -> teleBot-AbsCmd1,msg,no_action,Bewegungsmelder aktiv,,delay1,delay1,000600,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 -> [HomeStatus.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 MSwitch_Debug -> 0
#A MSwitch_Mode -> Notify
#A MSwitch_Expert -> 0
#A MSwitch_Delete_Delays -> 0
#A MSwitch_Include_Webcmds -> 0
#A MSwitch_Condition_Time -> 1
#A MSwitch_Include_Devicecmds -> 1
#A MSwitch_Lock_Quickedit -> 1
#A disable -> 0
#A MSwitch_Help -> 0
#A MSwitch_Inforoom -> MSwitch
#A MSwitch_Extensions -> 0
#A room -> Sicherheit
#A MSwitch_Ignore_Types -> notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
#A MSwitch_Include_MSwitchcmds -> 0


so, ich habe mir das gerade mal angesehen . Ich glaube du hast den Eintrag den du machen solltest ( Antwort #296 ) gar nicht gemacht, zumindest findet er sich im configfile nicht wieder , wieer sein sollte -> siehe Anhang.

entsprechende zeile würde dann so aussehen :

#S .Device_Affected_Details -> teleBot-AbsCmd1,msg,no_action,Bewegungsmelder aktiv,,delay1,delay1,000600,000000,[HomeStatus.state]~eq~"absent",,,,1


ohne diesen Eintrag führt er den befehl einfach aus ( nach 6 minuten ). nur wenn dieser eintrag vorhanden ist prüft er diesen auf "wahr" oder "nicht wahr" - und zwar direkt bei eintreffen des events, und erneut nach ablaufen der 6 minuten und vor ausführung des Befehls ( bei jetziger einstellung ).

gruss Byte09

Torsten_MG

Zitat von: Byte09 am 24 Juli 2018, 17:47:50
so, ich habe mir das gerade mal angesehen . Ich glaube du hast den Eintrag den du machen solltest ( Antwort #296 ) gar nicht gemacht, zumindest findet er sich im configfile nicht wieder , wieer sein sollte -> siehe Anhang.

entsprechende zeile würde dann so aussehen :

#S .Device_Affected_Details -> teleBot-AbsCmd1,msg,no_action,Bewegungsmelder aktiv,,delay1,delay1,000600,000000,[HomeStatus.state]~eq~"absent",,,,1


ohne diesen Eintrag führt er den befehl einfach aus ( nach 6 minuten ). nur wenn dieser eintrag vorhanden ist prüft er diesen auf "wahr" oder "nicht wahr" - und zwar direkt bei eintreffen des events, und erneut nach ablaufen der 6 minuten und vor ausführung des Befehls ( bei jetziger einstellung ).

gruss Byte09

Asche auf mein Haupt. Das mit dem Eintrag in den 'cmd1' condition im device actions habe ich total übersehen ::)

Ich habe das nur in den Trigger condition stehen gehabt.

Läuft!! Super Teil!!

Byte09

#307
kommende version v1.67

mit der kommenden Version werde/habe  ich die Eventverarbeitung nochmals komplett überarbeitet.
d.H bei manuellen hinzufügen von zu erjkennenden Events könne zukünftig Ausdrücke nach den Regeln der PerlRegex angewendet werden. Hierdurch werden die Möglichkeiten auf ( bestimmte ) Events zu reagieren erheblich grösser.
https://wiki.fhem.de/wiki/Regul%C3%A4rer_Ausdruck

die bisherige Formatierung z.B  "state:(on/off)" bleibt erhalten , sollte dann aber nicht mehr verwendet werden.

gruss Byte09


Esjay

Moin Byte09

ich würde erwarten, dass der Command zu den jeweiligen Zeiten auslöst, aber Pustekuchen. Kannst du mir den Fehler sagen?

#V V1.66
#S .Device_Affected -> Flur-AbsCmd1,ReceiverAxBox4K-AbsCmd1,TelegramBot-AbsCmd1
#S .Device_Affected_Details -> Flur-AbsCmd1,Speak,no_action,45 de Am [myAbfall.next_weekday] wird [ArtikelMuell.state] [myAbfall.next_text] abgeholt heute ist [Wochentag.state],,delay1,delay1,000000,000000,[Haus.state]~eq~"home",,,,1|ReceiverAxBox4K-AbsCmd1,showText,no_action,Am [myAbfall.next_weekday] wird [ArtikelMuell.state] [myAbfall.next_text] abgeholt heute ist [Wochentag.state],,delay1,delay1,000000,000000,[Haus.state]~eq~"home",,,,1|TelegramBot-AbsCmd1,msg,no_action,@#Home Am [myAbfall.next_weekday] wird [ArtikelMuell.state] [myAbfall.next_text] abgeholt heute ist [Wochentag.state],,delay1,delay1,000000,000000,[Haus.state]~ne~"home",,,,1
#S .Device_Events -> no_trigger
#S .First_init -> done
#S .Trigger_Whitelist -> undef
#S .Trigger_cmd_off -> no_trigger
#S .Trigger_cmd_on -> no_trigger
#S .Trigger_condition ->
#S .Trigger_off -> no_trigger
#S .Trigger_on -> no_trigger
#S .Trigger_time -> on[14:22|19:30|20:30|1234567]~off~ononly~offonly
#S .V_Check -> V 0.3
#S Trigger_device -> no_trigger
#S Trigger_log -> off
#S last_event -> undef
#S state -> on
#A MSwitch_Debug -> 0
#A MSwitch_Include_MSwitchcmds -> 0
#A MSwitch_Help -> 1
#A MSwitch_Lock_Quickedit -> 1
#A MSwitch_Extensions -> 0
#A MSwitch_Expert -> 0
#A room -> MSwitch,
#A MSwitch_Ignore_Types -> notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
#A MSwitch_Mode -> Full
#A MSwitch_Delete_Delays -> 1
#A MSwitch_Include_Devicecmds -> 1
#A MSwitch_Include_Webcmds -> 0


Haus steht auf state--> home

Wäre es eventuell möglich im ausführenden Command sowas möglich zu machen?

set Sonos speak 45 de |Ton| Das sit ein Test

Hier wird nach dem |Ton| einfach alles abgeschnitten.

Grüße

Byte09

Ich bin heute den ganzen tag unterwegs , schaue mir das dann heute abend an .

Gruss byte09

Gesendet von meinem SM-G900F mit Tapatalk


Byte09

#310
Zitat von: Esjay am 29 Juli 2018, 14:39:45
Moin Byte09

ich würde erwarten, dass der Command zu den jeweiligen Zeiten auslöst, aber Pustekuchen. Kannst du mir den Fehler sagen?

#V V1.66
#S .Device_Affected -> Flur-AbsCmd1,ReceiverAxBox4K-AbsCmd1,TelegramBot-AbsCmd1
#S .Device_Affected_Details -> Flur-AbsCmd1,Speak,no_action,45 de Am [myAbfall.next_weekday] wird [ArtikelMuell.state] [myAbfall.next_text] abgeholt heute ist [Wochentag.state],,delay1,delay1,000000,000000,[Haus.state]~eq~"home",,,,1|ReceiverAxBox4K-AbsCmd1,showText,no_action,Am [myAbfall.next_weekday] wird [ArtikelMuell.state] [myAbfall.next_text] abgeholt heute ist [Wochentag.state],,delay1,delay1,000000,000000,[Haus.state]~eq~"home",,,,1|TelegramBot-AbsCmd1,msg,no_action,@#Home Am [myAbfall.next_weekday] wird [ArtikelMuell.state] [myAbfall.next_text] abgeholt heute ist [Wochentag.state],,delay1,delay1,000000,000000,[Haus.state]~ne~"home",,,,1
#S .Device_Events -> no_trigger
#S .First_init -> done
#S .Trigger_Whitelist -> undef
#S .Trigger_cmd_off -> no_trigger
#S .Trigger_cmd_on -> no_trigger
#S .Trigger_condition ->
#S .Trigger_off -> no_trigger
#S .Trigger_on -> no_trigger
#S .Trigger_time -> on[14:22|19:30|20:30|1234567]~off~ononly~offonly
#S .V_Check -> V 0.3
#S Trigger_device -> no_trigger
#S Trigger_log -> off
#S last_event -> undef
#S state -> on
#A MSwitch_Debug -> 0
#A MSwitch_Include_MSwitchcmds -> 0
#A MSwitch_Help -> 1
#A MSwitch_Lock_Quickedit -> 1
#A MSwitch_Extensions -> 0
#A MSwitch_Expert -> 0
#A room -> MSwitch,
#A MSwitch_Ignore_Types -> notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
#A MSwitch_Mode -> Full
#A MSwitch_Delete_Delays -> 1
#A MSwitch_Include_Devicecmds -> 1
#A MSwitch_Include_Webcmds -> 0


Haus steht auf state--> home

Wäre es eventuell möglich im ausführenden Command sowas möglich zu machen?

set Sonos speak 45 de |Ton| Das sit ein Test

Hier wird nach dem |Ton| einfach alles abgeschnitten.

Grüße

du hast die zeiten falsch formatiert:
[14:22|19:30|20:30|1234567]

richtig muss es so heissen:
[14:22][19:30][20:30]

auszug aus dem Hilfetext:
Zitat[17:00|1][18:30|23] würde den Trigger Montags um 17 Uhr auslösen und Dienstags,Mittwochs um 18 Uhr 30.

die angabe der tage kannst du dier sparen , wenn an allen tagen geschaltet werden soll. Wenn du tage angiebst , müssen sie für jede zeit angegeben werden.


ZitatWäre es eventuell möglich im ausführenden Command sowas möglich zu machen?

Code: [Auswählen]

set Sonos speak 45 de |Ton| Das sit ein Test


Hier wird nach dem |Ton| einfach alles abgeschnitten.

Grüße

... wird in der nächsten Version gehen , wahscheinlich morgen im Laufe des Tages.

gruss Byte09

Byte09

da ich mit dem fhem-wiki nicht wirklich zurecht komme, und das Modul hier sowieso nicht mehr zum Download bereit steht ( updates wird es unter bekanntem Link weiterhin geben ) habe ich entsprechenden Wikieintrag gelöscht.

Ich werde die komplette WikiSeite überarbeiten und in absehbarer Zeit, bei Interesse, anderweitig zur Verfügung stellen.

Gruss Byte09

andies

Uups. Das ist Schade. Hast Du denn einen github-Account? Den habe ich auf die schnelle nicht gefunden. Kannst Du die bisherigen Einträge nicht da einstellen, es war doch eine Menge Arbeit und Leute wie ich nutzen lieber Wiki als das Forum, weil das so viele Einträge sind.
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: andies am 30 Juli 2018, 12:46:54
Uups. Das ist Schade. Hast Du denn einen github-Account? Den habe ich auf die schnelle nicht gefunden. Kannst Du die bisherigen Einträge nicht da einstellen, es war doch eine Menge Arbeit und Leute wie ich nutzen lieber Wiki als das Forum, weil das so viele Einträge sind.

ja, habe ich . Werde mich heute oder morgen mal damit beschäftigen und es dort einstellen.


gruss Byte09

Byte09

#314
ich werde heute mittag die Version V1.67 einspielen.

Leider ist es notwendig geworden , die gesamte Datenstruktur umzustellen.
d.H nach dem Update sind keine MSwitches mehr Funktionsfähig und es werden sich folgende Einträge im Logfile finden:
2018.07.31 07:41:11 0: <Devicename> Versionskonflikt, aktion abgebrochen !  erwartet:V 0.5 vorhanden:V 0.3

Bis zu einem Fhemneustart führen keine MSwitcdevicec mehr Aktionen aus. Mit Fhemneustart werden alle Datensätze automatisch geändert und im Logfile entsprechend dokumentiert:
2018.07.31 07:49:07 0: Backupdatei vor Strukturupdate wird erzeugt: MSwitch_backup_V03.cfg. Für einen Restore muss diese in MSwitch_backup.cfg umbenannt werden.
2018.07.31 07:49:08 0: Strukturupdate V 0.5 fuer MSwitch - Lueftung_Ctrl


Vor der Umstellung der Datensätze wird ein automatisches Backup der Configfiles angelegt :
MSwitch_backup_V03.cfg
Dieses kann in Notfall verwendet werden , um die die Version V1.66 im Notfall wieder einzuspielen und kann gelöscht werden , wenn es keine Probleme gibt.

Mit V1.67 können in allen Conditionfeldern Bedingungen nach den Regeln der Regex geprüft werden , alte Formatierungen können weiterhin genutzt werden.

ACHTUNG: MSwitchdevices, die auf "disable" stehen , werden nicht automatisch angepasst. Dieses muss bei Bedarf manuell mit dem Befehl set <DEVICE> VUpdate manuell ausgeführt werden, entsprechender Hinweis erfolgt auf der Konfigurationsseite.
Bitte, sofern möglich, das "Disable" für das Update auf 0 setzen.

@Esjay

set Sonos speak 45 de |Ton| Das sit ein Test
sollte nun innerhalb eines Freecmds möglich sein .

gruss Byte09