NEWS
Bad besetzt Erkennung und dann Licht an
-
Hallo.
Ich bin ganz neu auf diesem Gebiet Blocky unterwegs.
Einfache An aus Schaltungen usw fuktionieren ganz Gut.
Jetzt möchte ich mein Bad inteligent machen.Wenn ich es betrete soll das Licht angehen und wenn ich es veralasse soll es ausgehen.
Natürlich wenn ich es betreten habe und mich länger nicht bewege soll das Licht an bleiben (Badewanne)Hierfür habe ich jeweils einen Xiaomi Aqara Tür und Bewegungsmelder im Einsatz.
Jetzt habe ich das Problem das ich es nicht schaffe meine Logik bei Blocky zu Integrieren
Hier mal meine Gedanken
Wenn Tür auf und Bewegung erkannt = Licht an
Wenn Tür zu und Bewegung erkannt = Besetzt (Licht wurde ja oben schon eingeschaltet)
Wenn Tür zu und nicht Besetzt = Licht ausIch habe dort für die Besetzt und nicht Besetzt Erkennung einen Zähler Tür auf eingebaut da dieses ja größer als 1 sein muss wenn ich nicht mehr drinnen bin.
Der Bewegungsmelder Ändert auch erst nach 60 sec wieder seinen Status also bleibt das Licht immer für mindestens 60 sec an was ja auch gut ist.
Später soll noch zusätzlich rein
Wenn Tür auf und Bewegung nicht mehr erkannt = Licht aus (Hier sind es ja beim Bewegungsmelder die 60sec bis zur Änderung)
Hier mal mein momentanes Blocky.
Momentan schaltet es nur noch ein aber nicht mehr aus.
Es wird auch kein Besetzt mehr erkannt.Hoffe mal das jemand anderes schon einmal diese Idee hatte und eine Lösung kennt.
Danke
Atredis
var T_C3_BCr_auf, Last_Motion_Zeit, Bad_Besetzt; on({id: "mihome.0.devices.magnet_158d0002ca1368.state"/*Is opened*/, change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == true) { T_C3_BCr_auf = (typeof T_C3_BCr_auf == 'number' ? T_C3_BCr_auf : 0) + 1; } }); on({id: new RegExp('mihome\\.0\\.devices\\.magnet_158d0002ca1368\\.state' + "|" + 'mihome\\.0\\.devices\\.sensor_motion_aq2_158d0002e2e584\\.state' + "|" + 'mihome\\.0\\.devices\\.sensor_motion_aq2_158d0002e2e584\\.no_motion'), change: "any"}, function (obj) { Last_Motion_Zeit = parseFloat('mihome.0.devices.sensor_motion_aq2_158d0002e2e584.no_motion'); if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == true && getState("mihome.0.devices.sensor_motion_aq2_158d0002e2e584.state").val == true) { setState("HomeKit.0.Licht_Bad_Shelly"/*Licht Bad Shelly*/, true); console.log('Erstes einschalten'); } if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == false && getState("mihome.0.devices.sensor_motion_aq2_158d0002e2e584.state").val == true && Bad_Besetzt == false) { Bad_Besetzt = true; console.log('Besetzt'); } if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == false && getState("mihome.0.devices.sensor_motion_aq2_158d0002e2e584.state").val == false && Bad_Besetzt == false) { setState("HomeKit.0.Licht_Bad_Shelly"/*Licht Bad Shelly*/, false); console.log('Licht aus'); } if (T_C3_BCr_auf > 1 && Last_Motion_Zeit > 59) { Bad_Besetzt = false; T_C3_BCr_auf = 0; console.log('Bad Besetzt zurücksetzen'); } });
-
@Atredis
Bitte auch Gedanken darüber machen, was passiert bzw. Ist der Ablauf wenn jemand im Bad ist und ein zweiter kommt rein.
Der Zähler würde dann nicht helfen. -
Ein weiteres mögliches Logik-Problem:
Was ist bei Tür zu und schön entspannt in der Wanne liegen, also recht bewegungslos? Momentan geht meiner Meinung nach das Licht aus... -
@Atredis
Wenn man die Logik vereinfacht?Wenn Bewegung erkannt: Licht an
Wenn keine Bewegung UND Tür auf: Licht ausDas würde doch alle Eventualitäten abdecken... sogar das Einschlafen in der Wanne
???
-
@MichaelG
Wie schaffst du es zur Tür ohne Bewegungserkennung? -
Apropo Badewanne
Anwesenheitserkennung nach Badewannenprinzip -
@Muchul
Verstehe die Frage nicht.Ich gehe ins Bad: Bewegung wird erkannt: Licht geht an
Ich mache die Tür zu: Licht bleibt an ob ich mich bewege oder nicht
Ich gehe aus dem Bad raus (und muss die Tür offen lassen): Licht geht aus nachdem keine Bewegung mehr erkannt wird.So hätte ich es gedacht.
Oder in "Code"
Wenn Objekt Bewegung wurde geändert...
Wenn Bewegung = true dann Licht an
Sonst Wenn Tür=auf dann Licht ausfertig. Denke ich zu simpel?
Ich gehe davon aus, dass, wenn ich das Bad verlasse die Bewegung erkannt wird. -
Badezimmer Tür muss also immer offen bleiben damit das Licht ausgeschaltet wird?
Und wenn jemand versehentlich die Tür schließt?
Was ist mit Familie, Gästen, mir wäre das zu unsicher. -
@atredis Konntest du das Problem lösen?