Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Admin5: Ich kann keine Objekte mehr manuell anlegen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

Admin5: Ich kann keine Objekte mehr manuell anlegen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
466 Beiträge 36 Kommentatoren 92.5k Aufrufe 25 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mickymM mickym

    gelöscht

    F Offline
    F Offline
    fastfoot
    schrieb am zuletzt editiert von
    #267

    @mickym ich denke der node-out setzt da auch nur die Struktur zusammen und als Ergebnis kommt dann in JS Notation sowas raus: setObject('xxx.yyy.zzz.dp',....) Es wird also ein DP in/mit einer Struktur erzeugt, welche evtl. gar nicht vorhanden ist und damit eig. ungültig.

    Ich sehe da nur zwei Möglichkeiten für die Zukunft:

    • iobroker erzeugt diese Strukturen selber wenn nicht vorhanden(generic type==folder)
    • iobroker verbietet das Erzeugen von DP in nicht vorhandene Strukturen(nicht nur in der UI sondern auch programmatisch)
      • der User kümmert sich selbst um valide Strukturen

    auf Dauer das Skript zu nutzen halte ich nicht für sinnvoll, dann kann man die Funktionalität auch gleich einbauen oder konsequent Punkt 2 umsetzen. So wie es jetzt ist bleibt dieses Thema ein Dauerbrenner, fürchte ich

    iobroker läuft unter Docker auf QNAP TS-451+
    SkriptRecovery: https://forum.iobroker.net/post/930558

    mickymM 2 Antworten Letzte Antwort
    0
    • F fastfoot

      @mickym ich denke der node-out setzt da auch nur die Struktur zusammen und als Ergebnis kommt dann in JS Notation sowas raus: setObject('xxx.yyy.zzz.dp',....) Es wird also ein DP in/mit einer Struktur erzeugt, welche evtl. gar nicht vorhanden ist und damit eig. ungültig.

      Ich sehe da nur zwei Möglichkeiten für die Zukunft:

      • iobroker erzeugt diese Strukturen selber wenn nicht vorhanden(generic type==folder)
      • iobroker verbietet das Erzeugen von DP in nicht vorhandene Strukturen(nicht nur in der UI sondern auch programmatisch)
        • der User kümmert sich selbst um valide Strukturen

      auf Dauer das Skript zu nutzen halte ich nicht für sinnvoll, dann kann man die Funktionalität auch gleich einbauen oder konsequent Punkt 2 umsetzen. So wie es jetzt ist bleibt dieses Thema ein Dauerbrenner, fürchte ich

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #268

      @fastfoot sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

      iobroker erzeugt diese Strukturen selber wenn nicht vorhanden(generic type==folder)

      Na das war ja meine präferierte Lösung, die ich @apollon77 so vorgeschlagen hatte. Damit würde halt die Funktionalität wie bisher erhalten bleiben.
      Zumindest für die Ordner, in dem man als User solche Strukturen erstellen darf, fände ich das sinnvoll.

      Ich habe mich da nur mit dem undefined etwas unglücklich ausgedrückt. Mixed als Objekttyp würde aber in diesem Fall eben nicht helfen.

      Die 2. Lösung kostet viel mehr Programmieraufwand und ist wahrscheinlich auch langsamer - denn im Prinzip müsste man jede Hierarchieebene prüfen (solange die nicht am Ende steht) und auch auf vorhandene Objekte vor dem Schreiben prüfen.

      Und ich denke auch, das letztlich eine setObject/setState - Funktion in der Node arbeitet, d.h. wenn man das generell einfach so macht hat man nicht nur eine Lösung für NodeRed, sondern auch für Blockly etc.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      F 1 Antwort Letzte Antwort
      0
      • F fastfoot

        @mickym ich denke der node-out setzt da auch nur die Struktur zusammen und als Ergebnis kommt dann in JS Notation sowas raus: setObject('xxx.yyy.zzz.dp',....) Es wird also ein DP in/mit einer Struktur erzeugt, welche evtl. gar nicht vorhanden ist und damit eig. ungültig.

        Ich sehe da nur zwei Möglichkeiten für die Zukunft:

        • iobroker erzeugt diese Strukturen selber wenn nicht vorhanden(generic type==folder)
        • iobroker verbietet das Erzeugen von DP in nicht vorhandene Strukturen(nicht nur in der UI sondern auch programmatisch)
          • der User kümmert sich selbst um valide Strukturen

        auf Dauer das Skript zu nutzen halte ich nicht für sinnvoll, dann kann man die Funktionalität auch gleich einbauen oder konsequent Punkt 2 umsetzen. So wie es jetzt ist bleibt dieses Thema ein Dauerbrenner, fürchte ich

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #269

        @fastfoot Habe gerade mal den Quellcode der iobroker-out Node geschaut, die scheint alles mit setState zu schreiben:

        adapter.setState(id, {val, ack}, callback);
        

        Wobei das wahrscheinlich egal ist, weil man einfach die id übergeben hat - egal ob bei setState oder setObject - obwohl das ja dann mit adapter.setState auch eine eigene Funktion im Adapter sein könnte. Ich steck da nicht so tief drin. ;) - Muss ich ja auch nicht - bin ja nur blöder Anwender. ;)

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        F apollon77A 2 Antworten Letzte Antwort
        0
        • mickymM mickym

          @fastfoot sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

          iobroker erzeugt diese Strukturen selber wenn nicht vorhanden(generic type==folder)

          Na das war ja meine präferierte Lösung, die ich @apollon77 so vorgeschlagen hatte. Damit würde halt die Funktionalität wie bisher erhalten bleiben.
          Zumindest für die Ordner, in dem man als User solche Strukturen erstellen darf, fände ich das sinnvoll.

          Ich habe mich da nur mit dem undefined etwas unglücklich ausgedrückt. Mixed als Objekttyp würde aber in diesem Fall eben nicht helfen.

          Die 2. Lösung kostet viel mehr Programmieraufwand und ist wahrscheinlich auch langsamer - denn im Prinzip müsste man jede Hierarchieebene prüfen (solange die nicht am Ende steht) und auch auf vorhandene Objekte vor dem Schreiben prüfen.

          Und ich denke auch, das letztlich eine setObject/setState - Funktion in der Node arbeitet, d.h. wenn man das generell einfach so macht hat man nicht nur eine Lösung für NodeRed, sondern auch für Blockly etc.

          F Offline
          F Offline
          fastfoot
          schrieb am zuletzt editiert von
          #270

          @mickym ich bin da ganz bei dir,. den Programmieraufwand hätte jeder anstatt 'nur' der iobroker. Ob das aber wirklich so einfach auf Systemseite umgesetzt werden kann ist eine andere Sache, die ich nicht beurteilen kann. Ich könnte mir vorstellen dass setObject() an sehr vielen Stellen verwendet wird wo es nicht um das (Erst-)Erstellen eines Objektes geht, eine Dauerprüfung auf valide Strukturen würde dann das System erheblich belasten. Die momentane Handhabung scheint mir jedenfalls inkonsequent zu sein.

          iobroker läuft unter Docker auf QNAP TS-451+
          SkriptRecovery: https://forum.iobroker.net/post/930558

          1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @fastfoot Habe gerade mal den Quellcode der iobroker-out Node geschaut, die scheint alles mit setState zu schreiben:

            adapter.setState(id, {val, ack}, callback);
            

            Wobei das wahrscheinlich egal ist, weil man einfach die id übergeben hat - egal ob bei setState oder setObject - obwohl das ja dann mit adapter.setState auch eine eigene Funktion im Adapter sein könnte. Ich steck da nicht so tief drin. ;) - Muss ich ja auch nicht - bin ja nur blöder Anwender. ;)

            F Offline
            F Offline
            fastfoot
            schrieb am zuletzt editiert von
            #271

            @mickym nee, da müsste mehr sein, ein reines setState() ohne existierendes Objekt wirft einen Fehler und erstellt den state nicht, zumindest im JS-Adapter

            iobroker läuft unter Docker auf QNAP TS-451+
            SkriptRecovery: https://forum.iobroker.net/post/930558

            mickymM 1 Antwort Letzte Antwort
            0
            • mickymM mickym

              @fastfoot Habe gerade mal den Quellcode der iobroker-out Node geschaut, die scheint alles mit setState zu schreiben:

              adapter.setState(id, {val, ack}, callback);
              

              Wobei das wahrscheinlich egal ist, weil man einfach die id übergeben hat - egal ob bei setState oder setObject - obwohl das ja dann mit adapter.setState auch eine eigene Funktion im Adapter sein könnte. Ich steck da nicht so tief drin. ;) - Muss ich ja auch nicht - bin ja nur blöder Anwender. ;)

              apollon77A Offline
              apollon77A Offline
              apollon77
              schrieb am zuletzt editiert von
              #272

              @mickym Ein Objekt definiert das da was ist und die zugehörigen Metadaten (Typ, min/max und so). Hat aber keinen Wert! Ein State ist der aktuelle Wert des Objekts. Wenn das Objekt mal existiert brauchen nur noch States geschrieben zu werden um die Werte zu ändern

              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
              mickymM 1 Antwort Letzte Antwort
              0
              • F fastfoot

                @mickym nee, da müsste mehr sein, ein reines setState() ohne existierendes Objekt wirft einen Fehler und erstellt den state nicht, zumindest im JS-Adapter

                mickymM Offline
                mickymM Offline
                mickym
                Most Active
                schrieb am zuletzt editiert von
                #273

                @fastfoot Jo

                adapter.setObject(id, data, _ => adapter.setState(id, val, () => callback && callback(true)));
                

                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                1 Antwort Letzte Antwort
                0
                • apollon77A apollon77

                  @mickym Ein Objekt definiert das da was ist und die zugehörigen Metadaten (Typ, min/max und so). Hat aber keinen Wert! Ein State ist der aktuelle Wert des Objekts. Wenn das Objekt mal existiert brauchen nur noch States geschrieben zu werden um die Werte zu ändern

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #274

                  @apollon77 Das Prinzip hab ich ja verstanden - ich versuche ja nur gerade zu überlegen, wie ein einfache Lösung aussehen könnte. ;), sodass man mit einer "id" einfach weiterarbeiten kann - auch wenn zur Erstellung des Objektes eben nicht alle Hierarchieebenen vorhanden sind.

                  Und das ist meines Erachtens ja kein Problem von NodeRed oder anderen Logikmaschinen, ich kann ja auch in dem jetzigen Admin einen Datenpunkt mit xx.yy.zz erstellen und yy ist dann automatisch ein nicht existierendes Objekt.

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  apollon77A 1 Antwort Letzte Antwort
                  0
                  • mickymM mickym

                    @apollon77 Das Prinzip hab ich ja verstanden - ich versuche ja nur gerade zu überlegen, wie ein einfache Lösung aussehen könnte. ;), sodass man mit einer "id" einfach weiterarbeiten kann - auch wenn zur Erstellung des Objektes eben nicht alle Hierarchieebenen vorhanden sind.

                    Und das ist meines Erachtens ja kein Problem von NodeRed oder anderen Logikmaschinen, ich kann ja auch in dem jetzigen Admin einen Datenpunkt mit xx.yy.zz erstellen und yy ist dann automatisch ein nicht existierendes Objekt.

                    apollon77A Offline
                    apollon77A Offline
                    apollon77
                    schrieb am zuletzt editiert von
                    #275

                    @mickym Am Ende müssen die relevanten Adapterentwickler das angehen ... wie node-red und so ... und der controller muss unterstützen. Aber das führt hier etwas zu weit

                    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                    mickymM 1 Antwort Letzte Antwort
                    0
                    • apollon77A apollon77

                      @mickym Am Ende müssen die relevanten Adapterentwickler das angehen ... wie node-red und so ... und der controller muss unterstützen. Aber das führt hier etwas zu weit

                      mickymM Offline
                      mickymM Offline
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von
                      #276

                      @apollon77 sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                      @mickym Am Ende müssen die relevanten Adapterentwickler das angehen ... wie node-red und so ... und der controller muss unterstützen. Aber das führt hier etwas zu weit

                      Na wie gesagt auch der jetzige Admin 5 lässt noch über xxx.yyy.zzz bei der Erstellung eines Datenpunktes "nicht existierende Objekte zu" - deswegen war ich der Meinung es liegt vielleicht nicht nur am einzelnen Adapter, sondern man kann das im System irgendwie lösen. Aber OK führt wohl zu weit.

                      Mit Umgehungslösungen und dem Skript von @fastfoot kann man sich ja behelfen, zumindest solange nicht weiter eingeschränkt wird!

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      1 Antwort Letzte Antwort
                      0
                      • OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        schrieb am zuletzt editiert von OliverIO
                        #277

                        Grundsätzlich muss man mal überlegen warum das so sein muss. Welches zukünftige geplante Feature wird nicht funktionieren, wenn die Objektstruktur nicht bereinigt wird.

                        oder möchte man nur bereinigen, weil das in einem ursprünglichen Konzept so mal aufgeschrieben wurde?

                        Ich selbst verwende in meinen Adaptern fast nur Objekte, mit der Bezeichnung von xxx.yyy.zzz. Das ist für die Erstellung und Verwaltung viel einfacher und dennoch hat man in der Visualisierung die Unterteilung in eine "Pseudo-Ordner-Struktur"

                        Wenn ich jetzt dran denke, das ich für jede Ebene ein separates Objekt anlegen muss, asynchron darauf warten muss, bis es angelegt wurde, dann die nächste Ebene anlegen kann und so fort, dann wird das mit den heutigen mitteln schon aufwändiger.

                        Das muss ich dann bei jedem Adapterstart auch noch überprüfen (gibt es eigentlich die Funktion: gib mir alle Objekte unterhalb eines Astes?).
                        Auch hier muss ich warten, bis eine Ebene abgefragt wurde und kann dann erst die nächste Ebene abfragen.

                        Meine Adapter und Widgets
                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                        Links im Profil

                        apollon77A 1 Antwort Letzte Antwort
                        1
                        • OliverIOO OliverIO

                          Grundsätzlich muss man mal überlegen warum das so sein muss. Welches zukünftige geplante Feature wird nicht funktionieren, wenn die Objektstruktur nicht bereinigt wird.

                          oder möchte man nur bereinigen, weil das in einem ursprünglichen Konzept so mal aufgeschrieben wurde?

                          Ich selbst verwende in meinen Adaptern fast nur Objekte, mit der Bezeichnung von xxx.yyy.zzz. Das ist für die Erstellung und Verwaltung viel einfacher und dennoch hat man in der Visualisierung die Unterteilung in eine "Pseudo-Ordner-Struktur"

                          Wenn ich jetzt dran denke, das ich für jede Ebene ein separates Objekt anlegen muss, asynchron darauf warten muss, bis es angelegt wurde, dann die nächste Ebene anlegen kann und so fort, dann wird das mit den heutigen mitteln schon aufwändiger.

                          Das muss ich dann bei jedem Adapterstart auch noch überprüfen (gibt es eigentlich die Funktion: gib mir alle Objekte unterhalb eines Astes?).
                          Auch hier muss ich warten, bis eine Ebene abgefragt wurde und kann dann erst die nächste Ebene abfragen.

                          apollon77A Offline
                          apollon77A Offline
                          apollon77
                          schrieb am zuletzt editiert von
                          #278

                          @oliverio Bitte das Thema "Adapter-Entwicklung" hier nicht auch noch reinmischen ... lasst das bitte in den Entwickler Foren bzw Channeln klären.

                          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                          OliverIOO 1 Antwort Letzte Antwort
                          0
                          • liv-in-skyL liv-in-sky

                            @mickym

                            erstmal vielen dank

                            ein weiteres puzzleteil

                            F Offline
                            F Offline
                            fastfoot
                            schrieb am zuletzt editiert von
                            #279

                            @liv-in-sky sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                            ein weiteres puzzleteil

                            der Datenpunktkonverter für Skripte ist jetzt im Pre-Alpha. Läuft schon perfekt(???) für Blocklys aber so kann ich ihn noch nicht freigeben. Ich suche noch ein paar fancy Skripte(Blockly only) um mehr zu testen, am Besten mit zu konvertierenden DP in JS-Funktionen...

                            • Schreiben als XML oder js/ts ins Dateisystem
                            • Direktes Ändern im System, wahlweise mit neuer ID(.chg)
                            • Filtern nach Ordner oder Skript möglich

                            Braucht das Wer?

                            iobroker läuft unter Docker auf QNAP TS-451+
                            SkriptRecovery: https://forum.iobroker.net/post/930558

                            liv-in-skyL 1 Antwort Letzte Antwort
                            0
                            • apollon77A apollon77

                              @oliverio Bitte das Thema "Adapter-Entwicklung" hier nicht auch noch reinmischen ... lasst das bitte in den Entwickler Foren bzw Channeln klären.

                              OliverIOO Offline
                              OliverIOO Offline
                              OliverIO
                              schrieb am zuletzt editiert von
                              #280

                              @apollon77 sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                              @oliverio Bitte das Thema "Adapter-Entwicklung" hier nicht auch noch reinmischen ... lasst das bitte in den Entwickler Foren bzw Channeln klären.

                              Hm, ist das anlegen von Datenpunkten nicht ein generelles Thema um das es hier in diesem Thread geht?
                              Gelten den für Adapter und manuelle Anlage von Datenpunkten unterschiedliche Regeln?

                              Ich lese hier nur, das es hier auch um die Anlage von verschiedenen Objekten (channel, devices, directory) geht, um eine gewisse (gestaffelte) Struktur in vis zu erzeugen, gegenüber einer flachen Liste von Datenpunkten, die im Namen ein oder mehrere Punkte enthalten.

                              Meine Adapter und Widgets
                              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                              Links im Profil

                              apollon77A 1 Antwort Letzte Antwort
                              0
                              • OliverIOO OliverIO

                                @apollon77 sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                                @oliverio Bitte das Thema "Adapter-Entwicklung" hier nicht auch noch reinmischen ... lasst das bitte in den Entwickler Foren bzw Channeln klären.

                                Hm, ist das anlegen von Datenpunkten nicht ein generelles Thema um das es hier in diesem Thread geht?
                                Gelten den für Adapter und manuelle Anlage von Datenpunkten unterschiedliche Regeln?

                                Ich lese hier nur, das es hier auch um die Anlage von verschiedenen Objekten (channel, devices, directory) geht, um eine gewisse (gestaffelte) Struktur in vis zu erzeugen, gegenüber einer flachen Liste von Datenpunkten, die im Namen ein oder mehrere Punkte enthalten.

                                apollon77A Offline
                                apollon77A Offline
                                apollon77
                                schrieb am zuletzt editiert von
                                #281

                                @oliverio sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                                Hm, ist das anlegen von Datenpunkten nicht ein generelles Thema um das es hier in diesem Thread geht?

                                Jain ... in dem Thread geht es um "Hilfe ich kann per Admin5 keine Objekt mehr manuell anlegen" :-)

                                Die ganze andere Diskussion ist quasi Off Topic reingerutscht.

                                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                1 Antwort Letzte Antwort
                                0
                                • F fastfoot

                                  @liv-in-sky sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                                  ein weiteres puzzleteil

                                  der Datenpunktkonverter für Skripte ist jetzt im Pre-Alpha. Läuft schon perfekt(???) für Blocklys aber so kann ich ihn noch nicht freigeben. Ich suche noch ein paar fancy Skripte(Blockly only) um mehr zu testen, am Besten mit zu konvertierenden DP in JS-Funktionen...

                                  • Schreiben als XML oder js/ts ins Dateisystem
                                  • Direktes Ändern im System, wahlweise mit neuer ID(.chg)
                                  • Filtern nach Ordner oder Skript möglich

                                  Braucht das Wer?

                                  liv-in-skyL Offline
                                  liv-in-skyL Offline
                                  liv-in-sky
                                  schrieb am zuletzt editiert von
                                  #282

                                  @fastfoot danke für's weiterverfolgen - vielleicht sollten wir neuen thread aufmachen ?

                                  ich habe so gut wie keine scripte, die in blockly datenpunkte anlegen, damit du das testen kannst - aber das hier habe ich gefunden

                                  • legt dp unter javascript an
                                  • ist eine stoppuhr
                                  • wenn start unter steuerung gedrückt wird - beginnt stoppuhr
                                  • anschliessend stopp drücken
                                  • anschliessend reset um wieder bei 0 zu beginnen
                                  • die dp werden mit einer js-function angelegt - kannst du ja disabeln, falls das stört

                                  Image 1.png

                                  hoffe, dass hilft weiter

                                  stoppuhr-script-blockly.txt

                                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                  F 1 Antwort Letzte Antwort
                                  0
                                  • F fastfoot

                                    @mickym sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                                    Und ja wenn so ein Script von @Dutchman "Nicht existierenden Objekten" den Typ "folder" spendiert ist es ja gut.

                                    @Dutchman kann das sicher besser, aber das hier funktioniert auch. Dennoch, beim Rumfummeln am System empfiehlt sich immer ein Backup

                                    Vorraussetzung: In den Settings der Javascript-Instanz muss setObject erlaubt sein

                                    • Das Setzen des Stammordners erfolgt in Zeile 12
                                    • Als Stammordner werden javascript.x und 0_userdata.0 unterstützt, man könnte oder sollte es evtl. noch auf alias.0 erweitern(Zeile 17)

                                    /**
                                    * Zweck:       Korrigiert übergeordnete Ordnerstrukturen eines Datenpunkts
                                    * Datum:      07.08.2021
                                    * Autor:       @fastfoot
                                    */
                                    
                                    //              In den Settings der Javascript-Instanz muss setObject erlaubt sein!!!
                                    
                                    let arr = [],
                                       id = '';
                                    
                                    const ids = $('0_userdata.0.*');
                                    ids.each(idTmp => {
                                       arr=idTmp.split('.');
                                       arr.splice(arr.length-1);
                                       id=arr.join('.');
                                       if(arr[0] === '0_userdata' || arr[0] === 'javascript'){
                                           correctObject(id, arr);
                                       }
                                    })
                                    
                                    function correctObject(id,arr){
                                       if(arr.length === 2) return;
                                       if(!existsObject(id)){
                                           let obj = {};
                                           obj = {
                                               type: 'folder',
                                               common:{
                                                   name: arr[arr.length - 1]
                                               }
                                           }
                                           extendObject(id, obj, e => {
                                               if (e) log('Fehler beim Schreiben des Objektes: '+ id + ' ' + e);
                                           })
                                       }
                                       arr.splice(arr.length - 1);
                                       id = arr.join('.');
                                       correctObject(id, arr);
                                    }
                                    

                                    R Offline
                                    R Offline
                                    rebel85
                                    schrieb am zuletzt editiert von
                                    #283

                                    @fastfoot sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                                    folder

                                    das skript einfach kopieren, als neue javaskript instanz anlegen un dann nur auf play (starten) drücken?

                                    F 1 Antwort Letzte Antwort
                                    0
                                    • R rebel85

                                      @fastfoot sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                                      folder

                                      das skript einfach kopieren, als neue javaskript instanz anlegen un dann nur auf play (starten) drücken?

                                      F Offline
                                      F Offline
                                      fastfoot
                                      schrieb am zuletzt editiert von
                                      #284

                                      @rebel85 sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                                      @fastfoot sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                                      folder

                                      das skript einfach kopieren, als neue javaskript instanz anlegen un dann nur auf play (starten) drücken?

                                      Zuerst ein Backup, dann die Anleitung beachten und dann Play. Was meinst du mit als neue javaskript instanz anlegen?

                                      iobroker läuft unter Docker auf QNAP TS-451+
                                      SkriptRecovery: https://forum.iobroker.net/post/930558

                                      R 1 Antwort Letzte Antwort
                                      0
                                      • F fastfoot

                                        @rebel85 sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                                        @fastfoot sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                                        folder

                                        das skript einfach kopieren, als neue javaskript instanz anlegen un dann nur auf play (starten) drücken?

                                        Zuerst ein Backup, dann die Anleitung beachten und dann Play. Was meinst du mit als neue javaskript instanz anlegen?

                                        R Offline
                                        R Offline
                                        rebel85
                                        schrieb am zuletzt editiert von
                                        #285

                                        @fastfoot
                                        backup ist erstellt
                                        Anleitung bzgl. wohin die ordner verschoben werden müssen?

                                        naja irgendwo muss ich ja das skript speichern um es auszuführen oder?

                                        skript.JPG

                                        also nur noch play richtig?

                                        mickymM 1 Antwort Letzte Antwort
                                        0
                                        • R rebel85

                                          @fastfoot
                                          backup ist erstellt
                                          Anleitung bzgl. wohin die ordner verschoben werden müssen?

                                          naja irgendwo muss ich ja das skript speichern um es auszuführen oder?

                                          skript.JPG

                                          also nur noch play richtig?

                                          mickymM Offline
                                          mickymM Offline
                                          mickym
                                          Most Active
                                          schrieb am zuletzt editiert von
                                          #286

                                          @rebel85 Das Skript ist nicht dazu da, um Ordner zu verschieben, sondern Ordner aus den fehlenden Hierachien zu machen (Stiftsymbol fehlt). Zum Ordner kopieren kannst meinen NodeRed Flow nutzen.

                                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                          R 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          370

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe