Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Logik für Max in Zeitfenster

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    HS/FS - √ - Logik für Max in Zeitfenster

    Hallo,

    ich steh grade auf dem Schlauch, vielleicht kann mir jemand auf die Sprünge helfen:
    Ich möchte einfach den maximal gemessenen Windwert (inkl. 0) in einem Zeitfenster, z.B. der letzten 15 Minuten haben. Dafür gibts bestimmt ne ganz einfache Lösung ?

    Ich komm mit sämtlichen durchprobierten Max-Bausteinen aber irgendwie nicht zum Ziel, es geht immer nur mit Resetten des Bausteins und dann ist der Maxwert des Zeitfensters weg..

    Makki
    EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
    -> Bitte KEINE PNs!

    #2
    Hallo makki,

    da gibt es doch den Baustein Remanentspeicher. Vielleicht kannst du den Wert ja dort zwischenspeichern?
    Gruß Jörg.


    "Wir sind nicht die ersten, die dieses Feature einbauen, aber wir werden es am besten umsetzen."
    (Steve Jobs)

    Kommentar


      #3
      hallo makki,

      telegrammgenerator auf 15 min und dann "setzte wert von auf wert von" in ein zweites iko.
      glück auf

      günther

      Kommentar


        #4
        Nein, einen solchen Baustein gibt es zurzeit noch nicht, aber das Gewünschte sollte sich mit den vorhandenen Bausteinen relativ einfach zusammenbauen lassen.
        Gruss aus Radevormwald
        Michel

        Kommentar


          #5
          Zitat von blue04 Beitrag anzeigen
          telegrammgenerator auf 15 min und dann "setzte wert von auf wert von" in ein zweites iko.
          dann noch einen Vergleiche-Baustein und entsprechend dem Ergebnis des Kommunikationsobjekt mit dem Maximalwert füllen.
          Gruss aus Radevormwald
          Michel

          Kommentar


            #6
            Würde so ein Baustein denn Sinn machen ? Dann schreib ich lieber einen, bevor ich noch 3x erfolglos probiere
            Der Ansatz von Günther klappt (das Brett ist weg ) aber ich hatte das gerne für einige Sachen und immer mit einem weiteren iKO, zwei Bausteinen und einer halben Logikseite erscheint mir irgendwie immernoch etwas kompliziert für eine (m.E. simple) Funktion..

            Makki
            EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
            -> Bitte KEINE PNs!

            Kommentar


              #7
              Zitat von makki Beitrag anzeigen
              Würde so ein Baustein denn Sinn machen ? Dann schreib ich lieber einen, bevor ich noch 3x erfolglos probiere
              hi makki,

              schreib einen, ich brauch sowas auch öfters.
              glück auf

              günther

              Kommentar


                #8
                hi makki,
                ich mach das so. wenn die Zeitschaltuhr alle 15 minuten in den speicher das schreiben asntösst, dann gehts...
                Peter
                Angehängte Dateien
                never fummel a running system...

                Kommentar


                  #9
                  Also ich hab mir jetzt beim schreiben des neuen Bausteins den "17569 Min/Max gleitend" von Gaston (siehe Thread und Downloads) nochmal im Detail angesehen, weil der ja bei Lichte betrachtet (ausser dass es bei mir irgendwie partout nicht funktioniert hat) genau das tut..
                  Im Detail hatte ich beim "schreiben wirs halt mal eben" übersehen, dass ich mir leider nicht "mal eben" ein sortiertes Array in einem Logikbaustein anlegen kann und damit die Präszision zu einem kleinen tippintensiven problemchen werden könnte Die lambda-Funktion ist jedenfalls scharf (auch wenn ich Funktionen doch lieber übersichtlich auf 10 Zeilen haben und Python u.a. deswegen manchmal etwas Abstrus finde..), den Part hat aber Gaston schon gemacht, daher lassen wir das Rad mal lieber wie es ist..

                  Wo der Fehler lag kann ich nicht mehr sagen, vermute ich hatte die Präzision zu gering oder einen Eingang unglücklich erst im nachhinein durch setzen eines KO belegt, aber jetzt gehts jedenfalls.
                  Ich hab den Baustein mit 15 Minuten Zeitfenster und Präzision 10s reingebaut was wunderbar klappt. Den AbsMax-Ausgang nutze ich noch für den Tages-Maxwert..

                  Makki
                  EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                  -> Bitte KEINE PNs!

                  Kommentar


                    #10
                    manches ist eben auf den zweiten Blick doch komplizierter, als es prima facie aussieht.
                    Ich glaube, das ist schon recht!
                    never fummel a running system...

                    Kommentar


                      #11
                      Zitat von makki Beitrag anzeigen
                      Die lambda-Funktion ist jedenfalls scharf (auch wenn ich Funktionen doch lieber übersichtlich auf 10 Zeilen haben und Python u.a. deswegen manchmal etwas Abstrus finde..)
                      Ich bin mir nicht sicher wie dieser Satz (quote) zu verstehen ist, also nur um sicher zu gehen:

                      Die Definitionsdateien von HS Bsusteinen sind keine Pythoncodedateien, sondern Dateen in einem proprietären Formati die nur einen Bruchteil Bruchteil von Pythoncode erlauben, nähmlich Rechenausdrücke in der Form:

                      if <Bedingnung> :
                      X[n]=<Ausdruck>

                      (BASIC: IF <Bedingnung> THEN X[n]=<Ausdruck>)

                      X[n] wird aus den 4 letzten einträgen der 5012 zeilen zusammengebaut, der <Ausdruck> und die <Bedingung> aus den respektiven Feldern der selben Zeile entnommen.

                      Aus diesem Grund kann man in Bausteinen, Funktionen nur über den "lambda hack" implementieren. Python trifft hier keine Schuld, denn python kann sehr wohl mehrzeilige Funktionen definieren wie andere Sprachen auch.

                      Gruss,
                      Gaston

                      Kommentar


                        #12
                        Das ist mir soweit klar, die Erklärung ist glaub ich trotzdem hilfreich weil den von Dir hier übersichtlich beschriebenen Sachverhalt habe ich erst nach diversen Tagen&Tests komplett geblickt.. lambda (was bei einem Copy-Paste-Gelegenheits-Programmierer im Kopf einfach garnicht geht) habe ich auch schon z.B. für Prüfsummenberechnung in Bausteinen eingesetzt, aber in dieser heftigen Form hats mir neue Möglichkeiten aufgezeigt
                        Ich meinte in dem Zusammenhang Python in Logikbausteinen, ausserhalb hab ichs noch nie verwendet und das hab ich auch nicht vor, ist irgendwie nicht mein Ding..
                        Anyway, danke jedenfalls für den Baustein und die darin enthaltene Funktion, weil es auch als lernobjekt sehr hilfreich ist zu sehen was alles geht!

                        Gaston, würde aus Deiner Sicht irgendwas dagaegen sprechen den Baustein remanent zu machen ? Beim durchsehen ist mir nichts aufgefallen was dagegen spräche..
                        Ich will die Funktion des gleitenden Min/Maxwertes für ziemlich viele Sachen (Lüftung, Luftfeuchte, Wind, Temperaturen) verwenden und da ich aktuell doch immernoch so 2-5x täglich den Homeserver restarte wäre ein remanentes Verhalten hilfreich (auch wenn, der Vollständigkeit halber erwähnt, natürlich Werte während des Rebbots nicht erfasst/berücksichtig werden).

                        Makki
                        EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                        -> Bitte KEINE PNs!

                        Kommentar


                          #13
                          Zitat von makki Beitrag anzeigen
                          Gaston, würde aus Deiner Sicht irgendwas dagaegen sprechen den Baustein remanent zu machen ?
                          Remanenz bei diesem Baustein kann natürlich zu unvorhergesehenen verhalten nach einem boot führen wenn der zuüberwachende Zeitraum kurz ist (kleiner 30 Minuten) weshalb sich die weitere remanenzproblematik nicht gestellt hat.

                          Leider weis ich nicht wie der HS mit Remanentdaten umgeht. D.h. wie er die daten sichert. Macht er z.B. eine "for"-Schleife durch alle xN[i] und erwartet dass darin ein atomarer Typ ist dann gibts wohl Probleme mit den Arrays.

                          Ich glaube ich habe das im anderen Thread (hoffentlich) auch geschrieben. Die ganze lambda und Array geschichte in dem Baustein ist ein "hack". Es gibt keine Garantie dass sowas in allen Bereichen (z.B. Remanenz) funktioniert oder sogar in einer neuen Version noch laufen wird.

                          GANZ WICHTIG: Ich kann nicht ausschliessen (je nachdem wie der HS intern die daten sichert) dass das Array und die lambda funktion die Remanentdaten nicht sogar zerstören könnte !!!!!!

                          Gruss,
                          Gaston

                          Kommentar

                          Lädt...
                          X