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. Blockly
  5. gelöst - Blockly JSON auslesen und Wert in DP schreiben

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

gelöst - Blockly JSON auslesen und Wert in DP schreiben

Geplant Angeheftet Gesperrt Verschoben Blockly
4 Beiträge 2 Kommentatoren 263 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.
  • AtifanA Online
    AtifanA Online
    Atifan
    schrieb am zuletzt editiert von Atifan
    #1

    Hallo,
    ich habe ein Python-Script das auf nem Server ausgeführt wird und über nen IR-Lesekopf meine Wärmemengezähler ausliest. Es schreibt die Daten dann über Simple_API in Iobroker in einen Datenpunkt. Das Problem ist es schreibt die Daten als JSON-String und ich muss über ein Blockly Script den Wert rausfiltern den ich haben will.
    Ich hatte ein Blockly das die ganze Zeit funktioniert hat, das Problem ist aber dass sich das Python Script geändert hat und jetzt die JSON-Datei etwas anders aufgebaut ist. Deswegen funktioniert das Auslesen jetzt nicht mehr. Kann mir einer sagen was ich ändern muss? Danke schonmal.

    Hier ein Bild von meinem aktuellen Blockly, das passt aber nur auf die alte JSON und muss irgendwie geändert werden :)
    0224aa19-a106-4ab2-82ec-53344f341be7-grafik.png

    Hier ist die JSON-Datei Struktur, wo der rote Wert ausgelesen werden soll.

    {
      "frame_info": {
        "a": "0x0",
        "c": "0x8",
        "start": "0x68",
        "stop": "0x16",
        "crc": "0xde",
        "length": "0x42"
      },
      "header": {
        "status": "0x0",
        "medium": "0x4",
        "access_no": 135,
        "sign": "0x0, 0x0",
        "version": "0x19",
        "identification": "0x80, 0x74, 0x12, 0x52",
        "type": "0x72",
        "manufacturer": "SEN"
      },
      "records": [
        {
          "function": "FunctionType.INSTANTANEOUS_VALUE",
          "type": "VIFUnit.ENERGY_WH",
          "%(#ff0000)[**value": 159620000,**]
          "unit": "MeasureUnit.WH"
        },
        {
          "function": "FunctionType.INSTANTANEOUS_VALUE",
          "type": "VIFUnit.VOLUME",
          "value": 30628.779000000002,
          "unit": "MeasureUnit.M3"
        },
        {
          "function": "FunctionType.INSTANTANEOUS_VALUE",
          "type": "VIFUnit.VOLUME_FLOW",
          "value": 0,
          "unit": "MeasureUnit.M3_H"
        },
        {
          "function": "FunctionType.INSTANTANEOUS_VALUE",
          "type": "VIFUnit.POWER_W",
          "value": 0,
          "unit": "MeasureUnit.W"
        },
        {
          "function": "FunctionType.INSTANTANEOUS_VALUE",
          "type": "VIFUnit.FLOW_TEMPERATURE",
          "value": 23.400000000000002,
          "unit": "MeasureUnit.C"
        },
        {
          "function": "FunctionType.INSTANTANEOUS_VALUE",
          "type": "VIFUnit.RETURN_TEMPERATURE",
          "value": 23.700000000000003,
          "unit": "MeasureUnit.C"
        },
        {
          "function": "FunctionType.INSTANTANEOUS_VALUE",
          "type": "VIFUnit.TEMPERATURE_DIFFERENCE",
          "value": 0,
          "unit": "MeasureUnit.K"
        },
        {
          "function": "FunctionType.INSTANTANEOUS_VALUE",
          "type": "VIFUnit.FABRICATION_NO",
          "value": 80741252,
          "unit": "MeasureUnit.NONE"
        },
        {
          "function": "FunctionType.INSTANTANEOUS_VALUE",
          "type": "VIFUnitExt.CUSTOMER_LOCATION",
          "value": 80741252,
          "unit": "MeasureUnit.NONE"
        },
        {
          "function": "FunctionType.MORE_RECORDS_FOLLOW",
          "type": "None",
          "value": null,
          "unit": "None"
        }
      ]
    }
    
    AtifanA 1 Antwort Letzte Antwort
    0
    • AtifanA Atifan

      Hallo,
      ich habe ein Python-Script das auf nem Server ausgeführt wird und über nen IR-Lesekopf meine Wärmemengezähler ausliest. Es schreibt die Daten dann über Simple_API in Iobroker in einen Datenpunkt. Das Problem ist es schreibt die Daten als JSON-String und ich muss über ein Blockly Script den Wert rausfiltern den ich haben will.
      Ich hatte ein Blockly das die ganze Zeit funktioniert hat, das Problem ist aber dass sich das Python Script geändert hat und jetzt die JSON-Datei etwas anders aufgebaut ist. Deswegen funktioniert das Auslesen jetzt nicht mehr. Kann mir einer sagen was ich ändern muss? Danke schonmal.

      Hier ein Bild von meinem aktuellen Blockly, das passt aber nur auf die alte JSON und muss irgendwie geändert werden :)
      0224aa19-a106-4ab2-82ec-53344f341be7-grafik.png

      Hier ist die JSON-Datei Struktur, wo der rote Wert ausgelesen werden soll.

      {
        "frame_info": {
          "a": "0x0",
          "c": "0x8",
          "start": "0x68",
          "stop": "0x16",
          "crc": "0xde",
          "length": "0x42"
        },
        "header": {
          "status": "0x0",
          "medium": "0x4",
          "access_no": 135,
          "sign": "0x0, 0x0",
          "version": "0x19",
          "identification": "0x80, 0x74, 0x12, 0x52",
          "type": "0x72",
          "manufacturer": "SEN"
        },
        "records": [
          {
            "function": "FunctionType.INSTANTANEOUS_VALUE",
            "type": "VIFUnit.ENERGY_WH",
            "%(#ff0000)[**value": 159620000,**]
            "unit": "MeasureUnit.WH"
          },
          {
            "function": "FunctionType.INSTANTANEOUS_VALUE",
            "type": "VIFUnit.VOLUME",
            "value": 30628.779000000002,
            "unit": "MeasureUnit.M3"
          },
          {
            "function": "FunctionType.INSTANTANEOUS_VALUE",
            "type": "VIFUnit.VOLUME_FLOW",
            "value": 0,
            "unit": "MeasureUnit.M3_H"
          },
          {
            "function": "FunctionType.INSTANTANEOUS_VALUE",
            "type": "VIFUnit.POWER_W",
            "value": 0,
            "unit": "MeasureUnit.W"
          },
          {
            "function": "FunctionType.INSTANTANEOUS_VALUE",
            "type": "VIFUnit.FLOW_TEMPERATURE",
            "value": 23.400000000000002,
            "unit": "MeasureUnit.C"
          },
          {
            "function": "FunctionType.INSTANTANEOUS_VALUE",
            "type": "VIFUnit.RETURN_TEMPERATURE",
            "value": 23.700000000000003,
            "unit": "MeasureUnit.C"
          },
          {
            "function": "FunctionType.INSTANTANEOUS_VALUE",
            "type": "VIFUnit.TEMPERATURE_DIFFERENCE",
            "value": 0,
            "unit": "MeasureUnit.K"
          },
          {
            "function": "FunctionType.INSTANTANEOUS_VALUE",
            "type": "VIFUnit.FABRICATION_NO",
            "value": 80741252,
            "unit": "MeasureUnit.NONE"
          },
          {
            "function": "FunctionType.INSTANTANEOUS_VALUE",
            "type": "VIFUnitExt.CUSTOMER_LOCATION",
            "value": 80741252,
            "unit": "MeasureUnit.NONE"
          },
          {
            "function": "FunctionType.MORE_RECORDS_FOLLOW",
            "type": "None",
            "value": null,
            "unit": "None"
          }
        ]
      }
      
      AtifanA Online
      AtifanA Online
      Atifan
      schrieb am zuletzt editiert von
      #2

      Habs gerade rausgefunden, statt "body.records" einfach nur "records", dann funktioniert es :)

      padrinoP 1 Antwort Letzte Antwort
      1
      • AtifanA Atifan

        Habs gerade rausgefunden, statt "body.records" einfach nur "records", dann funktioniert es :)

        padrinoP Online
        padrinoP Online
        padrino
        Most Active
        schrieb am zuletzt editiert von
        #3

        @atifan
        Gut, dass Du Deine Lösung auch noch gepostet hast!
        Jetzt evtl. noch ein [gelöst] in den Titel des ersten Posts, das wäre :sunglasses:

        AtifanA 1 Antwort Letzte Antwort
        0
        • padrinoP padrino

          @atifan
          Gut, dass Du Deine Lösung auch noch gepostet hast!
          Jetzt evtl. noch ein [gelöst] in den Titel des ersten Posts, das wäre :sunglasses:

          AtifanA Online
          AtifanA Online
          Atifan
          schrieb am zuletzt editiert von
          #4

          @padrino Jo habs geändert :)

          1 Antwort Letzte Antwort
          1
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          637

          Online

          32.6k

          Benutzer

          82.3k

          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