Home Assistant + Node Red

Anbindung des Controllers an externe Hausautomationssysteme.
Benutzeravatar
Alex
Administrator
Beiträge: 9988
Registriert: 28. Mai 2014, 23:00

Re: Home Assistant + Node Red

Beitrag von Alex »

...in der GetState kommt aber nirgends eine "fertige" Uhrzeit in einem Format wie 13:05 an.
Wenn dann muss der gelieferte Dezimalwert umgerechnet werden und der Fehler entsteht da.

aroma
Beiträge: 10
Registriert: 7. September 2020, 16:37

Re: Home Assistant + Node Red

Beitrag von aroma »

Sorry da hast Recht.
Ich habe die Umrechnung aus dem ersten Post aus dem Bereich "Funktion: Konvertieren der GetState.csv Daten:" genommen.

markus
Beiträge: 168
Registriert: 23. Januar 2019, 10:57

Re: Home Assistant + Node Red

Beitrag von markus »

Hast du da etwas korrigiert, und würdest es evtl. als deinen NodeRed Function wieder zur Verfügung stellen?

aroma
Beiträge: 10
Registriert: 7. September 2020, 16:37

Re: Home Assistant + Node Red

Beitrag von aroma »

Nein da habe ich jetzt nichts mehr gemacht.

Benutzeravatar
Alex
Administrator
Beiträge: 9988
Registriert: 28. Mai 2014, 23:00

Re: Home Assistant + Node Red

Beitrag von Alex »

geht's um die richtige Anzeige der Uhrzeit?

aroma
Beiträge: 10
Registriert: 7. September 2020, 16:37

Re: Home Assistant + Node Red

Beitrag von aroma »

Ja genau.

Benutzeravatar
Alex
Administrator
Beiträge: 9988
Registriert: 28. Mai 2014, 23:00

Re: Home Assistant + Node Red

Beitrag von Alex »

suchen

Code: Alles auswählen

var timeValue = current_obj['rawvalue'];
var minutes   = timeValue%256;
var hour      = (timeValue-minutes)/256;

ersetzen durch

Code: Alles auswählen

var timeValue         = current_obj['rawvalue'];
var minutes           = timeValue%256;
if (minutes < 10)     { minutes = '0'+minutes; }
var hour              = (timeValue-minutes)/256;
(also die eine Zeile einfügen)

aroma
Beiträge: 10
Registriert: 7. September 2020, 16:37

Re: Home Assistant + Node Red

Beitrag von aroma »

Vielen Dank Alex!
Funktioniert jetzt perfekt.

Benutzeravatar
DPerak
Beiträge: 404
Registriert: 26. Juni 2016, 13:09

Re: Home Assistant + Node Red

Beitrag von DPerak »

Ich hab’s jetzt auch endlich mal geschafft, mich an die ganze HomeAssistant und nodeRed Nummer heranzutasten.
Hab gerade die ersten Werte eingebunden, tut! Super.
Wie macht ihr die das triggern des sendens der aktuellen Werte aus dem poolController? Passiert das in node red über ein regelmäßiges auslösen des http gets? Oder noch vorher im Home assistant?
Viele Grüße

markus
Beiträge: 168
Registriert: 23. Januar 2019, 10:57

Re: Home Assistant + Node Red

Beitrag von markus »

Hallo,
ja ich habe im NodeRed einen Inject node der Regelmäßig den http Request Triggert.

DannyHH90
Beiträge: 35
Registriert: 24. November 2020, 19:53

Re: Home Assistant + Node Red

Beitrag von DannyHH90 »

Guten Morgen,

super spannend was hier einige schon realisiert haben, für mich ist Node Red noch neu. Würde mir jemand seinen Flow mit den entsprechenden Werten zur Verfügung stellen? Dann habe ich etwas, an dem ich mich orientieren kann.

Grüße

Danny

markus
Beiträge: 168
Registriert: 23. Januar 2019, 10:57

Re: Home Assistant + Node Red

Beitrag von markus »

Den Function Node findest du doch hier auf erster Seite.
Hier mal mein Flow um die Werte anzuzeigen. Set Befehle habe ich noch nicht gemacht.
Ich bin auch gerade erst am Aufbauen des ganzen. Also kein Gewähr :-)

Code: Alles auswählen

[
    {
        "id": "318c397.a9416c6",
        "type": "tab",
        "label": "Pool neu",
        "disabled": false,
        "info": ""
    },
    {
        "id": "a348ab33.6758c8",
        "type": "http request",
        "z": "318c397.a9416c6",
        "name": "",
        "method": "GET",
        "ret": "txt",
        "paytoqs": "ignore",
        "url": "http://192.168.178.36/GetState.csv",
        "tls": "",
        "persist": false,
        "proxy": "",
        "authType": "",
        "x": 150,
        "y": 120,
        "wires": [
            [
                "18601901.8383c7"
            ]
        ]
    },
    {
        "id": "18601901.8383c7",
        "type": "function",
        "z": "318c397.a9416c6",
        "name": "",
        "func": "function csvJSON(csv){\n  var lines     = csv.split(\"\\n\");\n  var headers   = lines[1].split(\",\");\n  var result    = {};\n  var obj       = {};\n  var line_item = '';\n\n  for(var i=2;i<lines.length;i++){\n      var currentline=lines[i].split(\",\");\n\n      switch (i) {\n          case 2: line_item = \"unit\";     break;\n          case 3: line_item = \"offset\";   break;\n          case 4: line_item = \"gain\";     break;\n          case 5: line_item = \"rawvalue\"; break;\n      }\n\n      for(var j=0;j<headers.length;j++){\n          if (i==2) {\n              obj[j] = {};\n              obj[j][\"name\"] = headers[j];\n          }     \n          obj[j][line_item] = currentline[j];\n      }\n  }\n\n  for (var x=0;x<headers.length;x++) {\n     var current_obj = obj[x];\n     var name        = current_obj[\"name\"];\n     if (typeof result[name] != \"undefined\") {\n         var l = 1;\n         new_name = name;\n         while (typeof result[new_name] != \"undefined\") {\n             new_name = name + \"_[\" + (l++)+\"]\";\n         }\n         name = new_name;\n     }\n     if (name) {\n         result[name]         = {};\n         result[name]['unit'] = current_obj['unit'];\n         \n         if (current_obj['unit']==\"h\") {\n             var timeValue         = current_obj['rawvalue'];\n             var minutes           = timeValue%256;\n             if (minutes < 10)     { minutes = '0'+minutes; }\n             var hour              = (timeValue-minutes)/256;\n             result[name]['value'] = hour + \":\" + minutes;\n         } else {\n             var rawvalue          = parseFloat(current_obj['rawvalue']);\n             var gain              = parseFloat(current_obj['gain']);\n             var offset            = parseFloat(current_obj['offset']);\n             result[name]['value'] = (rawvalue*gain)+offset;\n         } \n     }\n  }\n\n  return JSON.stringify(result); //JSON\n}\nmsg.payload=csvJSON(msg.payload)\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 120,
        "y": 220,
        "wires": [
            [
                "6336a5b0.d95d7c",
                "ef2d9b71.fdc9d8",
                "b2d98132.ba21f",
                "ce2e4f6.e576cb",
                "b56416b.cfa11e8",
                "7299e8ea.e80368",
                "b8034383.e1aab",
                "78ebff73.c89b",
                "1eabdae7.298755",
                "671f452b.74833c",
                "7a0030d.196d7d",
                "72890868.b93d78",
                "c40afc2a.f6dc5",
                "e94e3af.cf71ac8",
                "3d69e1f5.c0980e",
                "814750bd.44c61",
                "64e7dd61.5f9214"
            ]
        ]
    },
    {
        "id": "6336a5b0.d95d7c",
        "type": "debug",
        "z": "318c397.a9416c6",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 370,
        "y": 40,
        "wires": []
    },
    {
        "id": "34ed6ea0.42f1c2",
        "type": "inject",
        "z": "318c397.a9416c6",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": true,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 130,
        "y": 60,
        "wires": [
            [
                "a348ab33.6758c8"
            ]
        ]
    },
    {
        "id": "ef2d9b71.fdc9d8",
        "type": "function",
        "z": "318c397.a9416c6",
        "name": "Temp. Absorber",
        "func": "var data    = JSON.parse(msg.payload);\nmsg.payload = data['Temp. Absorber']['value'];\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 360,
        "y": 180,
        "wires": [
            [
                "c4c2723e.4111a",
                "c2824ac2.a1ecf8"
            ]
        ]
    },
    {
        "id": "c4c2723e.4111a",
        "type": "debug",
        "z": "318c397.a9416c6",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 750,
        "y": 80,
        "wires": []
    },
    {
        "id": "b2d98132.ba21f",
        "type": "function",
        "z": "318c397.a9416c6",
        "name": "Schrank",
        "func": "var data    = JSON.parse(msg.payload);\nmsg.payload = data['Schrank']['value'];\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 380,
        "y": 220,
        "wires": [
            [
                "7fd599da.3b7f68"
            ]
        ]
    },
    {
        "id": "ce2e4f6.e576cb",
        "type": "function",
        "z": "318c397.a9416c6",
        "name": "Rücklauf",
        "func": "var data    = JSON.parse(msg.payload);\nmsg.payload = data['Rücklauf']['value'];\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 380,
        "y": 260,
        "wires": [
            [
                "811eb851.6e8388"
            ]
        ]
    },
    {
        "id": "b56416b.cfa11e8",
        "type": "function",
        "z": "318c397.a9416c6",
        "name": "Außen",
        "func": "var data    = JSON.parse(msg.payload);\nmsg.payload = data['Außen']['value'];\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 390,
        "y": 300,
        "wires": [
            [
                "d6e90d1d.07fe4"
            ]
        ]
    },
    {
        "id": "7299e8ea.e80368",
        "type": "function",
        "z": "318c397.a9416c6",
        "name": "Temp. Wasser",
        "func": "var data    = JSON.parse(msg.payload);\nmsg.payload = data['Temp. Wasser']['value'];\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 360,
        "y": 340,
        "wires": [
            [
                "a1a9b69.02bd148"
            ]
        ]
    },
    {
        "id": "b8034383.e1aab",
        "type": "function",
        "z": "318c397.a9416c6",
        "name": "Solarsteuerung",
        "func": "var data    = JSON.parse(msg.payload);\nmsg.payload = data['Solarsteuerung']['value'];\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 280,
        "y": 800,
        "wires": [
            [
                "d095e1ff.4282d"
            ]
        ]
    },
    {
        "id": "c2824ac2.a1ecf8",
        "type": "ui_gauge",
        "z": "318c397.a9416c6",
        "name": "",
        "group": "85536a71.b938a8",
        "order": 0,
        "width": 0,
        "height": 0,
        "gtype": "gage",
        "title": "Temp. Absorber",
        "label": "°C",
        "format": "{{value}}",
        "min": 0,
        "max": 10,
        "colors": [
            "#00b500",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "",
        "seg2": "",
        "x": 690,
        "y": 180,
        "wires": []
    },
    {
        "id": "7fd599da.3b7f68",
        "type": "ui_gauge",
        "z": "318c397.a9416c6",
        "name": "",
        "group": "85536a71.b938a8",
        "order": 0,
        "width": 0,
        "height": 0,
        "gtype": "gage",
        "title": "Schrank",
        "label": "°C",
        "format": "{{value}}",
        "min": 0,
        "max": 10,
        "colors": [
            "#00b500",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "",
        "seg2": "",
        "x": 680,
        "y": 220,
        "wires": []
    },
    {
        "id": "811eb851.6e8388",
        "type": "ui_gauge",
        "z": "318c397.a9416c6",
        "name": "",
        "group": "85536a71.b938a8",
        "order": 0,
        "width": 0,
        "height": 0,
        "gtype": "gage",
        "title": "Rücklauf",
        "label": "°C",
        "format": "{{value}}",
        "min": 0,
        "max": 10,
        "colors": [
            "#00b500",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "",
        "seg2": "",
        "x": 660,
        "y": 260,
        "wires": []
    },
    {
        "id": "d6e90d1d.07fe4",
        "type": "ui_gauge",
        "z": "318c397.a9416c6",
        "name": "",
        "group": "85536a71.b938a8",
        "order": 0,
        "width": 0,
        "height": 0,
        "gtype": "gage",
        "title": "Außen",
        "label": "°C",
        "format": "{{value}}",
        "min": 0,
        "max": 10,
        "colors": [
            "#00b500",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "",
        "seg2": "",
        "x": 650,
        "y": 300,
        "wires": []
    },
    {
        "id": "a1a9b69.02bd148",
        "type": "ui_gauge",
        "z": "318c397.a9416c6",
        "name": "",
        "group": "85536a71.b938a8",
        "order": 0,
        "width": 0,
        "height": 0,
        "gtype": "gage",
        "title": "Wasser",
        "label": "°C",
        "format": "{{value}}",
        "min": 0,
        "max": 10,
        "colors": [
            "#00b500",
            "#e6e600",
            "#ca3838"
        ],
        "seg1": "",
        "seg2": "",
        "x": 660,
        "y": 340,
        "wires": []
    },
    {
        "id": "d095e1ff.4282d",
        "type": "ui_led",
        "z": "318c397.a9416c6",
        "group": "25fe678.036cb98",
        "order": 0,
        "width": 0,
        "height": 0,
        "label": "Solarsteuerung",
        "labelPlacement": "left",
        "labelAlignment": "left",
        "colorForValue": [
            {
                "color": "red",
                "value": "2",
                "valueType": "num"
            },
            {
                "color": "green",
                "value": "1",
                "valueType": "num"
            }
        ],
        "allowColorForValueInMessage": false,
        "name": "",
        "x": 590,
        "y": 800,
        "wires": []
    },
    {
        "id": "78ebff73.c89b",
        "type": "function",
        "z": "318c397.a9416c6",
        "name": "Schwalldusche",
        "func": "var data    = JSON.parse(msg.payload);\nmsg.payload = data['Schwalldusche']['value'];\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 280,
        "y": 840,
        "wires": [
            [
                "29181cd7.1e3a74"
            ]
        ]
    },
    {
        "id": "29181cd7.1e3a74",
        "type": "ui_led",
        "z": "318c397.a9416c6",
        "group": "25fe678.036cb98",
        "order": 0,
        "width": 0,
        "height": 0,
        "label": "Schwall",
        "labelPlacement": "left",
        "labelAlignment": "left",
        "colorForValue": [
            {
                "color": "red",
                "value": "2",
                "valueType": "num"
            },
            {
                "color": "green",
                "value": "1",
                "valueType": "num"
            }
        ],
        "allowColorForValueInMessage": false,
        "name": "",
        "x": 590,
        "y": 840,
        "wires": []
    },
    {
        "id": "72890868.b93d78",
        "type": "function",
        "z": "318c397.a9416c6",
        "name": "PH Dosierung",
        "func": "var data    = JSON.parse(msg.payload);\nmsg.payload = data['PH Dosierung']['value'];\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 360,
        "y": 420,
        "wires": [
            [
                "9c1c8628.9a1dd8"
            ]
        ]
    },
    {
        "id": "7a0030d.196d7d",
        "type": "function",
        "z": "318c397.a9416c6",
        "name": "CL Dosierung",
        "func": "var data    = JSON.parse(msg.payload);\nmsg.payload = data['Chlor Dosierung']['value'];\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 360,
        "y": 460,
        "wires": [
            [
                "f9f7a216.c6e4d"
            ]
        ]
    },
    {
        "id": "1eabdae7.298755",
        "type": "function",
        "z": "318c397.a9416c6",
        "name": "Poollampe",
        "func": "var data    = JSON.parse(msg.payload);\nmsg.payload = data['Poollampe']['value'];\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 290,
        "y": 880,
        "wires": [
            [
                "1835ecfc.a5be23"
            ]
        ]
    },
    {
        "id": "9c1c8628.9a1dd8",
        "type": "ui_led",
        "z": "318c397.a9416c6",
        "group": "25fe678.036cb98",
        "order": 0,
        "width": 0,
        "height": 0,
        "label": "PH",
        "labelPlacement": "left",
        "labelAlignment": "left",
        "colorForValue": [
            {
                "color": "red",
                "value": "2",
                "valueType": "num"
            },
            {
                "color": "green",
                "value": "1",
                "valueType": "num"
            }
        ],
        "allowColorForValueInMessage": false,
        "name": "",
        "x": 630,
        "y": 420,
        "wires": []
    },
    {
        "id": "f9f7a216.c6e4d",
        "type": "ui_led",
        "z": "318c397.a9416c6",
        "group": "25fe678.036cb98",
        "order": 0,
        "width": 0,
        "height": 0,
        "label": "Cl",
        "labelPlacement": "left",
        "labelAlignment": "left",
        "colorForValue": [
            {
                "color": "red",
                "value": "2",
                "valueType": "num"
            },
            {
                "color": "green",
                "value": "1",
                "valueType": "num"
            }
        ],
        "allowColorForValueInMessage": false,
        "name": "",
        "x": 630,
        "y": 460,
        "wires": []
    },
    {
        "id": "1835ecfc.a5be23",
        "type": "ui_led",
        "z": "318c397.a9416c6",
        "group": "25fe678.036cb98",
        "order": 0,
        "width": 0,
        "height": 0,
        "label": "Lampe",
        "labelPlacement": "left",
        "labelAlignment": "left",
        "colorForValue": [
            {
                "color": "red",
                "value": "2",
                "valueType": "num"
            },
            {
                "color": "green",
                "value": "1",
                "valueType": "num"
            }
        ],
        "allowColorForValueInMessage": false,
        "name": "",
        "x": 590,
        "y": 880,
        "wires": []
    },
    {
        "id": "671f452b.74833c",
        "type": "function",
        "z": "318c397.a9416c6",
        "name": "Redox",
        "func": "var data    = JSON.parse(msg.payload);\nmsg.payload = data['Redox']['value'];\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 330,
        "y": 500,
        "wires": [
            [
                "f96ca074.96ff8"
            ]
        ]
    },
    {
        "id": "c40afc2a.f6dc5",
        "type": "function",
        "z": "318c397.a9416c6",
        "name": "PH",
        "func": "var data    = JSON.parse(msg.payload);\nmsg.payload = data['pH']['value'];\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 330,
        "y": 540,
        "wires": [
            [
                "80e45f15.fb0f9"
            ]
        ]
    },
    {
        "id": "f96ca074.96ff8",
        "type": "ui_text",
        "z": "318c397.a9416c6",
        "group": "25fe678.036cb98",
        "order": 5,
        "width": 0,
        "height": 0,
        "name": "",
        "label": "Redox",
        "format": "{{msg.payload}} mV",
        "layout": "row-spread",
        "x": 630,
        "y": 500,
        "wires": []
    },
    {
        "id": "80e45f15.fb0f9",
        "type": "ui_text",
        "z": "318c397.a9416c6",
        "group": "25fe678.036cb98",
        "order": 5,
        "width": 0,
        "height": 0,
        "name": "",
        "label": "pH",
        "format": "{{msg.payload}}",
        "layout": "row-spread",
        "x": 630,
        "y": 540,
        "wires": []
    },
    {
        "id": "e94e3af.cf71ac8",
        "type": "function",
        "z": "318c397.a9416c6",
        "name": "Filterdruck",
        "func": "var data    = JSON.parse(msg.payload);\nmsg.payload = data['Filterdruck']['value'];\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 350,
        "y": 580,
        "wires": [
            [
                "2ad60f5d.57a9e"
            ]
        ]
    },
    {
        "id": "2ad60f5d.57a9e",
        "type": "ui_text",
        "z": "318c397.a9416c6",
        "group": "25fe678.036cb98",
        "order": 5,
        "width": 0,
        "height": 0,
        "name": "",
        "label": "Filterdruck",
        "format": "{{msg.payload}} Bar",
        "layout": "row-spread",
        "x": 650,
        "y": 580,
        "wires": []
    },
    {
        "id": "3d69e1f5.c0980e",
        "type": "function",
        "z": "318c397.a9416c6",
        "name": "Durchfluss",
        "func": "var data    = JSON.parse(msg.payload);\nmsg.payload = data['Durchfluss']['value'];\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 350,
        "y": 620,
        "wires": [
            [
                "17dd353e.ce891b"
            ]
        ]
    },
    {
        "id": "17dd353e.ce891b",
        "type": "ui_text",
        "z": "318c397.a9416c6",
        "group": "25fe678.036cb98",
        "order": 5,
        "width": 0,
        "height": 0,
        "name": "",
        "label": "Durchfluss",
        "format": "{{msg.payload}} cm/s",
        "layout": "row-spread",
        "x": 650,
        "y": 620,
        "wires": []
    },
    {
        "id": "814750bd.44c61",
        "type": "function",
        "z": "318c397.a9416c6",
        "name": "Cl consumption",
        "func": "var data    = JSON.parse(msg.payload);\nmsg.payload = data['Cl consumption']['value'];\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 360,
        "y": 660,
        "wires": [
            [
                "f1b7e5c2.2a7678"
            ]
        ]
    },
    {
        "id": "64e7dd61.5f9214",
        "type": "function",
        "z": "318c397.a9416c6",
        "name": "pH- consumption",
        "func": "var data    = JSON.parse(msg.payload);\nmsg.payload = data['pH- consumption']['value'];\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 370,
        "y": 700,
        "wires": [
            [
                "64f20193.d51ad"
            ]
        ]
    },
    {
        "id": "f1b7e5c2.2a7678",
        "type": "ui_text",
        "z": "318c397.a9416c6",
        "group": "25fe678.036cb98",
        "order": 5,
        "width": 0,
        "height": 0,
        "name": "",
        "label": "Cl Verbrauch",
        "format": "{{msg.payload}} ml",
        "layout": "row-spread",
        "x": 650,
        "y": 660,
        "wires": []
    },
    {
        "id": "64f20193.d51ad",
        "type": "ui_text",
        "z": "318c397.a9416c6",
        "group": "25fe678.036cb98",
        "order": 5,
        "width": 0,
        "height": 0,
        "name": "",
        "label": "pH Verbrauch",
        "format": "{{msg.payload}} ml",
        "layout": "row-spread",
        "x": 660,
        "y": 700,
        "wires": []
    },
    {
        "id": "85536a71.b938a8",
        "type": "ui_group",
        "name": "Pool2",
        "tab": "c02f49a5.46d638",
        "order": 1,
        "disp": true,
        "width": "6",
        "collapse": false
    },
    {
        "id": "25fe678.036cb98",
        "type": "ui_group",
        "name": "Status",
        "tab": "c02f49a5.46d638",
        "order": 2,
        "disp": true,
        "width": "6",
        "collapse": false
    },
    {
        "id": "c02f49a5.46d638",
        "type": "ui_tab",
        "name": "Pool2",
        "icon": "dashboard",
        "disabled": false,
        "hidden": false
    }
]

DannyHH90
Beiträge: 35
Registriert: 24. November 2020, 19:53

Re: Home Assistant + Node Red

Beitrag von DannyHH90 »

Danke Markus,

muss ich wohl nicht richtig gelesen haben. Habe die ersten Werte schon angepasst, funktioniert super, ich danke dir.

DannyHH90
Beiträge: 35
Registriert: 24. November 2020, 19:53

Re: Home Assistant + Node Red

Beitrag von DannyHH90 »

Laufen die Set Befehle bei dir schon? Bekomme mit der exec das Relais auf 1 oder 2 gesetzt, aber dazwischen müsste ja eigentlich ein switch oder?

markus
Beiträge: 168
Registriert: 23. Januar 2019, 10:57

Re: Home Assistant + Node Red

Beitrag von markus »

Ja, du kannst doch den exec Node durch den Switch triggern lassen.
Und als Input für den Switch nimmst du den Ausgang vom http get Request.

Ich hab den Flow bei mir noch nicht gebaut.

Graefe
Beiträge: 44
Registriert: 8. August 2020, 11:39

Re: Home Assistant + Node Red

Beitrag von Graefe »

Hallo,
@Tim: vielen Dank für die tolle Anleitung. :HUG: Vielleicht könntest Du Deinen Flow als JSON einstellen, damit man den einfacher importieren kann? Danke!
Graefe

tyr0n
Beiträge: 717
Registriert: 20. November 2018, 13:47

Re: Home Assistant + Node Red

Beitrag von tyr0n »

Gibt es auch Bilder von den Oberflächen? Ich möchte auch schon seit längerem mehrere Smartgeräte zusammenführen..

markus
Beiträge: 168
Registriert: 23. Januar 2019, 10:57

Re: Home Assistant + Node Red

Beitrag von markus »

Mein UI für den Pool sieht derzeit so aus:
nodeui.png
nodeui.png (756.86 KiB) 77 mal betrachtet

tyr0n
Beiträge: 717
Registriert: 20. November 2018, 13:47

Re: Home Assistant + Node Red

Beitrag von tyr0n »

Tip Top! Vielleicht habe ich im Winter endlich mal Zeit mich damit zu beschäftigen.

Basti
Beiträge: 270
Registriert: 9. Juni 2015, 09:31

Re: Home Assistant + Node Red

Beitrag von Basti »

Hi,
Hast du die Set Befehle schon umgesetzt und könntest vielleicht deine ganze config teilen zur einfachen Übernahme ?

Danke dir
Basti