Mal wieder virtuelle Geräte - jetzt aber richtig!

Habs inzwischen ja auf Sensoren umgestellt was für den Anwendungsfall ja sinnvoller ist.

Guck mal zwei Posts über deinem. Da ist noch ein Screenshot meines Versuchs nen Doppelschalter zu machen. Interessiert mich schon wie das geht. Für die Zukunft.

Hast du vielleicht auch ne Lösung für mein hier beschriebenes Problem?

Hast Du für jeden Schalter eine eigene Instanz Nummer vergeben, also Schalter 1 Instanz 1, Schalter 2 Instanz 2?

1 „Gefällt mir“

Wo meinst du? Bei den homee-Gerätenodes? Da hab ich alles so eingestellt wie auf dem Screenshot oben zu sehen. Wo vergebe ich denn die Instanznummern?

Du musst neben dem Attribut auf den Stift klicken und dort die Instanzen hochzählen wenn du gleiche Attribute verwendest.

2 „Gefällt mir“

Ah, jetzt hab ichs gefunden. Danke euch. Hat geklappt. :slightly_smiling_face:

Und gleich mal die HGs aufgesetzt, die mich warnen wenn der Zustand länger als 10 Minuten offen ist.

Hier am Beispiel vom Kofferraum:

Leider scheint es in der aktuellen Version einen Bug bzgl. Ausführen der Webhooks zu geben. Hab hier mal ein Ticket für den @Support erstellt.

@Micha:
Ich habe auch nochmal eine Frage zu einem Flow, der aus deiner Feder stammt soweit ich weiss.
Bei dem Flow erhalte ich eine Push Benachrichtigung, wenn noch eine Tür oder ein Fenster geöffnet sind sobald ich meine Haustür öffne. Der Flow beinhaltet auch die Möglichkeit eine ID zu filtern, die nicht in der Push angezeigt wird. Das ist bei mir natürlich die Haustür. Funktioniert aber leider nicht. Ich erhalte immer die Meldung, dass neben den anderen Fenstern und Türen auch die Haustür geöffnet wurde.

Hier ist der Flow, den ich verwendet habe.

Ich ersetze die ID „0“ durch die meiner Haustür, was leider nicht funktioniert. Hast du hier eine Idee?

Welche Id hast du da genommen ? Es muss die Attribute Id des Sensors sein.
Ich schaue mir aber gerne den Flow nochmal an.

Tausend Dank Micha. :muscle:
Genau das war das Problem. Ich hatte die ID des Geräts eingetragen und nicht des Türsensors.

1 „Gefällt mir“

Super dann brauche ich da nicht nochmal drüber schauen.:+1::wink:

Hallo Leute,

ich versuche gerade meine HUE Leuchtmittel via vhih zu Integrieren, scheiter allerdings an den Leuchtmitteln mit Farbtemperatur und Farbe. Es funktioniert alles alles außer die Einstellung der Farbe und Farbtemperatur. Vielleicht findet jemand meinen Fehler:

[
    {
        "id": "257cdc07.ee733c",
        "type": "tab",
        "label": "Hue Schlafzimmer Indirekt",
        "disabled": false,
        "info": ""
    },
    {
        "id": "448714ea.09835c",
        "type": "comment",
        "z": "257cdc07.ee733c",
        "name": "Node ID 40",
        "info": "40",
        "x": 160,
        "y": 180,
        "wires": []
    },
    {
        "id": "4ebcaeaf.7b0078",
        "type": "homeeDevice",
        "z": "257cdc07.ee733c",
        "virtual-homee": "",
        "name": "Hue Schlafzimmer Indirekt",
        "nodeId": "40",
        "showNodeId": true,
        "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": "",
                "id": 40,
                "type": 1,
                "node_id": 40
            },
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 100,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "unit": "n%2Fa",
                "step_value": 1,
                "editable": 1,
                "state": 1,
                "last_changed": 12345555,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "id": 41,
                "type": 2,
                "node_id": 40
            },
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 8000,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "unit": "K",
                "step_value": 1,
                "editable": 1,
                "state": 1,
                "last_changed": 12345555,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "id": 42,
                "type": 42,
                "node_id": 40
            },
            {
                "state": 1,
                "instance": 0,
                "minimum": 0,
                "maximum": 16777215,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "data": "",
                "unit": "",
                "step_value": 1,
                "editable": 1,
                "last_changed": 1603024039,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "options": [],
                "id": 43,
                "type": 23,
                "node_id": 40
            }
        ],
        "statusTemplate": "",
        "x": 150,
        "y": 220,
        "wires": [
            [
                "91cf23a9.4ac23"
            ]
        ]
    },
    {
        "id": "91cf23a9.4ac23",
        "type": "function",
        "z": "257cdc07.ee733c",
        "name": "RGB Funktion",
        "func": "if (msg.payload.attributeId === 43){\nvar zahl= msg.payload.targetValue;\nvar ausgabe =\"\";\nrest(i = zahl%16);\nzahl6 = ausgabe;\nzahl = Math.floor(zahl/16);\nrest(i = zahl%16);\nzahl5 = ausgabe;\nzahl = Math.floor(zahl/16);\nrest(i = zahl%16);\nzahl4 = ausgabe;\nzahl = Math.floor(zahl/16);\nrest(i = zahl%16);\nzahl3 = ausgabe;\nzahl = Math.floor(zahl/16);\nrest(i = zahl%16);\nzahl2 = ausgabe;\nzahl = Math.floor(zahl/16);\nrest(i = zahl);\nzahl1 = ausgabe;\n\nausgabe2 = zahl1+zahl2+zahl3+zahl4+zahl5+zahl6;\n    node.send({payload:{\"hex\":ausgabe2}});\n}\n\nfunction rest(){\n    switch(i)\n\t\t{\n\t\t    \n\t\tcase 1: ausgabe =\"1\";break;\n\t\tcase 2: ausgabe =\"2\";break;\n\t\tcase 3: ausgabe = \"3\";break;\n\t\tcase 4: ausgabe= \"4\";break;\n\t\tcase 5: ausgabe= \"5\";break;\n\t\tcase 6: ausgabe = \"6\";break;\n\t\tcase 7: ausgabe =\"7\";break;   \n\t\tcase 8: ausgabe = \"8\";break;\n\t\tcase 9: ausgabe = \"9\";break;\n\t\tcase 10: ausgabe =\"A\"; break;\n\t\tcase 11: ausgabe = \"B\"; break;\n\t\tcase 12: ausgabe  = \"C\"; break;\n\t\tcase 13: ausgabe =\"D\"; break;\n\t\tcase 14: ausgabe =\"E\"; break;\n\t\tcase 15: ausgabe =\"F\"; break;\n}}\n\nif (msg.payload.attributeId === 40){node.send({payload:{\"on\":msg.payload.targetValue}})}\nif (msg.payload.attributeId === 41){node.send({payload:{\"brightness\":msg.payload.targetValue}})}\nif (msg.payload.attributeId === 42){node.send({payload:{\"colorTemp\":msg.payload.targetValue}})}\n",
        "outputs": 1,
        "noerr": 0,
        "x": 400,
        "y": 220,
        "wires": [
            [
                "b1e3c0e7.679768",
                "6431f532.4f8d2c",
                "e8e79cb0.925e28"
            ]
        ]
    },
    {
        "id": "ed04f6e5.a9f948",
        "type": "switch",
        "z": "257cdc07.ee733c",
        "name": "",
        "property": "payload.reachable",
        "propertyType": "msg",
        "rules": [
            {
                "t": "true"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 850,
        "y": 220,
        "wires": [
            [
                "aef4355f.1260c8"
            ]
        ]
    },
    {
        "id": "aef4355f.1260c8",
        "type": "function",
        "z": "257cdc07.ee733c",
        "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\":40,\"value\":msg.payload.on}})\nnode.send({payload:{\"id\":41,\"value\":msg.payload.brightness}})\nnode.send({payload:{\"id\":42,\"value\":msg.payload.colorTemp}})\nif( msg.payload.hex){\nvar test = msg.payload.hex.split('');\nvar ausgabe = \"\";\numr(i = test[5]);\nZahl1 = ausgabe*1;\numr(i = test[4]);\nZahl2 = ausgabe*16;\numr(i = test[3]);\nZahl3 = ausgabe*256;\numr(i = test[2]);\nZahl4 = ausgabe*4096;\numr(i = test[1]);\nZahl5 = ausgabe*65536;\numr(i = test[0]);\nZahl6 = ausgabe*1048576;\nnode.send({payload: {\"id\":43,\"value\":Zahl1+Zahl2+Zahl3+Zahl4+Zahl5+Zahl6}})}\nfunction umr(){\n    switch(i){\n\t\tcase \"1\": ausgabe =1;break;\n\t\tcase \"2\": ausgabe =2;break;\n\t\tcase \"3\": ausgabe = 3;break;\n\t\tcase \"4\": ausgabe= 4;break;\n\t\tcase \"5\": ausgabe= 5;break;\n\t\tcase \"6\": ausgabe = 6;break;\n\t\tcase \"7\": ausgabe =7;break;   \n\t\tcase \"8\": ausgabe = 8;break;\n\t\tcase \"9\": ausgabe = 9;break;\n\t\tcase \"a\": ausgabe =10; break;\n\t\tcase \"b\": ausgabe = 11; break;\n\t\tcase \"c\": ausgabe  = 12; break;\n\t\tcase \"d\": ausgabe =13; break;\n\t\tcase \"e\": ausgabe =14; break;\n\t\tcase \"f\": ausgabe =15; break;\n}}",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 1070,
        "y": 220,
        "wires": [
            [
                "4ebcaeaf.7b0078"
            ]
        ]
    },
    {
        "id": "b1e3c0e7.679768",
        "type": "hue-light",
        "z": "257cdc07.ee733c",
        "name": "Schlafzimmer Indirekt 1",
        "bridge": "46dbbbeb.8538f4",
        "lightid": "14",
        "colornamer": true,
        "skipevents": false,
        "universalevents": false,
        "x": 610,
        "y": 220,
        "wires": [
            [
                "ed04f6e5.a9f948"
            ]
        ]
    },
    {
        "id": "6431f532.4f8d2c",
        "type": "hue-light",
        "z": "257cdc07.ee733c",
        "name": "Schlafzimmer Indirekt 2",
        "bridge": "46dbbbeb.8538f4",
        "lightid": "5",
        "colornamer": true,
        "skipevents": false,
        "universalevents": false,
        "x": 610,
        "y": 180,
        "wires": [
            [
                "ed04f6e5.a9f948"
            ]
        ]
    },
    {
        "id": "e8e79cb0.925e28",
        "type": "hue-light",
        "z": "257cdc07.ee733c",
        "name": "Schlafzimmer Indirekt 3",
        "bridge": "46dbbbeb.8538f4",
        "lightid": "4",
        "colornamer": true,
        "skipevents": false,
        "universalevents": false,
        "x": 610,
        "y": 140,
        "wires": [
            [
                "ed04f6e5.a9f948"
            ]
        ]
    },
    {
        "id": "46dbbbeb.8538f4",
        "type": "hue-bridge",
        "z": "257cdc07.ee733c",
        "name": "Philips hue",
        "bridge": "192.168.178.20",
        "key": "p3Qzq7eQT5-RXHdMvGZqDdFGl5zgyvoLkB1xKGRk",
        "interval": "3000",
        "disableupdates": false
    }
]

Ich hatte den Flow von @stfnhmplr von GitHub kopiert:

Vielen Dank und Liebe Grüße

Mir schießt es Node Red ab wenn ich den Flow importiere.
Schaue ich mir mal später an.

So habe mal geschaut und konnte feststellen das bestimmte Lampen auf den ColorTemp Wert nicht reagieren, da sie es nicht können. ( hue iris )
Wichtig ist auch die Range der ColorTemp. Bekommst du eine Fehlermeldung in Node Red ?
Kannst die Farbtemperatur ja mal über ein inject an das hue node senden.
msg.payload.colorTemp

@Micha:
Ich bräuchte mal wieder kurz deine Hilfe.

Ich hab für den Verriegelungszustand der Schlösser auch noch ein Gerät angelegt.

Allerdings wird mir wenn alles verriegelt ist in homee Folgendes angezeigt:

In der iOS-App wird das Schloss-Icon zwar richtig angezeigt (geschlossen), aber der Zustand steht fälschlicherweise auf „Offen“:

In der Webapp wird mir ein Fehler angezeigt:

image

Hier meine Funktion:

Und hier die Konfiguration meines homee-Nodes:

image

Was mach ich da falsch?

Edit:
Hat sich erledigt. Habs selbst gefunden. Man muss das Attribut auf „Sperrzustand“ setzen. Nur das passt zum Schloss. Dann gehts auch:

image

image

1 „Gefällt mir“

So, ich hab da echt Gefallen dran gefunden und jetzt auch mal meine Siemens Kaffeemaschine (Home Connect) in homee eingebunden.

Benutzt hab ich dazu:

Hat wunderbar geklappt. Hier mein Flow:

[{"id":"1bd55ea3.4cf571","type":"tab","label":"Kaffeemaschine","disabled":false,"info":""},{"id":"39c82726.cc0e18","type":"home-connect-request","z":"1bd55ea3.4cf571","auth":"36ab1033.2965d","name":"","tag":"settings","operationId":"get_settings","haid":"","body":"","optionkey":"","programkey":"","settingkey":"","statuskey":"","imagekey":"","x":330,"y":240,"wires":[["64e08ea4.98f1a","9eff67ba.678b98"]]},{"id":"64e08ea4.98f1a","type":"debug","z":"1bd55ea3.4cf571","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":550,"y":300,"wires":[]},{"id":"85f7685a.933868","type":"inject","z":"1bd55ea3.4cf571","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"60","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":140,"y":240,"wires":[["39c82726.cc0e18"]]},{"id":"9eff67ba.678b98","type":"function","z":"1bd55ea3.4cf571","name":"","func":"if(msg.payload.data.settings[0].value ===\"BSH.Common.EnumType.PowerState.Standby\"){return {payload:{\"attribute\":{\"id\":991,\"value\":0}}}}\nelse \nreturn {payload:{\"attribute\":{\"id\":991,\"value\":1}}}\n\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":540,"y":240,"wires":[["ccfada91.361878"]]},{"id":"ccfada91.361878","type":"homeeDevice","z":"1bd55ea3.4cf571","virtual-homee":"","name":"Kaffeemaschine","nodeId":"990","showNodeId":false,"profile":"16","icon":"default","attributes":[{"state":1,"instance":0,"minimum":0,"maximum":1,"current_value":0,"target_value":0,"last_value":0,"data":"","unit":"","step_value":1,"editable":1,"last_changed":1603205694,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":991,"type":1,"node_id":990}],"statusTemplate":"","x":740,"y":240,"wires":[["d79f2214.8cf5b"]]},{"id":"d79f2214.8cf5b","type":"switch","z":"1bd55ea3.4cf571","name":"","property":"payload.targetValue","propertyType":"msg","rules":[{"t":"eq","v":"1","vt":"str"},{"t":"eq","v":"0","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":910,"y":240,"wires":[["1d47ff57.159a01"],["e2ae0d1f.f045d"]]},{"id":"1d47ff57.159a01","type":"home-connect-request","z":"1bd55ea3.4cf571","auth":"36ab1033.2965d","name":"turn_on","tag":"settings","operationId":"set_setting","haid":"","body":"{\n  \"data\": {\n    \"key\": \"BSH.Common.Setting.PowerState\",\n    \"value\": \"BSH.Common.EnumType.PowerState.On\",\n    \"type\": \"BSH.Common.EnumType.PowerState\",\n    \"constraints\": {\n      \"allowedvalues\": [\n        \"BSH.Common.EnumType.PowerState.On\",\n        \"BSH.Common.EnumType.PowerState.Standby\"\n      ]\n    }\n  }\n}","optionkey":"","programkey":"","settingkey":"BSH.Common.Setting.PowerState","statuskey":"","imagekey":"","x":1080,"y":200,"wires":[[]]},{"id":"e2ae0d1f.f045d","type":"home-connect-request","z":"1bd55ea3.4cf571","auth":"36ab1033.2965d","name":"turn_off","tag":"settings","operationId":"set_setting","haid":"","body":"{\n  \"data\": {\n    \"key\": \"BSH.Common.Setting.PowerState\",\n    \"value\": \"BSH.Common.EnumType.PowerState.Standby\",\n    \"type\": \"BSH.Common.EnumType.PowerState\",\n    \"constraints\": {\n      \"allowedvalues\": [\n        \"BSH.Common.EnumType.PowerState.On\",\n        \"BSH.Common.EnumType.PowerState.Standby\"\n      ]\n    }\n  }\n}","optionkey":"","programkey":"","settingkey":"BSH.Common.Setting.PowerState","statuskey":"","imagekey":"","x":1080,"y":260,"wires":[[]]},{"id":"36ab1033.2965d","type":"home-connect-auth","z":"","name":"","simulation_mode":false,"scope":"","callback_url":"http://192.168.178.50:1880/homeconnect/auth/callback"}]

Und in homee:

image

@Micha:
Bei Interesse kann der Flow gerne zu den Beispielflows in GitHub hinzugefügt werden.

1 „Gefällt mir“

Besteht auch Interesse an meinem BMW-Flow? Dann würde ich den auch für GitLab bereitstellen?

Muss ihn nur vorher von meinen Daten bereinigen.

Ist schon klasse. Hab dank vhih jetzt in wenigen Tagen 17 neue Geräte anlernen können (SONOS, Smart Life Plugs, Husqvarna Automower, Siemens Kaffeemaschine, BMW). Zusätzlich noch die Anwesenheit meiner Frau und mir via Fritz!Box-Flow und den homee-Status.

Als nächstes werd ich die Aqara-Sensoren versuchen einzubinden.

1 „Gefällt mir“

Wenn du flows hast die eingestellt werden sollen dann sende sie @medicus07 oder @stfnhmplr bzw. auch mir per PN.

VG Micha

Ok, erledigt. Hab euch mal beide Flows geschickt.

So wie ich das sehe sind keine sensiblen Daten mehr drin. Könntet aber sicherheitshalber noch mal drüber schauen.

1 „Gefällt mir“

Also falls jemand über dieselbe Herausforderung stolpert, wie ich, die Homematic IP Geräte über die CCU einzubinden, hier die Flows für das Raumthermostat und das Heizungsthermostat. Endlich geschafft :muscle:t2:

Raumthermostat WTH-2

[{"id":"895ec120.51cab","type":"homeeDevice","z":"c7696333.f10fe","virtual-homee":"","name":"Raumthermostat Template","nodeId":"","showNodeId":true,"profile":"3004","icon":"default","attributes":[{"state":1,"instance":0,"minimum":0,"maximum":100,"current_value":0,"target_value":0,"last_value":0,"data":"","unit":"n/a","step_value":1,"editable":1,"last_changed":1603229606,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":40,"type":2,"node_id":null},{"state":1,"instance":0,"minimum":0,"maximum":28,"current_value":0,"target_value":0,"last_value":0,"data":"","unit":"°C","step_value":0.5,"editable":1,"last_changed":1603229612,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":41,"type":6,"node_id":null},{"state":1,"instance":0,"minimum":-50,"maximum":125,"current_value":0,"target_value":0,"last_value":0,"data":"","unit":"°C","step_value":0.5,"editable":0,"last_changed":1603229617,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":42,"type":5,"node_id":null},{"state":1,"instance":0,"minimum":0,"maximum":100,"current_value":0,"target_value":0,"last_value":0,"data":"","unit":"n/a","step_value":1,"editable":0,"last_changed":1603229636,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":43,"type":7,"node_id":null},{"state":1,"instance":0,"minimum":0,"maximum":1,"current_value":0,"target_value":0,"last_value":0,"data":"","unit":"n/a","step_value":1,"editable":0,"last_changed":1603229641,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":44,"type":69,"node_id":null}],"statusTemplate":"","x":640,"y":400,"wires":[[]]}]

Heizungsthermostat eTRV2

[{"id":"4410fad0.dc0d14","type":"homeeDevice","z":"c7696333.f10fe","virtual-homee":"","name":"Heizung","nodeId":"60","showNodeId":true,"profile":"3006","icon":"default","attributes":[{"state":1,"instance":0,"minimum":0,"maximum":100,"current_value":0,"target_value":0,"last_value":0,"data":"","unit":"n/a","step_value":1,"editable":1,"last_changed":1603229606,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":60,"type":2,"node_id":60},{"state":1,"instance":0,"minimum":0,"maximum":28,"current_value":0,"target_value":0,"last_value":0,"data":"","unit":"°C","step_value":0.5,"editable":1,"last_changed":1603229612,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":61,"type":6,"node_id":60},{"state":1,"instance":0,"minimum":0,"maximum":1,"current_value":0,"target_value":0,"last_value":0,"data":"","unit":"n/a","step_value":1,"editable":0,"last_changed":1603229641,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":64,"type":69,"node_id":60},{"state":1,"instance":0,"minimum":0,"maximum":100,"current_value":0,"target_value":0,"last_value":0,"data":"","unit":"n/a","step_value":1,"editable":1,"last_changed":1603230319,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":63,"type":18,"node_id":60},{"state":1,"instance":0,"minimum":-50,"maximum":125,"current_value":0,"target_value":0,"last_value":0,"data":"","unit":"°C","step_value":0.5,"editable":0,"last_changed":1603232418,"changed_by":1,"changed_by_id":0,"based_on":1,"options":[],"id":62,"type":5,"node_id":60}],"statusTemplate":"","x":750,"y":1680,"wires":[["d30d7a19.99b448"]]}]
1 „Gefällt mir“

Hallo Micha, hast Du mal einen Tipp für mich, wie ich die verschiedenen Sender rein bekomme. Das verstehe ich irgendwie nicht so ganz… Habe zum Beispiel 1Live, WDR2, Charivari. Gruß und Dank :slight_smile: