Probleme mit der Counterfunktion

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Probleme mit der Counterfunktion

      Hi Leuts,

      Habe da mehrere logicprobleme mit der Counterfunktion.

      zum 1sten:

      Ich lasse durch mehrere PIRs Counter starten, die dann Schaltfunktionen und eine Textausgabe auf einem LCD ausgeben.
      Beides wird nach Ablauf rückgengig gemacht. (klar)
      Nun (muss) will ich aber die LCD Beleuchtung mit eintreffen der Ereignisse durch einen weiteren Counter ein nach gewisser Zeit ausschalten lassen.

      Ein Aufruf eines weiteren Counters durch einen Counter ist aber nicht möglich. (oder ich habe es nicht gefunden)

      Der Beleuchtungscounter soll durch jegliche Ereignisse wieder getriggert werden.

      zb.

      Meldung 1 kommt rein -> Counter für Meldung wird gestartet (15s) und -> LCD Beleuchtung mit eingeschaltet

      Meldung 2 kommt innerhalb der 15 sec der ersten Meldung dazu -> Counter für Meldung wird gestartet (15s) -> LCD Beleuchtung mit eingeschaltet

      würde ich jetzt mit jeder Meldung die Beleuchtung ein und aus schalten, würde nach Ablauf der ersten Meldung, die Beleuchtung wieder aus gehen, obwohl noch die 2te ansteht.

      Darum will ich halt den Counter für die Beleuchtung abkoppeln und durch die Meldungen triggern und damit den Counter auf maximalwert zurücksetzen.

      Meldung 1 kommt rein -> Counter für Meldung wird gestartet (15s) -> LCD Beleuchtungscounter wird gestartet (2min)
      Meldung 2 kommt innerhalb der 15 sec der ersten Meldung dazu -> Counter für Meldung wird gestartet (15s) -> LCD Beleuchtungscounter wird gestartet bzw getriggert (2min)


      zum 2ten.

      ich lasse NAS Server per Zeitsteuerung ein Shutdown durchführen. Server geht zwar dann aus aber die restl. Peripherie (USB HDDs) bleiben an.

      Darum Prüfe ich über die Funktion "Benutzer nichz zu Haus" also anpingen, ob selbiges ausbleibt und starte dann ein Counter der die Schaltsteckdose ausschaltet.

      Soweit ja auch ok.

      Aber ab und zu passiert es halt, das der Ping auch im laufenen Betrieb fehlschlägt. Dadurch wird der Abschaltcounter gestartet und schaltet ab, obwohl der Ping wieder da ist.

      Wie kann ich da den Counter abbrechen.?


      Ich hoffe es war halbwegs verständlich. Wenn nicht hinterfragen.
      habe SHC aufgegeben.
    • Ich versuche gerade durch Problem 1 zu blicken. Sehe ich das richtig:

      Du betrittst den Raum und das Lich geht für 2 Minuten an.
      Solltest du dich innerhalb der ersten 15 sek. nicht bewegen wird das Licht wieder ausgehen.
      Nur bei Bewegung in diesem Zeitraum wird der 2 min. Countdown erneut gestartet (mit erneuten 15 sek Überwachung) und der erste hat sich erledigt?

      Sonst versuche es doch bitte auch mal anhand von einem Beispiel.
    • Nicht ganz richtig.

      DIe PIR Schaltvorgänge triggern je einen Counter von zb. 15 sec.

      Es sind aber auch noch weitere Impulsgeber mit im Spiel.

      Türklingelsignalauswertung, Tür/Fensteröffnungskontakte.

      All diese Steuersignale werden zum Teil per Pushbutton weitergemeldet und Zeitgleich auf ein LCD dargestellt.

      Wäre es nur eine Meldung, könnte ich ja Zeitgleich die LCD Beleuchtung mit einschalten und nach dem Ablauf der Counterzeit die Meldung wieder löschen und die LCD Beleuchtung ausschalten.
      Da aber mehrere Meldungen Zeitgleich aber auch zu unterschiedlichen Zeiten eintreffen können, kann ich die Beleuchtung nicht an diese Counter binden, sondern müsste selbige durch diese Counter triggern.

      zb.: erster PIR reagiert - PIR Counter stellt Info für 15 sec auf LCD dar. Durch diesen Counter sollte der 2te mit gestartet werden und das LCD zb.für 2 min beleuchten. (was ich aber bis jetzt nicht hinbekommen habe.)

      Jetzt schaltet jeder Counter das LCD mit ein und auch wieder aus. 15sec.

      Kommt jetzt innerhalb der 15 sec ein weiterer PIR / Klingel ... mit ins Spiel geht das LCD aber trotdem nach der ersten Aktivierung aus, obwohl ein Displayon Befehl wieder zum Display gesendet wurde.

      Warum !!! Weil ja jeder Counter auch den Ausschaltbefehl momentan sendet. Und da steckt halt mein Logicfehler.

      Das Problem würde sich lösen wenn sich in einem Counter auch weitere Counter aktivieren lassen würden.
      Oder noch besser wenn es möglich wäre durch ein Schaltbefehl 2 Counter zu starten.

      Da mir die Abfrage von Schaltserver Eingängen vom SHC aus zu träge ist Pushe ich den Befehl zum SHC.
      Ich aktiviere die Counter momentan über ein Schaltbefehl: link = "/shc/index.php?app=shc&a&ajax=executeswitchcommand&sid="..sid.."&command="..cmd SID ist die Counter ID / cmd 1 oder 0
      Files
      habe SHC aufgegeben.

      The post was edited 7 times, last by bin dann weg ().

    • Du müsstest also eigentlich nur den ersten Countdown vorzeitig beenden, um ihn am Ausschalten zu hindern?

      Wieso schaltest du nicht LCD einfach nur ein und gleichzeitig einen virtuellen schalter, der einen Countdown zum Ausschalten auslöst. Diesen aber nur mit erfüllter Bedingung: "keine weitere Meldung eingegangen" ausführt.

      Wenn ich es immer noch nicht verstanden habe, ist es mir auch zu kompliziert. ;)
    • Hatte mich gestern Abend vielleicht falsch ausgedrückt.
      Du kannst doch eine z. B. Steckdose erstellen, die gar nicht existiert.

      Der Pir reagiert, schaltet dein LCD ein und gleichzeitig startet er einen Countdown auf diese nicht existierende Steckdose.
      Wenn diese nach 15 Sek wieder ausschaltet kannst du das zum Ereignis machen und dieses noch an eine Bedingung (neue Meldung oder nicht) knüpfen und das LCD wieder ausschalten bzw anlassen.

      Verstehst du? Der Countdown soll also nicht schalten sondern nur sagen "Hallo, 15 Sek. sind rum, prüfe mal wie es weitergeht".

      Klingt zwar wie von hinten durch die Brust ins Auge, könnte aber funktionieren.
    • Hallo zusammen
      Eine andere Möglichkeit wäre folgende:
      lasse deine LCD Beleuchtung jede Minute ausschalten. Dazu eine Bedinung „Schaltbares Element aus“. In dieser Bedinung trägst Du deine Counter ein. Die einzelnen Elemente in einer Bedinung sind ODER verknüpft. So lange ein Counter aktiv (ein) ist wird die LCD Beleuchtung nicht ausgeschaltet. Wenn aber kein Counter mehr aktiv ist geht die Beleuchtung spätestens nach einer Minute aus.
    • premo wrote:

      Könnte mir vorstellen das dieses eventuell hinhaut.

      Mit dem High Signal vom PIR einen Gpio Eingang auf high setzen. Dieses Signal mit einem Ereignis
      für die verschiedenen Countdown die gleichzeitig
      schalten sollen verknüpfen.
      Die PIR hängen an ESPs.

      Ich aktiviere die Counter momentan über ein Schaltbefehl: link = "/shc/index.php?app=shc&a&ajax=executeswitchcommand&sid="..sid.."&command="..cmd SID ist die Counter ID / cmd 1 oder 0 der vom ESP gesendet wird und den jeweiligen Counter startet.
      habe SHC aufgegeben.

      The post was edited 1 time, last by bin dann weg ().

    • Habe jetzt mal die Idee von @hase probiert.

      Für jeden Counter eine Bedingung erstellt.
      Das LCD Steuerscript getrennt.

      Sodas über den Counter immer nur das LCD eingeschaltet wird und über den Schaltpunkt mit den Bedingungen wieder nach 1 min aus geht.
      Files
      • bedingungen.jpg

        (196.6 kB, downloaded 9 times, last: )
      • Beleuchtung.jpg

        (97.34 kB, downloaded 9 times, last: )
      • PIR.jpg

        (328.18 kB, downloaded 8 times, last: )
      • Schaltpunkt.jpg

        (730.36 kB, downloaded 10 times, last: )
      habe SHC aufgegeben.

      The post was edited 1 time, last by bin dann weg ().

    • Hallo
      Wenn ich es richtig verstehe, fährt die NAS runter, über Ereignis „Benutzer verlast das Haus“ wird ein Counter gestartet der dann die Peripherie ausschaltet. Ab und zu geht ein Ping verloren und der Counter schaltet alles ab, obwohl NAS noch läuft.
      Um das zu verhindern müsste man zwei GPIOs opfern. Zuerst verbinden wir zwei GPIOs miteinander, der einer wird ein Eingang der andere ein Ausgang (im SHC anlegen).

      Gehen wir mal die beiden Möglichkeiten durch:
      Die NAS fährt runter. Das Ereignis „Benutzer verlässt das Haus“ startet den Counter der dann den Ausgang nach eingestellter Zeit ausschaltet. Der dazugehörige Eingang geht dann von High auf Low. Mit einem Ereignis „Eingang negative Flanke“ und einer Bedingung „Benutzer nicht zu Hause“,(die NAS ist down), schalten wir die Peripherie aus.

      Jetzt der andere Fall. Ein Ping geht verloren, also „Benutzer verlässt das Haus“. Die ganze Kette startet wieder, nur bei dem Ereignis „Eingang negative Flanke“ ist die Bedingung nicht erfüllt, die NAS läuft ja noch, somit wird die Peripherie nicht ausgeschaltet.

      Gruß
      Peter
    • Hi @hase

      versteh da grad nur Bahnhof. Die Schaltsteckdosen sind Fritz Dect. Selbige lasse ich jetzt Lastabhängig ausschalten. Aber das sollte erst mal nicht stören. Auf jeden Fall schalten diese alles ab. NAS und seine HDDs. Neustart passiert durch Auto Poweron der NAS.

      Der erste Fall ist klar, weil ja der Ping aus bleibt und der Counter durchgelaufen ist.

      Aber der zweite ist unklar.

      Ping setzt kurz aus - counter startet - Ping wieder da - counter rennt weiter - counter schaltet pseudo gpio aus. so würde ich das deuten.
      Nach deiner beschreibung würde aber der gpio nicht schalten.

      oder ?
      habe SHC aufgegeben.
    • Da habe ich mich vielleicht verwirrend ausgedrückt
      Der Counter schaltet ein GPIO-Ausgang. Der Ausgang ist mit einem GPIO-Eingang verbunden. Der High/Low Wechsel des Eingangs löst ein Ereignis aus und das Ereignis schaltet die Steckdose aus. Ist die Bedingung im Ereignis nicht erfühlt (NAS ist nicht ausgeschaltet) wird nix ausgeschaltet.
      Ich hoffe jetzt ist es klarer.