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 goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    js-controller 2.0 ab sofort im Latest Repo

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                  • apollon77
                                    apollon77 @joergeli last edited by

                                    @joergeli Also nach readFileSync und writeFile ist normalerweise keinerlei Timeout oder Verzögerung nötig. AUch nicht wenn du exec mit dem Callback nutzt ...

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

                                      @apollon77
                                      Nee, nee, ich habe mich oben nicht korrekt ausgedrückt, hatte natürlich nach /vis/ (also mit den Slashes) suchen und durch /vis.0/ ersetzen lassen

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

                                        @apollon77
                                        OK, nehme ich wieder raus, hatte das nur gemacht, weil Chaot meinte, daß das Bild evtl. noch nicht auf der Platte liegen könnte, wenn das File schon geschrieben wird.

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

                                          @joergeli Das liegt bei mir daran das ich vorher per Exec-Befehl erst das Bild von der Kamera hole.

                                          Kleiner Tip von mir noch: Ich speichere insgesamt 4 Bilder im kurzen zeitlichen Abstand (5-5-10 s). Da kann ich auch jemanden erkennen der beim Klingeln gerade nicht optimal zur Kamera steht.

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

                                            @Chaot warum nutzt ihr nicht denn callback von EXEC? Der wird aufgerufen wenn befehl durch ist. Das macht man an sich so 😉

                                            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

                                            625
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            js-controller
                                            89
                                            1052
                                            260345
                                            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