Mal wieder virtuelle Geräte - jetzt aber richtig!

Ja das hatte ich ja bereits in meinem eingangspost erwähnt, dass beide Dimmschalter geändert werden. Die Frage von mir war ja, ob jemand eine Idee hat wie ich das umgehen kann?

Das ich zwei simms Halter verwende, ist ja schon nur eine Krücke, eben weil es den Schalter für saturation nicht mehr gibt. Dadurch tauchen aber neue Probleme in der automation auf, weil eben zwei mal der gleiche Schalter verwendet wird ( wenn auch in unterschiedlichen Instanzen)

Die Frage ist also ob ich das irgendwie umgehen kann?

Das will sich mir leider nicht erschließen was du hier meinst.

Sorry, Dimmschalter (Handy autokorrektur :sweat_smile:) also zwei vom attribute type 2

Du willst folgende Möglichkeiten haben:
A) an/aus
B) dimmen
C) Farbwert in K einstellen
D) Sättigung in % einstellen

Korrekt?
Frage: welches reale Gerät kann dies in diesem Umfang?
Damit sollte man mal die Typen vergleichen.

Ansonsten besteht der Fehler weiterhin, solange du 2x den Typ 2 im gleichen Gerät verwendest. Dafür gibt es dann keine Lösung!

Korrekt, aber ich wüsste halt auch nicht welches Geräteprofil das unterstützt, die ganzen verschiedenen für Licht jedenfalls nicht. Es müsste ja ein Gerät sein, welches von sich aus 3 verschiedene slider mitbringt

Das ist ja dann das grundsätzliche Problem: du versuchst ein Gerät zu simulieren, was es so nicht gibt!
Dann steuerst du ja auch nicht solch ein Gerät damit, oder?
Somit kannst du doch auch einfach einen anderen Slidertyp verwenden und diesen für deine Automation nutzen :man_shrugging:t2:

Edit: den Punkt mit der Sättigung gab es hier im Forum ja schon mal. Finde es nur nicht mehr. Evtl kannst du da nochmal forschen, wie die Lösung aussah :wink:

1 „Gefällt mir“

Hallo @shamrock Habe mir deinen Flow zum Xiaomi gerade importiert und muss schon sagen: Sehr saubere Arbeit. Alles drin, alles kommentiert. Ganz stark.

:coffee:

2 „Gefällt mir“

Ich kann natürlich einen anderen slider verwenden, vorausgesetzt er wird im gefäteprofil unterstützt, ich hatte verstanden das dies der Fall sein muss.

Wie @coffeelover bereits rausgesucht hatte, saturation gibt es nicht mehr. Die Lösung damals war, nimm den gleichen slider wie für den dimmwert um damit die Sättigung einzustellen. Dies führte dann zu den Problemen in den Automationen, welches ich jetzt versuche zu lösen.
Kann ich irgendwo sehen, um was es sich bei einem Attribut handelt? Also ob das z. B. ein Schalter, ein slider oder was anderes ist?

Typ 206 und 42 sollten auf jeden Fall Slider sein.
Den Min / Maxbereich kannst du ja anpassen, ebenso wie die Einheit dahinter.

Vielen Dank, freut mich. Da es mein erster Flow ist, den ich zur Verfügung gestellt habe, habe ich mir auch richtig Mühe gegeben. :wink:

Dadurch ist der Flow jetzt aber leider sehr groß.

Viele Grüße, Dieter

1 „Gefällt mir“

Da ich hier bewusst noch nichts zu gelesen habe… ist es auch möglich, den Online/Offline Status der Geräte abzubilden? Sprich die Geräte ausgrauen zu lassen wenn diese nicht verfügbar sind?

Nein das ist über hih nicht möglich abzubilden. Da nur die targetValue gesetzt werden und keine State.
Müsste man mal über die api testen.

1 „Gefällt mir“

Hallo zusammen,

ich dachte schon ich hätte es geschafft, aber leider doch nicht.
Ich möchte einen Lumi Temp/Humid Sensor über iobroker und hih einbinden.
Das Gerät ist sichtbar, auch mit Werten, allerdings werden diese nicht aktualisiert, der Dubugger gibt auch Fehlermeldungen aus, aber ich finde einfach nicht den Fehler. Hoffentlich könnt ihr es lösen.

[
    {
        "id": "2b6a6467.32e3bc",
        "type": "tab",
        "label": "Flow 1",
        "disabled": false,
        "info": ""
    },
    {
        "id": "ce89b60e.907058",
        "type": "homeeDevice",
        "z": "2b6a6467.32e3bc",
        "virtual-homee": "",
        "name": "Xiaomi_Humidity",
        "nodeId": "10",
        "profile": "3001",
        "icon": "nodeicon_temperature",
        "attributes": "[{\"id\":100,\"node_id\":10,\"instance\":0,\"minimum\":0,\"maximum\":50,\"current_value\":4.5,\"target_value\":23.6,\"last_value\":23.799,\"unit\":\"%C2%B0C\",\"step_value\":0.5,\"editable\":0,\"type\":5,\"state\":1,\"last_changed\":1572966224,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"string\"}]",
        "x": 530,
        "y": 80,
        "wires": [
            [
                "23c0bf03.f0388"
            ]
        ]
    },
    {
        "id": "fee4a9a.d2c6458",
        "type": "inject",
        "z": "2b6a6467.32e3bc",
        "name": "Wert 44",
        "topic": "",
        "payload": "{\"id\":100,\"value\":44}",
        "payloadType": "json",
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "x": 370,
        "y": 280,
        "wires": [
            [
                "ce89b60e.907058"
            ]
        ]
    },
    {
        "id": "23c0bf03.f0388",
        "type": "debug",
        "z": "2b6a6467.32e3bc",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "x": 670,
        "y": 40,
        "wires": []
    },
    {
        "id": "dede99c3.f86a08",
        "type": "inject",
        "z": "2b6a6467.32e3bc",
        "name": "Wert 50",
        "topic": "",
        "payload": "{\"id\":100,\"value\":50}",
        "payloadType": "json",
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "x": 370,
        "y": 320,
        "wires": [
            [
                "ce89b60e.907058"
            ]
        ]
    },
    {
        "id": "39e412c0.adf06e",
        "type": "ioBroker in",
        "z": "2b6a6467.32e3bc",
        "name": "lumi.sens Temperature",
        "topic": "zigbee.0.00158d000408fa33.temperature",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "x": 120,
        "y": 160,
        "wires": [
            [
                "492895ef.ba578c"
            ]
        ]
    },
    {
        "id": "e2c56dcd.c0d89",
        "type": "function",
        "z": "2b6a6467.32e3bc",
        "name": "Sender Temp",
        "func": "var temp = msg.payload.temperature\n\nnode.send({payload:{\"id\":100,\"value\":msg.payload}})\n\n",
        "outputs": 1,
        "noerr": 0,
        "x": 330,
        "y": 80,
        "wires": [
            [
                "ce89b60e.907058"
            ]
        ]
    },
    {
        "id": "492895ef.ba578c",
        "type": "json",
        "z": "2b6a6467.32e3bc",
        "name": "",
        "property": "payload",
        "action": "",
        "pretty": false,
        "x": 190,
        "y": 80,
        "wires": [
            [
                "e2c56dcd.c0d89"
            ]
        ]
    }
]

Folgende Fehlermeldugen gibt der Debugger aus (mehrfach)

2/12/2020, 2:57:23 PMnode: 12345QWERT
msg : error
"TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be one of type string, TypedArray, or DataView. Received type undefined"

Welcher Node sendet den Fehler

Der Debugger hängt am Virtual Homee

Nochmal nachgesehen, die Fehlermeldung kommt für jede Node 1x

Eine Fehlermeldung hat damit nichts zu tun.
Du kannst die Fehlermeldung anklicken ( oberhalb bei der nodeid) dann sollte das entsprechende Node hinterlegt sein.

So ich habe mal meinen Beitrag gelöscht, damit er nicht zu Verwirrung führt. Sieht gut aus. Aufräumen hat es gebracht.
Einen Flaw hat er leider noch, der Battery-State wird im Homee leider mit 0% angegeben. Meine Vermutung ist, dass sich das erst ändern wird, wenn der Wert unter 100% sinkt und eine neue Meldung gesendet wird.

Hier für alle interessierten der Flow:

[
    {
        "id": "7c776129.65356",
        "type": "tab",
        "label": "Flow 1",
        "disabled": false,
        "info": ""
    },
    {
        "id": "b6abdf26.bbcff",
        "type": "homeeDevice",
        "z": "7c776129.65356",
        "virtual-homee": "",
        "name": "Sensor_Humidity",
        "nodeId": "10",
        "profile": "3001",
        "icon": "nodeicon_temperature",
        "attributes": "[{\"id\":100,\"node_id\":10,\"instance\":0,\"minimum\":0,\"maximum\":50,\"current_value\":1.5,\"target_value\":23.6,\"last_value\":23.799,\"unit\":\"%C2%B0C\",\"step_value\":0.5,\"editable\":0,\"type\":5,\"state\":1,\"last_changed\":1572966224,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\"},{\"id\":101,\"node_id\":10,\"instance\":0,\"minimum\":0,\"maximum\":100,\"current_value\":0,\"target_value\":49,\"last_value\":48,\"unit\":\"%25\",\"step_value\":0.5,\"editable\":0,\"type\":7,\"state\":1,\"last_changed\":1572966224,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\"},{\"id\":102,\"node_id\":10,\"instance\":0,\"minimum\":0,\"maximum\":100,\"current_value\":100,\"target_value\":0,\"last_value\":0,\"unit\":\"%25\",\"step_value\":1,\"editable\":0,\"type\":8,\"state\":1,\"last_changed\":1572966224,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\"}]",
        "x": 790,
        "y": 200,
        "wires": [
            [
                "8a96d19a.89d3a"
            ]
        ]
    },
    {
        "id": "8a96d19a.89d3a",
        "type": "debug",
        "z": "7c776129.65356",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "x": 750,
        "y": 320,
        "wires": []
    },
    {
        "id": "153eb601.c026fa",
        "type": "ioBroker in",
        "z": "7c776129.65356",
        "name": "lumi.sens Temperature",
        "topic": "zigbee.0.00158d000408fa33.temperature",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "x": 120,
        "y": 160,
        "wires": [
            [
                "bad697fc.1b97c8"
            ]
        ]
    },
    {
        "id": "5e5b0fa9.efeb2",
        "type": "function",
        "z": "7c776129.65356",
        "name": "Sender Temp",
        "func": "var val = msg.payload.temperature\n\nnode.send({payload:{\"id\":100,\"value\":msg.payload}})\n",
        "outputs": 1,
        "noerr": 0,
        "x": 510,
        "y": 160,
        "wires": [
            [
                "b6abdf26.bbcff"
            ]
        ]
    },
    {
        "id": "bad697fc.1b97c8",
        "type": "json",
        "z": "7c776129.65356",
        "name": "",
        "property": "payload",
        "action": "",
        "pretty": false,
        "x": 330,
        "y": 160,
        "wires": [
            [
                "5e5b0fa9.efeb2"
            ]
        ]
    },
    {
        "id": "54f9e996.ab78c8",
        "type": "ioBroker in",
        "z": "7c776129.65356",
        "name": "lumi.sens Battery",
        "topic": "zigbee.0.00158d000408fa33.battery",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "x": 100,
        "y": 280,
        "wires": [
            [
                "3c0d0672.09b25a"
            ]
        ]
    },
    {
        "id": "50563217.154a5c",
        "type": "ioBroker in",
        "z": "7c776129.65356",
        "name": "lumi.sens Humidity",
        "topic": "zigbee.0.00158d000408fa33.humidity",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "x": 110,
        "y": 220,
        "wires": [
            [
                "6138fc1b.66c3b4"
            ]
        ]
    },
    {
        "id": "3c0d0672.09b25a",
        "type": "json",
        "z": "7c776129.65356",
        "name": "",
        "property": "payload",
        "action": "",
        "pretty": false,
        "x": 330,
        "y": 280,
        "wires": [
            [
                "b7c394f.4c0ff68"
            ]
        ]
    },
    {
        "id": "6138fc1b.66c3b4",
        "type": "json",
        "z": "7c776129.65356",
        "name": "",
        "property": "payload",
        "action": "",
        "pretty": false,
        "x": 330,
        "y": 220,
        "wires": [
            [
                "74be2b65.6e3224"
            ]
        ]
    },
    {
        "id": "74be2b65.6e3224",
        "type": "function",
        "z": "7c776129.65356",
        "name": "Sender Humidity",
        "func": "var hum = msg.payload.humidity\n\nnode.send({payload:{\"id\":101,\"value\":msg.payload}})\n",
        "outputs": 1,
        "noerr": 0,
        "x": 520,
        "y": 220,
        "wires": [
            [
                "b6abdf26.bbcff"
            ]
        ]
    },
    {
        "id": "b7c394f.4c0ff68",
        "type": "function",
        "z": "7c776129.65356",
        "name": "Sender Battery",
        "func": "var bat = msg.payload.battery\n\nnode.send({payload:{\"id\":102,\"value\":msg.payload}})\n",
        "outputs": 1,
        "noerr": 0,
        "x": 520,
        "y": 280,
        "wires": [
            [
                "b6abdf26.bbcff"
            ]
        ]
    }
]

Danke für die Mühe

Sagt mal, ist es bei euch auch so, dass der der Homee regelmäßig vom iobroker disconnected?
Im Log taucht das laufen auf:

homee.0	2020-02-13 17:20:56.152	info	(2031) initialize 18 homeegrams
homee.0	2020-02-13 17:20:55.296	info	(2031) initialize 28 nodes
homee.0	2020-02-13 17:20:54.988	info	(2031) CONNECTED
homee.0	2020-02-13 17:20:54.780	info	(2031) RECONNECT: 1
homee.0	2020-02-13 17:20:49.779	info	(2031) DISCONNECTED: 1006
homee.0	2020-02-13 17:19:50.854	info	(2031) initialize 18 homeegrams
homee.0	2020-02-13 17:19:50.073	info	(2031) initialize 28 nodes
homee.0	2020-02-13 17:19:49.761	info	(2031) CONNECTED
homee.0	2020-02-13 17:19:49.561	info	(2031) RECONNECT: 1
homee.0	2020-02-13 17:19:44.559	info	(2031) DISCONNECTED: 1006

Ich bin echt begeistert was mit HiH und Node-Red möglich ist. Habe erste Projekte umgesetzt (Anbindung Hue Bridge, Fritzbox, Homematic via IoBroker), mehr oder weniger durch viel lesen, @Micha`s Tutorials und Import der Flows von Github . Allerdings habe ich noch lange nicht alles verstanden. Hier 2 Fragen:

1.Woher bekomme ich die Geräte Profile? Es gibt die Liste hier https://github.com/stfnhmplr/homee-api/blob/master/lib/enums.js aber damit kenne ich noch lange nicht alle Attribute für einen komplettes Geräteprofil. Ich auch alle Geräte meines Master Cubes auslesen, aber ich möchte ja virtuell Geräte erstellen, die ich noch nicht phys. besitze. Natürlich kann ich viel kopieren und wiederverwenden aus den Flows etc., aber ich würde es gern selbst besser verstehen.
2. Kann ich über die API auch meinen virtuellen Homee auslesen. Über die lokale IP oder localhost des IoBrokers funktioniert es ja leider nicht.

Vielen Dank im Voraus.