NEWS
js-controller 2.0 ab sofort im Latest Repo
js-controller 2.0 ab sofort im Latest Repo
-
Guten Abend an Euch alle,
seid vorhin ist die 2.0.34 auf npm und im Latest Repository.
Mit der neuen Version können nun "Custom"-Einstellungen von States (z.B. History u.ä.) auch wieder gelöscht werden und Bluefox hat noch ein Problem beim Login mit Benutzern mit Großbuchstaben oder Leerzeichen gefixt. -
Guten Abend an Euch alle,
seid vorhin ist die 2.0.34 auf npm und im Latest Repository.
Mit der neuen Version können nun "Custom"-Einstellungen von States (z.B. History u.ä.) auch wieder gelöscht werden und Bluefox hat noch ein Problem beim Login mit Benutzern mit Großbuchstaben oder Leerzeichen gefixt.@apollon77 die v2.0.34 läuft bei mir bisher unauffällig

-
@apollon77 Danke für deine Ausführungen.
Also werde ich einstweilen bei file/redis bleiben.
Ausfallsicherheit bzw. Hochverfügbarkeit werde ich frühestens nächstes Jahr angehen.So nebenbei:
Ist eigentlich geplant im ioBroker für Redis eine Backuplösung zu implementieren oder eventuell ein Adapter in Planung der sowas übernehmen könnte?@Chaot sagte in js-controller 2.0 ab sofort im Latest Repo:
Ist eigentlich geplant im ioBroker für Redis eine Backuplösung zu implementieren oder eventuell ein Adapter in Planung der sowas übernehmen könnte?
Redis kannst du über backitup sichern.
-
@Chaot sagte in js-controller 2.0 ab sofort im Latest Repo:
Ist eigentlich geplant im ioBroker für Redis eine Backuplösung zu implementieren oder eventuell ein Adapter in Planung der sowas übernehmen könnte?
Redis kannst du über backitup sichern.
-
Bei mir läuft die 2.0.34 auch unauffällig. Ging ohne Probleme als normaler Nutzer mit iobroker upgrade self abzudaten (Multihostsystem und REDIS).
-
FAQ
In diesem Post werden wir FAQ-artig öfter vorgekommene Fragen, Antworten, Tips und Tricks sammeln ...
1. TL;DR ... bzw ok, jetzt mal zusammengefasst, der Text oben ist ja mega lang ...
- Nodejs 8.x ist Mindest-Anforderung! Nodejs 10.x empfohlen
- Dateien die selbst in iobroker-data/files in eigene Verzeichnisse kopiert wurden, werden ggf nicht mehr gefunden. Bitte an offizielle Stellen hochladen, am besten per Vis Uploader o.ä. Der neue Platz für eigene Dateien ist 0_userdata.0, wenn man nicht vis.0 oder iqontrol.meta nutzen will. Falls Dateien in erlaubten Verzeichnissen reinkopiert wurden, so sollten diese nach der Installation (oder alternativ nach
iobroker file sync) verfügbar sein. - Es sollte nach dem Update alles so tun wie vorher
- Bei Master/Slave-Systemen UNBEDINGT zuerst die Slaves und am Ende den Master aktualisieren
- Wer ab sofort auch Objekte und Dateien im Redis ablegen will muss sich mit den Anforderungen daran befassen!
iobroker upgrade selfnutzen , es sei denn es wurde mit dem neuen Windows Installer installiert, dann oben doch genauer lesen.
2. Ich bekomme nach dem Start von ioBroker einen Fehler im Log das pids.txt nicht geschrieben werden konnte. Was kann ich tun?
Der Fehler tritt auf wenn der Nutzer unter dem ioBroker gestartet wurde das genannte File nicht schreiben kann. Dies kann passieren wenn ioBroker aus Versehen als Root o.ä. gestartet wurde oder die Dateirechte dieser Datei verbogen sind. Die einfachste Abhilfe hier ist der Installation-Fixer (siehe oben im Text). Alternativ Bitte die Datei einfach löschen wenn ioBroker nicht läuft und dann sollte Sie beim nächsten Start korrekt angelegt werden.3. Es ist irgendwie alles kaputt/ein wichtiger Adapter tut nicht. Wie komme ich wieder zurück auf die alte Version?
Zuerst einmal bitte alle Informationen sichern, im Forum posten bzw GitHub Issues anlegen, damit die Probleme behoben werden können. Die Version 2.0 ist die Basis der Zukunft und die 1.5 wird nicht mehr weiterentwickelt!Zurück geht es mit diesen Schritten:
- ioBroker stoppen
- Falls Objects auf redis umgestellt wurden muss dies in jedem Fall zuerst rückgängig gemacht werden!
iobroker setup customund wieder umstellen auf die Alte Konfiguration. States im Redis funktionieren auch mit der 1.5 - Zur Sicherheit das iobroker-data Verzeichnis sichern bzw ein Backup ausführen
- Dann im ioBroker Verzeichnis
npm install iobroker.js-controller@1.5.14ausführen. Falls es dabei auf Linux zu Fehlern kommt und nicht funktioniert bittesudo -u iobroker -H npm install iobroker.js-controller@1.5.14nutzen. - ioBroker starten
4. Ich habe trotz der Warnungen bei
iobroker setup customauf einem Slave auch Daten migriert und nun funktioniert nichts mehr. Was kann ich tun?
Bei der Migration wird ein Backup erstellt. Dieses ist auf dem Master-Host imbackupsVerzeichnis gespeichert und hat am Ende des Namens "-migration" angehängt. Um den Datenstand von der Master-Migration wieder herzustellen muss dieses Backup mittelsiobroker restore <Filename>wieder eingespielt werden.
Danach alle Slave-Hosts umstellen und am Ende auf dem Master einiobroker upload allausführen.5. Ich habe Dateien in ein eigenes Verzeichnis in iobroker-data/files kopiert und jetzt werden diese nicht mehr angezeigt. Was kann ich tun?
Aus Sicherheitsgründen wird der ioBroker-eigene Storage jetzt etwas strikter behandelt. Nur offiziell in ioBroker bekannte Verzeichnisse dürfen genutzt werden und nur offizielle Wege die Datei hochzuladen. Am besten die Upload-Tools nutzen von Adaptern wie vis oder iqontrol. Alternativ gibt es CLI Kommandos.
Der neue Platz für ganz eigene Verzeichnisse ist dann 0_userdata.0 als Basisverzeichnis. Zum einmaligen hinzufügen eigener Dateien von früher - falls dies bei der Installation nicht funktioniert hat, ist da neue CLI Kommando niobroker file syncda. Es gibt auch Fehler für komplett eigene Verzeichnisse aus, sodass man weiss was man tun muss.6. Wie muss ich ein Skript was bisher in iobroker-data/files direkt geschrieben hat umbauen? Wie kann ich Dateien per JavaScript hochladen?
Das Skript sollte die writeFile Methode nutzen. Details auch https://forum.iobroker.net/post/307537 bzw https://forum.iobroker.net/post/3101777. Broadlink2 funktioniert nicht mehr. Was kann ich tun?
Der Entwickler arbeitet an einem Update. Aktuell kann manuell durch eine Änderung die Funktion wiederhergestellt werden:
Im ioBroker-Verzeichnis in node_modules/@frankjoke/myAdapter ODER node_modules/iobroker.broadlink2/node_modules/@frankjoke/myAdapter liegt das File myAdapter.js. Dieses muss durch diese Version ( myAdapter.js ersetzt werden.8. Ich nutze die GitHub-Version von Radar2 und die tut nicht mehr. Was kann ich tun?
Exakt das gleiche wie bei Broadlink im Artikel oben drüber.9. Uups, ich habe meinen Master zuerst aktualisiert, und jetzt können die Slaves nicht mehr verbinden. Was nun?
Alles halb so wild, die Slaves müssen jetzt nur leicht anders aktualisiert werden:- ioBroker stoppen, Backup machen
- Prüfen das keine Prozesse mehr laufen (
ps auxww|grep ioundps auxww|grep backup) - im ioBroker Verzeichnis
npm install iobroker.js-controllerausführen. Falls es dabei auf Linux zu Fehlern kommt und nicht funktioniert bittesudo -u iobroker -H npm install iobroker.js-controllernutzen. - starten
10. Ich sehe nach dem Update im Log "Redis error:Error: Invalid Chunk: parse failed". Was muss ich tun.
Wenn diese Meldung kommt waren vor dem Update von 1.5 auf 2.0 entweder nicht alle Adapter beendet und einer läuft noch, oder es wurde der Master zuerst aktualisiert und es existiert noch ein Slave auf 1.5. Es kann auch ein "iobroker backup" Prozess noch laufen und hängen geblieben sein.Falls es ein Adapter oder Backup ist diesen bitte manuell killen, damit sollten die Meldungen verschwinden. Ist es der Slave, siehe FAQ Punkt 9.
12 Ich habe mit eigene Objekte angelegt und diese kann ich jetzt nicht mehr schalten
Dies kann passieren wenn die Objektnamen zu stark von den erlaubten Zeichen abweichen. Das erste Zeichen muss a-z, A-Z, 0-9 oder _ sein. Die semantische Struktur ist danach wie bei den Adapter-States mit einem Punkt, einer Zahl, einem Punkt und dann eigenen Bezeichnungen und Strukturen. Beispiel: MeineObjekte.0.Büro.Licht
Für eigene Objekte und States existiert ab sofort 0_userdata.0 als Basis-Ordner. So muss niemand mehr kreativ eigene Strukturen anlegen.
Wer eigene Objektstrukturen bereits hat und damit mit keinem Adapter kollidiert kann diese natürlich weiterverwenden!@apollon77
Hi,
Du hattest bei den FAQs geschrieben:"Aus Sicherheitsgründen wird der ioBroker-eigene Storage jetzt etwas strickter behandelt. Nut offiziell in ioBroker bekannte Verzeichnisse dürfen genutzt werden und nur offizielle Wege die Datei rein zu kopieren. Am besten die Upload-Tools nutzen von Adaptern wie vis oder iqontrol. ALternativ gibt es CLI kommandos."
So weit, so gut, ich habe meine eigenen Bilder mit dem Upload-Tool vom vis-Adapter hochladen können.Allerdings muss ich noch die neuen Links in meinen Views anpassen.
Kann man das evtl. in "einem Rutsch" erledigen, ohne jedes Bild/Grafik mit dem vis-Editor einzeln anzufassen?
Vielleicht automatisch z.B. mit Notepad++ in den vis-views.json von jedem view den jetzigen Pfad "src": "/vis durch den neuen Pfad "src": "/vis.0 ersetzen lassen?Allerdings habe ich ein größeres Problem mit der strickteren Behandlung:
Ich habe bisher 2 Snapshots von meiner Eingangs-Cam (Postbote hat Post eingeworfen, Jemand hat an der Haustür geklingelt) von einem Windows-Rechner automatisch in einen freigegebenen Ordner auf den ioBroker-Raspi gespeichert.
Via JS wurden diese beiden Bilder dann per exec in einen anderen Ordner unterhalb von iobroker-data\files\vis...kopiert:exec('bash /home/pi/klingelbild_kopieren.sh'); exec('bash /home/pi/postbotebild_kopieren.sh');Hier die beiden Shell-Kopier-Befehle:
cp /home/pi/SPY/eingang.jpg /opt/iobroker/iobroker-data/files/vis.0/klingelbild/klingler.jpg cp /home/pi/SPY/eingang.jpg /opt/iobroker/iobroker-data/files/vis.0/klingelbild/postistda.jpgIm vis konnte ich die Bilder dann auch sehen.
Das Kopieren in die neuen Ordner unterhalb von vis.0 funktioniert zwar weiterhin, aber im vis werden die Bilder nicht mehr aktualisiert, da jetzt ja "nur offizielle Wege die Datei rein zu kopieren" funktionieren.
Frage:
Was kann ich tun, damit die Bilder wieder automatisiert kopiert und angezeigt werden?
Gibt es irgendeinen JS-Befehl, der das evtl. wieder richten kann?Gruß
Jörg -
@apollon77
Hi,
Du hattest bei den FAQs geschrieben:"Aus Sicherheitsgründen wird der ioBroker-eigene Storage jetzt etwas strickter behandelt. Nut offiziell in ioBroker bekannte Verzeichnisse dürfen genutzt werden und nur offizielle Wege die Datei rein zu kopieren. Am besten die Upload-Tools nutzen von Adaptern wie vis oder iqontrol. ALternativ gibt es CLI kommandos."
So weit, so gut, ich habe meine eigenen Bilder mit dem Upload-Tool vom vis-Adapter hochladen können.Allerdings muss ich noch die neuen Links in meinen Views anpassen.
Kann man das evtl. in "einem Rutsch" erledigen, ohne jedes Bild/Grafik mit dem vis-Editor einzeln anzufassen?
Vielleicht automatisch z.B. mit Notepad++ in den vis-views.json von jedem view den jetzigen Pfad "src": "/vis durch den neuen Pfad "src": "/vis.0 ersetzen lassen?Allerdings habe ich ein größeres Problem mit der strickteren Behandlung:
Ich habe bisher 2 Snapshots von meiner Eingangs-Cam (Postbote hat Post eingeworfen, Jemand hat an der Haustür geklingelt) von einem Windows-Rechner automatisch in einen freigegebenen Ordner auf den ioBroker-Raspi gespeichert.
Via JS wurden diese beiden Bilder dann per exec in einen anderen Ordner unterhalb von iobroker-data\files\vis...kopiert:exec('bash /home/pi/klingelbild_kopieren.sh'); exec('bash /home/pi/postbotebild_kopieren.sh');Hier die beiden Shell-Kopier-Befehle:
cp /home/pi/SPY/eingang.jpg /opt/iobroker/iobroker-data/files/vis.0/klingelbild/klingler.jpg cp /home/pi/SPY/eingang.jpg /opt/iobroker/iobroker-data/files/vis.0/klingelbild/postistda.jpgIm vis konnte ich die Bilder dann auch sehen.
Das Kopieren in die neuen Ordner unterhalb von vis.0 funktioniert zwar weiterhin, aber im vis werden die Bilder nicht mehr aktualisiert, da jetzt ja "nur offizielle Wege die Datei rein zu kopieren" funktionieren.
Frage:
Was kann ich tun, damit die Bilder wieder automatisiert kopiert und angezeigt werden?
Gibt es irgendeinen JS-Befehl, der das evtl. wieder richten kann?Gruß
Jörg@joergeli zu 1.) ja das kann gehen. ioBroker beenden. File auf Platte manuell editieren, wieder hochfahren. Vorher Backup ist eine gute Idee,
zu 2.) Liess mal die FAQ im dritten post oben, da ist ein Link zu einem anderen Thread mit genau der Lösung dafür. Musst DU nur auf dich "umbasteln"
-
@joergeli zu 1.) ja das kann gehen. ioBroker beenden. File auf Platte manuell editieren, wieder hochfahren. Vorher Backup ist eine gute Idee,
zu 2.) Liess mal die FAQ im dritten post oben, da ist ein Link zu einem anderen Thread mit genau der Lösung dafür. Musst DU nur auf dich "umbasteln"
@apollon77
Prima, das mit dem writeFile werde ich mal testen.Danke
Jörg -
Was mir auch aufgefallen ist,
nach dem Update auf den JS-Controller 2.0 habe ich wesentlich mehr Störungen des Slaves.
Ich glaube, den muß ich mittlerweile jetzt 3 mal am Tag neu starten, weil er nicht mehr erreichbar ist.
In der Version 1.x ist er wochenlang durchgerannt.
nur im log finde ich nur die Meldung, dass der Raspberry Pi 3B+ nicht mehr erreichbar ist. Das merke ich auch so.....
Der Slave läuft seit ca 6 Monaten über WLAN. -
@apollon77
Prima, das mit dem writeFile werde ich mal testen.Danke
Jörg -
Was mir auch aufgefallen ist,
nach dem Update auf den JS-Controller 2.0 habe ich wesentlich mehr Störungen des Slaves.
Ich glaube, den muß ich mittlerweile jetzt 3 mal am Tag neu starten, weil er nicht mehr erreichbar ist.
In der Version 1.x ist er wochenlang durchgerannt.
nur im log finde ich nur die Meldung, dass der Raspberry Pi 3B+ nicht mehr erreichbar ist. Das merke ich auch so.....
Der Slave läuft seit ca 6 Monaten über WLAN. -
@joergeli Kleiner Tip noch: Für das writeFile musst du ein kleines Delay einbauen weil sonst das Bild noch nicht auf der Platte liegt wenn das File schon geschrieben wird.
-
@Chaot naja ihr müsst abwarten bis das exec durch ist. Hat das vllt nen callback der erst dann ausgeführt wird? Hab’s grad nicht im Kopf.
@apollon77
Ja, das habe ich auch gemerkt.
Ich habe normalerweise nach dem exec ein kleines Delay bevor ich die Bilder per mail versende. Aber ich habe mich wohl um zwei Zeilen vertan und deshalb kam es zu dem Fehler.
-
@apollon77
Ja, das habe ich auch gemerkt.
Ich habe normalerweise nach dem exec ein kleines Delay bevor ich die Bilder per mail versende. Aber ich habe mich wohl um zwei Zeilen vertan und deshalb kam es zu dem Fehler.
-
Was mir auch aufgefallen ist,
nach dem Update auf den JS-Controller 2.0 habe ich wesentlich mehr Störungen des Slaves.
Ich glaube, den muß ich mittlerweile jetzt 3 mal am Tag neu starten, weil er nicht mehr erreichbar ist.
In der Version 1.x ist er wochenlang durchgerannt.
nur im log finde ich nur die Meldung, dass der Raspberry Pi 3B+ nicht mehr erreichbar ist. Das merke ich auch so.....
Der Slave läuft seit ca 6 Monaten über WLAN.@MathiasJ sagte in js-controller 2.0 ab sofort im Latest Repo:
Ich glaube, den muß ich mittlerweile jetzt 3 mal am Tag neu starten, weil er nicht mehr erreichbar ist.
Das ist aber nicht der Slave, von dem du kürzlich den Log gepostet hast, in dem steht dass die Platte voll ist? Dann ist es kein Wunder, dass der ständig abstürzt.
-
@joergeli zu 1.) ja das kann gehen. ioBroker beenden. File auf Platte manuell editieren, wieder hochfahren. Vorher Backup ist eine gute Idee,
zu 2.) Liess mal die FAQ im dritten post oben, da ist ein Link zu einem anderen Thread mit genau der Lösung dafür. Musst DU nur auf dich "umbasteln"
@apollon77 sagte in js-controller 2.0 ab sofort im Latest Repo:
@joergeli zu 1.) ja das kann gehen. ioBroker beenden. File auf Platte manuell editieren, wieder hochfahren. Vorher Backup ist eine gute Idee,
...oder Views exportieren, mit Notepad++ oä. dann "suchen+ersetzen", View wieder importieren

34 lüppt bisher problemlos.
-
@apollon77
34er installiert, sieht soweit gut aus. Paar Adapter blieben rot, von Hand neu gestartet ohne Error. Laufen jetzt alle.
Jetzt ist mir noch was aufgefallen, weiß aber nicht ob es mit dem Controller zu tun hat.
Die Icons sind weg, jetzt hab ich alle vis Zusatz Adapter neu geuploaded, danach waren alle Icons wieder da. Dann nochmal vis Adpater upload gemacht, Icons wieder weg

-
@apollon77
34er installiert, sieht soweit gut aus. Paar Adapter blieben rot, von Hand neu gestartet ohne Error. Laufen jetzt alle.
Jetzt ist mir noch was aufgefallen, weiß aber nicht ob es mit dem Controller zu tun hat.
Die Icons sind weg, jetzt hab ich alle vis Zusatz Adapter neu geuploaded, danach waren alle Icons wieder da. Dann nochmal vis Adpater upload gemacht, Icons wieder weg

-
@coyote Was für ein System hast Du ? redis/redis/ oder Objekte noch in "file"? sollte an sich so nicht passieren.
Von den Adaptern die "rot" geblieben sind ... gabs was im Log?
@apollon77 redis/redis
Nee, hab im Log nix gesehen. Vorhin aber nochmal komplett durchgestartet, alle Adapter grün ohne Probleme. Hatte nur nochmal paar warn Meldungen, dass Redis busy ist. Hat sich aber alles gefangen

EDIT: Log gerade nochmal etwas durchforstet, schätze manche Adapter blieben rot, wegen den Redis busy Warnings.
Aber wie gesagt, beim zweiten Anlauf kamen zwar auch Redis Busy Warnings, jedoch alles Adapter ok. -
@apollon77 sagte in js-controller 2.0 ab sofort im Latest Repo:
@joergeli zu 1.) ja das kann gehen. ioBroker beenden. File auf Platte manuell editieren, wieder hochfahren. Vorher Backup ist eine gute Idee,
...oder Views exportieren, mit Notepad++ oä. dann "suchen+ersetzen", View wieder importieren

34 lüppt bisher problemlos.
