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.
    • 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

                            734
                            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