Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. JavaScript
  5. Script um JSON in states zu schreiben

NEWS

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    13
    1
    960

  • Neuer ioBroker-Blog online: MonatsrĂŒckblick MĂ€rz/April 2026
    BluefoxB
    Bluefox
    8
    1
    2.1k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    960

Script um JSON in states zu schreiben

Geplant Angeheftet Gesperrt Verschoben JavaScript
blocklyjavascript
5 BeitrÀge 4 Kommentatoren 1.1k Aufrufe 2 Beobachtet
  • Ä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.
  • madjack84M Offline
    madjack84M Offline
    madjack84
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich habe mir einen zigbee2mqtt Stick angeschafft.
    Mit einem sensor (aqara TĂŒr/Fenster) bekomme ich folgendes JSON:

    {"contact":false,"linkquality":70,"battery":66,"voltage":2945}

    Um darauf per blockly schalten zu können, wĂŒrde ich die states gerne erstellen und habe mir folgendes script in Blockly erstellt:

    // i = iobObject
    var obj = JSON.parse(getState(i).val);
    
    for (var prop in obj) {
        url = i + "." + prop;
        //console.log(url + " = " + obj[prop]);
        try {
            createState(url, obj[prop], true, {
                read: true, 
                write: false, 
                name: prop,
                role: "value",
                type: "mixed", 
                def: false
            });
            //console.log(getState(url))
        } catch (e) {
            console.log('exception in getState [' + e + ']');
        }    
    }
    

    ef5c7c79-46b1-4631-a2a7-7cc4382996e9-image.png

    Die Variablen werden erstellt... nur leider kann ich nur Variablen in Javascript.0. erstellen...

    javascript.0.mqtt-client.0.zigbee2mqtt.0x00158d00033a73d5

    wie kann ich die Variable hier erstellen?

    mqtt-client.0.zigbee2mqtt.0x00158d00033a73d5

    Vielen Dank

    nuc i3, Proxmox, raspimatic (PI3), 15 shellies, shelly 4pro/25/RGB, wled sonoff, 7x xiaomi sensoren, 4xEchos, 4 Tasmota Steckdosen, motionEye, nspanel, Ring, hoymiles usw

    arteckA paul53P 2 Antworten Letzte Antwort
    0
    • madjack84M madjack84

      Hallo zusammen,

      ich habe mir einen zigbee2mqtt Stick angeschafft.
      Mit einem sensor (aqara TĂŒr/Fenster) bekomme ich folgendes JSON:

      {"contact":false,"linkquality":70,"battery":66,"voltage":2945}

      Um darauf per blockly schalten zu können, wĂŒrde ich die states gerne erstellen und habe mir folgendes script in Blockly erstellt:

      // i = iobObject
      var obj = JSON.parse(getState(i).val);
      
      for (var prop in obj) {
          url = i + "." + prop;
          //console.log(url + " = " + obj[prop]);
          try {
              createState(url, obj[prop], true, {
                  read: true, 
                  write: false, 
                  name: prop,
                  role: "value",
                  type: "mixed", 
                  def: false
              });
              //console.log(getState(url))
          } catch (e) {
              console.log('exception in getState [' + e + ']');
          }    
      }
      

      ef5c7c79-46b1-4631-a2a7-7cc4382996e9-image.png

      Die Variablen werden erstellt... nur leider kann ich nur Variablen in Javascript.0. erstellen...

      javascript.0.mqtt-client.0.zigbee2mqtt.0x00158d00033a73d5

      wie kann ich die Variable hier erstellen?

      mqtt-client.0.zigbee2mqtt.0x00158d00033a73d5

      Vielen Dank

      arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      @madjack84 sagte in Script um JSON in states zu schreiben:

      ich habe mir einen zigbee2mqtt Stick angeschafft.

      es gibt keinen zigbee2mqtt Stick .. zigbee2mqtt ist ein Projekt der Zigbee GerÀte bedienen kann ...
      ich Tippe auf einen cc2531 Stick

      aber warum nimmst du nicht den Zigbee Adapter ??

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      madjack84M 1 Antwort Letzte Antwort
      0
      • arteckA arteck

        @madjack84 sagte in Script um JSON in states zu schreiben:

        ich habe mir einen zigbee2mqtt Stick angeschafft.

        es gibt keinen zigbee2mqtt Stick .. zigbee2mqtt ist ein Projekt der Zigbee GerÀte bedienen kann ...
        ich Tippe auf einen cc2531 Stick

        aber warum nimmst du nicht den Zigbee Adapter ??

        madjack84M Offline
        madjack84M Offline
        madjack84
        schrieb am zuletzt editiert von madjack84
        #3

        @arteck korrekt.

        Einfache Antwort: ich kannte den Adapter nicht 😱
        Dachte ich kann von mqtt alles einfach abgreifen, da ich mqtt als dreh und Angelpunkt nutze. (shellies, tasmota, App)
        Kommt auch daher weil ich RAM sparen will und so wenige Adapter wie möglich nutze.

        Das zigbee2mqtt Projekt nutze ich via docker... Auch etwas Spielerei dabei ;)

        Gibt es im Javascript Umfeld eine Möglichkeit states im mqtt Client Adapter zu beschreiben?

        nuc i3, Proxmox, raspimatic (PI3), 15 shellies, shelly 4pro/25/RGB, wled sonoff, 7x xiaomi sensoren, 4xEchos, 4 Tasmota Steckdosen, motionEye, nspanel, Ring, hoymiles usw

        W 1 Antwort Letzte Antwort
        0
        • madjack84M madjack84

          Hallo zusammen,

          ich habe mir einen zigbee2mqtt Stick angeschafft.
          Mit einem sensor (aqara TĂŒr/Fenster) bekomme ich folgendes JSON:

          {"contact":false,"linkquality":70,"battery":66,"voltage":2945}

          Um darauf per blockly schalten zu können, wĂŒrde ich die states gerne erstellen und habe mir folgendes script in Blockly erstellt:

          // i = iobObject
          var obj = JSON.parse(getState(i).val);
          
          for (var prop in obj) {
              url = i + "." + prop;
              //console.log(url + " = " + obj[prop]);
              try {
                  createState(url, obj[prop], true, {
                      read: true, 
                      write: false, 
                      name: prop,
                      role: "value",
                      type: "mixed", 
                      def: false
                  });
                  //console.log(getState(url))
              } catch (e) {
                  console.log('exception in getState [' + e + ']');
              }    
          }
          

          ef5c7c79-46b1-4631-a2a7-7cc4382996e9-image.png

          Die Variablen werden erstellt... nur leider kann ich nur Variablen in Javascript.0. erstellen...

          javascript.0.mqtt-client.0.zigbee2mqtt.0x00158d00033a73d5

          wie kann ich die Variable hier erstellen?

          mqtt-client.0.zigbee2mqtt.0x00158d00033a73d5

          Vielen Dank

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

          @madjack84 sagte:

          wie kann ich die Variable hier erstellen?

          Man sollte keine eigenen Datenpunkte im Instanzen-Namensraum erstellen, da die Instanzen ihre Datenpunkte verwalten, also auch löschen. Außerhalb von javascript.N kann man Datenpunkte nur manuell im Reiter "Objekte" erstellen.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

          1 Antwort Letzte Antwort
          0
          • madjack84M madjack84

            @arteck korrekt.

            Einfache Antwort: ich kannte den Adapter nicht 😱
            Dachte ich kann von mqtt alles einfach abgreifen, da ich mqtt als dreh und Angelpunkt nutze. (shellies, tasmota, App)
            Kommt auch daher weil ich RAM sparen will und so wenige Adapter wie möglich nutze.

            Das zigbee2mqtt Projekt nutze ich via docker... Auch etwas Spielerei dabei ;)

            Gibt es im Javascript Umfeld eine Möglichkeit states im mqtt Client Adapter zu beschreiben?

            W Offline
            W Offline
            Waly_de
            schrieb am zuletzt editiert von
            #5

            @madjack84 Hab ich auch mal nach gesucht. Leider ist das bewusst blockiert.
            Du kannst einen Adapter in Javascript erstellen. Der kann sowas ;-)

            FĂŒr Deine Zwecke sollte aber doch auch so ok sein, oder? Auslesen kannst du den Wert ja ĂŒberall. Geht Dir nur um Kosmetik oder?

            1 Antwort Letzte Antwort
            0

            Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

            Hast du es satt, bei jedem Besuch durch die gleichen BeitrĂ€ge zu scrollen? Wenn du dich fĂŒr ein Konto anmeldest, kommst du immer genau dorthin zurĂŒck, wo du zuvor warst, und kannst dich ĂŒber neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und BeitrĂ€ge positiv bewerten, um anderen Community-Mitgliedern deine WertschĂ€tzung zu zeigen.

            Mit deinem Input könnte dieser Beitrag noch besser werden 💗

            Registrieren Anmelden
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            553

            Online

            32.9k

            Benutzer

            83.1k

            Themen

            1.3m

            BeitrÀge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2026
            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