NEWS
2 Bewegungsmelder (Aqara) sollen einen Lampe schalten
-
Moin moin.
Vielleicht weiß ja einer von euch Rat.
Ich möchte eigntlich ziemlich simpel mein bad licht einschalten per bewegungsmelder
und es soll so lange an bleiben bis 1 min keine bewegung mehr erkannt wird.
Nun habe ich einen Roboter Sauger, der ja ständig das Licht einschalten würde wenn er staubsaugt der Staubsauger hat im Datenpunkt beim reinigen den Wert 5 also muss eine UND Regel her. Ich hab jetzt schon so vieles ausprobiert, das mir der Kopf raucht.
Ich komme einfach nicht auf einen grünen Zweig.
Es wäre super, wenn eine mir helfen könnte.
Ich benutze ein Sonoff Gerät um das Deckenlicht zu schalten und einen Hue Bewegungsmelder.
Des weiteren wollte ich auch zwei Bewegungsmelder nutzen da ich so zu sagen im Bad noch einen Vorraum habe und das Licht soll ja bei Bewegung dann auch angehen.
Der zweite Bewegungsmelder ist ein Tuya Gerät. -
@aphofis Habe ich Dir in dem anderen Thread schon geschrieben, wie man das macht und einen entsprechenden Flow erstellt.
-
@mickym Mega, vielen Dank.
Es kann so einfach sein. Kontrolliert die Steuerung denn auch wenn true bleibt bei Bewegung, das dass Licht dann an bleibt !? -
@aphofis sagte in 2 Bewegungsmelder (Aqara) sollen einen Lampe schalten:
@mickym Mega, vielen Dank.
Es kann so einfach sein. Kontrolliert die Steuerung denn auch wenn true bleibt bei Bewegung, das dass Licht dann an bleibt !?Ja wenn ein true Signal durch kommt (wird durch die 1. switch Node gefiltert) und der Robokrock nicht in Betrieb ist, also die 2 Node passiert wird, dann erreicht die Node ja die Trigger Node, wobei da habe ich noch ein Fehler drin. sehe ich gerade.
Das muss t Du noch ändern.
Nach 1 Minute wird false gesendet. Das wird aber so lange verzögert solange der BWM weiterhin true sendet. Wenn nicht läuft die Minute los.
Hier noch der korrigierte Flow:
-
@mickym
Hab ich geändert. Das also das != was den wert negativiert.
Also wenn nicht 5 dann geht der trigger true durch
Das ja noch geiler, wenn bewegung erkannt geht licht an und dann dauert es paar sekunden dann läuft erst der Timer los. -
@aphofis sagte in 2 Bewegungsmelder (Aqara) sollen einen Lampe schalten:
@mickym
Hab ich geändert. Das also das != was den wert negativiert.
Also wenn nicht 5 dann geht der trigger true durchDas sind die Vergleichsoperatoren. Ja heißt einfach wenn UNGLEICH 5 ist.
-
@aphofis sagte in 2 Bewegungsmelder (Aqara) sollen einen Lampe schalten:
Das ja noch geiler, wenn bewegung erkannt geht licht an und dann dauert es paar sekunden dann läuft erst der Timer los.
Ja Du musst halt aufpassen, dass der BWM genügend oft true Signale sendet, manche BWM senden nur 1 mal pro Minute, dann solltest Du die Zeit bevor false gesendet wird erhöhen.
-
@mickym
Das muss man nur wissen. Bei 3D Druckern ist es auch nur ein '!' was den wert negativiert.
Sprich wenn der motor falschrum läuft ein ! Davor zack läuft der Motor in die andere Richtung.
Jetzt muss ich nur noch meine bestehenden Blockly Steuerungen ins Node-Red bringen. -
@aphofis sagte in 2 Bewegungsmelder (Aqara) sollen einen Lampe schalten:
Bei 3D Druckern ist es auch nur ein '!' was den wert negativiert.
Grundsätzlich verändert eine switch Node keinen Wert. Das macht eine CHANGE Node. Mit einer Switch Node überprüfst Du eine Nachrichteneigenschaft und leitest die basierend auf der Eigenschaften an eine oder unterschiedliche Ausgänge.
Das ist mehr oder weniger WENN .... DANN ... nimm AUSGANG 1, WENN .... DANN ... nimm AUSGANG2 etc. Aber es wird in einer Switch Node nichts verändert.
-
@mickym
Ok schon mal einfacher zu verstehen als in Blockly. paul53 hatte mir das schon bombastische Steuerungen im Blockly für mein damaliges Meerwasser Aquarium erstellt wo ich viele Steuerungen nicht verstanden habe. Da diese sehr komplex waren.
Ich ziehe auch echt den Hut vor den Leuten, die sowas programmieren können. -
@mickym
Man kann sogar Das Licht trotzdessen einschalten wenn man Alexa nutzt.
Aber ich denke wenn man jetzt Alexa noch mit rein nimmt, das wenn man das Licht per Sprache aktiviert, das dann auch wenn keine Bewegung mehr erkannt wird dann der Timer läuft und das Licht nach 1 min aus geht. also die Bedingung über Alexa. Dazu müsste ja Alexa abgehorcht werden. Das wird dann vermutlich zu aufwendig!? Könnte man aber dann auch wiederrum für einen Digitalen Schalter nutzen also wenn Alexa zb in Routine Bad Licht an true ist soll die Steuerung mit Bewegung und Timer weiter laufen bis stimme die Routine wieder deaktiviert.
Der Datenpunkt für Bad Licht an wäre:Bad licht an
in meinem Echo Show. Wenn man mehrere Alexa geräte hat, muss man dann natürlich alle routinen zu allen alexa geräten dazu nehmen.
-
@aphofis sagte in 2 Bewegungsmelder (Aqara) sollen einen Lampe schalten:
Aber ich denke wenn man jetzt Alexa noch mit rein nimmt, das wenn man das Licht per Sprache aktiviert, das dann auch wenn keine Bewegung mehr erkannt wird dann der Timer läuft und das Licht nach 1 min aus geht. also die Bedingung über Alexa. Dazu müsste ja Alexa abgehorcht werden. Das wird dann vermutlich zu aufwendig!?
Wieso wenn Du mit Alexa einschalten willst hängst Du es einfach an den EIngang der Trigger Node.
-
@mickym
Iwie will das nicht so ganz...[ { "id": "2e295f1c879e6af4", "type": "tab", "label": "Küche Bad Motion Timer", "disabled": false, "info": "", "env": [] }, { "id": "553c77a748e7869a", "type": "junction", "z": "2e295f1c879e6af4", "x": 480, "y": 100, "wires": [ [ "2cbb19c25bdbf55d" ] ] }, { "id": "63495a6198767abe", "type": "junction", "z": "2e295f1c879e6af4", "x": 1140, "y": 100, "wires": [ [ "d0ddca612599b43c", "9dd1e1bc2bca9ade" ] ] }, { "id": "c0e067dc71657cd6", "type": "junction", "z": "2e295f1c879e6af4", "x": 520, "y": 520, "wires": [ [ "fdd6a8d770321ddf" ] ] }, { "id": "51e1e3fc8f508df5", "type": "junction", "z": "2e295f1c879e6af4", "x": 980, "y": 500, "wires": [ [ "e2da7a63d3c15673", "f34957801db99988", "3980458ba6d298ac", "a7ac79dac573570f" ] ] }, { "id": "99a62a6f9b1c0c05", "type": "junction", "z": "2e295f1c879e6af4", "x": 1140, "y": 100, "wires": [ [] ] }, { "id": "b8f8997592b68e2c", "type": "junction", "z": "2e295f1c879e6af4", "x": 900, "y": 240, "wires": [ [ "99a62a6f9b1c0c05" ] ] }, { "id": "1ac75a0bc5ee3bc7", "type": "ioBroker in", "z": "2e295f1c879e6af4", "name": "Küche Motion", "attrname": "payload", "topic": "hue.0.Küche_Motion_Sensor.presence", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "false", "outFormat": "MQTT", "x": 110, "y": 440, "wires": [ [ "0c7f79f1670db831" ] ] }, { "id": "f34957801db99988", "type": "ioBroker out", "z": "2e295f1c879e6af4", "name": "Küche Unterschrank links", "topic": "hue.0.Küche_Unterschr_Links.on", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1170, "y": 500, "wires": [] }, { "id": "e2da7a63d3c15673", "type": "debug", "z": "2e295f1c879e6af4", "name": "debug 2", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1120, "y": 440, "wires": [] }, { "id": "08933b607402d98c", "type": "inject", "z": "2e295f1c879e6af4", "name": "", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "str", "x": 130, "y": 500, "wires": [ [ "0c7f79f1670db831" ] ] }, { "id": "3980458ba6d298ac", "type": "ioBroker out", "z": "2e295f1c879e6af4", "name": "Küche Unterschrank rechts", "topic": "sonoff.0.kueche_unterschrank_rechts.POWER", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1180, "y": 560, "wires": [] }, { "id": "a7ac79dac573570f", "type": "ioBroker out", "z": "2e295f1c879e6af4", "name": "Küche Decke", "topic": "tuya.0.bf36b7d083796c35e8gq51.1", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1130, "y": 620, "wires": [] }, { "id": "4c349095bd25378c", "type": "ioBroker get", "z": "2e295f1c879e6af4", "name": "Reinigung Status", "topic": "mihome-vacuum.1.info.state", "attrname": "roborock", "payloadType": "value", "errOnInvalidState": "nothing", "x": 590, "y": 60, "wires": [ [ "a95d63f2785aa847" ] ] }, { "id": "4b318acc0eab7b1b", "type": "ioBroker in", "z": "2e295f1c879e6af4", "name": "Bad Motion", "attrname": "payload", "topic": "hue.0.Bad_Motion_Sensor.presence", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "false", "outFormat": "MQTT", "x": 90, "y": 40, "wires": [ [ "66e5680c9143f38f" ] ] }, { "id": "9dd1e1bc2bca9ade", "type": "ioBroker out", "z": "2e295f1c879e6af4", "name": "Bad Decke", "topic": "sonoff.0.bad_deckenlampe.POWER", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1290, "y": 100, "wires": [] }, { "id": "d0ddca612599b43c", "type": "debug", "z": "2e295f1c879e6af4", "name": "debug 1", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1280, "y": 60, "wires": [] }, { "id": "a0aaa672fbf892e5", "type": "inject", "z": "2e295f1c879e6af4", "name": "", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "str", "x": 110, "y": 100, "wires": [ [ "66e5680c9143f38f" ] ] }, { "id": "66e5680c9143f38f", "type": "switch", "z": "2e295f1c879e6af4", "name": "Bewegung erkannt?", "property": "payload", "propertyType": "msg", "rules": [ { "t": "true" }, { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 340, "y": 80, "wires": [ [ "4c349095bd25378c", "553c77a748e7869a" ], [ "553c77a748e7869a" ] ] }, { "id": "a95d63f2785aa847", "type": "switch", "z": "2e295f1c879e6af4", "name": "Roborock nicht Status 5", "property": "roborock", "propertyType": "msg", "rules": [ { "t": "neq", "v": "5", "vt": "num" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 930, "y": 60, "wires": [ [ "63495a6198767abe" ] ] }, { "id": "2cbb19c25bdbf55d", "type": "trigger", "z": "2e295f1c879e6af4", "name": "Warte 1 Minute bevor false gesendet wird", "op1": "true", "op2": "false", "op1type": "bool", "op2type": "bool", "duration": "60", "extend": true, "overrideDelay": false, "units": "s", "reset": "true", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 920, "y": 100, "wires": [ [ "63495a6198767abe" ] ] }, { "id": "ded2386bc0ab0eb2", "type": "ioBroker get", "z": "2e295f1c879e6af4", "name": "Reinigung Status", "topic": "mihome-vacuum.1.info.state", "attrname": "roborock", "payloadType": "value", "errOnInvalidState": "nothing", "x": 590, "y": 480, "wires": [ [ "a72ab3c0be80704d" ] ] }, { "id": "0c7f79f1670db831", "type": "switch", "z": "2e295f1c879e6af4", "name": "Bewegung erkannt?", "property": "payload", "propertyType": "msg", "rules": [ { "t": "true" }, { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 340, "y": 500, "wires": [ [ "ded2386bc0ab0eb2", "c0e067dc71657cd6" ], [ "c0e067dc71657cd6" ] ] }, { "id": "a72ab3c0be80704d", "type": "switch", "z": "2e295f1c879e6af4", "name": "Roborock nicht Status 5", "property": "roborock", "propertyType": "msg", "rules": [ { "t": "neq", "v": "5", "vt": "num" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 810, "y": 480, "wires": [ [ "51e1e3fc8f508df5" ] ] }, { "id": "fdd6a8d770321ddf", "type": "trigger", "z": "2e295f1c879e6af4", "name": "Warte 1 Minute bevor false gesendet wird", "op1": "true", "op2": "false", "op1type": "bool", "op2type": "bool", "duration": "10", "extend": true, "overrideDelay": false, "units": "s", "reset": "true", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 760, "y": 520, "wires": [ [ "51e1e3fc8f508df5" ] ] }, { "id": "3d16cb434aa22482", "type": "ioBroker get", "z": "2e295f1c879e6af4", "name": "Bad licht an Alexa", "topic": "alexa2.0.Echo-Devices.G0913L06031202PA.Routines.d2b8b4a7-0faf-444d-be14-0e90a1db9e1e", "attrname": "Alexa", "payloadType": "value", "errOnInvalidState": "nothing", "x": 330, "y": 140, "wires": [ [ "2cbb19c25bdbf55d" ] ] }, { "id": "d7b5fe24eb069f5c", "type": "inject", "z": "2e295f1c879e6af4", "name": "Digital true", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "str", "x": 100, "y": 200, "wires": [ [ "506488975306ad6c" ] ] }, { "id": "9e7ed5475aba6cfc", "type": "inject", "z": "2e295f1c879e6af4", "name": "Digital false", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "false", "payloadType": "str", "x": 90, "y": 260, "wires": [ [ "506488975306ad6c" ] ] }, { "id": "58eac2439ec37bc9", "type": "ioBroker get", "z": "2e295f1c879e6af4", "name": "Bad licht an Digital", "topic": "0_userdata.0.Test_Schalter", "attrname": "Alexa", "payloadType": "value", "errOnInvalidState": "nothing", "x": 590, "y": 180, "wires": [ [ "2cbb19c25bdbf55d" ] ] }, { "id": "cf9b1ba0a9977865", "type": "ioBroker get", "z": "2e295f1c879e6af4", "name": "Digital licht aus", "topic": "0_userdata.0.Test_Schalter", "attrname": "Alexa", "payloadType": "value", "errOnInvalidState": "nothing", "x": 600, "y": 240, "wires": [ [ "b8f8997592b68e2c" ] ] }, { "id": "506488975306ad6c", "type": "switch", "z": "2e295f1c879e6af4", "name": "Digital Schalter", "property": "payload", "propertyType": "msg", "rules": [ { "t": "true" }, { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 320, "y": 200, "wires": [ [ "58eac2439ec37bc9" ], [ "cf9b1ba0a9977865" ] ] } ]
-
@aphofis Na ich weiss immer nicht welchen Flow Du nimmst. Dann musst Du halt alles in die Switch Node Bewegung erkannt schicken. Ich würde halt dann den Namen ändern in: Ist true.
Dann brauchst auch nicht den Digitalen Schalter, der obere Switch ist ja dann schon der digitale Schalter
Und anstelle der Alexa Node über einen Datenpunkt kannst ja den Flow direkt anschließen.
Und wenn Du für die anderen kein Überprüfung des Staubis haben willst, dann nimm den anderen Flow.
-
@mickym
Ne das will nicht!
hab einen Test Schalter Datenpunkt auf den die Steuerung laufen soll und bei Schalter false soll
auch sofort das Licht aus gehen.
By the way wie erstellst du diese Knotenpunkte ? -
@aphofis Na dann wenn true und false sofort schalten soll, dann würde ich nur die iobroker-Out Node anschließen.
-
@aphofis sagte in 2 Bewegungsmelder (Aqara) sollen einen Lampe schalten:
By the way wie erstellst du diese Knotenpunkte ?
Rechte Maustaste:
-
@mickym
So klappt es!
Es muss nicht die Timer Steuerung wenn man den Digital Lichtschalter benutzt. Dann kann man per Lichtschalter sofort abschalten oder per alexa abschalten. Wenn Alexa oder Schalter ist man ja eh physisch zu hause.[ { "id": "2e295f1c879e6af4", "type": "tab", "label": "Bad Motion Timer", "disabled": false, "info": "", "env": [] }, { "id": "553c77a748e7869a", "type": "junction", "z": "2e295f1c879e6af4", "x": 740, "y": 100, "wires": [ [ "2cbb19c25bdbf55d" ] ] }, { "id": "63495a6198767abe", "type": "junction", "z": "2e295f1c879e6af4", "x": 1180, "y": 100, "wires": [ [ "9dd1e1bc2bca9ade", "d0ddca612599b43c" ] ] }, { "id": "99a62a6f9b1c0c05", "type": "junction", "z": "2e295f1c879e6af4", "x": 1180, "y": 100, "wires": [ [] ] }, { "id": "4c349095bd25378c", "type": "ioBroker get", "z": "2e295f1c879e6af4", "name": "Reinigung Status", "topic": "mihome-vacuum.1.info.state", "attrname": "roborock", "payloadType": "value", "errOnInvalidState": "nothing", "x": 810, "y": 60, "wires": [ [ "a95d63f2785aa847" ] ] }, { "id": "4b318acc0eab7b1b", "type": "ioBroker in", "z": "2e295f1c879e6af4", "name": "Bad Motion", "attrname": "payload", "topic": "hue.0.Bad_Motion_Sensor.presence", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "false", "outFormat": "MQTT", "x": 90, "y": 40, "wires": [ [ "66e5680c9143f38f" ] ] }, { "id": "9dd1e1bc2bca9ade", "type": "ioBroker out", "z": "2e295f1c879e6af4", "name": "Bad Decke", "topic": "sonoff.0.bad_deckenlampe.POWER", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1290, "y": 100, "wires": [] }, { "id": "d0ddca612599b43c", "type": "debug", "z": "2e295f1c879e6af4", "name": "debug 1", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1280, "y": 60, "wires": [] }, { "id": "a0aaa672fbf892e5", "type": "inject", "z": "2e295f1c879e6af4", "name": "", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "str", "x": 110, "y": 100, "wires": [ [ "66e5680c9143f38f" ] ] }, { "id": "66e5680c9143f38f", "type": "switch", "z": "2e295f1c879e6af4", "name": "Bewegung erkannt?", "property": "payload", "propertyType": "msg", "rules": [ { "t": "true" }, { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 580, "y": 60, "wires": [ [ "4c349095bd25378c", "553c77a748e7869a" ], [ "553c77a748e7869a" ] ] }, { "id": "a95d63f2785aa847", "type": "switch", "z": "2e295f1c879e6af4", "name": "Roborock nicht Status 5", "property": "roborock", "propertyType": "msg", "rules": [ { "t": "neq", "v": "5", "vt": "num" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 1030, "y": 60, "wires": [ [ "63495a6198767abe" ] ] }, { "id": "2cbb19c25bdbf55d", "type": "trigger", "z": "2e295f1c879e6af4", "name": "Warte 1 Minute bevor false gesendet wird", "op1": "true", "op2": "false", "op1type": "bool", "op2type": "bool", "duration": "10", "extend": true, "overrideDelay": false, "units": "s", "reset": "true", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 980, "y": 100, "wires": [ [ "63495a6198767abe" ] ] }, { "id": "3d16cb434aa22482", "type": "ioBroker get", "z": "2e295f1c879e6af4", "name": "Bad licht an Alexa", "topic": "alexa2.0.Echo-Devices.G0913L06031202PA.Routines.d2b8b4a7-0faf-444d-be14-0e90a1db9e1e", "attrname": "Alexa", "payloadType": "value", "errOnInvalidState": "nothing", "x": 110, "y": 140, "wires": [ [ "66e5680c9143f38f" ] ] }, { "id": "fc25cbeee0cad617", "type": "ioBroker out", "z": "2e295f1c879e6af4", "name": "Bad Decke", "topic": "sonoff.0.bad_deckenlampe.POWER", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1290, "y": 220, "wires": [] }, { "id": "4961b7defde8b1ea", "type": "ioBroker in", "z": "2e295f1c879e6af4", "name": "Schalter Digital", "attrname": "payload", "topic": "0_userdata.0.Test_Schalter", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "false", "outFormat": "MQTT", "x": 120, "y": 200, "wires": [ [ "a6f995c7f01c5cc0" ] ] }, { "id": "a6f995c7f01c5cc0", "type": "switch", "z": "2e295f1c879e6af4", "name": "Switch true/false", "property": "payload", "propertyType": "msg", "rules": [ { "t": "true" }, { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 1080, "y": 200, "wires": [ [ "fc25cbeee0cad617", "8abca0bad942f182" ], [ "fc25cbeee0cad617", "8abca0bad942f182" ] ] }, { "id": "8abca0bad942f182", "type": "debug", "z": "2e295f1c879e6af4", "name": "debug 9", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1280, "y": 180, "wires": [] } ]
Hoffe das ist programmier technisch so korrekt. -
@aphofis Nein der switch ist doch überflüssig, wenn du sowohl true und false an die iobroker-Out Node schickst. Lösch die.
-
Hab da moch so einige Wemos Mini einige Netzteile die in eine Lichtschalter Unterputzdose reinpassen. muss dann nur noch blenden mit digital taster (Button) finden dann kann das Projekt Digital Schalter los gehen. Erstmal nur Küche und Bad.