Wetterstation HB-UNI-SEN-WEA
Moderator: Co-Administratoren
-
- Beiträge: 12116
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 849 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: Wetterstation HB-UNI-SEN-WEA
Und was machst du, wenn nach einem Reset die ersten 99mm Regen fallen?
-
- Beiträge: 2483
- Registriert: 13.02.2012, 20:23
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 302 Mal
- Danksagung erhalten: 116 Mal
Re: Wetterstation HB-UNI-SEN-WEA
die zählt er doch, erst ab 100 zählt er nicht mehr.
wenn ich richtig in den logs es verstehe geht er schlagartig hoch auf 32764 und dann wieder runter auf 0, die systemvariable ist dann aber schon gefüllt auf 32764 und geht nicht mehr runter.
du hast recht es müsste rainCounter.Value() < 32764
wenn ich richtig in den logs es verstehe geht er schlagartig hoch auf 32764 und dann wieder runter auf 0, die systemvariable ist dann aber schon gefüllt auf 32764 und geht nicht mehr runter.
du hast recht es müsste rainCounter.Value() < 32764
Re: Wetterstation HB-UNI-SEN-WEA
Hallo,
jetzt habe ich auch wieder ein Stück weitergebaut. Allerdings habe ich ein Anemometer, das pro Umdrehung 2 mal den Reedkontakt schliest. Deshalb meine Frage, wo wird der Wert für die Windgeschwindigkeit ausgerechnet? Wenn es, wie ich glaube, in Zeile 403 bis 408 ist, versteh ich es nicht ganz und würde mich über eine kurze Erklärung freuen.
Viele Grüße
Johannes
jetzt habe ich auch wieder ein Stück weitergebaut. Allerdings habe ich ein Anemometer, das pro Umdrehung 2 mal den Reedkontakt schliest. Deshalb meine Frage, wo wird der Wert für die Windgeschwindigkeit ausgerechnet? Wenn es, wie ich glaube, in Zeile 403 bis 408 ist, versteh ich es nicht ganz und würde mich über eine kurze Erklärung freuen.
Viele Grüße
Johannes
-
- Beiträge: 12116
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 849 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: Wetterstation HB-UNI-SEN-WEA
Ja da bist du schon ganz richtig.
Du musst dann nur _wind_isr_counter halbieren.
Du musst dann nur _wind_isr_counter halbieren.
Re: Wetterstation HB-UNI-SEN-WEA
Vielen Dank für die Antwort.
Jetzt noch eine Frage zu dem Luftdruck Tendenz Script. Solange ich es im debug Modus teste, errechnet es die Werte in der Ausgabe richtig. Allerdings werden die Werte weder bei debug true/false in die Sysetmvariablen geschrieben. Mit welchem Befehl in dem Script wird das gemacht? Ich hoffe das mir die Info bei der Fehlersuche hilft.
Vielen Dank
Johannes
P.S. Ich bin der Meinung das Script hat schon mal funktioniert, ich habe allerdings keine Ahnung was ich geändert habe.
Jetzt noch eine Frage zu dem Luftdruck Tendenz Script. Solange ich es im debug Modus teste, errechnet es die Werte in der Ausgabe richtig. Allerdings werden die Werte weder bei debug true/false in die Sysetmvariablen geschrieben. Mit welchem Befehl in dem Script wird das gemacht? Ich hoffe das mir die Info bei der Fehlersuche hilft.
Vielen Dank
Johannes
P.S. Ich bin der Meinung das Script hat schon mal funktioniert, ich habe allerdings keine Ahnung was ich geändert habe.
-
- Beiträge: 12116
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 849 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: Wetterstation HB-UNI-SEN-WEA
Ich kann zu dem Script leider gar nichts sagen. Hatte es nie getestet oder im Einsatz. Es wurde mir nur von einem Anwender zugesandt.
Re: Wetterstation HB-UNI-SEN-WEA
Dann antworte ich mir mal selbst
Ich habe das Script jetzt so geändert das es bei mit der aktuellen RaspberryMatic Version läuft.
Viele Grüße
Johannes
Ich habe das Script jetzt so geändert das es bei mit der aktuellen RaspberryMatic Version läuft.
Code: Alles auswählen
! Luftdruck Tendenz berechnen
! Ingo Pirker 02.06.2018
! Ergänzt für RaspberryMatic fossi_bear 16.09.2018
! Script alle 30min aufrufen
! folgende Systemvariablen müssen erstellt werden:
! Luftdruck_aktuell Type = Zahl | Wertebeteich = 0 - 65000 | Maßeinheit = hPa
! Luftdruck_tendenz Type = Wertliste | Wertebeteich = st|fa;st|gleich;steigend;fa|stark st;gleichbleibend;fa|st;fa|gleich;fallend;st|stark fa
! Luftdruck_Bedeutung Type = Wertliste | Wertebeteich = stürmisch;regnerisch;wechselhaft;sonnig;sehr trocken
! Luftdruck_30 Type = Zahl | Wertebeteich = 0 - 65000 | Maßeinheit = hPa
! Luftdruck_60 Type = Zahl | Wertebeteich = 0 - 65000 | Maßeinheit = hPa
! Luftdruck_90 Type = Zahl | Wertebeteich = 0 - 65000 | Maßeinheit = hPa
! Luftdruck_120 Type = Zahl | Wertebeteich = 0 - 65000 | Maßeinheit = hPa
! Luftdruck_150 Type = Zahl | Wertebeteich = 0 - 65000 | Maßeinheit = hPa
! Luftdruck_180 Type = Zahl | Wertebeteich = 0 - 65000 | Maßeinheit = hPa
!Quelle: https://rechneronline.de/barometer/
!Bedeutung Variable Luftdruck_tendenz:
! 0 = 1.+ 2. Std. steigend, 3. Std. fallend --> (st|fa)
! 1 = 1.+ 2. Std. steigend, 3. Std.gleichbleibend --> (st|gleich)
! 2 = Alle 3 Stunden steigend --> (steigend)
! 3 = 1. Std. fallend, 2.+ 3. Std. steigend --> (fa|stark st)
! 4 = Alle 3 Stunden gleichbleibend --> (gleichbleibend)
! 5 = 1.+ 2. Std. fallend, 3. Std. steigend --> (fa|st)
! 6 = 1.+ 2. Std. fallend, 3. Std. gleichbleibend --> (fa|gleich)
! 7 = Alle 3 Stunden fallend --> (fallend)
! 8 = 1. Std. steigend, 2.+ 3. Std. fallend --> (st|stark fa)
!Bedeutung Variable Luftdruck_Bedeutung:
! <= 980hPa = sehr tief, stürmisch --> (stürmisch)
! 980 - 1000hPa = tief, regnerisch --> (regnerisch)
! 1000 - 1020hPa = normal, wechselhaft --> (wechselhaft)
! 1020 - 1040hPa = hoch, sonnig --> (sonnig)
! >= 1040 = sehr hoch, sehr trocken --> (sehr trocken)
boolean debug = false; !debug true/false
var konstLD = 0.042; !Wert für definition von Konstanten Luftdruck (ca. 0,042hPa/h | 0,504hPa/12h)
if (debug == true){
!var LDsensor = 927.900; !Luftdruck vom Sensor simulieren
var LDsensor = dom.GetObject("BidCos-RF.XXWEA00001:1.AIR_PRESSURE").Value(); !oder echten Sensor verwenden !!!!!ACHTUNG - Seriennummer anpassen!!!!!
}
else {
var LDsensor = dom.GetObject("BidCos-RF.XXWEA00001:1.AIR_PRESSURE").Value(); !Luftdruck vom Sensor auslesen !!!!!ACHTUNG - Seriennummer anpassen!!!!!
}
dom.GetObject("Luftdruck_aktuell").State(LDsensor); !Variable - Luftdruck_aktuell auslesen
!Luftdruck Bedeutung ermitteln
if (LDsensor < 980) {
if (debug == true) {WriteLine("Luftdruck Bedeutung = sehr tief, stürmisch");}
dom.GetObject("Luftdruck_Bedeutung").State(0);
}
if ((LDsensor >= 980) && (LDsensor < 1000)) {
if (debug == true) {WriteLine("Luftdruck Bedeutung = tief, regnerisch");}
dom.GetObject("Luftdruck_Bedeutung").State(1);
}
if ((LDsensor >= 1000) && (LDsensor < 1020)) {
if (debug == true) {WriteLine("Luftdruck Bedeutung = normal, wechselhaft");}
dom.GetObject("Luftdruck_Bedeutung").State(2);
}
if ((LDsensor >= 1020) && (LDsensor < 1040)) {
if (debug == true) {WriteLine("Luftdruck Bedeutung = hoch, sonnig");}
dom.GetObject("Luftdruck_Bedeutung").State(3);
}
if (LDsensor >= 1040) {
if (debug == true) {WriteLine("Luftdruck Bedeutung = sehr hoch, sehr trocken");}
dom.GetObject("Luftdruck_Bedeutung").State(4);
}
var LD30 = dom.GetObject("Luftdruck_30").Value(); !Variable - Luftdruck_30 auslesen
var LD60 = dom.GetObject("Luftdruck_60").Value(); !Variable - Luftdruck_60 auslesen
var LD90 = dom.GetObject("Luftdruck_90").Value(); !Variable - Luftdruck_90 auslesen
var LD120 = dom.GetObject("Luftdruck_120").Value(); !Variable - Luftdruck_120 auslesen
var LD150 = dom.GetObject("Luftdruck_150").Value(); !Variable - Luftdruck_150 auslesen
var LD180 = dom.GetObject("Luftdruck_180").Value(); !Variable - Luftdruck_180 auslesen
if (debug == true) {
WriteLine("Luftdruck Sensor = " #LDsensor #"hPa");
WriteLine("Luftdruck vor 30min = "#LD30#"hPa");
WriteLine("Luftdruck vor 60min = "#LD60#"hPa");
WriteLine("Luftdruck vor 90min = "#LD90#"hPa");
WriteLine("Luftdruck vor 120min = "#LD120#"hPa");
WriteLine("Luftdruck vor 150min = "#LD150#"hPa");
WriteLine("Luftdruck vor 180min = "#LD180#"hPa");
}
!Berechnung Stunde#3
var LDmin; !Hilfe für gleichbleibenden Luftdruck berechnen
var LDmax; !Hilfe für gleichbleibenden Luftdruck berechnen
var Stunde1; !0 = unverändert | 1 = gestiegen | 2 = gesunken
var Stunde2; !0 = unverändert | 1 = gestiegen | 2 = gesunken
var Stunde3; !0 = unverändert | 1 = gestiegen | 2 = gesunken
LDmin = LDsensor - konstLD;
LDmax = LDsensor + konstLD;
if (debug == true) {
WriteLine("Luftdruck Stunde#3 min = "# LDmin#"hPa");
WriteLine("Luftdruck Stunde#3 max = "# LDmax#"hPa");
}
!Luftdruck auswerten Stunde#3
if ((LD60 >= LDmin) && (LD60 <= LDmax)) {
if (debug == true) {WriteLine("Luftdruck Stunde#3 ist unverändert");}
Stunde3 = 0;
}
elseif (LDsensor < LD60) {
if (debug == true) {WriteLine("Luftdruck Stunde#3 ist gesunken");}
Stunde3 = 2;
}
elseif (LDsensor > LD60) {
if (debug == true) {WriteLine("Luftdruck Stunde#3 ist gestiegen");}
Stunde3 = 1;
}
!Berechnung Stunde#2
LDmin = LD60 - konstLD;
LDmax = LD60 + konstLD;
if (debug == true) {
WriteLine("Luftdruck Stunde#2 min = "# LDmin# "hPa");
WriteLine("Luftdruck Stunde#2 max = "# LDmax# "hPa");
}
!Luftdruck auswerten Stunde#2
if ((LD120 >= LDmin) && (LD120<= LDmax)) {
if (debug == true) {WriteLine("Luftdruck Stunde#2 ist unverändert");}
Stunde2 = 0;
}
elseif (LD60 < LD120) {
if (debug == true) {WriteLine("Luftdruck Stunde#2 ist gesunken");}
Stunde2 = 2;
}
elseif (LD60 > LD120) {
if (debug == true) {WriteLine("Luftdruck Stunde#2 ist gestiegen");}
Stunde2 = 1;
}
!Berechnung Stunde#1
LDmin = LD120 - konstLD;
LDmax = LD120 + konstLD;
if (debug == true) {
WriteLine("Luftdruck Stunde#1 min = "# LDmin# "hPa");
WriteLine("Luftdruck Stunde#1 max = "# LDmax# "hPa");
}
!Luftdruck auswerten Stunde#1
if ((LD180 >= LDmin) && (LD180 <= LDmax)) {
if (debug == true) {WriteLine("Luftdruck Stunde#1 ist unverändert");}
Stunde1 = 0;
}
elseif (LD120 < LD180) {
if (debug == true) {WriteLine("Luftdruck Stunde#1 ist gesunken");}
Stunde1 = 2;
}
elseif (LD120> LD180) {
if (debug == true) {WriteLine("Luftdruck Stunde#1 ist gestiegen");}
Stunde1 = 1;
}
if (debug == true) {
WriteLine("St1= "# Stunde1 #" | St2 = "# Stunde2 #" | St3 = "# Stunde3);
var x = 0;
x = Stunde3 + Stunde2 + Stunde1;
WriteLine("St1+2+3 = "# x);
}
!Auswertung
if ((Stunde1 == 1) && (Stunde2 == 1) && (Stunde3 == 2)){
if (debug == true) {WriteLine("steigend | fallend");}
dom.GetObject("Luftdruck_tendenz").State(0);
}
elseif ((Stunde1 == 1) && (Stunde2 == 1) && (Stunde3 == 0)){
if (debug == true) {WriteLine("steigend | gleichbleibend");}
dom.GetObject("Luftdruck_tendenz").State(1);
}
elseif ((Stunde1 == 1) && (Stunde2 == 1) && (Stunde3 == 1)){
if (debug == true) {WriteLine("steigend");}
dom.GetObject("Luftdruck_tendenz").State(0);
}
elseif ((Stunde1 == 2) && (Stunde2 == 1) && (Stunde3 == 1)){
if (debug == true) {WriteLine("fallend | stark steigend");}
dom.GetObject("Luftdruck_tendenz").State(3);
}
elseif ((Stunde1 == 0) && (Stunde2 == 0) && (Stunde3 == 0)){
if (debug == true) {WriteLine("gleichbleibend");}
dom.GetObject("Luftdruck_tendenz").State(4);
}
elseif ((Stunde1 == 2) && (Stunde2 == 2) && (Stunde3 == 1)){
if (debug == true) {WriteLine("fallend | steigend");}
dom.GetObject("Luftdruck_tendenz").State(5);
}
elseif ((Stunde1 == 2) && (Stunde2 == 2) && (Stunde3 == 0)){
if (debug == true) {WriteLine("fallend | gleichbleibend");}
dom.GetObject("Luftdruck_tendenz").State(6);
}
elseif ((Stunde1 == 2) && (Stunde2 == 2) && (Stunde3 == 2)){
if (debug == true) {WriteLine("fallend");}
dom.GetObject("Luftdruck_tendenz").State(7);
}
elseif ((Stunde1 == 1) && (Stunde2 == 2) && (Stunde3 == 2)){
if (debug == true) {WriteLine("steigend | stark fallend");}
dom.GetObject("Luftdruck_tendenz").State(8);
}
!Messwerte jeweil um 30 min nach hinten versetzen
LD180=LD150; dom.GetObject("Luftdruck_180").State(LD180);
LD150=LD120; dom.GetObject("Luftdruck_150").State(LD150);
LD120=LD90; dom.GetObject("Luftdruck_120").State(LD120);
LD90=LD60; dom.GetObject("Luftdruck_90").State(LD90);
LD60=LD30; dom.GetObject("Luftdruck_60").State(LD60);
LD30=LDsensor; dom.GetObject("Luftdruck_30").State(LD30);
if (debug == true) {
WriteLine("Werte um 30mim nach hinten versetzt");
}
WriteLine("fertig");
Johannes
-
- Beiträge: 12116
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 849 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: Wetterstation HB-UNI-SEN-WEA
Du könntest auch einfach den Anemometer-Radius halbieren. Also nur die Hälfte in der WebUI eintragen.bigscreen hat geschrieben: ↑12.09.2018, 18:35Hallo,
jetzt habe ich auch wieder ein Stück weitergebaut. Allerdings habe ich ein Anemometer, das pro Umdrehung 2 mal den Reedkontakt schliest. Deshalb meine Frage, wo wird der Wert für die Windgeschwindigkeit ausgerechnet? Wenn es, wie ich glaube, in Zeile 403 bis 408 ist, versteh ich es nicht ganz und würde mich über eine kurze Erklärung freuen.
Viele Grüße
Johannes
-
- Beiträge: 99
- Registriert: 20.03.2016, 11:32
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 2 Mal
Re: Wetterstation HB-UNI-SEN-WEA
Habe ein Probleme, mit dem UV-Sensor VEML6070.
Bei schönsten Sonnenschein zeigt er mir Index 0 an. Habe den Sendeintervall auf 600sek. stehen.
Stelle ich ihn auf 60sek., geht es.
Im Diagramm gut zu sehen.
Um 12:40 habe ich von 60sek. auf 600sek. umgestellt
Einer eine Idee, wo der Wurm steckt?
Bei schönsten Sonnenschein zeigt er mir Index 0 an. Habe den Sendeintervall auf 600sek. stehen.
Stelle ich ihn auf 60sek., geht es.
Im Diagramm gut zu sehen.
Um 12:40 habe ich von 60sek. auf 600sek. umgestellt
Einer eine Idee, wo der Wurm steckt?
-
- Beiträge: 12116
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 849 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten: