Harte Nuss: Analogwert-Verfolgung

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Gerd Clever
    MS Profi
    • 24.07.2016
    • 642

    #1

    Harte Nuss: Analogwert-Verfolgung

    Ich scheitere gerade an der einfachen Fragestellung:

    Wie ermittle ich für einen sich zeitlich ändernden Analogwert (konkret: Temperatur), wie er sich in den letzten x Minuten verändert hat?

    Hintergrund ist eine Temperaturüberwachung mit Push-Benachrichtigung, wenn die Temperatur innerhalb einer bestimmten Zeit sehr stark abfällt, z. B. Fenster vergessen zu schließen.

    Ich habe schon mit den Bausteinen "Gleitender Mittelwert" und "MinMax Zeitraum" experimentiert, ohne zufriedenstellendes Ergebnis. Auch die Idee Merker einzusetzen, habe ich schnell fallen lassen, da die Programmierung total ausufern würde (und das pro Raum).

    Ideal wäre es, wenn der "Gleitende Mittelwert" die Werte zugänglich machen würde, die in die Mittelwertbildung eingeflossen sind. Für die Analogwert-Verfolgung würde schon der (zeitlich) erste Messwert reichen. Wahrscheinlich nur eine klitzekleine Erweiterung des Bausteins, nämlich ein zweiter Ausgang. Dazu mache ich aber jetzt (wegen Aussichtslosigkeit) kein Ticket auf.

    Vielleicht hat noch jemand eine Idee ...
    Miniserver Gen 2, v13.1.11.17, 9x Extension, 2x Relay Extension, 4x 1-Wire, Türkontakte, Mobotix T25

    Wenn der Herr nicht das Haus baut, dann ist alle Mühe der Bauleute umsonst. (Psalm 127,1)
  • Robert L.
    MS Profi
    • 26.08.2015
    • 922

    #2
    >Gleitender Mittelwert

    und was funktioniert da nicht?
    wenn die aktuelle temperatur z.b. 2° über dem Gleitender Mittelwert ist,
    oder eben 2° darunter.. kannst alarm schlagen..

    Kommentar


    • Gerd Clever
      Gerd Clever kommentierte
      Kommentar bearbeiten
      Wenn ich z. B. den "Gleitenden Mittelwert" über 10 Minuten nehme, dann steckt in dem Mittelwert ja bereits mehr oder weniger der Temperaturabfall drin, je nachdem, wann das Fenster innerhalb der 10 Minuten geöffnet wurde. Die Aussagekraft ist begrenzt.
  • romildo
    Lebende Foren Legende
    • 25.08.2015
    • 5144

    #3
    Hallo Gerd
    Eine Möglichkeit sähe ich mit der Kombination Mittelwert, Impulsgeber, Analogspeicher und Analogkomperator, oder zählt dies bereits zum "Ausufern"?
    Impulsgeber würde es nur einen für alle Fenster benötigen.
    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: ZeitabhängigeWertaenderung.png
Ansichten: 1164
Größe: 10,3 KB
ID: 80141
    Änderung: Bild ausgetauscht
    Zuletzt geändert von romildo; 25.01.2017, 20:34.
    lg Romildo

    Kommentar

    • michi74
      Dumb Home'r
      • 23.10.2015
      • 28

      #4
      Hallo,
      das wurde schon mal früher im Forum gepostet. So hab ich es gelöst. Der Zähler am Ende ist nur um zu sehen das es funktioniert.
      Mini-Server, 1x Extension, 1x 1-wire Extension, 2x RS485-Extension, 2x AirBase-Extension, 1x EnOcean-Extension, 1x Multi-Extension Air

      Kommentar


      • Gerd Clever
        Gerd Clever kommentierte
        Kommentar bearbeiten
        Danke, ich denke bei dir geht mehr um die Frage, ob ein Fenster geöffnet ist, um den Zustand dann (auch ohne Fensterkontakt) zu visualisieren bzw. dem IRR-Baustein mitzuteilen. Mir geht es um den großen Temperaturabfall + Push-Alarm, wenn im Winter vergessen wurde das Fenster zu schließen.
    • Gerd Clever
      MS Profi
      • 24.07.2016
      • 642

      #5
      romildo Danke, natürlich ist das nicht ausufernd ​, eher sehr schlank. Ich hatte mit Impulsgeber und Analogspeicher auch schon - auf etwas andere Weise - experimentiert.

      Wenn ich dich richtig verstanden habe, willst du nur die Entwicklung des Gleitenden Mittelwerts (im Merker ITMittelwert) für die Alarmentscheidung auswerten und nicht die Ist-Temperatur selbst. Ein interessanter Ansatz.

      Beim Analogkomparator kommen dann folgende Werte an (ich nehme mal einen Gleitenden Mittelwert über 10 Minuten an):
      • AI1 = Gleitender Mittelwert der letzten 10 Minuten
      • AI2 = Gleitender Mittelwert zu einem früheren Zeitpunkt. Ich weiß aber letztlich nicht, wie viel Zeit verstrichen ist, seit der Analogspeicher zuletzt getriggert wurde. Vielleicht lässt sich die Zeit irgendwie festhalten?
      Die Ungenauigkeit dürfte etwa so sein, wie wenn ich den Gleitenden Mittelwert direkt mit der Ist-Temperatur vergleiche, so wie Robert L. vorgeschlagen hatte.
      Miniserver Gen 2, v13.1.11.17, 9x Extension, 2x Relay Extension, 4x 1-Wire, Türkontakte, Mobotix T25

      Wenn der Herr nicht das Haus baut, dann ist alle Mühe der Bauleute umsonst. (Psalm 127,1)

      Kommentar


      • romildo
        romildo kommentierte
        Kommentar bearbeiten
        Die Zeiten sollten möglichst kurz (z.B. 1 Minute) eingestellt sein. Das Beispiel soll möglichst schnell einen Temperaturtrend nach unten erkennen.
        Wenn dieser Trend über längere Zeit gewährleistet wäre, könnte man eine Einschaltverzögerung an den Ausgang hängen, welche dann nach einer gewissen Zeit die Push-Nachricht sendet. Reine Theorie und nicht getestet.
        Warten wir mal ab, was aus den anderen Infos noch herauskommt.
        Sollte mir was Besseres einfallen, werde ich mich wieder melden.
    • michi74
      Dumb Home'r
      • 23.10.2015
      • 28

      #6
      Hier noch mal zwei Werte
      Der Impulgeber steht auf 180 Sekunden und der Schwellwert auf 0,5 °C, also ein recht kurzer Zeitraum. Wenn sich die Temperatur innerhalb von 3 Minuten um 0,5 Ändert ist das Fenster offen.
      Mini-Server, 1x Extension, 1x 1-wire Extension, 2x RS485-Extension, 2x AirBase-Extension, 1x EnOcean-Extension, 1x Multi-Extension Air

      Kommentar


      • Gerd Clever
        Gerd Clever kommentierte
        Kommentar bearbeiten
        Stellst du den Schwellwert dann pro Raum ein? Noch etwas, ich vermute, dass du Heizkörper hast, denn bei Flächenheizungen macht eine Übergabe an den IRR-Baustein wenig Sinn (Schaden wird's auch nicht).
    • Robert L.
      MS Profi
      • 26.08.2015
      • 922

      #7
      eine Gleitenden Mittelwert aus einem https://www.loxforum.com/forum/germa...rz%C3%B6gerung (wenn es den denn geben würde)
      würde das ganze verbessern,
      (in der Praxis wird aber sicher auch genügen, wenn man den Schwellwert einfach minimal höher setzt, und mit dem "aktuellen" gleitenden Mittelwert vergleicht)

      Kommentar

      • Gerd Clever
        MS Profi
        • 24.07.2016
        • 642

        #8
        Ein Baustein "Analogverzögerung" wie von Christian Fenzl in dem von dir genannten Thread beschrieben, wäre eine super Sache.

        Das würde natürlich mein in Post #1 geschilderte Problem lösen, ohne den Gleitenden Mittelwert überhaupt einzuschalten. Ich benötige ja nur (fortlaufend) den Wert vor x Minuten und nicht die Entwicklung der letzten x Minuten. Eine Analogverzögerung, wäre bei meinem Problem fast schon "mit Kanonen auf Spatzen geschossen".

        Ich mache doch mal ein Ticket zur Erweiterung des Gleitenden Mittelwerts auf. Der Einbau eines zweiten Ausgangs am Baustein "Gleitender Mittelwert" mit dem ältesten Wert, der in den Mittelwert eingegangen ist, kann echt kein großer Aufwand sein.
        Miniserver Gen 2, v13.1.11.17, 9x Extension, 2x Relay Extension, 4x 1-Wire, Türkontakte, Mobotix T25

        Wenn der Herr nicht das Haus baut, dann ist alle Mühe der Bauleute umsonst. (Psalm 127,1)

        Kommentar


        • Gast
          Gast kommentierte
          Kommentar bearbeiten
          > da Fehlalarme ziemlich nerven
          Dann nimm Fensterkontakte... ;-)

        • romildo
          romildo kommentierte
          Kommentar bearbeiten
          Vielleicht verstehen wir uns nur nicht ganz.
          1.
          Du stellst einen Temperaturabfall innerhalb kurzer Zeit fest. Natürlich gibst Du dabei keine Push-Benachrichtigung aus, speicherst aber den Wert und startest den 10 Minuten Timer.
          Etwas später vergleichst Du den Wert aus dem Speicher mit dem Aktuellen. Ist er kleiner passiert nichts, ist der neue Wert grösser oder gleich, wird dieser in den Speicher geschrieben und der Timer von neuem gestartet.
          Nach Ablauf des Timers, also nach 10 Minuten, wird der aktuelle Wert mit dem Wert aus dem Speicher nochmals verglichen und anhand des eingestellten Differenzwertes entschieden ob eine Push-Nachricht gesendet wird.

          Ich mach Dir mal ein Beispiel und stelle es dann hier rein.

          2. Dies zu erfassen sollte das kleiner Problem sein.

        • Robert L.
          Robert L. kommentierte
          Kommentar bearbeiten
          >da dann wahrscheinlich ein Fenster vergessen wurde. Das ganze muss halbwegs zuverlässig funktionieren, da Fehlalarme ziemlich nerven.

          das hängt ja vorallem davon ab, wie weit und schnell die Temperatur schwankt wenn das Fenster NICHT offen ist, das weiß von uns ja keiner..
          davon kann man dann die Strategie abhängig machen..
          (auch z.b. wenn Sonne hinter Wolke verschwindet, usw.)
      • romildo
        Lebende Foren Legende
        • 25.08.2015
        • 5144

        #9
        Hier ein Lösungsvorschlag, aber nur kurz in der PC-Simulation getestet.
        Sofern Du damit spielen möchtest, stelle ich auch die Config hier rein.
        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: FensterOffen.png
Ansichten: 1153
Größe: 18,5 KB
ID: 80263
        [ATTACH]n80264[/ATTACH]
        lg Romildo

        Kommentar


        • svethi
          svethi kommentierte
          Kommentar bearbeiten
          Ich habe sowas auch schon mehrfach gemacht. Kann mich aber nicht erinnern, dass das so umfangreich ist. Ich muss das mal bei mir anschauen.

        • romildo
          romildo kommentierte
          Kommentar bearbeiten
          Ist es bei mir auch nicht, sondern ähnlich wie in #3.
          Allerdings verwende ich es nicht für Fenster offen Erkennung sondern für Kachelofen Ein.

        • Gerd Clever
          Gerd Clever kommentierte
          Kommentar bearbeiten
          Eigentlich ist dein Vorschlag ja keine "Fenster offen-Erkennung" sondern deutlich anspruchsvoller eine "Fenster vergessen-Erkennung" beim Lüften im Winter
      • Gerd Clever
        MS Profi
        • 24.07.2016
        • 642

        #10
        Super romildo! Ich glaube, der entscheidende Durchbruch war deine Idee die Ist-Temperatur im Analogspeicher zu halten, sobald ein Temperaturabfall festgestellt wird und anschließend die (sinkende) Ist-Temperatur mit dem vorläufig "eingefrorenen" Analogspeicherwert zu vergleichen.

        Ich werde es praktisch ausprobieren und dann Rückmeldung geben. Möglicherweise muss der Impulsgeber (solange er aktiviert ist) anders getaktet werden (vielleicht 5 - 10 Sekunden) und der Merker "Impuls ein" nur eingeschaltet werden, wenn mindestens 0,1 °C Abfall festgestellt werden, denn die Ist-Temperatur "flattert" normalerweise in der 2-3 Nachkommastelle.
        Miniserver Gen 2, v13.1.11.17, 9x Extension, 2x Relay Extension, 4x 1-Wire, Türkontakte, Mobotix T25

        Wenn der Herr nicht das Haus baut, dann ist alle Mühe der Bauleute umsonst. (Psalm 127,1)

        Kommentar


        • romildo
          romildo kommentierte
          Kommentar bearbeiten
          Schön wenn Du es mal testen kannst.
          An Stelle des Grösser oder gleich könnte natürlich auch ein Analogkomperator gesetzt werden.
          Die Taktzeit des Impulsgebers würde ich vermutlich mit der Abfragezeit des Sensors abstimmen.

          Einen Fensterkontakt wird es mit Sicherheit nicht ersetzen können
      • Michael Sommer
        Lox Guru
        • 25.08.2015
        • 1952

        #11
        Auszug aus 88.4: Ziel ist, möglichst gesicherte Indizien zu finden, dass ein Fenster zum Lüften geöffnet und dann "vergessen" wurde.

        Hallo Gerd,
        Egal wie Deine Logik erst einmal aussieht. Damit kannst Du aber nie sicher feststellen, ob ein Fenster zum Lüften geöffnet ist. Solange ein größerer Temperaturunterschied zwischen Außen und Innen besteht, wird das funktionieren. Bei einem geringen Temperaturunterschied, wird keine Grenzwertverletzung erreicht und man erkennt nicht, dass man immer noch lüftet.

        Ich habe, wenn ich es richtig verstanden habe eine ähnliche Situation in meiner Heizanlage. Damit überwache ich die Änderungsgeschwindigkeit des FBH-Vorlaufes (Temperaturdifferenz alle 5 Sekunden zum letzten Prüfintervall. Bei Überschreitung der Differenz wird bei mir das Ventil zwangsweise geschlossen. Vielleicht hilft Dir mein Planausschnitt etwas weiter.


        - Der VL-Fühler wird durch einen Raumfühler eingesetzt
        - Der Schwellwertschalter 0975 inkl. die Bausteine 01424+1427 werden nicht benötigt
        - Der Monoflop 01429 verriegelt bei mir das Ventil für 180s

        Gruß Michael
        Angehängte Dateien
        Zuletzt geändert von Michael Sommer; 26.01.2017, 15:31.
        Haustechnik UG: MS2, 7 Extensionen, WAGO 750er I/O-Module, 19"-Notbedienebene, EMA-Anlage
        ELT-Allgemein UG: MS1, 4 Extensionen Notbedienebene, RM+WM-Anlage, Mehrere Shellys
        Wohnung OG: MS1, 8 Extensionen, Notbedienebene, Mehrere Shellys
        Wohnung EG: konvent. E-Installation, Autarke EZR-Regelkreise (0-10V) für Stat.-HZG mit Aufschaltung (Schwellwert) des Heizkreises auf den Miniserver UG, Zeitsteuerung EG-Wohnung aus Miniserver UG). Mehrere Shellys
        LoxBerry-Nutzer: Stats4Lox,
        Testserver: 2xMS-GEN1

        Kommentar

        • Gerd Clever
          MS Profi
          • 24.07.2016
          • 642

          #12
          Danke Michael, ich werd's genau anschauen. Ich hatte ursprünglich ja auch die Idee, nicht den absoluten Temperaturabfall als Kriterium zu nehmen, sondern die Geschwindigkeit des Abfalls (y °C Abfall in x Minuten). Das was ich möchte, betrifft hauptsächlich den Winter, dass bei einem vergessenen Fenster der Raum nicht nach einer Stunde noch 12 °C hat ...

          Das Ganze hängt, wie du auch sagst, auch noch von der Differenz zwischen Innen- und Aussentemperatur ab. Im Frühjahr/Herbst müssten sicher andere Schwellwerte hinterlegt werden.

          Idee: Schwellwerte, abhängig von der Aussentemperatur automatisch anpassen. Naja, wenn ich mal ganz viel Zeit habe.

          Sobald ich deine Programmierung genauer anschauen konnte, gebe ich dir Rückmeldung.
          Miniserver Gen 2, v13.1.11.17, 9x Extension, 2x Relay Extension, 4x 1-Wire, Türkontakte, Mobotix T25

          Wenn der Herr nicht das Haus baut, dann ist alle Mühe der Bauleute umsonst. (Psalm 127,1)

          Kommentar


          • romildo
            romildo kommentierte
            Kommentar bearbeiten
            '...dass ein Fenster beim Lüften "vergessen" wurde zu schließen. Dabei würden auch Fensterkontakte nicht entscheidend weiterhelfen....'
            Verstehe ich jetzt nicht. Fensterkontakt länger wie Zeit x offen bedeutet doch "vergessen" oder nicht?

          • svethi
            svethi kommentierte
            Kommentar bearbeiten
            Ja eben, sag ich ja, er will das ja aber über den Temperatursturz allein erkennen.

          • Gerd Clever
            Gerd Clever kommentierte
            Kommentar bearbeiten
            romildo Klar, mit Fensterkontakten kann man gleich eine andere Strategie verfolgen. Beispielweise Öffnungszeit und Differenz Innen-/Aussentemperatur einbeziehen. Ich glaube aber, dass dein Vorschlag relativ zuverlässige Ergebnisse liefert. Praxistest läuft
        • Christian Fenzl
          Lebende Foren Legende
          • 31.08.2015
          • 11235

          #13
          Im Prinzip kannst du ja auch mit der Soll-Temperatur vergleichen. Wenn (SOLL-IST)>2 Grad dann ...
          Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

          Kommentar


          • Gerd Clever
            Gerd Clever kommentierte
            Kommentar bearbeiten
            Es sprechen zwei Dinge dagegen:

            1. Der IRR-Baustein gibt die Soll-Temperatur nicht her. Ich wüsste auch nicht wie man die herleiten könnte.

            2. Die Soll-Temperatur weicht auch bei geschlossenem Fenster oftmals merklich von der Ist-Temperatur ab, sowohl nach unten als auch nach oben.

            Für so eine einfache Lösung wäre m. E. wieder der Gleitende Mittelwert eher geeignet als die Soll-Temperatur.

          • Christian Fenzl
            Christian Fenzl kommentierte
            Kommentar bearbeiten
            @Gerd Clever
            Der IRR gibt die SOLL-Temperatur aus, allerdings in der Aufheizphase die kommende, nicht die aktuelle.
            Bei der Formel aber egal, da nur die Unterschreitung triggert.
            Es ist alles eine Frage des Aufwand/Nutzen-Verhältnisses.
            Von Loxone brauchen wir - realistisch betrachtet - nicht erwarten, dass wir Bestandsnutzer eine Verbesserung bestehender Bausteine umgesetzt bekommen.

          • Gerd Clever
            Gerd Clever kommentierte
            Kommentar bearbeiten
            Du meinst die Ziel-Temperatur. Aber auch die ist nicht zwingend identisch mit der "nächsten" Soll-Temperatur, auch nicht in der Aufheizphase.

            Beispiel: Aktuelle Ist-Temperatur 19,3 und aktuelle Soll-Temperatur 19,5; in 4 Stunden dann Soll-Temperatur 20,0. Dann ist die aktuelle Zieltemperatur 19,5, innerhalb der nächsten 4 Stunden wechselt sie dann irgendwann auf 20,0.

            Deinem letzten Satz stimme ich uneingeschränkt zu. Dass der Support-Mitarbeiter nichts versprechen kann ist klar. Mich ärgert aber, dass ein Produktwunsch weitergeleitet wird und das war's dann, keine Rückmeldung mehr, einfach nichts.
        • andylox
          Smart Home'r
          • 23.08.2018
          • 51

          #14
          Gibts hier eigentlich einen aktuellen Stand und ein finales Ergebniss? Teste grad mit der Schaltung von romildo, ist die noch so aktuell? Danke
          Ich hatte jetzt nämlich den selben Effekt, Frau hat bei minus Graden das Fenster vergessen. Allerdings hat mir die Loxone selbst eine Mitteilung geschickt wegen der Frostschutztemperatur, also die entsprechend hoch drehen und man bekommt seine Nachricht aufs Handy.

          Kommentar

          Lädt...