Da der UV Sensor der Davis-Station nicht funktioniert ( mir ein neuer zu teuer ist ) werden über wx_binding2 die UV-Werte der Ecowitt Station angezeigt.
Für die Chronik werden die Daten der Davis-Datenbank ausgewertet und hier ist der UV-Wert fast immer NULL.
Kann man die Ecowitt UV Werte in die Davis Datenbank gleichzeitig schreiben lassen
oder kann die Chronik auch gleichzeitig auf die Ecowitt-UV zugreifen?
wx_binding2 - Chronik
- Werner
- Site Admin
- Beiträge: 5687
- Registriert: 04 Dez 2001 01:00
- Wohnort: Lackenhäuser
- Danksagung erhalten: 59 mal
- Kontaktdaten:
Re: wx_binding2 - Chronik
Ich weiß es nicht, wenn ja, müsste hier die Zuweisung rein.Kann man die Ecowitt UV Werte in die Davis Datenbank gleichzeitig schreiben lassen
Code: Alles auswählen
[StdCalibrate]
[[Corrections]]
UV = ...
Direkt in der Chronik:
Laut Programm-Code ist es möglich
hier das Beispiel im Code:
Code: Alles auswählen
[[rain]]
obs_type = rain
aggregate_type = sum
data_binding = alternative_binding
- JoachimF
- Beiträge: 222
- Registriert: 08 Dez 2021 20:29
- Wohnort: Carces
- Hat sich bedankt: 1 mal
- Kontaktdaten:
- JoachimF
- Beiträge: 222
- Registriert: 08 Dez 2021 20:29
- Wohnort: Carces
- Hat sich bedankt: 1 mal
- Kontaktdaten:
Re: wx_binding2 - Chronik
Hab mir ein kleines Script gebastelt.Werner hat geschrieben: ↑27 Feb 2024 19:21Ich weiß es nicht, wenn ja, müsste hier die Zuweisung rein.Kann man die Ecowitt UV Werte in die Davis Datenbank gleichzeitig schreiben lassenCode: Alles auswählen
[StdCalibrate] [[Corrections]] UV = ...
Per Cronjob werden alle 5 Minuten der letzte UV Wert der Ecowitt-Datenbank ausgelesen und dann als letzten UV Wert in die Davis-Datenbank eingetragen.
Zusätzlich noch eine If Abfrage, das die Werte nur zwischen 5Uhr morgens und 22Uhr abends ausgelesn und eingetragen werden.
Code: Alles auswählen
#!/bin/bash
#aktuelle Uhrzeit
dat=$(date +%H%M)
echo $dat
if [ $dat -gt 0500 ] && [ $dat -lt 2200 ]; then
#echo 'dat is between 0500 and 2200'
export LC_ALL=C #Punkt statt Komma
#Auslesen aus weewx_eco, letzter UV Wert
ba=$(sqlite3 -csv /var/lib/weewx/weewx_eco.sdb "select UV from archive order by dateTime desc limit 1;")
#echo $ba
BA=$(echo $ba | awk '{printf("%.1f \n",$1)}')
echo $BA #Runden auf 1 Stelle nach dem Komma
#Einlesen in weewx_dav
echo "UPDATE archive SET UV=$BA ORDER BY datetime DESC LIMIT 1;" | sqlite3 /var/lib/weewx/weewx_dav.sdb
fi
exit