Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. DPs verschieben und Skript (Blocklys) anpassen?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    DPs verschieben und Skript (Blocklys) anpassen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      Dieter_P last edited by Dieter_P

      Hi

      bemerke gerade, dass es nun eine Info Meldung im Log gibt, zu meinen Skripten, die ich am Anfang mal fälschlicherweise in anderen Ordnern als dem User-Ordner angelegt hab:

      script.js.PV.PVZaehler: Own states (javascript.0.scriptEnabled.PV.PVTagEinAktuell) should not be used in javascript.X.scriptEnabled.*! Please move the states to 0_userdata.0.*
      

      Nun ist es natürlich mal Zeit aktiv zu werden, aber kann ich die Skripte einfach verschieben/kopieren oder was passiert mit den sich ändernden Adressen, da sie dann in Ordnern in 0_userdata.0.* liegen. Werden diese automatisch angepasst?

      Thx!

      Homoran paul53 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Dieter_P last edited by

        @dieter_p sagte in Skripte verschieben?:

        dass es nun eine Info Meldung im Log gibt, zu meinen Skripten,

        nicht zu den Skripten selbst, sondern zu Datenpunkten, die du in deinem Skript ansprichst.

        Da gibt es bereits einige Threads zu.

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

          @dieter_p sagte: Werden diese automatisch angepasst?

          Automatisch wird nichts angepasst. Suche in den Skripten nach "scriptEnabled", denn unter "javascript.0.scriptEnabled" haben eigene Datenpunkte nichts zu suchen.
          Wie sieht das Skript "PV.PVZaehler" aus?

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

            Hi
            dass die DPs da nix zu suchen haben ist mir klar, daher die Frage da ich leider etliche davon hab.

            Daher die Frage wie es prinzipiell etwas geschickter funktionieren kann?

            Nehme ich zB den DP:

            javascript.0.scriptEnabled.Gefrierschrank.Sollwert
            

            und erstelle ihn dort wo er hingehört:

            0_userdata.0.Gefrierschrank.Sollwert
            

            Gibt es dazu eine Funktion die ich nutzen kann? Reicht es möglicherweise die ID in den Objektdaten anzupassen?

            Desweiteren sind die DPs natürlich genutzt und verlinkt.
            Gibt es dazu eine Funktion wie "suchen und ersetzen" für alle Skripte/Blocklys?

            Danke

            Homoran F 2 Replies Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Dieter_P last edited by

              @dieter_p was sind das für DPs?


              suchen über alle Skripte geht ganz einfach über die Lupe im Skripteditor

              D 1 Reply Last reply Reply Quote 0
              • D
                Dieter_P @Homoran last edited by Dieter_P

                @homoran said in Skripte verschieben?:

                @dieter_p was sind das für DPs?

                Was meinst Du damit? Das sind alles von mir manuell angelegte DPs. Unwissend an falscher Stelle aber Thematisch zum entsprechenden Skript/Blockly. Hier als Beispiel der Ordner Gefrierschrank. Dazu gibt es den Sollwert, den ich dort von einer VIS Eingabe hinterlege aber auch digitale Switche um mir "Merker" für diverse Zustände zu setzen. In anderen Ordnern zB "Beleuchtung-Garten" oder "Rolladensteuerung" sieht das alles ähnlich aus. Ich muß nun die DPs verschieben und gucken, dass die Bezüge der Blocklys wieder passen.
                Um die DPs zu verschieben, die Frage, ob ich "einfach" die ID anpassen kann und der DP liegt dann im "richtigen Ordner".

                Danke die Verlinkung der Blocklys muß ich dann mit der Lupe finden und entsprechend nachziehen/anpassen.


                suchen über alle Skripte geht ganz einfach über die Lupe im Skripteditor

                Homoran 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @Dieter_P last edited by

                  @dieter_p sagte in Skripte verschieben?:

                  ob ich "einfach" die ID anpassen kann und der DP liegt dann im "richtigen Ordner".

                  nein!

                  es gibt kein verschieben.

                  1 Reply Last reply Reply Quote 0
                  • F
                    fastfoot @Dieter_P last edited by

                    @dieter_p du kannst so vorgehen

                    • alles unter javascript.0.scriptEnabled in eine Textdatei exportieren

                    • in einem Texteditor javascript.0.scriptEnabled durch 0_userdata.0 ersetzen lassen

                    • die geänderte Textdatei importieren, alle DP sind jetzt kopiert, nicht verschoben

                    • jetzt nacheinander die Skripte auf die neuen DP anpassen, so wie Zeit und Lust ist

                    • es gibt hier irgendwo ein Skript von mir das einen DP sucht und in allen Skripten durch einen neuen ersetzt, auch in Blocklies. Das könnte dir ne Menge Zeit sparen, ich empfehle jedoch Backups deiner Skripte parat zu haben. Für mehr Hilfe hierzu habe ich leider weder Zeit noch Nerv, aber das sollte schon viel helfen. Evtl kann auch @liv-in-sky etwas beitragen

                    paul53 liv-in-sky 2 Replies Last reply Reply Quote 0
                    • paul53
                      paul53 @fastfoot last edited by paul53

                      @fastfoot sagte: in einem Texteditor javascript.0.scriptEnabled durch 0_userdata.0 ersetzen lassen

                      ... und anschließend scriptEnabled durch 0_userdata.0, denn es kann auch die verkürzte ID bei setState(), getState() und creatState() verwendet worden sein.

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

                        @paul53 guter Punkt!

                        1 Reply Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky @fastfoot last edited by

                          @fastfoot sagte in Skripte verschieben?:

                          @dieter_p du kannst so vorgehen

                          • alles unter javascript.0.scriptEnabled in eine Textdatei exportieren

                          • in einem Texteditor javascript.0.scriptEnabled durch 0_userdata.0 ersetzen lassen

                          • die geänderte Textdatei importieren, alle DP sind jetzt kopiert, nicht verschoben

                          • jetzt nacheinander die Skripte auf die neuen DP anpassen, so wie Zeit und Lust ist

                          • es gibt hier irgendwo ein Skript von mir das einen DP sucht und in allen Skripten durch einen neuen ersetzt, auch in Blocklies. Das könnte dir ne Menge Zeit sparen, ich empfehle jedoch Backups deiner Skripte parat zu haben. Für mehr Hilfe hierzu habe ich leider weder Zeit noch Nerv, aber das sollte schon viel helfen. Evtl kann auch @liv-in-sky etwas beitragen

                          @dieter_p
                          ist schon lange her - hier eine übersicht https://forum.iobroker.net/post/667586
                          dabei gibt es einiges zu bedenken und benötigt definitiv ein full backup des iobrokers

                          D 1 Reply Last reply Reply Quote 1
                          • D
                            Dieter_P @liv-in-sky last edited by Dieter_P

                            Thx
                            Um sicher zu gehen. Ihr sagt das grundsätzlich alles aus javascript.0.script.enabled exportieren und darin suchen und ersetzen.

                            Was ist mit den Switchen für die Blocklys/Skripte? Die Adresse würde ich damit "zerschießen".

                            Hier zB habe ich nur die beiden Punkte Sollwert und Notprogramm selbst angelegt. Die anderen 3 DPs/Switche sind automatisch durchs Blockly/System erzeugt worden. Die müssen doch unangetastet bleiben, oder?

                            5a5646e5-4cd8-40a2-86e5-d19452cf50e7-grafik.png

                            Als Beispiel:

                            Den ersten DP würde ich nicht anpassen und den zweiten manuell erzeugten wohl:

                            {
                              "javascript.0.scriptEnabled.Zigbee.UpToDate": {
                                "_id": "javascript.0.scriptEnabled.Zigbee.UpToDate",
                                "common": {
                                  "name": "scriptEnabled.Zigbee.UpToDate",
                                  "desc": "controls script activity",
                                  "type": "boolean",
                                  "write": true,
                                  "read": true,
                                  "role": "switch.active"
                                },
                                "native": {
                                  "script": "script.js.Zigbee.UpToDate"
                                },
                                "type": "state",
                                "from": "system.adapter.javascript.0",
                                "user": "system.user.admin",
                                "ts": 1619691355088,
                                "acl": {
                                  "object": 1636,
                                  "state": 1636,
                                  "owner": "system.user.admin",
                                  "ownerGroup": "system.group.administrator"
                                }
                              },
                              "javascript.0.scriptEnabled.Zigbee.UpToDateFlurBewegM": {
                                "_id": "javascript.0.scriptEnabled.Zigbee.UpToDateFlurBewegM",
                                "type": "state",
                                "common": {
                                  "name": "UpToDateFlurBewegM",
                                  "role": "",
                                  "type": "boolean",
                                  "read": true,
                                  "write": true,
                                  "desc": "Manuell erzeugt",
                                  "def": false
                                },
                                "native": {},
                                "from": "system.adapter.admin.0",
                                "user": "system.user.admin",
                                "ts": 1619765927379,
                                "acl": {
                                  "object": 1636,
                                  "state": 1636,
                                  "owner": "system.user.admin",
                                  "ownerGroup": "system.group.administrator"
                                }
                              },
                            
                            D 1 Reply Last reply Reply Quote 0
                            • D
                              Dieter_P @Dieter_P last edited by Dieter_P

                              Nach einem Versuch scheint das ein gangbarer Weg und funktioniert soweit.

                              Einzig die Verlinkung zu den DPs auf VIS fehlt mir noch und sehe ich aktuell nur 100% manuell lösbar, oder?

                              Edit: Ach wie schön am Abend reinzugucken und wieder ein Log von 156kB und nicht MB zu sehen 🙂

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              841
                              Online

                              32.0k
                              Users

                              80.4k
                              Topics

                              1.3m
                              Posts

                              5
                              13
                              354
                              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