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. (GELÖST) JSON Zeitplan auslesen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    223

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

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

(GELÖST) JSON Zeitplan auslesen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
4 Beiträge 3 Kommentatoren 150 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.
  • L Offline
    L Offline
    Langer
    schrieb am zuletzt editiert von Langer
    #1

    Hallo zusammen,

    Dies bekomme ich vom bshb-Adapter unter dem DP "schedule"

    {"profiles":[{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"MONDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"TUESDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"WEDNESDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"THURSDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"FRIDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"SATURDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"SUNDAY"}]}
    

    Nun möchte ich folgendes auslesen:

    MONDAY ECO 0 COMFORT 255 ECO 1300
    TUESDAY ECO 0 COMFORT 255 ECO 1300

    usw.

    Wie geht das?
    Kann mir mal einer einen Schubs geben?
    Habe schon mit JSON.parse() versucht aber ich verstehe JSON einfach nicht!!!

    MfG
    Wastl

    paul53P mickymM 2 Antworten Letzte Antwort
    0
    • L Langer

      Hallo zusammen,

      Dies bekomme ich vom bshb-Adapter unter dem DP "schedule"

      {"profiles":[{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"MONDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"TUESDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"WEDNESDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"THURSDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"FRIDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"SATURDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"SUNDAY"}]}
      

      Nun möchte ich folgendes auslesen:

      MONDAY ECO 0 COMFORT 255 ECO 1300
      TUESDAY ECO 0 COMFORT 255 ECO 1300

      usw.

      Wie geht das?
      Kann mir mal einer einen Schubs geben?
      Habe schon mit JSON.parse() versucht aber ich verstehe JSON einfach nicht!!!

      MfG
      Wastl

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

      @langer
      Ansatz:

      on(idJSON, function(dp) {
         let profile = JSON.parse(dp.state.val).profiles; // Array mit 7 Wochentagen, Mo = 0
         for(let wd = 0; wd < 7; wd++) {
            let switchpoints = profile[wd].switchPoints; // Array mit Schaltpunkten eines Tages
            for(let i = 0; i < switchpoints.length; i++) {
                // enthält switchpoints[i].startTimeMinutes und switchpoints[i].value.temperatureLevel
            }
         }
      });
      

      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
      • L Langer

        Hallo zusammen,

        Dies bekomme ich vom bshb-Adapter unter dem DP "schedule"

        {"profiles":[{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"MONDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"TUESDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"WEDNESDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"THURSDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"FRIDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"SATURDAY"},{"switchPoints":[{"startTimeMinutes":0,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}},{"startTimeMinutes":255,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"COMFORT"}},{"startTimeMinutes":1300,"value":{"@type":"temperatureLevelSwitchPointValue","temperatureLevel":"ECO"}}],"day":"SUNDAY"}]}
        

        Nun möchte ich folgendes auslesen:

        MONDAY ECO 0 COMFORT 255 ECO 1300
        TUESDAY ECO 0 COMFORT 255 ECO 1300

        usw.

        Wie geht das?
        Kann mir mal einer einen Schubs geben?
        Habe schon mit JSON.parse() versucht aber ich verstehe JSON einfach nicht!!!

        MfG
        Wastl

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #3

        @langer Unabhängig von @paul53 's Ansatz, nutz doch mal den JSON Formater: https://jsonformatter.org/

        Wenn man da Deinen String reinkopiert und dann schön formatierst dann kommt sowas raus:

        39705ed0-161b-4267-aabc-a8ad26afc47a-image.png

        Du siehst also Du bekommst ein in profiles ein Array[0-7] aus, das wiederrum ein Array aus 3 switchpoint Objekten enthält.

        profiles[0].switchPoints[0].value.temperatureLevel ist dann der Pfad zu dem grün markierten Wert:

        fd4608f5-c832-4433-adfe-600669f1f7b8-image.png

        Das kann man in dem JSON Formatter sehen, wenn man auf den TreeView umschaltet (oranger Pfeil).

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        L 1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @langer Unabhängig von @paul53 's Ansatz, nutz doch mal den JSON Formater: https://jsonformatter.org/

          Wenn man da Deinen String reinkopiert und dann schön formatierst dann kommt sowas raus:

          39705ed0-161b-4267-aabc-a8ad26afc47a-image.png

          Du siehst also Du bekommst ein in profiles ein Array[0-7] aus, das wiederrum ein Array aus 3 switchpoint Objekten enthält.

          profiles[0].switchPoints[0].value.temperatureLevel ist dann der Pfad zu dem grün markierten Wert:

          fd4608f5-c832-4433-adfe-600669f1f7b8-image.png

          Das kann man in dem JSON Formatter sehen, wenn man auf den TreeView umschaltet (oranger Pfeil).

          L Offline
          L Offline
          Langer
          schrieb am zuletzt editiert von
          #4

          @paul53
          @mickym

          Guten Morgen Ihr beiden,

          Danke für die Hilfe, hat funktioniert!!!!

          MfG
          Wastl

          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.7k

          Benutzer

          82.5k

          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