Ankündigung

Einklappen
Keine Ankündigung bisher.

Logik Sommer / Winter Umstellung

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

    #61
    Ich könnte mir vorstellen, dass der X1 gar keine Zeittelegramme empfängt. Probier mal, am Eingang statt dem Gruppenadress-Datenpunkt für die Uhrzeit den entsprechenden Geräte-Datenpunkt "Ortszeit" zu verwenden.

    Und wenn Du schon am Logikblatt operierst, kannst Du auch gleich noch die Berechnung korrigieren: Du kannst beim Addierer mehr als zwei Eingänge parametrisieren, dann brauchst Du nur noch einen davon. Außerdem sollte nach DIN die T3 zweifach eingehen, also vier Eingänge für die Addition. Nur dadurch erzeugt die Division durch 4 den richtigen gewichteten Mittelwert.

    Grüße von Horst

    Kommentar


      #62
      Zitat von hyman Beitrag anzeigen
      Ich könnte mir vorstellen, dass der X1 gar keine Zeittelegramme empfängt. Probier mal, am Eingang statt dem Gruppenadress-Datenpunkt für die Uhrzeit den entsprechenden Geräte-Datenpunkt "Ortszeit" zu verwenden.
      Geräte-Datenpunkt "Ortszeit" wird probiert. Ich kanns mir zwar nicht vorstellen, dass es daran liegt, die MDT Taster bekommen über diese Gruppenadresse auch die Uhrzeit und zeigen diese einwandfrei an, aber ich bin wirklich nicht in der Situation hier irgendwas besser zu wissen. Daher "Versuch macht klug".

      Zitat von hyman Beitrag anzeigen
      Und wenn Du schon am Logikblatt operierst, kannst Du auch gleich noch die Berechnung korrigieren: Du kannst beim Addierer mehr als zwei Eingänge parametrisieren, dann brauchst Du nur noch einen davon.
      Berechnung wollte ich korrigieren. Ich finde aber wirklich nicht die Option mehr als einen Gang für die Grundrechenart zu parametrisieren.

      Zitat von hyman Beitrag anzeigen
      Außerdem sollte nach DIN die T3 zweifach eingehen, also vier Eingänge für die Addition. Nur dadurch erzeugt die Division durch 4 den richtigen gewichteten Mittelwert.

      Grüße von Horst
      Der im wahrsten Sinne des Wortes wohl heißeste Hinweis. Vielen Dank!

      Ergänzung: Ist das Problem ggf. ein ganz anderes? Die 1 und 0 rutscht doch immer nur kurz über den Bus, nämlich dann, wenn die Berechnung einmal komplett erfolgt ist, richtig?
      Bei den KNX Datenpunkten gibt es dafür nach meinem Verständnis die Funktion "Vom Bus lesen" und "Wert beibehalten". Bei den X1-internen Datenpunkten finde ich die Funktion "Wert beibehalten" allerdings nicht.....
      Zuletzt geändert von DrLooping; 21.03.2020, 14:53.

      Kommentar


        #63
        Ich muss mich da korrigieren, Addition von mehr als zwei Werten geht mit "Grundrechenart" nicht. Musst Du also drei davon kaskadieren. (Meine "Formelberechnung" oder "Statistikfunktionen" wolltest Du ja nicht, die könnten das, aber auch direkt den Mittelwert.)

        Inzwischen weiß ich auch, dass man den Geräte-Datenpunkt "Ortszeit"/"Local-Time" nicht triggern muss, um Daten ins Logikblatt zu bekommen.

        Zitat von DrLooping Beitrag anzeigen
        Ergänzung: Ist das Problem ggf. ein ganz anderes? Die 1 und 0 rutscht doch immer nur kurz über den Bus, nämlich dann, wenn die Berechnung einmal komplett erfolgt ist, richtig?
        Bei den KNX Datenpunkten gibt es dafür nach meinem Verständnis die Funktion "Vom Bus lesen" und "Wert beibehalten". Bei den X1-internen Datenpunkten finde ich die Funktion "Wert beibehalten" allerdings nicht.....
        Jeder KNX-Client merkt sich die für ihn relevanten Werte. Wenn eie Tastsensor beim Licht einschalten ein Ein-Telegramm liefert, blinkt das Licht ja auch nicht nur kurz, sondern bleibt an, bis wieder ein Aus-Telegramm kommt. "Wert beibehalten" meint, dass Werte auch über einen Geräte-Neustart oder Stromausfall hinweg erhalten bleiben. Das gibt es im X1 sowohl für Gruppenadress- als auch für Variablen-Datenpunkte. Für Geräte-Datenpunkte wäre es sinnlos, weil die sowieso ständig automatisch aktualisiert werden.

        Grüße von Horst
        Zuletzt geändert von hyman; 21.03.2020, 15:30.

        Kommentar


          #64
          hyman jetzt läufts anscheint. Mal sehen ob die Statusanzeige dann irgendwann mal automatisch auf Sommer springt....
          Ob es jetzt an der Ortszeit liegt, kann ich nicht sagen. Ich habe den Ausgang der Logik gleichzeitig noch von einem Geräte-Datenpunkt auf einen Variablen Datenpunkt gelegt.
          Vielleicht magst du bei Gelegenheit nochmal drüber schauen 🙄

          Unbenannt.JPG
          Zuletzt geändert von DrLooping; 29.03.2020, 21:13.

          Kommentar


            #65
            Zitat von DrLooping Beitrag anzeigen
            hyman jetzt läufts anscheint.
            Hallo,
            du hast T3 nur einmal in der Addition, teilst aber deine Summe aus 3 Werten durch 4.
            T3 geht in der Formel doppelt in die Rechnung ein, also musst du den Wert entweder doppelt hinzufügen, oder *2 rechnen.
            Zuletzt geändert von EinBjoern; 08.04.2020, 09:15.

            Kommentar


              #66
              Das steht zwar im Divisionsbaustein so als Formel drin, das ist ja aber nur Kommentar. Wenn man aber die (zugegeben unübersichtlich geführten) Verbindungen von den Wertgeneratoren zu den Addierern verfolgt, geht da T3 schon 2 mal ein ...

              Kommentar


                #67

                Hallo Florian/Beleuchtfix, hallo zusammen,

                nach dem ich mit der ETS-Parametrierung unseres Projekts endlich mal fertig geworden bin, beschäftige ich mich nun mit der Sommer/Winter-Umschaltung.
                Am Anfang des Threads gab es die Frage, warum man das überhaupt benötigt....meine Wärmepumpe kann heizen und kühlen, dementsprechend habe ich bei der Parametrierung der MDT-Heizungsaktoren das berücksichtigt und wird auch die Steuerung der Heizungsanlage beeinflussen.

                Nach ETS kommt jetzt IP Symcon (ich habe mich für IPS als Erweiterung der dezentrale der KNX-Steuerung bzw. für solche Sonderaufgaben wie diese entschieden)
                Relativ am Anfang vom Thread sagtest du, dass du ein PHP-Skrip für IPS geschrieben hättest, um die Durchschnittstemp der letzten 48 Std. zu berechnen.
                Kannst das Skript mit uns teilen?
                Ich würde das dementsprechend ein wenig für die DIN-Somme/Winter-Formel anpassen.

                Danke!
                Manuel
                Zuletzt geändert von manuc; 27.04.2020, 15:00.

                Kommentar


                  #68
                  Kann man die Zwischenwerte im X1 irgendwie speichern? Eingang/ Ausgang in interne Variable scheint nicht zu funktionieren.

                  Kommentar


                    #69
                    Zitat von manuc Beitrag anzeigen
                    Kannst das Skript mit uns teilen?
                    Das Script stammt vom IPS Forum. Da stehen dann auch die entsprechenden Details.

                    Gruß
                    Florian

                    Kommentar


                      #70
                      Hallo zusammen,

                      ich habe mich in den letzten Tagen mit dem Thema auseinandergesetzt (endlich ein wenig Urlaub) und ein PHP-Skript erstellt (für mein IPS).

                      Die Berechnung der Sommer/Winter-Umschaltung erfolgt nach der DIN-Formel und -Bedingung.
                      Ich habe aber darüber hinaus, einen Puffer über den Archive Handler implementiert, sodass es erst zu einer Umschaltung meiner KNX-Heizungsaktoren kommt, wenn mindestens 6 Tage in Folge Sommer oder Winter "erkannt" wurde...ansonsten könnte es, wenn es blöd kommt, täglich umschalten:

                      PHP-Code:
                      <?php
                      $ArchiveHandlerID 
                      30127//ID vom Archive Handler
                      $VarID1 42809//ID der Außentemperatur-Variable (archviert)
                      $VarID2 33068//ID der Sommer/Winter-Variable (rohe Werte - archviert)
                      $InstanzID 16358//ID der KNX-Instanz Sommer/Winter
                      //Temperatur um 7 Uhr
                      $Temp7 AC_GetLoggedValues ($ArchiveHandlerID$VarID10strtotime("today 07:00"), 1);
                      if (
                      count($Temp7)<1$Temp7 GetValue($VarID1);
                      //Temperatur um 14 Uhr
                      $Temp14 AC_GetLoggedValues ($ArchiveHandlerID$VarID10strtotime("today 14:00"), 1);
                      if (
                      count($Temp14)<1$Temp14 GetValue($VarID1);
                      //Temperatur um 22 Uhr
                      $Temp22 AC_GetLoggedValues ($ArchiveHandlerID$VarID10strtotime("today 22:00"), 1);
                      if (
                      count($Temp22)<1$Temp22 GetValue($VarID1);
                      //Berechnung der Sommer/Winter-Durchschnittstemperatur (gewichtet) nach DIN
                      $AvTemp= ($Temp7 $Temp14 2*($Temp22)) / 4;
                      //Bedingung für Somme/Winter-Umschaltung nach DIN
                      if ($AvTemp 16) {
                      $Sommer_Winter 1//Sommer
                      }
                      else {
                      $Sommer_Winter 0//Winter
                      }
                      SetValue ($VarID2$Sommer_Winter);
                      //Schreiben der KNX Sommer/Winter-Instanz über Puffer
                      $Sommer_Winter_1 AC_GetLoggedValues ($ArchiveHandlerID$VarID20strtotime("-1 days 22:01"), 1);
                      if (
                      count($Sommer_Winter_1)<1$Sommer_Winter_1 False;
                      $Sommer_Winter_2 AC_GetLoggedValues ($ArchiveHandlerID$VarID20strtotime("-2 days 22:01"), 1);
                      if (
                      count($Sommer_Winter_2)<1$Sommer_Winter_2 False;
                      $Sommer_Winter_3 AC_GetLoggedValues ($ArchiveHandlerID$VarID20strtotime("-3 days 22:01"), 1);
                      if (
                      count($Sommer_Winter_3)<1$Sommer_Winter_3 False;
                      $Sommer_Winter_4 AC_GetLoggedValues ($ArchiveHandlerID$VarID20strtotime("-4 days 22:01"), 1);
                      if (
                      count($Sommer_Winter_4)<1$Sommer_Winter_4 False;
                      $Sommer_Winter_5 AC_GetLoggedValues ($ArchiveHandlerID$VarID20strtotime("-5 days 22:01"), 1);
                      if (
                      count($Sommer_Winter_5)<1$Sommer_Winter_5 False;
                      if ((
                      $Sommer_Winter_1 == $Sommer_Winter_2) and ($Sommer_Winter_2 == $Sommer_Winter_3) and ($Sommer_Winter_3 == $Sommer_Winter_4) and ($Sommer_Winter_4 == $Sommer_Winter_5) and ($Sommer_Winter_5 == $Sommer_Winter)) KNX_WriteDPT1($InstanzID$Sommer_Winter);

                      ?>
                      ​​​​​​​Das Skript ist lauffähig und tut bei mir das, was es soll...meldet euch bei Kommentaren oder Vorschlägen.

                      Grüße,
                      Manuel

                      Kommentar


                        #71
                        Ich werde das mal testen. Vielen Dank.

                        Kommentar


                          #72
                          Achtung Laie: Mit dem Skript kann ich im X1 aber nichts anfangen!?!

                          Kommentar


                            #73
                            Natürlich nicht, weis auch nicht warum die Threads neuerdings immer gekapert werden müssen.

                            Kommentar


                              #74
                              Ich grabe den Thread nochmal aus der Versenkung. Mit meiner Sommer/Winter Logik bin ich zufrieden ... naja, zumindest läuft sie.
                              Ich würde aber gerne die Sommer/Winter Temperatur nach DIN gerne über mehrere Tage, z.B. über drei oder vier Tage messen. Mit meiner Logik schaffe ich e nur über 24h und bin etwas ratlos wie ich es anstellen kann. Vielleicht hat einer von den "üblichen Verdächtigen" eine Idee für mich ...

                              SommerWinter Temp 24h.JPG
                              Zuletzt geändert von DrLooping; 09.09.2020, 12:02.

                              Kommentar


                                #75
                                Das wird halt eine wüste Verzögerer- und Vergleicher-Orgie, wenn Du das bisherige Verfahren weiter treibst.

                                Was gehen könnte: Statt mehrerer Wertgeneratoren nimmst Du nur einen. Der wird dann einfach jeden Tag dreimal zu den gewünschten Zeiten getriggert. Diese Zeitreihe von Werten packst Du auf den Eingang eines Bausteins Statistik für Zeitreihen und stellst den Betrachtungszeitraum auf so viele Tage wie Du möchtest. Genau nach DIN ist der Wert dann nicht, weil es ja mehrere Tage sind und die doppelte Gewichtung des Messwerts von 22:00 Uhr fehlt. Wenn man ohnehin schon von der DIN abweicht, kann man natürlich auch einfach stündlich triggern. Die Anzahl der gemittelten Tage hat wahrscheinlich was mit der thermischen Trägheit des Hauses zu tun, bei schwerer Bauweise länger...

                                Kommentar

                                Lädt...
                                X