MSwitch_Support

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

Vorheriges Thema - Nächstes Thema

Der_Tom

PS: Ich habe noch eine andere Idee, wie ich es direkt im MSwitch unsetzen kann, dauert aber einen Moment ;-)

gruss Thomas

Der_Tom

#76
Version 6.50 im GIT


Änderung der Delayoptionen auf Userwunsch.

ZitatZusatzfeld in den Delayeinstellungen

.....
Das Feld readingname(ident)steht nur im Expertenmodus zur Verfuegung.
Hiier kann fuer entprechendes Delay ein Name angelegt werden . Dieser wird bei aktivem Delay
alsReading genutzt , um verschiedene Informationen zu generieren.

Folgende Readings werden bei Ausloesung des Delay angelegt:

lastsetting_delay_cmd - Ausloesezweig ( z.B cmd_1 )
lastsetting_delay_ident - Name des Delays ( entspricht dem angegebenen Namen )
lastsetting_delay_time - Laufzeit des Delays

In Abhaengigkeit mit dem Attribut MSwitch_Delay_Count kann ein Reading angelegt haben , welches in Echtzeit
die Restlaufzeit des Delays anzeigt.Doeses Reading traegt den Namen des Delays.

Die Ausgabeformatierung kann mit dem Attribut MSwitch_Format_Lastdelay beeinflusst werden.



Zusatzattribute:

MSwitch_Delay_Count

Beeinflusst das Verhalten des Echtzeitcounters bei gesetzten Delays.
Der angegebene Wert entspricht der Aktualisierungsrate des entsprechenden Readings.
Bei der Einstellung 0 wird kein Echtzeitcountdown gestartet.
Diese Einstellung kann das System stark belasten und sollte daher mit Bedacht eingesetzt werden.

Um systembedingte Lasten mit entsprechenden Zeitverschiebungen auszugleichen kann der Counter leicht schwanken.

Die Standarteinstellung bei nicht gesetztem Attribut entspricht einer Aktualisierungsrate von 10 Sekunden.

MSwitch_Format_Lastdelay

Beeinflusst das Format der ausgegebenen Delaytimer.
Folgende Ausdruecke sind verfuegbar:

HH - Stunden
MM - Minuten
SS - (Rest)Sekunden
ss - Gesamtsekunden

Die Standartformatierung bei nicht gesetztem Attribut entspricht HH:MM:SS

Moegliche Formatierungen:
HH MM SS
ss
HH:MM:SS

Freitext wie z.B:
Die Restzeit betraegt ss Sekunden
etc. pp.


Die entsprechenden Hilfetexte wurden nur in der deutschsprachigen MSwitch_Help.txt angepasst.
Zur Pflege der MSwitch_Help_eng.txt fehlt mir im Moment leider die Zeit.


gruss Thomas

Der_Tom

#77
Ich habe die Hilfedatei jetzt doch mal duch den Übersetzer gejagt.

Englische Hilfedatei im Anhang.
Diese ist rein aus dem Übersetzer - und von mir nicht geprüft.

gruss Thomas

PS:  Die Datei muss in den Ordner "/opt/fhem/www/MSwitch" kopier werden.

Der_Tom

Ich habe leider noch eine Korrektur machen müssen und habe eben nochmal ein Update auf V6.51 in das GIT gestellt.

Gruss Thomas

pflock_y

Hallo Thomas,

ich hab seit dem Update gestern fehler im log.
kannst ja bei Gelegenheit mal schauen.
2022.03.03 11:05:00 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/98_MSwitch.pm line 11115.
2022.03.03 11:05:00 1: stacktrace:
2022.03.03 11:05:00 1:     main::__ANON__                      called by ./FHEM/98_MSwitch.pm (11115)
2022.03.03 11:05:00 1:     main::MSwitch_Exec_Notif            called by ./FHEM/98_MSwitch.pm (12737)
2022.03.03 11:05:00 1:     main::MSwitch_Execute_Timer         called by ./FHEM/98_apptime.pm (178)
2022.03.03 11:05:00 1:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (86)
2022.03.03 11:05:00 1:     main::HandleTimeout                 called by fhem.pl (702)
2022.03.03 11:05:00 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/98_MSwitch.pm line 11140.
2022.03.03 11:05:00 1: stacktrace:
2022.03.03 11:05:00 1:     main::__ANON__                      called by ./FHEM/98_MSwitch.pm (11140)
2022.03.03 11:05:00 1:     main::MSwitch_Exec_Notif            called by ./FHEM/98_MSwitch.pm (12737)
2022.03.03 11:05:00 1:     main::MSwitch_Execute_Timer         called by ./FHEM/98_apptime.pm (178)
2022.03.03 11:05:00 1:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (86)
2022.03.03 11:05:00 1:     main::HandleTimeout                 called by fhem.pl (702)
2022.03.03 12:06:00 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/98_MSwitch.pm line 11115.
2022.03.03 12:06:00 1: stacktrace:
2022.03.03 12:06:00 1:     main::__ANON__                      called by ./FHEM/98_MSwitch.pm (11115)
2022.03.03 12:06:00 1:     main::MSwitch_Exec_Notif            called by ./FHEM/98_MSwitch.pm (12737)
2022.03.03 12:06:00 1:     main::MSwitch_Execute_Timer         called by ./FHEM/98_apptime.pm (178)
2022.03.03 12:06:00 1:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (86)
2022.03.03 12:06:00 1:     main::HandleTimeout                 called by fhem.pl (702)
2022.03.03 12:06:00 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/98_MSwitch.pm line 11140.
2022.03.03 12:06:00 1: stacktrace:
2022.03.03 12:06:00 1:     main::__ANON__                      called by ./FHEM/98_MSwitch.pm (11140)
2022.03.03 12:06:00 1:     main::MSwitch_Exec_Notif            called by ./FHEM/98_MSwitch.pm (12737)
2022.03.03 12:06:00 1:     main::MSwitch_Execute_Timer         called by ./FHEM/98_apptime.pm (178)
2022.03.03 12:06:00 1:     main::apptime_getTiming             called by ./FHEM/98_apptime.pm (86)
2022.03.03 12:06:00 1:     main::HandleTimeout                 called by fhem.pl (702)


vg
pflock_y

Der_Tom

Danke für den Hinweis, schaue ich mir heute Abend an.

Gruss Thomas

Der_Tom

Ich habe eben ein Update auf V6.52 in das GIT gestellt.

-Die Nullstellung von Countern erfolgt nun unmittelbar beim löschen von Delays
-Delays können nun einen Namen zugeordnet bekommen
-Delays können einzeln anhand des zugeordneten Namens oder des "Indikators" ( das ist in diesem Fall das auslösende Event gelöscht werden )

Mit get DEVICE actice_timer show können die Daten eines Delays eingesehen werden :
Systemzeit: Fri Mar 25 05:50:34 2022
Schaltzeiten (at - kommandos)


aktive Delays:
Ausführungszeitpunkt: 2022-03-26 04:00:00
Indikator: testdevice:trig:on
Name: counteron_0
auszuführender Befehl:
set MSwitch_Self writelog 6 test on


Löschen eines oder mehrerer Delays erfolgt mit:
set DEVICE del_delays [Name/Indikator]

... ohne Angabe einer Option ([Name/Indikator]) werden alle anstehenden Delays gelöscht.

@pflock_y
die Fehlermeldung sollte (hoffentlich) nicht mehr auftauchen

pflock_y

Morgen Thomas,
update eingespielt und auch gleich getestet. Schaut auch soweit gut aus. Die Meldungen beim Ausführen erscheinen nicht mehr. Super Danke!!

Leider kommt beim neu anlegen oder ändern von Attributen folgendes:

2022.03.25 08:54:32 1: PERL WARNING: Use of uninitialized value $devicetotriggerselect in concatenation (.) or string at ./FHEM/98_MSwitch.pm line 10206.
2022.03.25 08:54:32 1: stacktrace:
2022.03.25 08:54:32 1:     main::__ANON__                      called by ./FHEM/98_MSwitch.pm (10206)
2022.03.25 08:54:32 1:     main::MSwitch_fhemwebFn             called by ./FHEM/01_FHEMWEB.pm (1571)
2022.03.25 08:54:32 1:     main::FW_doDetail                   called by ./FHEM/01_FHEMWEB.pm (1202)
2022.03.25 08:54:32 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (608)
2022.03.25 08:54:32 1:     main::FW_Read                       called by fhem.pl (3931)
2022.03.25 08:54:32 1:     main::CallFn                        called by fhem.pl (780)


kannst ja bei Gelegenheit noch einmal schauen.


vg
pflock_y

Der_Tom

Zitat von: pflock_y am 25 März 2022, 08:58:41
Morgen Thomas,
update eingespielt und auch gleich getestet. Schaut auch soweit gut aus. Die Meldungen beim Ausführen erscheinen nicht mehr. Super Danke!!

Leider kommt beim neu anlegen oder ändern von Attributen folgendes:

2022.03.25 08:54:32 1: PERL WARNING: Use of uninitialized value $devicetotriggerselect in concatenation (.) or string at ./FHEM/98_MSwitch.pm line 10206.
2022.03.25 08:54:32 1: stacktrace:
2022.03.25 08:54:32 1:     main::__ANON__                      called by ./FHEM/98_MSwitch.pm (10206)
2022.03.25 08:54:32 1:     main::MSwitch_fhemwebFn             called by ./FHEM/01_FHEMWEB.pm (1571)
2022.03.25 08:54:32 1:     main::FW_doDetail                   called by ./FHEM/01_FHEMWEB.pm (1202)
2022.03.25 08:54:32 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (608)
2022.03.25 08:54:32 1:     main::FW_Read                       called by fhem.pl (3931)
2022.03.25 08:54:32 1:     main::CallFn                        called by fhem.pl (780)


kannst ja bei Gelegenheit noch einmal schauen.


vg
pflock_y

da mussich mal in ruhe schauen , diese variable ( $devicetotriggerselect) kommt in der angegebenen Zeile 10206 nicht vor , sondern rund 3000 zeilen früher.

ich kann es auch nicht reproduzieren.

schaue ich heute abend , wenn ich es schaffe.

grussThomas

Der_Tom

#84
Version 6.53 im GIT

ZitatVersion
6.53
Change: fix perlwarning, cleanup, change cmd get

In Freecmds werden "get" Befehle nun ähnlich behandeld wie HTTPLoads.
d.H es werden entsprechende Readings mit den Antworten angelegt .
Dieses führte bisher zu einer Fehlermeldung im Log.

Die Behandlung kann mit den Attributen:

MSwitch_ExtraktfromHTTP
MSwitch_ExtraktHTTPMapping
MSwitch_ExtraktHTTP_max

bearbeitet werden.

gruss Thomas

Der_Tom

Update im GIT verfügber

Version
6.54
Change: Change ATTR MSwitch_event_wait, activate Dynsetlist


gruss Thomas

Der_Tom

Update im GIT verfügbar:

Version
6.56
Change: Dynsetlist, change some loglevel, change helpfile, change attr "Selgtrigger_always"


Änderungen können den Hilfetexten entnommen werden.


gruss Thomas

binford6000

Hallo Thomas,
ich brauch mal etwas Unterstützung. Ich habe folgenden MSwitch gebaut:
Modulversion: 6.56
Datenstruktur: V6.2

----- Systemstart -----
     -> Version 6.56... loading files and system variables
     -> System: no update avaible
     -> setting preconfpath... https://raw.githubusercontent.com/Byte009/MSwitch_Addons/master/MSwitch_Preconf.conf
     -> setting undotime... 60sec
     -> 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 3 Mswitchdefinitionen vorhanden, teste Definitionen...
     -> initializing MSwitch-Devices ready

----- Devicename -----
bu1.mswitch

----- Attribute -----
Attribut MSwitch_Include_Webcmds: 0
Attribut MSwitch_Mode: Notify
Attribut MSwitch_Delete_Delays: 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 devStateIcon: active:ios-on-blue:inactive inactive:ios-off:active
Attribut room: MSwitch_Devices
Attribut MSwitch_Debug: 0
Attribut MSwitch_Extensions: 0
Attribut MSwitch_generate_Events: 0
Attribut MSwitch_Include_MSwitchcmds: 0
Attribut MSwitch_INIT: save
Attribut MSwitch_Include_Devicecmds: 1
Attribut MSwitch_Safemode: 1
Attribut MSwitch_Expert: 1
Attribut MSwitch_Help: 0

----- Trigger -----
Trigger device:  bu_tradfri1_switch
Trigger time: undef
Trigger condition:
Trigger Device Global Whitelist: undef

----- Trigger Details -----
Trigger cmd1: no_trigger
Trigger cmd2: no_trigger
Trigger cmd3: state:.*
Trigger cmd4: state:.*

----- Bridge Details -----
bu_tradfri1_switch:state:1002=>cmd1 ID 1
bu_tradfri1_switch:state:2002=>cmd2 ID 1
bu_tradfri1_switch:state:1001=>cmd2 ID 2
bu_tradfri1_switch:state:2001=>cmd1 ID 2


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

Device: MSwitch_Self-AbsCmd1
cmd1: exec_cmd_1 ID2
cmd2: exec_cmd_2 ID2
cmd1 condition: [bu_tradfri1_switch:state] = 2001 AND [bu_spot_licht:pct] >= 0
cmd2 condition: [bu_tradfri1_switch:state] = 1001 AND [bu_spot_licht:pct] <= 100
cmd1 delay: 00:00:01
cmd2 delay: 00:00:01
repeats: 0
repeats delay: 0
priority: 3
id: 2
comment:
cmd1 exit: 0
cmd2 exit: 0

Device: bu_spot_licht-AbsCmd1
cmd1: dimDown
cmd2: dimUp
cmd1 condition: [bu_tradfri1_switch:state] = 2001 AND [bu_spot_licht:pct] >= 0
cmd2 condition: [bu_tradfri1_switch:state] = 1001 AND [bu_spot_licht:pct] <= 100
cmd1 delay: 00:00:00
cmd2 delay: 00:00:00
repeats: 0
repeats delay: 0
priority: 2
id: 2
comment:
cmd1 exit: 0
cmd2 exit: 0

Device: bu_spot_licht-AbsCmd2
cmd1: on
cmd2: off
cmd1 condition:
cmd2 condition:
cmd1 delay:
cmd2 delay:
repeats: 0
repeats delay: 0
priority: 1
id: 1
comment:
cmd1 exit: 0
cmd2 exit: 0


On/off klappt natürlich. Nur das Dimmen macht er nur 1 mal beim entsprechenden Event und dann nicht mehr.

Vielen Dank vorab,
Sebastian

RockFan

Hallo Thomas,

auch ich würde Unterstützung benötigen:
Ich habe gestern folgenden Beitrag von Dir zum Gäste-WLAN der Fritzbox gefunden
https://forum.fhem.de/index.php/topic,100119.msg936495.html#msg936495

Ich vermute, dass der Code von damals wegen der vielen Änderungen an MSwitch nicht mehr mit der aktuellen Version funktionieren kann. Ich wäre Dir sehr dankbar, wenn Du einen aktuellen Code-Extrakt posten könntest.

Vielen Dank im Voraus  :)

Dieter 
Raspbian (Buster) auf Raspberry Pi 4 /  CUL + RFXTRX + TCM / FS20, FHT 80B, S300TH, Intertechno, DMX, Milight, EnOcean, Homematic, AMAD, Home Connect, MiSmartHome, Yeelight, ...

Der_Tom

Zitat von: RockFan am 15 Mai 2022, 17:56:05
Hallo Thomas,

auch ich würde Unterstützung benötigen:
Ich habe gestern folgenden Beitrag von Dir zum Gäste-WLAN der Fritzbox gefunden
https://forum.fhem.de/index.php/topic,100119.msg936495.html#msg936495

Ich vermute, dass der Code von damals wegen der vielen Änderungen an MSwitch nicht mehr mit der aktuellen Version funktionieren kann. Ich wäre Dir sehr dankbar, wenn Du einen aktuellen Code-Extrakt posten könntest.

Vielen Dank im Voraus  :)

Dieter

Hi Dieter,

Ich kann mir leider erst morgen Abend anschauen, worum es da eigentlich ging.

Melde mich dann.

Gruss Thomas