Seite 1 von 1
Weewx Tabelle Chronik
Verfasst: 01 Mai 2023 11:53
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.
Re: Weewx Tabelle Chronik
Verfasst: 01 Mai 2023 16:29
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
Re: Weewx Tabelle Chronik
Verfasst: 01 Mai 2023 20:18
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.
Re: Weewx Tabelle Chronik
Verfasst: 02 Mai 2023 11:37
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
Re: Weewx Tabelle Chronik [gelöst]
Verfasst: 02 Mai 2023 12:36
von JoachimF
Richtig
Danke es funktioniert nun
Re: Weewx Tabelle Chronik
Verfasst: 06 Mai 2023 16:13
von JoachimF
Die Luftdruckwerte mit einer Nachkommastelle in der Tabelle verbreitern mir diese zu sehr.
- aktuelle Min Max Monatswerte.png (78.54 KiB) 1599 mal betrachtet
Kann man die Nachkommastelle unterdrücken?
Re: Weewx Tabelle Chronik
Verfasst: 06 Mai 2023 19:18
von Werner
@Joachim,
geht wenn Du in weewx.conf die Einheit für hPa änderst - gilt dann aber für alle Luftdruckausgaben
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.
Re: Weewx Tabelle Chronik
Verfasst: 18 Aug 2023 11:09
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?
Re: Weewx Tabelle Chronik
Verfasst: 18 Aug 2023 17:33
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.
Re: Weewx Tabelle Chronik
Verfasst: 20 Aug 2023 10:24
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"):
<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>
Re: Weewx Tabelle Chronik
Verfasst: 20 Aug 2023 21:53
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.
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.
Re: Weewx Tabelle Chronik
Verfasst: 16 Mär 2024 17:13
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.
Re: Weewx Tabelle Chronik
Verfasst: 16 Mär 2024 20:28
von Werner
würde die Werte neu berechnen und somit die Chronik-Tabelle aktualisieren.
So sollte es sein.