NEWS
[gelöst] Probleme mit Bewegunsmelder und Blockly
-
Hi,
Ich habe in unserer Küche einen Zigbee Bewegungsmelder(Batterie) und zwei Schaltbare Zigbee Steckdosen die über zigbee2mqtt in IoBroker eingebunden sind, die dann unsere LED Einbauleuchten schalten. Das funktioniert auch soweit alles über zwei Blocklyscripte. Was ich nicht bedacht habe ist das der Datenpunkt Occupancy vom Bewegungsmelder solange auf true bleibt solange auch Bewegung im Raum ist, ist keine Bewegung dann geht er in 90 sek aus false und wenn wieder , wie in meinem Fall, innerhalb von 10 min Bewegung registriert wird geht der Wert wieder auf true.
In dem ersten Blockly habe ich mir daraufhin einen Datenpunkt motion_küche erstellt der den Occupancy triggert und dementsprechend auf true bzw nach 5sek wieder false steuert.
Im zweiten Blockly habe ich dann als Trigger den Datenpunkt von motion_küche und dann werden die beiden Steckdosen geschaltet mit einem Timer von 10 min und wenn dann keine Bewegung mehr ist gehen die Lampen halt wieder aus. Das funktioniert auch soweit wenn man halt nur kurz in der Küche ist und etwas aus dem Kühlschrank holt, selbst das Timing wird neu gestartet wenn den Bewegung true/false registriert wird, nur wenn wir etwas länger als 10 min in der Küche uns bewegen geht der Wert nich auf false und zurück und somit funktioniert ja der Trigger auch nicht wenn keine Veränderung stattfindet.
Nun ist die Situation allerdings so das wenn wir Kochen auch mal länger als 10 min in der Küche sind, und dann ab und zu im dunkeln stehen weil der Occupancy Wert halt die ganze Zeit auf true ist.
meine Idee ist das nach 10min nochmals der Trigger gestartet wird und dann wenn auf true dann verlängere das Timing wenn auf false schalte Licht aus , damit würde dann verhindert werden wenn der Wert true innehalb von 10min sich nicht geändert hat dann dann starte den timing nochmal 10 min.
und da komme ich gerade nicht weiter, und benötige etwas Hilfe von euch
Gruß Ralf
-
@meexx sagte: im dunkeln stehen weil der Occupancy Wert halt die ganze Zeit auf true ist.
Wenn dem so ist, sollte es so funktionieren?
Wenn die 90 s nicht ausreichen, dann ohne den Zwischen-Datenpunkt:
-
ja das ist schon so richtig glaube ich , aber leider kann ich den Wert nicht ändern von dem Bewegungsmelder d.h. der bleibt halt immer auf true solange Bewegung registriert wird , erst wenn 90 sek vorbei sind und innerhalb dieser keine Bewegung erkannt wird , dann setzt sich der wert wieder auf false. deshalb dachte ich man kann den Wert irgenwie zusätzlich nochmal abfragen ohne einen Trigger denn der Triggert halt veränderungen was ja nicht passiert in meinem fall.
quasie wenn der wert sich innerhalb der 10 min nicht ändert dann starte den timeout neu damit dann wieder 10 min das licht anbleibt. wenn dann irgenwann keine Bewegung mehr ist dann schalte lampe aus.
würde das irgenwie mit Blockly gehen ? So schaut der Datenpunkt aus und ist nicht veränderbar, darum habe ich mir einen anderen Datenpunkt erstellt der dann quasie beschreibbar ist.
-
@meexx sagte: bleibt halt immer auf true solange Bewegung registriert wird , erst wenn 90 sek vorbei sind und innerhalb dieser keine Bewegung erkannt wird , dann setzt sich der wert wieder auf false.
Dann verhält er sich so, wie zu erwarten ist. Man benötigt keine Tricksereien.
Mit dem 2. Skript wird das Licht nach 11,5 Minuten, in denen keinen Bewegung mehr erkannt wurde, ausgeschaltet. -
Hmm, habe ich denn da einen Denkfehler ? weil so wird ja regeros nach 10 min ausgeschaltet, weil wenn sich der Wert nicht ändert kann doch auch nichts ausgeführt werden dachte ich, und da der Wert vom occupancy teilweise über die 10 min hinaus sich nicht verändert solange Bewegung aktiv ist schaltet der auch nicht um ?
-
@meexx sagte: so wird ja regeros nach 10 min ausgeschaltet
Eben nicht, wenn man auf die Impulslösung mit dem Zusatz-Datenpunkt verzichtet! Es wird erst ausgeschaltet, wenn der BWM 10 Minuten lang "keine Bewegung" meldet.
-
So nun hat es klick gemacht Danke für den einfachen schupser .... warum komplizieret wenn es auch einfach geht
ganz kurz noch , die Telegram Meldung geht so durch oder ? also vom Script her , die Meldungen kommen sehr zuverlässig.
-
@meexx sagte: die Meldungen kommen sehr zuverlässig.
Ja, aber durch die Prüfung zu Beginn wird nicht mehr ausgeschaltet.
-
Danke Paul, ich glaube das ist nun das fertige Blockly,
Wenn ich da nun eine Zeit definieren möchte das das nur zwischen 18:00 Uhr und nächsten Tag 07:00 Uhr laufen lassen möchte was muss ich dann wo noch einpflegen ? ich dachte da an sowas wie im Screenshot ? es würde ja auch mit Abendämmerung und Mörgendämmerung gehen aber da kenne ich mich auch nicht so aus
könntest du da auch mal drüberschauen ? .. vielen Dank
achso und wie bkommt man denn das Telegram Feld so klein
-
@meexx sagte: wie bkommt man denn das Telegram Feld so klein
Mauszeiger über dem Block und rechte Maustaste: "interne Eingänge" auswählen.
-
Hallo nochmal in die Runde, das Blockly funktioniert sehr gut .....
allerdings sobald ich das Zeitlich eingrenzen möchte funktioniert es nicht und ehrlichgesagt habe ich keine Idee woran es liegen könnte. Ich habe in einem anderem Blockly ( Rolladensteuerung ) das schon so umgesetzt und da funktioniert es das die Rollade abens runtegefahren wird und Morgen wieder Aufgeht.
hier allerdings funktioniert es einfach nicht , Ich möchte das dieses Blockly nur zwischen Sonnenuntergang und Sonnenaufgang funktioniert und am Tage dann halt nicht da es dann Hell genug ist , wie sollte denn das Blockly aussehen damit es so funktionieren kann ?
Danke nochmals für die tolle Hilfe hier ...
-
@meexx sagte in Probleme mit Bewegunsmelder und Blockly:
nur zwischen Sonnenuntergang und Sonnenaufgang funktioniert
bau die Blöcke mal so um:
-
also so ? und ich habe da noch Offset werte eingetragen .... kann das mit -120 also 2 Std früher, und 60 min also 1 Std später funktionieren ?
-
@meexx sagte: kann das mit -120 also 2 Std früher, und 60 min also 1 Std später funktionieren ?
Ja, aber nimm besser "Golden hour"-Ende und "Golden hour". Dann steht die Sonne immer 6 ° hoch.
-
Hallo nochmal,
vielen Dank für die Hilfe nochmals, es funktioniert alles sehr geschmeidig
Gruß Ralf