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. [Hilfe] json auswerten und in Objekte scheiben

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    918

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.5k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    5.9k

[Hilfe] json auswerten und in Objekte scheiben

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
4 Beiträge 2 Kommentatoren 3.4k Aufrufe
  • Ä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.
  • A Offline
    A Offline
    andyb
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich brech mir gerade ziemlich einen ab und befürchte es geht viel einfacher.

    Ich möchte meinen 3D Drucker einbinden. Per MQTT bekomme ich die gewünschten Informationen als json.

    Nun hab ich leider nur Ahnung von Blockly und mache nun dort mit "suche in Text" und "nehme Teil aus Text" und "schreibe in Objekt" die Auswertung der json Objekte. Das würde ein riesiges, unübersichtliches Blockly ergeben. Geht doch bestimmt auch einfacher und bitte bitte hilf mir einer :D

    Ziele wäre es, für jede Position im json ein Objekt zu generieren und regelmäßig die Werte eintragen

    Die Beitrage im Forum welche ich gefunden habe, haben mich leider nicht weiter gebracht (weil ich halt keine Ahnung hab).

    Das wäre beispielhaft ein json welche als MQTT Datenpunkt ankommt:

    mqtt.0.temperature.bed {"_timestamp": 1523023292, "actual": 60.0, "target": 60.0}

    Also will ich darauf machen

    javascript.0.Drucker3D.BedTempActual

    javascript.0.Drucker3D.BedTempTarget

    javascript.0.Drucker3D.BedTempTimestamp

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

      Wenn der Datenpunkt "mqtt.0.temperature.bed" den JSON-String enthält, dann versuche mal

      function getBedTemp() {
         var obj = JSON.parse(getState('mqtt.0.temperature.bed').val);
         setState('javascript.0.Drucker3D.BedTempActual', obj.actual, true);
         setState('javascript.0.Drucker3D.BedTempTarget', obj.target, true);
         setState('javascript.0.Drucker3D.BedTempTimestamp', obj['_timestamp'], true);
      }
      
      getBedTemp(); // Aufruf bei Skriptstart
      
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

      1 Antwort Letzte Antwort
      1
      • A Offline
        A Offline
        andyb
        schrieb am zuletzt editiert von
        #3

        Danke, Temperaturen klappen. Der _timestamp leider nicht

        1586_2018-04-06_18_10_18-iobroker.admin.jpg
        18:09:39.113 [info] javascript.0 Start javascript script.js.aktiv.Drucker.test

        18:09:39.114 [warn] javascript.0 at getBedTemp (script.js.aktiv.Drucker.test:5:4)

        18:09:39.115 [warn] javascript.0 at script.js.aktiv.Drucker.test:8:1

        18:09:39.115 [info] javascript.0 script.js.aktiv.Drucker.test: registered 0 subscriptions and 0 schedules

        So klappts aber auch nicht

        setState('javascript.0.Drucker3D.BedTempTimestamp', obj._timestamp, true);

        Den brauch ich aber glaub ich auch, da er nicht immer mit dem Zeitstempel des MQTT objects übereinstimmt und ich auch mit den unterschiedlichen timestamps Zeitdifferenzen ausrechnen will.

        Edit: die states automatisch zu erzeugen, welche er in der json findet geht auch?

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

          Es müsste mit beiden Schreibweisen funktionieren. Stimmt die Datenpunkt-ID "javascript.0.Drucker3D.BedTempTimestamp" ? (Groß-/Kleinschreibung)

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

          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

          413

          Online

          33.0k

          Benutzer

          83.5k

          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