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. Skripten / Logik
  4. Datenpunkt zu anderer Instanz verschieben möglich?

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    309

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

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

Datenpunkt zu anderer Instanz verschieben möglich?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
33 Beiträge 9 Kommentatoren 4.2k Aufrufe 2 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.
  • dslraserD Offline
    dslraserD Offline
    dslraser
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #17

    @pandel:

    vordiestirnklopp das ist so simpel, dass ich danach nie gesucht hätte. :shock: :oops: Besten Dank!

    Und er legt die dann automatisch unterhalb der Instanz des javascript-Adapters an, unterhalb der sich das Skript befindet? ` im Feld Name legst Du den Speicherort fest…

    1 Antwort Letzte Antwort
    0
    • dslraserD Offline
      dslraserD Offline
      dslraser
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #18

      Importiere mal das Blockly und lasse es wie es ist. Dann probiere es einfach aus und schau Dir den erstellten Datenpunkt an (kannst ja anschließend den Datenpunkt wieder löschen), aber dann siehst Du wie es funktioniert.

      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        pandel
        schrieb am zuletzt editiert von
        #19

        Ihr habt recht :oops: - werde ich heute Abend mal ausprobieren!

        1 Antwort Letzte Antwort
        0
        • padrinoP Offline
          padrinoP Offline
          padrino
          Most Active
          schrieb am zuletzt editiert von
          #20

          @dslraser:

          Importiere mal das Blockly und lasse es wie es ist. Dann probiere es einfach aus und schau Dir den erstellten Datenpunkt an (kannst ja anschließend den Datenpunkt wieder löschen), aber dann siehst Du wie es funktioniert. `

          Ah ja, die Magie steckt im "hier ist JS drin" ;)

          Kann man denn Datenpunkte auch eine Ebene höher anlegen?

          Das Sctipt baut sich ja seine Struktur in javascript.0.

          Habe meinenen eigenen "Baum" auf der gleichen Ebene, würde gerne dort (zustaende.0) anlegen.

          Sehe ich code leider nirgends den Hinweis auf javascript.0, denke daher das anlegen geschieht "relativ"?

          CU,

          padrino

          1 Antwort Letzte Antwort
          0
          • dslraserD Offline
            dslraserD Offline
            dslraser
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #21

            @padrino:

            @dslraser:

            Importiere mal das Blockly und lasse es wie es ist. Dann probiere es einfach aus und schau Dir den erstellten Datenpunkt an (kannst ja anschließend den Datenpunkt wieder löschen), aber dann siehst Du wie es funktioniert. `

            Ah ja, die Magie steckt im "hier ist JS drin" ;)

            Kann man denn Datenpunkte auch eine Ebene höher anlegen?

            Das Sctipt baut sich ja seine Struktur in javascript.0.

            Habe meinenen eigenen "Baum" auf der gleichen Ebene, würde gerne dort (zustaende.0) anlegen.

            Sehe ich code leider nirgends den Hinweis auf javascript.0, denke daher das anlegen geschieht "relativ"?

            CU,

            padrino `

            Ich verstehe nicht so ganz was Du meinst ? Wie soll denn der komplette Pfad aussehen ? Die Datenpunkte sind dann unter javascript.0

            Ich habe bei mir so angefangen….

            Im Blockly unter Name steht der Pfad. Die Punkte dazwischen bestimmen die Struktur.
            3822_bildschirmfoto_2019-01-09_um_22.26.55.png
            3822_bildschirmfoto_2019-01-09_um_22.27.35.png

            1 Antwort Letzte Antwort
            0
            • padrinoP Offline
              padrinoP Offline
              padrino
              Most Active
              schrieb am zuletzt editiert von
              #22

              Ich würde gerne da rein… ;)

              8705_zustand.png

              1 Antwort Letzte Antwort
              0
              • dslraserD Offline
                dslraserD Offline
                dslraser
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #23

                hm, sorry….da weiß ich nicht wie und ob das geht

                1 Antwort Letzte Antwort
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #24

                  @padrino:

                  Ich würde gerne da rein…

                  In Javascript funktiert es so:

                  const id = 'zustaende.0.geraet1.kanal1.dp_13';
                  
                  const obj = {
                    "type": "state",
                    "common": {
                      "name": "Datenpunkt 1.3",
                      "role": "switch",
                      "type": "boolean",
                      "read": true,
                      "write": true,
                      "desc": "per Javascript erzeugt",
                      "def": false
                    },
                  };
                  
                  setObject(id, obj, function() {
                      setState(id, obj.common.def, true); // Initialisierung
                  });
                  

                  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
                  0
                  • dslraserD Offline
                    dslraserD Offline
                    dslraser
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #25

                    @paul53:

                    @padrino:

                    Ich würde gerne da rein… `
                    In Javascript funktiert es so:

                    const id = 'zustaende.0.geraet1.kanal1.dp_13';
                    
                    const obj = {
                      "type": "state",
                      "common": {
                        "name": "Datenpunkt 1.3",
                        "role": "switch",
                        "type": "boolean",
                        "read": true,
                        "write": true,
                        "desc": "per Javascript erzeugt",
                        "def": false
                      },
                    };
                    
                    setObject(id, obj, function() {
                        setState(id, obj.common.def, true); // Initialisierung
                    });
                    
                    ```` `  
                    

                    Hallo paul53,

                    verstehe ich das richtig das dann der Datenpunkt schon vorhanden sein muss und dann dorthin verschoben wird, oder wird der mit dem Script angelegt ?

                    1 Antwort Letzte Antwort
                    0
                    • paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #26

                      @dslraser:

                      oder wird der mit dem Script angelegt ?

                      Ja, wenn nicht vorhanden.

                      Man kann auch Objekte per Skript kopieren (Dst wird erzeugt, wenn nicht vorhanden).

                      const idSrc = "Messwerte.0.Solaranlage.Momentanwerte.Leistung_DC_aktuell";
                      const idDst = "datenpunkte.0.Messwerte.Solaranlage.Momentanwerte.Leistung";
                      
                      function copyObject() {
                          var obj = getObject(idSrc);
                          setObject(idDst, obj, function() {
                              if(obj.type === 'state') {
                                  var init = null;
                                  if(obj.common.def == undefined) {
                                      if(obj.common.type === 'number') init = 0;
                                      if(obj.common.type === 'boolean') init = false;
                                      if(obj.common.type === 'string') init = '';
                                  } else init = obj.common.def;
                                  setState(idDst, init, true); 
                              }
                          });
                      }
                      
                      copyObject();
                      

                      Habe ich gerade getestet.

                      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
                      0
                      • dslraserD Offline
                        dslraserD Offline
                        dslraser
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #27

                        @paul53:

                        @padrino:

                        Ich würde gerne da rein… `
                        In Javascript funktiert es so:

                        const id = 'zustaende.0.geraet1.kanal1.dp_13';
                        
                        const obj = {
                          "type": "state",
                          "common": {
                            "name": "Datenpunkt 1.3",
                            "role": "switch",
                            "type": "boolean",
                            "read": true,
                            "write": true,
                            "desc": "per Javascript erzeugt",
                            "def": false
                          },
                        };
                        
                        setObject(id, obj, function() {
                            setState(id, obj.common.def, true); // Initialisierung
                        });
                        
                        ```` `  
                        

                        Hallo Paul53,

                        erstmal danke für Deine Beispiele.

                        Ich habe es heute mal probiert und es funktioniert prima. Wie und ob man das in Blockly verwursten könnte, da fehlt mir leider die Idee. Es wäre schön wenn man immer in einer Form bleiben könnte, dann kann man alles in einem Blockly oder eben in einem Javascript aufbauen.

                        Jetzt noch eine Frage zum Script.

                        Die erstellten Datenpunkte lassen sich nicht in den iot Adapter einfügen. Das geht nur wenn ich das hier

                        "desc": "per Javascript erzeugt",

                        auskommentiere oder lösche. Wofür ist der Punkt wichtig ?

                        1 Antwort Letzte Antwort
                        0
                        • paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #28

                          @dslraser:

                          "desc": "per Javascript erzeugt",

                          auskommentiere oder lösche. Wofür ist der Punkt wichtig ?

                          common.desc (Beschreibung) ist nicht wichtig.

                          @dslraser:

                          Wie und ob man das in Blockly verwursten könnte,

                          Es hat einen berechtigten Grund, dass setObject() nicht in Blockly verfügbar ist, denn damit kann man schnell viel kaputt machen.

                          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
                          0
                          • padrinoP Offline
                            padrinoP Offline
                            padrino
                            Most Active
                            schrieb am zuletzt editiert von
                            #29

                            @dslraser

                            Kannst Du mir sagen, wieso man in Deinem Blockly den Wert für type nicht (z.B. auf number) ändern kann?

                            Das Skript endet dann mit einem "wrong type error" und legt nichts an.

                            CU,

                            padrino

                            1 Antwort Letzte Antwort
                            0
                            • iomountainI Offline
                              iomountainI Offline
                              iomountain
                              schrieb am zuletzt editiert von
                              #30

                              @pandel:

                              Bei den zugehörigen Blocklies ist das ja kein Problem. Skripte exportieren, Suchen&Ersetzen, Skripte wieder importieren fertig. Habe ich schon für anderes gemacht und geht. Nur bei den Datenpunkten bin ich mir eben nicht sicher… `

                              Hallo Holger

                              unter Objekte deinen obersten Datenpunkt/Knoten auswählen, als JSON Datei downloaden, im Texteditor öffnen und dann wie du schon gesagt hast: Suchen&Ersetzen, JSON Datei wieder importieren fertig

                              Grüße

                              1 Antwort Letzte Antwort
                              0
                              • dslraserD Offline
                                dslraserD Offline
                                dslraser
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #31

                                @padrino:

                                @dslraser

                                Kannst Du mir sagen, wieso man in Deinem Blockly den Wert für type nicht (z.B. auf number) ändern kann?

                                Das Skript endet dann mit einem "wrong type error" und legt nichts an.

                                CU,

                                padrino `

                                Dann lösche den Datenpunkt und nehme das hier oder ändere es Dir so ab wie Du es brauchst. Das hier geht z.B. für Number

                                ! ````
                                <xml xmlns="http://www.w3.org/1999/xhtml"><block type="procedures_defcustomnoreturn" id="ORmhM@AO~Vbt~j|cDEnt" x="-188" y="63"><mutation statements="false"><arg name="ID"></arg>
                                <arg name="Name"></arg>
                                <arg name="Einheit"></arg>
                                <arg name="Min"></arg>
                                <arg name="Max"></arg></mutation>
                                <field name="NAME">newNumberDP</field>
                                <field name="SCRIPT">Y3JlYXRlU3RhdGUoSUQsIHsKICAgIHR5cGU6ICdudW1iZXInLAogICAgbmFtZTogTmFtZSwKICAgIHVuaXQ6IEVpbmhlaXQsCiAgICBtaW46IE1pbiwKICAgIG1heDogTWF4Cn0pOw==</field>
                                <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment></block>
                                <block type="procedures_callcustomnoreturn" id="id:rx-b:Kgpji.O_Wp?*" x="-187" y="137"><mutation name="newNumberDP"><arg name="ID"></arg>
                                <arg name="Name"></arg>
                                <arg name="Einheit"></arg>
                                <arg name="Min"></arg>
                                <arg name="Max"></arg></mutation>
                                <value name="ARG0"><block type="text" id="+t4:h)4W#f_wYxYh9+6Q"><field name="TEXT">Eigene_Datenpunkte.OrdnerXX.DatenpunktYYZ</field></block></value>
                                <value name="ARG1"><block type="text" id="f[rkb0.G[*H9[vT:#n!/"><field name="TEXT">Test2</field></block></value>
                                <value name="ARG2"><block type="text" id="Cx3/BP4N],HF;V[o,btx"><field name="TEXT">°C</field></block></value>
                                <value name="ARG3"><block type="text" id="]/9o}32pEVp@:I+pgfCE"><field name="TEXT">-100</field></block></value>
                                <value name="ARG4"><block type="text" id="l%Zg[G8@hkN{5/CH{Sfm"><field name="TEXT">100</field></block></value></block></xml>

                                
                                Das ist der Inhalt vom Blockly:
                                 ![3822_bildschirmfoto_2019-02-02_um_17.47.51.png](/assets/uploads/files/3822_bildschirmfoto_2019-02-02_um_17.47.51.png) 
                                 ![3822_bildschirmfoto_2019-02-02_um_17.48.02.png](/assets/uploads/files/3822_bildschirmfoto_2019-02-02_um_17.48.02.png) 
                                 ![3822_bildschirmfoto_2019-02-02_um_17.50.57.png](/assets/uploads/files/3822_bildschirmfoto_2019-02-02_um_17.50.57.png) 
                                 ![3822_bildschirmfoto_2019-02-02_um_17.51.20.png](/assets/uploads/files/3822_bildschirmfoto_2019-02-02_um_17.51.20.png) 
                                1 Antwort Letzte Antwort
                                0
                                • P Offline
                                  P Offline
                                  pandel
                                  schrieb am zuletzt editiert von
                                  #32

                                  @iomountain:

                                  @pandel:

                                  Bei den zugehörigen Blocklies ist das ja kein Problem. Skripte exportieren, Suchen&Ersetzen, Skripte wieder importieren fertig. Habe ich schon für anderes gemacht und geht. Nur bei den Datenpunkten bin ich mir eben nicht sicher… `

                                  Hallo Holger

                                  unter Objekte deinen obersten Datenpunkt/Knoten auswählen, als JSON Datei downloaden, im Texteditor öffnen und dann wie du schon gesagt hast: Suchen&Ersetzen, JSON Datei wieder importieren fertig

                                  Grüße `

                                  Danke! Dann werde ich mich das beim nächsten Mal mal trauen :mrgreen: ;)

                                  1 Antwort Letzte Antwort
                                  0
                                  • C Offline
                                    C Offline
                                    cadmando
                                    schrieb am zuletzt editiert von
                                    #33

                                    Ich häng mich hier mal dran, da ich das ausprobieren wollte bzw. habe.

                                    Dabei ist mir aufgefallen das die Werte für "ts", "object" und "state" übernommen werden.

                                    D.H. bei mir habe ich jetzt mehrere Objekte bei denen diese Werte gleich sind.

                                    Macht das nichts? Ist das so okay, oder fällt mir das irgendwann auf die Füße?

                                    Danke und Gruß

                                    Dietmar

                                    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

                                    596

                                    Online

                                    32.5k

                                    Benutzer

                                    81.7k

                                    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