Weewx Tabelle Chronik

wenn es um andere Software geht
Benutzeravatar
JoachimF
Beiträge: 222
Registriert: 08 Dez 2021 20:29
Wohnort: Carces
Hat sich bedankt: 1 mal
Kontaktdaten:

Weewx Tabelle Chronik

Beitrag von JoachimF »

Ich finde diese Tabelle sehr schön und wie kann ich sie in eine andere "Seite" einbauen.
Hintergrund:
Auf dem Server ist noch php 7.4 und Joomla 3 installiert.
Ich teste gerade (lokal) Joomla4 mit php 8.2 und würde dort gerne die Tabelle separat anzeigen lassen.
Habe aber noch keine Idee, wie das umsetzen kann.
Gruß Joachim

https://puttkammer.de
Benutzeravatar
Werner
Site Admin
Beiträge: 5674
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 58 mal
Kontaktdaten:

Re: Weewx Tabelle Chronik

Beitrag von Werner »

@Joachim,

der Bootstrap skin ist eigentlich dafür ausgelegt, zu dem diese Ansicht/Thema gehört, die History in einer eigenen Seite anzuzeigen.
In der Version 4 (ich nutze die Version 3 mit eigenen Änderungen) gibt es noch viel mehr Möglichkeiten.
Siehe https://github.com/brewster76/fuzzy-archer

Bei Verwendung meiner Version könnte es so sein:

history.html.tmpl

Code: Alles auswählen

<!DOCTYPE html>
<html lang="en">
  <head>
    ## This choice should match the #encoding directive above
    <meta charset="UTF-8">
<META HTTP-EQUIV="Refresh" CONTENT="300">
    <title>$station.location - $station.hardware</title>
    <link rel="icon" type="image/png" href="favicon.ico" />
    <link rel="stylesheet" type="text/css" href="seasons.css"/>

    <style type="text/css">

.col-md-8 {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

.col-md-8 table th {
    font-weight: bold;
    font-size: 14px;
    text-align: center;
    border-bottom: 1px solid;
}

.col-md-8 table td {
    font-weight: normal;
    text-align: right;
    font-size: 13px;
    padding-right: 5px;
    padding-left: 5px;
    border-bottom: 1px solid;
}

    </style>

    <script src="seasons.js"></script>
  </head>

<body onload">
<div class="col-md-8">
            <h4>$BootstrapLabels.history_tables.min_temp</h4>
$min_temp_table

            <h4>$BootstrapLabels.history_tables.avg_temp</h4>
$avg_temp_table

            <h4>$BootstrapLabels.history_tables.max_temp</h4>
$max_temp_table

            <h4>$BootstrapLabels.history_tables.rain</h4>
$rain_table

            <h4>$BootstrapLabels.history_tables.rain_days</h4>
$rain_days_table

            <h4>$BootstrapLabels.history_tables.windGust</h4>
$max_windGust_table

            <h4>$BootstrapLabels.history_tables.max_UV</h4>
$max_UV_table

            <h4>$BootstrapLabels.history_tables.max_radiation</h4>
$max_radiation_table

            <h4>$BootstrapLabels.history_tables.min_barometer</h4>
$min_barometer_table

            <h4>$BootstrapLabels.history_tables.avg_barometer</h4>
$avg_barometer_table

            <h4>$BootstrapLabels.history_tables.max_barometer</h4>
$max_barometer_table

            <h4>$BootstrapLabels.history_tables.outTemp_days</h4>
$outTemp_days_table

            <h4>$BootstrapLabels.history_tables.outTemp20_days</h4>
$outTemp20_days_table

            <h4>$BootstrapLabels.history_tables.outTemp0_days</h4>
$outTemp0_days_table

            <h4>$BootstrapLabels.history_tables.outTemp00_days</h4>
$outTemp00_days_table

           </div>
</body>
</html>

... habe denn vorgenannten Code nicht ausprobiert ;)
Benutzeravatar
JoachimF
Beiträge: 222
Registriert: 08 Dez 2021 20:29
Wohnort: Carces
Hat sich bedankt: 1 mal
Kontaktdaten:

Re: Weewx Tabelle Chronik

Beitrag von JoachimF »

Der Code funktioniert.
Habe ihn testweise in die tabular.html.tmpl eingebaut, weil aus einer history.html.tmpl keine history.html erzeugt wird. :?:
Gruß Joachim

https://puttkammer.de
Benutzeravatar
Werner
Site Admin
Beiträge: 5674
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 58 mal
Kontaktdaten:

Re: Weewx Tabelle Chronik

Beitrag von Werner »

weil aus einer history.html.tmpl keine history.html erzeugt wird
Dann hast Du sehr wahrscheinlich die skin.conf nicht entsprechend erweitert:

Code: Alles auswählen

[CheetahGenerator]
    ..._list_extensions = user.historygenerator.MyXSearch
    [[ToDate]]
        [[[history]]]
            template = history.html.tmpl
Benutzeravatar
JoachimF
Beiträge: 222
Registriert: 08 Dez 2021 20:29
Wohnort: Carces
Hat sich bedankt: 1 mal
Kontaktdaten:

Re: Weewx Tabelle Chronik [gelöst]

Beitrag von JoachimF »

Richtig :D
Danke es funktioniert nun
Gruß Joachim

https://puttkammer.de
Benutzeravatar
JoachimF
Beiträge: 222
Registriert: 08 Dez 2021 20:29
Wohnort: Carces
Hat sich bedankt: 1 mal
Kontaktdaten:

Re: Weewx Tabelle Chronik

Beitrag von JoachimF »

Die Luftdruckwerte mit einer Nachkommastelle in der Tabelle verbreitern mir diese zu sehr.
aktuelle Min Max Monatswerte.png
aktuelle Min Max Monatswerte.png (78.54 KiB) 1348 mal betrachtet
Kann man die Nachkommastelle unterdrücken?
Gruß Joachim

https://puttkammer.de
Benutzeravatar
Werner
Site Admin
Beiträge: 5674
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 58 mal
Kontaktdaten:

Re: Weewx Tabelle Chronik

Beitrag von Werner »

@Joachim,

geht wenn Du in weewx.conf die Einheit für hPa änderst - gilt dann aber für alle Luftdruckausgaben

Code: Alles auswählen

      [[[[StringFormats]]]]
      
          #hPa = %.1f      
          hPa = %.0f
oder in der historygenerator.py diese Änderung durchführst - nach der Änderung muss Weewx restartet werden!

Code: Alles auswählen

            # For aggregrate types which return number of occurrences (e.g. max_ge), set format to integer

            # Don't catch error here - we absolutely need the string format
            if unit_type == 'count':
                format_string = '%d'
            else:
                if obs_type == 'barometer':
                   format_string = '%.0f'
                else:   
                  format_string = reading.formatter.unit_format_dict[unit_type]

... hab's nicht kontrolliert, ob es auch so funktioniert, denn machmal übersieht man in der Theorie was.
Benutzeravatar
JoachimF
Beiträge: 222
Registriert: 08 Dez 2021 20:29
Wohnort: Carces
Hat sich bedankt: 1 mal
Kontaktdaten:

Re: Weewx Tabelle Chronik

Beitrag von JoachimF »

Wenn ich deine historygenerator4.py verwenden will, ist die entsprechende Zeile in user.historygenerator4.MyXSearch zu ändern?
Werner hat geschrieben: 02 Mai 2023 11:37 Dann hast Du sehr wahrscheinlich die skin.conf nicht entsprechend erweitert:

Code: Alles auswählen

[CheetahGenerator]
    ..._list_extensions = user.historygenerator.MyXSearch
    [[ToDate]]
        [[[history]]]
            template = history.html.tmpl
Muss fuzzy-archer installiert werden?
Gruß Joachim

https://puttkammer.de
Benutzeravatar
Werner
Site Admin
Beiträge: 5674
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 58 mal
Kontaktdaten:

Re: Weewx Tabelle Chronik

Beitrag von Werner »

entsprechende Zeile in user.historygenerator4.MyXSearch zu ändern
Ja,
Muss fuzzy-archer installiert werden?
Wenn Du den Bootstrap Skin nutzen willst
siehe hier:
https://www.pc-wetterstation.de/wetter/ ... index.html

Ich nutze die Erweiterung historygenerator4.py nur im Bootstrap skin, sonst den
historygenerator.py, welcher die gleichen Möglichkeiten bietet wie der historygenerator4.py
nur ist die Einbindung mit der historygenerator.py einfacher.
Benutzeravatar
JoachimF
Beiträge: 222
Registriert: 08 Dez 2021 20:29
Wohnort: Carces
Hat sich bedankt: 1 mal
Kontaktdaten:

Re: Weewx Tabelle Chronik

Beitrag von JoachimF »

Die Seite history.html wird erzeugt.

Was habe ich gemacht:

In die /usr/share/weewx/user/ habe ich deine historygenerator.py kopiert

Die history.html.tmpl mit deinem Code gefüllt:

Code: Alles auswählen

<!DOCTYPE html>
<html lang="en">
  <head>
	## This choice should match the #encoding directive above
	<meta charset="UTF-8">
<META HTTP-EQUIV="Refresh" CONTENT="300">
	<title>$station.location - $station.hardware</title>
	<link rel="icon" type="image/png" href="favicon.ico" />
	<link rel="stylesheet" type="text/css" href="seasons.css"/>

	<style type="text/css">

.col-md-8 {
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}

.col-md-8 table th {
	font-weight: bold;
	font-size: 14px;
	text-align: center;
	border-bottom: 1px solid;
}

.col-md-8 table td {
	font-weight: normal;
	text-align: right;
	font-size: 13px;
	padding-right: 5px;
	padding-left: 5px;
	border-bottom: 1px solid;
}

	</style>

	<script src="seasons.js"></script>
  </head>

<body onload">
<div class="col-md-8">
			<h4>$BootstrapLabels.history_tables.min_temp</h4>
$min_temp_table

			<h4>$BootstrapLabels.history_tables.avg_temp</h4>
$avg_temp_table

			<h4>$BootstrapLabels.history_tables.max_temp</h4>
$max_temp_table

.... usw.

			<h4>$BootstrapLabels.history_tables.outTemp00_days</h4>
$outTemp00_days_table

		   </div>
</body>
</html>
wobei ich nicht mehr sagen kann, wie ich an den Code gekommen bin,
ebenso die Code-Erweiterung für die skin.conf

Code: Alles auswählen

[BootstrapLabels]
....
	history_tables
		min_temp = Tiefsttemperatur
		max_temp = Höchsttemperatur
		avg_temp = Durchschnittstemperatur
		rain     = Regen
		rain_days = Regentage
....
[HistoryReport]

	refresh_interval = 720

	 min_temp
		obs_type = outTemp
		aggregate_type = min

		summary_column = true
		summary_heading = Min  
....

Die index.html.tmpl wurde auch ergänzt.
<div id="plot_group">
.....
<a class="button" id="button_history_chronicle"
onclick="choose_history('chronicle')">Chronik</a>
aber wie schaffe ich es, dass hier die Chronik angezeigt wird.

Die alte index.html.tmpl sieht bzgl. Code anders aus als die jetzige Version mit Schleifen.

Code: Alles auswählen

      <div id="plot_group">
        <div id="history_widget" class="widget">
          <div id="plot_title" class="widget_title">$gettext("History"):&nbsp;&nbsp;
            <a class="button_selected" id="button_history_day"
               onclick="choose_history('day')">$gettext("Day")</a>
            <a class="button" id="button_history_week"
               onclick="choose_history('week')">$gettext("Week")</a>
            <a class="button" id="button_history_month"
               onclick="choose_history('month')">$gettext("Month")</a>
            <a class="button" id="button_history_year"
               onclick="choose_history('year')">$gettext("Year")</a>
            <a class="button" id="button_history_chronicle"
               onclick="choose_history('chronicle')">Chronik</a>
          </div>
          
#for period in $periods
          <div id="history_${period}" class="plot_container" style="display:none">
  #for plot_group in $plot_groups
    #set $show_plot = 0
    #*
      The plot name is just the concatenation of the period and the plot group.
      For example, 'year' + 'tempdew' yields 'yeartempdew'.
    *#
    #set $plot_name = $period + $plot_group
    #for obs in $getobs($plot_name)
      #if $recent.check_for_data($obs)
        #set $show_plot = 1
      #end if
    #end for
    #if $show_plot
            <img src="${plot_name}.png" alt="${plot_name}"/>            
    #end if
    
  #end for

          </div>
#end for

        </div>
      </div>
    </div>
Gruß Joachim

https://puttkammer.de
Benutzeravatar
Werner
Site Admin
Beiträge: 5674
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 58 mal
Kontaktdaten:

Re: Weewx Tabelle Chronik

Beitrag von Werner »

@Joachim,

Deine Frage bezieht sich auf die Ecowitt-Anzeige?
Da bei der Vantage ist die Darstellung der Chronik vorhanden.

Du brauchst die geänderte seasons.js
Wobei es um diesen Code geht:

Code: Alles auswählen

function choose_history(id) {
    choose_div('history', id, ['day', 'week', 'month', 'year', 'chronicle']);
    choose_col('hilo', id, ['week', 'month', 'year', 'alltime']);
    // choose_rainyear(id);
}
Die Cookie-Einstellung in dieser Datei solltest Du auch ändern, z.B.

Code: Alles auswählen

const cookie_prefix = "weewx1.seasons.";
Damit verhindert man, wenn in einer Station z.B. Monat gewählt ist, nicht auch bei der anderen Station
auf Monat umgestellt wird.

Die geänderte season.js sollte danach auf den Webspace kopiert werden, da laut Einstellung diese Datei
nur bei leerem Web-Verzeichnis (also neu) kopiert wird.
Benutzeravatar
JoachimF
Beiträge: 222
Registriert: 08 Dez 2021 20:29
Wohnort: Carces
Hat sich bedankt: 1 mal
Kontaktdaten:

Re: Weewx Tabelle Chronik

Beitrag von JoachimF »

Verständnisfrage:
Für die Chronik-Tabelle z.B. UV MAX werden die MAX Werte der Tabelle archive_day_max ausgewertet.

wee_database --config=/etc/weewx/weewx.conf --calc-missing

würde die Werte neu berechnen und somit die Chronik-Tabelle aktualisieren.
Gruß Joachim

https://puttkammer.de
Benutzeravatar
Werner
Site Admin
Beiträge: 5674
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 58 mal
Kontaktdaten:

Re: Weewx Tabelle Chronik

Beitrag von Werner »

würde die Werte neu berechnen und somit die Chronik-Tabelle aktualisieren.
So sollte es sein.
Antworten