Ankündigung

Einklappen
Keine Ankündigung bisher.

Ermittlung der mittleren Heiztemperatur für Sommer/Winter-Umschaltung

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] Ermittlung der mittleren Heiztemperatur für Sommer/Winter-Umschaltung

    Hi,
    für meine angedachte Sommer / Winter umschaltung brauche ich die Mittlere durchschnittliche Aussentemperatur der letzten drei Tage. Hat einer ein Plugin dafür parat wie man das aus einer Temperatur die in den RRDs mitgeschrieben wird auf eine GA ausgeben kann?
    Viele Grüsse
    Jürgen

    #2
    ohh schon was selber gefunden...ich probiers mal mit dem MinMaxValueFromRRDtoGA.pl plugin. Das kann auch AVG.

    Wenn noch jemand tips zur Sommer winter umschaltung nur her damit.
    Viele Grüsse
    Jürgen

    Kommentar


      #3
      Hi,
      ich habe diese Plugin jetzt mal um den Avg erweitert. Da ich von Perl null Ahnung habe wäre es gut wenn mal jemand drüberschaut. Funktionieren tut es soweit.
      vg
      Jürgen


      Code:
      ### Plugin Min/Max values from RRD auf den Bus
      # v0.4
      my $RRDName = "Temperatur_Aussen_Wetterstation";
      my $ds   = "AVERAGE"; # Datasource: MIN AVERAGE MAX - egal bei Werten <180h
      my $start = "now-72h"; # AT-STYLE TIME SPECIFICATION 
      my $end   = "now";
      $plugin_info{$plugname.'_cycle'} = 3600; # alle x sekunden
      my $debug = 1;
      my $gamin = '9/0/27'; # leer um Versand zu unterbinden-> ''
      my $gamax = '9/0/28'; # leer um Versand zu unterbinden-> ''
      my $gaavg = '9/0/26'; # leer um Versand zu unterbinden-> ''
      
      my $dpt = $eibgaconf{$gaavg}{'DPTSubId'} || $eibgaconf{$gamin}{'DPTSubId'} || $eibgaconf{$gamax}{'DPTSubId'} || "9.001";
      # hier einen Wert setzen (statt "9.001" z.B. "5.001"), falls es nicht im import/config ist
      
      ### ENDE Definitionen
      
      # return early on write/response (telegram from myself!)
      if ($msg{'apci'} && $msg{'apci'} ne "A_GroupValue_Read") {
      	return;
      }
      
      my ($min,$max);
      my $avg;
      my $sum = 0;
      my $counter = 0;
      
      my ($dbstart, $step, $names, $data) =
      	RRDs::fetch('/var/www/rrd/'.$RRDName.'.rrd', "--start=$start","--end=$end", $ds);
      
      foreach my $line (@$data) {
         foreach my $val (@$line) {
      	next unless defined $val;
      	$min = $val unless defined $min;
      	$max = $val unless defined $max;
      	$min = $val if $val < $min;
         	$max = $val if $val > $max;
         	$counter += 1;
         	$sum += $val;
          }
      }
      
      $avg = $sum / $counter;
      
      
      if ($msg{'apci'} eq "A_GroupValue_Read" and $msg{'dst'} eq $gamin) {
      	knx_write($gamin,$min,$dpt,1);
      	return;
      } elsif ($msg{'apci'} eq "A_GroupValue_Read" and $msg{'dst'} eq $gamax) {
      	knx_write($gamax,$max,$dpt,1);
      	return;
      } elsif ($msg{'apci'} eq "A_GroupValue_Read" and $msg{'dst'} eq $gaavg) {
      	knx_write($gaavg,$avg,$dpt,1);
      	return;
      }
      
      if ($gamin) {
      	knx_write($gamin,$min,$dpt);
      	$plugin_subscribe{$gamin}{$plugname} = 1;
      }
      if ($gamax) {
      	knx_write($gamax,$max,$dpt);
      	$plugin_subscribe{$gamax}{$plugname} = 1;
      }
      if ($gaavg) {
      	knx_write($gaavg,$avg,$dpt);
      	$plugin_subscribe{$gaavg}{$plugname} = 1;
      }
      
      return("Min $min Max $max Avg $avg in $start") if $debug;
      return;

      Kommentar


        #4
        Sieht nicht falsch aus; ich habs mal ins SVN damit es nicht verloren geht..

        Nach DIN (muss nicht sinnvoll sein, ist aber eine Norm ) berechnet man die Temperatur für Sommer/Winter Umschaltung übrigens wie folgt:

        (ATemp0700Uhr+ATemp1400Uhr+(2*ATemp2200Uhr))/4

        Funktioniert ganz gut..

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

        Kommentar


          #5
          So richtig smart wäre es wenn ich noch die Temperatur von Morgen dazurechne.

          Kommentar


            #6
            Zitat von heckmannju Beitrag anzeigen
            So richtig smart wäre es wenn ich noch die Temperatur von Morgen dazurechne.
            Richtig, dann mach das halt (nutze ich auch so ähnlich..)
            Mit diesem Plugin und z.B. "yr-forecast.pl" haste alle Daten beisammen..

            Edit: ich finde das übrigens keine Spielerei, sondern besonders in der Übergangszeit (die ja recht lang sein kann) ist das Bargeld, die Heizung stillzulegen, weil man "weiss" das morgen 12h die Sonne reinknallt..

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

            Kommentar

            Lädt...
            X