- ioBroker Community Home
- Deutsch
- Skripten / Logik
- Node-Red
- Sonos Lautstärke regeln
NEWS
Sonos Lautstärke regeln
-
@saranger Der Flow nützt mir nichts da ich kein KNX habe. Du sollst Dir die Buffer Node installieren, dann kannst Du das Byte isolieren und als separate Nachricht weiterverarbeiten. Sprich Du nimmst den output der knx ultimate und parsed bzw. zerlegst den output mit der buffer node.
Wie gesagt der Flow nutzt hier wenig, sondern poste lieber den output aus der knx node, wo das von Dir gesuchte Byte enthalten ist.
@mickym also ich habe die KNX Node so eingestellt, dass ein % Wert raus kommt zwischen 0-100 und das scheint immer in 5er Schritten zu springen. Sprich wenn ich die Lautstärke bei Sonos auf 50% setze würde und der Wert bei 50% steht kommt über das Plus Touch Symbol immer 5% dazu und bei minus entsprechend minus 5%. Es ist dementsprechend kein Stufenloser Slider sonder nur Buttons.
-
@mickym also ich habe die KNX Node so eingestellt, dass ein % Wert raus kommt zwischen 0-100 und das scheint immer in 5er Schritten zu springen. Sprich wenn ich die Lautstärke bei Sonos auf 50% setze würde und der Wert bei 50% steht kommt über das Plus Touch Symbol immer 5% dazu und bei minus entsprechend minus 5%. Es ist dementsprechend kein Stufenloser Slider sonder nur Buttons.
-
@mickym
hat sich erledigt funktioniert jetzt. Hab jetzt die KNX Ultimate vor den Nodered slider mit zusätzlich eingefügt und klappt. Warum das gestern nicht ging weis ich noch nicht so genau.@saranger das ist doch gut, wenn du Deine Probleme selbst lösen kannst. Manchmal waren es nur Kleinigkeiten. Also Glückwunsch und viel Spaß.
Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.
-
@saranger das ist doch gut, wenn du Deine Probleme selbst lösen kannst. Manchmal waren es nur Kleinigkeiten. Also Glückwunsch und viel Spaß.
@mickym so jetzt muss ich doch noch einmal nachfragen, weil ich gerade noch einen weiteren Touchtaster teste und hier ist die Lautstärke wieder ganz anders. Bei lauter gibt der Taster ein True und bei leiser ein false. Jetzt hab ich das gerade mit einem Counter probiert aber das funktioniert leider noch nicht so wirklich. Hast du eine Idee wie ich das umsetzen kann, dass der bei lauter +4 und bei leiser -4 oder ähnliches ausführen kann?
-
@mickym so jetzt muss ich doch noch einmal nachfragen, weil ich gerade noch einen weiteren Touchtaster teste und hier ist die Lautstärke wieder ganz anders. Bei lauter gibt der Taster ein True und bei leiser ein false. Jetzt hab ich das gerade mit einem Counter probiert aber das funktioniert leider noch nicht so wirklich. Hast du eine Idee wie ich das umsetzen kann, dass der bei lauter +4 und bei leiser -4 oder ähnliches ausführen kann?
@saranger Ja ich habe schon mal einen Taster implementiert, das ist zwar nicht easy. Wobei ich bei einem Taster ja solange in eine Richtung geschaltet haben möchte, wie ich gedrückt halte.
Ich muss mal schauen, ob ich den Flow noch finde - da ich den mal zum Lernen erstellt habe. Wenn es laut und leise mit true und false ist musst Du halt selbst überlegen, wie lange ein Touch gelten soll. Einen richtigen Taster habe ich mal mit VIS simuliert und damit einen Dimmer geregelt und ein- und ausgeschaltet. Das kannst ggf. ja mal anpassen. Brauchst vielleicht bisschen bis Du das verstehst.
Links siehst Du wie ich quasi mit der Maus den Taster bediene. Beim Drücken kommt true beim Loslassen ein false.
Rechts siehst Du immer den zugehörigen Zustand der Lampe. Das müsste sich auf Ein/Aus Laut und Leise genauso anpassen lassen:tasterimplementierung-dimmer-vis-nodered.mp4
Hier der zugehörige Flow - die Ein- und Ausgaben sind deaktiviert und musst halt durch Deine Nodes ggf. ersetzen. Wichtig ist die function Node mit der Du festlegst, ab wann ein Short- oder Longpress erkannt wird.
[ { "id": "9485df68.fd8ba", "type": "tab", "label": "Tutorial vis Taster", "disabled": false, "info": "" }, { "id": "b0c81813.4154f8", "type": "ioBroker in", "z": "9485df68.fd8ba", "d": true, "name": "taster", "topic": "0_userdata.0.dimmer.taster", "payloadType": "value", "onlyack": "", "func": "rbe", "gap": "", "fireOnStart": "false", "x": 130, "y": 100, "wires": [ [ "16e2170a.87ef89" ] ] }, { "id": "dc014311.a8d3f", "type": "debug", "z": "9485df68.fd8ba", "name": "Taste gedrückt", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 600, "y": 60, "wires": [] }, { "id": "16e2170a.87ef89", "type": "trigger", "z": "9485df68.fd8ba", "name": "", "op1": "true", "op2": "", "op1type": "bool", "op2type": "payl", "duration": "-250", "extend": true, "overrideDelay": false, "units": "ms", "reset": "false", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 370, "y": 100, "wires": [ [ "dc014311.a8d3f", "a123b62d.af5fa8" ] ] }, { "id": "9982d6c4.29e058", "type": "switch", "z": "9485df68.fd8ba", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 310, "y": 220, "wires": [ [ "d38eb95d.854638", "a123b62d.af5fa8" ] ] }, { "id": "d38eb95d.854638", "type": "debug", "z": "9485df68.fd8ba", "name": "Taste losgelassen", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 490, "y": 280, "wires": [] }, { "id": "a123b62d.af5fa8", "type": "function", "z": "9485df68.fd8ba", "name": "", "func": "var count = context.get('count') || 0;\nvar longpress = context.get('longpress') || false;\nif (msg.payload){\n count += 1;\n context.set('count',count);\n if (count > 5) { // Wert erhöhen wenn Longpress zu früh erkannt wird\n longpress = true;\n context.set('longpress',longpress);\n return [null,msg];\n }\n} else {\n msg.payload=true;\n count = 0;\n context.set('count',count); \n if (!longpress) return [msg,null];\n longpress = false;\n context.set('longpress',longpress);\n}\n", "outputs": 2, "noerr": 0, "initialize": "", "finalize": "", "x": 590, "y": 180, "wires": [ [ "65393650.6cfcd8", "1dbf19e0.f8af96" ], [ "faaddc42.671cf", "c5e2ef2d.6e447" ] ], "outputLabels": [ "shortpress", "longpress" ] }, { "id": "65393650.6cfcd8", "type": "debug", "z": "9485df68.fd8ba", "name": "shortpress", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 810, "y": 100, "wires": [] }, { "id": "faaddc42.671cf", "type": "debug", "z": "9485df68.fd8ba", "name": "longpress", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 800, "y": 340, "wires": [] }, { "id": "a9311da5.e0c66", "type": "ioBroker in", "z": "9485df68.fd8ba", "d": true, "name": "status", "topic": "mqtt.1.shellies.shellydimmer.light.0.status", "payloadType": "value", "onlyack": "", "func": "rbe", "gap": "", "fireOnStart": "false", "x": 150, "y": 400, "wires": [ [ "15d1fa89.761575" ] ] }, { "id": "35413631.c8570a", "type": "debug", "z": "9485df68.fd8ba", "name": "status", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 450, "y": 340, "wires": [] }, { "id": "15d1fa89.761575", "type": "json", "z": "9485df68.fd8ba", "name": "", "property": "payload", "action": "", "pretty": false, "x": 290, "y": 400, "wires": [ [ "35413631.c8570a", "eeebcf13.9b2fd", "af96a9a1.7e48c8" ] ] }, { "id": "eeebcf13.9b2fd", "type": "change", "z": "9485df68.fd8ba", "name": "setze flow Variablen", "rules": [ { "t": "set", "p": "ison", "pt": "flow", "to": "payload.ison", "tot": "msg" }, { "t": "set", "p": "brightness", "pt": "flow", "to": "payload.brightness", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 500, "y": 400, "wires": [ [] ] }, { "id": "1dbf19e0.f8af96", "type": "change", "z": "9485df68.fd8ba", "name": "switch (toggle)", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "ison", "tot": "flow" }, { "t": "set", "p": "payload", "pt": "msg", "to": "$not(payload)\t", "tot": "jsonata" }, { "t": "set", "p": "ison", "pt": "flow", "to": "payload", "tot": "msg" }, { "t": "set", "p": "down", "pt": "flow", "to": "payload", "tot": "msg" }, { "t": "change", "p": "payload", "pt": "msg", "from": "true", "fromt": "bool", "to": "on", "tot": "str" }, { "t": "change", "p": "payload", "pt": "msg", "from": "false", "fromt": "bool", "to": "off", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 800, "y": 140, "wires": [ [ "f48be0e6.d432f", "c4574d9a.44f53", "f2909e1e.20a93" ] ] }, { "id": "f48be0e6.d432f", "type": "debug", "z": "9485df68.fd8ba", "name": "command", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1040, "y": 200, "wires": [] }, { "id": "c4574d9a.44f53", "type": "ioBroker out", "z": "9485df68.fd8ba", "d": true, "name": "command", "topic": "mqtt.1.shellies.shellydimmer.light.0.command", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1040, "y": 140, "wires": [] }, { "id": "f2909e1e.20a93", "type": "change", "z": "9485df68.fd8ba", "name": "", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "off", "fromt": "str", "to": "0", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "on", "fromt": "str", "to": "brightness", "tot": "flow" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1050, "y": 80, "wires": [ [ "6d903925.3ff818" ] ] }, { "id": "6d903925.3ff818", "type": "ioBroker out", "z": "9485df68.fd8ba", "d": true, "name": "brightness", "topic": "0_userdata.0.dimmer.brightness", "ack": "true", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1240, "y": 80, "wires": [] }, { "id": "88d6e66a.ddb258", "type": "inject", "z": "9485df68.fd8ba", "name": "", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": true, "onceDelay": 0.1, "topic": "", "payload": "false", "payloadType": "bool", "x": 130, "y": 600, "wires": [ [ "e9fb15f5.98b588" ] ] }, { "id": "e9fb15f5.98b588", "type": "change", "z": "9485df68.fd8ba", "name": "", "rules": [ { "t": "set", "p": "down", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 310, "y": 600, "wires": [ [] ] }, { "id": "c5e2ef2d.6e447", "type": "switch", "z": "9485df68.fd8ba", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "istype", "v": "boolean", "vt": "boolean" }, { "t": "istype", "v": "number", "vt": "number" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 810, "y": 300, "wires": [ [ "ca4f99bd.cfa6f8" ], [ "ff1bde73.7c88" ] ] }, { "id": "ca4f99bd.cfa6f8", "type": "change", "z": "9485df68.fd8ba", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "brightness", "tot": "flow" }, { "t": "change", "p": "payload", "pt": "msg", "from": "100", "fromt": "num", "to": "98", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "0", "fromt": "num", "to": "2", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1020, "y": 240, "wires": [ [ "c5e2ef2d.6e447" ] ] }, { "id": "ff1bde73.7c88", "type": "switch", "z": "9485df68.fd8ba", "name": "brightness zwischen 2 und 98", "property": "payload", "propertyType": "msg", "rules": [ { "t": "btwn", "v": "2", "vt": "num", "v2": "98", "v2t": "num" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 1050, "y": 320, "wires": [ [ "4f962993.612978" ] ] }, { "id": "4f962993.612978", "type": "switch", "z": "9485df68.fd8ba", "name": "", "property": "down", "propertyType": "flow", "rules": [ { "t": "true" }, { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 1270, "y": 320, "wires": [ [ "ece0bc1e.1d06c" ], [ "a0118b8f.a7ca18" ] ] }, { "id": "ece0bc1e.1d06c", "type": "change", "z": "9485df68.fd8ba", "name": "Verringere Brightness um 2", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload - 2", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1510, "y": 280, "wires": [ [ "71a8a0f2.c1756" ] ] }, { "id": "a0118b8f.a7ca18", "type": "change", "z": "9485df68.fd8ba", "name": "Erhöhe Brightness um 2", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload + 2", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1500, "y": 340, "wires": [ [ "71a8a0f2.c1756" ] ] }, { "id": "71a8a0f2.c1756", "type": "switch", "z": "9485df68.fd8ba", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "gt", "v": "98", "vt": "num" }, { "t": "lt", "v": "2", "vt": "str" }, { "t": "else" } ], "checkall": "true", "repair": false, "outputs": 3, "x": 1740, "y": 300, "wires": [ [ "879502b2.7de07" ], [ "f57bd65b.705688" ], [ "58308d21.de8e84" ] ] }, { "id": "879502b2.7de07", "type": "change", "z": "9485df68.fd8ba", "name": "= 100", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "100", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1900, "y": 260, "wires": [ [ "58308d21.de8e84" ] ] }, { "id": "f57bd65b.705688", "type": "change", "z": "9485df68.fd8ba", "name": "= 0", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1900, "y": 300, "wires": [ [ "58308d21.de8e84" ] ] }, { "id": "58308d21.de8e84", "type": "change", "z": "9485df68.fd8ba", "name": "Update flow.brightness", "rules": [ { "t": "set", "p": "brightness", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2120, "y": 340, "wires": [ [ "33d29b3d.a84344", "fb67d520.bc8208" ] ] }, { "id": "33d29b3d.a84344", "type": "rbe", "z": "9485df68.fd8ba", "name": "", "func": "rbe", "gap": "", "start": "", "inout": "out", "property": "payload", "x": 2330, "y": 340, "wires": [ [ "8ef3400d.e495", "d66fdb59.ee3d88" ] ] }, { "id": "fb67d520.bc8208", "type": "trigger", "z": "9485df68.fd8ba", "name": "", "op1": "", "op2": "true", "op1type": "nul", "op2type": "bool", "duration": "1", "extend": true, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 2350, "y": 420, "wires": [ [ "1110ff6a.6c0661" ] ] }, { "id": "1110ff6a.6c0661", "type": "change", "z": "9485df68.fd8ba", "name": "", "rules": [ { "t": "set", "p": "down", "pt": "flow", "to": "$not($flowContext('down'))\t", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2550, "y": 420, "wires": [ [] ] }, { "id": "8ef3400d.e495", "type": "ioBroker out", "z": "9485df68.fd8ba", "d": true, "name": "brightness", "topic": "0_userdata.0.dimmer.brightness", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 2510, "y": 340, "wires": [] }, { "id": "b2d86076.b0a04", "type": "change", "z": "9485df68.fd8ba", "name": "", "rules": [ { "t": "move", "p": "payload", "pt": "msg", "to": "brightness", "tot": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "{\"brightness\":70,\"turn\":\"on\"}", "tot": "json" }, { "t": "move", "p": "brightness", "pt": "msg", "to": "payload.brightness", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2680, "y": 280, "wires": [ [ "3fe9eb1.ff60414" ] ] }, { "id": "d66fdb59.ee3d88", "type": "switch", "z": "9485df68.fd8ba", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "eq", "v": "0", "vt": "num" }, { "t": "gt", "v": "0", "vt": "num" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 2490, "y": 260, "wires": [ [ "b3cabeb1.02f96" ], [ "b2d86076.b0a04" ] ] }, { "id": "b3cabeb1.02f96", "type": "change", "z": "9485df68.fd8ba", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{\"brightness\":0,\"turn\":\"off\"}", "tot": "json" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2690, "y": 240, "wires": [ [ "3fe9eb1.ff60414" ] ] }, { "id": "3fe9eb1.ff60414", "type": "json", "z": "9485df68.fd8ba", "name": "", "property": "payload", "action": "", "pretty": false, "x": 2890, "y": 260, "wires": [ [ "583ee091.d82b2" ] ] }, { "id": "583ee091.d82b2", "type": "ioBroker out", "z": "9485df68.fd8ba", "d": true, "name": "", "topic": "mqtt.1.shellies.light.0.set", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 3110, "y": 260, "wires": [] }, { "id": "98936af7.b84158", "type": "ioBroker in", "z": "9485df68.fd8ba", "d": true, "name": "taster", "topic": "0_userdata.0.dimmer.taster", "payloadType": "value", "onlyack": "", "func": "rbe", "gap": "", "fireOnStart": "false", "x": 130, "y": 220, "wires": [ [ "9982d6c4.29e058" ] ] }, { "id": "af96a9a1.7e48c8", "type": "change", "z": "9485df68.fd8ba", "name": "", "rules": [ { "t": "move", "p": "payload", "pt": "msg", "to": "status", "tot": "msg" }, { "t": "change", "p": "status.ison", "pt": "msg", "from": "false", "fromt": "bool", "to": "0", "tot": "num" }, { "t": "change", "p": "status.ison", "pt": "msg", "from": "true", "fromt": "bool", "to": "status.brightness", "tot": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "status.ison", "tot": "msg" }, { "t": "delete", "p": "status", "pt": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 480, "y": 460, "wires": [ [ "c281079b.e9e728" ] ] }, { "id": "c281079b.e9e728", "type": "ioBroker out", "z": "9485df68.fd8ba", "d": true, "name": "brightness", "topic": "0_userdata.0.dimmer.brightness", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 690, "y": 460, "wires": [] } ]Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.
-
@saranger Ja ich habe schon mal einen Taster implementiert, das ist zwar nicht easy. Wobei ich bei einem Taster ja solange in eine Richtung geschaltet haben möchte, wie ich gedrückt halte.
Ich muss mal schauen, ob ich den Flow noch finde - da ich den mal zum Lernen erstellt habe. Wenn es laut und leise mit true und false ist musst Du halt selbst überlegen, wie lange ein Touch gelten soll. Einen richtigen Taster habe ich mal mit VIS simuliert und damit einen Dimmer geregelt und ein- und ausgeschaltet. Das kannst ggf. ja mal anpassen. Brauchst vielleicht bisschen bis Du das verstehst.
Links siehst Du wie ich quasi mit der Maus den Taster bediene. Beim Drücken kommt true beim Loslassen ein false.
Rechts siehst Du immer den zugehörigen Zustand der Lampe. Das müsste sich auf Ein/Aus Laut und Leise genauso anpassen lassen:tasterimplementierung-dimmer-vis-nodered.mp4
Hier der zugehörige Flow - die Ein- und Ausgaben sind deaktiviert und musst halt durch Deine Nodes ggf. ersetzen. Wichtig ist die function Node mit der Du festlegst, ab wann ein Short- oder Longpress erkannt wird.
[ { "id": "9485df68.fd8ba", "type": "tab", "label": "Tutorial vis Taster", "disabled": false, "info": "" }, { "id": "b0c81813.4154f8", "type": "ioBroker in", "z": "9485df68.fd8ba", "d": true, "name": "taster", "topic": "0_userdata.0.dimmer.taster", "payloadType": "value", "onlyack": "", "func": "rbe", "gap": "", "fireOnStart": "false", "x": 130, "y": 100, "wires": [ [ "16e2170a.87ef89" ] ] }, { "id": "dc014311.a8d3f", "type": "debug", "z": "9485df68.fd8ba", "name": "Taste gedrückt", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 600, "y": 60, "wires": [] }, { "id": "16e2170a.87ef89", "type": "trigger", "z": "9485df68.fd8ba", "name": "", "op1": "true", "op2": "", "op1type": "bool", "op2type": "payl", "duration": "-250", "extend": true, "overrideDelay": false, "units": "ms", "reset": "false", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 370, "y": 100, "wires": [ [ "dc014311.a8d3f", "a123b62d.af5fa8" ] ] }, { "id": "9982d6c4.29e058", "type": "switch", "z": "9485df68.fd8ba", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 310, "y": 220, "wires": [ [ "d38eb95d.854638", "a123b62d.af5fa8" ] ] }, { "id": "d38eb95d.854638", "type": "debug", "z": "9485df68.fd8ba", "name": "Taste losgelassen", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 490, "y": 280, "wires": [] }, { "id": "a123b62d.af5fa8", "type": "function", "z": "9485df68.fd8ba", "name": "", "func": "var count = context.get('count') || 0;\nvar longpress = context.get('longpress') || false;\nif (msg.payload){\n count += 1;\n context.set('count',count);\n if (count > 5) { // Wert erhöhen wenn Longpress zu früh erkannt wird\n longpress = true;\n context.set('longpress',longpress);\n return [null,msg];\n }\n} else {\n msg.payload=true;\n count = 0;\n context.set('count',count); \n if (!longpress) return [msg,null];\n longpress = false;\n context.set('longpress',longpress);\n}\n", "outputs": 2, "noerr": 0, "initialize": "", "finalize": "", "x": 590, "y": 180, "wires": [ [ "65393650.6cfcd8", "1dbf19e0.f8af96" ], [ "faaddc42.671cf", "c5e2ef2d.6e447" ] ], "outputLabels": [ "shortpress", "longpress" ] }, { "id": "65393650.6cfcd8", "type": "debug", "z": "9485df68.fd8ba", "name": "shortpress", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 810, "y": 100, "wires": [] }, { "id": "faaddc42.671cf", "type": "debug", "z": "9485df68.fd8ba", "name": "longpress", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 800, "y": 340, "wires": [] }, { "id": "a9311da5.e0c66", "type": "ioBroker in", "z": "9485df68.fd8ba", "d": true, "name": "status", "topic": "mqtt.1.shellies.shellydimmer.light.0.status", "payloadType": "value", "onlyack": "", "func": "rbe", "gap": "", "fireOnStart": "false", "x": 150, "y": 400, "wires": [ [ "15d1fa89.761575" ] ] }, { "id": "35413631.c8570a", "type": "debug", "z": "9485df68.fd8ba", "name": "status", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 450, "y": 340, "wires": [] }, { "id": "15d1fa89.761575", "type": "json", "z": "9485df68.fd8ba", "name": "", "property": "payload", "action": "", "pretty": false, "x": 290, "y": 400, "wires": [ [ "35413631.c8570a", "eeebcf13.9b2fd", "af96a9a1.7e48c8" ] ] }, { "id": "eeebcf13.9b2fd", "type": "change", "z": "9485df68.fd8ba", "name": "setze flow Variablen", "rules": [ { "t": "set", "p": "ison", "pt": "flow", "to": "payload.ison", "tot": "msg" }, { "t": "set", "p": "brightness", "pt": "flow", "to": "payload.brightness", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 500, "y": 400, "wires": [ [] ] }, { "id": "1dbf19e0.f8af96", "type": "change", "z": "9485df68.fd8ba", "name": "switch (toggle)", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "ison", "tot": "flow" }, { "t": "set", "p": "payload", "pt": "msg", "to": "$not(payload)\t", "tot": "jsonata" }, { "t": "set", "p": "ison", "pt": "flow", "to": "payload", "tot": "msg" }, { "t": "set", "p": "down", "pt": "flow", "to": "payload", "tot": "msg" }, { "t": "change", "p": "payload", "pt": "msg", "from": "true", "fromt": "bool", "to": "on", "tot": "str" }, { "t": "change", "p": "payload", "pt": "msg", "from": "false", "fromt": "bool", "to": "off", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 800, "y": 140, "wires": [ [ "f48be0e6.d432f", "c4574d9a.44f53", "f2909e1e.20a93" ] ] }, { "id": "f48be0e6.d432f", "type": "debug", "z": "9485df68.fd8ba", "name": "command", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1040, "y": 200, "wires": [] }, { "id": "c4574d9a.44f53", "type": "ioBroker out", "z": "9485df68.fd8ba", "d": true, "name": "command", "topic": "mqtt.1.shellies.shellydimmer.light.0.command", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1040, "y": 140, "wires": [] }, { "id": "f2909e1e.20a93", "type": "change", "z": "9485df68.fd8ba", "name": "", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "off", "fromt": "str", "to": "0", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "on", "fromt": "str", "to": "brightness", "tot": "flow" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1050, "y": 80, "wires": [ [ "6d903925.3ff818" ] ] }, { "id": "6d903925.3ff818", "type": "ioBroker out", "z": "9485df68.fd8ba", "d": true, "name": "brightness", "topic": "0_userdata.0.dimmer.brightness", "ack": "true", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1240, "y": 80, "wires": [] }, { "id": "88d6e66a.ddb258", "type": "inject", "z": "9485df68.fd8ba", "name": "", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": true, "onceDelay": 0.1, "topic": "", "payload": "false", "payloadType": "bool", "x": 130, "y": 600, "wires": [ [ "e9fb15f5.98b588" ] ] }, { "id": "e9fb15f5.98b588", "type": "change", "z": "9485df68.fd8ba", "name": "", "rules": [ { "t": "set", "p": "down", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 310, "y": 600, "wires": [ [] ] }, { "id": "c5e2ef2d.6e447", "type": "switch", "z": "9485df68.fd8ba", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "istype", "v": "boolean", "vt": "boolean" }, { "t": "istype", "v": "number", "vt": "number" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 810, "y": 300, "wires": [ [ "ca4f99bd.cfa6f8" ], [ "ff1bde73.7c88" ] ] }, { "id": "ca4f99bd.cfa6f8", "type": "change", "z": "9485df68.fd8ba", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "brightness", "tot": "flow" }, { "t": "change", "p": "payload", "pt": "msg", "from": "100", "fromt": "num", "to": "98", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "0", "fromt": "num", "to": "2", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1020, "y": 240, "wires": [ [ "c5e2ef2d.6e447" ] ] }, { "id": "ff1bde73.7c88", "type": "switch", "z": "9485df68.fd8ba", "name": "brightness zwischen 2 und 98", "property": "payload", "propertyType": "msg", "rules": [ { "t": "btwn", "v": "2", "vt": "num", "v2": "98", "v2t": "num" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 1050, "y": 320, "wires": [ [ "4f962993.612978" ] ] }, { "id": "4f962993.612978", "type": "switch", "z": "9485df68.fd8ba", "name": "", "property": "down", "propertyType": "flow", "rules": [ { "t": "true" }, { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 1270, "y": 320, "wires": [ [ "ece0bc1e.1d06c" ], [ "a0118b8f.a7ca18" ] ] }, { "id": "ece0bc1e.1d06c", "type": "change", "z": "9485df68.fd8ba", "name": "Verringere Brightness um 2", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload - 2", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1510, "y": 280, "wires": [ [ "71a8a0f2.c1756" ] ] }, { "id": "a0118b8f.a7ca18", "type": "change", "z": "9485df68.fd8ba", "name": "Erhöhe Brightness um 2", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload + 2", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1500, "y": 340, "wires": [ [ "71a8a0f2.c1756" ] ] }, { "id": "71a8a0f2.c1756", "type": "switch", "z": "9485df68.fd8ba", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "gt", "v": "98", "vt": "num" }, { "t": "lt", "v": "2", "vt": "str" }, { "t": "else" } ], "checkall": "true", "repair": false, "outputs": 3, "x": 1740, "y": 300, "wires": [ [ "879502b2.7de07" ], [ "f57bd65b.705688" ], [ "58308d21.de8e84" ] ] }, { "id": "879502b2.7de07", "type": "change", "z": "9485df68.fd8ba", "name": "= 100", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "100", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1900, "y": 260, "wires": [ [ "58308d21.de8e84" ] ] }, { "id": "f57bd65b.705688", "type": "change", "z": "9485df68.fd8ba", "name": "= 0", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1900, "y": 300, "wires": [ [ "58308d21.de8e84" ] ] }, { "id": "58308d21.de8e84", "type": "change", "z": "9485df68.fd8ba", "name": "Update flow.brightness", "rules": [ { "t": "set", "p": "brightness", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2120, "y": 340, "wires": [ [ "33d29b3d.a84344", "fb67d520.bc8208" ] ] }, { "id": "33d29b3d.a84344", "type": "rbe", "z": "9485df68.fd8ba", "name": "", "func": "rbe", "gap": "", "start": "", "inout": "out", "property": "payload", "x": 2330, "y": 340, "wires": [ [ "8ef3400d.e495", "d66fdb59.ee3d88" ] ] }, { "id": "fb67d520.bc8208", "type": "trigger", "z": "9485df68.fd8ba", "name": "", "op1": "", "op2": "true", "op1type": "nul", "op2type": "bool", "duration": "1", "extend": true, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 2350, "y": 420, "wires": [ [ "1110ff6a.6c0661" ] ] }, { "id": "1110ff6a.6c0661", "type": "change", "z": "9485df68.fd8ba", "name": "", "rules": [ { "t": "set", "p": "down", "pt": "flow", "to": "$not($flowContext('down'))\t", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2550, "y": 420, "wires": [ [] ] }, { "id": "8ef3400d.e495", "type": "ioBroker out", "z": "9485df68.fd8ba", "d": true, "name": "brightness", "topic": "0_userdata.0.dimmer.brightness", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 2510, "y": 340, "wires": [] }, { "id": "b2d86076.b0a04", "type": "change", "z": "9485df68.fd8ba", "name": "", "rules": [ { "t": "move", "p": "payload", "pt": "msg", "to": "brightness", "tot": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "{\"brightness\":70,\"turn\":\"on\"}", "tot": "json" }, { "t": "move", "p": "brightness", "pt": "msg", "to": "payload.brightness", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2680, "y": 280, "wires": [ [ "3fe9eb1.ff60414" ] ] }, { "id": "d66fdb59.ee3d88", "type": "switch", "z": "9485df68.fd8ba", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "eq", "v": "0", "vt": "num" }, { "t": "gt", "v": "0", "vt": "num" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 2490, "y": 260, "wires": [ [ "b3cabeb1.02f96" ], [ "b2d86076.b0a04" ] ] }, { "id": "b3cabeb1.02f96", "type": "change", "z": "9485df68.fd8ba", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{\"brightness\":0,\"turn\":\"off\"}", "tot": "json" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2690, "y": 240, "wires": [ [ "3fe9eb1.ff60414" ] ] }, { "id": "3fe9eb1.ff60414", "type": "json", "z": "9485df68.fd8ba", "name": "", "property": "payload", "action": "", "pretty": false, "x": 2890, "y": 260, "wires": [ [ "583ee091.d82b2" ] ] }, { "id": "583ee091.d82b2", "type": "ioBroker out", "z": "9485df68.fd8ba", "d": true, "name": "", "topic": "mqtt.1.shellies.light.0.set", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 3110, "y": 260, "wires": [] }, { "id": "98936af7.b84158", "type": "ioBroker in", "z": "9485df68.fd8ba", "d": true, "name": "taster", "topic": "0_userdata.0.dimmer.taster", "payloadType": "value", "onlyack": "", "func": "rbe", "gap": "", "fireOnStart": "false", "x": 130, "y": 220, "wires": [ [ "9982d6c4.29e058" ] ] }, { "id": "af96a9a1.7e48c8", "type": "change", "z": "9485df68.fd8ba", "name": "", "rules": [ { "t": "move", "p": "payload", "pt": "msg", "to": "status", "tot": "msg" }, { "t": "change", "p": "status.ison", "pt": "msg", "from": "false", "fromt": "bool", "to": "0", "tot": "num" }, { "t": "change", "p": "status.ison", "pt": "msg", "from": "true", "fromt": "bool", "to": "status.brightness", "tot": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "status.ison", "tot": "msg" }, { "t": "delete", "p": "status", "pt": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 480, "y": 460, "wires": [ [ "c281079b.e9e728" ] ] }, { "id": "c281079b.e9e728", "type": "ioBroker out", "z": "9485df68.fd8ba", "d": true, "name": "brightness", "topic": "0_userdata.0.dimmer.brightness", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 690, "y": 460, "wires": [] } ] -
@mickym ja das gedrückt halten geht ja schon mit dem normalen Taster. Jetzt wäre es quasi pro Tastendruck ein True
@saranger Schau Dir mal den Flow an und das kleine Video. ;)
Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.
-
@mickym ok das hab ich so verstanden das video aber das hilft mir ja glaube nicht. Also das ist ein Touchdisplay was ich habe und der hat einen Plus button für lauter und einen Minus Button für lauter. So wenn ich jetzt 3x auf den Plus button (das die KNX kommt über die KNX Node Lautstärke - Taster GVS)
drücke wäre es cool wenn die Lautstärke (pro Druck 5 Punkte) um 15 Punkte oder Prozent wie man es immer sehen mag lauter wird oder bei Minus entsprechend leiser wird. Mit dem Counter klappt das nicht richtig, ich habe da 3 stehen und dann gibt er immer erstmal die 3 aus und adiert erst beim nächsten Druck. -
@saranger Also dann hilft Dir mein Flow gar nicht - da würde ich von neuem anfangen. Also vergiss den Flow.
Du brauchst halt dann wohl eine flow Variable, die Du halt initiieren musst. (ggf. datenpunkt mit IST-Lautstärke auslesen)Deinen Taster simulieren ich jetzt mit einem true für lauter oder false für leiser.
Wie Du die Flow-Variable initialisiert weiss ich nicht.

[ { "id": "d09ed7e5c8cab519", "type": "inject", "z": "25119af3810139a0", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "lauter", "payload": "true", "payloadType": "bool", "x": 260, "y": 140, "wires": [ [ "dbb368a4cd21d536" ] ] }, { "id": "de93b68320837aa7", "type": "inject", "z": "25119af3810139a0", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "leiser", "payload": "false", "payloadType": "bool", "x": 260, "y": 180, "wires": [ [ "dbb368a4cd21d536" ] ] }, { "id": "dbb368a4cd21d536", "type": "change", "z": "25119af3810139a0", "name": "", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "true", "fromt": "bool", "to": "3", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "false", "fromt": "bool", "to": "-3", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 470, "y": 160, "wires": [ [ "21bf0a18cb90e1ee" ] ] }, { "id": "2cf9d685102ce50c", "type": "inject", "z": "25119af3810139a0", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": true, "onceDelay": 0.1, "topic": "Lautstärke", "payload": "-10", "payloadType": "num", "x": 280, "y": 60, "wires": [ [ "1826f76eb3fa6684" ] ] }, { "id": "1826f76eb3fa6684", "type": "change", "z": "25119af3810139a0", "name": "", "rules": [ { "t": "set", "p": "volume", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 470, "y": 60, "wires": [ [] ] }, { "id": "21bf0a18cb90e1ee", "type": "change", "z": "25119af3810139a0", "name": "Lautstärke", "rules": [ { "t": "set", "p": "volume", "pt": "msg", "to": "volume", "tot": "flow" }, { "t": "set", "p": "payload", "pt": "msg", "to": "volume + payload", "tot": "jsonata" }, { "t": "set", "p": "volume", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 670, "y": 160, "wires": [ [ "0c693a6ca862dfb9" ] ] }, { "id": "0c693a6ca862dfb9", "type": "debug", "z": "25119af3810139a0", "name": "Lautstärke", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 870, "y": 160, "wires": [] } ]Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.
-
@saranger Also dann hilft Dir mein Flow gar nicht - da würde ich von neuem anfangen. Also vergiss den Flow.
Du brauchst halt dann wohl eine flow Variable, die Du halt initiieren musst. (ggf. datenpunkt mit IST-Lautstärke auslesen)Deinen Taster simulieren ich jetzt mit einem true für lauter oder false für leiser.
Wie Du die Flow-Variable initialisiert weiss ich nicht.

[ { "id": "d09ed7e5c8cab519", "type": "inject", "z": "25119af3810139a0", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "lauter", "payload": "true", "payloadType": "bool", "x": 260, "y": 140, "wires": [ [ "dbb368a4cd21d536" ] ] }, { "id": "de93b68320837aa7", "type": "inject", "z": "25119af3810139a0", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "leiser", "payload": "false", "payloadType": "bool", "x": 260, "y": 180, "wires": [ [ "dbb368a4cd21d536" ] ] }, { "id": "dbb368a4cd21d536", "type": "change", "z": "25119af3810139a0", "name": "", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "true", "fromt": "bool", "to": "3", "tot": "num" }, { "t": "change", "p": "payload", "pt": "msg", "from": "false", "fromt": "bool", "to": "-3", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 470, "y": 160, "wires": [ [ "21bf0a18cb90e1ee" ] ] }, { "id": "2cf9d685102ce50c", "type": "inject", "z": "25119af3810139a0", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": true, "onceDelay": 0.1, "topic": "Lautstärke", "payload": "-10", "payloadType": "num", "x": 280, "y": 60, "wires": [ [ "1826f76eb3fa6684" ] ] }, { "id": "1826f76eb3fa6684", "type": "change", "z": "25119af3810139a0", "name": "", "rules": [ { "t": "set", "p": "volume", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 470, "y": 60, "wires": [ [] ] }, { "id": "21bf0a18cb90e1ee", "type": "change", "z": "25119af3810139a0", "name": "Lautstärke", "rules": [ { "t": "set", "p": "volume", "pt": "msg", "to": "volume", "tot": "flow" }, { "t": "set", "p": "payload", "pt": "msg", "to": "volume + payload", "tot": "jsonata" }, { "t": "set", "p": "volume", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 670, "y": 160, "wires": [ [ "0c693a6ca862dfb9" ] ] }, { "id": "0c693a6ca862dfb9", "type": "debug", "z": "25119af3810139a0", "name": "Lautstärke", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 870, "y": 160, "wires": [] } ]