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. [Lösung] Adapter HeatingControl - NodeRed Dashboard

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

[Lösung] Adapter HeatingControl - NodeRed Dashboard

Geplant Angeheftet Gesperrt Verschoben Node-Red
5 Beiträge 2 Kommentatoren 615 Aufrufe 3 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.
  • T Offline
    T Offline
    Tableautin
    schrieb am zuletzt editiert von
    #1

    Hi Leute.

    Ich habe mich ein wenig in das NodeRed Dashboard eingearbeitet und mir eine dynamische Darstellung für das Pflegen der Datenpunkte des HeatingControl Adapters gebaut. Sehr vereinfacht also das, was @Pittini für die Vis gemacht hat. Hier halt nur für das NodeRed Dashboard.

    Natürlich ist es noch ausbaufähig, aber da die Struktur innerhalb des Adapters immer sehr ähnlich ist, lässt es sich für Interessierte leicht anpassen. Mein momentanes Beispiel basiert auf 5 Perioden, die für jeden Tag einzeln gepflegt werden (Adapter Einstellungen). Die Namen der Räume müssen im Dropdown noch korrekt gesetzt werden je nach Installation.

    So sieht es dann aus:
    f5c51357-b852-446b-ad91-367aabc34ddc-image.png

    Selektiere ich in der linken Gruppe ein Profil, einen Wochentag und einen Raum dann werden die Daten dann in der rechten Gruppe geladen und können auch modifiziert werden (Zeit ändern und Temperatur einstellen). Die Datenpunkte werden bei Änderung + Focuswechsel oder Klick auf die Pfeile aktuallisiert.

    Da ich relativ am Anfang meiner Reise mit NodeRed stehe, bin ich auch über Feedback dankbar, wie man etwas einfacher oder besser bauen kann. Sonst hoffe ich, dass es vielleicht noch ein paar Leute verwenden können.

    Hier der Flow:

    [
        {
            "id": "d7486244aef4dca1",
            "type": "tab",
            "label": "Visualisierung HeatingControl Tabelle",
            "disabled": false,
            "info": "",
            "env": []
        },
        {
            "id": "0dcd6daae4d2dbda",
            "type": "ui_dropdown",
            "z": "d7486244aef4dca1",
            "name": "",
            "label": "Heizprofil",
            "tooltip": "",
            "place": "Select option",
            "group": "d60b6f99a971eb20",
            "order": 1,
            "width": 0,
            "height": 0,
            "passthru": false,
            "multiple": false,
            "options": [
                {
                    "label": "(1) Homeoffice",
                    "value": 1,
                    "type": "num"
                },
                {
                    "label": "(2) Kein Homeoffice",
                    "value": 2,
                    "type": "num"
                }
            ],
            "payload": "",
            "topic": "Heizprofil",
            "topicType": "str",
            "className": "",
            "x": 320,
            "y": 40,
            "wires": [
                [
                    "85fa274351152be5"
                ]
            ]
        },
        {
            "id": "cab4eecd8cfb933b",
            "type": "ui_dropdown",
            "z": "d7486244aef4dca1",
            "name": "",
            "label": "Wochentag",
            "tooltip": "",
            "place": "Select option",
            "group": "d60b6f99a971eb20",
            "order": 2,
            "width": 0,
            "height": 0,
            "passthru": false,
            "multiple": false,
            "options": [
                {
                    "label": "Montag",
                    "value": "Mon",
                    "type": "str"
                },
                {
                    "label": "Dienstag",
                    "value": "Tue",
                    "type": "str"
                },
                {
                    "label": "Mittwoch",
                    "value": "Wed",
                    "type": "str"
                },
                {
                    "label": "Donnerstag",
                    "value": "Thu",
                    "type": "str"
                },
                {
                    "label": "Freitag",
                    "value": "Fri",
                    "type": "str"
                },
                {
                    "label": "Samstag",
                    "value": "Sat",
                    "type": "str"
                },
                {
                    "label": "Sonntag",
                    "value": "Sun",
                    "type": "str"
                }
            ],
            "payload": "",
            "topic": "Wochentag",
            "topicType": "str",
            "className": "",
            "x": 330,
            "y": 100,
            "wires": [
                [
                    "85fa274351152be5"
                ]
            ]
        },
        {
            "id": "173d5d45ae34a29d",
            "type": "ui_dropdown",
            "z": "d7486244aef4dca1",
            "name": "",
            "label": "Raum",
            "tooltip": "",
            "place": "Select option",
            "group": "d60b6f99a971eb20",
            "order": 3,
            "width": 0,
            "height": 0,
            "passthru": false,
            "multiple": false,
            "options": [
                {
                    "label": "(OG) Büro",
                    "value": "OG_BU",
                    "type": "str"
                },
                {
                    "label": "(OG) Heimkino",
                    "value": "OG_HK",
                    "type": "str"
                },
                {
                    "label": "(DG) Fitness",
                    "value": "DG_FI",
                    "type": "str"
                }
            ],
            "payload": "",
            "topic": "Raum",
            "topicType": "str",
            "className": "",
            "x": 310,
            "y": 160,
            "wires": [
                [
                    "85fa274351152be5"
                ]
            ]
        },
        {
            "id": "773c25426dffc7c6",
            "type": "ui_numeric",
            "z": "d7486244aef4dca1",
            "name": "Profil - Zeitraum 1",
            "label": "Periode 1",
            "tooltip": "",
            "group": "579ccae2d2e79186",
            "order": 1,
            "width": 6,
            "height": 1,
            "wrap": false,
            "passthru": false,
            "topic": "topic",
            "topicType": "msg",
            "format": "{{value}}",
            "min": "5",
            "max": "25",
            "step": "0.5",
            "className": "",
            "x": 1230,
            "y": 20,
            "wires": [
                [
                    "b144ed59aed9271a"
                ]
            ]
        },
        {
            "id": "208af488611a0ec7",
            "type": "ioBroker get",
            "z": "d7486244aef4dca1",
            "name": "Lade Temperatur",
            "topic": "",
            "attrname": "payload",
            "payloadType": "value",
            "errOnInvalidState": "nothing",
            "x": 990,
            "y": 20,
            "wires": [
                [
                    "773c25426dffc7c6"
                ]
            ]
        },
        {
            "id": "85fa274351152be5",
            "type": "join",
            "z": "d7486244aef4dca1",
            "name": "",
            "mode": "custom",
            "build": "object",
            "property": "payload",
            "propertyType": "msg",
            "key": "topic",
            "joiner": "\\n",
            "joinerType": "str",
            "accumulate": true,
            "timeout": "",
            "count": "3",
            "reduceRight": false,
            "reduceExp": "",
            "reduceInit": "",
            "reduceInitType": "",
            "reduceFixup": "",
            "x": 510,
            "y": 100,
            "wires": [
                [
                    "9b3026a64cf43adc",
                    "cad860118d81cfe1",
                    "2ac04350942283a8",
                    "aea2f89e4805c273",
                    "c196bf7fd669a980",
                    "715c5af2d00c64a7",
                    "a237bc9bf2e80ebd",
                    "6686102cd5e24e27",
                    "ad97637293b9d9f7",
                    "ac2c73f8e64292df"
                ]
            ]
        },
        {
            "id": "9b3026a64cf43adc",
            "type": "change",
            "z": "d7486244aef4dca1",
            "name": "Periode 1",
            "rules": [
                {
                    "t": "set",
                    "p": "topic",
                    "pt": "msg",
                    "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.1.Temperature\"",
                    "tot": "jsonata"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 780,
            "y": 20,
            "wires": [
                [
                    "208af488611a0ec7"
                ]
            ]
        },
        {
            "id": "b4f118ecfb009177",
            "type": "ioBroker get",
            "z": "d7486244aef4dca1",
            "name": "Lade Temperatur",
            "topic": "",
            "attrname": "payload",
            "payloadType": "value",
            "errOnInvalidState": "nothing",
            "x": 990,
            "y": 80,
            "wires": [
                [
                    "d629aab76e944bb1"
                ]
            ]
        },
        {
            "id": "cad860118d81cfe1",
            "type": "change",
            "z": "d7486244aef4dca1",
            "name": "Periode 2",
            "rules": [
                {
                    "t": "set",
                    "p": "topic",
                    "pt": "msg",
                    "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.2.Temperature\"",
                    "tot": "jsonata"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 780,
            "y": 80,
            "wires": [
                [
                    "b4f118ecfb009177"
                ]
            ]
        },
        {
            "id": "c8399ca5c6b3220d",
            "type": "ui_numeric",
            "z": "d7486244aef4dca1",
            "name": "Profil - Zeitraum 3",
            "label": "Periode 3",
            "tooltip": "",
            "group": "579ccae2d2e79186",
            "order": 5,
            "width": 6,
            "height": 1,
            "wrap": false,
            "passthru": false,
            "topic": "topic",
            "topicType": "msg",
            "format": "{{value}}",
            "min": "5",
            "max": "25",
            "step": "0.5",
            "className": "",
            "x": 1230,
            "y": 140,
            "wires": [
                [
                    "a4467d19e5573c50"
                ]
            ]
        },
        {
            "id": "fcf5059cd2fb1f0c",
            "type": "ioBroker get",
            "z": "d7486244aef4dca1",
            "name": "Lade Temperatur",
            "topic": "",
            "attrname": "payload",
            "payloadType": "value",
            "errOnInvalidState": "nothing",
            "x": 990,
            "y": 140,
            "wires": [
                [
                    "c8399ca5c6b3220d"
                ]
            ]
        },
        {
            "id": "2ac04350942283a8",
            "type": "change",
            "z": "d7486244aef4dca1",
            "name": "Periode 3",
            "rules": [
                {
                    "t": "set",
                    "p": "topic",
                    "pt": "msg",
                    "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.3.Temperature\"",
                    "tot": "jsonata"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 780,
            "y": 140,
            "wires": [
                [
                    "fcf5059cd2fb1f0c"
                ]
            ]
        },
        {
            "id": "fcc32382b27c7bf9",
            "type": "ui_numeric",
            "z": "d7486244aef4dca1",
            "name": "Profil - Zeitraum 4",
            "label": "Periode 4",
            "tooltip": "",
            "group": "579ccae2d2e79186",
            "order": 7,
            "width": 6,
            "height": 1,
            "wrap": false,
            "passthru": false,
            "topic": "topic",
            "topicType": "msg",
            "format": "{{value}}",
            "min": "5",
            "max": "25",
            "step": "0.5",
            "className": "",
            "x": 1230,
            "y": 200,
            "wires": [
                [
                    "49024e36bb75c3f6"
                ]
            ]
        },
        {
            "id": "36972a6d0b97cb48",
            "type": "ioBroker get",
            "z": "d7486244aef4dca1",
            "name": "Lade Temperatur",
            "topic": "",
            "attrname": "payload",
            "payloadType": "value",
            "errOnInvalidState": "nothing",
            "x": 990,
            "y": 200,
            "wires": [
                [
                    "fcc32382b27c7bf9"
                ]
            ]
        },
        {
            "id": "aea2f89e4805c273",
            "type": "change",
            "z": "d7486244aef4dca1",
            "name": "Periode 4",
            "rules": [
                {
                    "t": "set",
                    "p": "topic",
                    "pt": "msg",
                    "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.4.Temperature\"",
                    "tot": "jsonata"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 780,
            "y": 200,
            "wires": [
                [
                    "36972a6d0b97cb48"
                ]
            ]
        },
        {
            "id": "0266ede1d351e3d1",
            "type": "ui_numeric",
            "z": "d7486244aef4dca1",
            "name": "Profil - Zeitraum 5",
            "label": "Periode 5",
            "tooltip": "",
            "group": "579ccae2d2e79186",
            "order": 9,
            "width": 6,
            "height": 1,
            "wrap": false,
            "passthru": false,
            "topic": "topic",
            "topicType": "msg",
            "format": "{{value}}",
            "min": "5",
            "max": "25",
            "step": "0.5",
            "className": "",
            "x": 1230,
            "y": 260,
            "wires": [
                [
                    "b4939f8abb67a3ee"
                ]
            ]
        },
        {
            "id": "d66101d8153e2f8e",
            "type": "ioBroker get",
            "z": "d7486244aef4dca1",
            "name": "Lade Temperatur",
            "topic": "",
            "attrname": "payload",
            "payloadType": "value",
            "errOnInvalidState": "nothing",
            "x": 990,
            "y": 260,
            "wires": [
                [
                    "0266ede1d351e3d1"
                ]
            ]
        },
        {
            "id": "c196bf7fd669a980",
            "type": "change",
            "z": "d7486244aef4dca1",
            "name": "Periode 5",
            "rules": [
                {
                    "t": "set",
                    "p": "topic",
                    "pt": "msg",
                    "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.5.Temperature\"",
                    "tot": "jsonata"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 780,
            "y": 260,
            "wires": [
                [
                    "d66101d8153e2f8e"
                ]
            ]
        },
        {
            "id": "715c5af2d00c64a7",
            "type": "change",
            "z": "d7486244aef4dca1",
            "name": "Periode 1",
            "rules": [
                {
                    "t": "set",
                    "p": "topic",
                    "pt": "msg",
                    "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&\t$.payload.Wochentag&\".Periods.1.time\"",
                    "tot": "jsonata"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 780,
            "y": 340,
            "wires": [
                [
                    "aa79a7739e2fb39c"
                ]
            ]
        },
        {
            "id": "a237bc9bf2e80ebd",
            "type": "change",
            "z": "d7486244aef4dca1",
            "name": "Periode 2",
            "rules": [
                {
                    "t": "set",
                    "p": "topic",
                    "pt": "msg",
                    "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.2.time\"",
                    "tot": "jsonata"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 780,
            "y": 400,
            "wires": [
                [
                    "791a37c2a7b8ce71"
                ]
            ]
        },
        {
            "id": "6686102cd5e24e27",
            "type": "change",
            "z": "d7486244aef4dca1",
            "name": "Periode 3",
            "rules": [
                {
                    "t": "set",
                    "p": "topic",
                    "pt": "msg",
                    "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.3.time\"",
                    "tot": "jsonata"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 780,
            "y": 460,
            "wires": [
                [
                    "e06be6c53c6703f2"
                ]
            ]
        },
        {
            "id": "ad97637293b9d9f7",
            "type": "change",
            "z": "d7486244aef4dca1",
            "name": "Periode 4",
            "rules": [
                {
                    "t": "set",
                    "p": "topic",
                    "pt": "msg",
                    "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.4.time\"",
                    "tot": "jsonata"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 780,
            "y": 520,
            "wires": [
                [
                    "7ecc3b8037979f8e"
                ]
            ]
        },
        {
            "id": "ac2c73f8e64292df",
            "type": "change",
            "z": "d7486244aef4dca1",
            "name": "Periode 5",
            "rules": [
                {
                    "t": "set",
                    "p": "topic",
                    "pt": "msg",
                    "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.5.time\"",
                    "tot": "jsonata"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 780,
            "y": 580,
            "wires": [
                [
                    "014e58f4dea2d90e"
                ]
            ]
        },
        {
            "id": "014e58f4dea2d90e",
            "type": "ioBroker get",
            "z": "d7486244aef4dca1",
            "name": "Lade Zeit",
            "topic": "",
            "attrname": "payload",
            "payloadType": "value",
            "errOnInvalidState": "nothing",
            "x": 960,
            "y": 580,
            "wires": [
                [
                    "1cfd9ed9e6902c43"
                ]
            ]
        },
        {
            "id": "7ecc3b8037979f8e",
            "type": "ioBroker get",
            "z": "d7486244aef4dca1",
            "name": "Lade Zeit",
            "topic": "",
            "attrname": "payload",
            "payloadType": "value",
            "errOnInvalidState": "nothing",
            "x": 960,
            "y": 520,
            "wires": [
                [
                    "094f9dceca896961"
                ]
            ]
        },
        {
            "id": "e06be6c53c6703f2",
            "type": "ioBroker get",
            "z": "d7486244aef4dca1",
            "name": "Lade Zeit",
            "topic": "",
            "attrname": "payload",
            "payloadType": "value",
            "errOnInvalidState": "nothing",
            "x": 960,
            "y": 460,
            "wires": [
                [
                    "ccef6810ab3dcfb7"
                ]
            ]
        },
        {
            "id": "791a37c2a7b8ce71",
            "type": "ioBroker get",
            "z": "d7486244aef4dca1",
            "name": "Lade Zeit",
            "topic": "",
            "attrname": "payload",
            "payloadType": "value",
            "errOnInvalidState": "nothing",
            "x": 960,
            "y": 400,
            "wires": [
                [
                    "0f0326822a0a4c82"
                ]
            ]
        },
        {
            "id": "aa79a7739e2fb39c",
            "type": "ioBroker get",
            "z": "d7486244aef4dca1",
            "name": "Lade Zeit",
            "topic": "",
            "attrname": "payload",
            "payloadType": "value",
            "errOnInvalidState": "nothing",
            "x": 960,
            "y": 340,
            "wires": [
                [
                    "200ec0940a45bf3f"
                ]
            ]
        },
        {
            "id": "200ec0940a45bf3f",
            "type": "ui_text_input",
            "z": "d7486244aef4dca1",
            "name": "Büro - Profil 1 - Zeit",
            "label": "",
            "tooltip": "",
            "group": "579ccae2d2e79186",
            "order": 2,
            "width": 2,
            "height": 1,
            "passthru": false,
            "mode": "text",
            "delay": 300,
            "topic": "topic",
            "sendOnBlur": true,
            "className": "",
            "topicType": "msg",
            "x": 1210,
            "y": 340,
            "wires": [
                [
                    "b31dc92fa4810a6e"
                ]
            ]
        },
        {
            "id": "0f0326822a0a4c82",
            "type": "ui_text_input",
            "z": "d7486244aef4dca1",
            "name": "Büro - Profil 2 - Zeit",
            "label": "",
            "tooltip": "",
            "group": "579ccae2d2e79186",
            "order": 4,
            "width": 2,
            "height": 1,
            "passthru": false,
            "mode": "text",
            "delay": 300,
            "topic": "topic",
            "sendOnBlur": true,
            "className": "",
            "topicType": "msg",
            "x": 1210,
            "y": 400,
            "wires": [
                [
                    "181421ea9d8e9426"
                ]
            ]
        },
        {
            "id": "ccef6810ab3dcfb7",
            "type": "ui_text_input",
            "z": "d7486244aef4dca1",
            "name": "Büro - Profil 3 - Zeit",
            "label": "",
            "tooltip": "",
            "group": "579ccae2d2e79186",
            "order": 6,
            "width": 2,
            "height": 1,
            "passthru": false,
            "mode": "text",
            "delay": 300,
            "topic": "topic",
            "sendOnBlur": true,
            "className": "",
            "topicType": "msg",
            "x": 1210,
            "y": 460,
            "wires": [
                [
                    "bb12fc8f98d48e51"
                ]
            ]
        },
        {
            "id": "094f9dceca896961",
            "type": "ui_text_input",
            "z": "d7486244aef4dca1",
            "name": "Büro - Profil 4 - Zeit",
            "label": "",
            "tooltip": "",
            "group": "579ccae2d2e79186",
            "order": 8,
            "width": 2,
            "height": 1,
            "passthru": false,
            "mode": "text",
            "delay": 300,
            "topic": "topic",
            "sendOnBlur": true,
            "className": "",
            "topicType": "msg",
            "x": 1210,
            "y": 520,
            "wires": [
                [
                    "32b2c1496819464f"
                ]
            ]
        },
        {
            "id": "1cfd9ed9e6902c43",
            "type": "ui_text_input",
            "z": "d7486244aef4dca1",
            "name": "Büro - Profil 5- Zeit",
            "label": "",
            "tooltip": "",
            "group": "579ccae2d2e79186",
            "order": 10,
            "width": 2,
            "height": 1,
            "passthru": false,
            "mode": "text",
            "delay": 300,
            "topic": "topic",
            "sendOnBlur": true,
            "className": "",
            "topicType": "msg",
            "x": 1210,
            "y": 580,
            "wires": [
                [
                    "d52424ac4c245ffa"
                ]
            ]
        },
        {
            "id": "b144ed59aed9271a",
            "type": "ioBroker out",
            "z": "d7486244aef4dca1",
            "name": "Schreiben",
            "topic": "",
            "ack": "false",
            "autoCreate": "false",
            "stateName": "",
            "role": "",
            "payloadType": "",
            "readonly": "",
            "stateUnit": "",
            "stateMin": "",
            "stateMax": "",
            "x": 1460,
            "y": 20,
            "wires": []
        },
        {
            "id": "bdb8b104467f2ec5",
            "type": "ioBroker out",
            "z": "d7486244aef4dca1",
            "name": "Schreiben",
            "topic": "",
            "ack": "false",
            "autoCreate": "false",
            "stateName": "",
            "role": "",
            "payloadType": "",
            "readonly": "",
            "stateUnit": "",
            "stateMin": "",
            "stateMax": "",
            "x": 1460,
            "y": 80,
            "wires": []
        },
        {
            "id": "a4467d19e5573c50",
            "type": "ioBroker out",
            "z": "d7486244aef4dca1",
            "name": "Schreiben",
            "topic": "",
            "ack": "false",
            "autoCreate": "false",
            "stateName": "",
            "role": "",
            "payloadType": "",
            "readonly": "",
            "stateUnit": "",
            "stateMin": "",
            "stateMax": "",
            "x": 1460,
            "y": 140,
            "wires": []
        },
        {
            "id": "49024e36bb75c3f6",
            "type": "ioBroker out",
            "z": "d7486244aef4dca1",
            "name": "Schreiben",
            "topic": "",
            "ack": "false",
            "autoCreate": "false",
            "stateName": "",
            "role": "",
            "payloadType": "",
            "readonly": "",
            "stateUnit": "",
            "stateMin": "",
            "stateMax": "",
            "x": 1460,
            "y": 200,
            "wires": []
        },
        {
            "id": "b4939f8abb67a3ee",
            "type": "ioBroker out",
            "z": "d7486244aef4dca1",
            "name": "Schreiben",
            "topic": "",
            "ack": "false",
            "autoCreate": "false",
            "stateName": "",
            "role": "",
            "payloadType": "",
            "readonly": "",
            "stateUnit": "",
            "stateMin": "",
            "stateMax": "",
            "x": 1460,
            "y": 260,
            "wires": []
        },
        {
            "id": "b31dc92fa4810a6e",
            "type": "ioBroker out",
            "z": "d7486244aef4dca1",
            "name": "Schreiben",
            "topic": "",
            "ack": "false",
            "autoCreate": "false",
            "stateName": "",
            "role": "",
            "payloadType": "",
            "readonly": "",
            "stateUnit": "",
            "stateMin": "",
            "stateMax": "",
            "x": 1460,
            "y": 340,
            "wires": []
        },
        {
            "id": "181421ea9d8e9426",
            "type": "ioBroker out",
            "z": "d7486244aef4dca1",
            "name": "Schreiben",
            "topic": "",
            "ack": "false",
            "autoCreate": "false",
            "stateName": "",
            "role": "",
            "payloadType": "",
            "readonly": "",
            "stateUnit": "",
            "stateMin": "",
            "stateMax": "",
            "x": 1460,
            "y": 400,
            "wires": []
        },
        {
            "id": "bb12fc8f98d48e51",
            "type": "ioBroker out",
            "z": "d7486244aef4dca1",
            "name": "Schreiben",
            "topic": "",
            "ack": "false",
            "autoCreate": "false",
            "stateName": "",
            "role": "",
            "payloadType": "",
            "readonly": "",
            "stateUnit": "",
            "stateMin": "",
            "stateMax": "",
            "x": 1460,
            "y": 460,
            "wires": []
        },
        {
            "id": "32b2c1496819464f",
            "type": "ioBroker out",
            "z": "d7486244aef4dca1",
            "name": "Schreiben",
            "topic": "",
            "ack": "false",
            "autoCreate": "false",
            "stateName": "",
            "role": "",
            "payloadType": "",
            "readonly": "",
            "stateUnit": "",
            "stateMin": "",
            "stateMax": "",
            "x": 1460,
            "y": 520,
            "wires": []
        },
        {
            "id": "d52424ac4c245ffa",
            "type": "ioBroker out",
            "z": "d7486244aef4dca1",
            "name": "Schreiben",
            "topic": "",
            "ack": "false",
            "autoCreate": "false",
            "stateName": "",
            "role": "",
            "payloadType": "",
            "readonly": "",
            "stateUnit": "",
            "stateMin": "",
            "stateMax": "",
            "x": 1460,
            "y": 580,
            "wires": []
        },
        {
            "id": "c589b0a966719f74",
            "type": "inject",
            "z": "d7486244aef4dca1",
            "name": "",
            "props": [
                {
                    "p": "payload"
                }
            ],
            "repeat": "",
            "crontab": "",
            "once": true,
            "onceDelay": 0.1,
            "topic": "",
            "payload": "",
            "payloadType": "str",
            "x": 1050,
            "y": 300,
            "wires": [
                [
                    "773c25426dffc7c6",
                    "c8399ca5c6b3220d",
                    "fcc32382b27c7bf9",
                    "0266ede1d351e3d1",
                    "200ec0940a45bf3f",
                    "0f0326822a0a4c82",
                    "ccef6810ab3dcfb7",
                    "094f9dceca896961",
                    "1cfd9ed9e6902c43",
                    "d629aab76e944bb1"
                ]
            ]
        },
        {
            "id": "7995318aa8070394",
            "type": "inject",
            "z": "d7486244aef4dca1",
            "name": "",
            "props": [
                {
                    "p": "payload"
                }
            ],
            "repeat": "",
            "crontab": "",
            "once": true,
            "onceDelay": 0.1,
            "topic": "",
            "payload": "",
            "payloadType": "str",
            "x": 90,
            "y": 40,
            "wires": [
                [
                    "0dcd6daae4d2dbda",
                    "cab4eecd8cfb933b",
                    "173d5d45ae34a29d"
                ]
            ]
        },
        {
            "id": "d629aab76e944bb1",
            "type": "ui_numeric",
            "z": "d7486244aef4dca1",
            "name": "Profil - Zeitraum 2",
            "label": "Periode 2",
            "tooltip": "",
            "group": "579ccae2d2e79186",
            "order": 3,
            "width": 6,
            "height": 1,
            "wrap": false,
            "passthru": false,
            "topic": "topic",
            "topicType": "msg",
            "format": "{{value}}",
            "min": "5",
            "max": "25",
            "step": "0.5",
            "className": "",
            "x": 1230,
            "y": 80,
            "wires": [
                [
                    "bdb8b104467f2ec5"
                ]
            ]
        },
        {
            "id": "d60b6f99a971eb20",
            "type": "ui_group",
            "name": "Komponentenauswahl",
            "tab": "2f20796e8f897eb0",
            "order": 1,
            "disp": true,
            "width": "8",
            "collapse": false,
            "className": ""
        },
        {
            "id": "579ccae2d2e79186",
            "type": "ui_group",
            "name": "Profil bearbeiten",
            "tab": "2f20796e8f897eb0",
            "order": 2,
            "disp": true,
            "width": "8",
            "collapse": false,
            "className": ""
        },
        {
            "id": "2f20796e8f897eb0",
            "type": "ui_tab",
            "name": "Zeitsteuerung Heizung - Übersicht",
            "icon": "fa-calendar",
            "order": 7,
            "disabled": false,
            "hidden": false
        }
    ]
    

    ioBroker auf QNAP NAS im Docker

    sonst ein ziemlicher ioBroker Hipster

    • iQontrol als VIS
    • NodeRed als Programmier-Schnittstelle
    mickymM 1 Antwort Letzte Antwort
    1
    • T Tableautin

      Hi Leute.

      Ich habe mich ein wenig in das NodeRed Dashboard eingearbeitet und mir eine dynamische Darstellung für das Pflegen der Datenpunkte des HeatingControl Adapters gebaut. Sehr vereinfacht also das, was @Pittini für die Vis gemacht hat. Hier halt nur für das NodeRed Dashboard.

      Natürlich ist es noch ausbaufähig, aber da die Struktur innerhalb des Adapters immer sehr ähnlich ist, lässt es sich für Interessierte leicht anpassen. Mein momentanes Beispiel basiert auf 5 Perioden, die für jeden Tag einzeln gepflegt werden (Adapter Einstellungen). Die Namen der Räume müssen im Dropdown noch korrekt gesetzt werden je nach Installation.

      So sieht es dann aus:
      f5c51357-b852-446b-ad91-367aabc34ddc-image.png

      Selektiere ich in der linken Gruppe ein Profil, einen Wochentag und einen Raum dann werden die Daten dann in der rechten Gruppe geladen und können auch modifiziert werden (Zeit ändern und Temperatur einstellen). Die Datenpunkte werden bei Änderung + Focuswechsel oder Klick auf die Pfeile aktuallisiert.

      Da ich relativ am Anfang meiner Reise mit NodeRed stehe, bin ich auch über Feedback dankbar, wie man etwas einfacher oder besser bauen kann. Sonst hoffe ich, dass es vielleicht noch ein paar Leute verwenden können.

      Hier der Flow:

      [
          {
              "id": "d7486244aef4dca1",
              "type": "tab",
              "label": "Visualisierung HeatingControl Tabelle",
              "disabled": false,
              "info": "",
              "env": []
          },
          {
              "id": "0dcd6daae4d2dbda",
              "type": "ui_dropdown",
              "z": "d7486244aef4dca1",
              "name": "",
              "label": "Heizprofil",
              "tooltip": "",
              "place": "Select option",
              "group": "d60b6f99a971eb20",
              "order": 1,
              "width": 0,
              "height": 0,
              "passthru": false,
              "multiple": false,
              "options": [
                  {
                      "label": "(1) Homeoffice",
                      "value": 1,
                      "type": "num"
                  },
                  {
                      "label": "(2) Kein Homeoffice",
                      "value": 2,
                      "type": "num"
                  }
              ],
              "payload": "",
              "topic": "Heizprofil",
              "topicType": "str",
              "className": "",
              "x": 320,
              "y": 40,
              "wires": [
                  [
                      "85fa274351152be5"
                  ]
              ]
          },
          {
              "id": "cab4eecd8cfb933b",
              "type": "ui_dropdown",
              "z": "d7486244aef4dca1",
              "name": "",
              "label": "Wochentag",
              "tooltip": "",
              "place": "Select option",
              "group": "d60b6f99a971eb20",
              "order": 2,
              "width": 0,
              "height": 0,
              "passthru": false,
              "multiple": false,
              "options": [
                  {
                      "label": "Montag",
                      "value": "Mon",
                      "type": "str"
                  },
                  {
                      "label": "Dienstag",
                      "value": "Tue",
                      "type": "str"
                  },
                  {
                      "label": "Mittwoch",
                      "value": "Wed",
                      "type": "str"
                  },
                  {
                      "label": "Donnerstag",
                      "value": "Thu",
                      "type": "str"
                  },
                  {
                      "label": "Freitag",
                      "value": "Fri",
                      "type": "str"
                  },
                  {
                      "label": "Samstag",
                      "value": "Sat",
                      "type": "str"
                  },
                  {
                      "label": "Sonntag",
                      "value": "Sun",
                      "type": "str"
                  }
              ],
              "payload": "",
              "topic": "Wochentag",
              "topicType": "str",
              "className": "",
              "x": 330,
              "y": 100,
              "wires": [
                  [
                      "85fa274351152be5"
                  ]
              ]
          },
          {
              "id": "173d5d45ae34a29d",
              "type": "ui_dropdown",
              "z": "d7486244aef4dca1",
              "name": "",
              "label": "Raum",
              "tooltip": "",
              "place": "Select option",
              "group": "d60b6f99a971eb20",
              "order": 3,
              "width": 0,
              "height": 0,
              "passthru": false,
              "multiple": false,
              "options": [
                  {
                      "label": "(OG) Büro",
                      "value": "OG_BU",
                      "type": "str"
                  },
                  {
                      "label": "(OG) Heimkino",
                      "value": "OG_HK",
                      "type": "str"
                  },
                  {
                      "label": "(DG) Fitness",
                      "value": "DG_FI",
                      "type": "str"
                  }
              ],
              "payload": "",
              "topic": "Raum",
              "topicType": "str",
              "className": "",
              "x": 310,
              "y": 160,
              "wires": [
                  [
                      "85fa274351152be5"
                  ]
              ]
          },
          {
              "id": "773c25426dffc7c6",
              "type": "ui_numeric",
              "z": "d7486244aef4dca1",
              "name": "Profil - Zeitraum 1",
              "label": "Periode 1",
              "tooltip": "",
              "group": "579ccae2d2e79186",
              "order": 1,
              "width": 6,
              "height": 1,
              "wrap": false,
              "passthru": false,
              "topic": "topic",
              "topicType": "msg",
              "format": "{{value}}",
              "min": "5",
              "max": "25",
              "step": "0.5",
              "className": "",
              "x": 1230,
              "y": 20,
              "wires": [
                  [
                      "b144ed59aed9271a"
                  ]
              ]
          },
          {
              "id": "208af488611a0ec7",
              "type": "ioBroker get",
              "z": "d7486244aef4dca1",
              "name": "Lade Temperatur",
              "topic": "",
              "attrname": "payload",
              "payloadType": "value",
              "errOnInvalidState": "nothing",
              "x": 990,
              "y": 20,
              "wires": [
                  [
                      "773c25426dffc7c6"
                  ]
              ]
          },
          {
              "id": "85fa274351152be5",
              "type": "join",
              "z": "d7486244aef4dca1",
              "name": "",
              "mode": "custom",
              "build": "object",
              "property": "payload",
              "propertyType": "msg",
              "key": "topic",
              "joiner": "\\n",
              "joinerType": "str",
              "accumulate": true,
              "timeout": "",
              "count": "3",
              "reduceRight": false,
              "reduceExp": "",
              "reduceInit": "",
              "reduceInitType": "",
              "reduceFixup": "",
              "x": 510,
              "y": 100,
              "wires": [
                  [
                      "9b3026a64cf43adc",
                      "cad860118d81cfe1",
                      "2ac04350942283a8",
                      "aea2f89e4805c273",
                      "c196bf7fd669a980",
                      "715c5af2d00c64a7",
                      "a237bc9bf2e80ebd",
                      "6686102cd5e24e27",
                      "ad97637293b9d9f7",
                      "ac2c73f8e64292df"
                  ]
              ]
          },
          {
              "id": "9b3026a64cf43adc",
              "type": "change",
              "z": "d7486244aef4dca1",
              "name": "Periode 1",
              "rules": [
                  {
                      "t": "set",
                      "p": "topic",
                      "pt": "msg",
                      "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.1.Temperature\"",
                      "tot": "jsonata"
                  }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 780,
              "y": 20,
              "wires": [
                  [
                      "208af488611a0ec7"
                  ]
              ]
          },
          {
              "id": "b4f118ecfb009177",
              "type": "ioBroker get",
              "z": "d7486244aef4dca1",
              "name": "Lade Temperatur",
              "topic": "",
              "attrname": "payload",
              "payloadType": "value",
              "errOnInvalidState": "nothing",
              "x": 990,
              "y": 80,
              "wires": [
                  [
                      "d629aab76e944bb1"
                  ]
              ]
          },
          {
              "id": "cad860118d81cfe1",
              "type": "change",
              "z": "d7486244aef4dca1",
              "name": "Periode 2",
              "rules": [
                  {
                      "t": "set",
                      "p": "topic",
                      "pt": "msg",
                      "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.2.Temperature\"",
                      "tot": "jsonata"
                  }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 780,
              "y": 80,
              "wires": [
                  [
                      "b4f118ecfb009177"
                  ]
              ]
          },
          {
              "id": "c8399ca5c6b3220d",
              "type": "ui_numeric",
              "z": "d7486244aef4dca1",
              "name": "Profil - Zeitraum 3",
              "label": "Periode 3",
              "tooltip": "",
              "group": "579ccae2d2e79186",
              "order": 5,
              "width": 6,
              "height": 1,
              "wrap": false,
              "passthru": false,
              "topic": "topic",
              "topicType": "msg",
              "format": "{{value}}",
              "min": "5",
              "max": "25",
              "step": "0.5",
              "className": "",
              "x": 1230,
              "y": 140,
              "wires": [
                  [
                      "a4467d19e5573c50"
                  ]
              ]
          },
          {
              "id": "fcf5059cd2fb1f0c",
              "type": "ioBroker get",
              "z": "d7486244aef4dca1",
              "name": "Lade Temperatur",
              "topic": "",
              "attrname": "payload",
              "payloadType": "value",
              "errOnInvalidState": "nothing",
              "x": 990,
              "y": 140,
              "wires": [
                  [
                      "c8399ca5c6b3220d"
                  ]
              ]
          },
          {
              "id": "2ac04350942283a8",
              "type": "change",
              "z": "d7486244aef4dca1",
              "name": "Periode 3",
              "rules": [
                  {
                      "t": "set",
                      "p": "topic",
                      "pt": "msg",
                      "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.3.Temperature\"",
                      "tot": "jsonata"
                  }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 780,
              "y": 140,
              "wires": [
                  [
                      "fcf5059cd2fb1f0c"
                  ]
              ]
          },
          {
              "id": "fcc32382b27c7bf9",
              "type": "ui_numeric",
              "z": "d7486244aef4dca1",
              "name": "Profil - Zeitraum 4",
              "label": "Periode 4",
              "tooltip": "",
              "group": "579ccae2d2e79186",
              "order": 7,
              "width": 6,
              "height": 1,
              "wrap": false,
              "passthru": false,
              "topic": "topic",
              "topicType": "msg",
              "format": "{{value}}",
              "min": "5",
              "max": "25",
              "step": "0.5",
              "className": "",
              "x": 1230,
              "y": 200,
              "wires": [
                  [
                      "49024e36bb75c3f6"
                  ]
              ]
          },
          {
              "id": "36972a6d0b97cb48",
              "type": "ioBroker get",
              "z": "d7486244aef4dca1",
              "name": "Lade Temperatur",
              "topic": "",
              "attrname": "payload",
              "payloadType": "value",
              "errOnInvalidState": "nothing",
              "x": 990,
              "y": 200,
              "wires": [
                  [
                      "fcc32382b27c7bf9"
                  ]
              ]
          },
          {
              "id": "aea2f89e4805c273",
              "type": "change",
              "z": "d7486244aef4dca1",
              "name": "Periode 4",
              "rules": [
                  {
                      "t": "set",
                      "p": "topic",
                      "pt": "msg",
                      "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.4.Temperature\"",
                      "tot": "jsonata"
                  }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 780,
              "y": 200,
              "wires": [
                  [
                      "36972a6d0b97cb48"
                  ]
              ]
          },
          {
              "id": "0266ede1d351e3d1",
              "type": "ui_numeric",
              "z": "d7486244aef4dca1",
              "name": "Profil - Zeitraum 5",
              "label": "Periode 5",
              "tooltip": "",
              "group": "579ccae2d2e79186",
              "order": 9,
              "width": 6,
              "height": 1,
              "wrap": false,
              "passthru": false,
              "topic": "topic",
              "topicType": "msg",
              "format": "{{value}}",
              "min": "5",
              "max": "25",
              "step": "0.5",
              "className": "",
              "x": 1230,
              "y": 260,
              "wires": [
                  [
                      "b4939f8abb67a3ee"
                  ]
              ]
          },
          {
              "id": "d66101d8153e2f8e",
              "type": "ioBroker get",
              "z": "d7486244aef4dca1",
              "name": "Lade Temperatur",
              "topic": "",
              "attrname": "payload",
              "payloadType": "value",
              "errOnInvalidState": "nothing",
              "x": 990,
              "y": 260,
              "wires": [
                  [
                      "0266ede1d351e3d1"
                  ]
              ]
          },
          {
              "id": "c196bf7fd669a980",
              "type": "change",
              "z": "d7486244aef4dca1",
              "name": "Periode 5",
              "rules": [
                  {
                      "t": "set",
                      "p": "topic",
                      "pt": "msg",
                      "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.5.Temperature\"",
                      "tot": "jsonata"
                  }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 780,
              "y": 260,
              "wires": [
                  [
                      "d66101d8153e2f8e"
                  ]
              ]
          },
          {
              "id": "715c5af2d00c64a7",
              "type": "change",
              "z": "d7486244aef4dca1",
              "name": "Periode 1",
              "rules": [
                  {
                      "t": "set",
                      "p": "topic",
                      "pt": "msg",
                      "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&\t$.payload.Wochentag&\".Periods.1.time\"",
                      "tot": "jsonata"
                  }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 780,
              "y": 340,
              "wires": [
                  [
                      "aa79a7739e2fb39c"
                  ]
              ]
          },
          {
              "id": "a237bc9bf2e80ebd",
              "type": "change",
              "z": "d7486244aef4dca1",
              "name": "Periode 2",
              "rules": [
                  {
                      "t": "set",
                      "p": "topic",
                      "pt": "msg",
                      "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.2.time\"",
                      "tot": "jsonata"
                  }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 780,
              "y": 400,
              "wires": [
                  [
                      "791a37c2a7b8ce71"
                  ]
              ]
          },
          {
              "id": "6686102cd5e24e27",
              "type": "change",
              "z": "d7486244aef4dca1",
              "name": "Periode 3",
              "rules": [
                  {
                      "t": "set",
                      "p": "topic",
                      "pt": "msg",
                      "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.3.time\"",
                      "tot": "jsonata"
                  }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 780,
              "y": 460,
              "wires": [
                  [
                      "e06be6c53c6703f2"
                  ]
              ]
          },
          {
              "id": "ad97637293b9d9f7",
              "type": "change",
              "z": "d7486244aef4dca1",
              "name": "Periode 4",
              "rules": [
                  {
                      "t": "set",
                      "p": "topic",
                      "pt": "msg",
                      "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.4.time\"",
                      "tot": "jsonata"
                  }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 780,
              "y": 520,
              "wires": [
                  [
                      "7ecc3b8037979f8e"
                  ]
              ]
          },
          {
              "id": "ac2c73f8e64292df",
              "type": "change",
              "z": "d7486244aef4dca1",
              "name": "Periode 5",
              "rules": [
                  {
                      "t": "set",
                      "p": "topic",
                      "pt": "msg",
                      "to": "\"heatingcontrol.0.Profiles.\"&$.payload.Heizprofil&\".\"&$.payload.Raum&\".\"&$.payload.Wochentag&\".Periods.5.time\"",
                      "tot": "jsonata"
                  }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 780,
              "y": 580,
              "wires": [
                  [
                      "014e58f4dea2d90e"
                  ]
              ]
          },
          {
              "id": "014e58f4dea2d90e",
              "type": "ioBroker get",
              "z": "d7486244aef4dca1",
              "name": "Lade Zeit",
              "topic": "",
              "attrname": "payload",
              "payloadType": "value",
              "errOnInvalidState": "nothing",
              "x": 960,
              "y": 580,
              "wires": [
                  [
                      "1cfd9ed9e6902c43"
                  ]
              ]
          },
          {
              "id": "7ecc3b8037979f8e",
              "type": "ioBroker get",
              "z": "d7486244aef4dca1",
              "name": "Lade Zeit",
              "topic": "",
              "attrname": "payload",
              "payloadType": "value",
              "errOnInvalidState": "nothing",
              "x": 960,
              "y": 520,
              "wires": [
                  [
                      "094f9dceca896961"
                  ]
              ]
          },
          {
              "id": "e06be6c53c6703f2",
              "type": "ioBroker get",
              "z": "d7486244aef4dca1",
              "name": "Lade Zeit",
              "topic": "",
              "attrname": "payload",
              "payloadType": "value",
              "errOnInvalidState": "nothing",
              "x": 960,
              "y": 460,
              "wires": [
                  [
                      "ccef6810ab3dcfb7"
                  ]
              ]
          },
          {
              "id": "791a37c2a7b8ce71",
              "type": "ioBroker get",
              "z": "d7486244aef4dca1",
              "name": "Lade Zeit",
              "topic": "",
              "attrname": "payload",
              "payloadType": "value",
              "errOnInvalidState": "nothing",
              "x": 960,
              "y": 400,
              "wires": [
                  [
                      "0f0326822a0a4c82"
                  ]
              ]
          },
          {
              "id": "aa79a7739e2fb39c",
              "type": "ioBroker get",
              "z": "d7486244aef4dca1",
              "name": "Lade Zeit",
              "topic": "",
              "attrname": "payload",
              "payloadType": "value",
              "errOnInvalidState": "nothing",
              "x": 960,
              "y": 340,
              "wires": [
                  [
                      "200ec0940a45bf3f"
                  ]
              ]
          },
          {
              "id": "200ec0940a45bf3f",
              "type": "ui_text_input",
              "z": "d7486244aef4dca1",
              "name": "Büro - Profil 1 - Zeit",
              "label": "",
              "tooltip": "",
              "group": "579ccae2d2e79186",
              "order": 2,
              "width": 2,
              "height": 1,
              "passthru": false,
              "mode": "text",
              "delay": 300,
              "topic": "topic",
              "sendOnBlur": true,
              "className": "",
              "topicType": "msg",
              "x": 1210,
              "y": 340,
              "wires": [
                  [
                      "b31dc92fa4810a6e"
                  ]
              ]
          },
          {
              "id": "0f0326822a0a4c82",
              "type": "ui_text_input",
              "z": "d7486244aef4dca1",
              "name": "Büro - Profil 2 - Zeit",
              "label": "",
              "tooltip": "",
              "group": "579ccae2d2e79186",
              "order": 4,
              "width": 2,
              "height": 1,
              "passthru": false,
              "mode": "text",
              "delay": 300,
              "topic": "topic",
              "sendOnBlur": true,
              "className": "",
              "topicType": "msg",
              "x": 1210,
              "y": 400,
              "wires": [
                  [
                      "181421ea9d8e9426"
                  ]
              ]
          },
          {
              "id": "ccef6810ab3dcfb7",
              "type": "ui_text_input",
              "z": "d7486244aef4dca1",
              "name": "Büro - Profil 3 - Zeit",
              "label": "",
              "tooltip": "",
              "group": "579ccae2d2e79186",
              "order": 6,
              "width": 2,
              "height": 1,
              "passthru": false,
              "mode": "text",
              "delay": 300,
              "topic": "topic",
              "sendOnBlur": true,
              "className": "",
              "topicType": "msg",
              "x": 1210,
              "y": 460,
              "wires": [
                  [
                      "bb12fc8f98d48e51"
                  ]
              ]
          },
          {
              "id": "094f9dceca896961",
              "type": "ui_text_input",
              "z": "d7486244aef4dca1",
              "name": "Büro - Profil 4 - Zeit",
              "label": "",
              "tooltip": "",
              "group": "579ccae2d2e79186",
              "order": 8,
              "width": 2,
              "height": 1,
              "passthru": false,
              "mode": "text",
              "delay": 300,
              "topic": "topic",
              "sendOnBlur": true,
              "className": "",
              "topicType": "msg",
              "x": 1210,
              "y": 520,
              "wires": [
                  [
                      "32b2c1496819464f"
                  ]
              ]
          },
          {
              "id": "1cfd9ed9e6902c43",
              "type": "ui_text_input",
              "z": "d7486244aef4dca1",
              "name": "Büro - Profil 5- Zeit",
              "label": "",
              "tooltip": "",
              "group": "579ccae2d2e79186",
              "order": 10,
              "width": 2,
              "height": 1,
              "passthru": false,
              "mode": "text",
              "delay": 300,
              "topic": "topic",
              "sendOnBlur": true,
              "className": "",
              "topicType": "msg",
              "x": 1210,
              "y": 580,
              "wires": [
                  [
                      "d52424ac4c245ffa"
                  ]
              ]
          },
          {
              "id": "b144ed59aed9271a",
              "type": "ioBroker out",
              "z": "d7486244aef4dca1",
              "name": "Schreiben",
              "topic": "",
              "ack": "false",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 1460,
              "y": 20,
              "wires": []
          },
          {
              "id": "bdb8b104467f2ec5",
              "type": "ioBroker out",
              "z": "d7486244aef4dca1",
              "name": "Schreiben",
              "topic": "",
              "ack": "false",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 1460,
              "y": 80,
              "wires": []
          },
          {
              "id": "a4467d19e5573c50",
              "type": "ioBroker out",
              "z": "d7486244aef4dca1",
              "name": "Schreiben",
              "topic": "",
              "ack": "false",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 1460,
              "y": 140,
              "wires": []
          },
          {
              "id": "49024e36bb75c3f6",
              "type": "ioBroker out",
              "z": "d7486244aef4dca1",
              "name": "Schreiben",
              "topic": "",
              "ack": "false",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 1460,
              "y": 200,
              "wires": []
          },
          {
              "id": "b4939f8abb67a3ee",
              "type": "ioBroker out",
              "z": "d7486244aef4dca1",
              "name": "Schreiben",
              "topic": "",
              "ack": "false",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 1460,
              "y": 260,
              "wires": []
          },
          {
              "id": "b31dc92fa4810a6e",
              "type": "ioBroker out",
              "z": "d7486244aef4dca1",
              "name": "Schreiben",
              "topic": "",
              "ack": "false",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 1460,
              "y": 340,
              "wires": []
          },
          {
              "id": "181421ea9d8e9426",
              "type": "ioBroker out",
              "z": "d7486244aef4dca1",
              "name": "Schreiben",
              "topic": "",
              "ack": "false",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 1460,
              "y": 400,
              "wires": []
          },
          {
              "id": "bb12fc8f98d48e51",
              "type": "ioBroker out",
              "z": "d7486244aef4dca1",
              "name": "Schreiben",
              "topic": "",
              "ack": "false",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 1460,
              "y": 460,
              "wires": []
          },
          {
              "id": "32b2c1496819464f",
              "type": "ioBroker out",
              "z": "d7486244aef4dca1",
              "name": "Schreiben",
              "topic": "",
              "ack": "false",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 1460,
              "y": 520,
              "wires": []
          },
          {
              "id": "d52424ac4c245ffa",
              "type": "ioBroker out",
              "z": "d7486244aef4dca1",
              "name": "Schreiben",
              "topic": "",
              "ack": "false",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 1460,
              "y": 580,
              "wires": []
          },
          {
              "id": "c589b0a966719f74",
              "type": "inject",
              "z": "d7486244aef4dca1",
              "name": "",
              "props": [
                  {
                      "p": "payload"
                  }
              ],
              "repeat": "",
              "crontab": "",
              "once": true,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "",
              "payloadType": "str",
              "x": 1050,
              "y": 300,
              "wires": [
                  [
                      "773c25426dffc7c6",
                      "c8399ca5c6b3220d",
                      "fcc32382b27c7bf9",
                      "0266ede1d351e3d1",
                      "200ec0940a45bf3f",
                      "0f0326822a0a4c82",
                      "ccef6810ab3dcfb7",
                      "094f9dceca896961",
                      "1cfd9ed9e6902c43",
                      "d629aab76e944bb1"
                  ]
              ]
          },
          {
              "id": "7995318aa8070394",
              "type": "inject",
              "z": "d7486244aef4dca1",
              "name": "",
              "props": [
                  {
                      "p": "payload"
                  }
              ],
              "repeat": "",
              "crontab": "",
              "once": true,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "",
              "payloadType": "str",
              "x": 90,
              "y": 40,
              "wires": [
                  [
                      "0dcd6daae4d2dbda",
                      "cab4eecd8cfb933b",
                      "173d5d45ae34a29d"
                  ]
              ]
          },
          {
              "id": "d629aab76e944bb1",
              "type": "ui_numeric",
              "z": "d7486244aef4dca1",
              "name": "Profil - Zeitraum 2",
              "label": "Periode 2",
              "tooltip": "",
              "group": "579ccae2d2e79186",
              "order": 3,
              "width": 6,
              "height": 1,
              "wrap": false,
              "passthru": false,
              "topic": "topic",
              "topicType": "msg",
              "format": "{{value}}",
              "min": "5",
              "max": "25",
              "step": "0.5",
              "className": "",
              "x": 1230,
              "y": 80,
              "wires": [
                  [
                      "bdb8b104467f2ec5"
                  ]
              ]
          },
          {
              "id": "d60b6f99a971eb20",
              "type": "ui_group",
              "name": "Komponentenauswahl",
              "tab": "2f20796e8f897eb0",
              "order": 1,
              "disp": true,
              "width": "8",
              "collapse": false,
              "className": ""
          },
          {
              "id": "579ccae2d2e79186",
              "type": "ui_group",
              "name": "Profil bearbeiten",
              "tab": "2f20796e8f897eb0",
              "order": 2,
              "disp": true,
              "width": "8",
              "collapse": false,
              "className": ""
          },
          {
              "id": "2f20796e8f897eb0",
              "type": "ui_tab",
              "name": "Zeitsteuerung Heizung - Übersicht",
              "icon": "fa-calendar",
              "order": 7,
              "disabled": false,
              "hidden": false
          }
      ]
      
      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von
      #2

      @tableautin Ich versuche das gerade für meine Bedürfnisse etwas anzupassen. Das wollte ich schon lange mal in die Hand nehmen. Eine kleine Verbesserung wäre, wenn Du die topics gleich in die entsprechenden Nodes aufnimmst, dann kannst Du alles in eine iobroker-Out Node leiten.

      Ich werde mich allerdings nicht nach dem Adapter richten und auch mal dieses Thema in Angriff nehmen - werde aber mich an die Strings halten, die ich für meine MAX Heizung mit dem fhem adapter benötige.

      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.

      T 1 Antwort Letzte Antwort
      1
      • mickymM mickym

        @tableautin Ich versuche das gerade für meine Bedürfnisse etwas anzupassen. Das wollte ich schon lange mal in die Hand nehmen. Eine kleine Verbesserung wäre, wenn Du die topics gleich in die entsprechenden Nodes aufnimmst, dann kannst Du alles in eine iobroker-Out Node leiten.

        Ich werde mich allerdings nicht nach dem Adapter richten und auch mal dieses Thema in Angriff nehmen - werde aber mich an die Strings halten, die ich für meine MAX Heizung mit dem fhem adapter benötige.

        T Offline
        T Offline
        Tableautin
        schrieb am zuletzt editiert von
        #3

        @mickym Danke für den Hinweis. Werde ich mit der nächsten Version einmal anschauen. Wenn du deine Lösung hast, wäre ich daran auch interessiert (einfach um zu schauen, wie du es umgesetzt hast)


        ioBroker auf QNAP NAS im Docker

        sonst ein ziemlicher ioBroker Hipster

        • iQontrol als VIS
        • NodeRed als Programmier-Schnittstelle
        1 Antwort Letzte Antwort
        0
        • mickymM Offline
          mickymM Offline
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #4

          So nachdem Du mich @Tableautin mit diesem Thread mich mal wieder dazu motiviert hast, die Zeitpläne meiner Thermostaten in Angriff zu nehmen und an meiner Lösung interessiert bist, bin ich jetzt nach ein paar Tagen Arbeit mit meiner Lösung fertig, wobei mich das einiges Kopfzerbrechen gekostet hat. Inzwischen bin ich aber mit dem Projekt fertig und ganz zufrieden. Und auch wenn ich am Anfang Deinen Entwurf genommen habe, hat meine Lösung nicht mehr viel mit Deiner zu tun, da ich ja nicht den Heating Control Adapter verwende.

          Das ist eine Grundsatzentscheidung, da ich grundsätzlich der Meinung bin, dass wenn die Geräte hinreichende Intelligenz aufweisen, dann lasse ich das durch die Geräte steuern. Das hat einfach den Vorteil, dass die Zeitsteuerung auch funktioniert, wenn der iobroker nicht verfügbar ist. Es minimiert auch die Belastung des iobrokers, sowie des Netzes da ja die Hardware nur mit sich selbst kommuniziert und die Steuerung der Heizung nicht über WLAN läuft.

          Bevor ich also zum Dashboard komme will ich ein kleines Schaubild der Kommunikation meines MAX - Heizungssystem machen (Dieses System gibt es inzwischen nicht mehr und ich habe auch keine Veranlassung gesehen, auch Homematic umzusteigen).

          So hier erst mal die grundsätzliche Architektur, dass man den Rest versteht:

          3c57250a-9e04-4a03-8143-a9006ccafa2e-image.png

          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 mickym
            #5

            So weiter im Kontext - wie man sieht werden die Wochenprofile durch FHEM gesteuert und via mqtt in den iobroker übertragen.

            15131057-d725-4d6e-93e1-c228319e5ed5-image.png

            Diese Daten werden im NodeRed Flow eingelesen - damit man den Flow nachvollziehen kann - habe ich diese Datenpunkte in eine Injekt-Node verfrachtet.

            Und alle Nodes deaktiviert, die nicht funktionieren - weil die Datenpunkte nicht vorhanden sind. Die Demo Node wird automatisch ausgeführt.

            021680d5-a1e9-4319-9f6e-fe7926bd1bdc-image.png

            im Demo-Mode ist die erste Gruppe nicht mit allen Elementen zu sehen. So sieht es vollständig aus:

            4d8d836a-f8af-4b4d-a9c8-ddbfb9efe792-image.png

            Von links nach rechts.
            f1242a45-effb-442c-b443-127cd3813250-image.png
            Im 1. Gruppe wählt man ggf. ein Datei zum Upload aus. (Neben der Inject- Node als Test). Hier habe ich mal 3 Dateien als Beispiel hier - das ist wie gesagt FHEM Syntax für den MAX Cube.

            MAX_Wohnzimmer_weekProfile.txt MAX_Buero_weekProfile.txt MAX_Bad_weekProfile.txt

            Sind keine Daten für den entsprechenden Wochentag vorhanden, dann werden die anderen Gruppen ausgeblendet.

            In der 2. Gruppe kann das selektierte Tagesprofil editiert werden.

            58c2f17d-d85b-45a4-a893-054954f78144-image.png

            Es sind soweit mir möglich war alle Möglichkeiten durchgetest. In der Regel sind die Perioden automatisch nach der Tageszeit sortiert. Eine Periode ist zwingend bei 0:00 Uhr erforderlich. Wenn sich eine Periode mit gleicher Temperatur anschließt wird diese gelöscht bzw. die Eingabe wird nicht akzeptiert.
            Unten kann man dann Perioden löschen oder neue hinzufügen.

            Sobald ein Tagesplan zufriedenstellend editiert wurde kann man den in der 3. Gruppe für verschiedene Tage erstellen lassen.

            8656ff30-1961-4758-b08d-90b3a1c9b050-image.png

            Das ganze muss man sich halt im Debug Fenster ausgeben lassen. Der Download/Export geht nur, wenn man ggf. den Ort wohin der Export geschrieben wird - also relativ zum http-Static Pfad.

            Hier das Ganze zum Testen, wer Lust hat.

            Demo Automatik Heizpläne.json

            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
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            925

            Online

            32.4k

            Benutzer

            81.5k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Anmelden

            • Du hast noch kein Konto? Registrieren

            • Anmelden oder registrieren, um zu suchen
            • Erster Beitrag
              Letzter Beitrag
            0
            • Home
            • Aktuell
            • Tags
            • Ungelesen 0
            • Kategorien
            • Unreplied
            • Beliebt
            • GitHub
            • Docu
            • Hilfe