NEWS
[gelöst] Kleine Lichtsteuerung mit Bewegungsmelder
-
Das blöde ist nur, das der Roborock Adapter keinen Zustand hat reinigen true oder ähnliches
Über das Addon bei Node-Red hatte ich es auch schon versucht, doch dort bekomme ich keine Verbindung und wüsste dann auch nicht ob der Roborock darüber dann zB reinigen true/false ausgibt. -
-
Das "stop timeout" muss mit in den Trigger. Schau Dir das verlinkte Beispiel an.
-
Das können nicht alle DP zum Roborock sein. Mein S7 hatte da deutlich mehr.
-
-
@aphofis
Ich nutze "MI-Home Vacuum Adapter" und da haben beide meine Roborock (S5 und Q8) ein State DP. -
@codierknecht
Ich habe den S6 MaxV
Ich vermute mal das da irgendwas fehlt.
Habe im Router die benötigten Ports freigegeben.
Wenn ich im Adaper Roborock die Mail Adresse weg lasse verbindet er aber hat dann auch nicht alle Daten mit Email gibts keine Verbindung.
MiHome Vacuum Adapter baut auch keine saubere Verbindung auf.
Per PC Software kann ich Token auslesen. -
und jetzt wirds richtig skuriel, in der Fritze wird der Roborock mit der IP 19.168.0.3 angezeigt.
In dem MiHome Vacuum Adapter und in der PC Software Get MiHome Devices wird das Gerät mit der IP 192.168.0.2 angezeigt. In der Fritze ist die .2 nicht belegt.
Hab die IP mal ausgelöst in der Fritze und auf die .2 geändert.
Roborock Adapter verbindet auch mit Email Adresse aber kommen nicht mehr Daten.
MiHome Vacuum Adapter verbindet weiterhin nicht. -
@aphofis sagte in Kleine Lichtsteuerung mit Bewegungsmelder:
Habe im Router die benötigten Ports freigegeben.
das scheunentor ist geöffnet...
ich würd mal alles komplett resetten (adapter deinsten) und neu anfangen.
daten per hand eingeben, nicht c/p, da kann schnell eine leerstelle drinnen sein. -
@aphofis sagte in Kleine Lichtsteuerung mit Bewegungsmelder:
MiHome Vacuum Adapter verbindet weiterhin nicht.
Das Problem mit dem Robbi wirst Du wohl eher hier los:
https://forum.iobroker.net/topic/67186/neuer-adapter-für-roborock-staubsauger -
So habe den Roborock jetzt über MiHome Vacuum Adapter aktiv.
Doch wie stelle ich es jetzt an, das die Lichtsteuerung deaktiviert ist wenn die Reinigung aktiv ist.!?[ { "id": "2e295f1c879e6af4", "type": "tab", "label": "Küche Bad Motion Timer", "disabled": false, "info": "", "env": [] }, { "id": "7d4ab0828d82e844", "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": 210, "y": 100, "wires": [ [ "0c475f0f9588a3f7" ] ] }, { "id": "c6adf9d10b1da0b1", "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": 990, "y": 160, "wires": [] }, { "id": "f2d561282f7163ed", "type": "debug", "z": "2e295f1c879e6af4", "name": "debug 1", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 980, "y": 100, "wires": [] }, { "id": "0ad0adc9762722c5", "type": "inject", "z": "2e295f1c879e6af4", "name": "", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "str", "x": 230, "y": 160, "wires": [ [ "0c475f0f9588a3f7" ] ] }, { "id": "d14674cd9f0cb2b4", "type": "trigger", "z": "2e295f1c879e6af4", "name": "", "op1": "true", "op2": "false", "op1type": "bool", "op2type": "bool", "duration": "5", "extend": false, "overrideDelay": true, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 800, "y": 140, "wires": [ [ "f2d561282f7163ed", "c6adf9d10b1da0b1" ] ] }, { "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": 210, "y": 260, "wires": [ [ "2a11a3084a3bfc87" ] ] }, { "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": 670, "y": 280, "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": 620, "y": 220, "wires": [] }, { "id": "08933b607402d98c", "type": "inject", "z": "2e295f1c879e6af4", "name": "", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "str", "x": 230, "y": 320, "wires": [ [ "2a11a3084a3bfc87" ] ] }, { "id": "2a11a3084a3bfc87", "type": "trigger", "z": "2e295f1c879e6af4", "name": "", "op1": "true", "op2": "false", "op1type": "bool", "op2type": "bool", "duration": "5", "extend": false, "overrideDelay": true, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 400, "y": 300, "wires": [ [ "e2da7a63d3c15673", "f34957801db99988", "3980458ba6d298ac", "a7ac79dac573570f" ] ] }, { "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": 680, "y": 340, "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": 630, "y": 400, "wires": [] }, { "id": "0c475f0f9588a3f7", "type": "ioBroker get", "z": "2e295f1c879e6af4", "name": "Reinigung Status", "topic": "mihome-vacuum.0.control.clean_home", "attrname": "payload", "payloadType": "value", "errOnInvalidState": "nothing", "x": 410, "y": 140, "wires": [ [ "f7a7cd85e1339dc9" ] ] }, { "id": "cf5f4179cbb90024", "type": "trigger", "z": "2e295f1c879e6af4", "name": "", "op1": "1", "op2": "0", "op1type": "val", "op2type": "val", "duration": "250", "extend": "false", "overrideDelay": "false", "units": "ms", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 340, "y": 520, "wires": [ [] ] }, { "id": "f7a7cd85e1339dc9", "type": "toggle", "z": "2e295f1c879e6af4", "name": "", "onOffTopic": "", "onValue": "true", "onType": "str", "offValue": "false", "offType": "str", "toggleTopic": "", "toggleValue": "", "toggleType": "str", "passOnOff": "", "x": 610, "y": 140, "wires": [ [ "d14674cd9f0cb2b4" ] ] } ]
Wenn der Roborock Robotersauger beim arbeiten ist, Hat er den Status "5" sprich wenn Roborock den wert 5 hat darf das Badlicht nicht angesprochen werden trotz Bewegung.
hat der Status Roborock irgend einen anderen Wert dann kann das Licht per Bewegungsmelder eingeschaltet werden und irgenwie geht das licht immer wieder aus trotz das der bewegungsmelder bewegung erkennt. geht das Licht aus und auch ganz lange nicht mehr an als ob der Trigger nicht auf Bewegung reagiert. -
-
@aphofis Für so was brauch man keine toggle Node- Auch hier gilt: NodeRed bringt in den meisen Fällen das nötige Rüstzeug bereist mit..
Für alle Bedingungen nimmt man einen Switch. Es ist richtig, dass der Bewegungsmelder triggert. Ausserdem würde ich nicht per Trigger das Licht wieder ausschalten, sondern das soll der BWM am Besten selbst machen. Sprich wenn der BWM false sendet dann soll er immer ausschalten, schließlich kann sich Dein Staubi ja in einem anderen Raum befinden.
Ich sage also bei false soll er immer ausschalten bei True nur dann einschalten wenn der Staubi nicht arbeitet. Damit der Stautus des Staubi die payload nicht überschriebt, setze ich den Staubi auf ein anderes Attribut des Nachrichtenobjektes
Als Erstes weisen wir also dem Staubi in der get Node einen eigenen Status zu, sodass wir die payload des BWM nicht überschreiben:
Dann lassen wir den BWM aus und einschalten und keinen trigger. Ich gehe mal davon aus, dass der BWM true/false liefert und damit auch das Licht schalten kann. Ausschalten darf der BWM also immer, einschalten nur wenn der Roborok nicht den Status 5 hat.
Hier der Flow zum Import:
Wenn Du willst, dass das false Signal erst nach 1 Minute Verzögerung ausschaltet, dann kannst Du einen entsprechenden Trigger in den false setzen und durch ein true zurücksetzen. Ich modifiziere das noch schnell.
-
@Aphofis wenn du nicht willst, dass der BWM false sendet, dann hängst du den trigger node in den true Asr und löschst den false Ast in der 1. switchNode. In diesem Fall vereinfacht sich der Flow wie folgt:
Hier zum Import:Also nimm diesen Flow - einfach ist immer am Besten - hier ignorierst Du die false Nachrichten des Bewegungsmelders.
EDIT: Flow (Trigger Node noch korrigiert siehe anderer Thread).
-
@aphofis sagte: wenn Roborock den wert 5 hat darf das Badlicht nicht angesprochen werden trotz Bewegung.
Das Thema läuft unter der Kategorie "Blockly". Deshalb Vorschlag:
-
@codierknecht sagte in Kleine Lichtsteuerung mit Bewegungsmelder:
@aphofis
Bei NodeRed bin ich raus.
Vielleicht kann da @mickym weiterhelfen?Danke für die Info
-
@paul53
Das Super! Das stimmt, es ging um ein Blockly nur wollte ich mal meine Hussteuerungen mit Node-Red ausprobieren.
Da der Aufbau doch eher nachvollziehbarer ist. Zumindest für meine Verhältnisse.
Funktioniert auch! Vielen Dank -
@mickym
Hab jetzt diese Steuerung am laufen und funktioniert nur der Datenpunkt für die bedingung ist:mihome-vacuum.1.info.state
Das war die einzige Änderung die ich gemacht hatte. Es läuft prima.
Wenn der Roborock unterwegs ist und den Wert Cleaning (5) Hat geht das Licht nicht an.
Wenn er andere Werte hat löse ich diese wenn dann sowieso manuell aus wenn ich zu Hause bin.
Ansonsten steht er beim laden auf Charging (8). Auch Licht getestet wenn Bewegung bleibt, bleibt das Licht auch an bzw bei kurzem nicht bewegen geht das Licht aus und nach bewegung sofort wieder an. Also alles TippiToppi -
@aphofis OK wenn Du diesen Flow nimmst funktioniert das. Wenn Du den letzten Flow nimmst, musst Du die Trigger node noch ändern. Aber wenn Du mit dem Flow zufrieden bist, ist OK. Ansonsten vielleicht lieber den anderen Thread nehmen, weil hier sind wir im Bockly Forum.
-
@mickym
I know hatte ich vergessen. -
Für alle die sowas auch machen wollen und den Roborock haben und aber keine Inhalte in den Datenpunkten hat obwohl der Roborock Adapter sagt alles verbunden.
Einfach die MiHome Vacuum App auf dem Handy laden.
Den Roborock neu einlernen. Die Karten Zeitpläne etc bleiben in der App erhalten dann den Roborock Adapter deinstallieren und den MiHome Vacuum Adapter einstellen.
per Account E-Mail und passwort bezieht der Adapter den Roborock.
Wenn man mehrere hat, werden diese mit dem Token; IP etc angezeigt. Die Daten übertragen in den Adapter. Ich habe dazu noch in Node-Red die Nodes node-red-contrib-xiaomi-roborock installiert. darüber kann man den Xiaomi super steuern bez. touchscreen (VIS).
Es werden alle Werte unter Objekten angezeigt. -
@aphofis sagte in [gelöst] Kleine Lichtsteuerung mit Bewegungsmelder:
Wenn man mehrere hat, werden diese mit dem Token; IP etc angezeigt. Die Daten übertragen in den Adapter. Ich habe dazu noch in Node-Red die Nodes node-red-contrib-xiaomi-roborock installiert. darüber kann man den Xiaomi super steuern bez. touchscreen (VIS).
Es werden alle Werte unter Objekten angezeigt.Grundsätzlich ist es gefährlich eine Hardware von 2 Systemen anzusteueren, das kann zu Konflikten führen. Also entweder die Node oder den Adapter. Du kannst ja über NodeRed auch die Datenpunkte im iobroker Adapter ansteuern. Beides würde ich NICHT machen.
-
@mickym
Kann mann die bestehende Lichtsteuerung erweitern um den smarten Lichtschalter.!?
Sprich, wenn Schalter benutzt wird dann Bewegungmelder ignorieren und dann automatisch nach 15 min Licht ausschalten und Bewegung wieder aktiv !? und natürlich bleibt der Roborock mit drin das echt ne tolle Steuerung!
Ich weiß nur nicht ob das geht, weil Bad deckenlicht wird ja jetz nur über den Smart Lichtschalter geschaltet. Doch müsste doch wenn schalter true dann bewegung inaktiv dann 15 min warten dann licht aus und bewegung aktiv.