98_MSwitch - Support

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

Vorheriges Thema - Nächstes Thema

Esjay

Moin Byte09, ich mal wieder.
folgende Version habe ich im Einsatz.

98_MSwitch.pm             17417 2018-09-28 03:52:31Z Byte09 Update zeigt mir keine neuere Version.

Wollte gerade meine beiden Mswitche (Die von dir zur Verfügung gestellten Dimmer) über die Slider in FHEMWEB einstellen, anschließend geht der fhem Prozess auf 100% (per top festgestellt) und nur ein reboot machte fhem wieder bedienbar!

2018.10.02 11:12:26 1: PERL WARNING: Argument "un" isn't numeric in multiplication (*) at ./FHEM/98_MSwitch.pm line 1367.
2018.10.02 11:12:26 1: PERL WARNING: Argument "ef" isn't numeric in multiplication (*) at ./FHEM/98_MSwitch.pm line 1368.
2018.10.02 11:12:26 1: PERL WARNING: substr outside of string at ./FHEM/98_MSwitch.pm line 1369.
2018.10.02 11:12:26 1: PERL WARNING: Use of uninitialized value in multiplication (*) at ./FHEM/98_MSwitch.pm line 1369.
2018.10.02 11:12:26 1: PERL WARNING: Argument "un" isn't numeric in multiplication (*) at ./FHEM/98_MSwitch.pm line 4999.
2018.10.02 11:12:26 1: PERL WARNING: Argument "ef" isn't numeric in multiplication (*) at ./FHEM/98_MSwitch.pm line 5000.
2018.10.02 11:12:26 1: PERL WARNING: substr outside of string at ./FHEM/98_MSwitch.pm line 5001.
2018.10.02 11:12:26 1: PERL WARNING: Use of uninitialized value in multiplication (*) at ./FHEM/98_MSwitch.pm line 5001.
2018.10.02 11:12:32 1: PERL WARNING: Deep recursion on subroutine "main::CallFn" at fhem.pl line 3517.
2018.10.02 11:12:32 1: PERL WARNING: Deep recursion on subroutine "main::CallFn" at fhem.pl line 1807.
2018.10.02 11:12:32 1: PERL WARNING: Deep recursion on subroutine "main::AnalyzeCommandChain" at ./FHEM/98_MSwitch.pm line 5119.
2018.10.02 11:12:32 1: PERL WARNING: Deep recursion on subroutine "main::AnalyzeCommand" at fhem.pl line 1062.
2018.10.02 11:12:32 1: PERL WARNING: Deep recursion on subroutine "main::CommandCmdAlias" at fhem.pl line 1214.
2018.10.02 11:12:32 1: PERL WARNING: Deep recursion on subroutine "main::CommandSet" at ./FHEM/98_cmdalias.pm line 99.
2018.10.02 11:12:32 1: PERL WARNING: Deep recursion on subroutine "main::DoSet" at fhem.pl line 1840.
2018.10.02 11:12:32 1: PERL WARNING: Deep recursion on subroutine "main::MSwitch_Set" at fhem.pl line 3592.

2018.10.02 11:25:10 1: PERL WARNING: Useless use of concatenation (.) or string in void context at ./FHEM/98_MSwitch.pm line 3532, <$fh> line 2020.
2018.10.02 11:25:10 1: PERL WARNING: "my" variable $x masks earlier declaration in same scope at ./FHEM/98_MSwitch.pm line 5894, <$fh> line 2020.
2018.10.02 11:25:12 1: Including ./log/fhem.save


Grüße

Byte09

Zitat von: Esjay am 02 Oktober 2018, 11:32:47
Moin Byte09, ich mal wieder.
folgende Version habe ich im Einsatz.

98_MSwitch.pm             17417 2018-09-28 03:52:31Z Byte09 Update zeigt mir keine neuere Version.

Wollte gerade meine beiden Mswitche (Die von dir zur Verfügung gestellten Dimmer) über die Slider in FHEMWEB einstellen, anschließend geht der fhem Prozess auf 100% (per top festgestellt) und nur ein reboot machte fhem wieder bedienbar!

2018.10.02 11:12:26 1: PERL WARNING: Argument "un" isn't numeric in multiplication (*) at ./FHEM/98_MSwitch.pm line 1367.
2018.10.02 11:12:26 1: PERL WARNING: Argument "ef" isn't numeric in multiplication (*) at ./FHEM/98_MSwitch.pm line 1368.
2018.10.02 11:12:26 1: PERL WARNING: substr outside of string at ./FHEM/98_MSwitch.pm line 1369.
2018.10.02 11:12:26 1: PERL WARNING: Use of uninitialized value in multiplication (*) at ./FHEM/98_MSwitch.pm line 1369.
2018.10.02 11:12:26 1: PERL WARNING: Argument "un" isn't numeric in multiplication (*) at ./FHEM/98_MSwitch.pm line 4999.
2018.10.02 11:12:26 1: PERL WARNING: Argument "ef" isn't numeric in multiplication (*) at ./FHEM/98_MSwitch.pm line 5000.
2018.10.02 11:12:26 1: PERL WARNING: substr outside of string at ./FHEM/98_MSwitch.pm line 5001.
2018.10.02 11:12:26 1: PERL WARNING: Use of uninitialized value in multiplication (*) at ./FHEM/98_MSwitch.pm line 5001.
2018.10.02 11:12:32 1: PERL WARNING: Deep recursion on subroutine "main::CallFn" at fhem.pl line 3517.
2018.10.02 11:12:32 1: PERL WARNING: Deep recursion on subroutine "main::CallFn" at fhem.pl line 1807.
2018.10.02 11:12:32 1: PERL WARNING: Deep recursion on subroutine "main::AnalyzeCommandChain" at ./FHEM/98_MSwitch.pm line 5119.
2018.10.02 11:12:32 1: PERL WARNING: Deep recursion on subroutine "main::AnalyzeCommand" at fhem.pl line 1062.
2018.10.02 11:12:32 1: PERL WARNING: Deep recursion on subroutine "main::CommandCmdAlias" at fhem.pl line 1214.
2018.10.02 11:12:32 1: PERL WARNING: Deep recursion on subroutine "main::CommandSet" at ./FHEM/98_cmdalias.pm line 99.
2018.10.02 11:12:32 1: PERL WARNING: Deep recursion on subroutine "main::DoSet" at fhem.pl line 1840.
2018.10.02 11:12:32 1: PERL WARNING: Deep recursion on subroutine "main::MSwitch_Set" at fhem.pl line 3592.

2018.10.02 11:25:10 1: PERL WARNING: Useless use of concatenation (.) or string in void context at ./FHEM/98_MSwitch.pm line 3532, <$fh> line 2020.
2018.10.02 11:25:10 1: PERL WARNING: "my" variable $x masks earlier declaration in same scope at ./FHEM/98_MSwitch.pm line 5894, <$fh> line 2020.
2018.10.02 11:25:12 1: Including ./log/fhem.save


Grüße

Hi ,

Das ist das gleiche Problem ... zumindest die gleiche Ursache ..., was du die tage schon hattest . Die Ursache habe ich zwischenzeitlich behoben , das update aber noch nicht online gestellt.  Sobald ich heute nachmittag Zuhause bin lasse ich dir    die gefixte version zukommen. 

Gruss Byte09



Gesendet von meinem SM-G900F mit Tapatalk

Esjay

Tip Top !

Ich danke dir!

8)

Grüße

Byte09

Zitat von: Esjay am 02 Oktober 2018, 11:43:41
Tip Top !

Ich danke dir!

8)

Grüße

hi ,

wollte nur schnell bescheid geben , dass ich es heute nicht mehr schaffe mit der gefixten version , brauche morgen noch 1-2 stunden . sorry.

gruss Byte09

PM konnte ich dir leider nicht schicken .

Maista

Moin Byte09

habe im Log folgende Meldung
Zitat2018.10.02 22:20:04 1: PERL WARNING: Useless use of concatenation (.) or string in void context at ./FHEM/98_MSwitch.pm line 3532, <$fh> line 479.
2018.10.02 22:20:05 1: PERL WARNING: "my" variable $x masks earlier declaration in same scope at ./FHEM/98_MSwitch.pm line 5894, <$fh> line 479.

Gruss Gerd

Byte09

Zitat von: Maista am 03 Oktober 2018, 14:44:48
Moin Byte09

habe im Log folgende Meldung
Gruss Gerd

danke für den Hinweis, ist in der V2.01 weg. wollte ich eigentlich heute einspielen , leider habe ich mir heute morgen mein aktivsystem zerschosse ( vielmehr hat es sich irgendwie ohne mein zutun zerschossen ) und ich bekomme das problem nicht in den griff ( zigbee2mqtt
) . somit steht die Hälfte meiner Sensoren still ... super WAF.

Sobald ich das im Griff habe kümmere ich mich darum , das die Version online kommt .

gruss Byte09

Bäschdler

Hi,

also beim sunset / sunrise weiss ich jetzt nicht geau, ich hatte den twilight genau so wie ich ihn jetzt im MSwitch drin habe in einem watchdog drin gehabt der mir den Rolladen gesteuert hat. Da hat's getan (aber ich brauchte halt 2 oder gar 3 watchdog's was ich jetzt durch einen MSwitch mit mehr Funktionalität ablösen will). Den sunset / sunrise aus meinem Beispiel hatte ich so aus der Doku von sunset / sunrise übernommen und testhalber in den MSwitch rein gemacht um zu sehen ob es da auch so ein ähnliches Verhalten gibt.

Was Du allerdings mit

[{ sunset(0,"15:00","22:00") }-{ sunrise("+3600") }]

machen willst verstehe ich jetzt nicht. Vom Sonnenuntergang zwischen 15 Uhr und 22 Uhr wird der Sonnenaufgang + 1 Stunde abgezogen?
Oder verstehe ich den Syntax nicht?

Gruss Bäschdler


Byte09

#487
Zitat von: Bäschdler am 03 Oktober 2018, 20:00:57
Hi,

also beim sunset / sunrise weiss ich jetzt nicht geau, ich hatte den twilight genau so wie ich ihn jetzt im MSwitch drin habe in einem watchdog drin gehabt der mir den Rolladen gesteuert hat. Da hat's getan (aber ich brauchte halt 2 oder gar 3 watchdog's was ich jetzt durch einen MSwitch mit mehr Funktionalität ablösen will). Den sunset / sunrise aus meinem Beispiel hatte ich so aus der Doku von sunset / sunrise übernommen und testhalber in den MSwitch rein gemacht um zu sehen ob es da auch so ein ähnliches Verhalten gibt.

Was Du allerdings mit

[{ sunset(0,"15:00","22:00") }-{ sunrise("+3600") }]

machen willst verstehe ich jetzt nicht. Vom Sonnenuntergang zwischen 15 Uhr und 22 Uhr wird der Sonnenaufgang + 1 Stunde abgezogen?
Oder verstehe ich den Syntax nicht?

Gruss Bäschdler

wenn du es in zusammenhang mit conditions meinst ist es ein zeitraum : [zeit1-zeit2] ( zei1 bis zeit2 )

eingehender String:
[{ sunset(0,"15:00","22:00") }-{ sunrise("+3600") }]

If Anweisung Perl:
if ((1515004200 < 1515007740 && 1515007740 < 1515048900)){$answer = 'true';} else {$answer = 'false';}

If Anweisung Perl Klarzeiten:
if ((19:30 < 20:29 && 20:29 < 07:55)){$answer = 'true';} else {$answer = 'false';}

Bedingung ist Wahr und wird ausgeführt


oder redest du garnicht von conditions , sondern von einem zeitschaltpunt ?
ZitatFolgende Fehlermeldung bekomme ich wenn ich auf "check condition" gehe:

gruss Byte09

Byte09

#488
V2.01 ist ab morgen verfügbar.

- Rename eines MSwitch Devices - Fehler behoben
- Copy eines MSwitch Devices ist nun möglich - alle daten werden übernommen , nicht nur die 'Hülle'
- regex für die Conditions überarbeitet / Ensatz von z.B twilight etc. ist nun möglich
- Fehler inm Zusammenhang mit 'undef' in den delays behoben

Die angedachte Sortierreihenfolge in der Webansicht habe ich doch verworfen ( zumindest vorerst ) .

ACHTUNG: ich habe hier mal ein MSwitch eingestellt, welches auf das globale EVENT 'renamed' reagiert hat und von einem Rename betroffene devices innerhalb eines MSwitch-Devices angepassst hat . Dieses darf während eines Renames eines MSwitch-devices keinesfalls aktiv sein , das wird unweigerlich zum Totalverlust ALLER gespeicherten MSwitches führen.

Dieses bitte unbedingt löschen , ich werde hier in den kommenden Tagen ein überarbeitetes MSwitch mit dieser Funktion einstellen.

gruss Byte09

Byte09

@Esjay

der Fehler, der bei dir aufgetreten ist , ist ganz schwierig reproduzierbar . Die Änderungen die ich diesbezüglich gemacht habe basieren somit eher auf Vermutungen . Ich haffe, dass es behoben ist , würde im Augenblick aber nicht die Hand dafür insFeuer legen .

Info Allgemein: dieser Fehler betrifft nur ein ganz spezielles MSwitch , mit Sonderfunktionen !

Gruss Byte09

Esjay

Zitat von: Byte09 am 04 Oktober 2018, 20:16:12
@Esjay

der Fehler, der bei dir aufgetreten ist , ist ganz schwierig reproduzierbar . Die Änderungen die ich diesbezüglich gemacht habe basieren somit eher auf Vermutungen . Ich haffe, dass es behoben ist , würde im Augenblick aber nicht die Hand dafür insFeuer legen .

Info Allgemein: dieser Fehler betrifft nur ein ganz spezielles MSwitch , mit Sonderfunktionen !

Gruss Byte09

Kein Thema, ich werde weiter testen, und wenn es Probleme gibt sage ich bescheid!

Grüße

Byte09

kommende Version 2.02

in der kommenden Version gibt es einen neuen Befehl
set <DEVICE> change_renamed <NAMEOLD> <NAMENEW>

Hintergund:
bisher gab es ein MSwitchdevice, was automatisch auf Namensänderungen von Devices reagiert hat. Da diese Funktion sehr stark von der aktuellen 'Version_Datenstruktur' ahängig ist , ist dieses Device nicht mehr nutzbar.

um bei zukünftigen Änderungen darauf reagieren (und das anpassen)  zu können , habe ich eine Funktion , die sowieso schon vorhanden war, mit diesem Befehl zugänglich gemacht.

Dieser Befehl ändert alle im MSwitch vorkommenden Devices <NAME> in <NAME1>. Das betrifft die 'affected_devices' sowie alle vorkommenden Verweise in conditions etc. und das triggerde Device.

Da diese Funktion nicht automatisch ausgelöst werden kann /soll - jedes MSwitch-Device müsste permanent auf alle globalen Events 'lauschen' , muss dieses erstmal manuell ausgeführt werden .

Zusätzlich werde ich wieder ein MSwitch bereitstellen , was diese Überwachung übernimmt ( und bei Vorkommen ) entsprechend warnt und/oder diese Änderung automatisch veranlasst.

gruss Byte09

Bäschdler

Zitat
oder redest du garnicht von conditions , sondern von einem zeitschaltpunt ?

Ich bin darüber gestolpert, dass sunrise und sunset in demselben statement verwendet waren. Aber ich habe es jetzt so wie ich es wollte  :) und kann die Zeitpunkte (-räume) von sunset / sunrise mit entsprechenden offsetwerten berechnen.

Jetzt habe ich mir ein MSwich Device gebaut das 11 Free command's hat in denen ich abhängig von Sonnenaufgang, Helligkeit und Azimuth einen Dummy mit entsprechendem (aufsteigendem) Wert befüllt. Leider kann ich jetzt keine 12. (und weitere) Action für FreeCMD mehr hinzufügen. Ist das "gewollt" oder ist da noch eine Begrenzung drin die aus einem "alten" Entwicklungsstand her kommt?

Viele Grüsse
Bäschdler

Byte09

#493
Hi ,

Ganz ehrlich .... ich habe im Moment keine Ahnung warum er kein 12tes nimmt. Habe ich noch nicht gemacht , gebundene befehle habe ich weit über 20.

Ich schaue mir das an , wenn ich nach hause komme und gebe dir dann Bescheid , bzw fixe es falls nötig.

Poste mir doch bitte mal die raw definition des Devices bzw den config file.

Gruss Byte09

Gesendet von meinem SM-G900F mit Tapatalk

Bäschdler

Ich habe gerade entdeckt, dass die neuen actions doch angelegt wurden.

Bis action "11" war es so, dass die neue action immer am Ende angefügt wurde. Da habe ich jedes Mal auch hin gescrollt und daher nicht gesehen, dass die neue (leere) action an der zweiten Stelle eingefügt wurde. Da habe ich jetzt 4 leere action's, kann daher nicht sagen ob jetzt immer bei 2 eingefügt wurde (und dann die älteren wieder nach unten gerutscht sind) oder ob die nächste neue dann bei 3, 4, 5 eingefügt wurde. Aber jetzt kann ich weiter machen.

Gibt's jetzt schon die Möglichkeit die action's (manuell) zu sortieren? Wenn nicht ist nicht schlimm, wenn ja: wie kann man das machen?

Und dann noch die Frage: Wie kopiere ich einen MSwich? Habe ich da nicht alles gelesen oder bin ich einfach zu blind um die Funktion zu finden?


Danke und Grüsse
Bäschdler