Node Red - Hilfe-/Frage-/Ideen-/Austausch - Thread

Ich habe einen H801 RGBW LED controller mit Tasmota eingebunden. Ist eventuell ähnlich.

2 „Gefällt mir“

Bestimmt, würdest den Flow zur Verfügung stellen? :cowboy_hat_face:

Bitteschön:

[
    {
        "id": "122cd080.1bbff8",
        "type": "tab",
        "label": "H801-RGB (130)",
        "disabled": false,
        "info": ""
    },
    {
        "id": "edfdf35a.206bb",
        "type": "homeeDevice",
        "z": "122cd080.1bbff8",
        "virtual-homee": "",
        "name": "H801-RGBWW",
        "nodeId": "130",
        "showNodeId": false,
        "profile": "1002",
        "icon": "default",
        "attributes": [
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 1,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "unit": "",
                "step_value": 1,
                "editable": 1,
                "state": 1,
                "last_changed": 12345555,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "type": 1,
                "id": 130,
                "node_id": 130
            },
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 100,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "unit": "%25",
                "step_value": 1,
                "editable": 1,
                "state": 1,
                "last_changed": 12345555,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "type": 2,
                "id": 131,
                "node_id": 130
            },
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 16777215,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "unit": "",
                "step_value": 1,
                "editable": 1,
                "state": 1,
                "last_changed": 12345555,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "7001020%3B16419669%3B12026363%3B16525995",
                "type": 23,
                "id": 133,
                "node_id": 130
            },
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 4,
                "current_value": 3,
                "target_value": 3,
                "last_value": 3,
                "unit": "n%2Fa",
                "step_value": 1,
                "editable": 0,
                "state": 1,
                "last_changed": 1572634009,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 4,
                "data": "RSSI",
                "type": 33,
                "id": 134,
                "node_id": 130
            },
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 0,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "unit": "text",
                "step_value": 1,
                "editable": 0,
                "state": 1,
                "last_changed": 1573711842,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "type": 44,
                "id": 135,
                "node_id": 130
            }
        ],
        "statusTemplate": "",
        "x": 520,
        "y": 240,
        "wires": [
            [
                "a617bf92.8fb54"
            ]
        ]
    },
    {
        "id": "baa589cf.a0b268",
        "type": "ioBroker in",
        "z": "122cd080.1bbff8",
        "name": "H801-RGB POWER1",
        "topic": "sonoff.0.H801-RGB.POWER1",
        "payloadType": "value",
        "onlyack": true,
        "func": "all",
        "gap": "",
        "fireOnStart": "true",
        "x": 140,
        "y": 140,
        "wires": [
            [
                "5ab927ec.fb57c8"
            ]
        ]
    },
    {
        "id": "3a486676.9772aa",
        "type": "ioBroker in",
        "z": "122cd080.1bbff8",
        "name": "RSSI",
        "topic": "sonoff.0.H801-RGB.Wifi_RSSI",
        "payloadType": "value",
        "onlyack": true,
        "func": "all",
        "gap": "",
        "fireOnStart": "true",
        "x": 90,
        "y": 540,
        "wires": [
            [
                "641293c1.ae444c"
            ]
        ]
    },
    {
        "id": "641293c1.ae444c",
        "type": "function",
        "z": "122cd080.1bbff8",
        "name": "Set RSSI Quality",
        "func": "var level=parseInt(msg.payload);\n\n// Verbindungsqualität von dbm in 0-4 umrechnen\nif (level > 90) {\n   level = 0\n}\nelse if (level > 80) {\n    level = 1\n}\nelse if (level > 60) {\n    level = 2\n}\nelse if (level > 40) {\n    level = 3\n}\nelse {\n    level = 4\n}\nmsg.payload = {\"attribute\":{ \"id\":134, \"value\": level}};\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 310,
        "y": 540,
        "wires": [
            [
                "edfdf35a.206bb"
            ]
        ]
    },
    {
        "id": "5ab927ec.fb57c8",
        "type": "change",
        "z": "122cd080.1bbff8",
        "name": "",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "true",
                "fromt": "str",
                "to": "{\"attribute\":{\"id\":130,\"value\":1}}",
                "tot": "json"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "false",
                "fromt": "str",
                "to": "{\"attribute\":{\"id\":130,\"value\":0}}",
                "tot": "json"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 340,
        "y": 140,
        "wires": [
            [
                "edfdf35a.206bb"
            ]
        ]
    },
    {
        "id": "e3690db5.84fdd",
        "type": "comment",
        "z": "122cd080.1bbff8",
        "name": "ID 130 On/Off",
        "info": "",
        "x": 110,
        "y": 100,
        "wires": []
    },
    {
        "id": "b8ea8b38.66a188",
        "type": "ioBroker in",
        "z": "122cd080.1bbff8",
        "name": "H801-RGB  Dimmer",
        "topic": "sonoff.0.H801-RGB.Dimmer",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "fireOnStart": "true",
        "x": 130,
        "y": 240,
        "wires": [
            [
                "60c07cf.87b6184"
            ]
        ]
    },
    {
        "id": "b4e8235d.2f8ce",
        "type": "ioBroker in",
        "z": "122cd080.1bbff8",
        "name": "H801-RGB  CT",
        "topic": "sonoff.0.H801-RGB.CT",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "fireOnStart": "true",
        "x": 120,
        "y": 340,
        "wires": [
            [
                "32912c80.b8c4f4"
            ]
        ]
    },
    {
        "id": "e40b73ec.32127",
        "type": "ioBroker in",
        "z": "122cd080.1bbff8",
        "name": "H801-RGB  Color",
        "topic": "sonoff.0.H801-RGB.Color",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "fireOnStart": "true",
        "x": 120,
        "y": 440,
        "wires": [
            [
                "d5414a6d.86ecb8"
            ]
        ]
    },
    {
        "id": "aede8468.69e088",
        "type": "comment",
        "z": "122cd080.1bbff8",
        "name": "ID 131 Dimmer",
        "info": "",
        "x": 120,
        "y": 200,
        "wires": []
    },
    {
        "id": "77fb510d.16aad8",
        "type": "comment",
        "z": "122cd080.1bbff8",
        "name": "ID 132 Colortemp.",
        "info": "",
        "x": 130,
        "y": 300,
        "wires": []
    },
    {
        "id": "28bbcf3f.bc59b",
        "type": "comment",
        "z": "122cd080.1bbff8",
        "name": "ID 133 Color",
        "info": "",
        "x": 110,
        "y": 400,
        "wires": []
    },
    {
        "id": "df22c05f.ab8b78",
        "type": "comment",
        "z": "122cd080.1bbff8",
        "name": "ID 134 WiFi RSSI",
        "info": "",
        "x": 120,
        "y": 500,
        "wires": []
    },
    {
        "id": "732de6bb.efef4",
        "type": "ioBroker in",
        "z": "122cd080.1bbff8",
        "name": "Version",
        "topic": "sonoff.0.H801-RGB.INFO.Version",
        "payloadType": "value",
        "onlyack": false,
        "func": "rbe",
        "gap": "",
        "fireOnStart": "true",
        "x": 90,
        "y": 640,
        "wires": [
            [
                "41121a4.b739d64"
            ]
        ]
    },
    {
        "id": "41121a4.b739d64",
        "type": "function",
        "z": "122cd080.1bbff8",
        "name": "Convert Version String",
        "func": "var firmware = msg.payload;\n\nreturn {\n    payload: {\"attribute\": {\"id\": 135, \"value\": 0, \"data\": firmware}}\n}",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 320,
        "y": 640,
        "wires": [
            [
                "edfdf35a.206bb"
            ]
        ]
    },
    {
        "id": "321e76ef.b1808a",
        "type": "comment",
        "z": "122cd080.1bbff8",
        "name": "ID 135 Version",
        "info": "",
        "x": 120,
        "y": 600,
        "wires": []
    },
    {
        "id": "13fb3025.9aaeb8",
        "type": "ioBroker out",
        "z": "122cd080.1bbff8",
        "name": "H801-RGB POWER1",
        "topic": "sonoff.0.H801-RGB.POWER1",
        "ack": "false",
        "autoCreate": "false",
        "stateName": "",
        "role": "",
        "stateUnit": "",
        "stateMin": "",
        "stateMax": "",
        "x": 1140,
        "y": 140,
        "wires": []
    },
    {
        "id": "2ecabc94.0219a4",
        "type": "function",
        "z": "122cd080.1bbff8",
        "name": "",
        "func": "if(msg.payload.attributeId ===130 && msg.payload.targetValue ===1){\nreturn {payload:true}}\nelse if(msg.payload.attributeId ===130 && msg.payload.targetValue ===0){\nreturn{payload:false}}\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 800,
        "y": 140,
        "wires": [
            [
                "13fb3025.9aaeb8"
            ]
        ]
    },
    {
        "id": "2d650bce.b0b9bc",
        "type": "ioBroker out",
        "z": "122cd080.1bbff8",
        "name": "H801-RGB  Dimmer",
        "topic": "sonoff.0.H801-RGB.Dimmer",
        "ack": "false",
        "autoCreate": "true",
        "stateName": "Dimmer",
        "role": "level.dimmer",
        "payloadType": "number",
        "readonly": "false",
        "stateUnit": "",
        "stateMin": "0",
        "stateMax": "100",
        "x": 1130,
        "y": 240,
        "wires": []
    },
    {
        "id": "cce62b07.69873",
        "type": "change",
        "z": "122cd080.1bbff8",
        "name": "",
        "rules": [
            {
                "t": "move",
                "p": "payload.targetValue",
                "pt": "msg",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 880,
        "y": 240,
        "wires": [
            [
                "2d650bce.b0b9bc"
            ]
        ]
    },
    {
        "id": "a617bf92.8fb54",
        "type": "switch",
        "z": "122cd080.1bbff8",
        "name": "",
        "property": "payload.attributeId",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "130",
                "vt": "num"
            },
            {
                "t": "eq",
                "v": "131",
                "vt": "num"
            },
            {
                "t": "eq",
                "v": "132",
                "vt": "num"
            },
            {
                "t": "eq",
                "v": "133",
                "vt": "num"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 4,
        "x": 570,
        "y": 160,
        "wires": [
            [
                "2ecabc94.0219a4"
            ],
            [
                "cce62b07.69873"
            ],
            [
                "50053aa6.a17514"
            ],
            [
                "8cf3887.b9d4b78"
            ]
        ]
    },
    {
        "id": "38906c34.11f704",
        "type": "ioBroker out",
        "z": "122cd080.1bbff8",
        "name": "H801-RGB  CT",
        "topic": "sonoff.0.H801-RGB.CT",
        "ack": "false",
        "autoCreate": "true",
        "stateName": "CT",
        "role": "level.color.emp",
        "payloadType": "number",
        "readonly": "false",
        "stateUnit": "",
        "stateMin": "153",
        "stateMax": "500",
        "x": 1120,
        "y": 340,
        "wires": []
    },
    {
        "id": "50053aa6.a17514",
        "type": "change",
        "z": "122cd080.1bbff8",
        "name": "",
        "rules": [
            {
                "t": "move",
                "p": "payload.targetValue",
                "pt": "msg",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 880,
        "y": 340,
        "wires": [
            [
                "38906c34.11f704"
            ]
        ]
    },
    {
        "id": "60c07cf.87b6184",
        "type": "template",
        "z": "122cd080.1bbff8",
        "name": "",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"attribute\":{\"id\":131,\"value\":{{payload}}}}",
        "output": "json",
        "x": 320,
        "y": 240,
        "wires": [
            [
                "edfdf35a.206bb"
            ]
        ]
    },
    {
        "id": "32912c80.b8c4f4",
        "type": "template",
        "z": "122cd080.1bbff8",
        "name": "",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"attribute\":{\"id\":132,\"value\":{{payload}}}}",
        "output": "json",
        "x": 320,
        "y": 340,
        "wires": [
            []
        ]
    },
    {
        "id": "7ecec765.4a3b18",
        "type": "ioBroker out",
        "z": "122cd080.1bbff8",
        "name": "H801-RGB  Color",
        "topic": "sonoff.0.H801-RGB.Color",
        "ack": "false",
        "autoCreate": "false",
        "stateName": "",
        "role": "",
        "payloadType": "",
        "readonly": "",
        "stateUnit": "",
        "stateMin": "",
        "stateMax": "",
        "x": 1130,
        "y": 440,
        "wires": []
    },
    {
        "id": "a152a368.11417",
        "type": "ioBroker in",
        "z": "122cd080.1bbff8",
        "name": "alive",
        "topic": "sonoff.0.H801-RGB.alive",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "fireOnStart": "true",
        "x": 90,
        "y": 740,
        "wires": [
            [
                "e0c4539d.89b8d8"
            ]
        ]
    },
    {
        "id": "e0c4539d.89b8d8",
        "type": "change",
        "z": "122cd080.1bbff8",
        "name": "",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "true",
                "fromt": "str",
                "to": "{\"state\":1}",
                "tot": "json"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "false",
                "fromt": "str",
                "to": "{\"state\":2}",
                "tot": "json"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 340,
        "y": 740,
        "wires": [
            [
                "edfdf35a.206bb"
            ]
        ]
    },
    {
        "id": "d5414a6d.86ecb8",
        "type": "function",
        "z": "122cd080.1bbff8",
        "name": "",
        "func": "\nif (msg.payload.slice(7) ===\"0000\"){\n    test = msg.payload.replace(\"#\",\"\")\n    node.send({\n        \n        payload: {\n            \"attribute\":{\n                \"id\":133,\n                \"value\":parseInt(test.slice(0,-4),16)\n                \n            }\n            \n        }\n        \n    })\n}",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 320,
        "y": 440,
        "wires": [
            [
                "edfdf35a.206bb"
            ]
        ]
    },
    {
        "id": "8cf3887.b9d4b78",
        "type": "function",
        "z": "122cd080.1bbff8",
        "name": "",
        "func": "\nreturn {payload: \"#\"+Math.abs(msg.payload.targetValue).toString(16)+\"0000\"}",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 800,
        "y": 440,
        "wires": [
            [
                "7ecec765.4a3b18"
            ]
        ]
    }
]
2 „Gefällt mir“

Dankeschön! :heart_eyes: Schaue ich mir gleich mal an :cowboy_hat_face:

Hi, ich wollte noch mal RM geben, der Flow hat mir schonmal ein Stück weit geholfen, Danke nochmal :cowboy_hat_face:
Die RGBW Shellys haben aktuell mit der Tasmota FW noch ein kleines Defizit was die ansteuerbaren Farben angeht… :pensive:
Hab nun noch einen RGBW2 mit der org. FW MGOS verwendet, schau echt gut aus, sind auch 3 Effekte dabei die sich ansteuern lassen.
Mir fehlt aber noch ne Funktion bei der auch der ON / OFF Schalter bedient wird wenn der Dimm Level auf 0 gesetzt wird…ich meine ich hatte so etwas schon mal in einem der vielen BSP. Flows gesehen, finds aber nicht mehr…
Schönen Abend noch! :beers:

1 „Gefällt mir“

Moin, brauch Hilfe :see_no_evil:

Ich präzisiere nochmal etwas, ich brauche eine Funktion die den ON / OFF entsprechend mit schaltet, Beispiel Schalter steht auf ein, Dimmlevel Farbe und rot stehen auf 100%, Strip leuchtet.

Stell ich aber nun einen von den Dimmern auf 0%, leuchtet nix mehr , aber der Schalter bleibt auf ON. Anders rum genauso, stell ich in nun auf Off, und erhöhe das Dimmlevel leuchtet der Strip, aber der Schalter bleibt auf OFF, soll aber auf ON springen…ich hoffe ihr versteht mich…

ich habe es mit nem Function Node probiert, aber der schaltet nun immer aus bei änderung des Dimmlevels…

image

Schick mir mal deinen Flow per PN und ich schaue mir das mal an.

2 „Gefällt mir“

Danke! :heart_eyes:

Problem gelöst per Teamviewer :relaxed::+1:

7 „Gefällt mir“

Knacknuss !

Folgendes, in node red nutze ich das Template um ab meiner M5 Timer Cam Bilder zu „schiessen“ (capture). Dazu verwende ich innerhalb des Templates folgenden Code:
image

iframe src=„http://192.168.1.133/capture“ width=„80%“ height=„400“ name=„TUER“

Wenn ich dies nun ab meinem Laptop (mit chrome Browser) öffne, so sehe ich
das Bild-

Wenn ich das Gleiche ab dem Handy im Browser (ebenfalls Chrome) öffne, erscheint folgender Fehler:
Header fields are too long for server to interpret

Hilfeeee!
Was ist denn da anders? Warum geht es ab Handy nicht?

Nun, Schreiben ist exaktes denken, sagt man… so ach hier geschehen:
Das Handy „betrachtet“ mein node red im mobile Modus, wenn ich im Browser den des Handy den Desktopmodus einschalte, funktioniert es…

Problem also teilweise - dank dem Schreiben - teilweise gelöst.

Offen ist nun, wie ich mein node red dazu bringe, eben diese Seite gezielt im Desktop modus darzustellen, oder ob es einen anderen Weg gibt, das Bild auf das Handy zu bringen. Denn das dauerhafte aktivieren des Desktop Modus mindert die Darstellung des node red dashboards erheblich! Ebenso rufe ich das Dashboard direkt aus einer „Kiosk-App“ auf, d.h. per Widget ab dem Handydesktop.

Also, hat mir ev. jemand einen Tipp zum meinem Restproblem ?
Danke!

Hallo Zusammen,

wer kennt es nicht das leidige Thema mit dem Dimmen von Leuchtmitteln über einen FT55 oder anderen Taster.
homee gibt uns ja die Möglichkeit sehr langsam bzw. abgestuft zu dimmen.
Das hat mir nicht gereicht da es keine Saubere Lösung ist.
Ich nutze viele Hue Lampen an der Bridge und nicht mit dem Zigbee Würfel.
Also habe ich mir eine Flow geschrieben der beim gedrückthalten des Tasters im 0,2 Sekunden Takt um 5% hoch oder runter dimmt.

Anschalten und Ausschalten geht natürlich normal auch durch den einfachen Klick auf den Taster.

Und hier der Flow dazu.

[
    {
        "id": "71b43b57.6b25bc",
        "type": "hue-light",
        "z": "9c8a9827.537708",
        "name": "Deckenlampe wohnen",
        "bridge": "",
        "lightid": "",
        "colornamer": true,
        "skipevents": false,
        "initevents": false,
        "x": 460,
        "y": 860,
        "wires": [
            [
                "3e882f11.8ec1a"
            ]
        ]
    },
    {
        "id": "417d2f4f.ae3748",
        "type": "function",
        "z": "9c8a9827.537708",
        "name": "",
        "func": "var b1 = node.id.replace(\".\",\"\")+\"b1\";\nvar b2 = node.id.replace(\".\",\"\")+\"b2\";\nvar b3 = node.id.replace(\".\",\"\")+\"b3\";\nvar b4 = node.id.replace(\".\",\"\")+\"b4\";\nvar timer = node.id.replace(\".\",\"\")+\"timer\";\nvar stb1 = global.get(b1);\nvar stb2 = global.get(b2);\n\n\nif (msg.meta){\n    if (msg.meta.payload === \"10\"){\n        global.set(timer,msg.meta.timestamp);\n        node.send({\n            payload:\"status\",\n            button:true\n        \n        }),\n        global.set(b1,true)\n    \n    }\n    else\n    if (msg.meta.payload === \"30\"){\n        global.set(timer,msg.meta.timestamp)\n        node.send({\n            payload:\"status\",\n            button:true\n        \n        }),\n        global.set(b2,true)\n    \n    }\n    else \n    if (msg.meta.payload === \"00\"){\n        node.send({\n            payload:\"status\",\n            button:false\n        \n        }),\n        global.set(b1,false)\n        global.set(b2,false)\n        var test = (msg.meta.timestamp - global.get(timer))\n        if (stb1 === true && test < 400){\n            node.send({payload:false})\n            \n            \n        }\n        if (stb2 === true && test < 400){\n            node.send({payload:true})\n        }\n    }\n    \n}\nif (msg.trigger ){\n    var status = global.get(\"status\");\n        if (stb1 === true ){\n            if (status.brightness < 7){\n                global.set(b1,false)\n            }\n            \n            global.set(\"status\",{\"brightness\":status.brightness -5});\n            return {payload: {\"brightness\": status.brightness-5}}\n        }\n    \n        if (stb2 === true ){\n            if (status.brightness >93){\n                global.set(b2,false)\n            }\n            \n            global.set(\"status\",{\"brightness\":status.brightness +5});\n            return {payload: {\"brightness\": status.brightness+5}}\n        }\n    return;\n}\nreturn;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 240,
        "y": 860,
        "wires": [
            [
                "71b43b57.6b25bc"
            ]
        ]
    },
    {
        "id": "42471a40.e930dc",
        "type": "inject",
        "z": "9c8a9827.537708",
        "name": "",
        "props": [
            {
                "p": "trigger",
                "v": "",
                "vt": "date"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "0.2",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "x": 110,
        "y": 860,
        "wires": [
            [
                "417d2f4f.ae3748"
            ]
        ]
    },
    {
        "id": "3e882f11.8ec1a",
        "type": "change",
        "z": "9c8a9827.537708",
        "name": "Global Kontext",
        "rules": [
            {
                "t": "move",
                "p": "payload",
                "pt": "msg",
                "to": "status",
                "tot": "global"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 680,
        "y": 860,
        "wires": [
            []
        ]
    },
    {
        "id": "5f3b9b2d.ee53ac",
        "type": "homeeApi",
        "z": "9c8a9827.537708",
        "homee": "",
        "name": "homeeApi",
        "messageTypeFilter": [],
        "nodeFilter": "",
        "attributeFilter": "",
        "x": 100,
        "y": 780,
        "wires": [
            [
                "edbc0d77.6ca518"
            ]
        ]
    },
    {
        "id": "edbc0d77.6ca518",
        "type": "switch",
        "z": "9c8a9827.537708",
        "name": "",
        "property": "payload.attribute.id",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "2475",
                "vt": "num"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 250,
        "y": 780,
        "wires": [
            [
                "ecf5e1bb.c56668"
            ]
        ]
    },
    {
        "id": "ecf5e1bb.c56668",
        "type": "function",
        "z": "9c8a9827.537708",
        "name": "",
        "func": "switch (msg.payload.attribute.current_value){\n                case 0 : test = \"10\";\n                break;\n                case 1 : test = \"30\";\n                break;\n                case 2 : test = \"00\";\n                break;\n            }\nvar time = (new Date()).getTime();\nreturn { \n    meta:{\n        payload: test,\n        timestamp: time\n    }}\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 400,
        "y": 780,
        "wires": [
            [
                "417d2f4f.ae3748"
            ]
        ]
    },
    {
        "id": "89a3f147.bcacd8",
        "type": "hue-bridge",
        "name": "Philips hue",
        "bridge": "",
        "key": "",
        "autoupdates": true,
        "disableupdates": false
    }
]

Viel Spaß beim testen

8 „Gefällt mir“

Hey Micha, hast Du Deine Lampen zusätzlich noch über hih im homee?
Welchen Node nutzt Du für die Hue?

Ja natürlich sind diese noch per vhih verbunden.
node-red-contrib-huemagic ist bei mir im Einsatz mit der Version 4.0.4.

Das dimmen und schalten ist somit komplett aus homee ausgelagert.
Der Zustand kann trotzdem normal in der homee App geändert werden.
Das schöne daran ist das sanfte dimmen ohne Sprünge oder elende HG Schlachten.
Geht aber leider nur für die Anbindung via hue bridge.

3 „Gefällt mir“

Hier der Flow nochmal explizit auf den homee zugeschnitten , vorher war es noch für das Enocean Node konzipiert.

[
    {
        "id": "5f3b9b2d.ee53ac",
        "type": "homeeApi",
        "z": "9c8a9827.537708",
        "homee": "",
        "name": "homeeApi",
        "messageTypeFilter": [],
        "nodeFilter": "",
        "attributeFilter": "",
        "x": 80,
        "y": 860,
        "wires": [
            [
                "edbc0d77.6ca518",
                "a55cb6f9.0289e8",
                "bb7b628b.a0bd18"
            ]
        ]
    },
    {
        "id": "582d0a3b.945e54",
        "type": "hue-light",
        "z": "9c8a9827.537708",
        "name": "Esstischlampe",
        "bridge": "",
        "lightid": "",
        "colornamer": true,
        "skipevents": false,
        "initevents": false,
        "x": 640,
        "y": 900,
        "wires": [
            [
                "1fe9853f.e8a35b"
            ]
        ]
    },
    {
        "id": "6668d3d1.f6d064",
        "type": "function",
        "z": "9c8a9827.537708",
        "name": "",
        "func": "var b1 = node.id.replace(\".\",\"\")+\"b1\";\nvar b2 = node.id.replace(\".\",\"\")+\"b2\";\nvar timer = node.id.replace(\".\",\"\")+\"timer\";\nvar stb1 = global.get(b1);\nvar stb2 = global.get(b2);\nvar status = node.id.replace(\".\",\"\")+\"status\";\n\nif (msg.status){ global.set(status,msg.status)}\n\nif (msg.payload && msg.payload.attribute){\n    var current_time = (new Date()).getTime();\n    if (msg.payload.attribute.current_value === 0){\n        global.set(timer,current_time);\n        node.send({\n            payload:\"status\",\n            button:true\n        \n        }),\n        global.set(b1,true)\n    \n    }\n    else\n    if (msg.payload.attribute.current_value === 1){\n        global.set(timer,current_time)\n        node.send({\n            payload:\"status\",\n            button:true\n        \n        }),\n        global.set(b2,true)\n    \n    }\n    else \n    if (msg.payload.attribute.current_value === 2){\n        node.send({\n            payload:\"status\",\n            button:false\n        \n        }),\n        global.set(b1,false)\n        global.set(b2,false)\n        var test = (current_time - global.get(timer))\n        if (stb1 === true && test < 400){\n            node.send({payload:false})\n            \n            \n        }\n        if (stb2 === true && test < 400){\n            node.send({payload:true})\n        }\n    }\n    \n}\nif (msg.trigger ){\n    var state = global.get(status);\n        if (stb1 === true ){\n            if (state.brightness < 7){\n                global.set(b1,false)\n            }\n            \n            global.set(status,{\"brightness\":state.brightness -5});\n            return {payload: {\"brightness\": state.brightness-5}}\n        }\n    \n        if (stb2 === true ){\n            if (status.brightness >93){\n                global.set(b2,false)\n            }\n            \n            global.set(status,{\"brightness\":state.brightness +5});\n            return {payload: {\"brightness\": state.brightness+5}}\n        }\n    return;\n}\nreturn;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 460,
        "y": 900,
        "wires": [
            [
                "582d0a3b.945e54"
            ]
        ]
    },
    {
        "id": "86910cb3.0ae278",
        "type": "inject",
        "z": "9c8a9827.537708",
        "name": "Zeitauslöser",
        "props": [
            {
                "p": "trigger",
                "v": "",
                "vt": "date"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "0.2",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "x": 290,
        "y": 900,
        "wires": [
            [
                "6668d3d1.f6d064"
            ]
        ]
    },
    {
        "id": "a55cb6f9.0289e8",
        "type": "switch",
        "z": "9c8a9827.537708",
        "name": "Attribut ID 2476",
        "property": "payload.attribute.id",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "2476",
                "vt": "num"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 280,
        "y": 860,
        "wires": [
            [
                "6668d3d1.f6d064"
            ]
        ]
    },
    {
        "id": "1fe9853f.e8a35b",
        "type": "change",
        "z": "9c8a9827.537708",
        "name": "payload -> status",
        "rules": [
            {
                "t": "move",
                "p": "payload",
                "pt": "msg",
                "to": "status",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 830,
        "y": 900,
        "wires": [
            [
                "6668d3d1.f6d064"
            ]
        ]
    },
    {
        "id": "89a3f147.bcacd8",
        "type": "hue-bridge",
        "name": "Philips hue",
        "bridge": "192.168.178.00",
        "key": "",
        "autoupdates": true,
        "disableupdates": false
    }
]
3 „Gefällt mir“

Hi zusammen,

ich habe heute ein Update des node-red-contrib-huemagic auf 4.1.0 gemacht. Leider bekomme ich seitdem diese Fehlermeldung:

Und das Node für meinen HUE Schalter sieht so aus:

Wurde der Switch durch einen anderen Node getauscht?

Gibt es evtl. eine Möglichkeit die vorherige Version zu installieren?

Guten Abend miteinander,

meine ersten Gehversuche in Homee habe ich nun hinter mir, und es läuft soweit akzeptabel.
Ich hatte in verschiedenen Themen mitgelesen, u.a. auch hier.
Eure Konfigs in Sachen Node-Red finde ich sehr interessant und habe mir daher mal Node-Red auf meine Windows Büchse installiert.
Zunächst möchte ich hier nur testen, ob ich damit z.B. meinen Technisat-Szenenschalter für die Homee-Geräte verwenden kann (gerne kann man mir hier schon sagen, ob es geht, oder nicht).

Nach dem Start von Node-Red (ich war ja von den Söcken, dass das funktioniert hat) habe ich nach Anleitung einen Kontakt-Versuch zu Homee unternommen.
Zunächst habe ich noch nicht einmal Bahnhof verstanden und wollte das schon wieder aufgeben.
Inzwischen habe ich den Eindruck, dass ich die Verbindung zum Homee zustande gebracht habe.
Leider reicht es aktuell nicht zu mehr als dieses, da ich es nicht verstehe.

Hat jemand die Zeit und die Geduld mir das bei einem Telefonat / Skype / Telegram / Teamviewer etwas genauer zu erklären, wo ich denn was machen muss, dass ich dann mal die ersten Leuchten und Zwischenstecker geschaltet bekomme?

Ich habe ein wenig Erfahrung mit solchen „Klicki-Bunti-Tools“, aber hier stoße ich an meine Grenzen.

VG
MichasHomee

Ich denke das ich dir da gut weiterhelfen kann.
Ich mach das normalerweise per Teamviewer mit den Community Usern.
:crazy_face:

7 „Gefällt mir“

Uii, das hätte was.
Normalerweise bin ich kein DAU, aber das ist mir bislang zu hoch.
Wann hättest Du denn mal Zeit?

Hast ne PN von mir.

6 „Gefällt mir“

Moin homees,

ich habe folgendes Problem mit node-red/iobroker und einem virtuellen Gerät in homee. Der Flow dazu sieht so aus.

[
{
    "id": "2928bfaa.adb958",
    "type": "tab",
    "label": "io_Gäste-WLAN",
    "disabled": false,
    "info": ""
},
{
    "id": "9570b4d1.6a084",
    "type": "homeeDevice",
    "z": "2928bfaa.adb958",
    "virtual-homee": "",
    "name": "io_Gäste-WLAN",
    "nodeId": "1",
    "showNodeId": true,
    "profile": "16",
    "icon": "default",
    "attributes": [
        {
            "type": 1,
            "state": 1,
            "instance": 0,
            "minimum": 0,
            "maximum": 1,
            "current_value": 0,
            "target_value": 0,
            "last_value": 0,
            "data": "",
            "name": "",
            "unit": "",
            "step_value": 1,
            "editable": 1,
            "last_changed": 1642114769,
            "changed_by": 1,
            "changed_by_id": 0,
            "based_on": 1,
            "options": [],
            "id": "1",
            "node_id": "1"
        }
    ],
    "statusTemplate": "",
    "x": 350,
    "y": 100,
    "wires": [
        [
            "2aeca370.cc539c"
        ]
    ]
},
{
    "id": "f6f07293.49052",
    "type": "ioBroker out",
    "z": "2928bfaa.adb958",
    "name": "wlanGuest",
    "topic": "tr-064.0.states.wlanGuest",
    "ack": "true",
    "autoCreate": "false",
    "stateName": "",
    "role": "",
    "payloadType": "",
    "readonly": "",
    "stateUnit": "",
    "stateMin": "",
    "stateMax": "",
    "x": 970,
    "y": 100,
    "wires": []
},
{
    "id": "2aeca370.cc539c",
    "type": "switch",
    "z": "2928bfaa.adb958",
    "name": "",
    "property": "payload.targetValue",
    "propertyType": "msg",
    "rules": [
        {
            "t": "eq",
            "v": "1",
            "vt": "num"
        },
        {
            "t": "eq",
            "v": "0",
            "vt": "num"
        }
    ],
    "checkall": "false",
    "repair": false,
    "outputs": 2,
    "x": 570,
    "y": 100,
    "wires": [
        [
            "aa4d856d.af9d38"
        ],
        [
            "3254a1a7.c7c75e"
        ]
    ]
},
{
    "id": "aa4d856d.af9d38",
    "type": "change",
    "z": "2928bfaa.adb958",
    "name": "",
    "rules": [
        {
            "t": "set",
            "p": "payload",
            "pt": "msg",
            "to": "true",
            "tot": "bool"
        }
    ],
    "action": "",
    "property": "",
    "from": "",
    "to": "",
    "reg": false,
    "x": 750,
    "y": 80,
    "wires": [
        [
            "f6f07293.49052"
        ]
    ]
},
{
    "id": "3254a1a7.c7c75e",
    "type": "change",
    "z": "2928bfaa.adb958",
    "name": "",
    "rules": [
        {
            "t": "set",
            "p": "payload",
            "pt": "msg",
            "to": "false",
            "tot": "bool"
        }
    ],
    "action": "",
    "property": "",
    "from": "",
    "to": "",
    "reg": false,
    "x": 750,
    "y": 140,
    "wires": [
        [
            "f6f07293.49052"
        ]
    ]
},
{
    "id": "d06e543d.27bc5",
    "type": "ioBroker in",
    "z": "2928bfaa.adb958",
    "name": "wlanGuest",
    "topic": "tr-064.0.states.wlanGuest",
    "payloadType": "value",
    "onlyack": true,
    "func": "rbe",
    "gap": "",
    "fireOnStart": "true",
    "x": 520,
    "y": 300,
    "wires": [
        [
            "f7683b20.0c08b8"
        ]
    ]
},
{
    "id": "f7683b20.0c08b8",
    "type": "switch",
    "z": "2928bfaa.adb958",
    "name": "",
    "property": "payload",
    "propertyType": "msg",
    "rules": [
        {
            "t": "true"
        },
        {
            "t": "false"
        }
    ],
    "checkall": "false",
    "repair": false,
    "outputs": 2,
    "x": 690,
    "y": 300,
    "wires": [
        [
            "2c193db3.12a4ea"
        ],
        [
            "18cac988.ff2a4e"
        ]
    ]
},
{
    "id": "2c193db3.12a4ea",
    "type": "change",
    "z": "2928bfaa.adb958",
    "name": "",
    "rules": [
        {
            "t": "set",
            "p": "payload",
            "pt": "msg",
            "to": "{\"attribute\":{\"id\":1,\"value\":1}}",
            "tot": "json"
        }
    ],
    "action": "",
    "property": "",
    "from": "",
    "to": "",
    "reg": false,
    "x": 890,
    "y": 280,
    "wires": [
        [
            "9570b4d1.6a084"
        ]
    ]
},
{
    "id": "18cac988.ff2a4e",
    "type": "change",
    "z": "2928bfaa.adb958",
    "name": "",
    "rules": [
        {
            "t": "set",
            "p": "payload",
            "pt": "msg",
            "to": "{\"attribute\":{\"id\":1,\"value\":0}}",
            "tot": "json"
        }
    ],
    "action": "",
    "property": "",
    "from": "",
    "to": "",
    "reg": false,
    "x": 890,
    "y": 320,
    "wires": [
        [
            "9570b4d1.6a084"
        ]
    ]
}

]

Ziel ist das Gäste-WLAN der Fritzbox über ein virtuelles Gerät in homee zu schalten.
Wenn ich den Datenpunkt in iobroker direkt umschalte, wird auch das WLAN geschalten.
Wenn ich das virtuelle Gerät in homee schalte, ändert sich zwar auch der Datenpunkt in iobroker, aber das WLAN wird nicht geschalten.
Wenn ich das WLAN über die Fritzbox schalte, schaltet auch das virtuelle Gerät in homee.

Wo liegt der Fehler?
Und vor allem wie kann ich ihn lösen?