Mal wieder virtuelle Geräte - jetzt aber richtig!

Jetzt habe ich noch eine Frage zu meinem Wasserzähler.
Wie kann ich erreichen, daß die Homee Datenbank den kumulierten Wasserverbrauch speichert und einen Chart generiert?

image

Hallo liebe Community,

Ich möchte gerne Werte von meiner PV Anlage (E3DC) in Homee verwenden können.
Dazu habe ich (diese Woche) einen Rasp. PI aufgesetzt und den IO Broker mit Node Red installiert.
Die Werte der PV Anlage bekomme ich den IO-Broker und von dort in Node Red. Den Virtuellen Homee bekomme ich auch hin. Jedoch kann ich die Wert aus IO Broker nicht in den Energiemanager des virtuellen Homee übergeben. Es kommt immer eine Fehlermeldung.
Leider habe ich nirgends etwas gefunden was mir als Laie weiterhilft.

Wenn mir jemand helfen könnte wäre es echt super!

Vielen Dank im Voraus und viele Grüße
Joe

Du musst das Format im Template Node ändern.

{’attribute’:{’id’:000,’value’:payload}}
1 „Gefällt mir“

Hallo Micha,
Vielen Dank für die super schnelle Antwort.
Habe es jetzt so eingetragen:


und dann kommt folgende Fehlermeldung:

Sorry, bin totaler Anfänger.
PS: ohne eure super Arbeit hätte ich nie eine Chance so weit zu kommen.
Vielen Dank dafür!
Grüße
Joe

Du musst das payload zusätzlich in eine doppelt geschweifte Klammer setzen {{payload}}

2 „Gefällt mir“

Musste leider weg.
Super, hat geklappt! Vielen Dank nochmals! Für den super Support und die ganze Arbeit die du/ihr hier rein gesteckt habt damit einer wie ich es auch hinbekommt.
Viele Grüße
Joe

3 „Gefällt mir“

Guten Tag,
ich habe das Problem das der gesendete Wert z.B. „True“ bei Iobroker nicht bestätigt wird.
image
Wenn ich den Wert in Iobroker ändere funktioniert es sofort.
Habe ich was bei NodeRed vergessen sodass der Wert nicht bestätigt wird?

Hat jemand einen Flow, um den Fibario Keyfob als virtuelles Gerät zu integrieren?

Hatte damit mal halbherzig angefangen, kurz bevor der Gen7 kam…an diesem funktioniert er :+1:

Schade für mich.

Prima, daß der Fibario Keyfob beim 7er funktioniert. :+1:
Ich hab nur jetzt keine Lust, mir den 7er auch noch zu kaufen.
Zumidest solange er nicht alle exitenten Geräte vom Gen5 übernehmen kann und ich den 5er dann in Rente schicken kann.

Bei mir hängt er an einem Aeotec z7 auf Homeassistant. und von da möchte ich ihn gerne mit Node Red in Homee bringen.

Bisher verwende ich die leider etwas instabile hacs-homee und habe die Automation für den Keyfob in HA, was ich gar nicht will.
Das soll weiter im Homee laufen.

Das wird halt schwierig … Wer soll all die alten, besonders die nicht mehr erhältliche End of Life-Geräte, einpflegen :thinking: Bei ein paar „Standard“-Geräten ( besonders Double-Switch) scheinen dem Core noch Probleme zu bereiten, eventuell Haus gemacht? …

Hier habe ich vielleicht einen Ansatz gefunden.

Die Call Service auf der rechten Seite habe ich rausgeschmissen, weil ich auf der Seite das Homee Device "anschliessen will.
Die Werte von meinem Keyfob kommen auch an. Ich kann Sie mit einem Debug auslesen.

Hier das Protokoll, wenn ich den Quadratischen Knopf (001) Drücke.

Jetzt meine Frage, wie bekomme ich das in ein Homee-Device Node eingepflegt?
Ich füge meinen Flow bei.
KeeFob2Homee.json.pdf (3,9 KB)

11.9.2023, 10:07:33[node: debug 49]
(…)zwave_js_value_notification : msg.payload : Object
object
event_type: „zwave_js_value_notification“
entity_id: undefined
event: object
domain: „zwave_js“
node_id: 7
home_id: 4185337217
endpoint: 0
device_id: „1824f9f08faec0a8fedc2509211d29bd“
command_class: 91

command_class_name: „Central Scene“
label: „Scene 001“
property: „scene“
property_name: „scene“
property_key: „001“
property_key_name: „001“
value: "KeyPressed"
value_raw: 0
origin: „LOCAL“
time_fired: „2023-09-11T08:07:32.952025+00:00“
context: object
id: „01HA1MG4AR5DWZWTZTWX6H6PQX“
parent_id: null
user_id: null

Ist doch recht einfach.
Du legst ein Device mit dem Profil 4 Tasten Fernbedienung und hier die Attribute reinpacken die du brauchst.
Ich schau mal ob ich einen passenden Flow von einer Wallmote habe.

[
    {
        "id": "6c0aea3e.f0f174",
        "type": "homeeDevice",
        "z": "44e80111.ac11e",
        "virtual-homee": "",
        "name": "heatit 4 button",
        "nodeId": "3000",
        "showNodeId": false,
        "profile": "26",
        "icon": "default",
        "attributes": [
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 100,
                "current_value": 100,
                "target_value": 2,
                "last_value": 2,
                "unit": "%25",
                "step_value": 1,
                "editable": 0,
                "type": 8,
                "state": 1,
                "last_changed": 1573065521,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "id": "34190",
                "node_id": "3000"
            },
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 0,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "unit": "text",
                "step_value": 1,
                "editable": 0,
                "type": 45,
                "state": 1,
                "last_changed": 1573065500,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "Heatit 4 Button",
                "id": "34200",
                "node_id": "3000"
            },
            {
                "instance": 0,
                "minimum": 1,
                "maximum": 2,
                "current_value": 2,
                "target_value": 2,
                "last_value": 1,
                "unit": "",
                "step_value": 1,
                "editable": 0,
                "type": 40,
                "state": 1,
                "last_changed": 1573065520,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "id": "34210",
                "node_id": "3000"
            },
            {
                "instance": 1,
                "minimum": 1,
                "maximum": 2,
                "current_value": 2,
                "target_value": 2,
                "last_value": 1,
                "unit": "n%2Fa",
                "step_value": 1,
                "editable": 0,
                "type": 40,
                "state": 1,
                "last_changed": 1573065521,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "id": "34220",
                "node_id": "3000"
            },
            {
                "instance": 2,
                "minimum": 1,
                "maximum": 2,
                "current_value": 2,
                "target_value": 2,
                "last_value": 1,
                "unit": "n%2Fa",
                "step_value": 1,
                "editable": 0,
                "type": 40,
                "state": 1,
                "last_changed": 1573065515,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "id": "34230",
                "node_id": "3000"
            },
            {
                "instance": 3,
                "minimum": 1,
                "maximum": 2,
                "current_value": 2,
                "target_value": 2,
                "last_value": 1,
                "unit": "n%2Fa",
                "step_value": 1,
                "editable": 0,
                "type": 40,
                "state": 1,
                "last_changed": 1573065517,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "id": "34240",
                "node_id": "3000"
            },
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 2,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "unit": "",
                "step_value": 1,
                "editable": 0,
                "type": 310,
                "state": 1,
                "last_changed": 1573065520,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "id": "34250",
                "node_id": "3000"
            },
            {
                "instance": 1,
                "minimum": 0,
                "maximum": 2,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "unit": "",
                "step_value": 1,
                "editable": 0,
                "type": 310,
                "state": 1,
                "last_changed": 1573065520,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "id": "34260",
                "node_id": "3000"
            },
            {
                "instance": 2,
                "minimum": 0,
                "maximum": 2,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "unit": "",
                "step_value": 1,
                "editable": 0,
                "type": 310,
                "state": 1,
                "last_changed": 1573065520,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "id": "34270",
                "node_id": "3000"
            },
            {
                "instance": 3,
                "minimum": 0,
                "maximum": 2,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "unit": "",
                "step_value": 1,
                "editable": 0,
                "type": 310,
                "state": 1,
                "last_changed": 1573065520,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "id": "34280",
                "node_id": "3000"
            }
        ],
        "statusTemplate": "",
        "x": 1180,
        "y": 460,
        "wires": [
            []
        ]
    },
    {
        "id": "8a15ae12.fedf2",
        "type": "template",
        "z": "44e80111.ac11e",
        "name": "",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"id\":34210,\"value\":{{payload}}}",
        "output": "json",
        "x": 840,
        "y": 240,
        "wires": [
            [
                "49994538.49f994"
            ]
        ]
    },
    {
        "id": "909e46ed.724588",
        "type": "template",
        "z": "44e80111.ac11e",
        "name": "",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"id\":34220,\"value\":{{payload}}}",
        "output": "json",
        "x": 840,
        "y": 360,
        "wires": [
            [
                "49994538.49f994"
            ]
        ]
    },
    {
        "id": "a010b700.8cb068",
        "type": "template",
        "z": "44e80111.ac11e",
        "name": "",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"id\":34230,\"value\":{{payload}}}",
        "output": "json",
        "x": 840,
        "y": 460,
        "wires": [
            [
                "49994538.49f994"
            ]
        ]
    },
    {
        "id": "50bb2281.157e4c",
        "type": "template",
        "z": "44e80111.ac11e",
        "name": "",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"id\":34240,\"value\":{{payload}}}",
        "output": "json",
        "x": 840,
        "y": 560,
        "wires": [
            [
                "49994538.49f994"
            ]
        ]
    },
    {
        "id": "1d27c5db.fb286a",
        "type": "change",
        "z": "44e80111.ac11e",
        "name": "",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "0",
                "fromt": "str",
                "to": "1",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "null",
                "fromt": "str",
                "to": "2",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 570,
        "y": 260,
        "wires": [
            [
                "8a15ae12.fedf2"
            ]
        ]
    },
    {
        "id": "1837fd49.4bd613",
        "type": "template",
        "z": "44e80111.ac11e",
        "name": "",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"id\":34250,\"value\":{{payload}}}",
        "output": "json",
        "x": 840,
        "y": 300,
        "wires": [
            [
                "49994538.49f994"
            ]
        ]
    },
    {
        "id": "2f88a293.223aee",
        "type": "switch",
        "z": "44e80111.ac11e",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "0",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "1",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "2",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "null",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 4,
        "x": 390,
        "y": 240,
        "wires": [
            [
                "1d27c5db.fb286a"
            ],
            [
                "b480b506.cb6158"
            ],
            [
                "b480b506.cb6158"
            ],
            [
                "1d27c5db.fb286a"
            ]
        ]
    },
    {
        "id": "b480b506.cb6158",
        "type": "change",
        "z": "44e80111.ac11e",
        "name": "",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "1",
                "fromt": "str",
                "to": "0",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "2",
                "fromt": "str",
                "to": "1",
                "tot": "num"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 550,
        "y": 300,
        "wires": [
            [
                "12b79314.6cdabd"
            ]
        ]
    },
    {
        "id": "12b79314.6cdabd",
        "type": "rbe",
        "z": "44e80111.ac11e",
        "name": "",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "property": "payload",
        "x": 710,
        "y": 300,
        "wires": [
            [
                "1837fd49.4bd613"
            ]
        ]
    },
    {
        "id": "139c1486.c009cb",
        "type": "template",
        "z": "44e80111.ac11e",
        "name": "",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"id\":34260,\"value\":{{payload}}}",
        "output": "json",
        "x": 840,
        "y": 400,
        "wires": [
            [
                "49994538.49f994"
            ]
        ]
    },
    {
        "id": "563c5b3b.d0d0c4",
        "type": "template",
        "z": "44e80111.ac11e",
        "name": "",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"id\":34270,\"value\":{{payload}}}",
        "output": "json",
        "x": 840,
        "y": 500,
        "wires": [
            [
                "49994538.49f994"
            ]
        ]
    },
    {
        "id": "819d50be.08e8",
        "type": "template",
        "z": "44e80111.ac11e",
        "name": "",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"id\":34280,\"value\":{{payload}}}",
        "output": "json",
        "x": 840,
        "y": 600,
        "wires": [
            [
                "49994538.49f994"
            ]
        ]
    },
    {
        "id": "dfc39618.34ef88",
        "type": "template",
        "z": "44e80111.ac11e",
        "name": "",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"id\":34190,\"value\":{{payload}}}",
        "output": "json",
        "x": 840,
        "y": 220,
        "wires": [
            [
                "49994538.49f994"
            ]
        ]
    },
    {
        "id": "8c6dac82.569a6",
        "type": "ioBroker in",
        "z": "44e80111.ac11e",
        "name": "Scene 2",
        "topic": "zwave2.0.Node_044.Central_Scene.scene_002",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "x": 220,
        "y": 380,
        "wires": [
            [
                "ba958471.ac2088"
            ]
        ]
    },
    {
        "id": "c667f6b2.e532a8",
        "type": "ioBroker in",
        "z": "44e80111.ac11e",
        "name": "Scene 4",
        "topic": "zwave2.0.Node_044.Central_Scene.scene_004",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "x": 220,
        "y": 580,
        "wires": [
            [
                "7fc3f740.f260b"
            ]
        ]
    },
    {
        "id": "f2370970.88b5d8",
        "type": "ioBroker in",
        "z": "44e80111.ac11e",
        "name": "Scene 3",
        "topic": "zwave2.0.Node_044.Central_Scene.scene_003",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "x": 220,
        "y": 480,
        "wires": [
            [
                "e706ba28.17996"
            ]
        ]
    },
    {
        "id": "1d2dca53.dd3136",
        "type": "ioBroker in",
        "z": "44e80111.ac11e",
        "name": "Scene 1",
        "topic": "zwave2.0.Node_044.Central_Scene.scene_001",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "x": 220,
        "y": 240,
        "wires": [
            [
                "2f88a293.223aee"
            ]
        ]
    },
    {
        "id": "f5ef7e35.f5a5b",
        "type": "ioBroker in",
        "z": "44e80111.ac11e",
        "name": "Battery Level",
        "topic": "zwave2.0.Node_044.Battery.level",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "x": 590,
        "y": 200,
        "wires": [
            [
                "dfc39618.34ef88"
            ]
        ]
    },
    {
        "id": "49994538.49f994",
        "type": "function",
        "z": "44e80111.ac11e",
        "name": "",
        "func": "msg.payload ={attribute:msg.payload};\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1040,
        "y": 560,
        "wires": [
            [
                "6c0aea3e.f0f174"
            ]
        ]
    },
    {
        "id": "f8b2ceb4.a6616",
        "type": "change",
        "z": "44e80111.ac11e",
        "name": "",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "0",
                "fromt": "str",
                "to": "1",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "null",
                "fromt": "str",
                "to": "2",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 570,
        "y": 360,
        "wires": [
            [
                "909e46ed.724588"
            ]
        ]
    },
    {
        "id": "ba958471.ac2088",
        "type": "switch",
        "z": "44e80111.ac11e",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "0",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "1",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "2",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "null",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 4,
        "x": 390,
        "y": 380,
        "wires": [
            [
                "f8b2ceb4.a6616"
            ],
            [
                "5f9ce31e.0c596c"
            ],
            [
                "5f9ce31e.0c596c"
            ],
            [
                "f8b2ceb4.a6616"
            ]
        ]
    },
    {
        "id": "5f9ce31e.0c596c",
        "type": "change",
        "z": "44e80111.ac11e",
        "name": "",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "1",
                "fromt": "str",
                "to": "0",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "2",
                "fromt": "str",
                "to": "1",
                "tot": "num"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 550,
        "y": 400,
        "wires": [
            [
                "ec4afccb.d07b9"
            ]
        ]
    },
    {
        "id": "ec4afccb.d07b9",
        "type": "rbe",
        "z": "44e80111.ac11e",
        "name": "",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "property": "payload",
        "x": 710,
        "y": 400,
        "wires": [
            [
                "139c1486.c009cb"
            ]
        ]
    },
    {
        "id": "cb41784e.eb4c",
        "type": "change",
        "z": "44e80111.ac11e",
        "name": "",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "0",
                "fromt": "str",
                "to": "1",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "null",
                "fromt": "str",
                "to": "2",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 570,
        "y": 460,
        "wires": [
            [
                "a010b700.8cb068"
            ]
        ]
    },
    {
        "id": "e706ba28.17996",
        "type": "switch",
        "z": "44e80111.ac11e",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "0",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "1",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "2",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "null",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 4,
        "x": 390,
        "y": 480,
        "wires": [
            [
                "cb41784e.eb4c"
            ],
            [
                "e59a2d26.43001"
            ],
            [
                "e59a2d26.43001"
            ],
            [
                "cb41784e.eb4c"
            ]
        ]
    },
    {
        "id": "e59a2d26.43001",
        "type": "change",
        "z": "44e80111.ac11e",
        "name": "",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "1",
                "fromt": "str",
                "to": "0",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "2",
                "fromt": "str",
                "to": "1",
                "tot": "num"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 550,
        "y": 500,
        "wires": [
            [
                "bf6399f0.a24e8"
            ]
        ]
    },
    {
        "id": "bf6399f0.a24e8",
        "type": "rbe",
        "z": "44e80111.ac11e",
        "name": "",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "property": "payload",
        "x": 710,
        "y": 500,
        "wires": [
            [
                "563c5b3b.d0d0c4"
            ]
        ]
    },
    {
        "id": "47566299.568724",
        "type": "change",
        "z": "44e80111.ac11e",
        "name": "",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "0",
                "fromt": "str",
                "to": "1",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "null",
                "fromt": "str",
                "to": "2",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 570,
        "y": 560,
        "wires": [
            [
                "50bb2281.157e4c"
            ]
        ]
    },
    {
        "id": "7fc3f740.f260b",
        "type": "switch",
        "z": "44e80111.ac11e",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "0",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "1",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "2",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "null",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 4,
        "x": 390,
        "y": 580,
        "wires": [
            [
                "47566299.568724"
            ],
            [
                "ec6bfb0e.2008b8"
            ],
            [
                "ec6bfb0e.2008b8"
            ],
            [
                "47566299.568724"
            ]
        ]
    },
    {
        "id": "ec6bfb0e.2008b8",
        "type": "change",
        "z": "44e80111.ac11e",
        "name": "",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "1",
                "fromt": "str",
                "to": "0",
                "tot": "num"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "2",
                "fromt": "str",
                "to": "1",
                "tot": "num"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 550,
        "y": 600,
        "wires": [
            [
                "bee9e771.73987"
            ]
        ]
    },
    {
        "id": "bee9e771.73987",
        "type": "rbe",
        "z": "44e80111.ac11e",
        "name": "",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "property": "payload",
        "x": 710,
        "y": 600,
        "wires": [
            [
                "819d50be.08e8"
            ]
        ]
    }
]
2 „Gefällt mir“

Den „Wallmote by Micha“ habe ich gefunden.

Ich bekomme es mal wieder nicht hin, den Wert payload.event.value_raw am Debug 49 (bzw. Ausgang )am Switch WhichKeyWasPressed? an das Homee device weiter zu geben.


event.value_raw:
0=Keypressed
2= KeyHeldDown
1= KeyReleased

Tante Edit: Habe ganz vergessen den Flow dranzuhängen.
Hier ist er

KeeFob2Homee.json.pdf (8,6 KB)
grafik
grafik
grafik

Hallo zusammen, ich musst meinen Rapsi mal neu aufsetzen.
Nachdem jetzt eigentlich alles wieder läuft habe ich im Node-Red festgestellt, dass einige funktions-node als ungültige Nodes angezeigt werden.

Das erste ist das Funktions-Node bei der Fensterabfrage. Der Flow lief bislang ohne Probleme. Weiß jemand zufällig, ob sich bei node-red etwas geändert hat. Trotz Suche auf github konnte ich nichts dem Fehler zuordnen. Bei der Fensterabfrage wird der Fehler bei folgender Zeile angezeigt:

case 0 : variable = „geschlossen“;

Hier der vollständige Flow
Fensterabfrage.pdf (1,8 KB)

1 „Gefällt mir“

Kannst du mir mal die Node red Version benennen?

Das problem in deiner Funktion ist das die variablen nicht deklariert sind.
Es sind zwei variable n die du noch deklarieren musst

var variable ;
var komponente;

Du kannst auch let als Deklaration nehmen.

if (msg.payload.homeegram && msg.payload.homeegram.id === 24 && msg.payload.homeegram.play === 0){flow.set("state", 0)}
var state = flow.get("state")||0;
if ((msg.payload.homeegram && msg.payload.homeegram.id === 24 && msg.payload.homeegram.play === 1 && state === 0)||msg.payload === true){
    flow.set("state",1);
    const attributes = global.get('homee.attributes');
    const nodes = global.get('homee.nodes');
    var ausgabe = "";
    let variable;
    var test = attributes.filter(attribute => ((attribute.type === 10)||(attribute.type === 14)) && ((attribute.current_value ===1)||(attribute.current_value === 2)) )//.map(a => a.current_value).reduce((a,c) => a+c);
    test.forEach(function(id){
        if(id.id === 0){return}// hier kommt die Attribut ID hin die gefiltert werden soll
        switch (id.current_value){
        case 0 : variable = "geschlossen";
        break;
        case 1 : variable = "geöffnet";
        break;
        case 2 : variable = "gekippt";
        break
    }
    let komponente;
    var nodename = nodes.filter(node => node.id === id.node_id ).map(a => a.name)
    komponente = " "+decodeURIComponent(nodename) +" ist "+ variable+" ";
    if(ausgabe.length > 1 ){ausgabe =ausgabe + "und"}
    ausgabe = ausgabe+komponente 
    });
    node.send({payload: ausgabe})    
    var test2 = attributes.filter(attribute => (attribute.type === 10)||(attribute.type === 14)).map(a => a.current_value).reduce((a,c) => a+c);
    if (test2===0){return}
    return 
}
return 

Kommt mir sehr bekannt vor diese Funktion :rofl: , ist bei mir täglich im Einsatz beim verlassen des Objektes.

Es gab eine Änderung in Node Red was diese nachträgliche Deklaration nötig gemacht hat.
Die alten Versionen haben das ohne Deklaration akzeptiert.

Hier ist eine Alternative Funktion die nur die Sensoren aus einer Gruppe abfragt ,
das ist nötig wenn du Kontaktsensoren auch für andere Sachen nutzt ausser zur Fensterüberwachung.
Auch ist hier die Ansicht besser aufgeteilt in gekippt und geöffnet.

const attributes = global.get('homee.attributes');
const nodes = global.get('homee.nodes');
const relationships = global.get("homee.relationships");
var geschlossen ="" ;
var geoeffnet = "";
var gekippt ="";
var zaehlergeoeffnet=0;
var zaehlergeschlossen=0;
var zaehlergekippt=0;
var groups = relationships.filter(relationships => relationships.group_id == 59)
if(((msg.payload.attribute && ((msg.payload.attribute.type ===10)||(msg.payload.attribute.type ===14)))||msg.payload===true)||msg.payload === true){

groups.forEach(function(nodeid){
        name = nodes.filter(nodes => nodes.id === nodeid.node_id ).map(a => a.name);
        komponente = decodeURIComponent(name);
        var State = attributes.filter(attribute => attribute.node_id === nodeid.node_id && ((attribute.type === 10)||(attribute.type ===14))).map(a => a.current_value)
        var State1 = State[0]
if(State[0] === 1 ) {if(geoeffnet.length > 1 ){geoeffnet =geoeffnet + "\n"}geoeffnet = geoeffnet +" "+ komponente + " ";zaehlergeoeffnet++}
if(State[0] === 0 ) {if(geschlossen.length > 1 ){geschlossen =geschlossen + "\n"}geschlossen = geschlossen +" "+ komponente + " ";zaehlergeschlossen++}
if(State[0] === 2 ) {if(gekippt.length > 1 ){gekippt =gekippt + "\n"}gekippt = gekippt +" "+ komponente + " ";zaehlergekippt++}
if (geschlossen.length <1){geschlossen=0}})
node.status({fill:"green",shape:"ring",text:`Geschlossen: ${zaehlergeschlossen}  Geöffnet:${zaehlergeoeffnet}  Gekippt ${zaehlergekippt}`})
return{"payload":{"Geschlossen":{"Anzahl":zaehlergeschlossen,"Geraete":geschlossen},"Geoeffnet":{"Anzahl":zaehlergeoeffnet,"Geraete":geoeffnet},"Gekippt":{"Anzahl":zaehlergekippt,"Geraete":gekippt}}}
}

Da musst du dann jedoch die Relationships noch vom homee ziehen, das macht das API Node nicht.

3 „Gefällt mir“

Danke @ Micha. Das Deklarieren hat geholfen.
Ich hab node-red über Iobroker installiert. Node-Redf selbst hat jetzt die Version 3.1.0.
Interessant ist, dass der Flow weiterhin auch ohne die Deklaration funktioniert hat. Man verliert nur irgendwann den Überblick, wenn ständig Fehler-Meldungen im Log bzw. im Debug auflaufen.
Jetzt scheint wieder alles sauber zu laufen. Danke!!!

Stammt alles noch aus der Anfangszeit der „Integration“ node-red + homee. Und läuft super. :muscle:

2 „Gefällt mir“

Hallo @thampp bzw. Gruß an die Community,
verwendet einer von Euch den Flow von @thampp ?

In seinem Flow muss man die Device-ID der Lampen in der INIT-Function eintragen.

Wie komme ich an die ran? Beim Fetch Lights bekomme ich nur die Unique-ID:

Bild3

Vielleicht kann mir einer einen Tipp geben? Wäre klasse!

Danke Gruß Ralf

Hallo Ralf -
erst mal Entschuldigung, dass ich nicht früher geantwortet habe. Bei deinem ersten Direktkontakt war ich im Urlaub und dann ist die Benachrichtigung im Trubel nach der Rückkehr untergegangen.

Jetzt zu deinem Problem:
Diese IDs sind spezifisch für das NodRed Modul Huemagic in der Version 4. In v4 werden die ausgesendet in dem msg Objekt mit das die blauen HueLight Nodes als output senden. Meine Logik in „Rückkanal“ empfängt dieses msg Objekt und sucht dann den entsprechenden Konfigeintrag im lightDefsArray für die Lampe mittels var lightDef = lightDefsArray.find(element => element.hueDeviceId == msg.info.deviceId);
image
Du könntest die IDs deiner Lampen also z.b. über einen Debug node ausgeben.

Aber jetzt Achtung bevor du vorschnell Zeit investierst
Ich selbst verwende die Version 4 von HueMagic nicht mehr. Der Grund ist der Fehler der unten im Git beklagt wird. Wie viele andere bin ich wieder zurück auf HueMagic v3. Und in v3 braucht man diese neuen langen v4 deviceids nicht. Da senden die HueLights Nodes eine kurze id (bei mir sind das Zahlen zwischen 1 und 6) zur Identifikation der Lampe. Die kurze id bekommt man aus dem HueAPI oder eben auch mit einem Debug node. Die Zeile in „Rückkanal“ ist für v3 entsprechend dann:
var lightDef = lightDefsArray.find(element => element.hueId == msg.info.id);

Ich hoffe das hilft ein wenig Klarheit zu schaffen. Wenn du schon auf HueMagic v4 bist, dann ist der Downgrade auf v3 ein eigenes Abenteuer :slight_smile: Wie das geht, steht auch in dem Git issue.

2 „Gefällt mir“