Unterstützung Neustart der SHC
-
MKR -
December 15, 2024 at 1:40 PM -
Thread is Resolved
-
-
Hallo zusammen,
mal so zwischendurch: Das Forum ist klasse! Dank alle die so toll mitwirken! (Und Geduld haben...)
Seven Nachdem ich nun meinen Curl Befehl entsprechend geändert habe, klappt der auch. (Hätte eher geklappt, hätte ich nicht eine Tippfeheleeer da rein gemacht...)
Und nun mal zum Restart...
fg
Dirk
-
Hallo,
und der klappt jetzt auch. Nun möchte ich das in Node red (ein Fujitsu unter UBUNTU) aufbauen. Ein Wechsel deswegen zu IObroker scheint mir dann doch zu viel...
Ach und da müssen es wieder ' sein..
Aber das wird Morgen werden...
fg
Dirk
-
Da müssen wir das Problem weiter eingrenzen. Habe jetzt ein kleines Testskript gemacht, wo ich in eine Variable genau Dein JSON-response String (Codeblock Nr 28 ) rein kopiere. Und dann schreibe ich es auf meinen Datenpunkt. Das funktioniert. Ich hatte erst auch den Verdacht, dass es am Parsen vom Windows-response liegt, aber ist es nicht. Siehe:
Ich würde jetzt folgendes versuchen. Ein kleines Skript, das einen Zahlenwert auf Deinen Datenpunkt setzt. So zum Beispiel.
Was passiert dann ? Tritt dabei der Fehler auch auf ?
-
Display More
Hallo,
und der klappt jetzt auch. Nun möchte ich das in Node red (ein Fujitsu unter UBUNTU) aufbauen. Ein Wechsel deswegen zu IObroker scheint mir dann doch zu viel...
Ach und da müssen es wieder ' sein..
Aber das wird Morgen werden...
fg
Dirk
Freut mich, dass Du weitergekommen bist. Ja, die Community hier ist klasse. Habe auch schon viel an Wissen herausgezogen und wenn ich selbst etwas weiß, gebe ich es auch gern weiter.
Gruß
Seven
-
Guten Morgen Seven,
Habe das mit dem "setze" gemacht und da wird der Zahlenwert einwandfrei in den DP geschrieben. Hmmm, wo ist der Unterscheid, zwischen "setzte" und "schreibe"?
-
Guten Morgen Seven,
Habe das mit dem "setze" gemacht und da wird der Zahlenwert einwandfrei in den DP geschrieben. Hmmm, wo ist der Unterscheid, zwischen "setzte" und "schreibe"?
Also: Mit dem Befehl Setzte wird der Variablen (Platzhalter) mit dem Namen "memoryload" innerhalb des Skriptes ein Wert, in unserem Fallbeispiel 99 zugewiesen. Dieser Wert existiert nur im Skript. Mit dem Befehl schreibe wird der Wert der Variablen "memoryload" aus dem Skript heraus in die Objektdatenbank vom IOBroker geschrieben. Dort bleibt der Wert stehen, bis er durch welches Ereignis auch immer, aktualisiert wird. Das kann ein Skript sein oder z.B. ein Sensor, der seinen Wert genau auf diesen Datenpunkt schreibt. Oder er kann von dort ausgewertet werden. z.B. in einem Diagramm.
Jetzt bin ich allerdings etwas ratlos, woran das bei Dir liegen könnte. Ich habe mein Testskript von meinem Eintrag #87 im Anhang reingestellt. In der Variablen "JSONresponse" ist bereits der JSON-String von Deinem Eintrag #82 CodeNr: 28 eingetragen. Du musst nur noch Deine Objekt-ID im Schreibe-Block eintragen. Mal sehen was jetzt rauskommt.
-
Hmmm, mit dem Status Test Skript, wir der DP ganz normal mit dem Wert beschrieben.
Wo könnte dann in dem Ursprungsskript der Fehler liegen?
Code29.12.2024, 12:11:55.252 [info ]: javascript.0 (12068) Stopping script script.js.Aktiv.Livisi_Status 29.12.2024, 12:11:58.980 [info ]: javascript.0 (12068) Start JavaScript script.js.Aktiv.Livisi_Status (Blockly) 29.12.2024, 12:11:58.985 [info ]: javascript.0 (12068) script.js.Aktiv.Livisi_Status: Das ist der JSON-String : {"configVersion": {"value": 1125,"lastChanged": "2024-11-30T11:26:32.543694Z"},"cpuUsage": {"value": 1.0,"lastChanged": "2024-12-28T02:37:34.855915Z"},"currentUtcOffset": {"value": 60.0,"lastChanged": "1970-01-01T00:00:00Z"},"deviceConfigurationState": {"value": "Complete","lastChanged": "1970-01-01T00:00:00Z"},"deviceInclusionState": {"value": "Included","lastChanged": "2021-05-27T14:23:13.153026Z"},"discoveryActive": {"value": false,"lastChanged": "1970-01-01T00:00:00Z"},"diskUsage": {"value": 69.0,"lastChanged": "2024-12-25T08:02:32.611957Z"},"ethIpAddress": {"value": "10.xxx.xxx.xxx","lastChanged": "2024-12-13T18:08:05.510986Z"},"ethMacAddress": {"value": "94:c6:91:3d:fe:68","lastChanged": "1970-01-01T00:00:00Z"},"firmwareVersion": {"value": null,"lastChanged": "1970-01-01T00:00:00Z"},"inUseAdapter": {"value": "eth","lastChanged": "2024-12-13T18:07:52.010452Z"},"innogyLayerAttached": {"value": true,"lastChanged": "1970-01-01T00:00:00Z"},"isReachable": {"value": null,"lastChanged": "1970-01-01T00:00:00Z"},"lastReboot": {"value": "2024-11-04T20:36:42+00:00","lastChanged": "2024-11-04T20:36:42.549354Z"},"lbDongleAttached": {"value": true,"lastChanged": "1970-01-01T00:00:00Z"},"memoryUsage": {"value": 64.0,"lastChanged": "2024-12-28T16:47:35.173782Z"},"operationStatus": {"value": "active","lastChanged": "2024-11-04T20:39:48.397424Z"},"updateAvailable": {"value": "","lastChanged": "2024-01-14T16:24:50.195274Z"},"updateState": {"value": "UpToDate","lastChanged": "1970-01-01T00:00:00Z"},"wMBusDongleAttached": {"value": true,"lastChanged": "1970-01-01T00:00:00Z"},"wifiIpAddress": {"value": "","lastChanged": "1970-01-01T00:00:00Z"},"wifiMacAddress": {"value": "80:91:33:75:ab:c3","lastChanged": "1970-01-01T00:00:00Z"},"wifiSignalStrength": {"value": 0,"lastChanged": "1970-01-01T00:00:00Z"}} 29.12.2024, 12:11:58.986 [info ]: javascript.0 (12068) script.js.Aktiv.Livisi_Status: Das ist der Wert memoryLoad: 64 29.12.2024, 12:11:58.986 [info ]: javascript.0 (12068) script.js.Aktiv.Livisi_Status: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions -
-
Habe ich alles schon hinter mir - habe bis auf 10 Sekunden erhöht. Hat nix gebracht. "aktualisieren" war auch ausgewählt.
Habe jetzt den "Schreibe" Block gegen einen "steuere" Block ausgetauscht. Geht auch nicht, obwohl in deinem Test Skript der "steure" Block den Wert in den DP rein schreibt. Innerhalb des "großen" Skript geht "steure" Block aber nicht. Jetzt kommt aber auch keine "ack:true" Meldung mehr.
Vielleicht liegt es an der JavaSkript Version - bei mir 8.8.3 aus dem Beta Zweig?!?!?
-
Habe ich alles schon hinter mir - habe bis auf 10 Sekunden erhöht. Hat nix gebracht. "aktualisieren" war auch ausgewählt.
Habe jetzt den "Schreibe" Block gegen einen "steuere" Block ausgetauscht. Geht auch nicht, obwohl in deinem Test Skript der "steure" Block den Wert in den DP rein schreibt. Innerhalb des "großen" Skript geht "steure" Block aber nicht. Jetzt kommt aber auch keine "ack:true" Meldung mehr.
Vielleicht liegt es an der JavaSkript Version - bei mir 8.8.3 aus dem Beta Zweig?!?!?
Ich arbeite auch mit dem JavaSkript-Adpter 8.8.3.
-
Habe ich alles schon hinter mir - habe bis auf 10 Sekunden erhöht. Hat nix gebracht. "aktualisieren" war auch ausgewählt.
Habe jetzt den "Schreibe" Block gegen einen "steuere" Block ausgetauscht. Geht auch nicht, obwohl in deinem Test Skript der "steure" Block den Wert in den DP rein schreibt. Innerhalb des "großen" Skript geht "steure" Block aber nicht. Jetzt kommt aber auch keine "ack:true" Meldung mehr.
Vielleicht liegt es an der JavaSkript Version - bei mir 8.8.3 aus dem Beta Zweig?!?!?
Mit einen neuen Datenpunkt anlegen, hats Du es sicherlich auch schon versucht, oder ?
-
-
-
Hallo JB_Sullivan, habe mir gerade das Ursprungsskript nochmals angeschaut und laufen lassen. Da war der äußere Block (Trigger) schon richtig. Beim Blockly muss man teuflisch aufpassen, da verschiebt sich ganz schnell was. Ist mir schon öfters passiert. Danke für den Hinweis. Aber jetzt bin ich froh, dass bei Dir funktioniert. Da hat sich doch die Mühe gelohnt.

. Übrigens eine schöne Visualisierung, die Du da gebastelt hast. 
. Damit muss ich mich auch mal auseinandersetzten. Nutze im Moment den einfachen Weg über IQontrol. Das mit dem Schalter überlege ich mir. Wird schon einen Weg geben. -
Hallo zusammen,
So, per Nod Red kann ich jetzt die SHC runterfahren. Ich will jetzt noch die "geheimen" Parameter wie IP und Passwort in ein Config-Node auslagern. Ist dann praktischer, falls man es weitergibt...
Was geprüft werden sollte, ist die Belegung des Hauptspeicher. In dem Script meine ich 85% gesehen zu haben. Hat da jemand Erfahrung?
fg
Dirk
-
Hallo Dirk,
ich habe die 85% so aus dem "Bauch" heraus eingestellt. Man kann sicher auch einen höheren Wert einstellen. Es hängt auch davon ab, in welche Rhythmus Du die Prüfung laufen lässt. Bei meiner uralten aber immer noch zuverlässigen (bis auf das memory-Probblem) laufenden SHC-V1 mit 30 Geräten, startet ich mit 56% und die 85% erreiche ich nach ungefähr 14 Tagen.
-
..Wenn man jetzt den Automatisierten Neustart noch über einen Trigger Button bei Bedarf selber anstoßen könnte, wäre das die Krönung


Das geht schon, ich hab da ein bisschen rum gespielt. Basis ist das Skript von Seven.
Man muss ein Datenpunkt wahr/falsch anlegen. Dann diesen Datenpunkt als Trigger verwenden und unten das Skript entsprechend ändern.
Das funktioniert, nur sollte man vorher den Adapter stoppen sonst gibt es viele rote Meldungen im Log.

-
Das geht schon, ich hab da ein bisschen rum gespielt. Basis ist das Skript von Seven.
Man muss ein Datenpunkt wahr/falsch anlegen. Dann diesen Datenpunkt als Trigger verwenden und unten das Skript entsprechend ändern.
Das funktioniert, nur sollte man vorher den Adapter stoppen sonst gibt es viele rote Meldungen im Log.

Hab da mal was auf die Schnelle gebaut. Ohne Gewähr. Wie Winni schon beschrieben man braucht einen Datenpunkt mit dem Zustandstyp Logikwert.
-
Hallo zusammen,
ich habe das mit NodeRed fertig (siehe Anlage).
Was ich nicht kann (oder ich bin zu Faul...) ist einen ConfigNode dazu aufzubauen.
In dem Flow gibt es eine Function "Enter hier config Values!". In der sind drei Variablen mit den eigenen Inhalten zu füllen. Sollte kein Problem sein, wenn man etwas NR kennt...
Die Auslastung der SHC hole ich noch aus OH3. Mal schauen, das über CURL wäre "neutraler".
Der Timer läuft einmal die Stunde. Grenzwert ist 85% Auslastung. (Wert nach Gefühl von Seven... Danke!).
Zur Info: Das "Ausschneiden" des Bearers basiert auf dem Output, den ich nach der Anfrage danach bekomme. Andere Systeme mögen andere Texte bringen, das dürfte dann scheitern.
Die CURL Texte passen in mein unter Ubuntu laufendes OH3. Unter zu Beispiel Windows dürften die nicht laufen. Gerne mal melden, wenn das jemand ausprobieren sollte.
Wenn ich noch Lust habe, packe ich die 85% auch noch in den Config Knoten.
Gerne mal Feedback, falls überhaupt jemand hier mit NR unterwegs ist...
(P.S.: Das ist mein erstes mal, dass ich was so veröffentliche...)
Edit: Habe jetzt auch die aktuelle Auslastung aus der SHC gelesen. Und eine Menge umgebaut, auch umgelernt. Also es bleibt bei drei Parametern: IP. Password und die "Schwelle". Steht jetzt auf 0.99, also 99%.
fg
Dirk
-
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!