MSwitch_Support

Begonnen von Der_Tom, 27 Juni 2021, 07:29:32

Vorheriges Thema - Nächstes Thema

Der_Tom

es gibt seit einigen Verrsinen ein Device, welches innerhalb jedes MSwitches zur installation angeboten wird .

Dieses bietet die Möglichkeit diverser MSwitch betreffender Einstellungen , u.A wird in diesem angezeigt  ob eine neue Version vorhanden ist und dort zum Update angeboten.



Wolle02

Hallo Thomas, ich habe hier folgendes Device:

Modulversion: 7.65
Datenstruktur: V6.3

----- Systemstart -----
     -> Version 7.65... loading files and system variables
     -> System: no update avaible
     -> setting preconfpath... https://raw.githubusercontent.com/Byte009/MSwitch_Addons/master/MSwitch_Preconf.conf
     -> setting undotime... 3000sec
     -> setting rename... off
     -> setting wizard... on, resettime: 3600sec
     -> setting startdelay... 30sec
     -> setting startmode... Notify
!!!  -> no widgetfile (www/MSwitch/MSwitch_widgets.txt) found - Widgets off
     -> helpfile ger (www/MSwitch/MSwitch_Help.txt) loaded - Help on
     -> helpfile eng (www/MSwitch/MSwitch_Help_eng.txt) loaded - Help on
     -> autoupdate devices status: on
     -> Support Mail: Byte009@web.de
     -> Mswitch initializing ready
     -> Es sind 5 Mswitchdefinitionen vorhanden, teste Definitionen...
     -> initializing MSwitch-Devices ready

----- Devicename -----
Sys_at_firstday

----- Attribute -----
Attribut stateFormat: {(AttrVal("$name","disable","0") == 1) ? "disabled" : (ReadingsTimestamp("$name","last_exec_cmd","undef"))}
Attribut MSwitch_Extensions: 0
Attribut MSwitch_Include_MSwitchcmds: 0
Attribut MSwitch_Include_Devicecmds: 1
Attribut MSwitch_Safemode: 1
Attribut DbLogExclude: .*
Attribut MSwitch_Debug: 1
Attribut MSwitch_generate_Events: 0
Attribut MSwitch_Help: 1
Attribut MSwitch_Expert: 0
Attribut MSwitch_Futurelevel: 1
Attribut MSwitch_Delete_Delays: 1
Attribut MSwitch_Mode: Notify
Attribut MSwitch_Include_Webcmds: 0
Attribut MSwitch_Eventhistory: 0
Attribut MSwitch_Ignore_Types: notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
Attribut room: System->Steuerungen,System->MSwitch_Info

----- Trigger -----
Trigger device:  kein Trigger definiert
Trigger time: kein Timer definiert
Trigger condition:
Trigger Device Global Whitelist: keine Trigger_Whitelist definiert

----- Trigger Details -----
Trigger cmd1: nicht definiert
Trigger cmd2: nicht definiert
Trigger cmd3: nicht definiert
Trigger cmd4: nicht definiert

----- Bridge Details -----
keine Bridge definiert

----- Device Actions -----

Device: FreeCmd
--------------------------------
cmd1:
 cmd backup
cmd2:
 cmd
cmd1 delay:
cmd2 delay:
repeats: undefined
repeats delay: undefined
priority: 1
id: 0
comment:
cmd1 exit: 0
cmd2 exit: 0

Device: FreeCmd
--------------------------------
cmd1:
 cmd set reduceLog reduceLog
cmd2:
 cmd
cmd1 delay: 02:00:00
cmd2 delay:
repeats: undefined
repeats delay: undefined
priority: 1
id: 0
comment:
cmd1 exit: 0
cmd2 exit: 0
--------------------------------

define Sys_at_firstday mswitch HEX 2354202d3e2045696e7a656c726573746f72650a234e202d3e205379735f61745f66697273746461790a2355554944202d3e2036303433373436392d663333662d626632642d366236312d623864393062386162616262326161320a2353202e547269676765725f74696d655f33202d3e2054494d453d30303a30317c434441593d310a2353202e4465766963655f4576656e7473202d3e206e6f5f747269676765720a2353202e547269676765725f646576696365202d3e206e6f5f747269676765720a2353202e547269676765725f74696d655f34202d3e200a2353202e547269676765725f636d645f6f6666202d3e206e6f5f747269676765720a2353202e547269676765725f74696d655f35202d3e200a2353202e547269676765725f6c6f67202d3e206f66660a2353202e547269676765725f74696d655f31202d3e200a2353202e547269676765725f6f6666202d3e206e6f5f747269676765720a2353206c6173745f636d64202d3e20636d645f310a2353202e547269676765725f636d645f6f6e202d3e206e6f5f747269676765720a2353204e6578745f54696d65725f415247202d3e206e6f4172670a2353202e46697273745f696e6974202d3e20646f6e650a2353202e547269676765725f74696d655f32202d3e200a2353202e4465766963655f41666665637465645f44657461696c735f6e6577202d3e2046726565436d642d416273436d6431235b4e465d636d64235b4e465d636d64235b4e465d6261636b7570235b4e465d235b4e465d64656c617930235b4e465d64656c617930235b4e465d235b4e465d235b4e465d235b4e465d235b4e465d756e646566696e6564235b4e465d756e646566696e6564235b4e465d31235b4e465d30235b4e465d235b4e465d30235b4e465d30235b4e465d31235b4e465d30235b4e465d30235b4e465d756e646566696e6564235b4e465d756e646566696e6564235b4e445d46726565436d642d416273436d6432235b4e465d636d64235b4e465d636d64235b4e465d736574235b73705d7265647563654c6f67235b73705d7265647563654c6f67235b4e465d235b4e465d617430235b4e465d64656c617931235b4e465d30323a30303a3030235b4e465d235b4e465d235b4e465d235b4e465d756e646566696e6564235b4e465d756e646566696e6564235b4e465d31235b4e465d30235b4e465d235b4e465d30235b4e465d30235b4e465d31235b4e465d30235b4e465d30235b4e465d756e646566696e6564235b4e465d756e646566696e65640a2353206c6173745f6465766963655f74726967676572202d3e2074696d65720a2353202e4465766963655f4166666563746564202d3e2046726565436d642d416273436d64312c46726565436d642d416273436d64320a2353202e547269676765725f636f6e646974696f6e202d3e200a2353202e6173736f63696174656457697468202d3e206e6f5f74726967676572207265647563654c6f670a2353202e565f436865636b202d3e2056362e330a2353202e547269676765725f6f6e202d3e206e6f5f747269676765720a2353207374617465202d3e206163746976650a2341207374617465466f726d6174202d3e207b284174747256616c2822246e616d65222c2264697361626c65222c22302229203d3d203129203f202264697361626c656422203a202852656164696e677354696d657374616d702822246e616d65222c226c6173745f657865635f636d64222c22756e6465662229297d0a2341204d5377697463685f457874656e73696f6e73202d3e20300a2341204d5377697463685f496e636c7564655f4d537769746368636d6473202d3e20300a2341204d5377697463685f496e636c7564655f446576696365636d6473202d3e20310a2341204d5377697463685f536166656d6f6465202d3e20310a23412044624c6f674578636c756465202d3e202e2a0a2341204d5377697463685f4465627567202d3e20310a2341204d5377697463685f67656e65726174655f4576656e7473202d3e20300a2341204d5377697463685f48656c70202d3e20310a2341204d5377697463685f457870657274202d3e20300a2341204d5377697463685f4675747572656c6576656c202d3e20310a2341204d5377697463685f44656c6574655f44656c617973202d3e20310a2341204d5377697463685f4d6f6465202d3e204e6f746966790a2341204d5377697463685f496e636c7564655f576562636d6473202d3e20300a2341204d5377697463685f4576656e74686973746f7279202d3e20300a2341204d5377697463685f49676e6f72655f5479706573202d3e206e6f7469667920616c6c6f776564206174207761746368646f6720646f6966206668656d326668656d2074656c6e65742046696c654c6f672072656164696e677347726f7570204648454d574542206175746f637265617465206576656e7474797065732072656164696e677370726f7879207376672063756c0a234120726f6f6d202d3e2053797374656d2d3e537465756572756e67656e2c53797374656d2d3e4d5377697463685f496e666f0a

Der MSwitch startet an jedem Ersten des Monats um 00:01 Uhr. Den zweiten Befehl wollte ich aus Lastgründen aber nicht gleichzeitig zum Backup ausführen; deshalb habe ich ein Delay mit "Ausführungszeit mit Bedingungsprüfung sofort und vor Ausführung" gesetzt, dass dieser Befehl um 02:00:00 Uhr startet. Leider startet er aber nicht am 01. des Monats um 02:00 Uhr, sondern am 02. des Monats um 00:01 Uhr.

Also entweder ist im Code was falsch oder in der Beschreibung. Oder ich kapiers mal wieder nicht; ist auch immer wieder mal ne Möglichkeit.  ;D

Der_Tom

Ich habe das Device gerade mal angeegt und kann das verhalten bestätigen.
Irgendwo ist was faul - ich weiss aber noch nicht wirklich wo und was - es liegt nicht an deine Code.

Ich schaue mir das im Laufe des Vormittags an und melde mich dann.

gruss thomas

Der_Tom

es handelt sich in jedem Fall um einen Fehler, der nur dann auftritt , wenn das zeitversetzte schalten in zusammenhang mit einem FreeCmd auftritt - daher bisher nicht aufgefallen.

Bei normalen CMDs ( nicht FreeCmd )  wird die Verzögerung richtig gesetzt - im Bild im Anhang recht gut zu sehen .

ich behebe das bis heute abend.

gruss thomas

Wolle02

Danke schön, für die mal wieder schnelle Reaktion. Bei der Gelegenheit hätte ich da noch einen kleinen Feature-Wunsch.

Wäre es möglich den einzelnen CMD-Zweigen einen "disable"-Button zu spendieren, um einen einzelnen Befehl bzw. einen einzelnen Zweig vorübergehend zu deaktivieren? Ich habe bei mir immer mal wieder die Situation, dass ich zu Testzwecken einen einzelnen Zweig bzw. Befehl gerne nicht ausgeführt hätte. Bislang muss ich dieses dazu dann löschen und ggf. später wieder umständlich neu einbauen.

Der_Tom

Zitat von: Wolle02 am 02 Juni 2024, 10:26:55Wäre es möglich den einzelnen CMD-Zweigen einen "disable"-Button zu spendieren, um einen einzelnen Befehl bzw. einen einzelnen Zweig vorübergehend zu deaktivieren? Ich habe bei mir immer mal wieder die Situation, dass ich zu Testzwecken einen einzelnen Zweig bzw. Befehl gerne nicht ausgeführt hätte. Bislang muss ich dieses dazu dann löschen und ggf. später wieder umständlich neu einbauen.

du kannst einzelne zweige vorübergehend "abschalten" indem du das attr "MSWitch_Expert" auf 1 setzt .
dann hast du in jedem "Zweig" eine Option "ID" mit einer einstellbaren Zahl ( Dropdown).

wenn du dort einen wert einstellst ( standart ist "-" ) wird dieser zweig bei einem normalen aufruf nicht mehr ausgeführt .

gruss Thomas

Der_Tom

Ich habe den Fehler gefunden und behoben . Läuft jetzt noch einen Moment zum test bei mir.

Update stelle ich heute Nachmittag ein.

Gruss Thomas

Wolle02

Zitat von: Der_Tom am 02 Juni 2024, 10:43:28du kannst einzelne zweige vorübergehend "abschalten" indem du das attr "MSWitch_Expert" auf 1 setzt .
dann hast du in jedem "Zweig" eine Option "ID" mit einer einstellbaren Zahl ( Dropdown).

wenn du dort einen wert einstellst ( standart ist "-" ) wird dieser zweig bei einem normalen aufruf nicht mehr ausgeführt .


Ah, ok. Ist zwar etwas "von hinten durch die Brust ins Auge" aber funktioniert. Muss man erstmal drauf kommen. Danke.

Der_Tom

Installierte Modulversion: 7.65
verfügbare Modulversion: 7.66

update_avaible
Bugfix DelayTime

Wolle02

Hallo Thomas, ich habe in meinem Logfile noch etwas komisches bemerkt. Es geht um folgenden MSwitch:

Modulversion: 7.65
Datenstruktur: V6.3

----- Systemstart -----
     -> Version 7.65... loading files and system variables
     -> System: no update avaible
     -> setting preconfpath... https://raw.githubusercontent.com/Byte009/MSwitch_Addons/master/MSwitch_Preconf.conf
     -> setting undotime... 3000sec
     -> setting rename... off
     -> setting wizard... on, resettime: 3600sec
     -> setting startdelay... 30sec
     -> setting startmode... Notify
!!!  -> no widgetfile (www/MSwitch/MSwitch_widgets.txt) found - Widgets off
     -> helpfile ger (www/MSwitch/MSwitch_Help.txt) loaded - Help on
     -> helpfile eng (www/MSwitch/MSwitch_Help_eng.txt) loaded - Help on
     -> autoupdate devices status: on
     -> Support Mail: Byte009@web.de
     -> Mswitch initializing ready
     -> Es sind 5 Mswitchdefinitionen vorhanden, teste Definitionen...
     -> initializing MSwitch-Devices ready

----- Devicename -----
SZ_EchoShow2FhemWecker

----- Attribute -----
Attribut MSwitch_Extensions: 0
Attribut stateFormat: {(AttrVal("$name","disable","0") == 1) ? "disabled" : (ReadingsTimestamp("$name","last_exec_cmd","undef"))}
Attribut MSwitch_Include_MSwitchcmds: 0
Attribut MSwitch_Include_Devicecmds: 1
Attribut MSwitch_Safemode: 1
Attribut MSwitch_generate_Events: 0
Attribut DbLogExclude: .*
Attribut MSwitch_Debug: 1
Attribut MSwitch_Expert: 0
Attribut MSwitch_Help: 1
Attribut MSwitch_Eventhistory: 0
Attribut MSwitch_Ignore_Types: notify allowed at watchdog doif fhem2fhem telnet FileLog readingsGroup FHEMWEB autocreate eventtypes readingsproxy svg cul
Attribut MSwitch_Include_Webcmds: 0
Attribut MSwitch_Mode: Notify
Attribut MSwitch_Delete_Delays: 0
Attribut room: System->Steuerungen,System->MSwitch_Info

----- Trigger -----
Trigger device:  ECHO_SZ
Trigger time: kein Timer definiert
Trigger condition: $EVENT =~ m/ECHO_SZ:(Wecker_.*|musicwecker_.*)/
Trigger Device Global Whitelist: keine Trigger_Whitelist definiert

----- Trigger Details -----
Trigger cmd1: nicht definiert
Trigger cmd2: nicht definiert
Trigger cmd3: ECHO_SZ:Wecker_.*:on
Trigger cmd4: ECHO_SZ:musicwecker_.*:on

----- Bridge Details -----
keine Bridge definiert

----- Device Actions -----

Device: FreeCmd
--------------------------------
cmd1:
 cmd {fhem("set rr_Tanja_wakeuptimer1 nextRun ".ReadingsVal('ECHO_SZ','Weckzeit_01','OFF'));}
cmd2:
 cmd {fhem("set rr_Tanja_wakeuptimer1 nextRun ".ReadingsVal('ECHO_SZ','musicweckzeit_01','OFF'));}
cmd1 delay:
cmd2 delay:
repeats: undefined
repeats delay: undefined
priority: 1
id: 0
comment:
cmd1 exit: 0
cmd2 exit: 0
--------------------------------

define SZ_EchoShow2FhemWecker mswitch HEX 2354202d3e2045696e7a656c726573746f72650a234e202d3e20535a5f4563686f53686f77324668656d5765636b65720a2355554944202d3e2036303862646165662d663333662d626632642d666130322d666361656562303963313963313763370a2353206c6173745f737769746368202d3e206e6f207377697463680a2353202e547269676765725f6f6666202d3e206e6f5f747269676765720a2353202e547269676765725f6c6f67202d3e206f66660a2353202e547269676765725f636d645f6f6666202d3e204543484f5f535a3a6d757369637765636b65725f2e2a3a6f6e0a2353202e4465766963655f4576656e7473202d3e206e6f5f747269676765720a2353202e547269676765725f646576696365202d3e204543484f5f535a0a2353202e547269676765725f6f6e202d3e206e6f5f747269676765720a2353202e547269676765725f636f6e646974696f6e202d3e20244556454e54203d7e206d2f4543484f5f535a3a285765636b65725f2e2a7c6d757369637765636b65725f2e2a292f0a2353202e565f436865636b202d3e2056362e330a2353202e46697273745f696e6974202d3e20646f6e650a2353202e4465766963655f41666665637465645f44657461696c735f6e6577202d3e2046726565436d642d416273436d6431235b4e465d636d64235b4e465d636d64235b4e465d7b6668656d2822736574235b73705d72725f54616e6a615f77616b65757074696d657231235b73705d6e65787452756e235b73705d222e52656164696e677356616c28274543484f5f535a272c275765636b7a6569745f3031272c274f46462729293b7d235b4e465d7b6668656d2822736574235b73705d72725f54616e6a615f77616b65757074696d657231235b73705d6e65787452756e235b73705d222e52656164696e677356616c28274543484f5f535a272c276d757369637765636b7a6569745f3031272c274f46462729293b7d235b4e465d64656c617931235b4e465d64656c617931235b4e465d235b4e465d235b4e465d5b4543484f5f535a3a5765636b65725f30315d235b73705d6571235b73705d226f6e22235b4e465d5b4543484f5f535a3a6d757369637765636b65725f30315d235b73705d6571235b73705d226f6e22235b4e465d756e646566696e6564235b4e465d756e646566696e6564235b4e465d31235b4e465d30235b4e465d235b4e465d30235b4e465d30235b4e465d31235b4e465d30235b4e465d300a2353202e4465766963655f4166666563746564202d3e2046726565436d642d416273436d64310a2353206c6173745f6465766963655f74726967676572202d3e206576656e740a2353202e547269676765725f636d645f6f6e202d3e204543484f5f535a3a5765636b65725f2e2a3a6f6e0a2353206c6173745f636d64202d3e20636d645f320a2341204d5377697463685f457874656e73696f6e73202d3e20300a2341207374617465466f726d6174202d3e207b284174747256616c2822246e616d65222c2264697361626c65222c22302229203d3d203129203f202264697361626c656422203a202852656164696e677354696d657374616d702822246e616d65222c226c6173745f657865635f636d64222c22756e6465662229297d0a2341204d5377697463685f496e636c7564655f4d537769746368636d6473202d3e20300a2341204d5377697463685f496e636c7564655f446576696365636d6473202d3e20310a2341204d5377697463685f536166656d6f6465202d3e20310a2341204d5377697463685f67656e65726174655f4576656e7473202d3e20300a23412044624c6f674578636c756465202d3e202e2a0a2341204d5377697463685f4465627567202d3e20310a2341204d5377697463685f457870657274202d3e20300a2341204d5377697463685f48656c70202d3e20310a2341204d5377697463685f4576656e74686973746f7279202d3e20300a2341204d5377697463685f49676e6f72655f5479706573202d3e206e6f7469667920616c6c6f776564206174207761746368646f6720646f6966206668656d326668656d2074656c6e65742046696c654c6f672072656164696e677347726f7570204648454d574542206175746f637265617465206576656e7474797065732072656164696e677370726f7879207376672063756c0a2341204d5377697463685f496e636c7564655f576562636d6473202d3e20300a2341204d5377697463685f4d6f6465202d3e204e6f746966790a2341204d5377697463685f44656c6574655f44656c617973202d3e20300a234120726f6f6d202d3e2053797374656d2d3e537465756572756e67656e2c53797374656d2d3e4d5377697463685f496e666f0a

Ich prüfe hier am Anfang eine Auslösebedingung für Events, damit Events, die nicht die zu prüfenden Readings betreffen gleich verworfen werden. Bei dieser Prüfung kommt es scheinbar zu einem Syntaxfehler, wenn in dem zu prüfenden Event eckige Klammern vorkommen. Im Logfile finde ich dann immer folgenden Fehler:

2024.06.15 07:00:06 1: aufruf condcheck ############# 12451
2024.06.15 07:00:06 1: SZ_EchoShow2FhemWecker EERROR: syntax error at (eval 148473024) line 1, near ""ECHO_SZ:currentAlbum:Radical Optimism "["
 
2024.06.15 07:00:06 1: Finalstring: if ("ECHO_SZ:currentAlbum:Radical Optimism "[Explicit]"" =~ m/ECHO_SZ:(Wecker_.*|musicwecker_.*)/){$answer = 'true';} else {$answer = 'false';}
2024.06.15 07:00:06 1: Event: ECHO_SZ:currentAlbum:Radical Optimism [Explicit]
2024.06.15 07:00:06 1: Eventfull: ECHO_SZ:currentAlbum:Radical Optimism [Explicit]
2024.06.15 07:00:06 1: #############

Kann man das irgendwie abfangen?

Der_Tom

moin,

Es liegt an der Eckigen Klammern - wie du bereits erkannt hast - die ich einfach mal nicht als Eventteil vorgesehen hatte.
Dieses Problem gab es schonmal und ich habe mich nicht wirklich darum gekümmert , sondern diese Klammern mit einem Attribut einfach gefiltert.

Diese Lösung möchte ich nicht wirklich nochmal anbieten. Von daher werde ich das Problem heute im Code lösen und ein Fix bereitstellen- das wird aber einen Moment dauern.


Gruss Thomas


Der_Tom

Hi Wolle,


ich habe das Problem gefunden und entsprechend geändert.
Da diese Problematik eher sehr selten vorkommt, die Änderung doch recht gravierend ist und ich heute keine Zeit habe die Änderung umfangreich zu testen werde ich das Fix heute abend einspielen, aber ..... .

Um Probleme zu vermeiden wird die Änderung bis auf weiteres nur durch setzen des ATTR "MSwitch_Futurelevel" auf 7.68 in betreffenden Devices greifen.

Dann kannst du es ohne "Gefahren" probieren und es gibt in anderen Installationen keine Überraschungen ( zumal ich die kommenden 2/3 Tage nur begrenzt Zeit habe auf Probleme zu reagieren ).


Wenn das ATTR gelöscht wird / oder niedriger gesetzt wird ist alles beim alten .

Gruss Thomas

Wolle02

Alles klar, dann werde ich morgen updaten und den Futurelevel auf 1 setzen und warten was passiert :-)