NEWS
[Gelöst] Trigger 3 x in 15 minuten >>> dann
-
Dein Hauptproblem ist die Verkasperung.
In der Main ( Hauptprogramm ) wird nur verwaltet.
Lager das alles aus, früher oder später rennt das nicht mehr.
Dann wir debuggen zum Alptraum.
Zähler 6, 15 min haben im Hauptprogramm nix verloren.
Ganz im Ernst, baue das komplett um.
Trotdem fehlt der Zähler !! -
Anders herum ja,
wenn nach 15 min der Zähler 3 mal gerüttelt hat.
Kannste ja einkürzen, wenn innerhalb 3 min es 3 x gerüttelt hat. -
hier ist das mißverständnis:
nicht "nach" 15 minuten sondern innerhalb von 15 minuten.wenn der rüttelsensor in 1 minute 3 x rüttelt soll sie ja auch zufahren.
nur wenn die 15 minuten nicht 3 x gerüttelt wurde, dann nicht. und alles wieder von vorne. -
Warum so schwer ?
Frag alle 3 min oder jede 1 min ab ob 3 mal bewegt.
Im Extra Blocky setzt du dann den Zähler wieder auf 0 wenn nicht 3 mal bewegt.
Entscheident ist ja Bewegung in einer Zeit.
Was soll dann 15 min ? -
die 15 minuten sind ein fiktiver wert.
mir ging es um die lösung des problems.kann man mit blockly einen trigger (z.B. 3 x innerhalb einer zeitspanne) abfragen und dann eine aktion auslösen?
wenn ich alle minuten anfrage ob 3 x oder nicht ist das nicht so flexibel einzustellen wie 3 x in 15 minuten, oder was auch immer.
-
Anders herum ist einfacher, deine Bewegung ändert einen Datenpunkt.
Der wird im Blockly abgefragt, dann kannst du verkaspern was du möchtest. -
ich würde es ganz anders machen. ob es die einfachste lösung ist, weiß ich nicht:
ich würde 2 datenpunkte erstellen: rüttler1 und rüttler2
dann würde ich bei jedem rüttler ein script ausführen welches:
- die aktuelle uhrzeit abfragt
- prüft ob die uhrzeit in rüttler1 weniger als 15 minuten her ist und wenn ja die gewünschte aktion ausführt.
- die uhrzeit aus rüttler2 in rüttler1 überträgt
- die aktuelle uhrzeit in rüttler2 einträgt
verständlich? :)
du hast also immer die zeiten des aktuellen rüttlers und der 2 vorherigen und kannst diese vergleichen. am einfachsten wäre das ein unix timestamp.
-
Gerne wenn du mir ein Bild deines Datenpunktes Bewegung sendest.
Der sollte ja 0 oder 1, oder true / false sein. -
Den Datenpunkt deines Sensors der rüttelt.
Unix ah ja, RPI time geht nicht ? -
Datenpunkt = Markise_Wind buttonevent
Den nimmst du zum triggern deines Blockly Bewegung erkannt.
Raspberry time ,yes.
Na klar kannste das per Zeitstempel.
Noch ne Baustelle.
Würde ich nicht machen.
Lieber timeout. -
Du wertest den Zähler Bewegung nach x min aus.
Beispiel kommt noch. -
Bild,
timeout, nach 3 min wird ausgewertet.
Kannste auch alle 500 ms abfragen.
-
Yes
wer so gut ist kann das alleine.
Bin Weg.