Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. js-controller 2.0 ab sofort im Latest Repo

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    js-controller 2.0 ab sofort im Latest Repo

    This topic has been deleted. Only users with topic management privileges can see it.
    • simatec
      simatec Developer Most Active @Chaot last edited by

      @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 1 Reply Last reply Reply Quote 0
      • Chaot
        Chaot @simatec last edited by

        @simatec
        Danke. Werde ich mal einrichten (wenn mir das NAS Passwort wieder einfällt) 😧

        1 Reply Last reply Reply Quote 0
        • P
          PrinzEisenherz1 last edited by PrinzEisenherz1

          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).

          1 Reply Last reply Reply Quote 0
          • joergeli
            joergeli @apollon77 last edited by

            @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.jpg
            

            Im 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 1 Reply Last reply Reply Quote 0
            • apollon77
              apollon77 @joergeli last edited by

              @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 SBorg 2 Replies Last reply Reply Quote 0
              • joergeli
                joergeli @apollon77 last edited by

                @apollon77
                Prima, das mit dem writeFile werde ich mal testen.

                Danke
                Jörg

                Chaot 1 Reply Last reply Reply Quote 0
                • MathiasJ
                  MathiasJ last edited by

                  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 AlCalzone 2 Replies Last reply Reply Quote 0
                  • Chaot
                    Chaot @joergeli last edited by

                    @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.

                    apollon77 joergeli 2 Replies Last reply Reply Quote 0
                    • apollon77
                      apollon77 @MathiasJ last edited by

                      @MathiasJ bist Du auf 2.0.33 oder 34? Wenn nicht updaten! Dann bitte neu beobachten.

                      Und bitte log vom Slave von so einem Zeitpunkt wenn er stehenbleibt.

                      MathiasJ 2 Replies Last reply Reply Quote 0
                      • apollon77
                        apollon77 @Chaot last edited by

                        @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.

                        Chaot 1 Reply Last reply Reply Quote 0
                        • Chaot
                          Chaot @apollon77 last edited by

                          @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 1 Reply Last reply Reply Quote 0
                          • apollon77
                            apollon77 @Chaot last edited by

                            @Chaot Jupp exec hat nen callback ... https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#exec---execute-some-os-command-like-cp-file1-file2

                            1 Reply Last reply Reply Quote 0
                            • AlCalzone
                              AlCalzone Developer @MathiasJ last edited by

                              @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.

                              1 Reply Last reply Reply Quote 0
                              • SBorg
                                SBorg Forum Testing Most Active @apollon77 last edited by SBorg

                                @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.

                                joergeli 1 Reply Last reply Reply Quote 0
                                • coyote
                                  coyote Most Active last edited by

                                  @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.

                                  vis.JPG

                                  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 1 Reply Last reply Reply Quote 0
                                  • apollon77
                                    apollon77 @coyote last edited by

                                    @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?

                                    coyote 1 Reply Last reply Reply Quote 0
                                    • coyote
                                      coyote Most Active @apollon77 last edited by coyote

                                      @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.

                                      1 Reply Last reply Reply Quote 0
                                      • joergeli
                                        joergeli @SBorg last edited by

                                        @SBorg @apollon77
                                        Hat funktioniert 👍
                                        Views exportiert, entzippt, mit Notepad ++ dann in der entspr. vis-views.json alle "vis" durch "vis.0" ersetzt.
                                        ( Es wurden ca. 3500 "vis" ersetzt )

                                        Danke
                                        Jörg

                                        apollon77 1 Reply Last reply Reply Quote 0
                                        • joergeli
                                          joergeli @Chaot last edited by

                                          @apollon77 @Chaot
                                          Danke für den Tip.
                                          Es funktioniert jetzt (mit meinem JavaScript-Halbwissen) bei mir so:

                                          
                                          //==================================== 
                                          // Cam-Bild(er) nach iobroker kopieren
                                          //==================================== 
                                          
                                          var fs = require('fs'); 
                                          
                                          const klingel = 'Datenpunkte.0.Türklingel.Klingel-Zeit';    // Datenpunkt-ID von Klingel
                                          const postda  = 'hm-rega.0.15463';                          // Datenpunkt-ID "Post ist da"
                                          
                                          // Pruefen, ob jemand klingelt
                                          on({id: klingel, change: "ne"},function(obj) {
                                              log ('___ Haustürklingel wurde betätigt ___');
                                              klingeling() ;
                                          });
                                          
                                          // Pruefen, ob Post da ist
                                          on({id: postda, change: 'gt'},function(obj) {
                                              log ('___ Post ist da ___');
                                              postistda() ;
                                          });
                                          
                                          // Cam-Bild von /home/pi/SPY/eingang.jpg
                                          // nach /opt/iobroker/iobroker-data/files/vis.0/klingelbild/klingler.jpg kopieren
                                          //_______________________________________________________________________________
                                          function klingeling() {
                                              const picture= fs.readFileSync('/home/pi/SPY/eingang.jpg'); //liest Cam-Bild aus linux-datei-system
                                              setTimeout(function(){
                                                  writeFile('vis.0','/klingelbild/klingler.jpg', picture, function (error) { });
                                                  //log ('__ Klingel-Bild wurde kopiert __');
                                              }, 500);
                                          }
                                          
                                          // Cam-Bild von /home/pi/SPY/eingang.jpg
                                          // nach /opt/iobroker/iobroker-data/files/vis.0/klingelbild/postistda.jpg kopieren
                                          //_______________________________________________________________________________
                                          function postistda() {
                                              const picture= fs.readFileSync('/home/pi/SPY/eingang.jpg'); //liest Cam-Bild aus linux-datei-system
                                              setTimeout(function(){
                                                  writeFile('vis.0','/klingelbild/postistda.jpg', picture, function (error) { });
                                                  //log ('__ Post-Bild wurde kopiert __');
                                              }, 500);
                                          }
                                          

                                          Gruß und Danke
                                          Jörg

                                          apollon77 1 Reply Last reply Reply Quote 1
                                          • apollon77
                                            apollon77 @joergeli last edited by

                                            @joergeli ich hoffe du hattest kein vis.0 vorher drin dann wäre das jetzt vis.0.0 😉

                                            joergeli 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            813
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            js-controller
                                            89
                                            1052
                                            287598
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo