Ecowitt/Froggit Custom-Server Funktion - Script

Fragen, Anregungen zur PC-Wetterstations-Software

Moderatoren: Werner, Tex, weneu

Antworten
Benutzeravatar
Werner
Site Admin
Beiträge: 5974
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 129 mal
Kontaktdaten:

Ecowitt/Froggit Custom-Server Funktion - Script

Beitrag von Werner »

Ich habe das updateweatherstation.php Script geändert:
  • Möglichkeit die empfangenen Daten an einen weiteren Server weiterzuleiten (Post)
  • Sonderbehandlung WS2900 deaktiviert, da mein HP3500 jetzt zwischen WS2900 und HP3500 wechselt und damit immer eine neue CSV-Datei erzeugt wurde.
Benutzeravatar
Werner
Site Admin
Beiträge: 5974
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 129 mal
Kontaktdaten:

Re: Ecowitt/Froggit Custom-Server Funktion - Script

Beitrag von Werner »

Ich habe heute das updateweatherstation.php Script erweitert:

Jetzt kann man damit die Daten auch an Awekas und Wunderground weiterleiten.
Möglichkeit der Neuzuordnung der Reihenfolge der Soilmoisture-, der Boden-Temperatur-, der Luftqualitäts-Sensoren. Speziell wegen der HP3500, bei der man keine Möglichkeit hat, die Sensoren (ID's) direkt zuzuordnen.

Was nicht unerwähnt bleiben sollte:
Dieses Script unterstützt auch die Uralt-Froggit Stationen - welche nur das Wunderground - Protokoll beherrschten und natürlich auch
die Erzeugung einer CSV-Datei welche Wswin direkt übernehmen kann. :wink:
Benutzeravatar
Werner
Site Admin
Beiträge: 5974
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 129 mal
Kontaktdaten:

Ecowitt/Froggit Custom-Server Funktion - Script Änderung

Beitrag von Werner »

Habe heute das nochmal angepasst!
Da dieses Script auch längere Speicherzeiten unterstützt (z.B. 5 Minuten) muss die Windböe entsprechend dieses Speicherintervall mit berücksichtigt werden, was ich nicht gemacht hatte.

Änderung: nach Zeile 1000 (@$wd['gust'] = $maxwg;)

Code: Alles auswählen

@$wd['gustmph'] = kmhtomph($wd['gust']);
einfügen.

und in Zeile 1277 dann

Code: Alles auswählen

$senddata='&action=updateraw&dateutc='.$dateutcwg.'&tempf='.$wd['tempf'].'&dewptf='.$wd['dewptf'].'&humidity='.$wd['humidity'].'&winddir='.$wd['winddir'].'&windspeedmph='.$wd['windspeedmph'].'&windgustmph='.$wd['gustmph'].'&UV='.$wd['uv'].'&solarradiation='.$wd['solarradiation'].'&baromin='.$wd['baromrelin'].'&rainin='.$wd['rainin'].'&dailyrainin='.$wd['dailyrainin'].'&realtime=realtime&rtfreq='.$interval.'&softwaretype='.$wd['stationtype'];
genauer .'&windgustmph='.$wd['windgustmph']. ist durch .'&windgustmph='.$wd['gustmph']. zu ändern

Die Zip-Datei wurde entsprechend angepasst.
Benutzeravatar
Werner
Site Admin
Beiträge: 5974
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 129 mal
Kontaktdaten:

Re: Ecowitt/Froggit Custom-Server Funktion - Script

Beitrag von Werner »

Heutige Änderungen:

Möglichkeit der Wahl, welcher Regensensor (WS90=Piezo oder WH40 bzw. WH65)
für Wswin benutzt werden soll,

Weiterleitung an weiteren Server - jetzt funktioniert damit auch Weewx mit Interceptor-Treiber.
Wobei nur mein modifizierter Interceptor-Treiber auch alle möglichen Sensoren und Daten dieser
Stationen unterstützt.
Beispiel dafür - hier mein bereits ersetzter WS90 der anscheinend erneut sein EOL erlebt
dayvoltcap_20221104.png
dayvoltcap_20221104.png (7.22 KiB) 11918 mal betrachtet
Dateianhänge
dayvolt_20221105.png
dayvolt_20221105.png (8.09 KiB) 11918 mal betrachtet
Herbiy
Beiträge: 213
Registriert: 02 Okt 2011 11:58
Wohnort: A 1140 Wien
Hat sich bedankt: 2 mal
Danksagung erhalten: 1 mal
Kontaktdaten:

Re: Ecowitt/Froggit Custom-Server Funktion - Script

Beitrag von Herbiy »

Hallo Werner!

Muss ich bei diesen Skript etwas machen? Habe es getestet aber es werden nur die mem.csv und die debug.csv erstellt.

das bisherige Skript habe ich ohne Eingriffe verwendet!

lg. Herbert
Privates Wetternetzwerk www.herbiy.at
Benutzeravatar
Werner
Site Admin
Beiträge: 5974
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 129 mal
Kontaktdaten:

Re: Ecowitt/Froggit Custom-Server Funktion - Script

Beitrag von Werner »

Muss ich bei diesen Skript etwas machen?
Ja - den es ist nur noch die Debug-Ausgabe und die MEM-Ausgabe (für Zwischenspeichern der Winddaten bei größerem Intervall) voreingestellt.

Code: Alles auswählen

$wswincsv = true;		# alltime wswin-csv file
$wswin_m_csv = false;		# monthly wswin-csv file
$datacsv = true;		# alltime csv-data file
$datamcsv = false;		# monthly csv-data file
Die monatlichen Dateien ($wswin_m_csv = true; $datamcsv = true; ) eventuall auch für Backup;

Was auch sinnvoll ist, alle vorhandenen Sensoren auch gleich auf "1" zu setzen, z.B.:

Code: Alles auswählen

$wh51_1 = 1;  # soil moisture sensors CH1 - soilmoisture1,soilbatt1
$wh51_2 = 1;  # soil moisture sensors CH2
$wh51_3 = 0;  # soil moisture sensors CH3
$wh51_4 = 0;  # soil moisture sensors CH4
denn wenn eine Sensoränderung (Sensorausfall, neuer Sensor) festgestellt wird, beginnt das Script eine "neue" Datei. Gilt auch für einen neuen hinzugefügten Sensor (= Beginn neue Datei)

Bei einem ausgefallenen Sensor, sind dann eben keine Daten eingetragen, ohne dass das stört.
Herbiy
Beiträge: 213
Registriert: 02 Okt 2011 11:58
Wohnort: A 1140 Wien
Hat sich bedankt: 2 mal
Danksagung erhalten: 1 mal
Kontaktdaten:

Re: Ecowitt/Froggit Custom-Server Funktion - Script

Beitrag von Herbiy »

Danke, funktioniert!

lg. Herbert
Privates Wetternetzwerk www.herbiy.at
hans.dresler
Beiträge: 5
Registriert: 18 Aug 2006 20:04
Wohnort: Altenstadt (Hessen)

Re: Ecowitt/Froggit Custom-Server Funktion - Script

Beitrag von hans.dresler »

Ich brauche mal Hilfe. Der Script läuft soweit, nur bekommen ich nicht alle Sensoren und vorallem den Solar Sensor nicht nach WSWIN.
Wetterstation Ecowitt GW2000 mit WS90, 3xWH31 und 5xWN30.

Was mache ich falsch?
Danke für eure Hilfe

In der Debug Datei sieht mal alle Werte vorhanden
====================================================================================================================
05.06.2023 20:15:45 192.168.0.161 POST /weatherstation/ecowitt/updateweatherstation.php
stationtype=GW2000A_V2.2.4
runtime=204669
dateutc=2023-06-05+18%3A15%3A50
tempinf=77.54
humidityin=41
baromrelin=30.059
baromabsin=29.704
tempf=73.76
humidity=34
winddir=9
windspeedmph=2.46
windgustmph=4.70
maxdailygust=17.22
solarradiation=50.51
uv=0

rrain_piezo=0.000
erain_piezo=0.000
hrain_piezo=0.000
drain_piezo=0.000
wrain_piezo=0.000
mrain_piezo=0.000
yrain_piezo=0.000
ws90cap_volt=5.3
ws90_ver=126
temp1f=75.56
humidity1=46
temp2f=71.42
humidity2=55
temp3f=82.22
temp4f=82.76
temp5f=82.94
temp6f=90.50
temp7f=89.60
temp8f=76.82
humidity8=35

batt1=0
batt2=0
batt3=0
batt4=0
batt5=0
batt6=0
batt7=0
batt8=0
wh90batt=3.28
freq=868M
model=GW2000A
interval=150
xxxxxxxxxxxx=xxxxxxxxxxxx
gustold=0
tempinc=25.3
tempc=23.2
temp1c=24.2
temp2c=21.9
temp3c=27.9
temp4c=28.2
temp5c=28.3
temp6c=32.5
temp7c=32
temp8c=24.9

relbaro=1017.8
absbaro=1005.8
rain=
rainrate=
dailyrain=
weeklyrain=
monthlyrain=
yearlyrain=
rrate_2=0
hrain_2=0
drain_2=0
wrain_2=0
mrain_2=0
yrain_2=0
erain_2=0
windspeed=3.96
windspeedms=1.1
windgust=7.56
maxdailygustkmh=27.71
maxdailygu=27.71
windchillc=24.8
windchillf=76.6
dewptc=6.4
dewptf=43.5
gust=7.56
gustmph=4.7
runtimetxt=2d8h51m09s
2023-06-05 20:15:45
wh90batt=3.28
ws90cap_volt=5.3
====================================================================================================================

In der WSWIN.CSV ist der Solarsensor mit ID42 und dem Wert 50,51 vorhanden, kann ihn aber mit in WSWin nicht auswählen.
Dort hat er die ID38 & ID37. Die Temperatursensoren 7 und 8 sind nicht vorhanden.
====================================================================================================================
;;1;17;133;2;18;35;36;45;134;42;41;3;19;4;20;5;21;6;22;7;23;8;24;29;30;31;32;25;26;27;28;13;14;15;16
05.06.2023;20:15;25,3;41;1017,8;23,2;34;3,96;9;7,56;0;50,51;0;24,2;46;21,9;55;27,9;;28,2;;28,3;;32,5;;;;;;;;;;;;;

====================================================================================================================
hans.dresler
Beiträge: 5
Registriert: 18 Aug 2006 20:04
Wohnort: Altenstadt (Hessen)

Re: Ecowitt/Froggit Custom-Server Funktion - Script

Beitrag von hans.dresler »

Ich habe es jetzt hinbekommen.
1.) in WsWin Vantage Pro als Wetterstation ausgewählt
2.) Den Script "updateweatherstation.php" angepasst und die fehlenden Temperatur Sensoren aufgenommen

Nun sehe ich alles und muss nur noch die Daten seit 2006 einlesen.
VolkerL
Beiträge: 97
Registriert: 01 Apr 2009 22:14
Wohnort: Idar-Oberstein / Rhld.-Pf.
Hat sich bedankt: 2 mal
Kontaktdaten:

Re: Ecowitt/Froggit Custom-Server Funktion - Script

Beitrag von VolkerL »

Hallo zusammen,

ich möchte meine Daten der Wetterstation, zunächst einmal Testweise, an einen weiteren Server weiterleiten. Der weitere Server liegt in einer Oracle VM-Box. Dadurch möchte ich meine bereitsgeschildertes Problem mit der Sonnenscheindauer bei einer Wetterstation in einer anderen Zeitzone, versuchen zu beheben.
Die VM-Box habe ich auf die Zeitzone der Wetterstation konfiguriert, Apache läuft und ich kann das Verzeichnis mit der updateweatherstation.php von anderen Rechnern im Netz aufrufen. Die datei " updateweatherstation.php" ist in dem Verrzeichnis vorhanden.


In der "updateweatherstation.php" habe ich folgende Einstellung geändert:

Code: Alles auswählen

# Forward the Post Data to other server 
$forward_ecowitt = 1;
if ($forward_ecowitt){
$url = 'http://192.168.xxx.yyy/wetter_tx/updateweatherstation.php';	# NAS with port 80
#$url = 'http://192.168.0.135/data/report/';				# Weewx interceptor driver
#$urlport = '8575';						# Weewx interceptor port
}

Leider kommen die Daten dort nicht an. Habe ich was übersehen?

Danke und viele Grüße

Volker
Benutzeravatar
Werner
Site Admin
Beiträge: 5974
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 129 mal
Kontaktdaten:

Re: Ecowitt/Froggit Custom-Server Funktion - Script

Beitrag von Werner »

Wird eine _error.log Datei geschrieben, wenn das updateweatherstation.php Script direkt über einen Web-Browser (z.B. Google Chrome) mit so einem Inhalt:

Code: Alles auswählen

 400 bad request - no passkey nor ID sent
Wenn nicht, gibt es Rechte-Probleme.

Gibt es einen Eintrag in der *_forward_debug.txt ?

Verwendest Du die aktuelle Version des updateweatherstation.php Scriptes (25.04.2025)?
VolkerL
Beiträge: 97
Registriert: 01 Apr 2009 22:14
Wohnort: Idar-Oberstein / Rhld.-Pf.
Hat sich bedankt: 2 mal
Kontaktdaten:

Re: Ecowitt/Froggit Custom-Server Funktion - Script

Beitrag von VolkerL »

Hallo Werner,

wenn ich die Datei über den Browser aufrufe kommt:
Warning: Array to string conversion in C:\xampp\htdocs\wetter_tx\updateweatherstation.php on line 526

10.05.2025 00:31:08 192.168.2.11 400 bad request - no passkey nor ID sent Array
Das funktionioniert anscheinend.

Es gibt keine Datei *_forward_debug.txt

Es ist vermutlich die die Version vor der aktuellen Version. (edit: Wurde am 21.04. heruntergeaden und die Originaldatei stammt vom 19.04)
Ich passe die aktuelle Version morgen mal an und versuche damit mal.

Danke und viele Grüße
Volker
Antworten