NEWS
Hilfe bei Node-Red
-
Hallo!
Ich brauche mal eure Hilfe. Im Anhang befindet sich mal ein Flow, welcher mein Problem bzw. meine Frage verdeutlichen soll.
Funktion ist bis jetzt so, dass alle 15min ein Kalenderevent abgefragt wird. Dahinter ein Switch, welcher nach True und False aufteilt. An beiden Ausgängen befindet sich ein Change Node, der einfach nur den msg.payload durch die entsprechende Temperatur (String) für Komfort- bzw. Spartemperatur setzt. Hier möchte ich die ganze Sache variabel gestalten und die jeweiligen Temperaturen einstellen können. Wie bekomme ich das hin? Also wie bekomme ich meine am Slider eingestellte Temperatur in den Change Node. Mein Versuch war, eine globale Variable zu setzen und diese dann im Change Node zu lesen. Aber irgendwie will mir das nicht gelingen. Nun hoffe ich auf Vorschläge bzw. Lösungsansätze von euch.
Danke schon mal…..
Edit: Habe jetzt doch noch einen Weg gefunden. Und zwar über eine globale Variable. Aber bin für andere Vorschläge offen.
Hier der Test-Flow:
! ````
[
{
"id": "c3ddceae.e4306",
"type": "change",
"z": "c861466c.1c9768",
"name": "T Spar",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "15",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 750,
"y": 320,
"wires": [
[
"fb3b7724.c60a48"
]
]
},
{
"id": "342d193f.5b7506",
"type": "switch",
"z": "c861466c.1c9768",
"name": "Heizen/Absenken",
"property": "payload",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "true",
"vt": "str"
},
{
"t": "eq",
"v": "false",
"vt": "str"
}
],
"checkall": "true",
"outputs": 2,
"x": 530,
"y": 300,
"wires": [
[
"2ea0f781.685978"
],
[
"c3ddceae.e4306"
]
]
},
{
"id": "2ea0f781.685978",
"type": "change",
"z": "c861466c.1c9768",
"name": "T Komfort",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "22",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 740,
"y": 280,
"wires": [
[
"fb3b7724.c60a48"
]
]
},
{
"id": "8e351d82.45b2e",
"type": "inject",
"z": "c861466c.1c9768",
"name": "15min",
"topic": "",
"payload": "",
"payloadType": "date",
"repeat": "900",
"crontab": "",
"once": true,
"x": 160,
"y": 300,
"wires": [
[
"d1f49e31.9be5"
]
]
},
{
"id": "d1f49e31.9be5",
"type": "ioBroker get",
"z": "c861466c.1c9768",
"name": "WZheizen",
"topic": "ical.0.events.WZheizen",
"attrname": "payload",
"payloadType": "value",
"x": 340,
"y": 300,
"wires": [
[
"342d193f.5b7506"
]
]
},
{
"id": "fb3b7724.c60a48",
"type": "debug",
"z": "c861466c.1c9768",
"name": "Soll Temp",
"active": true,
"console": "false",
"complete": "payload",
"x": 1120,
"y": 300,
"wires": []
},
{
"id": "7eec2878.ca5b18",
"type": "ui_slider",
"z": "c861466c.1c9768",
"name": "Spar Temp.",
"label": "Spartemperatur",
"group": "374ff7b5.f2f2d8",
"order": 7,
"width": 0,
"height": 0,
"passthru": true,
"topic": "Spar Temp.",
"min": "8",
"max": "38",
"step": "0.5",
"x": 470,
"y": 540,
"wires": [
[
"93640b6.d7072f8",
"7b1d081a.606e48"
]
]
},
{
"id": "93640b6.d7072f8",
"type": "ui_gauge",
"z": "c861466c.1c9768",
"name": "Spar Temp.",
"group": "374ff7b5.f2f2d8",
"order": 8,
"width": 0,
"height": 0,
"gtype": "donut",
"title": "Spartemperatur",
"label": "°C",
"format": "{{value}}",
"min": "8",
"max": "38",
"colors": [
"#0080ff",
"#00ff00",
"#ca3838"
],
"seg1": "20",
"seg2": "23",
"x": 790,
"y": 540,
"wires": []
},
{
"id": "7b1d081a.606e48",
"type": "debug",
"z": "c861466c.1c9768",
"name": "Eingestellte Temp.",
"active": true,
"console": "false",
"complete": "true",
"x": 810,
"y": 500,
"wires": []
},
{
"id": "31dea484.107b7c",
"type": "ui_slider",
"z": "c861466c.1c9768",
"name": "Komf Temp.",
"label": "Komforttemperatur",
"group": "374ff7b5.f2f2d8",
"order": 9,
"width": 0,
"height": 0,
"passthru": false,
"topic": "Komf. Temp.",
"min": "8",
"max": "38",
"step": "0.5",
"x": 470,
"y": 460,
"wires": [
[
"4af393a0.ed7d3c",
"7b1d081a.606e48"
]
]
},
{
"id": "4af393a0.ed7d3c",
"type": "ui_gauge",
"z": "c861466c.1c9768",
"name": "Komf. temp.",
"group": "374ff7b5.f2f2d8",
"order": 10,
"width": 0,
"height": 0,
"gtype": "donut",
"title": "Komforttemperatur",
"label": "°C",
"format": "{{value}}",
"min": "8",
"max": "38",
"colors": [
"#0080ff",
"#00ff00",
"#ca3838"
],
"seg1": "21",
"seg2": "24",
"x": 790,
"y": 460,
"wires": []
},
{
"id": "374ff7b5.f2f2d8",
"type": "ui_group",
"z": "",
"name": "Heizung",
"tab": "24852112.fec7be",
"order": 1,
"disp": true,
"width": "6"
},
{
"id": "24852112.fec7be",
"type": "ui_tab",
"z": "",
"name": "TEST WZ",
"icon": "dashboard",
"order": 1
}
] -
Wie willst Du deine Visualisierung denn gestalten??
Doch bestimmt nicht in Node-Red, oder?
Ich würde vorschlagen das Du einfach mit Datenpunkten arbeitest, das wäre das einfachste.
Und die Visualisierung über Vis.
dna909
-
Hmm, also meine Logik habe ich jetzt in Node-Red gemacht. So z.B.: die Steuerung der Thermostate über einen Google Kalender. Auch habe ich verschiedene Buttons in der Logik verwendet. Wie bekomme ich das denn jetzt in vis?
Edit: Habe es gefunden. Sollten noch Fragen auftauchen, dann melde ich mich wieder im Forum.