Z-Wave Netz Visualisierung Überwachung

super, vielen Dank !

werde ich heute Abend gleich ausprobieren und berichten…

Gruß
Flipper

Hallo McFly,

ich erkläre Dich zu meinem persönlichen Held ! Die Grafik funktioniert !

Allerdings möchte ich der vollständigkeit halber noch mitteilen, dass die Probleme (fehlender Node 1 also Controller ) wohl daran gelegen haben, dass ich das GW über den zw-Konfigurator nicht eingerichtet, also die Instanz nicht angelegt habe und nicht an Deinem Skript.

Für die Bedienung der ZW-Komponenten war das nicht notwendig, aber eine nicht angelegte Instanz kann wohl auch das beste Skript nicht finden und auch nicht in der graph.json aufnehmen . Mea culpa.

Allerdings funktioniert die Graphenanzeige nicht: nach scan und (doppel)klick auf einen Node aus meinem Netz wird zwar rechts die Instanz angezeigt und ist bedienbar, aber im unteren, linken Fenster steht:


Notice: Undefined index: text in C:\IP-Symcon\scripts\56168.ips.php on line 1517
[0] in function CreateArrayForSubTitle in C:\IP-Symcon\scripts\56168.ips.php on line 670
[1] in function GetHighChartsCfgFile in C:\IP-Symcon\scripts\56168.ips.php on line 179
[2] in function CreateConfigString in C:\IP-Symcon\scripts\18362.ips.php on line 339
[3] in function include_once in C:\IP-Symcon\webfront\user\viz_mesh\Highstock\IPS_Template.php on line 29

Notice: Undefined index: Ips in C:\IP-Symcon\scripts\56168.ips.php on line 1518
[0] in function CreateArrayForSubTitle in C:\IP-Symcon\scripts\56168.ips.php on line 670
[1] in function GetHighChartsCfgFile in C:\IP-Symcon\scripts\56168.ips.php on line 179
[2] in function CreateConfigString in C:\IP-Symcon\scripts\18362.ips.php on line 339
[3] in function include_once in C:\IP-Symcon\webfront\user\viz_mesh\Highstock\IPS_Template.php on line 29

Notice: Undefined index: Ips in C:\IP-Symcon\scripts\56168.ips.php on line 1519
[0] in function CreateArrayForSubTitle in C:\IP-Symcon\scripts\56168.ips.php on line 670

aber kein Diagramm.

Wenn es hilft kann ich noch rausbasteln, welche Skripte sich hinter den IDs verbergen, vielleicht sind die Funktionsnahmen aber auch schon Info genug ?

Gruß
Flipper

und ein Nachtrag, als Vorschlag:

Du hattest ursprünglich die Links in beiden Richtungen ausgewertet, dann aus Performancegründen auf eine Richtung zurückgeschaltet (nur die Hälfte an Links zu verarzten)

Wäre es nicht vielleicht sinnvoll doch beide Richtungen auszuwerten und dann, wenn nur eine Richtung funktioniert den Link z.B. rot darzustellen, da dann eine Kommunikation nur in eine Richtung möglich wäre, während Links die in beiden Richtungen funktionieren grün oder so dargestellt werden?

Ich denke diese Info könnte bei weiter verteilten Netzen wichtig sein um merkwürdigem Verhalten auf die Spur zu kommen. Eine Farbcodierung der Links (sofern möglich) würde doch kaum Performance kosten, oder ?

Gruß
Flipper

Hi,

ich wollte „schnell mal“ auch diese wunderbare Idee testen, leider bleibt bei mir der SCAN beim USB-Stick (Node1) hängen.

Bei den bis dahin erzeugten sind die beiden Var (NumPing und Pingtime) da, bei allen anderen „logischerweise“ nicht.

Was kann ich tun ???

Hi,

das macht er bei mir (meistens) auch. Es hilft ( so sieht es zumindest aus…) das generate_data ereignis manuell zu triggern wenn er hängt. Dann läuft er weiter und es funktioniert mit dem scan.

McFly hat da aber bestimmt eine qualifiziertere Meinung…

Gruß

Flipper

Hi Flipper,

vielen Dank - leider läuft er bei mir nicht weiter wenn ich das Script (siehe Anlage) starte - ein anderes Ereignis habe ich nicht gesehen …

Es gibt in der Konsole eine Übersicht der Timer.

Da ist auch der von mir angesprochene Timer drin, der eigentlich vom Skript immer wieder neu gesetzt wird.

Also: scan über Webfront anstoßen und (wenn er hängen bleibt) in der Konsole den 5 Sekunden Timer manuell einmal setzen bzw. aktivieren.
Bei mir läuft der Scan dann durch und aktualisiert die Grafik oben links. Aber nicht das Skript manuell starten! Warum der hängt ist mir auch nicht klar…

edit: ich sehe gerade bei Dir ist das ein 1-Sekunden Timer… bei mir sind es 5 Sekunden… ?

Das Diagramm unten funktioniert bei mir nicht. Das ist defaultmäßig auf Highstocks eingestellt und er beschwert sich über einen fehlenden index ‚text‘. Und zwar zu Recht :slight_smile: der wird bei mir nur erzeugt, wenn manuell auf HighChart umgestellt wird. Das Diagramm ist dann aber nicht wirklich funktionsfähig bzw. aussagekräftig. Also warte ich einfach mal was McFly dazu meint.

Gruß

Flipper

Also,

das das Script beim Node 1 lange braucht ist normal.
Deshalb wollte ich den Node uhrsprünglich auch nicht mehr abfragen. Aber dann gibts Probleme mit den Links zwischen den Nodes. Den Node 1 gibt es halt, nur das er keine Infos über sich Preis gibt.
Lasst dem Node 1 beim Scan mal Zeit.
Generell müssen natürlich alle Nodes auch Instanzen haben sonst kann das Script die Daten nicht zuordnen.

Das Problem mit den Graphen:
Seltsam, das ich bei mir solche Meldungen nicht habe. Ich wollte Platz sparen, da die Zeitraumangabe im Highstock wenig Sinn macht.
Aber der Trend sollte trotzdem sichtbar sein.
Vielleicht reicht einfach nicht der Platz im iFrame.

Anbei eine neue Version. Es wird nun wieder ein (leerer) Subtitle gesetzt. Außerdem wird die Pingabfrage des Node 1 übersprungen.

@flipper:

Wäre es nicht vielleicht sinnvoll doch beide Richtungen auszuwerten und dann, wenn nur eine Richtung funktioniert den Link z.B. rot darzustellen, da dann eine Kommunikation nur in eine Richtung möglich wäre, während Links die in beiden Richtungen funktionieren grün oder so dargestellt werden?

Ist ne gute Idee. Mal sehen wie ich das rein bringe. Wobei ich mir nicht sicher bin ob es „einseitige“ Verbindungen überhaupt gibt.

edit: ich sehe gerade bei Dir ist das ein 1-Sekunden Timer… bei mir sind es 5 Sekunden… ?

Ist normal. Wenn das Script gestartet wird ist der 1 Sekunden Timer aktiv. Zwischen den einzelnen Scans wirkt dann der 5 Sekunden Timer.

Btw.: Die Highstocks sind noch WiP. Im Moment werden alle Werte geladen. Wenn das Scripte erstmal lang läuft können das ziemlich viele Datensätze werden. Das muss ich noch irgendwie begrenzen.

cu…

viz_mesh_V0.4.1.zip (923 KB)

Hi,

dass die Pings lange brauchen, da sie nicht beantwortet werden und damit ein timeout abgewartet werden muss ist klar.
Der ist aber nicht (langsam) „am pingen“ , bei mir hängt er tatsächlich (im WFE steht was von configure ) und nach mehreren Minuten ist dann meine Geduld am Ende. Nach dem manuellen Anschieben des Timers läuft es dann recht fluffig durch…

Danke für die neue Version, werde ich heute Abend testen…

Gruß, Flipper

Hallo McFly,

habe die neue Version ausprobiert : der Scan läuft klasse durch, sowohl mit als auch ohne optimierung, danke !

Das Chart funktioniert aber immer noch nicht :

Notice: Undefined index: Ips in C:\IP-Symcon\scripts\28452.ips.php on line 1518
[0] in function CreateArrayForSubTitle in C:\IP-Symcon\scripts\28452.ips.php on line 670
[1] in function GetHighChartsCfgFile in C:\IP-Symcon\scripts\28452.ips.php on line 179
[2] in function CreateConfigString in C:\IP-Symcon\scripts\51079.ips.php on line 339
[3] in function include_once in C:\IP-Symcon\webfront\user\viz_mesh\Highstock\IPS_Template.php on line 29

Notice: Undefined index: Ips in C:\IP-Symcon\scripts\28452.ips.php on line 1519
[0] in function CreateArrayForSubTitle in C:\IP-Symcon\scripts\28452.ips.php on line 670
[1] in function GetHighChartsCfgFile in C:\IP-Symcon\scripts\28452.ips.php on line 179
[2] in function CreateConfigString in C:\IP-Symcon\scripts\51079.ips.php on line 339
[3] in function include_once in C:\IP-Symcon\webfront\user\viz_mesh\Highstock\IPS_Template.php on line 29

Ich hab aber noch nicht tiefer gegraben. Kann ich irgend etwas machen um Dich zu unterstützen ? Ich finde es klasse wieviel Mühe Du investierst um Dein Skript für alle zur Verfügung zu stellen…

Die Fehler beziehen sich auf folgenden Code-Abschnitt (Zeile 1217-1220):


$s = $cfg['subtitle']['text'];
$s = str_ireplace("%STARTTIME%", date($cfg['subtitle']['Ips']['DateTimeFormat'], $cfg['Ips']['ChartStartTime']), $s);
$s = str_ireplace("%ENDTIME%", date($cfg['subtitle']['Ips']['DateTimeFormat'], $cfg['Ips']['ChartEndTime']), $s);
$cfg['subtitle']['text'] = ReplaceToGermanDate($s);

Gruß,

Flipper

Kommentier mal im Script „Update“ (unter „Kurve“)
die Zeilen 94-96 um:

$CfgDaten['subtitle']['text'] = "Zeitraum: %STARTTIME% - %ENDTIME%";
//$CfgDaten['subtitle']['text'] = " ";
$CfgDaten['subtitle']['Ips']['DateTimeFormat'] = "(D) d.m.Y H:i";

Dann sind erstmal alle Variablen wieder „befruchtet“. Ich muss mal schauen, Notice hab ich wahrscheinlich abgeschaltet.

@flipper:

Der ist aber nicht (langsam) „am pingen“ , bei mir hängt er tatsächlich (im WFE steht was von configure ) und nach mehreren Minuten ist dann meine Geduld am Ende. Nach dem manuellen Anschieben des Timers läuft es dann recht fluffig durch…

hm, klingt eher, als ob der Timer hängen geblieben ist. War der Timer noch aktiv? Ich wüsste jetzt nicht, warum er hängen bleiben sollte. Beobachte das bitte, ob es wieder auftritt.

cu…

Hi,

mit der Umkommentierung zeigt er ein Chart an ( Highchart oder ), siehe Anhang.

In Deinem Sreenshot sieht das aber irgendwie sinnvoller aus, bei mir macht im Prinzip nur der Tooltip Sinn…

edit: nein, soweit ich mich erinnere war der Timer nicht mehr aktiv, ich hab ihn aktiv gesetzt und dann lief es weiter durch. Bei der neuen Version ist das noch kein mal aufgetreten…

Gruß,

Flipper

PS: Anhänge einbinden übe ich wohl nochmal… :frowning: – besser !

noch zum Chart :

die Werte von NumPing und PingTime scheinen nicht in die Datenbank geschrieben zu werden. Der Archive Handler zeigt zumindest dass keine Werte vorhanden sind …

Flipper

Hast Du den Scan öfter aufgerufen?
Ich starte Ihn jede Stunde.
Standardmäßig zeigt er den aktuellen Tag bis 0:00. Aber wenn noch keine Daten vorhanden sind…
Trag doch mal von Hand Werte in ein PingTime ein. Die DB sollte diese abspeichern.

cu…

Ja, der ist eigentlich öfter gelaufen, hat aber keine Werte eingetragen.

Beim letzten Durchlauf hat er dann auch mal was gespeichert.

Mal sehen, ich werde das beobachten…

Danke nochmal,

Flipper

Hi,

also mit der 0.4.1 ist er bei mir - mit einem manuellen ANSCHUBSEN zwischendurch (generate_data script) durchgelaufen …

CIao

Herbert

Hi,

ich hab das mal weiter beobachtet (mein Netz wird laufend gescannt :slight_smile: und er ist wieder hängen geblieben.

Im Log waren relativ lange PING zeiten, maximal knapp unter 4000ms. Kann es sein das dadurch das Ereignis überholt wird oder die Reihenfolge irgendwie durcheinander kommt ?

Ich kenne jetzt die internen Timings nicht so genau (timeout, retrigger etc), aber da es sporadisch auftritt könnte das ja sein…

Gruß

Flipper

Aus diesem Grund habe ich das Skript bei mir nicht automatisch am laufen. Wenn Du den Scan machst und gleichzeitig ein paar Befehle über das Netz jagst, dann geht das teilweise bei mir soweit, dass mein Gateway sich aufhängt. Und bei über 40 Nodes ist es ziemlich wahrscheinlich das der Scan und andere Befehle kollidieren.

Effekt ist beim Scan mit optimieren grösser.

hm, guter Hinweis.

Überlege schon ob man den Scan nicht „ständig“ machen sollte.
Also nicht einmal alle 1 oder 2 Stunden alle abfragen sondern immer nur 1 Gerät und dann 10 Minuten Pause oder so.
Generell scheint es ähnlich dem FS20 System ein Puffer im Controller zu geben. Jedenfalls zeigt der Aeonlabs solch ein Verhalten.
Da forsche ich noch.
Mit dem Script hab ich auch shcon rausbekommen, dass die Everspring Schalter mit der Zeit einschlafen, wenn sie nicht direkt vom Controller erreicht werden können.

cu…

Hi,

also jetzt mal zusammenfassend:

Das Skript ist eine super Lösung um ein Z-Wave Netz zu visualisieren!

Ich kann es gerade sehr gut brauchen, da ich mein Netz nachdem ich verschiedene Ansätze geprobt habe massiv erweitere (diverse Verbraucher über z-wave monitoren und Licht schalten).

Nochmal ganz herzlichen Dank dafür, dass Du das Projekt gezeigt und auch noch bei der Einrichtung massiv unterstützt hast !

Flipper