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

donate donate
  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.5k

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

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

Admin5: Ich kann keine Objekte mehr manuell anlegen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
466 Beiträge 36 Kommentatoren 92.8k 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

    @dr-bakterius Ja das weiß ich - das geht halt alles nur in der Übergangszeit zum Kopieren -

    Ok Rollen, Units etc. - das kann ich in dem Flow noch modifizieren, das ist aber dann doch ein komplexerer Flow - weil ja nicht jeder Datenpunkt diese Einheiten hat. Da mache ich mich vielleicht morgen dran. Aber heute nicht mehr.

    Auch die Raumzuordnungen kann ich anscheinend auslesen, aber wie gesagt ich weiß nicht ob ich das Schreiben kann.

    mickymM Online
    mickymM Online
    mickym
    Most Active
    schrieb am zuletzt editiert von mickym
    #310

    Wobei ich habe es gesehen mit dem Export und Import ist doch einfach da ist dann alles dabei!! Dann betreibe ich nicht den Aufwand.

    Flow gelöscht - bevor da Unsinn getrieben wird.

    @Dr-Bakterius Am Besten Du löscht den kopierten Baum wieder und legst den über Export, Texteditor IDs ersetzen und Import neu an.

    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.

    Dr. BakteriusD 1 Antwort Letzte Antwort
    1
    • mickymM mickym

      Wobei ich habe es gesehen mit dem Export und Import ist doch einfach da ist dann alles dabei!! Dann betreibe ich nicht den Aufwand.

      Flow gelöscht - bevor da Unsinn getrieben wird.

      @Dr-Bakterius Am Besten Du löscht den kopierten Baum wieder und legst den über Export, Texteditor IDs ersetzen und Import neu an.

      Dr. BakteriusD Online
      Dr. BakteriusD Online
      Dr. Bakterius
      Most Active
      schrieb am zuletzt editiert von
      #311

      @mickym Trotzdem Danke für deine Mühe... :+1:

      Hab' ich wohl überlesen: wie geht 'Export' -> 'Import'?

      Pedder007P mickymM 2 Antworten Letzte Antwort
      0
      • Dr. BakteriusD Dr. Bakterius

        @mickym Trotzdem Danke für deine Mühe... :+1:

        Hab' ich wohl überlesen: wie geht 'Export' -> 'Import'?

        Pedder007P Offline
        Pedder007P Offline
        Pedder007
        schrieb am zuletzt editiert von
        #312

        @dr-bakterius @mickym
        Guter Ansatz, aber wenn ich das alles so lese, dann glaube ich, dass ich meine 70-80 DPs wahrscheinlich lieber direkt manuell migriere.
        Ich befürchte, dass ich mich hinterher sonst mehr an den Nachbesserungen aufreiben würde, als wenn ich das direkt händisch mache.
        Auch für die Blocklys ...

        Dass kann dann ja ruhig auch bis Jahresende dauern .. ;-)

        Btw. mal eine Frage zu der sandfarbenen Infobox im Web-Frontend unter Info:
        Da steht: "Das Speichern von Objekten oder Arrays muss immer als String erfolgen und dies wird von js-controller 3.3 überprüft. In vielen Fällen wurde dies beim Speichern oder Lesen von Werten nicht richtig gemacht und dadurch waren die Benutzer verwirrt."

        Also unter 'Objekten' verstehe ich auch Datenpunkte, richtig? Muss ich die dann 'nur' künftig immer als 'String' anlegen, oder gilt das auch für meine bisherigen unter javascript.0/[irgendein 'Ordner(=Kanal)'].
        Weil wenn das so wäre, würde ich die tatsächlich wohl eher noch alle vor dem Update umstellen :thinking_face:

        Pedder
        All @Proxmox/Bookworm auf HP Elitedesk 800 G4; Zigbee: ZigStar (LAN), ~110Devices
        Unifi, Motioneye/3Reolinks, PiHole, Bosch 7800i via BBQKees/EMS-ESP, Fronius/BYD 11kWp via Modbus

        cashC mickymM paul53P 3 Antworten Letzte Antwort
        0
        • Pedder007P Pedder007

          @dr-bakterius @mickym
          Guter Ansatz, aber wenn ich das alles so lese, dann glaube ich, dass ich meine 70-80 DPs wahrscheinlich lieber direkt manuell migriere.
          Ich befürchte, dass ich mich hinterher sonst mehr an den Nachbesserungen aufreiben würde, als wenn ich das direkt händisch mache.
          Auch für die Blocklys ...

          Dass kann dann ja ruhig auch bis Jahresende dauern .. ;-)

          Btw. mal eine Frage zu der sandfarbenen Infobox im Web-Frontend unter Info:
          Da steht: "Das Speichern von Objekten oder Arrays muss immer als String erfolgen und dies wird von js-controller 3.3 überprüft. In vielen Fällen wurde dies beim Speichern oder Lesen von Werten nicht richtig gemacht und dadurch waren die Benutzer verwirrt."

          Also unter 'Objekten' verstehe ich auch Datenpunkte, richtig? Muss ich die dann 'nur' künftig immer als 'String' anlegen, oder gilt das auch für meine bisherigen unter javascript.0/[irgendein 'Ordner(=Kanal)'].
          Weil wenn das so wäre, würde ich die tatsächlich wohl eher noch alle vor dem Update umstellen :thinking_face:

          cashC Offline
          cashC Offline
          cash
          Most Active
          schrieb am zuletzt editiert von
          #313

          @pedder007 Also 70 oder Datenpunkte kann man spielend manuell migrieren. Ich habe meine ca. 700 Datenpunkte manuell migriert und gleichzeitig die Struktur leicht angepasst. Aufwand würde ich mal sagen ca. 30 Stunden incl Anpassung aller Scripte. Das einzige was mir noch fehlt ist vis das ist derzeit eher nutzlos :-) Aber ich denke das werde ich vielleicht morgen schaffen.

          Nächstes Wochenende könnte ich dann wohl mal das update machen. Wahrscheinlich werde ich aber noch abwarten.

          Pedder007P D 2 Antworten Letzte Antwort
          0
          • Dr. BakteriusD Dr. Bakterius

            @mickym Trotzdem Danke für deine Mühe... :+1:

            Hab' ich wohl überlesen: wie geht 'Export' -> 'Import'?

            mickymM Online
            mickymM Online
            mickym
            Most Active
            schrieb am zuletzt editiert von mickym
            #314

            @dr-bakterius Na ich habs gerade gesehen - wäre wohl eine Kombination aus beiden gut - da die Werte bei dem Export nicht mit übernommen werden - also dann wohl die Kombi aus beiden - zumindest sollten dann Rollen, Units etc übernommen werden.

            1. Baum exportieren - Download der JSON Datei

            screen.png

            1. Mit Texteditor und suchen ersetzen den alten gegen den neuen Pfad ersetzen

            2. Dann die Objekte mit der neuen JSON Datei wieder importieren

            screen.png

            Die Werte damit nicht übernommen, sondern die Objekte, da müsstest Du dann doch mein NodeRed Flow oder ein Blockly etc. drüber laufen lassen. Da aber nur die ID ausgetauscht ist - bleiben alle Objekteigenschaften wie Unit etc. erhalten - deswegen war mir das zu viel - das im Flow abzubilden, da man quasi immer überprüfen müsste welche zusätzliche Eigenschaften ein Objekt hat und ich hatte ja nur die Werte übernommen.

            Bei den Räumen und Funktionen musst Du alle Punkte unter enums überprüfen und in den Objektdaten die members anpassen.

            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.

            Dr. BakteriusD 1 Antwort Letzte Antwort
            1
            • Pedder007P Pedder007

              @dr-bakterius @mickym
              Guter Ansatz, aber wenn ich das alles so lese, dann glaube ich, dass ich meine 70-80 DPs wahrscheinlich lieber direkt manuell migriere.
              Ich befürchte, dass ich mich hinterher sonst mehr an den Nachbesserungen aufreiben würde, als wenn ich das direkt händisch mache.
              Auch für die Blocklys ...

              Dass kann dann ja ruhig auch bis Jahresende dauern .. ;-)

              Btw. mal eine Frage zu der sandfarbenen Infobox im Web-Frontend unter Info:
              Da steht: "Das Speichern von Objekten oder Arrays muss immer als String erfolgen und dies wird von js-controller 3.3 überprüft. In vielen Fällen wurde dies beim Speichern oder Lesen von Werten nicht richtig gemacht und dadurch waren die Benutzer verwirrt."

              Also unter 'Objekten' verstehe ich auch Datenpunkte, richtig? Muss ich die dann 'nur' künftig immer als 'String' anlegen, oder gilt das auch für meine bisherigen unter javascript.0/[irgendein 'Ordner(=Kanal)'].
              Weil wenn das so wäre, würde ich die tatsächlich wohl eher noch alle vor dem Update umstellen :thinking_face:

              mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von
              #315

              @pedder007 In meinen Augen mussten Objekte immer schon als String abgespeichert werden. Man hat ein Objekt meist mit stringfy in einen JSON String konvertiert und beim Lesen den String wieder in ein Objekt gewandelt. Das macht der js-controller nur automatisch, sodass man Objekte wohl direkt schreiben kann und diese in einen JSON String gewandelt werden.

              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
              1
              • Pedder007P Pedder007

                @dr-bakterius @mickym
                Guter Ansatz, aber wenn ich das alles so lese, dann glaube ich, dass ich meine 70-80 DPs wahrscheinlich lieber direkt manuell migriere.
                Ich befürchte, dass ich mich hinterher sonst mehr an den Nachbesserungen aufreiben würde, als wenn ich das direkt händisch mache.
                Auch für die Blocklys ...

                Dass kann dann ja ruhig auch bis Jahresende dauern .. ;-)

                Btw. mal eine Frage zu der sandfarbenen Infobox im Web-Frontend unter Info:
                Da steht: "Das Speichern von Objekten oder Arrays muss immer als String erfolgen und dies wird von js-controller 3.3 überprüft. In vielen Fällen wurde dies beim Speichern oder Lesen von Werten nicht richtig gemacht und dadurch waren die Benutzer verwirrt."

                Also unter 'Objekten' verstehe ich auch Datenpunkte, richtig? Muss ich die dann 'nur' künftig immer als 'String' anlegen, oder gilt das auch für meine bisherigen unter javascript.0/[irgendein 'Ordner(=Kanal)'].
                Weil wenn das so wäre, würde ich die tatsächlich wohl eher noch alle vor dem Update umstellen :thinking_face:

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #316

                @pedder007 sagt: "Das Speichern von Objekten oder Arrays muss immer als String erfolgen und dies wird von js-controller 3.3 überprüft.

                Das betrifft nur die Adapter-Entwickler: Objekte / Arrays müssen per JSON.stringify() als Wert in Datenpunkte geschrieben werden. Das war vorher nicht so.
                Der Javascript-Adapter wandelt ab Version 5.2.x automatisch.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                1
                • cashC cash

                  @pedder007 Also 70 oder Datenpunkte kann man spielend manuell migrieren. Ich habe meine ca. 700 Datenpunkte manuell migriert und gleichzeitig die Struktur leicht angepasst. Aufwand würde ich mal sagen ca. 30 Stunden incl Anpassung aller Scripte. Das einzige was mir noch fehlt ist vis das ist derzeit eher nutzlos :-) Aber ich denke das werde ich vielleicht morgen schaffen.

                  Nächstes Wochenende könnte ich dann wohl mal das update machen. Wahrscheinlich werde ich aber noch abwarten.

                  Pedder007P Offline
                  Pedder007P Offline
                  Pedder007
                  schrieb am zuletzt editiert von Pedder007
                  #317

                  @cash wow, das hört sich fix an 😳, allerdings würden sich 30 Stunden bei mir dann über Wochen hinziehen. Deswegen werde ich das wohl eher nach dem Update machen, wenn es geht, nur diese String-Fragestellung hatte mich irritiert.
                  ... und an VIS muss ich dann natürlich auch ran ...

                  @mickym vielleicht habe ich auch irgendwas falsch verstanden, aber ich habe eigene Objekte (= Datenpunkte) auch z. B. als Zahl oder Boolean definiert!? Ist hier mit dem String etwas anderes gemeint?

                  @paul53 ich meinte tatsächlich nur eigene Datenpunkte. Ich bin Lichtjahre davon entfernt irgendeinen Adapter selber entwickeln zu können 😉

                  Pedder
                  All @Proxmox/Bookworm auf HP Elitedesk 800 G4; Zigbee: ZigStar (LAN), ~110Devices
                  Unifi, Motioneye/3Reolinks, PiHole, Bosch 7800i via BBQKees/EMS-ESP, Fronius/BYD 11kWp via Modbus

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • Pedder007P Pedder007

                    @cash wow, das hört sich fix an 😳, allerdings würden sich 30 Stunden bei mir dann über Wochen hinziehen. Deswegen werde ich das wohl eher nach dem Update machen, wenn es geht, nur diese String-Fragestellung hatte mich irritiert.
                    ... und an VIS muss ich dann natürlich auch ran ...

                    @mickym vielleicht habe ich auch irgendwas falsch verstanden, aber ich habe eigene Objekte (= Datenpunkte) auch z. B. als Zahl oder Boolean definiert!? Ist hier mit dem String etwas anderes gemeint?

                    @paul53 ich meinte tatsächlich nur eigene Datenpunkte. Ich bin Lichtjahre davon entfernt irgendeinen Adapter selber entwickeln zu können 😉

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #318

                    @pedder007 Ok dann haben wir uns - oder Du was falsch verstanden.

                    Ein iobroker Objekt ist wieder was anderes als ein iobroker State.

                    Beim javascript Adapter ging es um Javascript Objekte.
                    Von was @paul53 und ich geschrieben habe ist im state ein Javascript Objekt zu speichern. Das musste man eben in einen JSON String umwandeln und das macht der Adapter nun in der Version 3.3 und neuer automatisch.

                    Die States, die Du meinst sind aus Javascript Sicht skalare Werte (also Boolean, Zahl, String) und keine Objekte.

                    Das meinte ich mit Objekten: https://www.w3schools.com/js/js_objects.asp

                    da haben wir aneinander vorbei geredet.

                    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.

                    paul53P 1 Antwort Letzte Antwort
                    1
                    • mickymM mickym

                      @pedder007 Ok dann haben wir uns - oder Du was falsch verstanden.

                      Ein iobroker Objekt ist wieder was anderes als ein iobroker State.

                      Beim javascript Adapter ging es um Javascript Objekte.
                      Von was @paul53 und ich geschrieben habe ist im state ein Javascript Objekt zu speichern. Das musste man eben in einen JSON String umwandeln und das macht der Adapter nun in der Version 3.3 und neuer automatisch.

                      Die States, die Du meinst sind aus Javascript Sicht skalare Werte (also Boolean, Zahl, String) und keine Objekte.

                      Das meinte ich mit Objekten: https://www.w3schools.com/js/js_objects.asp

                      da haben wir aneinander vorbei geredet.

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #319

                      @mickym sagte: Das musste man eben in einen JSON String umwandeln und das macht der Adapter nun in der Version 3.3 und neuer automatisch.

                      Objekte / Arrays musste man früher nicht in ein JSON umwandeln. Das müssen jetzt aber die Adapter-Entwickler tun, weil der js-controller ab Version 3.3 es so erwartet und prüft. Er wandelt allerdings nicht selbst.

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      mickymM 1 Antwort Letzte Antwort
                      1
                      • paul53P paul53

                        @mickym sagte: Das musste man eben in einen JSON String umwandeln und das macht der Adapter nun in der Version 3.3 und neuer automatisch.

                        Objekte / Arrays musste man früher nicht in ein JSON umwandeln. Das müssen jetzt aber die Adapter-Entwickler tun, weil der js-controller ab Version 3.3 es so erwartet und prüft. Er wandelt allerdings nicht selbst.

                        mickymM Online
                        mickymM Online
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #320

                        @paul53 Ok dann hatte ich das falsch verstanden - danke für Richtigstellung bevor ich hier zur Verwirrung beitrage.

                        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.

                        Pedder007P 1 Antwort Letzte Antwort
                        1
                        • mickymM mickym

                          @paul53 Ok dann hatte ich das falsch verstanden - danke für Richtigstellung bevor ich hier zur Verwirrung beitrage.

                          Pedder007P Offline
                          Pedder007P Offline
                          Pedder007
                          schrieb am zuletzt editiert von Pedder007
                          #321

                          @mickym @paul53 danke für Eure schnellen Rückmeldungen, aber irgendwie komme ich noch nicht ganz mit, sorry.
                          Verstanden habe ich jetzt, dass das in erster Linie Adapterentwickler betrifft. Über den Link habe ich verstanden, dass ein Objekt auch aus mehreren DPs bestehen kann, weshalb dann wohl auch von Arrays die Rede ist, soweit ok.
                          Meine Datenpunkte sind also states(=Variablen?) richtig? .. und sind, so wie ich Eure Antworten interpretier, also mit dem Hinweis in der Infobox gar nicht gemeint, richtig?
                          Tut mir leid, aber ich habe das letzte Mal vor wahrscheinlich >25 Jahren selber auf Sourcecode-Ebene (Pascal/Basic) ein wenig programmiert und die Begriffe werden nun evtl. etwas anders genutzt?

                          Pedder
                          All @Proxmox/Bookworm auf HP Elitedesk 800 G4; Zigbee: ZigStar (LAN), ~110Devices
                          Unifi, Motioneye/3Reolinks, PiHole, Bosch 7800i via BBQKees/EMS-ESP, Fronius/BYD 11kWp via Modbus

                          mickymM 1 Antwort Letzte Antwort
                          0
                          • Pedder007P Pedder007

                            @mickym @paul53 danke für Eure schnellen Rückmeldungen, aber irgendwie komme ich noch nicht ganz mit, sorry.
                            Verstanden habe ich jetzt, dass das in erster Linie Adapterentwickler betrifft. Über den Link habe ich verstanden, dass ein Objekt auch aus mehreren DPs bestehen kann, weshalb dann wohl auch von Arrays die Rede ist, soweit ok.
                            Meine Datenpunkte sind also states(=Variablen?) richtig? .. und sind, so wie ich Eure Antworten interpretier, also mit dem Hinweis in der Infobox gar nicht gemeint, richtig?
                            Tut mir leid, aber ich habe das letzte Mal vor wahrscheinlich >25 Jahren selber auf Sourcecode-Ebene (Pascal/Basic) ein wenig programmiert und die Begriffe werden nun evtl. etwas anders genutzt?

                            mickymM Online
                            mickymM Online
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von mickym
                            #322

                            @pedder007 Ja Du kannst Deine Datenpunkte, wenn Du sie manuell anlegst unter userdata - als Zahl, Boolean und was auch immer anlegen.

                            Wenn Du es, wie Du unter geschrieben hast, manuell machst, würde ich es sowie dann lieber mit admin5 machen, da dieser ja bereits eine Typprüfung vornimmt und Dir das vorgibt, was erlaubt ist.

                            Diese Infobox - ist, wie @paul53 geschrieben nur die Adapterentwickler. Wie gesagt wenn Du manuell mit admin5 anlegst, dann prüft dieser ja - was erlaubt ist und was nicht.

                            Bei Zahlen, Strings, Booleans hast eh kein Problem:

                            0ccf58aa-6c54-42d2-a4e3-bfe57c9d8820-image.png

                            Hier siehtst ja was möglich ist.

                            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.

                            Pedder007P 2 Antworten Letzte Antwort
                            1
                            • mickymM mickym

                              @pedder007 Ja Du kannst Deine Datenpunkte, wenn Du sie manuell anlegst unter userdata - als Zahl, Boolean und was auch immer anlegen.

                              Wenn Du es, wie Du unter geschrieben hast, manuell machst, würde ich es sowie dann lieber mit admin5 machen, da dieser ja bereits eine Typprüfung vornimmt und Dir das vorgibt, was erlaubt ist.

                              Diese Infobox - ist, wie @paul53 geschrieben nur die Adapterentwickler. Wie gesagt wenn Du manuell mit admin5 anlegst, dann prüft dieser ja - was erlaubt ist und was nicht.

                              Bei Zahlen, Strings, Booleans hast eh kein Problem:

                              0ccf58aa-6c54-42d2-a4e3-bfe57c9d8820-image.png

                              Hier siehtst ja was möglich ist.

                              Pedder007P Offline
                              Pedder007P Offline
                              Pedder007
                              schrieb am zuletzt editiert von
                              #323

                              @mickym ok super danke 🙏🏻 :+1:
                              Dann also mal das Update planen und danach via neuem Admin die ganzen aktuellen DPs sukzessive migrieren, inkl. Blockly und VIS Anpassungen.
                              Naja, der Herbst/Winter wird ja kommen ... 😉
                              Schönen Abend noch!

                              Pedder
                              All @Proxmox/Bookworm auf HP Elitedesk 800 G4; Zigbee: ZigStar (LAN), ~110Devices
                              Unifi, Motioneye/3Reolinks, PiHole, Bosch 7800i via BBQKees/EMS-ESP, Fronius/BYD 11kWp via Modbus

                              1 Antwort Letzte Antwort
                              0
                              • cashC cash

                                @pedder007 Also 70 oder Datenpunkte kann man spielend manuell migrieren. Ich habe meine ca. 700 Datenpunkte manuell migriert und gleichzeitig die Struktur leicht angepasst. Aufwand würde ich mal sagen ca. 30 Stunden incl Anpassung aller Scripte. Das einzige was mir noch fehlt ist vis das ist derzeit eher nutzlos :-) Aber ich denke das werde ich vielleicht morgen schaffen.

                                Nächstes Wochenende könnte ich dann wohl mal das update machen. Wahrscheinlich werde ich aber noch abwarten.

                                D Offline
                                D Offline
                                darkiop
                                Most Active
                                schrieb am zuletzt editiert von
                                #324

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

                                @pedder007 Also 70 oder Datenpunkte kann man spielend manuell migrieren. Ich habe meine ca. 700 Datenpunkte manuell migriert und gleichzeitig die Struktur leicht angepasst. Aufwand würde ich mal sagen ca. 30 Stunden incl Anpassung aller Scripte. Das einzige was mir noch fehlt ist vis das ist derzeit eher nutzlos :-) Aber ich denke das werde ich vielleicht morgen schaffen.

                                Nächstes Wochenende könnte ich dann wohl mal das update machen. Wahrscheinlich werde ich aber noch abwarten.

                                Ich mache so Massenänderungen immer über Search/Replace direkt in der vis-views.json - Wichtig ist nur, das kein Prozess mehr da währendessen drauf zugreift - also am besten den ioBroker vorher stoppen.

                                Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                                cashC 1 Antwort Letzte Antwort
                                0
                                • mickymM mickym

                                  @dr-bakterius Na ich habs gerade gesehen - wäre wohl eine Kombination aus beiden gut - da die Werte bei dem Export nicht mit übernommen werden - also dann wohl die Kombi aus beiden - zumindest sollten dann Rollen, Units etc übernommen werden.

                                  1. Baum exportieren - Download der JSON Datei

                                  screen.png

                                  1. Mit Texteditor und suchen ersetzen den alten gegen den neuen Pfad ersetzen

                                  2. Dann die Objekte mit der neuen JSON Datei wieder importieren

                                  screen.png

                                  Die Werte damit nicht übernommen, sondern die Objekte, da müsstest Du dann doch mein NodeRed Flow oder ein Blockly etc. drüber laufen lassen. Da aber nur die ID ausgetauscht ist - bleiben alle Objekteigenschaften wie Unit etc. erhalten - deswegen war mir das zu viel - das im Flow abzubilden, da man quasi immer überprüfen müsste welche zusätzliche Eigenschaften ein Objekt hat und ich hatte ja nur die Werte übernommen.

                                  Bei den Räumen und Funktionen musst Du alle Punkte unter enums überprüfen und in den Objektdaten die members anpassen.

                                  Dr. BakteriusD Online
                                  Dr. BakteriusD Online
                                  Dr. Bakterius
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #325

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

                                  ich habs gerade gesehen - wäre wohl eine Kombination aus beiden gut

                                  Wenn du nur nicht dein node-red flow gelöscht hättest... :thinking_face:

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • Dr. BakteriusD Dr. Bakterius

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

                                    ich habs gerade gesehen - wäre wohl eine Kombination aus beiden gut

                                    Wenn du nur nicht dein node-red flow gelöscht hättest... :thinking_face:

                                    mickymM Online
                                    mickymM Online
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von mickym
                                    #326

                                    @dr-bakterius Na gut - habe den Flow (muss halt ggf. die Warnmeldungen ignorieren) nochmal soweit verändert, dass nun auch Rollen und Typ etc. mit übernommen werden, wenn man ihn solo laufen ließ. Er übernimmt auch keine Min Werte, da da noch ein Bug in der Node ist, habe ich aber schon ein Issue aufgemacht. Und werden halt nur states übernommen.

                                    Ich dachte Du hättest den Flow ja noch. ;)

                                    Gut so sieht es jetzt aus:

                                    58748b4a-d83d-4419-84d5-230e81d4899d-image.png

                                    An Quelle und Ziel hat sich nichts geändert man muss halt quelle.0 durch den richtigen Pfad und 0_userdata.0.ziel ebenfalls.

                                    Ansonsten werden mit der function Node nun die Werte aus dem common Objekt gesetzt:

                                    if (msg.common.name !== undefined) msg.stateName = msg.common.name;
                                    if (msg.common.role !== undefined) msg.stateRole = msg.common.role;
                                    if (msg.common.type !== undefined) msg.stateType = msg.common.type;
                                    if (msg.common.unit !== undefined) msg.stateUnit = msg.common.unit;
                                    // if (msg.common.min !== undefined) msg.stateMin = msg.common.min;
                                    if (msg.common.max !== undefined) msg.stateMax = msg.common.max;
                                    return msg;
                                    

                                    HIer nochmal der Flow - aber wie gesagt ohne Garantie - werde da jetzt nichts mehr dran machen!

                                    [
                                       {
                                           "id": "be83eaac.c5ea58",
                                           "type": "inject",
                                           "z": "da12ce6.5c3523",
                                           "name": "",
                                           "props": [
                                               {
                                                   "p": "payload"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "",
                                           "payload": "true",
                                           "payloadType": "bool",
                                           "x": 310,
                                           "y": 200,
                                           "wires": [
                                               [
                                                   "42243161.51f15"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "42243161.51f15",
                                           "type": "ioBroker list",
                                           "z": "da12ce6.5c3523",
                                           "name": "Quelle",
                                           "topic": "quelle.0.*",
                                           "objType": "",
                                           "regex": "",
                                           "asArray": "false",
                                           "onlyIDs": "false",
                                           "withValues": "true",
                                           "x": 450,
                                           "y": 200,
                                           "wires": [
                                               [
                                                   "8f8a1529.424f58"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "8f8a1529.424f58",
                                           "type": "change",
                                           "z": "da12ce6.5c3523",
                                           "name": "Ziel",
                                           "rules": [
                                               {
                                                   "t": "change",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "from": "quelle.0",
                                                   "fromt": "str",
                                                   "to": "0_userdata.0.ziel",
                                                   "tot": "str"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "common",
                                                   "pt": "msg",
                                                   "to": "payload.common",
                                                   "tot": "msg"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "stateReadonly",
                                                   "pt": "msg",
                                                   "to": "$not(payload.common.write)\t",
                                                   "tot": "jsonata"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "payload.val",
                                                   "tot": "msg"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 610,
                                           "y": 200,
                                           "wires": [
                                               [
                                                   "e5bdedf0.19083"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "4eea8557.a14b8c",
                                           "type": "ioBroker out",
                                           "z": "da12ce6.5c3523",
                                           "name": "",
                                           "topic": "",
                                           "ack": "true",
                                           "autoCreate": "true",
                                           "stateName": "",
                                           "role": "",
                                           "payloadType": "",
                                           "readonly": "false",
                                           "stateUnit": "",
                                           "stateMin": "",
                                           "stateMax": "",
                                           "x": 1180,
                                           "y": 200,
                                           "wires": []
                                       },
                                       {
                                           "id": "b561d2ad.bfd1f",
                                           "type": "debug",
                                           "z": "da12ce6.5c3523",
                                           "name": "",
                                           "active": false,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "true",
                                           "targetType": "full",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 1170,
                                           "y": 140,
                                           "wires": []
                                       },
                                       {
                                           "id": "e5bdedf0.19083",
                                           "type": "function",
                                           "z": "da12ce6.5c3523",
                                           "name": "",
                                           "func": "if (msg.common.name !== undefined) msg.stateName = msg.common.name;\nif (msg.common.role !== undefined) msg.stateRole = msg.common.role;\nif (msg.common.type !== undefined) msg.stateType = msg.common.type;\nif (msg.common.unit !== undefined) msg.stateUnit = msg.common.unit;\n// if (msg.common.min !== undefined) msg.stateMin = msg.common.min;\nif (msg.common.max !== undefined) msg.stateMax = msg.common.max;\nreturn msg;",
                                           "outputs": 1,
                                           "noerr": 0,
                                           "initialize": "",
                                           "finalize": "",
                                           "libs": [],
                                           "x": 760,
                                           "y": 200,
                                           "wires": [
                                               [
                                                   "672bafba.c28dc"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "672bafba.c28dc",
                                           "type": "change",
                                           "z": "da12ce6.5c3523",
                                           "name": "",
                                           "rules": [
                                               {
                                                   "t": "delete",
                                                   "p": "common",
                                                   "pt": "msg"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 960,
                                           "y": 200,
                                           "wires": [
                                               [
                                                   "4eea8557.a14b8c",
                                                   "b561d2ad.bfd1f"
                                               ]
                                           ]
                                       }
                                    ]
                                    

                                    Wenn man die Verbindung zur IoB write value Node unterbricht und den DebugNode aktiviert - hat man quasi ein Trockenlauf indem nichts geschrieben wird, aber man sieht welche States geschrieben werden.

                                    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
                                    1
                                    • D darkiop

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

                                      @pedder007 Also 70 oder Datenpunkte kann man spielend manuell migrieren. Ich habe meine ca. 700 Datenpunkte manuell migriert und gleichzeitig die Struktur leicht angepasst. Aufwand würde ich mal sagen ca. 30 Stunden incl Anpassung aller Scripte. Das einzige was mir noch fehlt ist vis das ist derzeit eher nutzlos :-) Aber ich denke das werde ich vielleicht morgen schaffen.

                                      Nächstes Wochenende könnte ich dann wohl mal das update machen. Wahrscheinlich werde ich aber noch abwarten.

                                      Ich mache so Massenänderungen immer über Search/Replace direkt in der vis-views.json - Wichtig ist nur, das kein Prozess mehr da währendessen drauf zugreift - also am besten den ioBroker vorher stoppen.

                                      cashC Offline
                                      cashC Offline
                                      cash
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #327

                                      @darkiop das funktioniert bei mir nicht, da ich die Gelegenheit genutzt habe und teilweise eine neue Struktur angelegt habe. Bin mittlerweile aber auch soweit durch. Alle normalen Ansichten habe ich aktualisiert. Nur die Einstellungsseiten fehlen noch. Aber die sind nicht so wichtig, da man die eh nur sehr selten ändern muss…

                                      1 Antwort Letzte Antwort
                                      1
                                      • mickymM mickym

                                        @pedder007 Ja Du kannst Deine Datenpunkte, wenn Du sie manuell anlegst unter userdata - als Zahl, Boolean und was auch immer anlegen.

                                        Wenn Du es, wie Du unter geschrieben hast, manuell machst, würde ich es sowie dann lieber mit admin5 machen, da dieser ja bereits eine Typprüfung vornimmt und Dir das vorgibt, was erlaubt ist.

                                        Diese Infobox - ist, wie @paul53 geschrieben nur die Adapterentwickler. Wie gesagt wenn Du manuell mit admin5 anlegst, dann prüft dieser ja - was erlaubt ist und was nicht.

                                        Bei Zahlen, Strings, Booleans hast eh kein Problem:

                                        0ccf58aa-6c54-42d2-a4e3-bfe57c9d8820-image.png

                                        Hier siehtst ja was möglich ist.

                                        Pedder007P Offline
                                        Pedder007P Offline
                                        Pedder007
                                        schrieb am zuletzt editiert von
                                        #328

                                        @mickym ich nochmal ... ;-)

                                        Nachdem die ganze Updaterei nun bei mir auch super durchgelaufen ist, mal noch zwei Fragen zu den Datenpunkten, welche mir durch den Kopf gingen, als ich nun gestern Abend die ersten DPs nach userdata verschoben habe:

                                        1. Wo werden die DPs via backitup eigentlich gesichert, oder evtl. gar nicht? Weil dann würde ich dazu nämlich einen Request aufmachen.
                                        2. Ich habe bei mir unter javascript auch die Datenpunkt zum Astro Script liegen. Die wurden bei der Implementierung automatisch angelegt, wenn ich mich da richtig erinnere. Die wären dann ja genauso 'gefährdet' wie die eigenen DPs!? - da würde ich dann nämlich mal den Entwickler drauf aufmerksam machen ...

                                        Pedder
                                        All @Proxmox/Bookworm auf HP Elitedesk 800 G4; Zigbee: ZigStar (LAN), ~110Devices
                                        Unifi, Motioneye/3Reolinks, PiHole, Bosch 7800i via BBQKees/EMS-ESP, Fronius/BYD 11kWp via Modbus

                                        paul53P mickymM 2 Antworten Letzte Antwort
                                        0
                                        • Pedder007P Pedder007

                                          @mickym ich nochmal ... ;-)

                                          Nachdem die ganze Updaterei nun bei mir auch super durchgelaufen ist, mal noch zwei Fragen zu den Datenpunkten, welche mir durch den Kopf gingen, als ich nun gestern Abend die ersten DPs nach userdata verschoben habe:

                                          1. Wo werden die DPs via backitup eigentlich gesichert, oder evtl. gar nicht? Weil dann würde ich dazu nämlich einen Request aufmachen.
                                          2. Ich habe bei mir unter javascript auch die Datenpunkt zum Astro Script liegen. Die wurden bei der Implementierung automatisch angelegt, wenn ich mich da richtig erinnere. Die wären dann ja genauso 'gefährdet' wie die eigenen DPs!? - da würde ich dann nämlich mal den Entwickler drauf aufmerksam machen ...
                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von
                                          #329

                                          @pedder007 sagte: Die wären dann ja genauso 'gefährdet' wie die eigenen DPs!?

                                          Datenpunkte unter "javascript.N" sind nicht gefährdet.

                                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                          Pedder007P 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

                                          826

                                          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