NEWS
Einzelnen Host in einer Multihostumgebung neu starten
-
Hi,
kennt einer von Euch eine Möglichkeit aus Node-Red heraus gezielt einen ioBroker-Restart auf einem anderen Host (=Slave) auzulösen?Mein ioBroker-Master läuft unter Debian auf einem ausgemusterten MacBook und mein Slave ist ein RasPi 3B (auch aktuelles Debian) auf dem nur zwei Instanzen (RPi2 und Smartmeter) installiert sind. Genau auf diesem RasPi möchte ich, wenn ein kritscher Speicherzustand erreicht ist, den ioBroker via Node-Red / JS neu starten.
Habe schon alles abgesucht aber bisher keine "unkomplizierte" Lösung gefunden. Bin sogar schon soweit mir mit JS einen MQTT client für den RasPi zu schreiben der auf Kommando einen "iobroker restart" an die Shell übergibt...
Freu' mich über jede Idee
Gruss
Marcus -
@mafeh69 Na was jetzt..
Node-Red, JS,@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
Habe schon alles abgesucht aber bisher keine "unkomplizierte" Lösung gefunden
Zeig mal diese "Lösungen" ... alles in Allem ein sehr verwirrender Beitrag - aber das bekommen wir schon hin
-
@djmarc75 said in Einzelnen Host in einer Multihostumgebung neu starten:
@mafeh69 Na was jetzt..
Node-Red, JS,@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
Habe schon alles abgesucht aber bisher keine "unkomplizierte" Lösung gefunden
Zeig mal diese "Lösungen" ... alles in Allem ein sehr verwirrender Beitrag - aber das bekommen wir schon hin
Hi DJMarc75, Danke für die schnelle Antwort.
Ich würde Node-Red bevorzugen, nur zur Not würde ich mein eigenes Node.js Script schreiben, wenn ich das Problem nicht anders gelöst bekomme.
Das hier war z.B. einer der Lösungsvorschläge : "ssh pi@192.168.1.XXX 'echo raspberry | sudo reboot'" übergeben durch einen Execute Node. Diese Lösung bezog sich auf die Frage wie ich remote meinen RasPi neu starten kann, ohne dass ich manuell das PWD eingeben muss. Funktioniert nur nicht und finde ich auch nicht besonders elegant. (dieser Vorschlag ist hier zu finden).
Ein anderer Vorschlag (siehe hier) nutzt auch den Execute Node, um einen entsprechenden "sudo reboot" abzusetzen. Hilft mir aber auch nicht, da ich auf dem RasPi, weil wenig RAM und Rechenleistung, keine eigene Node-Red Instanz installieren möchte.
Insgesamt habe ich inzwischen festgestellt, dass es gar nicht nötig ist, den ganzen RasPi neu zu starten. Es reicht, wenn ich den ioBroker auf dem RasPi neu starte.
Wenn ich aber in der Konsole auf meinem Master (Apple MacBook) "iobroker restart" eingebe, bezieht sich dieser Befehl auf den Mac und ich habe bisher keine Möglichkeit gefunden vom Mac aus den ioBroker auf dem RasPi neu zu starten. -
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
Genau auf diesem RasPi möchte ich, wenn ein kritscher Speicherzustand erreicht ist, den ioBroker via Node-Red / JS neu starten
Das Problem kenne ich bei meinem Raspi 3 Slave auf dem 3 Instanzen laufen nicht...
Auch schon mal untersucht warum der RasPi einen "kritischen" Speicherzustand erreicht? -
@fredf said in Einzelnen Host in einer Multihostumgebung neu starten:
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
Genau auf diesem RasPi möchte ich, wenn ein kritscher Speicherzustand erreicht ist, den ioBroker via Node-Red / JS neu starten
Das Problem kenne ich bei meinem Raspi 3 Slave auf dem 3 Instanzen laufen nicht...
Auch schon mal untersucht warum der RasPi einen "kritischen" Speicherzustand erreicht?Hi fredf,
nein, habe ich bisher nicht untersucht. Der Grund ist, dass ich gar nicht wüsste was ich ändern kann, da ich das ganze System neu und sehr minimalistisch aufgesetzt habe. Angefangen beim Linux bis zum ioBroker (nur Rpi2 und Smartmeter Instanzen). Aber hey, Laufzeitverlängerung ist immer gut.Hast Du einen Tipp welches Log ich mir als erstes anschauen sollte bzw. welche weiteren Details wären wichtig?
-
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
Smartmeter Instanzen
Sind das mehrere? "Könnte" am Adapter liegen, aber da ich den nicht nutze, kann ich dazu nichts sagen...
Wie äussert sich der kritische Speicherzustand bzw. wann startest du den Raspi neu?
Poste mal die Consolenausgabe des Raspi mitiob diag
-
@fredf said in Einzelnen Host in einer Multihostumgebung neu starten:
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
Smartmeter Instanzen
Sind das mehrere? "Könnte" am Adapter liegen, aber da ich den nicht nutze, kann ich dazu nichts sagen...
Wie äussert sich der kritische Speicherzustand bzw. wann startest du den Raspi neu?
Poste mal die Consolenausgabe des Raspi mitiob diag
Sry, mein Fehler, nein es ist nur jeweils eine Instanz vom RPI2 und vom Smartmeter installiert.
Den genauen Wert ab wann der Speicher kritisch wird ermittle ich gerade - bisher waren es ca. 7 Tage, bis der Pi zu spinnen anfing. Ich habe gestern Nachmittag (15:00h) neu gestartet und hatte 716MB freien Speicher, jetzt (8:30h) sind noch 322MB übrig.
Das "Spinnen" äußert sich so, dass die vom Master (mit Hilfe eines Node-Red Scripts) übermittelte True / False Frequenz (schaltet einen GPIO auf dem Pi an dem eine LED hängt), nur noch mehr oder weniger zufällig wiedergegeben wird. Die Frequenz wird all 157sec wiederholt (damit schalte ich die erweiterte Parameterausgabe auf meinem Smartmeter frei). Die Senderseite habe ich mehrfach überprüft, die funktioniert ohne Fehler.Hier jetzt das Log:
======================= SUMMARY ======================= v.2023-01-02 Operatingsystem: Raspbian GNU/Linux 11 (bullseye) Installation: Native Timezone: Europe/Berlin User-ID: 1000 X-Server: false Boot Target: multi-user.target Pending OS-Updates: 0 Nodejs-Installation: /usr/bin/nodejs v14.21.2 /usr/bin/node v14.21.2 /usr/bin/npm 9.3.1 /usr/bin/npx 9.3.1 ioBroker Core: js-controller 4.0.24 admin 6.3.5 ioBroker Status: iobroker is running on this host. At least one iobroker host is running. Objects type: jsonl States type: jsonl Status admin: + system.adapter.admin.0 : admin : MacBookAir-Debian - enabled, port: 8081, bind: 0.0.0.0 (SSL), run as: admin Pending iob updates: 4 Active repo(s): stable Objects: 1836 States: 1561 Size of iob-Database: 194M /opt/iobroker/iobroker-data/objects.jsonl 7.8M /opt/iobroker/iobroker-data/states.jsonl =================== END OF SUMMARY ====================
-
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
Nodejs-Installation: /usr/bin/nodejs v14.21.2 /usr/bin/node v14.21.2 /usr/bin/npm 9.3.1 /usr/bin/npx 9.3.1
Wie hast du das installiert ?
Standard ist:
nodejs 16.19.0
npm 8.19.3Installier das mal ordentlich, vielleicht läuft es dann.
-
@bahnuhr said in Einzelnen Host in einer Multihostumgebung neu starten:
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
Nodejs-Installation: /usr/bin/nodejs v14.21.2 /usr/bin/node v14.21.2 /usr/bin/npm 9.3.1 /usr/bin/npx 9.3.1
Wie hast du das installiert ?
Standard ist:
nodejs 16.19.0
npm 8.19.3Installier das mal ordentlich, vielleicht läuft es dann.
Yep, Danke für den Hinweis / den Reminder!
Ich habe es ursprünglich auf einem RasPi 2B installiert (ARM V6 - daher der die 14.x von node.js) und dann die Karte in den 3B gesteckt... zugegeben, dass könnte eine Ursache sein...
ich werde es zurückbauen und hoffen, dass es nicht an der 14.x Version von node.js liegt. Weil ich eigentlich den 3B für Octoprint brauche und z.Zt. einfach keine RasPis für einen vernünftigen Preis zu bekommen sind.
Aber zurück zu meiner ursprünglichen Frage: ich möchte trotzdem die Möglichkeit haben den ioBroker auf einem Slave vom Master aus neu starten zu lassen. Hättest Du für dieses Problem auch einen Vorschlag?
-
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
Hättest Du für dieses Problem auch einen Vorschlag?
Ne, hab ich noch nie gebraucht.
Aber geht sowas nicht mit ssh oder ssh2.
Meine, da mal etwas gelesen zu haben.
Such mal danach.P.S.
Kann aber damit auch komplett falsch liegen. -
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
einen Vorschlag?
Ich nutze für sowas den Adapter "linux-control".
Steuere und überwache damit meine mittlerweile 5 Raspberrys.
Einfach mal testen. -
@djmarc75 said in Einzelnen Host in einer Multihostumgebung neu starten:
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
einen Vorschlag?
Ich nutze für sowas den Adapter "linux-control".
Steuere und überwache damit meine mittlerweile 5 Raspberrys.
Einfach mal testen....das sieht sehr vielversprechend aus!
Danke für den Tipp. Werde es nachher ausführlich testen und das Ergebnis zurückmelden. -
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
auf einem RasPi 2B installiert (ARM V6
2B ist nicht ARM V6
das ist ur der Pi1 und der allererste pi2 -
@homoran said in Einzelnen Host in einer Multihostumgebung neu starten:
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
auf einem RasPi 2B installiert (ARM V6
2B ist nicht ARM V6
das ist ur der Pi1 und der allererste pi2Stimmt. Danke. Dann vlt. doch node.js updaten.
-
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
@homoran said in Einzelnen Host in einer Multihostumgebung neu starten:
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
auf einem RasPi 2B installiert (ARM V6
2B ist nicht ARM V6
das ist ur der Pi1 und der allererste pi2Stimmt. Danke. Dann vlt. doch node.js updaten.
Das hilft doch nix.
Kauf dir ne ordentliche Kiste. -
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
Dann vlt. doch node.js updaten.
nicht updaten!
du hast ein node fpr due falsche hardware.
löschen und das richtige installieren -
@bahnuhr said in Einzelnen Host in einer Multihostumgebung neu starten:
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
@homoran said in Einzelnen Host in einer Multihostumgebung neu starten:
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
auf einem RasPi 2B installiert (ARM V6
2B ist nicht ARM V6
das ist ur der Pi1 und der allererste pi2Stimmt. Danke. Dann vlt. doch node.js updaten.
Das hilft doch nix.
Kauf dir ne ordentliche Kiste.Ich lese mit dem Pi via USB und "Volkszähler" die Daten meines Stromzählers aus und lasse alle 158s via GPIO eine LED ein paar mal blinken. Mehr passiert auf dem Pi nicht. Warum sollte ich dafür mehr Leistung brauchen als im Pi 2B steckt???
Wäre ich nicht so bequem / faul hätte ich versucht das Ganze auf einem ESP8266 zum Laufen zu bringen.
Alle Scripte und sonstige Instanzen laufen auf meinem Master (ein ausgemustertes, Linuxifiziertes MacBook Air). -
@homoran said in Einzelnen Host in einer Multihostumgebung neu starten:
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
Dann vlt. doch node.js updaten.
nicht updaten!
du hast ein node fpr due falsche hardware.
löschen und das richtige installierenDanke! Hat alles geklappt. System läuft auf 16.19.0
-
@djmarc75 said in Einzelnen Host in einer Multihostumgebung neu starten:
@mafeh69 sagte in Einzelnen Host in einer Multihostumgebung neu starten:
einen Vorschlag?
Ich nutze für sowas den Adapter "linux-control".
Steuere und überwache damit meine mittlerweile 5 Raspberrys.
Einfach mal testen.Habe es getestet und es tut genau was ich gesucht habe. Perfekt. Danke!