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. Node-Red
  5. [Gelöst] Benötige Hilfe mit Node-Red in Verbindung mit homee

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    524

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

[Gelöst] Benötige Hilfe mit Node-Red in Verbindung mit homee

Geplant Angeheftet Gesperrt Verschoben Node-Red
node-red
121 Beiträge 3 Kommentatoren 17.3k Aufrufe 4 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.
  • O Oli

    @mickym
    Vielen Dank, dass war keine Absicht, wollte nicht auch noch zusätzliche Arbeit machen, welche Nodes machen denn aus deiner Sicht keinen Sinn?

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

    @oli Na wenn du den Flow importiert hast, dann siehst ja (zumindest für die Zukunft, dass ich für die Analyse nur die Daten in einer Inject NOde brauche). Aber auch von dem Gesamtflow:

    Gut hier weiss ich nicht

    f99980d3-1dfa-464b-a2a4-9295603c3cbd-image.png

    da Du das ausgeixt hast - ob der Name URL Zeichen enthielt.

    Aber beim Aussschließen von Geräten kann man sich doch komplett sparen. Ich habe zumindest in dem ganzen settings Objekt KEINE Eigenschaft "id" entdeckt - also ist diese Node sinnlos.

    f24b3bda-b352-4887-93f8-4732c2486943-image.png

    EDIT: Berichtigung - Du kannst doch Objekte direkt miteinander vergleichen. Sorry. :( Also bei Dir alles OK. :) - war mein Fehler. Geht sogar alle Hierarchien durch. :)

    Also das funktioniert:
    594c3f74-e9bb-476d-8107-2354e35bfecf-image.png

    Nochmals sorry. :(

    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.

    1 Antwort Letzte Antwort
    0
    • O Online
      O Online
      Oli
      schrieb am zuletzt editiert von Oli
      #109

      @mickym
      ich bräuchte wieder mal deine Unterstützung

      Was habe ich vor?

      1. Auslesen der Logdatei
      2. Filtern nach "level", über einen Datenpunkt in ioBroker, Inhalt des Datenpunktes kann sein "any" für alle Logeinträge, "info", "error" und "warning"
      3. Nur eine gewisse Anzahl (max 30) an Einträgen nach dem Filtern anzeigen
      4. Diese Anzahl an Einträgen in einen Datenpunkt schreiben
      5. Flow ausführen, wenn sich der Filter-Datenpunkt ändert

      Ich kann die Logdatei auslesen und in einen Tabelle schreiben, aber wie mache ich das mit dem Filtern und der Anzahl?

      Hier mal der Flow:

      [
          {
              "id": "b86c034bc869f860",
              "type": "tab",
              "label": "Flow 1",
              "disabled": false,
              "info": "",
              "env": []
          },
          {
              "id": "bafe242abaf4e3e0",
              "type": "inject",
              "z": "b86c034bc869f860",
              "name": "",
              "props": [
                  {
                      "p": "payload"
                  }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "[{\"datetime\":\"2023-03-18 11:51:46\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:53:13\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:53:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:01\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:03\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:24\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:46\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:28\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:51\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:12\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:33\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:59\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:58:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.001 s error code: 8 error message: Connection timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 11:58:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 11:59:10\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.2472 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 11:59:10\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 11:59:31\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:00:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.0002 s error code: 8 error message: Operation timed out after 15000 milliseconds with 0 bytes received http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:00:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:00:18\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:00:30\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:00:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:13\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:18\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:01:19\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:01:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:58\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:02:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:02:25\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:04:05\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:05:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:06:18\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:06:19\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:06:19\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:06:38\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:06:51\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:08:07\",\"topic\":\"WEB\",\"level\":\"error\",\"message\":\" <resolve geolocation> response: timing: 50.0414 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:08:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:10:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 50.0297 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:10:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:11:13\",\"topic\":\"WEB\",\"level\":\"error\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:11:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:12:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0151 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0122 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 29 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> EG / Wohnzimmer / Netatmo (nodeID:29) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 30 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> Netatmo Aussenraum (nodeID:30) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 31 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> EG / Büro / Netatmo (nodeID:31) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 32 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> DG / Schlafzimmer / Netatmo (nodeID:32) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0049 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:58\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:12:59\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0113 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request timed out\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 29 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 30 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 31 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 32 unavailable\"},{\"datetime\":\"2023-03-18 12:13:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> EG / Wohnzimmer / Netatmo (nodeID: 29) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> Netatmo Aussenraum (nodeID: 30) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> EG / Büro / Netatmo (nodeID: 31) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> DG / Schlafzimmer / Netatmo (nodeID: 32) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:30\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:15:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:15:39\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:00\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:05\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:26\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:56\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:16\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:37\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:20:20\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:20:41\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:24\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:50\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:11\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:32\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:23:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:23:39\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:01\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:43\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:58\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:25:04\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:25:25\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:25:38\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:25:39\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:25:45\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:26:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:26:41\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:27:15\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:27:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:50\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:12\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:55\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:30:21\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:30:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:31:04\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:31:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:32:18\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 30.2498 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:32:18\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:32:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 20.0186 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:32:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:33:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:33:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request failed (HTTP status code: 403): {\\\"error\\\":{\\\"code\\\":3,\\\"message\\\":\\\"Access token expired\\\"}}\"},{\"datetime\":\"2023-03-18 12:33:40\",\"topic\":\"O_AUTH2_CLIENT\",\"level\":\"info\",\"message\":\" ✅ <refresh access> access successfully refreshed\"},{\"datetime\":\"2023-03-18 12:33:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:34:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:34:31\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:35:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.0022 s error code: 8 error message: Operation timed out after 15001 milliseconds with 0 bytes received http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:35:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:35:28\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:35:49\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:36:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:36:49\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:37:20\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:37:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:54\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:39:15\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:39:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:40:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:40:45\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:48\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:42:17\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"}]",
              "payloadType": "json",
              "x": 190,
              "y": 140,
              "wires": [
                  [
                      "688bcd4b82f6fade"
                  ]
              ]
          },
          {
              "id": "ef455138a0ee4d91",
              "type": "debug",
              "z": "b86c034bc869f860",
              "name": "Logfile Tabelle",
              "active": true,
              "tosidebar": true,
              "console": false,
              "tostatus": false,
              "complete": "payload",
              "targetType": "msg",
              "statusVal": "",
              "statusType": "auto",
              "x": 640,
              "y": 80,
              "wires": []
          },
          {
              "id": "fccb4af5d833ca96",
              "type": "json",
              "z": "b86c034bc869f860",
              "name": "Tabelle JSON",
              "property": "payload",
              "action": "str",
              "pretty": false,
              "x": 640,
              "y": 140,
              "wires": [
                  []
              ]
          },
          {
              "id": "688bcd4b82f6fade",
              "type": "change",
              "z": "b86c034bc869f860",
              "name": "Logfile Tabelle",
              "rules": [
                  {
                      "t": "set",
                      "p": "protocols",
                      "pt": "msg",
                      "to": "[{\"id\":\"error\",\"color\":\"red\"},{\"id\":\"warning\",\"color\":\"yellow\"},{\"id\":\"info\",\"color\":\"#8f8f8f\"}]",
                      "tot": "json"
                  },
                  {
                      "t": "set",
                      "p": "payload",
                      "pt": "msg",
                      "to": "payload.{\t        \"datetime\" : datetime,\t        \"topic\" : topic,\t        \"level\" : ' <font color=\\\"' & $single($$.protocols, function($v){$v.id = level}).color & '\\\"> ' & level,        \t        \"message\" : message       \t}",
                      "tot": "jsonata"
                  }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 420,
              "y": 140,
              "wires": [
                  [
                      "fccb4af5d833ca96",
                      "ef455138a0ee4d91"
                  ]
              ]
          },
          {
              "id": "0b4c7d376b9e7a79",
              "type": "ioBroker in",
              "z": "b86c034bc869f860",
              "name": "Logfile Auswahl Filter",
              "topic": "0_userdata.0.System.homee.Logfile.AuswahlFilter",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "outFormat": "MQTT",
              "x": 180,
              "y": 280,
              "wires": [
                  []
              ]
          }
      ]
      

      Gruß
      Oliver

      mickymM 1 Antwort Letzte Antwort
      0
      • O Oli

        @mickym
        ich bräuchte wieder mal deine Unterstützung

        Was habe ich vor?

        1. Auslesen der Logdatei
        2. Filtern nach "level", über einen Datenpunkt in ioBroker, Inhalt des Datenpunktes kann sein "any" für alle Logeinträge, "info", "error" und "warning"
        3. Nur eine gewisse Anzahl (max 30) an Einträgen nach dem Filtern anzeigen
        4. Diese Anzahl an Einträgen in einen Datenpunkt schreiben
        5. Flow ausführen, wenn sich der Filter-Datenpunkt ändert

        Ich kann die Logdatei auslesen und in einen Tabelle schreiben, aber wie mache ich das mit dem Filtern und der Anzahl?

        Hier mal der Flow:

        [
            {
                "id": "b86c034bc869f860",
                "type": "tab",
                "label": "Flow 1",
                "disabled": false,
                "info": "",
                "env": []
            },
            {
                "id": "bafe242abaf4e3e0",
                "type": "inject",
                "z": "b86c034bc869f860",
                "name": "",
                "props": [
                    {
                        "p": "payload"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "[{\"datetime\":\"2023-03-18 11:51:46\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:53:13\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:53:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:01\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:03\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:24\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:46\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:28\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:51\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:12\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:33\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:59\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:58:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.001 s error code: 8 error message: Connection timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 11:58:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 11:59:10\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.2472 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 11:59:10\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 11:59:31\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:00:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.0002 s error code: 8 error message: Operation timed out after 15000 milliseconds with 0 bytes received http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:00:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:00:18\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:00:30\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:00:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:13\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:18\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:01:19\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:01:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:58\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:02:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:02:25\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:04:05\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:05:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:06:18\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:06:19\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:06:19\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:06:38\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:06:51\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:08:07\",\"topic\":\"WEB\",\"level\":\"error\",\"message\":\" <resolve geolocation> response: timing: 50.0414 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:08:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:10:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 50.0297 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:10:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:11:13\",\"topic\":\"WEB\",\"level\":\"error\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:11:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:12:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0151 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0122 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 29 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> EG / Wohnzimmer / Netatmo (nodeID:29) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 30 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> Netatmo Aussenraum (nodeID:30) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 31 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> EG / Büro / Netatmo (nodeID:31) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 32 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> DG / Schlafzimmer / Netatmo (nodeID:32) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0049 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:58\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:12:59\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0113 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request timed out\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 29 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 30 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 31 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 32 unavailable\"},{\"datetime\":\"2023-03-18 12:13:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> EG / Wohnzimmer / Netatmo (nodeID: 29) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> Netatmo Aussenraum (nodeID: 30) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> EG / Büro / Netatmo (nodeID: 31) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> DG / Schlafzimmer / Netatmo (nodeID: 32) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:30\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:15:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:15:39\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:00\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:05\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:26\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:56\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:16\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:37\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:20:20\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:20:41\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:24\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:50\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:11\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:32\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:23:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:23:39\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:01\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:43\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:58\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:25:04\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:25:25\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:25:38\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:25:39\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:25:45\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:26:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:26:41\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:27:15\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:27:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:50\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:12\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:55\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:30:21\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:30:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:31:04\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:31:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:32:18\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 30.2498 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:32:18\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:32:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 20.0186 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:32:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:33:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:33:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request failed (HTTP status code: 403): {\\\"error\\\":{\\\"code\\\":3,\\\"message\\\":\\\"Access token expired\\\"}}\"},{\"datetime\":\"2023-03-18 12:33:40\",\"topic\":\"O_AUTH2_CLIENT\",\"level\":\"info\",\"message\":\" ✅ <refresh access> access successfully refreshed\"},{\"datetime\":\"2023-03-18 12:33:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:34:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:34:31\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:35:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.0022 s error code: 8 error message: Operation timed out after 15001 milliseconds with 0 bytes received http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:35:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:35:28\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:35:49\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:36:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:36:49\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:37:20\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:37:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:54\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:39:15\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:39:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:40:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:40:45\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:48\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:42:17\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"}]",
                "payloadType": "json",
                "x": 190,
                "y": 140,
                "wires": [
                    [
                        "688bcd4b82f6fade"
                    ]
                ]
            },
            {
                "id": "ef455138a0ee4d91",
                "type": "debug",
                "z": "b86c034bc869f860",
                "name": "Logfile Tabelle",
                "active": true,
                "tosidebar": true,
                "console": false,
                "tostatus": false,
                "complete": "payload",
                "targetType": "msg",
                "statusVal": "",
                "statusType": "auto",
                "x": 640,
                "y": 80,
                "wires": []
            },
            {
                "id": "fccb4af5d833ca96",
                "type": "json",
                "z": "b86c034bc869f860",
                "name": "Tabelle JSON",
                "property": "payload",
                "action": "str",
                "pretty": false,
                "x": 640,
                "y": 140,
                "wires": [
                    []
                ]
            },
            {
                "id": "688bcd4b82f6fade",
                "type": "change",
                "z": "b86c034bc869f860",
                "name": "Logfile Tabelle",
                "rules": [
                    {
                        "t": "set",
                        "p": "protocols",
                        "pt": "msg",
                        "to": "[{\"id\":\"error\",\"color\":\"red\"},{\"id\":\"warning\",\"color\":\"yellow\"},{\"id\":\"info\",\"color\":\"#8f8f8f\"}]",
                        "tot": "json"
                    },
                    {
                        "t": "set",
                        "p": "payload",
                        "pt": "msg",
                        "to": "payload.{\t        \"datetime\" : datetime,\t        \"topic\" : topic,\t        \"level\" : ' <font color=\\\"' & $single($$.protocols, function($v){$v.id = level}).color & '\\\"> ' & level,        \t        \"message\" : message       \t}",
                        "tot": "jsonata"
                    }
                ],
                "action": "",
                "property": "",
                "from": "",
                "to": "",
                "reg": false,
                "x": 420,
                "y": 140,
                "wires": [
                    [
                        "fccb4af5d833ca96",
                        "ef455138a0ee4d91"
                    ]
                ]
            },
            {
                "id": "0b4c7d376b9e7a79",
                "type": "ioBroker in",
                "z": "b86c034bc869f860",
                "name": "Logfile Auswahl Filter",
                "topic": "0_userdata.0.System.homee.Logfile.AuswahlFilter",
                "payloadType": "value",
                "onlyack": "",
                "func": "all",
                "gap": "",
                "fireOnStart": "false",
                "outFormat": "MQTT",
                "x": 180,
                "y": 280,
                "wires": [
                    []
                ]
            }
        ]
        

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

        @oli Nun zum Einen musst Du mal aufhören die HTML Formatierungen da rein zu machen, wenn Du mit den Daten arbeiten willst. Das ist halt ein Manko dieses Tabellen Widgets - aber man muss ja nicht alle Spalten anzeigen. Man kann das zwar wieder mit $contains machen - aber ich rate Dir einfach wenn Du nach severity filtern willst, dass Du eine extra Spalte level machst und dann noch eine mit der Du dann mit Deiner Formatierung arbeitest. Also ich hab mal ein level ohne Formatierung angelegt - wie gesagt solange Du hier immer HTML Formatierungen mitschleppen musst, würde ich halt unterschiedliche Spalten machen:

        450539c0-e2e1-4272-9e77-1fdf499045e8-image.png

        Anzeigen kannst Du dann level_d anstatt level - aber mit level wird gefiltert.

        Oder alternativ - Du machst halt die Formatierung immer zum Schluss. Habe ich mal als Deine präferierte Lösung angenommen.

        Wichtig ist, dass wenn Du die Anzahl begrenzen willst, ja wohl die neuesten Logeinträge sehen willst, deshalb habe ich mal absteigend nach datetime sortiert.

        3d8a13c5-0774-4edb-8878-3af13161b443-image.png

        Das Auslesen der Logdatei habe ich mal in die Eigenschaft msg.log gemacht, somit ist die payload der Filter bzw. das level

        [
           {
               "id": "ab66ad002a717f0c",
               "type": "change",
               "z": "b86c034bc869f860",
               "name": "Log-Datei auslesen",
               "rules": [
                   {
                       "t": "set",
                       "p": "log",
                       "pt": "msg",
                       "to": "[{\"datetime\":\"2023-03-18 11:51:46\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:53:13\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:53:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:01\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:03\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:24\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:46\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:28\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:51\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:12\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:33\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:59\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:58:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.001 s error code: 8 error message: Connection timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 11:58:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 11:59:10\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.2472 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 11:59:10\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 11:59:31\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:00:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.0002 s error code: 8 error message: Operation timed out after 15000 milliseconds with 0 bytes received http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:00:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:00:18\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:00:30\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:00:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:13\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:18\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:01:19\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:01:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:58\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:02:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:02:25\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:04:05\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:05:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:06:18\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:06:19\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:06:19\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:06:38\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:06:51\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:08:07\",\"topic\":\"WEB\",\"level\":\"error\",\"message\":\" <resolve geolocation> response: timing: 50.0414 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:08:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:10:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 50.0297 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:10:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:11:13\",\"topic\":\"WEB\",\"level\":\"error\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:11:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:12:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0151 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0122 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 29 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> EG / Wohnzimmer / Netatmo (nodeID:29) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 30 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> Netatmo Aussenraum (nodeID:30) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 31 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> EG / Büro / Netatmo (nodeID:31) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 32 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> DG / Schlafzimmer / Netatmo (nodeID:32) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0049 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:58\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:12:59\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0113 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request timed out\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 29 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 30 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 31 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 32 unavailable\"},{\"datetime\":\"2023-03-18 12:13:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> EG / Wohnzimmer / Netatmo (nodeID: 29) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> Netatmo Aussenraum (nodeID: 30) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> EG / Büro / Netatmo (nodeID: 31) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> DG / Schlafzimmer / Netatmo (nodeID: 32) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:30\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:15:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:15:39\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:00\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:05\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:26\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:56\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:16\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:37\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:20:20\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:20:41\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:24\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:50\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:11\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:32\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:23:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:23:39\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:01\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:43\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:58\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:25:04\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:25:25\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:25:38\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:25:39\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:25:45\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:26:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:26:41\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:27:15\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:27:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:50\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:12\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:55\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:30:21\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:30:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:31:04\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:31:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:32:18\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 30.2498 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:32:18\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:32:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 20.0186 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:32:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:33:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:33:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request failed (HTTP status code: 403): {\\\"error\\\":{\\\"code\\\":3,\\\"message\\\":\\\"Access token expired\\\"}}\"},{\"datetime\":\"2023-03-18 12:33:40\",\"topic\":\"O_AUTH2_CLIENT\",\"level\":\"info\",\"message\":\" ✅ <refresh access> access successfully refreshed\"},{\"datetime\":\"2023-03-18 12:33:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:34:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:34:31\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:35:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.0022 s error code: 8 error message: Operation timed out after 15001 milliseconds with 0 bytes received http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:35:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:35:28\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:35:49\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:36:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:36:49\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:37:20\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:37:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:54\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:39:15\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:39:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:40:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:40:45\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:48\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:42:17\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"}]",
                       "tot": "json"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 410,
               "y": 280,
               "wires": [
                   [
                       "a0d3511f1e97b4cb"
                   ]
               ]
           },
           {
               "id": "1d94278206c3c1dc",
               "type": "change",
               "z": "b86c034bc869f860",
               "name": "Formatiere Tabelle",
               "rules": [
                   {
                       "t": "set",
                       "p": "protocols",
                       "pt": "msg",
                       "to": "[{\"id\":\"error\",\"color\":\"red\"},{\"id\":\"warning\",\"color\":\"yellow\"},{\"id\":\"info\",\"color\":\"#8f8f8f\"}]",
                       "tot": "json"
                   },
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "payload.{\t        \"datetime\" : datetime,\t        \"topic\" : topic,\t        \"level\" : ' <font color=\\\"' & $single($$.protocols, function($v){$v.id = level}).color & '\\\"> ' & level,        \t        \"message\" : message       \t}",
                       "tot": "jsonata"
                   },
                   {
                       "t": "delete",
                       "p": "log",
                       "pt": "msg"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 1210,
               "y": 280,
               "wires": [
                   [
                       "893c55a574142a24",
                       "8693a1915866b8d6"
                   ]
               ]
           },
           {
               "id": "893c55a574142a24",
               "type": "debug",
               "z": "b86c034bc869f860",
               "name": "Logfile Tabelle",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "true",
               "targetType": "full",
               "statusVal": "",
               "statusType": "auto",
               "x": 1420,
               "y": 240,
               "wires": []
           },
           {
               "id": "2468b33cf89e3660",
               "type": "switch",
               "z": "b86c034bc869f860",
               "name": "Filtern?",
               "property": "payload",
               "propertyType": "msg",
               "rules": [
                   {
                       "t": "regex",
                       "v": "error|warning|info",
                       "vt": "str",
                       "case": false
                   },
                   {
                       "t": "else"
                   }
               ],
               "checkall": "true",
               "repair": false,
               "outputs": 2,
               "x": 820,
               "y": 280,
               "wires": [
                   [
                       "768f74e270b64a67"
                   ],
                   [
                       "92546bb5880315fa"
                   ]
               ]
           },
           {
               "id": "a0d3511f1e97b4cb",
               "type": "change",
               "z": "b86c034bc869f860",
               "name": "Max = Anzahl - 1",
               "rules": [
                   {
                       "t": "set",
                       "p": "max",
                       "pt": "msg",
                       "to": "4",
                       "tot": "num"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 630,
               "y": 280,
               "wires": [
                   [
                       "2468b33cf89e3660"
                   ]
               ]
           },
           {
               "id": "768f74e270b64a67",
               "type": "change",
               "z": "b86c034bc869f860",
               "name": "mit Filter",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "log[level=$$.payload]^(> datetime )[[0..$$.max]]",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 980,
               "y": 240,
               "wires": [
                   [
                       "1d94278206c3c1dc"
                   ]
               ]
           },
           {
               "id": "92546bb5880315fa",
               "type": "change",
               "z": "b86c034bc869f860",
               "name": "ohne Filter",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "log^(> datetime )[[0..$$.max]]",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 990,
               "y": 320,
               "wires": [
                   [
                       "1d94278206c3c1dc"
                   ]
               ]
           },
           {
               "id": "8693a1915866b8d6",
               "type": "json",
               "z": "b86c034bc869f860",
               "name": "Tabelle JSON",
               "property": "payload",
               "action": "str",
               "pretty": false,
               "x": 1420,
               "y": 280,
               "wires": [
                   []
               ]
           }
        ]
        

        Du kannst in die Switch Node - die prüft ob gefiltert werden soll oder nicht für den 2. Ausgang auch "any" reinschreiben. Ich hab halt einfach gemacht, dass wenn es nicht error, warning oder info ist, dann wird nicht gefiltert.

        EDIT: Flow nochmal zum Import editiert (12:06)

        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.

        O 1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @oli Nun zum Einen musst Du mal aufhören die HTML Formatierungen da rein zu machen, wenn Du mit den Daten arbeiten willst. Das ist halt ein Manko dieses Tabellen Widgets - aber man muss ja nicht alle Spalten anzeigen. Man kann das zwar wieder mit $contains machen - aber ich rate Dir einfach wenn Du nach severity filtern willst, dass Du eine extra Spalte level machst und dann noch eine mit der Du dann mit Deiner Formatierung arbeitest. Also ich hab mal ein level ohne Formatierung angelegt - wie gesagt solange Du hier immer HTML Formatierungen mitschleppen musst, würde ich halt unterschiedliche Spalten machen:

          450539c0-e2e1-4272-9e77-1fdf499045e8-image.png

          Anzeigen kannst Du dann level_d anstatt level - aber mit level wird gefiltert.

          Oder alternativ - Du machst halt die Formatierung immer zum Schluss. Habe ich mal als Deine präferierte Lösung angenommen.

          Wichtig ist, dass wenn Du die Anzahl begrenzen willst, ja wohl die neuesten Logeinträge sehen willst, deshalb habe ich mal absteigend nach datetime sortiert.

          3d8a13c5-0774-4edb-8878-3af13161b443-image.png

          Das Auslesen der Logdatei habe ich mal in die Eigenschaft msg.log gemacht, somit ist die payload der Filter bzw. das level

          [
             {
                 "id": "ab66ad002a717f0c",
                 "type": "change",
                 "z": "b86c034bc869f860",
                 "name": "Log-Datei auslesen",
                 "rules": [
                     {
                         "t": "set",
                         "p": "log",
                         "pt": "msg",
                         "to": "[{\"datetime\":\"2023-03-18 11:51:46\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:52:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:53:13\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:53:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:01\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:54:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:03\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:24\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:55:46\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:28\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:56:51\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:12\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:33\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:57:59\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 11:58:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.001 s error code: 8 error message: Connection timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 11:58:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 11:59:10\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.2472 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 11:59:10\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 11:59:31\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:00:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.0002 s error code: 8 error message: Operation timed out after 15000 milliseconds with 0 bytes received http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:00:08\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:00:18\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:00:30\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:00:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:13\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:18\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:01:19\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:01:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:01:58\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:02:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:02:25\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:04:05\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:05:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:06:18\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:06:19\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:06:19\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:06:38\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:06:51\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:08:07\",\"topic\":\"WEB\",\"level\":\"error\",\"message\":\" <resolve geolocation> response: timing: 50.0414 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:08:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:10:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 50.0297 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:10:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:11:13\",\"topic\":\"WEB\",\"level\":\"error\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:11:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:12:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0151 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0122 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 29 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> EG / Wohnzimmer / Netatmo (nodeID:29) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 30 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> Netatmo Aussenraum (nodeID:30) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 31 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> EG / Büro / Netatmo (nodeID:31) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 32 unavailable\"},{\"datetime\":\"2023-03-18 12:12:22\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set unavailable> DG / Schlafzimmer / Netatmo (nodeID:32) | reason refreshAttributes\"},{\"datetime\":\"2023-03-18 12:12:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0049 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:12:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request timed out\"},{\"datetime\":\"2023-03-18 12:12:58\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:12:59\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <netatmo cpr get> response: timing: 15.0113 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get camera data> request timed out\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 29 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 30 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 31 unavailable\"},{\"datetime\":\"2023-03-18 12:13:02\",\"topic\":\"NETATMO\",\"level\":\"info\",\"message\":\" <refresh attributes> device not in map - set nodeID: 32 unavailable\"},{\"datetime\":\"2023-03-18 12:13:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> EG / Wohnzimmer / Netatmo (nodeID: 29) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> Netatmo Aussenraum (nodeID: 30) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> EG / Büro / Netatmo (nodeID: 31) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:36\",\"topic\":\"HAL\",\"level\":\"info\",\"message\":\" <set available> DG / Schlafzimmer / Netatmo (nodeID: 32) | reason refresh ok\"},{\"datetime\":\"2023-03-18 12:13:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:30\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:14:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:15:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:15:39\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:00\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:16:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:05\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:26\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:17:47\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:18:56\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:16\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:37\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:19:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:20:20\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:20:41\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:24\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:21:50\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:11\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:32\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:22:53\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:23:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:23:39\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:01\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:22\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:43\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:24:58\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" ⚠️ <homee proxy> no connection\"},{\"datetime\":\"2023-03-18 12:25:04\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:25:25\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:25:38\",\"topic\":\"MAIN\",\"level\":\"info\",\"message\":\" 📡 <homee proxy> connection established 👌\"},{\"datetime\":\"2023-03-18 12:25:39\",\"topic\":\"MAIN\",\"level\":\"warning\",\"message\":\" <system call> command: \\\"/etc/init.d/S49chrony restart\\\" exited with code: 1\"},{\"datetime\":\"2023-03-18 12:25:45\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:26:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:26:41\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:27:15\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:27:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:07\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:29\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:28:50\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:12\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:34\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:29:55\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:30:21\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:30:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:31:04\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:31:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:32:18\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 30.2498 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:32:18\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:32:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 20.0186 s error code: 8 error message: Resolving timed out after 15000 milliseconds http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:32:58\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:33:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:33:40\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <netatmo get weather station data> request failed (HTTP status code: 403): {\\\"error\\\":{\\\"code\\\":3,\\\"message\\\":\\\"Access token expired\\\"}}\"},{\"datetime\":\"2023-03-18 12:33:40\",\"topic\":\"O_AUTH2_CLIENT\",\"level\":\"info\",\"message\":\" ✅ <refresh access> access successfully refreshed\"},{\"datetime\":\"2023-03-18 12:33:44\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:34:09\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:34:31\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:35:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" <resolve geolocation> response: timing: 15.0022 s error code: 8 error message: Operation timed out after 15001 milliseconds with 0 bytes received http status code: 0 body: \"},{\"datetime\":\"2023-03-18 12:35:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 0): \"},{\"datetime\":\"2023-03-18 12:35:28\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:35:49\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:36:14\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:36:49\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:37:20\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:37:42\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:02\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:38:54\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:39:15\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:39:52\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:40:23\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:40:45\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:06\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:27\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:41:48\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"},{\"datetime\":\"2023-03-18 12:42:17\",\"topic\":\"WEB\",\"level\":\"warning\",\"message\":\" ⚠️ <resolve geolocation> request failed (HTTP status code: 429): \"}]",
                         "tot": "json"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 410,
                 "y": 280,
                 "wires": [
                     [
                         "a0d3511f1e97b4cb"
                     ]
                 ]
             },
             {
                 "id": "1d94278206c3c1dc",
                 "type": "change",
                 "z": "b86c034bc869f860",
                 "name": "Formatiere Tabelle",
                 "rules": [
                     {
                         "t": "set",
                         "p": "protocols",
                         "pt": "msg",
                         "to": "[{\"id\":\"error\",\"color\":\"red\"},{\"id\":\"warning\",\"color\":\"yellow\"},{\"id\":\"info\",\"color\":\"#8f8f8f\"}]",
                         "tot": "json"
                     },
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "payload.{\t        \"datetime\" : datetime,\t        \"topic\" : topic,\t        \"level\" : ' <font color=\\\"' & $single($$.protocols, function($v){$v.id = level}).color & '\\\"> ' & level,        \t        \"message\" : message       \t}",
                         "tot": "jsonata"
                     },
                     {
                         "t": "delete",
                         "p": "log",
                         "pt": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1210,
                 "y": 280,
                 "wires": [
                     [
                         "893c55a574142a24",
                         "8693a1915866b8d6"
                     ]
                 ]
             },
             {
                 "id": "893c55a574142a24",
                 "type": "debug",
                 "z": "b86c034bc869f860",
                 "name": "Logfile Tabelle",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "true",
                 "targetType": "full",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1420,
                 "y": 240,
                 "wires": []
             },
             {
                 "id": "2468b33cf89e3660",
                 "type": "switch",
                 "z": "b86c034bc869f860",
                 "name": "Filtern?",
                 "property": "payload",
                 "propertyType": "msg",
                 "rules": [
                     {
                         "t": "regex",
                         "v": "error|warning|info",
                         "vt": "str",
                         "case": false
                     },
                     {
                         "t": "else"
                     }
                 ],
                 "checkall": "true",
                 "repair": false,
                 "outputs": 2,
                 "x": 820,
                 "y": 280,
                 "wires": [
                     [
                         "768f74e270b64a67"
                     ],
                     [
                         "92546bb5880315fa"
                     ]
                 ]
             },
             {
                 "id": "a0d3511f1e97b4cb",
                 "type": "change",
                 "z": "b86c034bc869f860",
                 "name": "Max = Anzahl - 1",
                 "rules": [
                     {
                         "t": "set",
                         "p": "max",
                         "pt": "msg",
                         "to": "4",
                         "tot": "num"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 630,
                 "y": 280,
                 "wires": [
                     [
                         "2468b33cf89e3660"
                     ]
                 ]
             },
             {
                 "id": "768f74e270b64a67",
                 "type": "change",
                 "z": "b86c034bc869f860",
                 "name": "mit Filter",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "log[level=$$.payload]^(> datetime )[[0..$$.max]]",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 980,
                 "y": 240,
                 "wires": [
                     [
                         "1d94278206c3c1dc"
                     ]
                 ]
             },
             {
                 "id": "92546bb5880315fa",
                 "type": "change",
                 "z": "b86c034bc869f860",
                 "name": "ohne Filter",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "log^(> datetime )[[0..$$.max]]",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 990,
                 "y": 320,
                 "wires": [
                     [
                         "1d94278206c3c1dc"
                     ]
                 ]
             },
             {
                 "id": "8693a1915866b8d6",
                 "type": "json",
                 "z": "b86c034bc869f860",
                 "name": "Tabelle JSON",
                 "property": "payload",
                 "action": "str",
                 "pretty": false,
                 "x": 1420,
                 "y": 280,
                 "wires": [
                     []
                 ]
             }
          ]
          

          Du kannst in die Switch Node - die prüft ob gefiltert werden soll oder nicht für den 2. Ausgang auch "any" reinschreiben. Ich hab halt einfach gemacht, dass wenn es nicht error, warning oder info ist, dann wird nicht gefiltert.

          EDIT: Flow nochmal zum Import editiert (12:06)

          O Online
          O Online
          Oli
          schrieb am zuletzt editiert von
          #111

          @mickym

          vielen Dank für deine Hilfe, dein Flow funktioniert super und das Problem sitzt wieder mal hier vor der Tastatur.

          Ich habe meinen Flow jetzt so verkabelt, ich hoffe das passt erstmal so?
          caf3540f-662f-4a02-a378-c2b4cf6b0cb8-image.png

          Mir ist aufgefallen, dass es 2 - 3 Sekunden dauern kann, bis die aktuelle Log Datei abgerufen ist und deshalb bleibt wahrscheinlich auch meine Tabelle leer, kann man das irgendwie synchronisieren?

          Wie kann ich dem Flow beibringen, dass egal wodurch er gestartet wird, er sich immer den Filter aus dem Datenpunkt holt?

          Gruß
          Oliver

          mickymM 1 Antwort Letzte Antwort
          0
          • O Oli

            @mickym

            vielen Dank für deine Hilfe, dein Flow funktioniert super und das Problem sitzt wieder mal hier vor der Tastatur.

            Ich habe meinen Flow jetzt so verkabelt, ich hoffe das passt erstmal so?
            caf3540f-662f-4a02-a378-c2b4cf6b0cb8-image.png

            Mir ist aufgefallen, dass es 2 - 3 Sekunden dauern kann, bis die aktuelle Log Datei abgerufen ist und deshalb bleibt wahrscheinlich auch meine Tabelle leer, kann man das irgendwie synchronisieren?

            Wie kann ich dem Flow beibringen, dass egal wodurch er gestartet wird, er sich immer den Filter aus dem Datenpunkt holt?

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

            @oli

            dfa1ac7a-24ae-489c-b8e3-c3e7b26dd7e6-image.png

            Solches Kreuz- und Querchaos macht man nicht. Hier kommen Nachrichten teilweise 3 fache an. Nutze den Flowkontext. Ich helfe Dir - nur muss ich wissen, ob die hommeLog Node eigenständig triggert oder nur über den Filterdatenpunkt angetriggert wird. Das ist Chaos! Im Prinzip sollte der Filterdatenpunkt NICHT den homeeLog triggern. Dies ganzen Verbindungen müssen weg.

            Wie gesagt ich habe keine Ahnung ob Deine Homee Log Node alleine triggert. Dann speicherst Du das einfach im Kontext und holst den Filer ab.
            Die ChangeNode Log-Datei auslesen holt das Log aus dem KOntext egal ob es kürzlich aktualisiert wurde oder der Filter geändert wurde:

            c21b74d1-f9af-4d73-a759-0760a59ccf2a-image.png

            [
               {
                   "id": "0b4c7d376b9e7a79",
                   "type": "ioBroker in",
                   "z": "b86c034bc869f860",
                   "name": "Logfile Auswahl Filter",
                   "topic": "0_userdata.0.System.homee.Logfile.AuswahlFilter",
                   "payloadType": "value",
                   "onlyack": "",
                   "func": "all",
                   "gap": "",
                   "fireOnStart": "false",
                   "outFormat": "MQTT",
                   "x": 660,
                   "y": 280,
                   "wires": [
                       [
                           "ab66ad002a717f0c"
                       ]
                   ]
               },
               {
                   "id": "ab66ad002a717f0c",
                   "type": "change",
                   "z": "b86c034bc869f860",
                   "name": "Log-Datei auslesen",
                   "rules": [
                       {
                           "t": "set",
                           "p": "log",
                           "pt": "msg",
                           "to": "homee.log",
                           "tot": "flow"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 950,
                   "y": 280,
                   "wires": [
                       [
                           "a0d3511f1e97b4cb"
                       ]
                   ]
               },
               {
                   "id": "afac67dae8f9fe02",
                   "type": "change",
                   "z": "b86c034bc869f860",
                   "name": "",
                   "rules": [
                       {
                           "t": "set",
                           "p": "homee.log",
                           "pt": "flow",
                           "to": "payload",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 520,
                   "y": 200,
                   "wires": [
                       [
                           "cd4b9c8eb839628f"
                       ]
                   ]
               },
               {
                   "id": "cd4b9c8eb839628f",
                   "type": "ioBroker get",
                   "z": "b86c034bc869f860",
                   "name": "Get Filter",
                   "topic": "0_userdata.0.System.homee.Logfile.AuswahlFilter",
                   "attrname": "payload",
                   "payloadType": "value",
                   "errOnInvalidState": "nothing",
                   "x": 720,
                   "y": 200,
                   "wires": [
                       [
                           "ab66ad002a717f0c"
                       ]
                   ]
               },
               {
                   "id": "14fd6706a4f3b023",
                   "type": "inject",
                   "z": "b86c034bc869f860",
                   "name": "test",
                   "props": [
                       {
                           "p": "payload"
                       }
                   ],
                   "repeat": "",
                   "crontab": "",
                   "once": false,
                   "onceDelay": 0.1,
                   "topic": "",
                   "payload": "info",
                   "payloadType": "str",
                   "x": 750,
                   "y": 340,
                   "wires": [
                       [
                           "ab66ad002a717f0c"
                       ]
                   ]
               }
            ]
            

            aber so sieht das sauber und mit einem definierten Nachrichtenflow aus.

            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.

            O 1 Antwort Letzte Antwort
            0
            • mickymM mickym

              @oli

              dfa1ac7a-24ae-489c-b8e3-c3e7b26dd7e6-image.png

              Solches Kreuz- und Querchaos macht man nicht. Hier kommen Nachrichten teilweise 3 fache an. Nutze den Flowkontext. Ich helfe Dir - nur muss ich wissen, ob die hommeLog Node eigenständig triggert oder nur über den Filterdatenpunkt angetriggert wird. Das ist Chaos! Im Prinzip sollte der Filterdatenpunkt NICHT den homeeLog triggern. Dies ganzen Verbindungen müssen weg.

              Wie gesagt ich habe keine Ahnung ob Deine Homee Log Node alleine triggert. Dann speicherst Du das einfach im Kontext und holst den Filer ab.
              Die ChangeNode Log-Datei auslesen holt das Log aus dem KOntext egal ob es kürzlich aktualisiert wurde oder der Filter geändert wurde:

              c21b74d1-f9af-4d73-a759-0760a59ccf2a-image.png

              [
                 {
                     "id": "0b4c7d376b9e7a79",
                     "type": "ioBroker in",
                     "z": "b86c034bc869f860",
                     "name": "Logfile Auswahl Filter",
                     "topic": "0_userdata.0.System.homee.Logfile.AuswahlFilter",
                     "payloadType": "value",
                     "onlyack": "",
                     "func": "all",
                     "gap": "",
                     "fireOnStart": "false",
                     "outFormat": "MQTT",
                     "x": 660,
                     "y": 280,
                     "wires": [
                         [
                             "ab66ad002a717f0c"
                         ]
                     ]
                 },
                 {
                     "id": "ab66ad002a717f0c",
                     "type": "change",
                     "z": "b86c034bc869f860",
                     "name": "Log-Datei auslesen",
                     "rules": [
                         {
                             "t": "set",
                             "p": "log",
                             "pt": "msg",
                             "to": "homee.log",
                             "tot": "flow"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 950,
                     "y": 280,
                     "wires": [
                         [
                             "a0d3511f1e97b4cb"
                         ]
                     ]
                 },
                 {
                     "id": "afac67dae8f9fe02",
                     "type": "change",
                     "z": "b86c034bc869f860",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "homee.log",
                             "pt": "flow",
                             "to": "payload",
                             "tot": "msg"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 520,
                     "y": 200,
                     "wires": [
                         [
                             "cd4b9c8eb839628f"
                         ]
                     ]
                 },
                 {
                     "id": "cd4b9c8eb839628f",
                     "type": "ioBroker get",
                     "z": "b86c034bc869f860",
                     "name": "Get Filter",
                     "topic": "0_userdata.0.System.homee.Logfile.AuswahlFilter",
                     "attrname": "payload",
                     "payloadType": "value",
                     "errOnInvalidState": "nothing",
                     "x": 720,
                     "y": 200,
                     "wires": [
                         [
                             "ab66ad002a717f0c"
                         ]
                     ]
                 },
                 {
                     "id": "14fd6706a4f3b023",
                     "type": "inject",
                     "z": "b86c034bc869f860",
                     "name": "test",
                     "props": [
                         {
                             "p": "payload"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "payload": "info",
                     "payloadType": "str",
                     "x": 750,
                     "y": 340,
                     "wires": [
                         [
                             "ab66ad002a717f0c"
                         ]
                     ]
                 }
              ]
              

              aber so sieht das sauber und mit einem definierten Nachrichtenflow aus.

              O Online
              O Online
              Oli
              schrieb am zuletzt editiert von Oli
              #113

              @mickym

              die homeeLog Node triggert nicht eigenständig. Ich möchte sie auf 2 Wege triggern, 1. Zeitgesteuert (jede Stunde), 2. Wenn sich der Filterdatenpunkt ändert.
              Beim Zeitgesteuerten triggern, soll aber trotzdem der gesetzte Filter im Datenpunkt berücksichtigt werden.

              Edit:
              Super, jetzt funktioniert es, wie es soll, danke nochmal
              81c9752e-5db2-4ad8-b7be-bf1580ba9c27-image.png

              Gruß
              Oliver

              mickymM 1 Antwort Letzte Antwort
              0
              • O Oli

                @mickym

                die homeeLog Node triggert nicht eigenständig. Ich möchte sie auf 2 Wege triggern, 1. Zeitgesteuert (jede Stunde), 2. Wenn sich der Filterdatenpunkt ändert.
                Beim Zeitgesteuerten triggern, soll aber trotzdem der gesetzte Filter im Datenpunkt berücksichtigt werden.

                Edit:
                Super, jetzt funktioniert es, wie es soll, danke nochmal
                81c9752e-5db2-4ad8-b7be-bf1580ba9c27-image.png

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

                @oli Sehr gut - nur in diesem Fall müsstest Du gar nicht mehr über den Flowkontext gehen und könntest die Ausgabe direkt tätigen. Aber das mit dem Triggern ist nun sauber gelöst. :)

                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.

                O 1 Antwort Letzte Antwort
                0
                • mickymM mickym

                  @oli Sehr gut - nur in diesem Fall müsstest Du gar nicht mehr über den Flowkontext gehen und könntest die Ausgabe direkt tätigen. Aber das mit dem Triggern ist nun sauber gelöst. :)

                  O Online
                  O Online
                  Oli
                  schrieb am zuletzt editiert von
                  #115

                  @mickym
                  so, jetzt bin ich Dank deiner Unterstützung am letzten Punkt meiner Liste angelangt und was soll ich sagen, ich komme schon wieder mal nicht weiter.

                  Was möchte ich diesmal machen?

                  1. Heizpläne auslesen und in eine Tabelle schreiben, dass klappt auch bis auf eine Sache
                    ich möchte mir zu jedem Heizplan aus dem dazu gehörenden "schedule" die Punkte "rrule" und "variable_id" auslesen. Den Text des "rrule" möchte ich bearbeiten
                    und den Wert der "variable_id" durch das passenden "value" aus dem Bereich "variables" ersetzen.

                    a11db703-e1d6-4c09-8c9e-3a8d05bb7e2f-image.png
                    a1117af3-703f-401e-b8b3-ef281ad2e879-image.png

                    Das ganze sollte dann so ungefähr aussehen, für jeden Wochentag getrennt:

                  {
                      "name": "Heizplan / Arbeit / Wohnzimmer",
                      "aktiv": " <font color=\"orange\"> deaktiviert",
                      "type": "Heizplan",
                      "schedule": 24,
                      "devices": 4,
                      "temperatur": "Komfort Plus: 24°C<br>Komfort: 21°C<br>Eco: 18°C<br>Nacht: 15°C<br>Abwesend: 18°C<br>Fenster Offen: 8°C<br>Urlaub: 15°C",
                      "montag": "05:00 = 21°C<br> 23:20 = 18°C"
                    }
                  
                  1. Möchte ich den Namen des Heizplanes und die einzelnen "rrule" zerlegen und daraus Datenpunkte zusammenstellen und die Werte in diese Datenpunkte schreiben
                  "name": "Heizplan / Arbeit / Wohnzimmer"
                  "rrule": "FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1",
                  "variable_id": 3
                  
                   {
                       "id": 3,
                       "name": "Nacht",
                       "value": 15,
                       "type": 4
                  },
                  
                  Datenpunkte:
                  heatingcontrol.0.Profiles.1.Wohnzimmer.Sun.Periods.1.Temperature
                  heatingcontrol.0.Profiles.1.Wohnzimmer.Sun.Periods.1.time
                  
                  1 = Arbeit aus dem Namen vom Heizplan
                  Wohnzimmer = Raum aus Namen vom Heizplan
                  Sun = rrule: BYDAY
                  1 = Reihenfolge der Einträge im Adapter
                  Temperature = value
                  time = rrule: BYHOUR & BYMINUTE
                  
                  

                  Ist das überhaupt alles möglich?

                  Hier mal der Flow mit den Daten:

                  [
                     {
                         "id": "b86c034bc869f860",
                         "type": "tab",
                         "label": "Test",
                         "disabled": false,
                         "info": "",
                         "env": []
                     },
                     {
                         "id": "6974f3ce73a121fe",
                         "type": "change",
                         "z": "b86c034bc869f860",
                         "name": "decodeUrlComponents",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload ~> |$.plans|{\"name\":$decodeUrlComponent(name)},\"\"|",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 600,
                         "y": 120,
                         "wires": [
                             [
                                 "bd5b22c032ec8dff"
                             ]
                         ]
                     },
                     {
                         "id": "bd5b22c032ec8dff",
                         "type": "change",
                         "z": "b86c034bc869f860",
                         "name": "Alle Päne",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload.plans",
                                 "tot": "msg"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 800,
                         "y": 120,
                         "wires": [
                             [
                                 "1a84de43e761214e"
                             ]
                         ]
                     },
                     {
                         "id": "710d7681444799fa",
                         "type": "change",
                         "z": "b86c034bc869f860",
                         "name": "hole alle Pläne",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "{}",
                                 "tot": "json"
                             },
                             {
                                 "t": "set",
                                 "p": "payload.plans",
                                 "pt": "msg",
                                 "to": "homee.plans",
                                 "tot": "global"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 280,
                         "y": 120,
                         "wires": [
                             [
                                 "6974f3ce73a121fe"
                             ]
                         ]
                     },
                     {
                         "id": "b72d8bd885e46d3b",
                         "type": "inject",
                         "z": "b86c034bc869f860",
                         "name": "trigger",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "[{\"id\":1,\"name\":\"Heizplan / Arbeit / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571493363,\"note\":\"\",\"order\":1,\"active_schedule\":29,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":1,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":2,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":3,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":4,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":21,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":22,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":3},{\"id\":23,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":24,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":25,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":26,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":27,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":28,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":29,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":30,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":31,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":32,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":33,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":34,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":35,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":36,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":37,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":38,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":39,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":42,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":3}],\"variables\":[{\"id\":1,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":2,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":3,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":4,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":5,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":6,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":7,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":1,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":5,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":2,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":4,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":3,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":7,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":3,\"name\":\"Heizplan / Arbeit / Bad\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571494193,\"note\":\"\",\"order\":2,\"active_schedule\":97,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":67,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":68,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":69,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":70,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":91,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":92,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":93,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":94,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":95,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":96,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":17},{\"id\":97,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":98,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":99,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":100,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":102,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":103,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":104,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":105,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":106,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":107,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15},{\"id\":108,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15},{\"id\":109,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":110,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":111,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":114,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":115,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":17},{\"id\":116,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":117,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":472,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":473,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":474,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":475,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":476,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15}],\"variables\":[{\"id\":15,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":16,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":17,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":18,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":19,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":20,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":21,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":7,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":19,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":8,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":18,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":9,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":21,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":4,\"name\":\"Heizplan / Arbeit / WC\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571494812,\"note\":\"\",\"order\":3,\"active_schedule\":126,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":119,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":126,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":127,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":128,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":129,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":130,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":131,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":132,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":133,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":134,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":135,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":138,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":139,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":24},{\"id\":140,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":24}],\"variables\":[{\"id\":22,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":23,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":24,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":25,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":26,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":27,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":28,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":10,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":26,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":11,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":25,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":12,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":28,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":5,\"name\":\"Heizplan / Arbeit / Büro\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571497652,\"note\":\"\",\"order\":4,\"active_schedule\":144,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":141,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":144,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":168,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":169,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":170,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":174,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":175,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":176,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":347,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":348,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":349,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":350,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":351,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":352,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31}],\"variables\":[{\"id\":29,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":30,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":31,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":32,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":33,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":34,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":35,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":13,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":33,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":14,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":32,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":15,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":35,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":6,\"name\":\"Heizplan / Frei / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508227,\"note\":\"\",\"order\":5,\"active_schedule\":201,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":201,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":207,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":208,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":209,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":210,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":211,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":212,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":213,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":214,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":215,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":216,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":217,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":218,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":219,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38}],\"variables\":[{\"id\":36,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":37,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":38,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":39,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":40,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":41,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":42,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":16,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":40,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":17,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":39,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":18,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":42,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":7,\"name\":\"Heizplan / Frei / Bad\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508465,\"note\":\"\",\"order\":6,\"active_schedule\":225,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":224,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":225,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":226,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":244,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":245,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":246,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":247,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":248,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":249,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":250,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":251,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":252,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":253,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":254,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":255,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":256,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":257,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":258,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":259,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":260,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":261,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":262,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":263,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":264,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":265,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":266,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":267,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":268,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45}],\"variables\":[{\"id\":43,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":44,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":45,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":46,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":47,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":48,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":49,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":19,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":47,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":20,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":46,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":21,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":49,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":8,\"name\":\"Heizplan / Frei / Büro\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508758,\"note\":\"\",\"order\":7,\"active_schedule\":293,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":269,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":293,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":294,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":295,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":296,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":297,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":298,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":459,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":460,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":461,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":462,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":463,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":464,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":465,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52}],\"variables\":[{\"id\":50,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":51,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":52,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":53,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":54,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":55,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":56,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":22,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":54,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":23,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":53,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":24,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":56,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":9,\"name\":\"Heizplan / Frei / WC\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508871,\"note\":\"\",\"order\":8,\"active_schedule\":329,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":305,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":329,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":330,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":331,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":332,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":333,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":334,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":337,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":340,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":443,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":444,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":466,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":467,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":468,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":469,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59}],\"variables\":[{\"id\":57,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":58,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":59,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":60,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":61,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":62,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":63,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":25,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":61,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":26,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":60,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":27,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":63,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":11,\"name\":\"Heizplan / Homeoffice / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572287598,\"note\":\"\",\"order\":9,\"active_schedule\":393,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":367,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":370,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":387,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":389,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":390,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":391,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":392,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":393,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":394,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":395,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":396,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":397,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":399,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":73},{\"id\":400,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":73}],\"variables\":[{\"id\":71,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":72,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":73,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":74,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":75,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":76,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":77,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":31,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":75,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":32,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":74,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":33,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":77,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":12,\"name\":\"Heizplan / Homeoffice / Büro\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572287884,\"note\":\"\",\"order\":10,\"active_schedule\":408,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":401,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":402,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":403,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":404,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":405,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":406,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":407,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":408,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":409,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":410,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":411,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":412,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":413,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":80},{\"id\":414,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":80},{\"id\":470,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":471,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80}],\"variables\":[{\"id\":78,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":79,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":80,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":81,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":82,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":83,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":84,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":34,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":82,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":35,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":81,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":36,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":84,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":13,\"name\":\"Heizplan / Homeoffice / Bad\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572288062,\"note\":\"\",\"order\":11,\"active_schedule\":427,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":415,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":416,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":417,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":418,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":419,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":420,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":421,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":422,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":423,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":424,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=15;INTERVAL=1\",\"variable_id\":87},{\"id\":425,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":426,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":427,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":428,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":429,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":430,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":431,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":432,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":433,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":434,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":85},{\"id\":435,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":85},{\"id\":436,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=30;INTERVAL=1\",\"variable_id\":87},{\"id\":437,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":438,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":439,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":440,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":87},{\"id\":441,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":442,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90}],\"variables\":[{\"id\":85,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":86,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":87,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":88,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":89,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":90,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":91,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":37,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":89,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":38,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":88,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":39,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":91,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":14,\"name\":\"Heizplan / Homeoffice / WC\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572288296,\"note\":\"\",\"order\":12,\"active_schedule\":449,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":445,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":446,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":447,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":448,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":449,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":450,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":451,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":452,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":453,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":454,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":455,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":456,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":457,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":94},{\"id\":458,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":94}],\"variables\":[{\"id\":92,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":93,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":94,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":95,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":96,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":97,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":98,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":40,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":96,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":41,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":95,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":42,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":98,\"delay\":0,\"priority\":10,\"type\":3}]}]",
                         "payloadType": "json",
                         "x": 110,
                         "y": 120,
                         "wires": [
                             [
                                 "710d7681444799fa"
                             ]
                         ]
                     },
                     {
                         "id": "e1d4373865c3cf15",
                         "type": "debug",
                         "z": "b86c034bc869f860",
                         "name": "Pläne Tabelle",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1280,
                         "y": 60,
                         "wires": []
                     },
                     {
                         "id": "19699d2393cbc46d",
                         "type": "json",
                         "z": "b86c034bc869f860",
                         "name": "Tabelle JSON",
                         "property": "payload",
                         "action": "str",
                         "pretty": false,
                         "x": 1280,
                         "y": 120,
                         "wires": [
                             []
                         ]
                     },
                     {
                         "id": "1a84de43e761214e",
                         "type": "change",
                         "z": "b86c034bc869f860",
                         "name": "Pläne Tabelle",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "active",
                                 "pt": "msg",
                                 "to": "[{\"id\":true,\"name\":\"aktivert\",\"color\":\"green\"},{\"id\":false,\"name\":\"deaktiviert\",\"color\":\"orange\"}]",
                                 "tot": "json"
                             },
                             {
                                 "t": "set",
                                 "p": "types",
                                 "pt": "msg",
                                 "to": "[\t    {\t        \"id\": 0,\t        \"name\": \"Keine Zuordnung\"\t    },\t    {\t        \"id\": 1,\t        \"name\": \"Heizplan\"        \t    },\t    {\t        \"id\": 2,\t        \"name\": \"Energie\"        \t    },\t    {\t        \"id\": 3,\t        \"name\": \"OnOff\"        \t    },\t    {\t        \"id\": 4,\t        \"name\": \"Anwesenheitssimulation\"        \t    },\t    {\t        \"id\": 5,\t        \"name\": \"ElektroHeizung\"        \t    },\t    {\t        \"id\": 50,\t        \"name\": \"Windüberwachung\"        \t    },\t    {\t        \"id\": 51,\t        \"name\": \"Sonnenautomatisierung\"        \t    },\t    {\t        \"id\": 52,\t        \"name\": \"Dämmerungsautomatisierung\"        \t    }\t]",
                                 "tot": "jsonata"
                             },
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload.{\"name\" :name,        \t        \"aktiv\" : ' <font color=\\\"' & $single($$.active, function($v){$v.id = enabled}).color & '\\\"> ' & $single($$.active, function($v){$v.id = enabled}).name,\t        \"type\" :  $single($$.types, function($v){$v.id = type}).name,\t        \"schedule\" : $count(schedule),\t        \"devices\" : $count(node_ids),\t        \"temperatur\" :  variables[type=1 ].name & \": \" & variables[type=1 ].value & \"°C<br>\" &\t                        variables[type=2 ].name & \": \" & variables[type=2 ].value & \"°C<br>\" &  \t                        variables[type=3 ].name & \": \" & variables[type=3 ].value & \"°C<br>\" &\t                        variables[type=4 ].name & \": \" & variables[type=4 ].value & \"°C<br>\" & \t                        variables[type=5 ].name & \": \" & variables[type=5 ].value & \"°C<br>\" &                       \t                        variables[type=6 ].$decodeUrlComponent(name) & \": \" & variables[type=6 ].value & \"°C<br>\" &\t                        variables[type=7 ].name & \": \" & variables[type=7 ].value & \"°C\"                                  \t}",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1020,
                         "y": 120,
                         "wires": [
                             [
                                 "19699d2393cbc46d",
                                 "e1d4373865c3cf15"
                             ]
                         ]
                     }
                  ]
                  

                  Gruß
                  Oliver

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • O Oli

                    @mickym
                    so, jetzt bin ich Dank deiner Unterstützung am letzten Punkt meiner Liste angelangt und was soll ich sagen, ich komme schon wieder mal nicht weiter.

                    Was möchte ich diesmal machen?

                    1. Heizpläne auslesen und in eine Tabelle schreiben, dass klappt auch bis auf eine Sache
                      ich möchte mir zu jedem Heizplan aus dem dazu gehörenden "schedule" die Punkte "rrule" und "variable_id" auslesen. Den Text des "rrule" möchte ich bearbeiten
                      und den Wert der "variable_id" durch das passenden "value" aus dem Bereich "variables" ersetzen.

                      a11db703-e1d6-4c09-8c9e-3a8d05bb7e2f-image.png
                      a1117af3-703f-401e-b8b3-ef281ad2e879-image.png

                      Das ganze sollte dann so ungefähr aussehen, für jeden Wochentag getrennt:

                    {
                        "name": "Heizplan / Arbeit / Wohnzimmer",
                        "aktiv": " <font color=\"orange\"> deaktiviert",
                        "type": "Heizplan",
                        "schedule": 24,
                        "devices": 4,
                        "temperatur": "Komfort Plus: 24°C<br>Komfort: 21°C<br>Eco: 18°C<br>Nacht: 15°C<br>Abwesend: 18°C<br>Fenster Offen: 8°C<br>Urlaub: 15°C",
                        "montag": "05:00 = 21°C<br> 23:20 = 18°C"
                      }
                    
                    1. Möchte ich den Namen des Heizplanes und die einzelnen "rrule" zerlegen und daraus Datenpunkte zusammenstellen und die Werte in diese Datenpunkte schreiben
                    "name": "Heizplan / Arbeit / Wohnzimmer"
                    "rrule": "FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1",
                    "variable_id": 3
                    
                     {
                         "id": 3,
                         "name": "Nacht",
                         "value": 15,
                         "type": 4
                    },
                    
                    Datenpunkte:
                    heatingcontrol.0.Profiles.1.Wohnzimmer.Sun.Periods.1.Temperature
                    heatingcontrol.0.Profiles.1.Wohnzimmer.Sun.Periods.1.time
                    
                    1 = Arbeit aus dem Namen vom Heizplan
                    Wohnzimmer = Raum aus Namen vom Heizplan
                    Sun = rrule: BYDAY
                    1 = Reihenfolge der Einträge im Adapter
                    Temperature = value
                    time = rrule: BYHOUR & BYMINUTE
                    
                    

                    Ist das überhaupt alles möglich?

                    Hier mal der Flow mit den Daten:

                    [
                       {
                           "id": "b86c034bc869f860",
                           "type": "tab",
                           "label": "Test",
                           "disabled": false,
                           "info": "",
                           "env": []
                       },
                       {
                           "id": "6974f3ce73a121fe",
                           "type": "change",
                           "z": "b86c034bc869f860",
                           "name": "decodeUrlComponents",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload ~> |$.plans|{\"name\":$decodeUrlComponent(name)},\"\"|",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 600,
                           "y": 120,
                           "wires": [
                               [
                                   "bd5b22c032ec8dff"
                               ]
                           ]
                       },
                       {
                           "id": "bd5b22c032ec8dff",
                           "type": "change",
                           "z": "b86c034bc869f860",
                           "name": "Alle Päne",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload.plans",
                                   "tot": "msg"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 800,
                           "y": 120,
                           "wires": [
                               [
                                   "1a84de43e761214e"
                               ]
                           ]
                       },
                       {
                           "id": "710d7681444799fa",
                           "type": "change",
                           "z": "b86c034bc869f860",
                           "name": "hole alle Pläne",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "{}",
                                   "tot": "json"
                               },
                               {
                                   "t": "set",
                                   "p": "payload.plans",
                                   "pt": "msg",
                                   "to": "homee.plans",
                                   "tot": "global"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 280,
                           "y": 120,
                           "wires": [
                               [
                                   "6974f3ce73a121fe"
                               ]
                           ]
                       },
                       {
                           "id": "b72d8bd885e46d3b",
                           "type": "inject",
                           "z": "b86c034bc869f860",
                           "name": "trigger",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "[{\"id\":1,\"name\":\"Heizplan / Arbeit / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571493363,\"note\":\"\",\"order\":1,\"active_schedule\":29,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":1,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":2,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":3,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":4,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":21,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":22,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":3},{\"id\":23,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":24,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":25,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":26,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":27,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":28,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":29,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":30,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":31,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":32,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":33,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":34,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":35,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":36,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":37,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":38,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":39,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":42,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":3}],\"variables\":[{\"id\":1,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":2,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":3,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":4,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":5,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":6,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":7,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":1,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":5,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":2,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":4,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":3,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":7,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":3,\"name\":\"Heizplan / Arbeit / Bad\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571494193,\"note\":\"\",\"order\":2,\"active_schedule\":97,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":67,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":68,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":69,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":70,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":91,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":92,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":93,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":94,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":95,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":96,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":17},{\"id\":97,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":98,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":99,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":100,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":102,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":103,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":104,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":105,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":106,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":107,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15},{\"id\":108,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15},{\"id\":109,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":110,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":111,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":114,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":115,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":17},{\"id\":116,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":117,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":472,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":473,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":474,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":475,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":476,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15}],\"variables\":[{\"id\":15,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":16,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":17,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":18,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":19,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":20,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":21,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":7,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":19,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":8,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":18,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":9,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":21,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":4,\"name\":\"Heizplan / Arbeit / WC\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571494812,\"note\":\"\",\"order\":3,\"active_schedule\":126,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":119,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":126,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":127,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":128,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":129,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":130,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":131,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":132,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":133,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":134,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":135,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":138,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":139,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":24},{\"id\":140,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":24}],\"variables\":[{\"id\":22,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":23,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":24,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":25,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":26,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":27,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":28,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":10,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":26,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":11,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":25,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":12,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":28,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":5,\"name\":\"Heizplan / Arbeit / Büro\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571497652,\"note\":\"\",\"order\":4,\"active_schedule\":144,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":141,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":144,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":168,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":169,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":170,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":174,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":175,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":176,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":347,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":348,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":349,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":350,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":351,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":352,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31}],\"variables\":[{\"id\":29,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":30,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":31,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":32,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":33,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":34,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":35,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":13,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":33,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":14,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":32,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":15,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":35,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":6,\"name\":\"Heizplan / Frei / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508227,\"note\":\"\",\"order\":5,\"active_schedule\":201,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":201,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":207,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":208,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":209,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":210,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":211,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":212,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":213,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":214,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":215,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":216,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":217,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":218,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":219,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38}],\"variables\":[{\"id\":36,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":37,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":38,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":39,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":40,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":41,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":42,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":16,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":40,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":17,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":39,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":18,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":42,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":7,\"name\":\"Heizplan / Frei / Bad\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508465,\"note\":\"\",\"order\":6,\"active_schedule\":225,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":224,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":225,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":226,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":244,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":245,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":246,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":247,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":248,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":249,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":250,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":251,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":252,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":253,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":254,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":255,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":256,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":257,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":258,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":259,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":260,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":261,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":262,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":263,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":264,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":265,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":266,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":267,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":268,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45}],\"variables\":[{\"id\":43,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":44,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":45,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":46,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":47,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":48,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":49,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":19,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":47,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":20,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":46,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":21,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":49,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":8,\"name\":\"Heizplan / Frei / Büro\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508758,\"note\":\"\",\"order\":7,\"active_schedule\":293,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":269,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":293,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":294,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":295,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":296,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":297,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":298,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":459,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":460,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":461,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":462,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":463,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":464,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":465,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52}],\"variables\":[{\"id\":50,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":51,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":52,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":53,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":54,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":55,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":56,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":22,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":54,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":23,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":53,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":24,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":56,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":9,\"name\":\"Heizplan / Frei / WC\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508871,\"note\":\"\",\"order\":8,\"active_schedule\":329,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":305,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":329,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":330,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":331,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":332,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":333,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":334,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":337,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":340,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":443,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":444,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":466,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":467,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":468,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":469,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59}],\"variables\":[{\"id\":57,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":58,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":59,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":60,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":61,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":62,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":63,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":25,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":61,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":26,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":60,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":27,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":63,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":11,\"name\":\"Heizplan / Homeoffice / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572287598,\"note\":\"\",\"order\":9,\"active_schedule\":393,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":367,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":370,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":387,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":389,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":390,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":391,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":392,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":393,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":394,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":395,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":396,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":397,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":399,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":73},{\"id\":400,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":73}],\"variables\":[{\"id\":71,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":72,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":73,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":74,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":75,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":76,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":77,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":31,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":75,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":32,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":74,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":33,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":77,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":12,\"name\":\"Heizplan / Homeoffice / Büro\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572287884,\"note\":\"\",\"order\":10,\"active_schedule\":408,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":401,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":402,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":403,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":404,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":405,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":406,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":407,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":408,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":409,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":410,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":411,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":412,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":413,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":80},{\"id\":414,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":80},{\"id\":470,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":471,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80}],\"variables\":[{\"id\":78,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":79,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":80,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":81,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":82,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":83,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":84,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":34,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":82,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":35,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":81,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":36,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":84,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":13,\"name\":\"Heizplan / Homeoffice / Bad\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572288062,\"note\":\"\",\"order\":11,\"active_schedule\":427,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":415,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":416,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":417,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":418,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":419,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":420,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":421,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":422,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":423,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":424,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=15;INTERVAL=1\",\"variable_id\":87},{\"id\":425,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":426,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":427,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":428,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":429,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":430,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":431,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":432,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":433,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":434,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":85},{\"id\":435,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":85},{\"id\":436,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=30;INTERVAL=1\",\"variable_id\":87},{\"id\":437,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":438,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":439,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":440,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":87},{\"id\":441,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":442,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90}],\"variables\":[{\"id\":85,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":86,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":87,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":88,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":89,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":90,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":91,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":37,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":89,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":38,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":88,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":39,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":91,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":14,\"name\":\"Heizplan / Homeoffice / WC\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572288296,\"note\":\"\",\"order\":12,\"active_schedule\":449,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":445,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":446,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":447,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":448,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":449,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":450,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":451,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":452,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":453,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":454,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":455,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":456,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":457,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":94},{\"id\":458,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":94}],\"variables\":[{\"id\":92,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":93,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":94,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":95,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":96,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":97,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":98,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":40,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":96,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":41,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":95,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":42,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":98,\"delay\":0,\"priority\":10,\"type\":3}]}]",
                           "payloadType": "json",
                           "x": 110,
                           "y": 120,
                           "wires": [
                               [
                                   "710d7681444799fa"
                               ]
                           ]
                       },
                       {
                           "id": "e1d4373865c3cf15",
                           "type": "debug",
                           "z": "b86c034bc869f860",
                           "name": "Pläne Tabelle",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1280,
                           "y": 60,
                           "wires": []
                       },
                       {
                           "id": "19699d2393cbc46d",
                           "type": "json",
                           "z": "b86c034bc869f860",
                           "name": "Tabelle JSON",
                           "property": "payload",
                           "action": "str",
                           "pretty": false,
                           "x": 1280,
                           "y": 120,
                           "wires": [
                               []
                           ]
                       },
                       {
                           "id": "1a84de43e761214e",
                           "type": "change",
                           "z": "b86c034bc869f860",
                           "name": "Pläne Tabelle",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "active",
                                   "pt": "msg",
                                   "to": "[{\"id\":true,\"name\":\"aktivert\",\"color\":\"green\"},{\"id\":false,\"name\":\"deaktiviert\",\"color\":\"orange\"}]",
                                   "tot": "json"
                               },
                               {
                                   "t": "set",
                                   "p": "types",
                                   "pt": "msg",
                                   "to": "[\t    {\t        \"id\": 0,\t        \"name\": \"Keine Zuordnung\"\t    },\t    {\t        \"id\": 1,\t        \"name\": \"Heizplan\"        \t    },\t    {\t        \"id\": 2,\t        \"name\": \"Energie\"        \t    },\t    {\t        \"id\": 3,\t        \"name\": \"OnOff\"        \t    },\t    {\t        \"id\": 4,\t        \"name\": \"Anwesenheitssimulation\"        \t    },\t    {\t        \"id\": 5,\t        \"name\": \"ElektroHeizung\"        \t    },\t    {\t        \"id\": 50,\t        \"name\": \"Windüberwachung\"        \t    },\t    {\t        \"id\": 51,\t        \"name\": \"Sonnenautomatisierung\"        \t    },\t    {\t        \"id\": 52,\t        \"name\": \"Dämmerungsautomatisierung\"        \t    }\t]",
                                   "tot": "jsonata"
                               },
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload.{\"name\" :name,        \t        \"aktiv\" : ' <font color=\\\"' & $single($$.active, function($v){$v.id = enabled}).color & '\\\"> ' & $single($$.active, function($v){$v.id = enabled}).name,\t        \"type\" :  $single($$.types, function($v){$v.id = type}).name,\t        \"schedule\" : $count(schedule),\t        \"devices\" : $count(node_ids),\t        \"temperatur\" :  variables[type=1 ].name & \": \" & variables[type=1 ].value & \"°C<br>\" &\t                        variables[type=2 ].name & \": \" & variables[type=2 ].value & \"°C<br>\" &  \t                        variables[type=3 ].name & \": \" & variables[type=3 ].value & \"°C<br>\" &\t                        variables[type=4 ].name & \": \" & variables[type=4 ].value & \"°C<br>\" & \t                        variables[type=5 ].name & \": \" & variables[type=5 ].value & \"°C<br>\" &                       \t                        variables[type=6 ].$decodeUrlComponent(name) & \": \" & variables[type=6 ].value & \"°C<br>\" &\t                        variables[type=7 ].name & \": \" & variables[type=7 ].value & \"°C\"                                  \t}",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 1020,
                           "y": 120,
                           "wires": [
                               [
                                   "19699d2393cbc46d",
                                   "e1d4373865c3cf15"
                               ]
                           ]
                       }
                    ]
                    

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

                    @oli So ich habe fertig. ;) Hat mich nun auch ein paar Stunden gekostet und Du wirst sehen - inzwischen dauert die Ausführung auch einige Sekunden.
                    Ich denke auch, dass wenn Du diesen JSONATA Code verstanden hast, dann brauchst Du mich nicht mehr. Wie gesagt ich muss da nun auch rumprobieren.
                    Deinen Flow - habe ich die unnötigen Nodes weggeschmissen, Du musst halt selbst schauen, dass der Dateninput stimmt. Ich habe jetzt das genommen, was in der Inject Node an Daten vorhanden war.

                    Der ganze Flow schaut nun so aus:

                    6e7df186-e4ca-4c36-8bd4-4b7470684eee-image.png

                    1. Aufgabe die Tabelle - ich habs versucht einigermassen so hinzubekommen. Wenn Du komplett eigene Tabellen für jeden Wochentag haben willst, dann musst die Tabelle halt selbst noch mal auseinanderreißen. Das sollte aber nun auch für Dich kein Problem sein.

                    Ansonsten dürfte jedes Objekt in der Tabelle Deinen Vorgaben eigentlich entsprechen:

                    {
                      "name": "Heizplan / Arbeit / Wohnzimmer",
                      "aktiv": " <font color=\"orange\"> deaktiviert",
                      "type": "Heizplan",
                      "schedule": 24,
                      "devices": 4,
                      "temperatur": "Eco: 18°C<br> Komfort: 21°C<br> Nacht: 15°C<br> Abwesend: 18°C<br> Fenster Offen: 8°C<br> Komfort Plus: 24°C<br> Urlaub: 15°C",
                      "montag": "05:00 = 21°C<br> 06:30 = 18°C<br> 15:00 = 21°C<br> 23:20 = 15°C",
                      "dienstag": "05:00 = 21°C<br> 06:30 = 18°C<br> 15:00 = 21°C<br> 23:20 = 15°C",
                      "mittwoch": "05:00 = 21°C<br> 06:30 = 18°C<br> 15:00 = 21°C<br> 23:20 = 15°C",
                      "donnerstag": "05:00 = 21°C<br> 06:30 = 18°C<br> 15:00 = 21°C<br> 23:20 = 15°C",
                      "freitag": "05:00 = 21°C<br> 06:30 = 18°C<br> 14:00 = 21°C",
                      "samstag": "06:00 = 21°C<br> 01:00 = 15°C",
                      "sonntag": "08:00 = 21°C<br> 23:20 = 15°C<br> 01:00 = 15°C"
                    }
                    

                    Der 2. Teil der Aufgabe bestand nun darin Datenpunkte zu schreiben. Nachdem ich ja keinen heating-control Adapter verwende, habe ich mich halt an das gehalten was Du geschrieben hast, wobei das mit den Profilen für mich nicht vollständig war. Ich habe jetzt einfach mal folgende Profile genommen:

                    "profiles" :{"Arbeit":"1","Frei":"2","Homeoffice":"3"}
                    

                    Deine Datenpunkte (Pärchen) schauen nun so aus:

                    9348f16d-ded3-438b-b326-292b9efc3e2e-image.png

                    Ich hab sie mal als Command drin gelassen. Ich hab die beiden iobroker-Out Nodes mal deaktiviert - dann kannst bevor die Datenpunkte geschrieben werden noch mit weiteren Debug Nodes prüfen:

                    Hier der Code zum Import:

                    [
                       {
                           "id": "29c703f08796e8f8",
                           "type": "inject",
                           "z": "9c280ddf049b2b4d",
                           "name": "trigger",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "[{\"id\":1,\"name\":\"Heizplan / Arbeit / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571493363,\"note\":\"\",\"order\":1,\"active_schedule\":29,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":1,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":2,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":3,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":4,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":21,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":22,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":3},{\"id\":23,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":24,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":25,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":26,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":27,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":28,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":29,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":30,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":31,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":32,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":33,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":34,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":35,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":36,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":37,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":38,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":39,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":42,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":3}],\"variables\":[{\"id\":1,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":2,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":3,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":4,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":5,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":6,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":7,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":1,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":5,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":2,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":4,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":3,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":7,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":3,\"name\":\"Heizplan / Arbeit / Bad\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571494193,\"note\":\"\",\"order\":2,\"active_schedule\":97,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":67,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":68,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":69,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":70,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":91,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":92,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":93,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":94,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":95,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":96,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":17},{\"id\":97,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":98,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":99,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":100,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":102,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":103,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":104,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":105,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":106,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":107,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15},{\"id\":108,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15},{\"id\":109,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":110,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":111,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":114,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":115,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":17},{\"id\":116,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":117,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":472,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":473,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":474,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":475,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":476,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15}],\"variables\":[{\"id\":15,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":16,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":17,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":18,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":19,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":20,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":21,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":7,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":19,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":8,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":18,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":9,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":21,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":4,\"name\":\"Heizplan / Arbeit / WC\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571494812,\"note\":\"\",\"order\":3,\"active_schedule\":126,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":119,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":126,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":127,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":128,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":129,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":130,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":131,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":132,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":133,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":134,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":135,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":138,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":139,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":24},{\"id\":140,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":24}],\"variables\":[{\"id\":22,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":23,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":24,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":25,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":26,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":27,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":28,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":10,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":26,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":11,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":25,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":12,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":28,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":5,\"name\":\"Heizplan / Arbeit / Büro\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571497652,\"note\":\"\",\"order\":4,\"active_schedule\":144,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":141,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":144,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":168,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":169,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":170,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":174,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":175,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":176,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":347,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":348,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":349,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":350,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":351,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":352,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31}],\"variables\":[{\"id\":29,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":30,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":31,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":32,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":33,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":34,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":35,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":13,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":33,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":14,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":32,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":15,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":35,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":6,\"name\":\"Heizplan / Frei / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508227,\"note\":\"\",\"order\":5,\"active_schedule\":201,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":201,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":207,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":208,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":209,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":210,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":211,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":212,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":213,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":214,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":215,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":216,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":217,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":218,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":219,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38}],\"variables\":[{\"id\":36,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":37,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":38,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":39,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":40,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":41,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":42,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":16,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":40,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":17,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":39,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":18,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":42,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":7,\"name\":\"Heizplan / Frei / Bad\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508465,\"note\":\"\",\"order\":6,\"active_schedule\":225,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":224,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":225,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":226,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":244,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":245,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":246,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":247,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":248,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":249,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":250,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":251,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":252,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":253,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":254,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":255,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":256,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":257,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":258,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":259,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":260,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":261,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":262,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":263,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":264,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":265,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":266,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":267,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":268,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45}],\"variables\":[{\"id\":43,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":44,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":45,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":46,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":47,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":48,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":49,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":19,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":47,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":20,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":46,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":21,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":49,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":8,\"name\":\"Heizplan / Frei / Büro\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508758,\"note\":\"\",\"order\":7,\"active_schedule\":293,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":269,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":293,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":294,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":295,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":296,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":297,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":298,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":459,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":460,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":461,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":462,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":463,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":464,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":465,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52}],\"variables\":[{\"id\":50,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":51,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":52,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":53,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":54,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":55,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":56,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":22,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":54,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":23,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":53,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":24,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":56,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":9,\"name\":\"Heizplan / Frei / WC\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508871,\"note\":\"\",\"order\":8,\"active_schedule\":329,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":305,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":329,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":330,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":331,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":332,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":333,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":334,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":337,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":340,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":443,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":444,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":466,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":467,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":468,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":469,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59}],\"variables\":[{\"id\":57,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":58,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":59,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":60,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":61,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":62,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":63,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":25,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":61,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":26,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":60,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":27,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":63,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":11,\"name\":\"Heizplan / Homeoffice / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572287598,\"note\":\"\",\"order\":9,\"active_schedule\":393,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":367,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":370,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":387,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":389,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":390,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":391,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":392,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":393,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":394,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":395,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":396,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":397,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":399,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":73},{\"id\":400,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":73}],\"variables\":[{\"id\":71,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":72,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":73,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":74,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":75,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":76,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":77,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":31,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":75,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":32,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":74,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":33,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":77,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":12,\"name\":\"Heizplan / Homeoffice / Büro\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572287884,\"note\":\"\",\"order\":10,\"active_schedule\":408,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":401,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":402,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":403,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":404,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":405,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":406,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":407,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":408,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":409,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":410,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":411,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":412,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":413,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":80},{\"id\":414,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":80},{\"id\":470,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":471,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80}],\"variables\":[{\"id\":78,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":79,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":80,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":81,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":82,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":83,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":84,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":34,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":82,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":35,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":81,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":36,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":84,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":13,\"name\":\"Heizplan / Homeoffice / Bad\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572288062,\"note\":\"\",\"order\":11,\"active_schedule\":427,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":415,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":416,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":417,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":418,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":419,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":420,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":421,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":422,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":423,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":424,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=15;INTERVAL=1\",\"variable_id\":87},{\"id\":425,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":426,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":427,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":428,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":429,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":430,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":431,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":432,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":433,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":434,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":85},{\"id\":435,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":85},{\"id\":436,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=30;INTERVAL=1\",\"variable_id\":87},{\"id\":437,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":438,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":439,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":440,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":87},{\"id\":441,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":442,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90}],\"variables\":[{\"id\":85,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":86,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":87,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":88,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":89,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":90,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":91,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":37,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":89,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":38,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":88,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":39,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":91,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":14,\"name\":\"Heizplan / Homeoffice / WC\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572288296,\"note\":\"\",\"order\":12,\"active_schedule\":449,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":445,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":446,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":447,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":448,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":449,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":450,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":451,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":452,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":453,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":454,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":455,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":456,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":457,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":94},{\"id\":458,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":94}],\"variables\":[{\"id\":92,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":93,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":94,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":95,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":96,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":97,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":98,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":40,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":96,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":41,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":95,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":42,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":98,\"delay\":0,\"priority\":10,\"type\":3}]}]",
                           "payloadType": "json",
                           "x": 170,
                           "y": 2940,
                           "wires": [
                               [
                                   "bd4a29afe1d2edc0",
                                   "65bc684012bb3e71"
                               ]
                           ]
                       },
                       {
                           "id": "60e749dd963aaef8",
                           "type": "debug",
                           "z": "9c280ddf049b2b4d",
                           "name": "Pläne Tabelle",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 700,
                           "y": 2940,
                           "wires": []
                       },
                       {
                           "id": "bd4a29afe1d2edc0",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "name": "Pläne Tabelle",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "active",
                                   "pt": "msg",
                                   "to": "[{\"id\":true,\"name\":\"aktivert\",\"color\":\"green\"},{\"id\":false,\"name\":\"deaktiviert\",\"color\":\"orange\"}]",
                                   "tot": "json"
                               },
                               {
                                   "t": "set",
                                   "p": "types",
                                   "pt": "msg",
                                   "to": "[{\"id\":0,\"name\":\"Keine Zuordnung\"},{\"id\":1,\"name\":\"Heizplan\"},{\"id\":2,\"name\":\"Energie\"},{\"id\":3,\"name\":\"OnOff\"},{\"id\":4,\"name\":\"Anwesenheitssimulation\"},{\"id\":5,\"name\":\"ElektroHeizung\"},{\"id\":50,\"name\":\"Windüberwachung\"},{\"id\":51,\"name\":\"Sonnenautomatisierung\"},{\"id\":52,\"name\":\"Dämmerungsautomatisierung\"}]",
                                   "tot": "json"
                               },
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload.{\"name\": name,\t        \"aktiv\" : ' <font color=\\\"' & $single($$.active, function($v){$v.id = enabled}).color & '\\\"> ' & $single($$.active, function($v){$v.id = enabled}).name,\t        \"type\" :  $single($$.types, function($v){$v.id = type}).name,\t        \"schedule\" : $count(schedule),\t        \"devices\" : $count(node_ids),\t        \"scheduler\":schedule.{\"id\":id,\"rrule\":{\"freq\":($split(rrule,\";\").$split($,\"=\")[1])[0],\t            \"day\" : ($split(rrule,\";\").$split($,\"=\")[1])[1],\t            \"time\" : $pad(($split(rrule,\";\").$split($,\"=\")[1])[2],-2,\"0\") & \":\" & $pad(($split(rrule,\";\").$split($,\"=\")[1])[3],-2,\"0\"),\t            \"interval\" : ($split(rrule,\";\").$split($,\"=\")[1])[4]},\"variable\": $single($$.payload.variables, function($v){$v.id=variable_id})},\t        \"variables\" : variables} ~> |$|\t        {   \"temperatur\": variables.[$decodeUrlComponent(name) & \": \" & value & \"°C\"] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"montag\": scheduler[rrule.day=\"MO\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"dienstag\": scheduler[rrule.day=\"TU\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"mittwoch\": scheduler[rrule.day=\"WE\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"donnerstag\": scheduler[rrule.day=\"TH\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"freitag\": scheduler[rrule.day=\"FR\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"samstag\": scheduler[rrule.day=\"SA\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"sonntag\": scheduler[rrule.day=\"SU\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \")},\t            [\"scheduler\",\"variables\"]|",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 460,
                           "y": 2940,
                           "wires": [
                               [
                                   "60e749dd963aaef8"
                               ]
                           ]
                       },
                       {
                           "id": "41412eb625251659",
                           "type": "comment",
                           "z": "9c280ddf049b2b4d",
                           "name": "Heizpläne",
                           "info": "",
                           "x": 160,
                           "y": 2840,
                           "wires": []
                       },
                       {
                           "id": "65bc684012bb3e71",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "name": "Scheduler Daten",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload.{\"name\":name,\t        \"room\": $split(name,\" / \")[2],\t        \"profile\" : $split(name,\" / \")[1],\t        \"profiles\" :{\"Arbeit\":\"1\",\"Frei\":\"2\",\"Homeoffice\":\"3\"},\t        \"scheduler\":schedule.{\"id\":id,\"rrule\":{\"freq\":($split(rrule,\";\").$split($,\"=\")[1])[0],\t            \"day\" : ($split(rrule,\";\").$split($,\"=\")[1])[1],\t            \"time\" : $pad(($split(rrule,\";\").$split($,\"=\")[1])[2],-2,\"0\") & \":\" & $pad(($split(rrule,\";\").$split($,\"=\")[1])[3],-2,\"0\"),\t            \"interval\" : ($split(rrule,\";\").$split($,\"=\")[1])[4]},\"variable\": $single($$.payload.variables, function($v){$v.id=variable_id})},\t        \"variables\" : variables} ~> |$|\t        {   \t            \"scheduler\": \t            [scheduler[rrule.day=\"MO\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Mon.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value} ,\t             scheduler[rrule.day=\"TU\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Tue.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value},\t             scheduler[rrule.day=\"WE\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Wed.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value},\t             scheduler[rrule.day=\"TH\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Thu.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value},\t             scheduler[rrule.day=\"FR\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Fri.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value},\t             scheduler[rrule.day=\"SA\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Sat.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value},\t             scheduler[rrule.day=\"SU\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Sun.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value}]\t            },\t            [\"profiles\",\"variables\"]|",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 410,
                           "y": 3000,
                           "wires": [
                               [
                                   "3dfdb45ec85ec5f5",
                                   "722a6036de8545ce"
                               ]
                           ]
                       },
                       {
                           "id": "3dfdb45ec85ec5f5",
                           "type": "debug",
                           "z": "9c280ddf049b2b4d",
                           "name": "Scheduler Daten",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 690,
                           "y": 3000,
                           "wires": []
                       },
                       {
                           "id": "722a6036de8545ce",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "name": "",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload.scheduler",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 630,
                           "y": 3060,
                           "wires": [
                               [
                                   "849a44a081c3b77e",
                                   "1e015238d6b94f53"
                               ]
                           ]
                       },
                       {
                           "id": "849a44a081c3b77e",
                           "type": "debug",
                           "z": "9c280ddf049b2b4d",
                           "name": "Scheduler Daten 2",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 850,
                           "y": 3060,
                           "wires": []
                       },
                       {
                           "id": "1e015238d6b94f53",
                           "type": "split",
                           "z": "9c280ddf049b2b4d",
                           "name": "",
                           "splt": "\\n",
                           "spltType": "str",
                           "arraySplt": 1,
                           "arraySpltType": "len",
                           "stream": false,
                           "addname": "",
                           "x": 830,
                           "y": 3120,
                           "wires": [
                               [
                                   "b7c0b2e8349051b4",
                                   "887fcd1ceb0cca72"
                               ]
                           ]
                       },
                       {
                           "id": "b7c0b2e8349051b4",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "name": "Temperature",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "topic",
                                   "pt": "msg",
                                   "to": "payload.topic & \".Temperature\"",
                                   "tot": "jsonata"
                               },
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload.Temperature",
                                   "tot": "msg"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 1010,
                           "y": 3160,
                           "wires": [
                               [
                                   "7bb2e503288d8344"
                               ]
                           ]
                       },
                       {
                           "id": "887fcd1ceb0cca72",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "name": "time",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "topic",
                                   "pt": "msg",
                                   "to": "payload.topic & \".time\"",
                                   "tot": "jsonata"
                               },
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload.time",
                                   "tot": "msg"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 990,
                           "y": 3100,
                           "wires": [
                               [
                                   "d31211f307ccbc5c"
                               ]
                           ]
                       },
                       {
                           "id": "7bb2e503288d8344",
                           "type": "ioBroker out",
                           "z": "9c280ddf049b2b4d",
                           "d": true,
                           "name": "Erstelle Temperature",
                           "topic": "",
                           "ack": "false",
                           "autoCreate": "true",
                           "stateName": "",
                           "role": "",
                           "payloadType": "number",
                           "readonly": "false",
                           "stateUnit": "°C",
                           "stateMin": "",
                           "stateMax": "",
                           "x": 1220,
                           "y": 3160,
                           "wires": []
                       },
                       {
                           "id": "d31211f307ccbc5c",
                           "type": "ioBroker out",
                           "z": "9c280ddf049b2b4d",
                           "d": true,
                           "name": "Erstelle Time",
                           "topic": "",
                           "ack": "false",
                           "autoCreate": "true",
                           "stateName": "",
                           "role": "",
                           "payloadType": "string",
                           "readonly": "false",
                           "stateUnit": "",
                           "stateMin": "",
                           "stateMax": "",
                           "x": 1190,
                           "y": 3100,
                           "wires": []
                       }
                    ]
                    

                    Wie gesagt viel komplexer sollte es nicht werden, sonst musst halt mit Javascript programmieren - auch wenn Du wahrscheinlich ein Vielfaches an Code brauchen wirst. ;)

                    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.

                    O 1 Antwort Letzte Antwort
                    1
                    • mickymM mickym

                      @oli So ich habe fertig. ;) Hat mich nun auch ein paar Stunden gekostet und Du wirst sehen - inzwischen dauert die Ausführung auch einige Sekunden.
                      Ich denke auch, dass wenn Du diesen JSONATA Code verstanden hast, dann brauchst Du mich nicht mehr. Wie gesagt ich muss da nun auch rumprobieren.
                      Deinen Flow - habe ich die unnötigen Nodes weggeschmissen, Du musst halt selbst schauen, dass der Dateninput stimmt. Ich habe jetzt das genommen, was in der Inject Node an Daten vorhanden war.

                      Der ganze Flow schaut nun so aus:

                      6e7df186-e4ca-4c36-8bd4-4b7470684eee-image.png

                      1. Aufgabe die Tabelle - ich habs versucht einigermassen so hinzubekommen. Wenn Du komplett eigene Tabellen für jeden Wochentag haben willst, dann musst die Tabelle halt selbst noch mal auseinanderreißen. Das sollte aber nun auch für Dich kein Problem sein.

                      Ansonsten dürfte jedes Objekt in der Tabelle Deinen Vorgaben eigentlich entsprechen:

                      {
                        "name": "Heizplan / Arbeit / Wohnzimmer",
                        "aktiv": " <font color=\"orange\"> deaktiviert",
                        "type": "Heizplan",
                        "schedule": 24,
                        "devices": 4,
                        "temperatur": "Eco: 18°C<br> Komfort: 21°C<br> Nacht: 15°C<br> Abwesend: 18°C<br> Fenster Offen: 8°C<br> Komfort Plus: 24°C<br> Urlaub: 15°C",
                        "montag": "05:00 = 21°C<br> 06:30 = 18°C<br> 15:00 = 21°C<br> 23:20 = 15°C",
                        "dienstag": "05:00 = 21°C<br> 06:30 = 18°C<br> 15:00 = 21°C<br> 23:20 = 15°C",
                        "mittwoch": "05:00 = 21°C<br> 06:30 = 18°C<br> 15:00 = 21°C<br> 23:20 = 15°C",
                        "donnerstag": "05:00 = 21°C<br> 06:30 = 18°C<br> 15:00 = 21°C<br> 23:20 = 15°C",
                        "freitag": "05:00 = 21°C<br> 06:30 = 18°C<br> 14:00 = 21°C",
                        "samstag": "06:00 = 21°C<br> 01:00 = 15°C",
                        "sonntag": "08:00 = 21°C<br> 23:20 = 15°C<br> 01:00 = 15°C"
                      }
                      

                      Der 2. Teil der Aufgabe bestand nun darin Datenpunkte zu schreiben. Nachdem ich ja keinen heating-control Adapter verwende, habe ich mich halt an das gehalten was Du geschrieben hast, wobei das mit den Profilen für mich nicht vollständig war. Ich habe jetzt einfach mal folgende Profile genommen:

                      "profiles" :{"Arbeit":"1","Frei":"2","Homeoffice":"3"}
                      

                      Deine Datenpunkte (Pärchen) schauen nun so aus:

                      9348f16d-ded3-438b-b326-292b9efc3e2e-image.png

                      Ich hab sie mal als Command drin gelassen. Ich hab die beiden iobroker-Out Nodes mal deaktiviert - dann kannst bevor die Datenpunkte geschrieben werden noch mit weiteren Debug Nodes prüfen:

                      Hier der Code zum Import:

                      [
                         {
                             "id": "29c703f08796e8f8",
                             "type": "inject",
                             "z": "9c280ddf049b2b4d",
                             "name": "trigger",
                             "props": [
                                 {
                                     "p": "payload"
                                 }
                             ],
                             "repeat": "",
                             "crontab": "",
                             "once": false,
                             "onceDelay": 0.1,
                             "topic": "",
                             "payload": "[{\"id\":1,\"name\":\"Heizplan / Arbeit / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571493363,\"note\":\"\",\"order\":1,\"active_schedule\":29,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":1,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":2,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":3,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":4,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":21,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":22,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":3},{\"id\":23,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":24,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":25,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":26,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":27,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":28,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":29,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":30,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":31,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":32,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":33,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":34,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":35,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":36,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":37,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":38,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":39,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":42,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":3}],\"variables\":[{\"id\":1,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":2,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":3,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":4,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":5,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":6,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":7,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":1,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":5,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":2,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":4,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":3,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":7,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":3,\"name\":\"Heizplan / Arbeit / Bad\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571494193,\"note\":\"\",\"order\":2,\"active_schedule\":97,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":67,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":68,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":69,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":70,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":91,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":92,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":93,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":94,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":95,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":96,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":17},{\"id\":97,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":98,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":99,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":100,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":102,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":103,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":104,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":105,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":106,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":107,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15},{\"id\":108,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15},{\"id\":109,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":110,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":111,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":114,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":115,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":17},{\"id\":116,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":117,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":472,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":473,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":474,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":475,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":476,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15}],\"variables\":[{\"id\":15,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":16,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":17,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":18,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":19,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":20,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":21,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":7,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":19,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":8,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":18,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":9,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":21,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":4,\"name\":\"Heizplan / Arbeit / WC\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571494812,\"note\":\"\",\"order\":3,\"active_schedule\":126,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":119,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":126,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":127,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":128,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":129,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":130,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":131,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":132,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":133,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":134,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":135,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":138,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":139,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":24},{\"id\":140,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":24}],\"variables\":[{\"id\":22,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":23,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":24,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":25,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":26,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":27,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":28,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":10,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":26,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":11,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":25,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":12,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":28,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":5,\"name\":\"Heizplan / Arbeit / Büro\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571497652,\"note\":\"\",\"order\":4,\"active_schedule\":144,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":141,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":144,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":168,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":169,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":170,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":174,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":175,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":176,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":347,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":348,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":349,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":350,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":351,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":352,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31}],\"variables\":[{\"id\":29,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":30,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":31,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":32,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":33,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":34,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":35,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":13,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":33,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":14,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":32,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":15,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":35,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":6,\"name\":\"Heizplan / Frei / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508227,\"note\":\"\",\"order\":5,\"active_schedule\":201,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":201,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":207,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":208,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":209,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":210,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":211,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":212,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":213,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":214,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":215,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":216,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":217,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":218,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":219,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38}],\"variables\":[{\"id\":36,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":37,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":38,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":39,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":40,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":41,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":42,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":16,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":40,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":17,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":39,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":18,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":42,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":7,\"name\":\"Heizplan / Frei / Bad\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508465,\"note\":\"\",\"order\":6,\"active_schedule\":225,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":224,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":225,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":226,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":244,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":245,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":246,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":247,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":248,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":249,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":250,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":251,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":252,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":253,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":254,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":255,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":256,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":257,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":258,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":259,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":260,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":261,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":262,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":263,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":264,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":265,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":266,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":267,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":268,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45}],\"variables\":[{\"id\":43,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":44,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":45,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":46,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":47,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":48,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":49,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":19,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":47,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":20,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":46,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":21,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":49,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":8,\"name\":\"Heizplan / Frei / Büro\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508758,\"note\":\"\",\"order\":7,\"active_schedule\":293,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":269,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":293,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":294,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":295,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":296,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":297,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":298,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":459,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":460,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":461,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":462,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":463,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":464,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":465,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52}],\"variables\":[{\"id\":50,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":51,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":52,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":53,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":54,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":55,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":56,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":22,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":54,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":23,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":53,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":24,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":56,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":9,\"name\":\"Heizplan / Frei / WC\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508871,\"note\":\"\",\"order\":8,\"active_schedule\":329,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":305,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":329,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":330,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":331,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":332,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":333,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":334,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":337,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":340,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":443,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":444,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":466,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":467,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":468,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":469,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59}],\"variables\":[{\"id\":57,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":58,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":59,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":60,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":61,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":62,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":63,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":25,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":61,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":26,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":60,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":27,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":63,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":11,\"name\":\"Heizplan / Homeoffice / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572287598,\"note\":\"\",\"order\":9,\"active_schedule\":393,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":367,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":370,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":387,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":389,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":390,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":391,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":392,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":393,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":394,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":395,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":396,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":397,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":399,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":73},{\"id\":400,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":73}],\"variables\":[{\"id\":71,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":72,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":73,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":74,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":75,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":76,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":77,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":31,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":75,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":32,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":74,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":33,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":77,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":12,\"name\":\"Heizplan / Homeoffice / Büro\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572287884,\"note\":\"\",\"order\":10,\"active_schedule\":408,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":401,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":402,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":403,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":404,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":405,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":406,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":407,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":408,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":409,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":410,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":411,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":412,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":413,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":80},{\"id\":414,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":80},{\"id\":470,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":471,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80}],\"variables\":[{\"id\":78,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":79,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":80,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":81,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":82,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":83,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":84,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":34,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":82,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":35,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":81,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":36,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":84,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":13,\"name\":\"Heizplan / Homeoffice / Bad\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572288062,\"note\":\"\",\"order\":11,\"active_schedule\":427,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":415,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":416,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":417,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":418,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":419,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":420,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":421,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":422,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":423,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":424,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=15;INTERVAL=1\",\"variable_id\":87},{\"id\":425,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":426,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":427,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":428,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":429,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":430,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":431,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":432,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":433,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":434,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":85},{\"id\":435,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":85},{\"id\":436,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=30;INTERVAL=1\",\"variable_id\":87},{\"id\":437,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":438,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":439,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":440,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":87},{\"id\":441,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":442,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90}],\"variables\":[{\"id\":85,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":86,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":87,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":88,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":89,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":90,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":91,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":37,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":89,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":38,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":88,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":39,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":91,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":14,\"name\":\"Heizplan / Homeoffice / WC\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572288296,\"note\":\"\",\"order\":12,\"active_schedule\":449,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":445,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":446,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":447,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":448,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":449,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":450,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":451,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":452,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":453,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":454,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":455,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":456,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":457,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":94},{\"id\":458,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":94}],\"variables\":[{\"id\":92,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":93,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":94,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":95,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":96,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":97,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":98,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":40,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":96,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":41,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":95,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":42,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":98,\"delay\":0,\"priority\":10,\"type\":3}]}]",
                             "payloadType": "json",
                             "x": 170,
                             "y": 2940,
                             "wires": [
                                 [
                                     "bd4a29afe1d2edc0",
                                     "65bc684012bb3e71"
                                 ]
                             ]
                         },
                         {
                             "id": "60e749dd963aaef8",
                             "type": "debug",
                             "z": "9c280ddf049b2b4d",
                             "name": "Pläne Tabelle",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 700,
                             "y": 2940,
                             "wires": []
                         },
                         {
                             "id": "bd4a29afe1d2edc0",
                             "type": "change",
                             "z": "9c280ddf049b2b4d",
                             "name": "Pläne Tabelle",
                             "rules": [
                                 {
                                     "t": "set",
                                     "p": "active",
                                     "pt": "msg",
                                     "to": "[{\"id\":true,\"name\":\"aktivert\",\"color\":\"green\"},{\"id\":false,\"name\":\"deaktiviert\",\"color\":\"orange\"}]",
                                     "tot": "json"
                                 },
                                 {
                                     "t": "set",
                                     "p": "types",
                                     "pt": "msg",
                                     "to": "[{\"id\":0,\"name\":\"Keine Zuordnung\"},{\"id\":1,\"name\":\"Heizplan\"},{\"id\":2,\"name\":\"Energie\"},{\"id\":3,\"name\":\"OnOff\"},{\"id\":4,\"name\":\"Anwesenheitssimulation\"},{\"id\":5,\"name\":\"ElektroHeizung\"},{\"id\":50,\"name\":\"Windüberwachung\"},{\"id\":51,\"name\":\"Sonnenautomatisierung\"},{\"id\":52,\"name\":\"Dämmerungsautomatisierung\"}]",
                                     "tot": "json"
                                 },
                                 {
                                     "t": "set",
                                     "p": "payload",
                                     "pt": "msg",
                                     "to": "payload.{\"name\": name,\t        \"aktiv\" : ' <font color=\\\"' & $single($$.active, function($v){$v.id = enabled}).color & '\\\"> ' & $single($$.active, function($v){$v.id = enabled}).name,\t        \"type\" :  $single($$.types, function($v){$v.id = type}).name,\t        \"schedule\" : $count(schedule),\t        \"devices\" : $count(node_ids),\t        \"scheduler\":schedule.{\"id\":id,\"rrule\":{\"freq\":($split(rrule,\";\").$split($,\"=\")[1])[0],\t            \"day\" : ($split(rrule,\";\").$split($,\"=\")[1])[1],\t            \"time\" : $pad(($split(rrule,\";\").$split($,\"=\")[1])[2],-2,\"0\") & \":\" & $pad(($split(rrule,\";\").$split($,\"=\")[1])[3],-2,\"0\"),\t            \"interval\" : ($split(rrule,\";\").$split($,\"=\")[1])[4]},\"variable\": $single($$.payload.variables, function($v){$v.id=variable_id})},\t        \"variables\" : variables} ~> |$|\t        {   \"temperatur\": variables.[$decodeUrlComponent(name) & \": \" & value & \"°C\"] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"montag\": scheduler[rrule.day=\"MO\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"dienstag\": scheduler[rrule.day=\"TU\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"mittwoch\": scheduler[rrule.day=\"WE\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"donnerstag\": scheduler[rrule.day=\"TH\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"freitag\": scheduler[rrule.day=\"FR\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"samstag\": scheduler[rrule.day=\"SA\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"sonntag\": scheduler[rrule.day=\"SU\"].[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \")},\t            [\"scheduler\",\"variables\"]|",
                                     "tot": "jsonata"
                                 }
                             ],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 460,
                             "y": 2940,
                             "wires": [
                                 [
                                     "60e749dd963aaef8"
                                 ]
                             ]
                         },
                         {
                             "id": "41412eb625251659",
                             "type": "comment",
                             "z": "9c280ddf049b2b4d",
                             "name": "Heizpläne",
                             "info": "",
                             "x": 160,
                             "y": 2840,
                             "wires": []
                         },
                         {
                             "id": "65bc684012bb3e71",
                             "type": "change",
                             "z": "9c280ddf049b2b4d",
                             "name": "Scheduler Daten",
                             "rules": [
                                 {
                                     "t": "set",
                                     "p": "payload",
                                     "pt": "msg",
                                     "to": "payload.{\"name\":name,\t        \"room\": $split(name,\" / \")[2],\t        \"profile\" : $split(name,\" / \")[1],\t        \"profiles\" :{\"Arbeit\":\"1\",\"Frei\":\"2\",\"Homeoffice\":\"3\"},\t        \"scheduler\":schedule.{\"id\":id,\"rrule\":{\"freq\":($split(rrule,\";\").$split($,\"=\")[1])[0],\t            \"day\" : ($split(rrule,\";\").$split($,\"=\")[1])[1],\t            \"time\" : $pad(($split(rrule,\";\").$split($,\"=\")[1])[2],-2,\"0\") & \":\" & $pad(($split(rrule,\";\").$split($,\"=\")[1])[3],-2,\"0\"),\t            \"interval\" : ($split(rrule,\";\").$split($,\"=\")[1])[4]},\"variable\": $single($$.payload.variables, function($v){$v.id=variable_id})},\t        \"variables\" : variables} ~> |$|\t        {   \t            \"scheduler\": \t            [scheduler[rrule.day=\"MO\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Mon.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value} ,\t             scheduler[rrule.day=\"TU\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Tue.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value},\t             scheduler[rrule.day=\"WE\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Wed.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value},\t             scheduler[rrule.day=\"TH\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Thu.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value},\t             scheduler[rrule.day=\"FR\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Fri.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value},\t             scheduler[rrule.day=\"SA\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Sat.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value},\t             scheduler[rrule.day=\"SU\"]#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $lookup(%.profiles,%.profile) & \".\" & %.room & \".Sun.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value}]\t            },\t            [\"profiles\",\"variables\"]|",
                                     "tot": "jsonata"
                                 }
                             ],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 410,
                             "y": 3000,
                             "wires": [
                                 [
                                     "3dfdb45ec85ec5f5",
                                     "722a6036de8545ce"
                                 ]
                             ]
                         },
                         {
                             "id": "3dfdb45ec85ec5f5",
                             "type": "debug",
                             "z": "9c280ddf049b2b4d",
                             "name": "Scheduler Daten",
                             "active": false,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 690,
                             "y": 3000,
                             "wires": []
                         },
                         {
                             "id": "722a6036de8545ce",
                             "type": "change",
                             "z": "9c280ddf049b2b4d",
                             "name": "",
                             "rules": [
                                 {
                                     "t": "set",
                                     "p": "payload",
                                     "pt": "msg",
                                     "to": "payload.scheduler",
                                     "tot": "jsonata"
                                 }
                             ],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 630,
                             "y": 3060,
                             "wires": [
                                 [
                                     "849a44a081c3b77e",
                                     "1e015238d6b94f53"
                                 ]
                             ]
                         },
                         {
                             "id": "849a44a081c3b77e",
                             "type": "debug",
                             "z": "9c280ddf049b2b4d",
                             "name": "Scheduler Daten 2",
                             "active": false,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 850,
                             "y": 3060,
                             "wires": []
                         },
                         {
                             "id": "1e015238d6b94f53",
                             "type": "split",
                             "z": "9c280ddf049b2b4d",
                             "name": "",
                             "splt": "\\n",
                             "spltType": "str",
                             "arraySplt": 1,
                             "arraySpltType": "len",
                             "stream": false,
                             "addname": "",
                             "x": 830,
                             "y": 3120,
                             "wires": [
                                 [
                                     "b7c0b2e8349051b4",
                                     "887fcd1ceb0cca72"
                                 ]
                             ]
                         },
                         {
                             "id": "b7c0b2e8349051b4",
                             "type": "change",
                             "z": "9c280ddf049b2b4d",
                             "name": "Temperature",
                             "rules": [
                                 {
                                     "t": "set",
                                     "p": "topic",
                                     "pt": "msg",
                                     "to": "payload.topic & \".Temperature\"",
                                     "tot": "jsonata"
                                 },
                                 {
                                     "t": "set",
                                     "p": "payload",
                                     "pt": "msg",
                                     "to": "payload.Temperature",
                                     "tot": "msg"
                                 }
                             ],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 1010,
                             "y": 3160,
                             "wires": [
                                 [
                                     "7bb2e503288d8344"
                                 ]
                             ]
                         },
                         {
                             "id": "887fcd1ceb0cca72",
                             "type": "change",
                             "z": "9c280ddf049b2b4d",
                             "name": "time",
                             "rules": [
                                 {
                                     "t": "set",
                                     "p": "topic",
                                     "pt": "msg",
                                     "to": "payload.topic & \".time\"",
                                     "tot": "jsonata"
                                 },
                                 {
                                     "t": "set",
                                     "p": "payload",
                                     "pt": "msg",
                                     "to": "payload.time",
                                     "tot": "msg"
                                 }
                             ],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 990,
                             "y": 3100,
                             "wires": [
                                 [
                                     "d31211f307ccbc5c"
                                 ]
                             ]
                         },
                         {
                             "id": "7bb2e503288d8344",
                             "type": "ioBroker out",
                             "z": "9c280ddf049b2b4d",
                             "d": true,
                             "name": "Erstelle Temperature",
                             "topic": "",
                             "ack": "false",
                             "autoCreate": "true",
                             "stateName": "",
                             "role": "",
                             "payloadType": "number",
                             "readonly": "false",
                             "stateUnit": "°C",
                             "stateMin": "",
                             "stateMax": "",
                             "x": 1220,
                             "y": 3160,
                             "wires": []
                         },
                         {
                             "id": "d31211f307ccbc5c",
                             "type": "ioBroker out",
                             "z": "9c280ddf049b2b4d",
                             "d": true,
                             "name": "Erstelle Time",
                             "topic": "",
                             "ack": "false",
                             "autoCreate": "true",
                             "stateName": "",
                             "role": "",
                             "payloadType": "string",
                             "readonly": "false",
                             "stateUnit": "",
                             "stateMin": "",
                             "stateMax": "",
                             "x": 1190,
                             "y": 3100,
                             "wires": []
                         }
                      ]
                      

                      Wie gesagt viel komplexer sollte es nicht werden, sonst musst halt mit Javascript programmieren - auch wenn Du wahrscheinlich ein Vielfaches an Code brauchen wirst. ;)

                      O Online
                      O Online
                      Oli
                      schrieb am zuletzt editiert von
                      #117

                      @mickym
                      du bist genial, dass hätte ich im Leben nicht hinbekommen, 3 Fragen hätte ich aber noch.

                      1. Kann man das ganze noch nach Stunden aufsteigend sortieren?
                        Die Daten werden von der Api leider nicht chronologisch übergeben, daher wird es in der Tabelle nicht richtig dargestellt und ich schreibe in die falschen Datenpunkte.

                      2. Wie kann ich auf Änderungen prüfen?
                        Ich möchte den Flow zusätzlich bei Änderungen in den Heizplänen ausführen lassen.

                      3. Kann ich dir für deinen Aufwand irgendwie eine Spende zukommen lassen?

                      Gruß
                      Oliver

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • O Oli

                        @mickym
                        du bist genial, dass hätte ich im Leben nicht hinbekommen, 3 Fragen hätte ich aber noch.

                        1. Kann man das ganze noch nach Stunden aufsteigend sortieren?
                          Die Daten werden von der Api leider nicht chronologisch übergeben, daher wird es in der Tabelle nicht richtig dargestellt und ich schreibe in die falschen Datenpunkte.

                        2. Wie kann ich auf Änderungen prüfen?
                          Ich möchte den Flow zusätzlich bei Änderungen in den Heizplänen ausführen lassen.

                        3. Kann ich dir für deinen Aufwand irgendwie eine Spende zukommen lassen?

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

                        @oli sagte in Benötige Hilfe mit Node-Red in Verbindung mit homee:

                        @mickym
                        du bist genial, dass hätte ich im Leben nicht hinbekommen, 3 Fragen hätte ich aber noch.

                        Vielen Dank! - Aber zur Genialität fehlt mir noch einiges. ;) - Ich brauch da immer noch viel zu lange.

                        1. Kann man das ganze noch nach Stunden aufsteigend sortieren?
                          Die Daten werden von der Api leider nicht chronologisch übergeben, daher wird es in der Tabelle nicht richtig dargestellt und ich schreibe in die falschen Datenpunkte.

                        Das ist mir erst gar nicht aufgefallen, weil ich dachte es sei eigentlich schon sortiert. Nur am Wochenende hatte ich dann entdeckt, dass es nicht ganz stimmt:

                        506c029e-4235-4a95-ac67-3d39e5b1956f-image.png

                        Für die Tabelle war es relativ einfach zu beheben:

                        ad9d8238-5216-423f-b48c-44af94231032-image.png

                        Für die Datenpunkte war es leider schwieriger und ich musste auch anfangen in JSONATA zu programmieren und mit Variablen arbeiten - da man nach der Sortierung nicht mehr auf das parent Objekt zugreifen konnte (habs nicht hinbekommen - ausser eben mit Nutzung von Variablen). Jedenfalls sollte es jetzt so hinhauen:

                        1024c830-a846-4baf-9feb-a913a2abfeb2-image.png

                        1. Wie kann ich auf Änderungen prüfen?
                          Ich möchte den Flow zusätzlich bei Änderungen in den Heizplänen ausführen lassen.

                        Ich hab den ganzen Plan im Flow-Kontext gespeichert und der wird mit dem neuen Input verglichen. Bei Änderungen wird nun die Nachrichteneigenschaft changed gesetzt - die nur wenn sie true ist in der nachfolgenden Switch Node durchgelassen wird.

                        0d27d665-3c76-448f-823f-d626adc3cf9d-image.png

                        Hier nun der vollständige Flow:

                        [
                           {
                               "id": "29c703f08796e8f8",
                               "type": "inject",
                               "z": "9c280ddf049b2b4d",
                               "name": "trigger",
                               "props": [
                                   {
                                       "p": "payload"
                                   }
                               ],
                               "repeat": "",
                               "crontab": "",
                               "once": false,
                               "onceDelay": 0.1,
                               "topic": "",
                               "payload": "[{\"id\":1,\"name\":\"Heizplan / Arbeit / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571493363,\"note\":\"\",\"order\":1,\"active_schedule\":29,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":1,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":2,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":3,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":4,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":21,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":22,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":3},{\"id\":23,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":24,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":25,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":26,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":27,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":28,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":29,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":30,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":31,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":32,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":1},{\"id\":33,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":34,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":35,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":36,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":2},{\"id\":37,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":38,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":39,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":3},{\"id\":42,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":3}],\"variables\":[{\"id\":1,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":2,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":3,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":4,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":5,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":6,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":7,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":1,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":5,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":2,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":4,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":3,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":7,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":3,\"name\":\"Heizplan / Arbeit / Bad\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571494193,\"note\":\"\",\"order\":2,\"active_schedule\":97,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":67,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":68,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":69,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":70,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":91,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":92,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":93,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":94,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=4;BYMINUTE=30;INTERVAL=1\",\"variable_id\":20},{\"id\":95,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":96,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":17},{\"id\":97,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":98,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":99,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":100,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=30;INTERVAL=1\",\"variable_id\":17},{\"id\":102,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":103,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":104,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":105,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":106,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":107,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15},{\"id\":108,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15},{\"id\":109,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":110,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":111,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":114,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":17},{\"id\":115,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":17},{\"id\":116,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":117,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":20},{\"id\":472,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":473,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":474,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":475,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=30;INTERVAL=1\",\"variable_id\":15},{\"id\":476,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":15}],\"variables\":[{\"id\":15,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":16,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":17,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":18,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":19,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":20,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":21,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":7,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":19,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":8,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":18,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":9,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":21,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":4,\"name\":\"Heizplan / Arbeit / WC\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571494812,\"note\":\"\",\"order\":3,\"active_schedule\":126,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":119,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":126,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":127,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":128,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":129,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":130,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":131,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":132,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":22},{\"id\":133,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":134,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":135,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":138,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":24},{\"id\":139,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":24},{\"id\":140,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":24}],\"variables\":[{\"id\":22,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":23,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":24,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":25,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":26,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":27,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":28,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":10,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":26,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":11,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":25,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":12,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":28,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":5,\"name\":\"Heizplan / Arbeit / Büro\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571497652,\"note\":\"\",\"order\":4,\"active_schedule\":144,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":141,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":144,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":168,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=14;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":169,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":170,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":174,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":175,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":176,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":347,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":348,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":349,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=15;BYMINUTE=0;INTERVAL=1\",\"variable_id\":30},{\"id\":350,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":351,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31},{\"id\":352,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":31}],\"variables\":[{\"id\":29,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":30,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":31,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":32,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":33,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":34,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":35,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":13,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":33,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":14,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":32,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":15,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":35,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":6,\"name\":\"Heizplan / Frei / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508227,\"note\":\"\",\"order\":5,\"active_schedule\":201,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":201,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":207,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":208,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":209,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":210,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":211,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":212,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":213,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":214,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":215,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":216,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":217,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38},{\"id\":218,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":37},{\"id\":219,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":38}],\"variables\":[{\"id\":36,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":37,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":38,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":39,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":40,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":41,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":42,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":16,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":40,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":17,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":39,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":18,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":42,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":7,\"name\":\"Heizplan / Frei / Bad\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508465,\"note\":\"\",\"order\":6,\"active_schedule\":225,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":224,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":225,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":226,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":244,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":245,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":246,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":247,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":248,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":249,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":250,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":251,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":252,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":253,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":254,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":255,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":256,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":43},{\"id\":257,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":258,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":259,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":260,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":261,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":262,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":48},{\"id\":263,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":264,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":265,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":266,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":267,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45},{\"id\":268,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":45}],\"variables\":[{\"id\":43,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":44,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":45,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":46,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":47,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":48,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":49,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":19,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":47,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":20,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":46,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":21,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":49,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":8,\"name\":\"Heizplan / Frei / Büro\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508758,\"note\":\"\",\"order\":7,\"active_schedule\":293,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":269,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":293,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":294,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":295,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":296,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":297,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":298,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":51},{\"id\":459,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":460,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":461,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":462,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":463,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":464,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52},{\"id\":465,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":52}],\"variables\":[{\"id\":50,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":51,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":52,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":53,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":54,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":55,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":56,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":22,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":54,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":23,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":53,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":24,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":56,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":9,\"name\":\"Heizplan / Frei / WC\",\"image\":\"planicon_radiator\",\"enabled\":false,\"type\":1,\"owner\":1,\"added\":1571508871,\"note\":\"\",\"order\":8,\"active_schedule\":329,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":305,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":329,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":330,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":331,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":332,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":333,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":334,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":57},{\"id\":337,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":340,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":443,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":444,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":466,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":467,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":468,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59},{\"id\":469,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":59}],\"variables\":[{\"id\":57,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":58,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":59,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":60,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":61,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":62,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":63,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":25,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":61,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":26,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":60,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":27,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":63,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":11,\"name\":\"Heizplan / Homeoffice / Wohnzimmer\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572287598,\"note\":\"\",\"order\":9,\"active_schedule\":393,\"attribute_ids\":[44,72,183,410],\"node_ids\":[2,4,19,62],\"schedule\":[{\"id\":367,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":370,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":387,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":389,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":390,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":391,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":392,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":393,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":394,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":72},{\"id\":395,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":396,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":397,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":73},{\"id\":399,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":73},{\"id\":400,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":73}],\"variables\":[{\"id\":71,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":72,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":73,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":74,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":75,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":76,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":77,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":31,\"enabled\":true,\"attribute_ids\":[126,131],\"trigger_value\":0,\"operator\":5,\"variable_id\":75,\"delay\":300,\"priority\":0,\"type\":1},{\"id\":32,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":74,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":33,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":77,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":12,\"name\":\"Heizplan / Homeoffice / Büro\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572287884,\"note\":\"\",\"order\":10,\"active_schedule\":408,\"attribute_ids\":[30],\"node_ids\":[1],\"schedule\":[{\"id\":401,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":402,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":403,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":404,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":405,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":406,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":407,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":408,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":409,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":79},{\"id\":410,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":411,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":412,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":413,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":80},{\"id\":414,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":80},{\"id\":470,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80},{\"id\":471,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":80}],\"variables\":[{\"id\":78,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":79,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":80,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":81,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":82,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":83,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":84,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":34,\"enabled\":true,\"attribute_ids\":[111,116],\"trigger_value\":0,\"operator\":5,\"variable_id\":82,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":35,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":81,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":36,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":84,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":13,\"name\":\"Heizplan / Homeoffice / Bad\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572288062,\"note\":\"\",\"order\":11,\"active_schedule\":427,\"attribute_ids\":[237],\"node_ids\":[26],\"schedule\":[{\"id\":415,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":416,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":417,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":418,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":419,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":420,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":421,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":422,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=5;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":423,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":424,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=15;INTERVAL=1\",\"variable_id\":87},{\"id\":425,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":426,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":427,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":428,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=7;BYMINUTE=30;INTERVAL=1\",\"variable_id\":85},{\"id\":429,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":430,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":431,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":432,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":433,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":434,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":85},{\"id\":435,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=10;BYMINUTE=0;INTERVAL=1\",\"variable_id\":85},{\"id\":436,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=30;INTERVAL=1\",\"variable_id\":87},{\"id\":437,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":438,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":439,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":87},{\"id\":440,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":87},{\"id\":441,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=23;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90},{\"id\":442,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=22;BYMINUTE=0;INTERVAL=1\",\"variable_id\":90}],\"variables\":[{\"id\":85,\"name\":\"Eco\",\"value\":18,\"type\":3},{\"id\":86,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":87,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":88,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":89,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":90,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":91,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":37,\"enabled\":true,\"attribute_ids\":[136],\"trigger_value\":0,\"operator\":5,\"variable_id\":89,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":38,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":88,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":39,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":91,\"delay\":0,\"priority\":10,\"type\":3}]},{\"id\":14,\"name\":\"Heizplan / Homeoffice / WC\",\"image\":\"planicon_radiator\",\"enabled\":true,\"type\":1,\"owner\":1,\"added\":1572288296,\"note\":\"\",\"order\":12,\"active_schedule\":449,\"attribute_ids\":[86],\"node_ids\":[5],\"schedule\":[{\"id\":445,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":446,\"rrule\":\"FREQ=WEEKLY;BYDAY=MO;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":447,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":448,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":449,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":450,\"rrule\":\"FREQ=WEEKLY;BYDAY=FR;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":451,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=6;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":452,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=8;BYMINUTE=0;INTERVAL=1\",\"variable_id\":92},{\"id\":453,\"rrule\":\"FREQ=WEEKLY;BYDAY=TU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":454,\"rrule\":\"FREQ=WEEKLY;BYDAY=WE;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":455,\"rrule\":\"FREQ=WEEKLY;BYDAY=TH;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":456,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=23;BYMINUTE=20;INTERVAL=1\",\"variable_id\":94},{\"id\":457,\"rrule\":\"FREQ=WEEKLY;BYDAY=SA;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":94},{\"id\":458,\"rrule\":\"FREQ=WEEKLY;BYDAY=SU;BYHOUR=1;BYMINUTE=0;INTERVAL=1\",\"variable_id\":94}],\"variables\":[{\"id\":92,\"name\":\"Eco\",\"value\":19,\"type\":3},{\"id\":93,\"name\":\"Komfort\",\"value\":21,\"type\":2},{\"id\":94,\"name\":\"Nacht\",\"value\":15,\"type\":4},{\"id\":95,\"name\":\"Abwesend\",\"value\":18,\"type\":5},{\"id\":96,\"name\":\"Fenster%20Offen\",\"value\":8,\"type\":6},{\"id\":97,\"name\":\"Komfort Plus\",\"value\":24,\"type\":1},{\"id\":98,\"name\":\"Urlaub\",\"value\":15,\"type\":7}],\"events\":[{\"id\":40,\"enabled\":true,\"attribute_ids\":[121],\"trigger_value\":0,\"operator\":5,\"variable_id\":96,\"delay\":0,\"priority\":0,\"type\":1},{\"id\":41,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":2,\"operator\":14,\"variable_id\":95,\"delay\":0,\"priority\":10,\"type\":2},{\"id\":42,\"enabled\":true,\"attribute_ids\":[1],\"trigger_value\":3,\"operator\":14,\"variable_id\":98,\"delay\":0,\"priority\":10,\"type\":3}]}]",
                               "payloadType": "json",
                               "x": 150,
                               "y": 2940,
                               "wires": [
                                   [
                                       "2bcb34a2d0f6d715"
                                   ]
                               ]
                           },
                           {
                               "id": "60e749dd963aaef8",
                               "type": "debug",
                               "z": "9c280ddf049b2b4d",
                               "name": "Pläne Tabelle",
                               "active": false,
                               "tosidebar": true,
                               "console": false,
                               "tostatus": false,
                               "complete": "payload",
                               "targetType": "msg",
                               "statusVal": "",
                               "statusType": "auto",
                               "x": 940,
                               "y": 2940,
                               "wires": []
                           },
                           {
                               "id": "bd4a29afe1d2edc0",
                               "type": "change",
                               "z": "9c280ddf049b2b4d",
                               "name": "Pläne Tabelle",
                               "rules": [
                                   {
                                       "t": "set",
                                       "p": "active",
                                       "pt": "msg",
                                       "to": "[{\"id\":true,\"name\":\"aktivert\",\"color\":\"green\"},{\"id\":false,\"name\":\"deaktiviert\",\"color\":\"orange\"}]",
                                       "tot": "json"
                                   },
                                   {
                                       "t": "set",
                                       "p": "types",
                                       "pt": "msg",
                                       "to": "[{\"id\":0,\"name\":\"Keine Zuordnung\"},{\"id\":1,\"name\":\"Heizplan\"},{\"id\":2,\"name\":\"Energie\"},{\"id\":3,\"name\":\"OnOff\"},{\"id\":4,\"name\":\"Anwesenheitssimulation\"},{\"id\":5,\"name\":\"ElektroHeizung\"},{\"id\":50,\"name\":\"Windüberwachung\"},{\"id\":51,\"name\":\"Sonnenautomatisierung\"},{\"id\":52,\"name\":\"Dämmerungsautomatisierung\"}]",
                                       "tot": "json"
                                   },
                                   {
                                       "t": "set",
                                       "p": "payload",
                                       "pt": "msg",
                                       "to": "payload.{\"name\": name,\t        \"aktiv\" : ' <font color=\\\"' & $single($$.active, function($v){$v.id = enabled}).color & '\\\"> ' & $single($$.active, function($v){$v.id = enabled}).name,\t        \"type\" :  $single($$.types, function($v){$v.id = type}).name,\t        \"schedule\" : $count(schedule),\t        \"devices\" : $count(node_ids),\t        \"scheduler\":schedule.{\"id\":id,\"rrule\":{\"freq\":($split(rrule,\";\").$split($,\"=\")[1])[0],\t            \"day\" : ($split(rrule,\";\").$split($,\"=\")[1])[1],\t            \"time\" : $pad(($split(rrule,\";\").$split($,\"=\")[1])[2],-2,\"0\") & \":\" & $pad(($split(rrule,\";\").$split($,\"=\")[1])[3],-2,\"0\"),\t            \"interval\" : ($split(rrule,\";\").$split($,\"=\")[1])[4]},\"variable\": $single($$.payload.variables, function($v){$v.id=variable_id})},\t        \"variables\" : variables} ~> |$|\t        {   \"temperatur\": variables.[$decodeUrlComponent(name) & \": \" & value & \"°C\"] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"montag\": scheduler[rrule.day=\"MO\"]^(rrule.time).[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"dienstag\": scheduler[rrule.day=\"TU\"]^(rrule.time).[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"mittwoch\": scheduler[rrule.day=\"WE\"]^(rrule.time).[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"donnerstag\": scheduler[rrule.day=\"TH\"]^(rrule.time).[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"freitag\": scheduler[rrule.day=\"FR\"]^(rrule.time).[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"samstag\": scheduler[rrule.day=\"SA\"]^(rrule.time).[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \"),\t            \"sonntag\": scheduler[rrule.day=\"SU\"]^(rrule.time).[rrule.time & \" = \" & variable.value & \"°C\" ] ~> $reduce(function($A,$v){$append($A,$v)}) ~> $join(\"<br> \")},\t            [\"scheduler\",\"variables\"]|",
                                       "tot": "jsonata"
                                   }
                               ],
                               "action": "",
                               "property": "",
                               "from": "",
                               "to": "",
                               "reg": false,
                               "x": 700,
                               "y": 2940,
                               "wires": [
                                   [
                                       "60e749dd963aaef8"
                                   ]
                               ]
                           },
                           {
                               "id": "41412eb625251659",
                               "type": "comment",
                               "z": "9c280ddf049b2b4d",
                               "name": "Heizpläne",
                               "info": "",
                               "x": 160,
                               "y": 2840,
                               "wires": []
                           },
                           {
                               "id": "65bc684012bb3e71",
                               "type": "change",
                               "z": "9c280ddf049b2b4d",
                               "name": "Scheduler Daten",
                               "rules": [
                                   {
                                       "t": "set",
                                       "p": "payload",
                                       "pt": "msg",
                                       "to": "payload.{\"name\":name,\t        \"room\": $split(name,\" / \")[2],\t        \"profile\" : $split(name,\" / \")[1],\t        \"profiles\" :{\"Arbeit\":\"1\",\"Frei\":\"2\",\"Homeoffice\":\"3\"},\t        \"scheduler\":schedule.{\"id\":id,\"rrule\":{\"freq\":($split(rrule,\";\").$split($,\"=\")[1])[0],\t            \"day\" : ($split(rrule,\";\").$split($,\"=\")[1])[1],\t            \"time\" : $pad(($split(rrule,\";\").$split($,\"=\")[1])[2],-2,\"0\") & \":\" & $pad(($split(rrule,\";\").$split($,\"=\")[1])[3],-2,\"0\"),\t            \"interval\" : ($split(rrule,\";\").$split($,\"=\")[1])[4]},\"variable\": $single($$.payload.variables, function($v){$v.id=variable_id})},\t        \"variables\" : variables} ~> |$|\t        {   \t            \"scheduler\": \t            [($p := $lookup(profiles,profile); $r := room; scheduler[rrule.day=\"SA\"]^(rrule.time)#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $p & \".\" & $r & \".Mon.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value}) ,\t             ($p := $lookup(profiles,profile); $r := room; scheduler[rrule.day=\"SA\"]^(rrule.time)#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $p & \".\" & $r & \".Tue.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value}),\t             ($p := $lookup(profiles,profile); $r := room; scheduler[rrule.day=\"SA\"]^(rrule.time)#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $p & \".\" & $r & \".Wed.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value}),\t             ($p := $lookup(profiles,profile); $r := room; scheduler[rrule.day=\"SA\"]^(rrule.time)#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $p & \".\" & $r & \".Thu.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value}),\t             ($p := $lookup(profiles,profile); $r := room; scheduler[rrule.day=\"SA\"]^(rrule.time)#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $p & \".\" & $r & \".Fri.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value}),\t             ($p := $lookup(profiles,profile); $r := room; scheduler[rrule.day=\"SA\"]^(rrule.time)#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $p & \".\" & $r & \".Sat.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value}),\t             ($p := $lookup(profiles,profile); $r := room; scheduler[rrule.day=\"SU\"]^(rrule.time)#$i.{\"topic\" : \"heatingcontrol.0.Profiles.\" & $p & \".\" & $r & \".Sun.Periods.\" & ($i+1),\"time\": rrule.time, \"Temperature\": variable.value})]\t             \t            },\t            [\"profiles\",\"variables\"]|",
                                       "tot": "jsonata"
                                   }
                               ],
                               "action": "",
                               "property": "",
                               "from": "",
                               "to": "",
                               "reg": false,
                               "x": 690,
                               "y": 3000,
                               "wires": [
                                   [
                                       "3dfdb45ec85ec5f5",
                                       "722a6036de8545ce"
                                   ]
                               ]
                           },
                           {
                               "id": "3dfdb45ec85ec5f5",
                               "type": "debug",
                               "z": "9c280ddf049b2b4d",
                               "name": "Scheduler Daten",
                               "active": true,
                               "tosidebar": true,
                               "console": false,
                               "tostatus": false,
                               "complete": "payload",
                               "targetType": "msg",
                               "statusVal": "",
                               "statusType": "auto",
                               "x": 970,
                               "y": 3000,
                               "wires": []
                           },
                           {
                               "id": "722a6036de8545ce",
                               "type": "change",
                               "z": "9c280ddf049b2b4d",
                               "name": "",
                               "rules": [
                                   {
                                       "t": "set",
                                       "p": "payload",
                                       "pt": "msg",
                                       "to": "payload.scheduler",
                                       "tot": "jsonata"
                                   }
                               ],
                               "action": "",
                               "property": "",
                               "from": "",
                               "to": "",
                               "reg": false,
                               "x": 910,
                               "y": 3060,
                               "wires": [
                                   [
                                       "849a44a081c3b77e",
                                       "1e015238d6b94f53"
                                   ]
                               ]
                           },
                           {
                               "id": "849a44a081c3b77e",
                               "type": "debug",
                               "z": "9c280ddf049b2b4d",
                               "name": "Scheduler Daten 2",
                               "active": false,
                               "tosidebar": true,
                               "console": false,
                               "tostatus": false,
                               "complete": "payload",
                               "targetType": "msg",
                               "statusVal": "",
                               "statusType": "auto",
                               "x": 1130,
                               "y": 3060,
                               "wires": []
                           },
                           {
                               "id": "1e015238d6b94f53",
                               "type": "split",
                               "z": "9c280ddf049b2b4d",
                               "name": "",
                               "splt": "\\n",
                               "spltType": "str",
                               "arraySplt": 1,
                               "arraySpltType": "len",
                               "stream": false,
                               "addname": "",
                               "x": 1110,
                               "y": 3120,
                               "wires": [
                                   [
                                       "b7c0b2e8349051b4",
                                       "887fcd1ceb0cca72"
                                   ]
                               ]
                           },
                           {
                               "id": "b7c0b2e8349051b4",
                               "type": "change",
                               "z": "9c280ddf049b2b4d",
                               "name": "Temperature",
                               "rules": [
                                   {
                                       "t": "set",
                                       "p": "topic",
                                       "pt": "msg",
                                       "to": "payload.topic & \".Temperature\"",
                                       "tot": "jsonata"
                                   },
                                   {
                                       "t": "set",
                                       "p": "payload",
                                       "pt": "msg",
                                       "to": "payload.Temperature",
                                       "tot": "msg"
                                   }
                               ],
                               "action": "",
                               "property": "",
                               "from": "",
                               "to": "",
                               "reg": false,
                               "x": 1290,
                               "y": 3160,
                               "wires": [
                                   [
                                       "7bb2e503288d8344"
                                   ]
                               ]
                           },
                           {
                               "id": "887fcd1ceb0cca72",
                               "type": "change",
                               "z": "9c280ddf049b2b4d",
                               "name": "time",
                               "rules": [
                                   {
                                       "t": "set",
                                       "p": "topic",
                                       "pt": "msg",
                                       "to": "payload.topic & \".time\"",
                                       "tot": "jsonata"
                                   },
                                   {
                                       "t": "set",
                                       "p": "payload",
                                       "pt": "msg",
                                       "to": "payload.time",
                                       "tot": "msg"
                                   }
                               ],
                               "action": "",
                               "property": "",
                               "from": "",
                               "to": "",
                               "reg": false,
                               "x": 1270,
                               "y": 3100,
                               "wires": [
                                   [
                                       "d31211f307ccbc5c"
                                   ]
                               ]
                           },
                           {
                               "id": "7bb2e503288d8344",
                               "type": "ioBroker out",
                               "z": "9c280ddf049b2b4d",
                               "d": true,
                               "name": "Erstelle Temperature",
                               "topic": "",
                               "ack": "false",
                               "autoCreate": "true",
                               "stateName": "",
                               "role": "",
                               "payloadType": "number",
                               "readonly": "false",
                               "stateUnit": "°C",
                               "stateMin": "",
                               "stateMax": "",
                               "x": 1520,
                               "y": 3160,
                               "wires": []
                           },
                           {
                               "id": "d31211f307ccbc5c",
                               "type": "ioBroker out",
                               "z": "9c280ddf049b2b4d",
                               "d": true,
                               "name": "Erstelle Time",
                               "topic": "",
                               "ack": "false",
                               "autoCreate": "true",
                               "stateName": "",
                               "role": "",
                               "payloadType": "string",
                               "readonly": "false",
                               "stateUnit": "",
                               "stateMin": "",
                               "stateMax": "",
                               "x": 1470,
                               "y": 3100,
                               "wires": []
                           },
                           {
                               "id": "3a98ab78418aa1b8",
                               "type": "switch",
                               "z": "9c280ddf049b2b4d",
                               "name": "geändert?",
                               "property": "changed",
                               "propertyType": "msg",
                               "rules": [
                                   {
                                       "t": "true"
                                   }
                               ],
                               "checkall": "true",
                               "repair": false,
                               "outputs": 1,
                               "x": 480,
                               "y": 2940,
                               "wires": [
                                   [
                                       "bd4a29afe1d2edc0",
                                       "65bc684012bb3e71"
                                   ]
                               ]
                           },
                           {
                               "id": "2bcb34a2d0f6d715",
                               "type": "change",
                               "z": "9c280ddf049b2b4d",
                               "name": "check ",
                               "rules": [
                                   {
                                       "t": "set",
                                       "p": "current",
                                       "pt": "msg",
                                       "to": "homee.plan",
                                       "tot": "flow"
                                   },
                                   {
                                       "t": "set",
                                       "p": "changed",
                                       "pt": "msg",
                                       "to": "current = payload ? false : true",
                                       "tot": "jsonata"
                                   },
                                   {
                                       "t": "set",
                                       "p": "homee.plan",
                                       "pt": "flow",
                                       "to": "payload",
                                       "tot": "msg"
                                   }
                               ],
                               "action": "",
                               "property": "",
                               "from": "",
                               "to": "",
                               "reg": false,
                               "x": 310,
                               "y": 2940,
                               "wires": [
                                   [
                                       "3a98ab78418aa1b8"
                                   ]
                               ]
                           }
                        ]
                        

                        1. Kann ich dir für deinen Aufwand irgendwie eine Spende zukommen lassen?

                        Nein. ;) - Solange es mir noch Spass macht und ich selbst dabei noch lerne und solche Flows speichere ich mir durchaus ab, ist mir das Lohn genug. :) - Das Einzige was Du machen kannst, ist dieses tolle Tool (ich meine natürlich die "roten Knoten" ) und auch die Genialität von JSONATA zu promoten (die meisten wissen gar nicht, was ihnen entgeht). ;) Du kannst ja mal versuchen, es mit Javascript nachzubauen. Und die "Puzzle"-Fraktion könnte zwar auch JSONATA nutzen und tut es aber nicht - weil es sicher am Anfang nicht einfach ist, aber wenn man es einigermaßen durchschaut hat, spart man sich in meinen Augen eine Menge Codiererei. Wie gesagt Du kannst ja gerne mal - da Du des Programmierens mächtig bist, das gleiche mal mit function Nodes und Javascript programmieren.

                        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.

                        1 Antwort Letzte Antwort
                        0
                        • mickymM Offline
                          mickymM Offline
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von
                          #119

                          Na das schaut doch sehr gut aus. :+1: :+1: :+1:

                          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.

                          O 1 Antwort Letzte Antwort
                          0
                          • mickymM mickym

                            Na das schaut doch sehr gut aus. :+1: :+1: :+1:

                            O Online
                            O Online
                            Oli
                            schrieb am zuletzt editiert von
                            #120

                            @mickym
                            Danke

                            Gruß
                            Oliver

                            1 Antwort Letzte Antwort
                            0
                            • O Oli

                              Hallo zusammen,
                              ich bin absoluter Neuling im Thema Node-Red. Habe zwar schon vieles gelesen und Videos dazu angesehen, aber den Durchblick habe ich dadurch nicht erlangt.

                              Momentan geht es im Großteil erstmal darum meinen homee in der Vis zu visualisieren.

                              Folgendes möchte ich realisieren, ohne zu wissen, ob das alles mit der homee-api möglich ist:

                              1. Meinen homee mit Node-Red verbinden
                              2. Auslesen der Logdatei und diese in einer Tabelle abbilden
                              3. Auslesen der Heizpläne, diese in der Vis darstellen und eventuell auch über die Vis zu ändern
                              4. Nicht erreichbare Geräte auslesen und in deiner Tabelle abbilden
                              5. Auslesen der aktuellen Geodaten bei Abwesenheit und diese auf einer Map darstellen
                              6. Erstellen einer Geräteliste und diese in einer Tabelle abbilden

                              Wäre schön, wenn mich hierbei jemand unterstützen könnte und mich in die Welt von Node-Red einführt.

                              Wünsche allen noch ein gesundes und erfolgreiches Jahr 2023.

                              EDIT am 24.03.2023:

                              Ich hab es es mit der unermüdlichen Unterstützung von @mickym geschafft einen Großteil meiner Liste zu realisieren. Bevor ich mit der Zusammenfassung anfange, möchte ich mich nochmals herzlich bei @mickym bedanken, ohne dessen Hilfe hätte ich das ganze nicht umsetzten können.

                              Hier ein paar Bilder meiner VIS vom homee:
                              a41dfa30-a31e-4335-9c82-3908824919c0-image.png
                              10a937e6-fa22-4b59-bb3c-5e2eb4cea576-image.png
                              7c2f717c-e774-499f-b344-e215b3cd4cc9-image.png
                              fa4385d4-6584-40f6-9ca3-0972960777fb-image.png

                              zu 1. Meinen homee mit Node-Red verbinden, dass war noch relativ einfach
                              Dazu im Node Red -> oben rechts Burger Menü - Palette verwalten (Palette) - Installieren:
                              node-red-contrib-homee -> Installieren.
                              Man muss aber nur den echten homee-Namen (oder IP) eingeben, sowie einen bestehenden Nutzer und Passwort (kein kleiner homee). Jetzt kann man mit
                              Node-Red auf die Geräte von homee zugreifen.

                              zu 2. Auslesen der Logdatei und diese in einer Tabelle abbilden - wurde umgesetzt anbei der Flow und eine kurze Erklärung
                              Es werden nur die letzten 50 Einträge aus den Log geholt, die Anzahl kann man im Flow anpassen. Es dauert bei mir 2 -3 Sekunden bis der Log geholt wird.
                              homee Logfile.json

                              zu 3. Auslesen der Heizpläne, diese in der Vis darstellen und eventuell auch über die Vis zu ändern - wurde umgesetzt anbei der Flow und eine kurze Erklärung
                              Ich benutze für die Visualisierung der Heizpläne den heatingcontrol Adapter, die Steuerung läuft über homee. Der Flow erstellt eine Tabelle und schreibt die
                              Regelungszeiten und Temperaturen in die dafür vorgesehenen Datenpunkte des heatingcontrol Adapters, dazu habe ich die Anzahl der Regelungszeiten an die
                              benötigte Anzahl des Adapters angepasst.
                              homee Pläne.json

                              zu 4. Nicht erreichbare Geräte auslesen und in deiner Tabelle abbilden und
                              zu 6. Erstellen einer Geräteliste und diese in einer Tabelle abbilden - Diese beiden Punkte wurden zusammengepackt und umgesetzt anbei der Flow
                              Es wird eine Tabelle erstellt und zusätzlich eine Pushnachricht generiert, falls eine Gerät nicht erreichbar ist und über die homeeApp ausgegeben
                              Den Flow mit der Pushnachricht hatte ich im homee Forum gefunden und @mickym hat in an meine Bedürfnisse angepasst. Um in der Tabelle zwischen
                              batteriebetriebene und strombetriebene Geräte zu unterscheiden, habe ich mir in der homeeApp unter "Notiz" bei jedem Stromer einen Kommentar mit "Plug"
                              gesetzt. Zusätzlich habe ich mir bei allen Geräten unter "Notiz" noch die Typenbezeichnung der Geräte hinzugefügt.
                              homee Geräteliste.json

                              zu 5. Auslesen der aktuellen Geodaten bei Abwesenheit und diese auf einer Map darstellen - nicht umgesetzt, da Geodaten nur in der App vorhanden, nicht in der Api

                              Zusätzlich kamen noch 2 Punkte auf die Liste:

                              7. Auslesen der Settings und gewisse Daten in Datenpunkte schreiben - wurde umgesetzt, anbei der Flow
                              homee Settings.json

                              8. homeegramme auslesen und in eine Tabelle schreiben - wurde umgesetzt, anbei der Flow
                              homeegramme.json

                              Hier ist noch ein Flow, damit ihr seht wie ich die Api eingebunden habe
                              homee.json

                              Zum Schluss, hier noch meine VIS, hierfür benötigt ihr den "Material Design Widgets Adapter"
                              System_homee_Statistik.txt
                              System_homee_Pläne_Liste.txt
                              System_homee_Logdatei_Steuerung.txt
                              System_homee_Logdatei_Liste.txt
                              System_homee_Logdatei.txt
                              System_homee_homeegrammliste.txt
                              System_homee_Geräteliste.txt
                              System_homee.txt

                              Wenn ihr Fragen, oder Verbesserungen habt, gerne hier schreiben

                              H Offline
                              H Offline
                              Homesmarthome
                              schrieb am zuletzt editiert von
                              #121

                              @oli
                              Wahnsinn! Tolles Projekt!
                              Ich benutze Node Red für virtuelle Geräte im Homee.

                              Vor knapp 1 Jahr bin ich von IO Broker zu Homeassistant gewechselt, weil die Visualisierung dort gleich mit dabei ist und ich gerne ein schönes Dashbord für ein Tablet haben wollte. Spielerei.

                              Wo ich das Projekt hier sehe, gehe ich vielleicht wieder auf iO Broker zurück.
                              :+1: :+1:

                              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

                              889

                              Online

                              32.5k

                              Benutzer

                              81.8k

                              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