98_MSwitch - Support

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

Vorheriges Thema - Nächstes Thema

ToKa

N'Abend,

wie kann ich denn diese Version aus dem GIT herunterladen?

Danke und Grüße
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

Byte09

Zitat von: ToKa am 02 Dezember 2018, 20:22:01
N'Abend,

wie kann ich denn diese Version aus dem GIT herunterladen?

Danke und Grüße
Torsten

steht im ersten Beitrag  ;)

Zitatupdate auf die Testversion im GIT  ( Achtung dieses ist immer eine aktuelle Entwicklerversion ohne Anspruch auf Fehlerfreiheit ):
Code: [Auswählen]

update all https://raw.githubusercontent.com/Byte009/FHEM-MSwitch/master/controls_mswitch.txt


eine Rückkehr von der Testversion zur SVN-Version ist in der Regl problemlos möglich . Im Einzelfall ( je nach Stand der Entwicklungsversion) kann es aber zu Kompatibilitätsproblemen kommen, insbesondere dann , wenn sich die Version_Datenstruktur unterscheidet. In diesem Fall bei Bedarf bitte kurz Anfragen.

gruss Byte09

ToKa

Hallo Byte09,

habe die Version aus dem Git jetzt installiert, kann aber nicht entdecken, an welcher Stelle ich die Uhrzeit für einzelne Aktionen setzen kann. Muss ich dazu noch ein Attribut pflegen?

Grüße
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

Byte09

Zitat von: ToKa am 03 Dezember 2018, 22:16:47
Hallo Byte09,

habe die Version aus dem Git jetzt installiert, kann aber nicht entdecken, an welcher Stelle ich die Uhrzeit für einzelne Aktionen setzen kann. Muss ich dazu noch ein Attribut pflegen?

Grüße
Torsten

morgen,

setz in dem device das attribut 'MSwitch_Help' mal auf 1. dann hast du vor fast jedem Feld einen Hilfebutton (?).

Help: "Trigger time:"
ZitatTrigger ist das Gerät, oder die Zeit, auf die das Modul reagiert, um andere Devices anzusprechen.
Das Gerät kann aus der angebotenen Liste ausgewählt werden, sobald dieses ausgewählt ist werden weitere Optionen angeboten.
Soll auf mehrereGerät gleichzeitig getriggert werden , so ist dieses ebenfalls möglich. Hierzu muss das Attribut "MSwitch_Expert" auf 1 gesetzt sein und als Auswahl "GLOBAL" erfolgen.

Zeitangaben können ebenso als Trigger genutzt werden, das Format muss wie folgt lauten:
Hierfür stehen folgende Optionen zur Verfügung:

1. switch MSwitch on + execute 'cmd1' at
das komplette Device wird auf "on" geschaltet. Der Zweig "cmd1" wird in allen "device actions" ausgeführt.

2. switch MSwitch off + execute 'cmd2' at
das komplette Device wird auf "off" geschaltet. Der Zweig "cmd2" wird in allen "device actions" ausgeführt.

3. execute 'cmd1' only at
es werden alle "cmd1" Zweige aller "device actions" ausgeführt

4. execute 'cmd2' only at
es werden alle "cmd2" Zweige aller "device actions" ausgeführt

5. execute 'cmd1+cmd2' only at
es werden alle "cmd1" und "cmd2" Zweige aller "device actions" ausgeführt


Die Syntax muss wie folgt lauten:
[STUNDEN:MINUTEN|TAGE|IDx,y]
Tage werden von 1-7 gezählt, wobei 1 für Montag steht, 7 für Sonntag.
Die Angabe der ID ist optional. Wenn eine ID angegeben ist , werden nur 'cmds' ausgeführt, denen eine ID zugewiesen ist. Ist keine ID angegeben , werden nur alle 'cmds' ausgeführt , denen keine ID zugewiesen ist .
Diese Option ist nur in den Feldern "execute cmd1 only at :" , "execute cmd2 only at :" und "execute 'cmd1+cmd2' only at:" möglich.


Die Variable $we ist anstatt der Tagesangabe verwendbar
[STUNDEN:MINUTEN|$we] - Schaltvorgang nur an Wochenenden.
[STUNDEN:MINUTEN|!$we] - Schaltvorgang nur an Werktagen.

Mehrere Zeitvorgaben können aneinandergereiht werden.
[17:00|1][18:30|23] würde den Trigger Montags um 17 Uhr auslösen und Dienstags,Mittwochs um 18 Uhr 30.

Sunset - Zeitangaben können mit folgender Sytax eingebunden werden: z.B:
[{sunset()}] , [{sunrise(+1800)}].

Es ist eine gleichzeitige Nutzung für Trigger durch Zeitangaben und Trigger durch Deviceevents möglich.

Sonderformate:
[?20:00-21:00|5] - Zufälliger Schaltvorgang zwischen 20 Uhr und 21 Uhr am Freitag
[00:02*04:10-06:30] - Schaltvorgang alle 2 Minuten zwischen 4.10 Uhr und 6.30 Uhr

um eine ID setzen zu können muss das MSwitch im 'Expert_Mode' sein. Attribut 'MSwitch_Expert' auf 1 setzen.


Help: priority

Zitat
priority - Auswahl der Reihenfolge der Befehlsabarbeitung. Ein Befehl mit der Nr. 1 wird als erstes ausgeführt , die höchste Nummer zuletzt.
Sollte mehrere Befehle die gleiche Nummer haben , so werden diese Befehle in dargestellter Reihenfolge ausgeführt.

ID - Devices denen eine ID zugewiesen ist , werden in der normalen abarbeitung der Befehle nicht mehr berücksichtigt und somit nicht ausgeführt. Wenn eine ID-Zuweisung erfolgt ist, kann dieser Befehlszweig nur noch über das cmd set DEVICE ID NR on/off erfolgen. Diese Option wird nur in Ausnahmefällen benötigt , wenn die Pipes nicht ausrechend sind um verschiedene Aktionen unter verschiedenen Bedingungen auszuführen.

gruss Byte09

ToKa

#574
Hallo Byte09,

danke für die zusätzlichen Informationen und Hinweise. Das mit der ID war mir nicht bewußt, aber ist eine elegante Lösung. Habe jetzt mal ein Device umgebaut und werde testen, ob es sich richtig verhält.

EDIT: Test war erfolgreich, aber im LOG sind folgende Meldungen:
2018.12.04 19:39:38 2: RESIDENTS set ZS_zs_AW_Bewohner absent
2018.12.04 19:39:38 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at ./FHEM/98_MSwitch.pm line 1942.
2018.12.04 19:40:42 2: RESIDENTS set ZS_zs_AW_Bewohner home
2018.12.04 19:41:12 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at ./FHEM/98_MSwitch.pm line 6394.


Beste Grüße
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

Byte09

#575
Zitat von: ToKa am 04 Dezember 2018, 19:29:38
Hallo Byte09,

danke für die zusätzlichen Informationen und Hinweise. Das mit der ID war mir nicht bewußt, aber ist eine elegante Lösung. Habe jetzt mal ein Device umgebaut und werde testen, ob es sich richtig verhält.

EDIT: Test war erfolgreich, aber im LOG sind folgende Meldungen:
2018.12.04 19:39:38 2: RESIDENTS set ZS_zs_AW_Bewohner absent
2018.12.04 19:39:38 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at ./FHEM/98_MSwitch.pm line 1942.
2018.12.04 19:40:42 2: RESIDENTS set ZS_zs_AW_Bewohner home
2018.12.04 19:41:12 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at ./FHEM/98_MSwitch.pm line 6394.


Beste Grüße
Torsten

hi , die warnings kommen durch einen kleinen Fehler in der Testversion. Ich habe dieses bereits korrigiert und werde die neue Version heute Abend einstellen.
ist aber nicht dramatisch .. und kannst du bis dahin ignorieren.

gruss Byte09

edit: ich habe die korrigierte Version eben eingespielt ( GIT )  . Ich haffe , dass die warnings damit behoben sind, bin mir aber nicht ganz sicher. Probier es halt mal aus.

ToKa

Hallo Byte09,

ich werde es mit er neuen Version beobachten, wobei mir jetzt noch dieser Fehler aufgefallen ist:
2018.12.05 23:15:36 1: PERL WARNING: "my" variable $param masks earlier declaration in same scope at ./FHEM/98_MSwitch.pm line 7301, <$fh> line 3703.

Beste Grüße
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

Byte09

Zitat von: ToKa am 05 Dezember 2018, 23:19:59
Hallo Byte09,

ich werde es mit er neuen Version beobachten, wobei mir jetzt noch dieser Fehler aufgefallen ist:
2018.12.05 23:15:36 1: PERL WARNING: "my" variable $param masks earlier declaration in same scope at ./FHEM/98_MSwitch.pm line 7301, <$fh> line 3703.

Beste Grüße
Torsten

ich habe diese Fehler in der Testversion ( hoffentlich ) behoben und entsprechende Version in das GIT geladen. Ein weiterrer Fehler dieser Version war leider, das ich die Timeraktualisierung um 00:00:01 versehentlich auskommentiert habeund die Timer somit für den Folgetag nicht aktualisiert wurden. Auch das ist behoben.

gruss Byte09

Byte09

Neue Testversion verfügbar , siehe 1. Post.

- Fehler in den Conditions behoben.

gruss Byte09

Byte09

Die Version 2.07 ist ab sofort im normalen Fhemupdate enthalten und entspricht somit der Testversion im GIT.

gruss Byte09

Byte09

Ab Version 2.08 wir des ein neues Attribut 'MSwitch_Read_Log' geben. Die Funktion ist analog des Notify-Attributes' , d.h es können Logeinträge als Trigger genutzt werden. Genauere Funktionsweise stelle ich in den ersten Post , sobald Ich es als Testversion einspiele.

Da bei Aktivierung erstmal jeder Logeinträge zu einem Aufruf des MSWITCH DEVICES führt ist diese Funktion  mit Bedacht einzusetzen ( wie bei Notify auch ) um die Resourcen zu schonen. D.h nach Möglichkeit nur dann , wenn gewünschtes Ergebniss nicht anders zu erreichen ist.

Gruss Byte09

Gesendet von meinem SM-G900F mit Tapatalk


Byte09

#581
die Version 2.08 ist abe sofort über das GIT verfügbar.

Änderungen: siehe 1.Post https://forum.fhem.de/index.php/topic,86199.msg786438.html#msg786438

ein 'Downgrade' auf V2.07 ist jederzeit Problemlos möglich.

gruss Byte09

Byte09

V2.08 wird ab sofort über das Fhemupdate verteilt.

Änderungen siehe erste Post imThread.
Derzeit bin ich dabei das Wiki zu überarbeiten , so das es in absehbarer Zeit dem Versionsstand entspricht.

Gruss Byte09

Maista

Hallo Byte09

Danke für deine Arbeit am Modul.

Wünsche allen schöne Feiertage

Gruß Gerd

Byte09

#584
V2.08

ich habe heute morgen leider festgestellt, dass die Version 2.08 einen Fehler enthielt . Dieser hatte zur Folge, dass Zeitfenster die in den Conditions angegeben wurden ( [20:00-06:00] ) nicht richtig ausgewertet wurden , wenn die Datumsgrenze dabei überschritten wurde. Wahrscheinlich ist dieser Fehler schon seit längerem Vorhanden , da ich in diesem Teil des Codes schon länger keine Änderungen mehr vorgenommen habe.

Ich habe dieses geändert und die geänderte Version wird per Update verteilt.

Ich muss aber einräumen , dass ich mir nicht 100% sicher bin , ob ich jetzt alle Variationen abgedeckt habe  :-\. Sollte jemand hier nachwievor ein falsches Verhalten bemerken wäre ein kurzer Hinweis hier klasse.

gruss Byte09