Mal wieder virtuelle Geräte - jetzt aber richtig!

Fehler gefunden und nun läuft es wieder .:blush:

2 „Gefällt mir“

Nochmals besten Dank für deinen Support, besser geht es nicht!!!

2 „Gefällt mir“

Nachdem ich inzwischen 6 Hue Lampen habe und ich beim Versionsupgrade auf 4.x des Huemagic Moduls in Node Red keine Lust hatte 6 nahezu identische „RGB Funktion“ und „Rückkanal“ funktionen anzupassen (auch bei RGB hat sich da was geändert) habe ich die ganze Kopplung zwischen virtuellen Homee Lichtern und Hue so umgebaut, dass diese funktionen nur einmal zentral sind. Ich verwende die Homee id als Message topic.
Sieht inzwischen so aus


Da ist auch noch Schnickschnack dabei wie die Möglichkeit Hue Szenen über einen virtuellen „Dimmer“ von Homee aus zu steuern und die Synchronisierung von den Hue Lampen mit dem Nanoleaf Licht im selben Raum. Also evtl. mehr als die meisten brauchen.
Aber wenn es interessiert kann ich den Flow mal teilen.

5 „Gefällt mir“

Ja bitte unbedingt
Gruss

OK - Im Anhang der ganze Flow in JSON. Wie immer mit der „fake“ PDF extension.
Hue_THampp.json.pdf (73,6 KB)

Hier der Flow für die Hue FB als vhih.

VG

Hi,

habe auch eine Frage. Habe mir von gledopto ein Ambilight zugelegt. Das habe ich auch bereits im iobroker implementiert. Auch einen flow mit etwas Suche bei euch angelegt. Funktioniert auch zum Teil. Was ich nicht richtig hinbekomme, sind die TV Szenen. HIer habe ich ur heraus gelesen das es hochgezählt werden muss. Beginnend bei : 80000000000000000000000000000000 und dann 81000000000000000000000000000000 usw… DAs wird in homee jedoch nicht richtig übernommen. Ich habe es als Dimmwert eingestellt, aber irgendwie mache ich etwas falsch. Bin aber auch extremer Anfänger. für eine Idee wäre ich sehr dankbar.
LED strip TV ambilieght.txt.pdf (9,3 KB)

Wieviele Szenen gibt es denn ?

1 „Gefällt mir“

Fernsehen 3, beginnend bei 8000… bis 82000…
Musik 3, beginnend bei 83000… bis 85000…
Ambiente beginnen bei 86000… bis 97000…

okay aber wieviele beinhaltet denn Fernsehen?
Kannst du mal den Payload vom iobroker Level einstellen ?

6.3.2022, 12:42:00node: Statemsg : error

„Error: connect ECONNREFUSED 192.168.178.57:5005“

6.3.2022, 12:42:00node: ae6b60ce.44743msg : string[40]

„Unexpected token E in JSON at position 0“

6.3.2022, 12:42:15node: Statemsg : error

„Error: connect ECONNREFUSED 192.168.178.57:5005“

6.3.2022, 12:42:15node: ae6b60ce.44743msg : string[40]

„Unexpected token E in JSON at position 0“

6.3.2022, 12:42:30node: Statemsg : error

„Error: connect ECONNREFUSED 192.168.178.57:5005“

6.3.2022, 12:42:30node: ae6b60ce.44743msg : string[40]

"Unexpected token E in JSON at posi

Fernsehen hat drei Szenen

Ich würde das etwas umbauen und nur mit den drei Szenen arbeiten.
Der Payload bringt mich nicht weiter.
Dein scene-data liefert doch etwas und das meine ich.
Einfach nen Debug dran hängen und schauen was er liefert wenn du die Szene einstellst.

Edit: mit dem Dimmlevel kannst du ja nicht wirklich genau einstellen.
:rofl:

korrigiert

6.3.2022, 13:02:51node: c9c7a71f.ffb648tuya/0/bff049b02f35934de3pc6c/25 : msg.payload : string[32]

„81000000000000000000000000000000“

6.3.2022, 13:02:53node: c9c7a71f.ffb648tuya/0/bff049b02f35934de3pc6c/25 : msg.payload : string[32]

„82000000000000000000000000000000“

6.3.2022, 13:02:55node: Statemsg : error

„Error: connect ECONNREFUSED 192.168.178.57:5005“

6.3.2022, 13:02:55node: ae6b60ce.44743msg : string[40]

„Unexpected token E in JSON at position 0“

6.3.2022, 13:02:56node: c9c7a71f.ffb648tuya/0/bff049b02f35934de3pc6c/25 : msg.payload : string[32]

„80000000000000000000000000000000“

6.3.2022, 13:03:10node: Statemsg : error

„Error: connect ECONNREFUSED 192.168.178.57:5005“

das steht bei den Objektdaten zu dem Szenen Wert:

{
„type“: „state“,
„common“: {
„type“: „string“,
„read“: true,
„write“: true,
„name“: „scene_data“,
„role“: „text“
},
„native“: {},
„from“: „system.adapter.tuya.0“,
„user“: „system.user.admin“,
„ts“: 1646507371986,
„_id“: „tuya.0.bff049b02f35934de3pc6c.25“,
„acl“: {
„object“: 1636,
„state“: 1636,
„owner“: „system.user.admin“,
„ownerGroup“: „system.group.administrator“
}
}

Wenn ich das richtig sehe, dann sind die ersten zwei stellen deines Value entscheidend.
Also Sollte der Wert dann auf die ersten zwei stellen reduziert werden.
Somit liegt dann also dein Slider im Bereich von 80-100.

Korrekt. Von 80 bis 97

Aber es muss irgendwie als große Zahl zurückgeliefert werden

[
    {
        "id": "d3906e60.96d4",
        "type": "homeeDevice",
        "z": "e92f9430.a6cd58",
        "virtual-homee": "",
        "name": "LED strip TV",
        "nodeId": "16",
        "showNodeId": true,
        "profile": "1002",
        "icon": "nodeicon_tv",
        "attributes": [
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 1,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "unit": "n%2Fa",
                "step_value": 1,
                "editable": 1,
                "state": 1,
                "last_changed": 1572944008,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "type": 1,
                "id": "160",
                "node_id": "16"
            },
            {
                "type": 2,
                "state": 1,
                "instance": 0,
                "minimum": 0,
                "maximum": 1000,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "data": "",
                "name": "",
                "unit": "%25",
                "step_value": 1,
                "editable": 1,
                "last_changed": 1646564312,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "options": [],
                "id": "161",
                "node_id": "16"
            },
            {
                "type": 2,
                "state": 1,
                "instance": 1,
                "minimum": 80,
                "maximum": 100,
                "current_value": 80,
                "target_value": 0,
                "last_value": 0,
                "data": "",
                "name": "Szene",
                "unit": "",
                "step_value": 1,
                "editable": 1,
                "last_changed": 1646564337,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "options": [],
                "id": "162",
                "node_id": "16"
            }
        ],
        "statusTemplate": "",
        "x": 750,
        "y": 240,
        "wires": [
            [
                "42651e79.b56f3",
                "5659a4d6.9f1ffc",
                "1182a81d.67cd68"
            ]
        ]
    },
    {
        "id": "42651e79.b56f3",
        "type": "function",
        "z": "e92f9430.a6cd58",
        "name": "LED strip TV Ein/Aus von homee",
        "func": "if (msg.payload.attributeId == 160)\n{\nif (msg.payload.targetValue === 0) {\n    return [{\n        payload:false}];\n}\nif (msg.payload.targetValue == 1) {\n    return [{\n        payload:true}];\n}\n}",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1060,
        "y": 200,
        "wires": [
            [
                "cc6e7768.e67988"
            ]
        ]
    },
    {
        "id": "cc6e7768.e67988",
        "type": "ioBroker out",
        "z": "e92f9430.a6cd58",
        "name": "switch_led",
        "topic": "tuya.0.bff049b02f35934de3pc6c.20",
        "ack": "false",
        "autoCreate": "false",
        "stateName": "",
        "role": "",
        "payloadType": "",
        "readonly": "",
        "stateUnit": "",
        "stateMin": "",
        "stateMax": "",
        "x": 1310,
        "y": 200,
        "wires": []
    },
    {
        "id": "df0d3064.f2d38",
        "type": "ioBroker in",
        "z": "e92f9430.a6cd58",
        "name": "switch_led",
        "topic": "tuya.0.bff049b02f35934de3pc6c.20",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "fireOnStart": "false",
        "x": 140,
        "y": 200,
        "wires": [
            [
                "ca95da54.a798b8"
            ]
        ]
    },
    {
        "id": "ca95da54.a798b8",
        "type": "function",
        "z": "e92f9430.a6cd58",
        "name": "LED strip TV Ein/Aus nach homee",
        "func": "if (msg.payload == 'false') {\n    return [{\n        payload:{\"attribute\":{\"id\":160,\"value\":0}}}];\n}\n\nif (msg.payload == 'true') {\n    return [{\n        payload:{\"attribute\":{\"id\":160,\"value\":1}}}];\n}",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 460,
        "y": 200,
        "wires": [
            [
                "d3906e60.96d4"
            ]
        ]
    },
    {
        "id": "5659a4d6.9f1ffc",
        "type": "function",
        "z": "e92f9430.a6cd58",
        "name": "LED strip TV Level von homee",
        "func": "if (msg.payload.attributeId == 161)\n{\n    return [{\n        payload:msg.payload.targetValue}];\n}",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1050,
        "y": 280,
        "wires": [
            [
                "b6d1405d.45ce7"
            ]
        ]
    },
    {
        "id": "b6d1405d.45ce7",
        "type": "ioBroker out",
        "z": "e92f9430.a6cd58",
        "name": "bright_value",
        "topic": "tuya.0.bff049b02f35934de3pc6c.22",
        "ack": "false",
        "autoCreate": "false",
        "stateName": "",
        "role": "",
        "payloadType": "",
        "readonly": "",
        "stateUnit": "",
        "stateMin": "",
        "stateMax": "",
        "x": 1290,
        "y": 280,
        "wires": []
    },
    {
        "id": "8a31448f.eadbf8",
        "type": "ioBroker in",
        "z": "e92f9430.a6cd58",
        "name": "bright_value",
        "topic": "tuya.0.bff049b02f35934de3pc6c.22",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "fireOnStart": "false",
        "x": 150,
        "y": 280,
        "wires": [
            [
                "8dd5e657.6e1cd8"
            ]
        ]
    },
    {
        "id": "8dd5e657.6e1cd8",
        "type": "function",
        "z": "e92f9430.a6cd58",
        "name": "LED strip TV Level nach homee",
        "func": "var Level = Number(msg.payload);\nmsg.payload = {\"attribute\":{\"id\":161,\"value\":Level}};\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 470,
        "y": 280,
        "wires": [
            [
                "d3906e60.96d4"
            ]
        ]
    },
    {
        "id": "25cfdd08.084112",
        "type": "ioBroker in",
        "z": "e92f9430.a6cd58",
        "name": "scene_data",
        "topic": "tuya.0.bff049b02f35934de3pc6c.25",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "fireOnStart": "false",
        "x": 150,
        "y": 400,
        "wires": [
            [
                "3a1a93ab.15b84c"
            ]
        ]
    },
    {
        "id": "3a1a93ab.15b84c",
        "type": "function",
        "z": "e92f9430.a6cd58",
        "name": "LED strip TV szenen Level nach homee",
        "func": "var Level = Number(msg.payload.slice(0,2));\nmsg.payload = {\"attribute\":{\"id\":162,\"value\":Level}};\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 500,
        "y": 400,
        "wires": [
            [
                "d3906e60.96d4"
            ]
        ]
    },
    {
        "id": "1182a81d.67cd68",
        "type": "function",
        "z": "e92f9430.a6cd58",
        "name": "LED strip TV szene von homee",
        "func": "if (msg.payload.attributeId == 162)\n{\n    return [{\n        payload:String(msg.payload.targetValue)+\"000000000000000000000000000000\"}];\n}",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1050,
        "y": 400,
        "wires": [
            [
                "196ce6f9.7f2059"
            ]
        ]
    },
    {
        "id": "196ce6f9.7f2059",
        "type": "ioBroker out",
        "z": "e92f9430.a6cd58",
        "name": "scene_data",
        "topic": "tuya.0.bff049b02f35934de3pc6c.25",
        "ack": "false",
        "autoCreate": "false",
        "stateName": "",
        "role": "",
        "payloadType": "",
        "readonly": "",
        "stateUnit": "",
        "stateMin": "",
        "stateMax": "",
        "x": 1290,
        "y": 400,
        "wires": []
    }
]

Schau mal ob es damit klappt.
Habe das Gerät und die Szene angepasst.

1 „Gefällt mir“

Super es hat geklappt. Vielen Dank

1 „Gefällt mir“