Austausch von Daten - 2 Instanzen - 2 DB

wenn es um andere Software geht
Benutzeravatar
Werner
Site Admin
Beiträge: 5674
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 58 mal
Kontaktdaten:

Re: Austausch von Daten - 2 Instanzen - 2 DB

Beitrag von Werner »

Obere Zeile ist die 2. Instanz, darunter die Ausgabe der 1. Instanz mit wx_binding2 und MIN/MAX Werten
Ja war nicht berücksichtigt.
unter /weewx findest Du die dazu angepassten *.inc - Dateien in der Zip-Datei
Seasons_wx_binding.zip

Da ich umgestellt habe von sunduration.py auf sunrainduration.py dürften diese
Dateien nicht eins zu eins für Dich passen.
Mit der sundrainduration.py wird die Sonnenscheinzeit jetzt in Sekunden (vorher Stunden) aufgezeichnet
und der zuständige Datenbankwert ist dazu "sunshineDur"
Im früheren Datenbank-Wert "sunshine_time" wird der Grenzwert, ab wann Sonnenschein-Zeit festgehalten.
Wenn Du auch auf die sunrainduration.py umstellen willst, findest Du die Datei unter
/weewx/usr/share/weewx/user/sunrainduration.zip
Darin ist auch beschrieben, wie man die Datenbank umändert bzw. anpasst.
Benutzeravatar
JoachimF
Beiträge: 222
Registriert: 08 Dez 2021 20:29
Wohnort: Carces
Hat sich bedankt: 1 mal
Kontaktdaten:

Re: Austausch von Daten - 2 Instanzen - 2 DB

Beitrag von JoachimF »

Bei der Umsetzung kommt es zu kleineren Problemen.

1) statistics.inc ist OK ,d.h. es wird nur der UV Max-Wert angezeigt

2) hilo.inc zeigt auch nur den UV Max-Wert an, aber dafür wird bei der Nomalausgabe TAG bereits die ALLZEIT Spalte mit ausgegeben.
83570 Carces - Provence.png
83570 Carces - Provence.png (35.09 KiB) 2226 mal betrachtet
was vorher nicht der Fall war.

3) current.inc
83570 Carces - Provence2.png
83570 Carces - Provence2.png (8.78 KiB) 2226 mal betrachtet
der entsprechende Code dazu

Code: Alles auswählen

('radiation','#f2a265','yesterday','1'),
('luminosity','','current','0'),
('sunshine_time','red','current','1'),
('sunshine_hours','#f2a265','day','1'),
('sunshine_time','#f2a265','day','1'),
('sunshineDur','#f2a265','deltatime','1'),
Welche Werte sind relevant?
----------
rainDur 0:22:00 hrs. bedeutet ?


4) skin.conf
daysunshine.png
daysunshine.png (6.34 KiB) 2226 mal betrachtet
hier stimmt ALLES nichtmehr.

Code: Alles auswählen

        [[[daysunshine]]]   #Sonnenscheindauer
            color = "#ea078b"
            plot_type = bar
            yscale = None, None, 1.0
           [[[[sunshine_time]]]]
              data_type = sunshine_time
              y_label = "Minuten"
              label = Sonnenscheindauer
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: Austausch von Daten - 2 Instanzen - 2 DB

Beitrag von Werner »

zu 1)
ich habe die current.inc noch einmal geändert (aktuell 24.02.2023).
Es werden jetzt für fast jeden Wert auch eine zweite Datenbank unterstützt,
nicht unterstützt werden die Lightning, GTS und sunshine_hours Werte.

zu 2)
Der Grund dafür ist, dass du nicht die geänderte seasons.js verwendest.
Ich hab schon vor langer Zeit von "Jahr Regen" auf "All-Zeit" umgestellt und dazu
ich eben auch die geänderte seasons.js notwendig.
('sunshine_hours','#f2a265','day','1'),
('sunshine_time','#f2a265','day','1'),
('sunshineDur','#f2a265','deltatime','1'),
sunshine_hours ist der alte Sonnenscheinzeitwert, der sich auf 120 W/m² bezieht in Stunden:Minuten
sunshine_time ist jetzt der Wert in W/m², ab wann Sonnenscheinzeit gezählt wird, gegenüber der alten sunduration ist hier der Faktor in der Regel anzupassen!
sunshineDur ist jetzt die neue Sonnenscheinzeit in Stunden:Minuten:Sekunden
rainDur ist die Zeit in der Regen fiel in Stunden:Minuten:Sekunden, da hier defaultmäßig Nutzung des Speicherintervall eingestellt ist, kommen keine Sekunden vor. Ausser man stellt auf
rainDur_loop = 1 um, dann wird nur die Zeit erfasst, wo im loop-Wert Regen war. Nach meiner Erkenntnis ist der Wert hier zu klein, man würde da eine viel geringere Regenmesserauflösung benötigen.

In der skin.conf

Code: Alles auswählen

        [[[daysunshine]]]
           color = "#ea078b"
           plot_type = bar
	    yscale = 0.0, 15, 2.5
           [[[[sunshineDur]]]]
 	      data_type = sunshineDur / 60
              y_label = "Minuten"
              label = Sonnenschein
              
        [[[dayradiation]]]
		color = "#e8e81b"
            [[[[maxSolarRad]]]]
		color = "#a7a7aa"
            [[[[sunshine_time]]]]
		color = "red"
              label = Sonnenschein
            [[[[radiation]]]]
		fill_color = "#ecf402"
		plot_type = bar
sunshine_time zeigt dabei in der Grafik auch den Grenzwert, ab wann eben Sonnenschein-Zeit gezählt wird.

Wenn hrs. in Deutsch willst, musst Du in der lang/de.conf das ergänzen:
"hrs." = "Std."
Benutzeravatar
JoachimF
Beiträge: 222
Registriert: 08 Dez 2021 20:29
Wohnort: Carces
Hat sich bedankt: 1 mal
Kontaktdaten:

Re: Austausch von Daten - 2 Instanzen - 2 DB

Beitrag von JoachimF »

Code: Alles auswählen

zu 1)
ich habe die current.inc noch einmal geändert (aktuell 24.02.2023).
werde sie ausprobieren

Code: Alles auswählen

zu 2)
Der Grund dafür ist, dass du nicht die geänderte seasons.js verwendest.
welches Datum bzw. in welchem Ordner finde ich die geänderte Version?
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: Austausch von Daten - 2 Instanzen - 2 DB

Beitrag von Werner »

Das Datum von der seasons.js ist der 28.11.2021
Ist auf jeden Fall so etwas enthalten:

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);
welchem Ordner
Da diese Datei nur bei leerem skin-Verzeichnis in das Web-Space Verzeichnis mit übertragen wird,
im Web-Space-Verzeichnis ( /var/www/html/weewx ) händisch aktualisieren .

Auch wurde da schon chronicle hinzugefügt.
Ich habe deshalb jetzt auch die skins_* Dateien unter /weewx aktualisiert.
Die notwendigen Einträge für chronicle sind dort in der skin.conf enthalten.
"Chronicle" benötigt im Benutzer-Verzeichnis (/usr/share/weewx/user ) die Python-Datei:
historygenerator.py
Benutzeravatar
JoachimF
Beiträge: 222
Registriert: 08 Dez 2021 20:29
Wohnort: Carces
Hat sich bedankt: 1 mal
Kontaktdaten:

Re: Austausch von Daten - 2 Instanzen - 2 DB

Beitrag von JoachimF »

Fast geschafft mit der Umsetzung.

History: Chronicle ist ohne Ausgabe => leeres Blatt :?:

Weekradiation.png
weekradiation.png
weekradiation.png (7.87 KiB) 2205 mal betrachtet
sieht etwas anders aus als bei dir.

Ebenso die monthRadiationEnergy.png bzw.
monthRadiationEnergy.png
monthRadiationEnergy.png (8.44 KiB) 2205 mal betrachtet
yearradiation
yearradiation.png
yearradiation.png (8.6 KiB) 2205 mal betrachtet
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: Austausch von Daten - 2 Instanzen - 2 DB

Beitrag von JoachimF »

so sieht der aktuelle Stand aus:
83570 Carces - Provence - Vantage Pro2.png
83570 Carces - Provence - Vantage Pro2.png (12.19 KiB) 2203 mal betrachtet

Code: Alles auswählen

('sunshine_time','red','current','0'),
('sunshine_hours','#f2a265','day','1'),
('sunshine_time','#f2a265','day','1'),
('sunshineDur','#f2a265','deltatime','1'),
83570 Carces - Provence - Vantage Pro22.png
83570 Carces - Provence - Vantage Pro22.png (7.87 KiB) 2203 mal betrachtet
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: Austausch von Daten - 2 Instanzen - 2 DB

Beitrag von Werner »

History: Chronicle ist ohne Ausgabe => leeres Blatt :?:
Habe gerade auf Deiner Seite nachgesehen, die History ist doch befüllt.
Was bei Dir fehlt:
Anzahl Sommertage (Maximaltempertatur >= 25 °C)
Anzahl Warme Tage (Maximaltempertatur >= 20 °C)
Anzahl Frosttage (Minimaltemperatur <= 0 °C)
Anzahl Eistage (Maximaltemperatur <= 0 °C)

Kann aber auch an mir liegen, dass das nicht in den hochgeladenen Skin-Dateien enthalten ist.

Anzeige von Regen Jahr:
falsche season.js und/oder in der hilo.inc
fehlt das (rainyear ist auskommentiert und dafür Alltime verwendet):

Code: Alles auswählen

      <tr>
        <td></td>
        #if not $use_lang
          <th>&nbsp;<br/>Today</th>
          <th class="hilo_week">&nbsp;<br/>Week</th>
          <th class="hilo_month">&nbsp;<br/>Month</th>
          <th class="hilo_year">&nbsp;<br/>Year</th>
          <th class="hilo_alltime">&nbsp;<br/>Alltime</th> 
          ##<th class="hilo_year">
          ##<a onclick="toggle_rainyear()">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>Year</a>
          ##</th>
          ##<th class="hilo_rainyear">
          ## <a onclick="toggle_rainyear()">Rain<br/>Year</a>
          ##</th>
        #else 
          <th>&nbsp;<br/>$gettext("Today")</th>
          <th class="hilo_week">&nbsp;<br/>$gettext("Week")</th>
          <th class="hilo_month">&nbsp;<br/>$gettext("Month")</th>
          <th class="hilo_alltime">&nbsp;<br/>$gettext("Year")</th>
          <th class="hilo_alltime">&nbsp;<br/>$gettext("Alltime")</th>
          ##<th class="hilo_year">
          ##  <a onclick="toggle_rainyear()">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>$gettext("Year")</a>
          ##</th>
          ##<th class="hilo_rainyear">
          ## <a onclick="toggle_rainyear()">$gettext("Rain<br/>Year")</a>
          ##</th>
        #end if 
        <td></td>
      </tr>
('sunshine_time','#f2a265','day','1'),
muss so sein:
('sunshine_time','#f2a265'','current','1'),
Also anstatt day - current

Bei Deinen Tagesgrafiken solltest Du für die Sonnenschein-Zeit den Code verwenden den ich vor Kurzen hier reingestellt habe.
Benutzeravatar
JoachimF
Beiträge: 222
Registriert: 08 Dez 2021 20:29
Wohnort: Carces
Hat sich bedankt: 1 mal
Kontaktdaten:

Re: Austausch von Daten - 2 Instanzen - 2 DB

Beitrag von JoachimF »

History wird erstellt, ich hatte vergessen die historygenerator.py in das entsprechende Verzeichnis zu kopieren :oops:

Diese Tabellen finde ich super und bedanke mich an dieser Stelle für deine Arbeit.

Code: Alles auswählen

Anzeige von Regen Jahr:
falsche season.js
Diese Datei bring mich zum Verzweifeln.
Mit dem jetzigen Code funktioniert es

Code: Alles auswählen

function choose_history(id) {
    choose_div('history', id, ['day', 'week', 'month', 'year', 'chronicle']);
    choose_col('hilo', id, ['week', 'month', 'year', 'rainyear']);
    //choose_col('totals', id, ['week', 'month', 'year', 'rainyear']);
    //choose_rainyear(id);
}

function choose_rainyear(id) {
    if (id === 'year') {
        choose_col('hilo', year_type, ['year', 'rainyear']);
        choose_col('totals', year_type, ['year', 'rainyear']);
    }
}

function toggle_rainyear() {
    if (year_type === 'year') {
        // year_type = 'rainyear';
        year_type = 'year';
    } else {
        year_type = 'year';
    }
    set_state('year_type', year_type);
    const id = get_active_div('history', ['day', 'week', 'month', 'year', 'chronicle'], 'day');
    choose_rainyear(id);
}
Nehme ich den Orginalcode

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);
}

function choose_rainyear(id) {
    if (id === 'year') {
        choose_col('hilo', year_type, ['year', 'rainyear']);
    }
}

function toggle_rainyear() {
    if (year_type === 'year') {
        // year_type = 'rainyear';
        year_type = 'year';
    } else {
        year_type = 'year';
    }
    set_state('year_type', year_type);
    const id = get_active_div('history', ['day', 'week', 'month', 'year', 'chronicle'], 'day');
    choose_rainyear(id);
}
funktioniert es nicht
Der Übeltäter ist alltime.
Diese Baustelle möchte ich zuerst beseitigen.
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: Austausch von Daten - 2 Instanzen - 2 DB

Beitrag von Werner »

@Joachim,

hast Du meine Ergänzung bezüglich hilo.inc (meine vorherige Antwort)
gelesen und natürlich meine geänderte seasons.js.

Ich vermute dass ist Dein Problem.
Benutzeravatar
JoachimF
Beiträge: 222
Registriert: 08 Dez 2021 20:29
Wohnort: Carces
Hat sich bedankt: 1 mal
Kontaktdaten:

Re: Austausch von Daten - 2 Instanzen - 2 DB

Beitrag von JoachimF »

Werner hat geschrieben: 01 Mär 2023 19:55 Ich vermute dass ist Dein Problem.
so war es. Zu viele Änderungen gleichzeitig.

Nächste Baustelle:
bekomme mbar nicht gegen hPa ersetzt.
Eintrag in weewx.conf (hier dav.conf) group_pressure = hPa .
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: Austausch von Daten - 2 Instanzen - 2 DB

Beitrag von Werner »

@Joachim,

hast Du das in der dav.conf eingetragen?

Code: Alles auswählen

[StdReport]
 [[Defaults]]
        unit_system = metricwx
    [[[Units]]]
      [[[[Groups]]]]
          group_pressure = hPa    # Options are 'inHg', 'mmHg', 'mbar', 'hPa', or 'kPa'
          group_speed = km_per_hour    # Options are 'mile_per_hour', 'km_per_hour', 'knot', or 'meter_per_second'
          group_speed2 = km_per_hour2    # Options are 'mile_per_hour2', 'km_per_hour2', 'knot2', or 'meter_per_second2'
                 
Du zeigst auch die Geschwindigkeit in m/s an ?

Ich finde die Chronik auch genial. Da Du noch nie Eistage hattest, würde ich die umdefinieren: z.B. Maxtemp minimal 2°C oder so oder ganz entfernen.
Benutzeravatar
JoachimF
Beiträge: 222
Registriert: 08 Dez 2021 20:29
Wohnort: Carces
Hat sich bedankt: 1 mal
Kontaktdaten:

Re: Austausch von Daten - 2 Instanzen - 2 DB

Beitrag von JoachimF »

[[Defaults]]
unit_system = metricwx

war nicht eingetragen sondern nur unter [StdConvert] target_unit = METRICWX.
Egal, auch der zusätzlich Eintrag hat das Problem nicht gelöst ( restart von weewx durchgeführt)
Die Einträge unter [[[[Groups]]]] sind vorhanden.

Wenn die Davis-Instanz soweit OK ist, werde ich mich an die Ecowitt-Instanz ranmachen und vielleicht dabei feststellen, wann die Einheiten sich ändern?

Vorher möchte ich noch die Sonnenschein Grafik anpassen, sie sieht bei dir anders aus.
Gruß Joachim

https://puttkammer.de
Antworten