Mal wieder virtuelle Geräte - jetzt aber richtig!

ich gebe es auf - es muss etwas mit dem Update auf 0.9.0 zu tun haben - es funktioniert ja kein Gerät mit Rückkanal oder sind die Flow´s von GitHub nun alle nicht mehr zu gebrauchen?

Dieser Syntax ist falsch das Payload muss in einer doppelten geschweiften Klammer stehen wenn du das im Template node verwendest.

1 „Gefällt mir“

Auch dir danke für deine Hilfe

Ich habe jetzt dieses Syntax, (wie im Fußtext) und es funktioniert noch immer nicht. Aber ich denke noch immer das etwas beim Update schief gelaufen ist. Meine ganzen Lampen von Hue, Sonos und der Bewegungsmelder von hue funktioniert nicht. (im Rückkanal)

Wenn mir wer sagen könnte ob die flows auf dieser Seite https://github.com/homeean/node-red-contrib-homee-flows nicht mehr funktionieren weil sich der Syntax geändert dann, dann könnte ich weitersuchen.

{’attribute’:{’id’:10002,’value’:{{payload}} }}

Die Flows haben fast alle den alten Syntax.
Hat keiner weiter gepflegt und geändert.

Schade, gibt’s noch einen Hue Flow der funktioniert? Ich hätte jetzt einen vom Sept 20 probiert, wobei der Rückkanal leider auch nicht funktioniert. Bleibt wohl nichts anders übrig als sich von Homee zu verabschieden…

[
    {
        "id": "3280af50.0c2cc",
        "type": "function",
        "z": "d0bbe33a.4bc43",
        "name": "Rückkanal on off mit Hex",
        "func": "if (msg.payload.on === true ){msg.payload.on =1}else msg.payload.on=0; \nnode.send({payload:{\"id\":60,\"value\":msg.payload.on}})\nnode.send({payload:{\"id\":61,\"value\":msg.payload.brightness}})\nnode.send({payload:{\"id\":62,\"value\":msg.payload.colorTemp}})\nnode.send({payload:{\"id\":64,\"value\":msg.payload.rgb[0]}})\nnode.send({payload:{\"id\":65,\"value\":msg.payload.rgb[1]}})\nnode.send({payload:{\"id\":66,\"value\":msg.payload.rgb[2]}})\n\n\nif( msg.payload.hex){\n\nnode.send({payload: {\"id\":63,\"value\": parseInt(msg.payload.hex,16)}})}\n",
        "outputs": 1,
        "noerr": 0,
        "x": 1150,
        "y": 380,
        "wires": [
            [
                "fae41ab.39e87e8"
            ]
        ]
    },
    {
        "id": "e80a48fe.ac44a8",
        "type": "switch",
        "z": "d0bbe33a.4bc43",
        "name": "",
        "property": "payload.reachable",
        "propertyType": "msg",
        "rules": [
            {
                "t": "true"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 970,
        "y": 380,
        "wires": [
            [
                "3280af50.0c2cc"
            ]
        ]
    },
    {
        "id": "fae41ab.39e87e8",
        "type": "homeeDevice",
        "z": "d0bbe33a.4bc43",
        "virtual-homee": "",
        "name": "Hue Strip Wohnen ",
        "nodeId": "60",
        "profile": "1002",
        "icon": "",
        "attributes": "[{\"id\":60,\"node_id\":60,\"instance\":0,\"minimum\":0,\"maximum\":1,\"current_value\":0,\"target_value\":0,\"last_value\":0,\"unit\":\"\",\"step_value\":1,\"editable\":1,\"type\":1,\"state\":1,\"last_changed\":12345555,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":1,\"data\":\"\"},{\"id\":61,\"node_id\":60,\"instance\":0,\"minimum\":0,\"maximum\":100,\"current_value\":0,\"target_value\":0,\"last_value\":0,\"unit\":\"%25\",\"step_value\":1,\"editable\":1,\"type\":2,\"state\":1,\"last_changed\":12345555,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":1,\"data\":\"\"},{\"id\":62,\"node_id\":60,\"instance\":0,\"minimum\":153,\"maximum\":500,\"current_value\":153,\"target_value\":0,\"last_value\":0,\"unit\":\"K\",\"step_value\":1,\"editable\":1,\"type\":42,\"state\":1,\"last_changed\":12345555,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":1,\"data\":\"\"},{\"id\":63,\"node_id\":60,\"instance\":0,\"minimum\":0,\"maximum\":16777215,\"current_value\":0,\"target_value\":0,\"last_value\":0,\"unit\":\"\",\"step_value\":1,\"editable\":1,\"type\":23,\"state\":1,\"last_changed\":12345555,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":1,\"data\":\"7001020%3B16419669%3B12026363%3B16525995\"},{\"id\":64,\"node_id\":60,\"instance\":1,\"minimum\":0,\"maximum\":255,\"current_value\":0,\"target_value\":0,\"last_value\":0,\"unit\":\"RED\",\"step_value\":1,\"editable\":1,\"type\":2,\"state\":1,\"last_changed\":12345555,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":1,\"data\":\"\"},{\"id\":65,\"node_id\":60,\"instance\":2,\"minimum\":0,\"maximum\":255,\"current_value\":0,\"target_value\":0,\"last_value\":0,\"unit\":\"Green\",\"step_value\":1,\"editable\":1,\"type\":2,\"state\":1,\"last_changed\":12345555,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":1,\"data\":\"\"},{\"id\":66,\"node_id\":60,\"instance\":3,\"minimum\":0,\"maximum\":255,\"current_value\":0,\"target_value\":0,\"last_value\":0,\"unit\":\"BLUE\",\"step_value\":1,\"editable\":1,\"type\":2,\"state\":1,\"last_changed\":12345555,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":1,\"data\":\"\"}]",
        "x": 150,
        "y": 380,
        "wires": [
            [
                "13ed7fe9.7e1d5"
            ]
        ]
    },
    {
        "id": "13ed7fe9.7e1d5",
        "type": "function",
        "z": "d0bbe33a.4bc43",
        "name": "RGB Funktion",
        "func": "if (msg.payload.attributeId === 64){flow.set(\"red\",msg.payload.targetValue)}\nif (msg.payload.attributeId === 65){flow.set(\"green\",msg.payload.targetValue)}\nif (msg.payload.attributeId === 66){flow.set(\"blue\",msg.payload.targetValue)}\nvar red = flow.get(\"red\")||0;\nvar green = flow.get(\"green\")||0;\nvar blue = flow.get(\"blue\")||0;\nif (msg.payload.attributeId === 63){\n     var ausgabe = Math.abs(msg.payload.targetValue).toString(16)\n    node.send({payload:{\"hex\":ausgabe}});\n}\n\n\nif (msg.payload.attributeId === 60){node.send({payload:{\"on\":msg.payload.targetValue}})}\nif (msg.payload.attributeId === 61){node.send({payload:{\"brightness\":msg.payload.targetValue}})}\nif (msg.payload.attributeId === 62){node.send({payload:{\"colorTemp\":msg.payload.targetValue}})}\nif ((msg.payload.attributeId === 64)||(msg.payload.attributeId === 65)||(msg.payload.attributeId === 66)){node.send({payload:{rgb:{\"0\":red,\"1\":green,\"2\":blue}}})}",
        "outputs": 1,
        "noerr": 0,
        "x": 420,
        "y": 380,
        "wires": [
            []
        ]
    },
    {
        "id": "90388b42.f69038",
        "type": "comment",
        "z": "d0bbe33a.4bc43",
        "name": "hier kommt das hue Magic Node Lampe hin",
        "info": "",
        "x": 690,
        "y": 380,
        "wires": []
    }
]

Zu dir keinen Zwang an. Bei allen funktioniert es nur bei dir scheinbar nicht.
Ich denke du solltest deine Konfiguration mal genauer betrachten.

Du hattest das aber verstanden mit neuen syntax?

[
    {
        "id": "3280af50.0c2cc",
        "type": "function",
        "z": "b126e0a.aaeb12",
        "name": "Rückkanal on off mit Hex",
        "func": "if (msg.payload.on === true ){msg.payload.on =1}else msg.payload.on=0; \nnode.send({payload:{\"attribute\":{\"id\":60,\"value\":msg.payload.on}}})\nnode.send({payload:{\"attribute\":{\"id\":61,\"value\":msg.payload.brightness}}})\nnode.send({payload:{\"id\":62,\"value\":msg.payload.colorTemp}})\nnode.send({payload:{\"id\":64,\"value\":msg.payload.rgb[0]}})\nnode.send({payload:{\"id\":65,\"value\":msg.payload.rgb[1]}})\nnode.send({payload:{\"id\":66,\"value\":msg.payload.rgb[2]}})\n\n\nif( msg.payload.hex){\n\nnode.send({payload: {\"id\":63,\"value\": parseInt(msg.payload.hex,16)}})}\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 1090,
        "y": 340,
        "wires": [
            [
                "fae41ab.39e87e8"
            ]
        ]
    },
    {
        "id": "e80a48fe.ac44a8",
        "type": "switch",
        "z": "b126e0a.aaeb12",
        "name": "",
        "property": "payload.reachable",
        "propertyType": "msg",
        "rules": [
            {
                "t": "true"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 910,
        "y": 340,
        "wires": [
            [
                "3280af50.0c2cc"
            ]
        ]
    },
    {
        "id": "fae41ab.39e87e8",
        "type": "homeeDevice",
        "z": "b126e0a.aaeb12",
        "virtual-homee": "",
        "name": "Hue Strip Wohnen ",
        "nodeId": "60",
        "profile": "1002",
        "icon": "",
        "attributes": "[{\"id\":60,\"node_id\":60,\"instance\":0,\"minimum\":0,\"maximum\":1,\"current_value\":0,\"target_value\":0,\"last_value\":0,\"unit\":\"\",\"step_value\":1,\"editable\":1,\"type\":1,\"state\":1,\"last_changed\":12345555,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":1,\"data\":\"\"},{\"id\":61,\"node_id\":60,\"instance\":0,\"minimum\":0,\"maximum\":100,\"current_value\":0,\"target_value\":0,\"last_value\":0,\"unit\":\"%25\",\"step_value\":1,\"editable\":1,\"type\":2,\"state\":1,\"last_changed\":12345555,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":1,\"data\":\"\"},{\"id\":62,\"node_id\":60,\"instance\":0,\"minimum\":153,\"maximum\":500,\"current_value\":153,\"target_value\":0,\"last_value\":0,\"unit\":\"K\",\"step_value\":1,\"editable\":1,\"type\":42,\"state\":1,\"last_changed\":12345555,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":1,\"data\":\"\"},{\"id\":63,\"node_id\":60,\"instance\":0,\"minimum\":0,\"maximum\":16777215,\"current_value\":0,\"target_value\":0,\"last_value\":0,\"unit\":\"\",\"step_value\":1,\"editable\":1,\"type\":23,\"state\":1,\"last_changed\":12345555,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":1,\"data\":\"7001020%3B16419669%3B12026363%3B16525995\"},{\"id\":64,\"node_id\":60,\"instance\":1,\"minimum\":0,\"maximum\":255,\"current_value\":0,\"target_value\":0,\"last_value\":0,\"unit\":\"RED\",\"step_value\":1,\"editable\":1,\"type\":2,\"state\":1,\"last_changed\":12345555,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":1,\"data\":\"\"},{\"id\":65,\"node_id\":60,\"instance\":2,\"minimum\":0,\"maximum\":255,\"current_value\":0,\"target_value\":0,\"last_value\":0,\"unit\":\"Green\",\"step_value\":1,\"editable\":1,\"type\":2,\"state\":1,\"last_changed\":12345555,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":1,\"data\":\"\"},{\"id\":66,\"node_id\":60,\"instance\":3,\"minimum\":0,\"maximum\":255,\"current_value\":0,\"target_value\":0,\"last_value\":0,\"unit\":\"BLUE\",\"step_value\":1,\"editable\":1,\"type\":2,\"state\":1,\"last_changed\":12345555,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":1,\"data\":\"\"}]",
        "x": 90,
        "y": 340,
        "wires": [
            [
                "13ed7fe9.7e1d5"
            ]
        ]
    },
    {
        "id": "13ed7fe9.7e1d5",
        "type": "function",
        "z": "b126e0a.aaeb12",
        "name": "RGB Funktion",
        "func": "if (msg.payload.attributeId === 64){flow.set(\"red\",msg.payload.targetValue)}\nif (msg.payload.attributeId === 65){flow.set(\"green\",msg.payload.targetValue)}\nif (msg.payload.attributeId === 66){flow.set(\"blue\",msg.payload.targetValue)}\nvar red = flow.get(\"red\")||0;\nvar green = flow.get(\"green\")||0;\nvar blue = flow.get(\"blue\")||0;\nif (msg.payload.attributeId === 63){\n     var ausgabe = Math.abs(msg.payload.targetValue).toString(16)\n    node.send({payload:{\"hex\":ausgabe}});\n}\n\n\nif (msg.payload.attributeId === 60){node.send({payload:{\"on\":msg.payload.targetValue}})}\nif (msg.payload.attributeId === 61){node.send({payload:{\"brightness\":msg.payload.targetValue}})}\nif (msg.payload.attributeId === 62){node.send({payload:{\"colorTemp\":msg.payload.targetValue}})}\nif ((msg.payload.attributeId === 64)||(msg.payload.attributeId === 65)||(msg.payload.attributeId === 66)){node.send({payload:{rgb:{\"0\":red,\"1\":green,\"2\":blue}}})}",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 360,
        "y": 340,
        "wires": [
            []
        ]
    },
    {
        "id": "90388b42.f69038",
        "type": "comment",
        "z": "b126e0a.aaeb12",
        "name": "hier kommt das hue Magic Node Lampe hin",
        "info": "",
        "x": 630,
        "y": 340,
        "wires": []
    }
]

Schau dir bitte die Funktion mit dem Rückkanal an, dort habe ich dir das mal an zwei Stellen ergänz.
Du musst dann nur noch den Rest der Funktion genauso überarbeiten.

Danke, werd ich mir ansehen - bin einfach überarbeitet

1 „Gefällt mir“

Hier ist es nochmal schön erklärt

https://www.himpler.com/blog/node-red-homee-funktionen-fuer-virtuelle-geraete/

2 „Gefällt mir“

Die Anführungszeichen sind falsch. Es müssen " " sein, nicht ’ ’ .

1 „Gefällt mir“

Moin, hat noch jemand den Fall, dass die Alarme nicht gehen? Ich habe das Attribut 370 „Alarm Fehlfunktion“ mit dem Typen 70 bei dem Gerät Elektrische Heizung. Da habe ich testweise ein Inject mit dem folgenden JSON ausgeführt. Aber es kommt weder eine Fehler- noch Warnmeldung im vir. Knoten in NR. Im Tagebuch steht gar nix, so als käme es gar nicht an.

Die normalen Werte kommen auch bei diesem Gerät im homee an nur nicht der Alaram (auch wenn man data füllt, kommt es nicht an).


image

Hallo, ich würde gern den Philips Hue Outdoor Sensor Bewegungsmelder über Node-Red als virtuelles Gerät in homee einbinden. Ich habe den Bewegungsmelder bereits über die Hue-Bridge mit iobroker und dem „Philips Hue Extended“-Plugin eingebunden. Hat rein zufällig jemand einen bereits fertigen Flow zum importieren in Node-Red? Danke!

So, habe es jetzt mal selbst probiert.

ich bekomme aber folgende Fehlermeldung:

12

wie bekomme ich diese weg und kann ich den Bewegungsmelder auch irgendwie als Präzensmelder nutzen?

flows.json.pdf (7,1 KB)

Guck mal in meinen letzten Post etwas weiter oben. Da steht die Syntax, die du nehmen musst. :wink:

Habe es jetzt geändert
15

dafür kommt jetzt der Fehler:
14

Bin nicht am Rechner… probiere doch mal Number(data.celsius)…

1 „Gefällt mir“

so:
17

bekomme ich leider einen Fehler:
18

Number groß schreiben. Da sollte dann die Schrift auch rot werden.

2 „Gefällt mir“

Danke, jetzt funktioniert es ohne Fehler :grinning:

1 „Gefällt mir“

Hallo, ich habe einmal das Beispiel aus dem YouTube Channel (https://youtu.be/rfK5o1by84s) für meine Büro Jalousie implementiert.

Ich bekomme zwar die richtigen Werte raus, jedoch werde ich dann in Node-Red mit folgender Fehlermeldung der Function Node zugespammt:

24.5.2021, node: Status Buero Jalousie function : (error) "TypeError: Cannot read property ‚id‘ of undefined

Hat noch Jemand dieses Verhalten und weiß wie man das behebt?