Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Datenpunkt erzeugen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    702

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    5.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Datenpunkt erzeugen

Scheduled Pinned Locked Moved Blockly
blockly
43 Posts 10 Posters 15.6k Views 14 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ? A Former User

    @ahnungsbefreit sry ich meine unter Common. Soll das bedeuten daß die Funktionen die darin stehen erst ausgeführt werden nachdem der Datenpunkt erstellt wurde?

    A Online
    A Online
    Ahnungsbefreit
    wrote on last edited by
    #26

    @kilian-z Das sind keine Funktionen, sondern Eigenschaften des Datenpunkts wie z.B. der Typ (number/boolean/string/...) oder für number die Einheit (%/°C/...). Damit kannst Du beim Anlegen das Verhalten des DPs definieren

    Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

    1 Reply Last reply
    0
    • ? A Former User

      @ahnungsbefreit sagte in Datenpunkt erzeugen:

      @dom-sch Ja:
      cdbaa6d3-59f4-4220-b103-477cf2c2665b-image.png

      Hallo, danke für deinen Post. Hat mir geholfen. Ich habe noch eine Frage zu dem Common Feld. Was kann man da einschreiben?
      Gibt es im Blockly eine Möglichkeit vor dem erstellen abzufragen ob der Datenpunkt schon vorhanden ist?

      A Online
      A Online
      Ahnungsbefreit
      wrote on last edited by
      #27

      @kilian-z said in Datenpunkt erzeugen:

      Gibt es im Blockly eine Möglichkeit vor dem erstellen abzufragen ob der Datenpunkt schon vorhanden ist?

      Das ist nicht nötig. Wenn der DP schon existiert, passiert einfach nix. Wenn Du aber die Info trotzdem brauchst, ob der DP existiert, könnte man das über eine Javascript Funktion realisieren.

      Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

      ? 1 Reply Last reply
      0
      • A Ahnungsbefreit

        @kilian-z said in Datenpunkt erzeugen:

        Gibt es im Blockly eine Möglichkeit vor dem erstellen abzufragen ob der Datenpunkt schon vorhanden ist?

        Das ist nicht nötig. Wenn der DP schon existiert, passiert einfach nix. Wenn Du aber die Info trotzdem brauchst, ob der DP existiert, könnte man das über eine Javascript Funktion realisieren.

        ? Offline
        ? Offline
        A Former User
        wrote on last edited by
        #28

        @ahnungsbefreit
        Vielen Dank. Hat alles funktioniert. 👍

        A 1 Reply Last reply
        0
        • ? A Former User

          @ahnungsbefreit
          Vielen Dank. Hat alles funktioniert. 👍

          A Online
          A Online
          Ahnungsbefreit
          wrote on last edited by
          #29

          @kilian-z Der Vollständigkeit halber: Mit diesem Einzeiler kann man die Überprüfung machen, ob ein DP existiert:

          dc28478f-d2d7-4763-8fa5-18453c0c6e1d-image.png

          return existsObject(id);
          

          Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

          B 1 Reply Last reply
          0
          • A Ahnungsbefreit

            @kilian-z Der Vollständigkeit halber: Mit diesem Einzeiler kann man die Überprüfung machen, ob ein DP existiert:

            dc28478f-d2d7-4763-8fa5-18453c0c6e1d-image.png

            return existsObject(id);
            
            B Offline
            B Offline
            Bavarian
            wrote on last edited by
            #30

            Kann man die Objekt ID auch mit einer Variablen angeben?
            So wie ich das im Blockly sehe ist die per Hand fest zu vergeben.

            Ich möchte zB. einen DP anlegen für den jeweils aktuellen Monat.
            Dazu sollte der DP dann idealerweise auch den Monatsnamen bekommen.
            Beispiel:
            0_userdata.0."aktuelles Jahr"."Monat"

            paul53P 1 Reply Last reply
            0
            • B Bavarian

              Kann man die Objekt ID auch mit einer Variablen angeben?
              So wie ich das im Blockly sehe ist die per Hand fest zu vergeben.

              Ich möchte zB. einen DP anlegen für den jeweils aktuellen Monat.
              Dazu sollte der DP dann idealerweise auch den Monatsnamen bekommen.
              Beispiel:
              0_userdata.0."aktuelles Jahr"."Monat"

              paul53P Offline
              paul53P Offline
              paul53
              wrote on last edited by paul53
              #31

              @bavarian sagte: Kann man die Objekt ID auch mit einer Variablen angeben?

              Wobei?

              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

              B 1 Reply Last reply
              0
              • paul53P paul53

                @bavarian sagte: Kann man die Objekt ID auch mit einer Variablen angeben?

                Wobei?

                B Offline
                B Offline
                Bavarian
                wrote on last edited by
                #32

                @paul53
                Bei dem oben gezeigten Blockly Datenpunktbaustein.
                1628057033255-241964fa-4fe1-4776-9780-7f4846b30103-image.png

                paul53P 1 Reply Last reply
                0
                • B Bavarian

                  @paul53
                  Bei dem oben gezeigten Blockly Datenpunktbaustein.
                  1628057033255-241964fa-4fe1-4776-9780-7f4846b30103-image.png

                  paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by
                  #33

                  @bavarian sagte: Bei dem oben gezeigten Blockly Datenpunktbaustein.

                  Nein, man benötigt eine Javascript-Funktion.

                  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

                  AtifanA 1 Reply Last reply
                  0
                  • paul53P paul53

                    @bavarian sagte: Bei dem oben gezeigten Blockly Datenpunktbaustein.

                    Nein, man benötigt eine Javascript-Funktion.

                    AtifanA Offline
                    AtifanA Offline
                    Atifan
                    wrote on last edited by
                    #34

                    Hallo, hänge mich hier mal dran. Möchte auch einen Datenpunkt unter "mqtt" erzeugen. Das Blockly funktioniert zwar, aber der Datenpunkt wird unter "javascript.0...." erzeugt und nicht unter "mqtt.0....."
                    Geht das nicht?

                    2b21b908-3c41-4209-8afe-4e0fee8c4668-image.png

                    A paul53P 2 Replies Last reply
                    0
                    • AtifanA Atifan

                      Hallo, hänge mich hier mal dran. Möchte auch einen Datenpunkt unter "mqtt" erzeugen. Das Blockly funktioniert zwar, aber der Datenpunkt wird unter "javascript.0...." erzeugt und nicht unter "mqtt.0....."
                      Geht das nicht?

                      2b21b908-3c41-4209-8afe-4e0fee8c4668-image.png

                      A Online
                      A Online
                      Ahnungsbefreit
                      wrote on last edited by
                      #35

                      @atifan Eigene Datenpunkte können und sollen nur unter JavaScript und unter userdata angelegt werden.

                      Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

                      AtifanA 1 Reply Last reply
                      0
                      • A Ahnungsbefreit

                        @atifan Eigene Datenpunkte können und sollen nur unter JavaScript und unter userdata angelegt werden.

                        AtifanA Offline
                        AtifanA Offline
                        Atifan
                        wrote on last edited by
                        #36

                        @ahnungsbefreit Hi ja ich weiß, mache ich normal auch so. Aber in dem Fall MUSS der DB unter mqtt damit das NSPanel funktioniert.
                        Da ich den mqtt-Objektbaum aber öfter mal manuell lösche, möchte ich dass ein Script mir dann automatisch den DB wieder erstellt, damit das NSPanel wieder funktioniert.

                        1 Reply Last reply
                        0
                        • AtifanA Atifan

                          Hallo, hänge mich hier mal dran. Möchte auch einen Datenpunkt unter "mqtt" erzeugen. Das Blockly funktioniert zwar, aber der Datenpunkt wird unter "javascript.0...." erzeugt und nicht unter "mqtt.0....."
                          Geht das nicht?

                          2b21b908-3c41-4209-8afe-4e0fee8c4668-image.png

                          paul53P Offline
                          paul53P Offline
                          paul53
                          wrote on last edited by
                          #37

                          @atifan sagte: Datenpunkt wird unter "javascript.0...." erzeugt und nicht unter "mqtt.0....."

                          Das geht unter "mqtt.0" nur mit setObject().

                          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

                          AtifanA 1 Reply Last reply
                          0
                          • paul53P paul53

                            @atifan sagte: Datenpunkt wird unter "javascript.0...." erzeugt und nicht unter "mqtt.0....."

                            Das geht unter "mqtt.0" nur mit setObject().

                            AtifanA Offline
                            AtifanA Offline
                            Atifan
                            wrote on last edited by
                            #38

                            @paul53 Hi Danke! Gibts dafür auch ein Blockly-Funktion? Oder geht das dann nur über JavaScript?

                            paul53P 1 Reply Last reply
                            0
                            • AtifanA Atifan

                              @paul53 Hi Danke! Gibts dafür auch ein Blockly-Funktion? Oder geht das dann nur über JavaScript?

                              paul53P Offline
                              paul53P Offline
                              paul53
                              wrote on last edited by paul53
                              #39

                              @atifan sagte: Gibts dafür auch ein Blockly-Funktion?

                              Nein, absichtlich nicht, denn damit kann man einiges kaputt machen.
                              Man muss ein komplexes Objekt übergeben, wofür Blockly auch keine Funktion bereit stellt.

                              EDIT: Man kann sich mit einer Javascript-Funktion behelfen:

                              Bild_2022-09-14_212130853.png

                              Inhalt der Funktion createNSPaneCmd(Typ, Name, Rolle, Default):

                              const obj = {
                                  type: 'state',
                                  native: {},
                                  common: {
                                      type: Typ,
                                      name: Name,
                                      role: Rolle
                                  }
                              };
                              if(Default != undefined) obj.common.def = Default;
                              const path = 'mqtt.0.NsPanel.cmd.';
                              if(!existsObject(path + Name)) setObject(path + Name, obj);
                              

                              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

                              AtifanA 1 Reply Last reply
                              0
                              • paul53P paul53

                                @atifan sagte: Gibts dafür auch ein Blockly-Funktion?

                                Nein, absichtlich nicht, denn damit kann man einiges kaputt machen.
                                Man muss ein komplexes Objekt übergeben, wofür Blockly auch keine Funktion bereit stellt.

                                EDIT: Man kann sich mit einer Javascript-Funktion behelfen:

                                Bild_2022-09-14_212130853.png

                                Inhalt der Funktion createNSPaneCmd(Typ, Name, Rolle, Default):

                                const obj = {
                                    type: 'state',
                                    native: {},
                                    common: {
                                        type: Typ,
                                        name: Name,
                                        role: Rolle
                                    }
                                };
                                if(Default != undefined) obj.common.def = Default;
                                const path = 'mqtt.0.NsPanel.cmd.';
                                if(!existsObject(path + Name)) setObject(path + Name, obj);
                                
                                AtifanA Offline
                                AtifanA Offline
                                Atifan
                                wrote on last edited by
                                #40

                                @paul53 Danke habe es hinbekommen, musste zwar bisschen rumprobieren aber irgendwann ging es :)
                                Außerdem muss man im Javascript Adapter das Häkchen setzen, dass die Funktion setObject ausgeführt werden darf.

                                e096172e-7da4-4f72-9e38-4fc3156b6217-image.png

                                bab57a25-b77b-4e7d-b9de-8d4b31bf7d63-image.png

                                const obj = {
                                    type: 'state',
                                    native: {},
                                    common: {
                                        type: 'string',
                                        name: 'CustomSend',
                                        role: 'state',
                                    }
                                };
                                if(!existsObject('mqtt.0.NsPanel.cmnd.CustomSend')) setObject('mqtt.0.NsPanel.cmnd.CustomSend', obj);
                                
                                paul53P 1 Reply Last reply
                                0
                                • AtifanA Atifan

                                  @paul53 Danke habe es hinbekommen, musste zwar bisschen rumprobieren aber irgendwann ging es :)
                                  Außerdem muss man im Javascript Adapter das Häkchen setzen, dass die Funktion setObject ausgeführt werden darf.

                                  e096172e-7da4-4f72-9e38-4fc3156b6217-image.png

                                  bab57a25-b77b-4e7d-b9de-8d4b31bf7d63-image.png

                                  const obj = {
                                      type: 'state',
                                      native: {},
                                      common: {
                                          type: 'string',
                                          name: 'CustomSend',
                                          role: 'state',
                                      }
                                  };
                                  if(!existsObject('mqtt.0.NsPanel.cmnd.CustomSend')) setObject('mqtt.0.NsPanel.cmnd.CustomSend', obj);
                                  
                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  wrote on last edited by
                                  #41

                                  @atifan
                                  Es gibt nur einen Datenpunkt, der per Blockly erzeugt werden muss?

                                  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

                                  AtifanA 1 Reply Last reply
                                  0
                                  • paul53P paul53

                                    @atifan
                                    Es gibt nur einen Datenpunkt, der per Blockly erzeugt werden muss?

                                    AtifanA Offline
                                    AtifanA Offline
                                    Atifan
                                    wrote on last edited by
                                    #42

                                    @paul53 Ja, ich brauche nur den einen Datenpunkt mit dem Namen "CustomSend".
                                    Normalerweise muss man diesen Datenpunkt unter MQTT manuell anlegen, damit das NSPanel funktioniert.

                                    Das Problem ist aber, dass ich öfter mal den ganzen Objektbaum unter MQTT lösche, weil dort Geräte mit Hyroglyphen im Namen auftauchen, vermutlich wegen Verbindungsproblemen oder so. Dann wäre der Datenpunkt "CustomSend" auch jedes Mal weg und ich müsste immer daran denken diesen wieder manuell anzulegen, weil ohne den funktioniert das NSPanel nicht.
                                    Deswegen wollte ich das ganze über ein Script lösen.

                                    So wie ich es jetzt gemacht hab funktioniert es jedenfalls wie es soll, habs getestet :)

                                    1 Reply Last reply
                                    0
                                    • paul53P paul53

                                      @PatrickFro sagte:

                                      Es geht um Anlage des States als Number

                                      Common muss im JSON-Format übergeben werden. Beispiel für Typ "number":

                                      Blockly_temp.JPG

                                      David G.D Online
                                      David G.D Online
                                      David G.
                                      wrote on last edited by David G.
                                      #43

                                      @paul53 sagte in Datenpunkt erzeugen:

                                      @PatrickFro sagte:

                                      Es geht um Anlage des States als Number

                                      Common muss im JSON-Format übergeben werden. Beispiel für Typ "number":

                                      Blockly_temp.JPG

                                      Hallo,

                                      versuche grad auch einen DP anzulegen.
                                      So ganz klappt noch nicht wie ich möchte.

                                      Generiere mir folgenden String für common:

                                      {"type":"number","states":"0:Sa 06.05.;86400000:So 07.05.;172800000:Mo 08.05."}
                                      

                                      Der DP der generiert wird sieht wie folgt aus:

                                      {
                                        "common": {
                                          "type": "number",
                                          "states": "0:Sa 06.05.;86400000:So 07.05.;172800000:Mo 08.05.",
                                          "name": "0_userdata.0.aber",
                                          "role": "state"
                                        },
                                        "native": {
                                          "type": "number",
                                          "states": "0:Sa 06.05.;86400000:So 07.05.;172800000:Mo 08.05.",
                                          "name": "0_userdata.0.aber",
                                          "role": "state"
                                        },
                                        "type": "state",
                                        "from": "system.adapter.javascript.0",
                                        "user": "system.user.admin",
                                        "ts": 1683359916588,
                                        "_id": "0_userdata.0.aber",
                                        "acl": {
                                          "object": 1636,
                                          "state": 1636,
                                          "owner": "system.user.admin",
                                          "ownerGroup": "system.group.administrator"
                                        }
                                      }
                                      

                                      Wenn ich mir den DP unter Objekten anschaue stürzt das Browserfenster ab.

                                      Kleine Zusatzfrage.
                                      Der Block scheint den DP nicht zu überschreiben, wenn ich den DP mit anderen Werten nochmal anlege. Kann man das umgehen?

                                      Zeigt eure Lovelace-Visualisierung klick
                                      (Auch ideal um sich Anregungen zu holen)

                                      Meine Tabellen für eure Visualisierung klick

                                      1 Reply Last reply
                                      0

                                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                      With your input, this post could be even better 💗

                                      Register Login
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      627

                                      Online

                                      32.7k

                                      Users

                                      82.6k

                                      Topics

                                      1.3m

                                      Posts
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                      ioBroker Community 2014-2025
                                      logo
                                      • Login

                                      • Don't have an account? Register

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Home
                                      • Recent
                                      • Tags
                                      • Unread 0
                                      • Categories
                                      • Unreplied
                                      • Popular
                                      • GitHub
                                      • Docu
                                      • Hilfe