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 jetzt für alle im Stable

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    js-controller 2 jetzt für alle im Stable

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @bahnuhr last edited by paul53

      @bahnuhr sagte:

      ..user.. der Ordner zukünftig sein soll, der man für eigene Objekte nehmen soll.

      Nein, das ist nur ein Vorschlag für diejenigen, die mit eigenen Datenpunkten unter javscript.0 nicht zurecht kommen und ohnehin eigene Ordner erstellen würden.

      1 Reply Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active last edited by

        Im thread3 von apollon steht das aber anders:

        Zitat:
        Ja ist es. Wir möchten 0_userdata.0 gern als neuen Standardplatz forcieren und haben uns dazu entschieden.

        für mich klingt das so, dass ...user... der Platz ist der eigentlich genommen werden soll.

        Aber nochmal:
        Warum kann man da nicht mit create State etwas anlegen.
        Wenn es doch der Standard werden soll ?

        paul53 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @bahnuhr last edited by paul53

          @bahnuhr sagte:

          Wir möchten 0_userdata.0 gern als neuen Standardplatz forcieren

          Das gilt für Einsteiger in ioBroker, nicht für bestehende Installationen.

          @bahnuhr sagte in js-controller 2 jetzt für alle im Stable:

          Warum kann man da nicht mit create State etwas anlegen.

          Ist in Planung.

          bahnuhr 1 Reply Last reply Reply Quote 0
          • bahnuhr
            bahnuhr Forum Testing Most Active @paul53 last edited by

            @paul53 sagte in js-controller 2 jetzt für alle im Stable:

            Ist in Planung.

            Danke, diese Antwort ist gut und zielführend.
            Stellt sich für mich nur die Frage warum man dies nicht gleich macht. Denn gerade Einsteiger brauchen doch einen einfachen Befehl.

            Wenn ich darf, noch ne Frage:
            Warum beschränkt man die fs Befehle auf den ..data.. Ordner.?
            Was ist, wenn man eine Datei im lokalen Netzwerk speichern möchte ?
            Warum geht der copy Befehl nicht mehr (Lösung ist ja read und write); aber warum beschränkt man dies?

            Gibt für mich (aus meiner Logik) auch keinen Sinn für diese Einschränkung.

            mfg
            Dieter

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

              @bahnuhr Wie paul geschrieben hat oder nach einem kommenden JavaScript Update

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

                @bahnuhr Jetzt bitte mal gaaaaaaaanz langsam ...

                Zu 0_userdata.0: Zitat aus Post #3 dieses Threads mit den Infos zum Feature:

                Wichtig Wer seine States bisher in javascript.X ablegt und das für die eigenen Bedürfnisse ausreicht, kann dies weiterhin ohne Probleme tun. Wer jedoch seine Skripte auf mehrere JavaScript-Instanzen verteilt möchte ggf. einen besseren Platz, wie 0_userdata.0, nutzen 🙂 Ebenso eigene Ordner auf oberster Ebene (z.B. MeineObjekte.0.x) können weiterhin genutzt werden - so lange halt bis ein Adapter mit diesem Namen kommt ...

                Also niemand zwingt irgend jemanden das zu nutzen!

                Es ist korrekt das der JavaScript Adapter bisher noch kein Update bekommen hat dies auch vollständig zu unterstützen. Ein Schritt nach dem anderen Bitte. Es wird kommen. Wir versuchen alles um Sinnvolle Pakete für Euch zu schnüren, aber auch wir haben nur begrenzte Zeit zur Verfügung!

                Stimmt doch im zugehörigen GitHub Issue ab und Zeit so das es Euch unter den Nägeln brennt das Feature zu haben ... hat aktuell nur 3 Stimmen ... https://github.com/ioBroker/ioBroker.javascript/issues/429

                Weiterhin: NIEMAND beschränkt "fs-Befehle" auf den data Ordner. Das können wir gar nicht weil die "fs" Library von nodejs auf das Filesystem zugreift. Da hast Du was komplett falsch verstanden.
                Die Beschränkung gilt nur für Daten die im iobroker-data/files Ordner gespeichert sind - diese dürfen nicht mehr per direkten Filesystemzugriffen manipuliert werden. Das das früher ging war keine Absicht und eigentlich schon damals "am System vorbei".

                Für "copy" (bzw "rename" um was es bisher ging) gibt es die Funktion im js-controller, sie ist aber im JavaScript Adapter noch nicht eingebaut weil Sie bisher wohl niemand gebraucht hat. Issue dazu was gern Eure Stimmen nimmt: https://github.com/ioBroker/ioBroker.javascript/issues/451 . Falls "copy" gebraucht wird wäre das ein ein js-controller Request.

                Der Grund für die Limitierung sind einerseits Sicherheitsüberlegungen und das ist wie immer ein Trade-Off zwischen "Einfachheit" und "Sicherheit". Alles was im ioBroker-Store Liegt ist generell per web/vis/admin u.ä. Adapter direkt abrufbar. Es gibt leider einige Installationen die frei im Internet erreichbar sind.
                Wir wollen sicherstellen das es eine bewusste Entscheidung ist welche Daten hier verfügbar sind und das auch hier das ioBroker-User- und Rechtesystem vollständig greift und genutzt werden kann. Das geht allerdings nur wenn alle Dateien sauber "offiziell" hochgeladen wurden.

                Ein weiterer Grund ist das bei der Nutzung von Redis als Objects/File Store das Filesystem irrelevant ist und damit nur die Daten abgerufen werden können die auch im Redis hochgeladen wurden. Das heisst hier würden auch sämtliche Skripte die mit den nodejs-Filesystem-Funktionen arbeiten nicht mehr funktionieren. Da uns aber für alle Funktionen die Einheitlichkeit wichtig ist und, wie oben erwähnt, an den offiziellen Funktionen vorbei zu arbeiten niemals offiziell unterstützt war, haben wir uns dafür entschieden.

                SBorg2014 created this issue in ioBroker/ioBroker.javascript

                closed createState in 0_userdata.0 ermöglichen #429

                peoples0815 created this issue in ioBroker/ioBroker.javascript

                closed renameFile implementieren #451

                1 Reply Last reply Reply Quote 2
                • bahnuhr
                  bahnuhr Forum Testing Most Active last edited by

                  Danke apollon für die ausführliche Antwort.

                  Aber vielleicht noch ne Ergänzung bzw. Frage zu fs.

                  Bisher hatte ich im Script die Zeile :
                  fs.copyFile("//ASUS-BUERO/ioBroker/node_modules/iobroker.sayit/sayit.2.say.mp3","//ASUS-BUERO/...mp3", (err) => {

                  Grund:
                  Ich kopiere die aktuell durch sayit erzeugte mp3 in einen anderen Ordner im Netzwerk.

                  Und dieser copy Befehl geht ja zukünftig nicht mehr.

                  Also Lösung lt. hier im Forum ist:
                  read und dann write

                  Dies funktioniert auch; jedoch mit der Einschränkung dass der write Befehl nur Ordner akzeptiert die im ...data.. Ordner liegen.
                  Somit ist write im Netzwerk nicht mehr möglich.

                  Oder gibt es für sowas eine andere Lösung.

                  Also ganz konkret:
                  Welcher Befehl muss man nehmen damit die Datei in einen anderen "Netzwerk"-Ordner kopiert wird.

                  mfg
                  Dieter

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

                    @bahnuhr wer sagt denn das das was du da tust nicht mehr geht?!

                    Ließ nochmal genau was ich geschrieben habe. Von der Limitierung sind nur Daten betroffen die in iobroker-data/files liegen.

                    Ist das bei dir der Fall? Ich glaube nicht.

                    Also geht das alles weiter wie bisher auch.

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

                      @apollon77 sagte in js-controller 2 jetzt für alle im Stable:

                      @bahnuhr wer sagt denn das das was du da tust nicht mehr geht?!

                      Ließ nochmal genau was ich geschrieben habe. Von der Limitierung sind nur Daten betroffen die in iobroker-data/files liegen.

                      Ist das bei dir der Fall? Ich glaube nicht.

                      Also geht das alles weiter wie bisher auch.

                      Dann lies bitte auch mal genau was ich geschrieben habe.
                      Der write Befehl geht nicht !

                      Es wird ein Verzeichnis verlangt unterhalb von ...data/files...

                      mfg

                      apollon77 1 Reply Last reply Reply Quote 0
                      • O
                        Oli last edited by

                        Hallo zusammen,

                        mal ne doofe Anfängerfrage, welchen Befehl muss ich ins Terminal eingeben, damit ich auf die Version 2.1.1 updaten kann, mit dem Befehl "iobroker upgrade self"
                        klappt es nicht.

                        Ich habe ioBroker auf einer Qnap in der Docker Station installiert.

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

                          @bahnuhr ich verstehe nicht was du meinst? Wenn du außerhalb des iobroker-data/files Verzeichnisses und damit außerhalb der iobroker Stores arbeitest dann nutzt die weiterhin fs.writeFileSync oder so ... hat doch dann mit dem iobroker store nichts zu tun.

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

                            @Oli definiere bitte „Klappe nicht“ etwas näher. Hast du vorher „iobroker update“ gemacht und da wird der js-Controller als updatable angezeigt?

                            O 2 Replies Last reply Reply Quote 0
                            • O
                              Oli @apollon77 last edited by

                              @apollon77

                              ioBroker Update habe ich gemacht, der js-Controller wird nicht als update angezeigt.

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

                                @apollon77

                                sorry falscher Alarm, anscheinend war die Version 2.1.1 schon installiert.

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

                                  @apollon77 sagte in js-controller 2 jetzt für alle im Stable:

                                  fs.writeFileSync

                                  Danke für die Info.

                                  1 x hat es klappt. Danach leider nicht mehr.
                                  anbei Script:

                                      var fs = require('fs'); 
                                          const datei= fs.readFileSync("C:/ioBroker/node_modules/iobroker.sayit/sayit.2.say.mp3"); 
                                          setTimeout(function(){
                                              fs.writeFileSync('c:/tmp/test.mp3', datei, function (error) { });
                                          }, 500);
                                  

                                  endet mit Fehler mit log:

                                  javascript.1	2019-11-24 16:38:28.530	error	at Timer.listOnTimeout (timers.js:290:5)
                                  javascript.1	2019-11-24 16:38:28.530	error	at tryOnTimeout (timers.js:323:5)
                                  javascript.1	2019-11-24 16:38:28.530	error	at ontimeout (timers.js:511:34)
                                  javascript.1	2019-11-24 16:38:28.530	error	at Timeout._onTimeout (C:\ioBroker\node_modules\iobroker.javascript\lib\sandbox.js:1869:34)
                                  javascript.1	2019-11-24 16:38:28.530	error	at Object.<anonymous> (script.js.Scripte.test4:147:12)
                                  javascript.1	2019-11-24 16:38:28.530	error	at ProtectFs.writeFileSync (C:\ioBroker\node_modules\iobroker.javascript\lib\protectFs.js:31:37)
                                  javascript.1	2019-11-24 16:38:28.530	error	at fs.writeFileSync (fs.js:1299:33)
                                  javascript.1	2019-11-24 16:38:28.530	error	at Object.fs.openSync (fs.js:646:18)
                                  javascript.1	2019-11-24 16:38:28.530	error	Error in callback: Error: EPERM: operation not permitted, open 'c:\tmp\test.mp3'
                                  javascript.1	2019-11-24 16:38:28.530	info	script.js.Scripte.test4: C:/tmp/test.mp3
                                  

                                  ...operation not permitted...

                                  versteh ich nicht. Warum soll dieses Verzeichnis nicht erlaubt sein.
                                  Bzw. warum hat es 1x geklappt und danach nicht mehr.

                                  Windows oder/und iob BUG ?

                                  mfg

                                  apollon77 1 Reply Last reply Reply Quote 0
                                  • Diginix
                                    Diginix last edited by

                                    Ist es eigentlich korrekt dass die Logfiles unter /opt/iobroker/log/ nicht mehr wöchentlich rotieren?
                                    Ich habe mittlerweile 16 Logfiles, logischerweise der letzten 16 Tage. Am 15.11. hatte ich das Update auf JS-Controller 2 gemacht. Seit dem haben die Logfiles Berechtigung 664, alle davor haben 777. Aber das sollte ja erst recht keine Probleme beim Weglöschen machen.

                                    SBorg nieIP 2 Replies Last reply Reply Quote 1
                                    • SBorg
                                      SBorg Forum Testing Most Active @Diginix last edited by

                                      @Diginix sagte in js-controller 2 jetzt für alle im Stable:

                                      Ist es eigentlich korrekt dass die Logfiles unter /opt/iobroker/log/ nicht mehr wöchentlich rotieren?

                                      Korrekt, bzw. wohl eher nicht korrekt.
                                      Durch den Betatest sind es bei mir noch paar mehr 😁
                                      Bild 1.png

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

                                        @bahnuhr prüfe mal die Rechte vom File, Verzeichnis und so ... EPERM ist ein Permission/Rechte Problem beim Zugriff. Würde ich jetzt erst einmal "bei Dir" am System sehen.

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

                                          @SBorg Hm. Bisher nicht aufgefallen. Bitte legt mal ein Issue im js-controller an. Danke

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

                                            @apollon77 Issue angelegt.
                                            https://github.com/ioBroker/ioBroker.js-controller/issues/537

                                            Diginix created this issue in ioBroker/ioBroker.js-controller

                                            closed Log rotate funktioniert nicht mehr #537

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

                                            Support us

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

                                            542
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            js-controller js-controller 2
                                            74
                                            556
                                            133386
                                            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