Funk Kombisensor WDS100-C6-O Wetterstation

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

WAdler 68
Beiträge: 1430
Registriert: 09.11.2008, 16:29
Hat sich bedankt: 2 Mal

Re: Funk Kombisensor WDS100-C6-O Wetterstation

Beitrag von WAdler 68 » 02.04.2009, 14:12

Ja die heissen nur einfach vTagesbeginn ... ich habe das geändert und nun ist da auch was drin. Kam mir zwar auch schon komisch vor das die einen extra Zusatz brauchen, doch ich hatte es so hin genommen.
Es hatte mir bei der Übername des Scripts eine genaue liste deiner Variablen gefehlt. in dem mitgelieferten Bild sind die weggeschnitten.
So mal sehen was morgen die Daten der Station morgen sagen. Bis jetzt ist da ja noch einiges ungereimtes drin. (gab ja nie Reset)

WAdler 68
Beiträge: 1430
Registriert: 09.11.2008, 16:29
Hat sich bedankt: 2 Mal

Re: Funk Kombisensor WDS100-C6-O Wetterstation

Beitrag von WAdler 68 » 03.04.2009, 14:30

so im grossen und ganzen bin ich nun zufrieden. doch eins gibt es noch, die zeiten für Tagesbeginn und Tagesende werden bei der übername von 24h auf 12h umgestellt. das sieht echt doof aus. was muss ich da ändern damit eine 24h anzeige eine 24h anzeige bleibt? (zumal ja auch kein am und pm dahinter steht)

teddy278

Re: Funk Kombisensor WDS100-C6-O Wetterstation

Beitrag von teddy278 » 04.04.2009, 07:30

Dieser Beitrag wurde durch den Autor entfernt.
Zuletzt geändert von teddy278 am 11.06.2011, 22:16, insgesamt 1-mal geändert.

WAdler 68
Beiträge: 1430
Registriert: 09.11.2008, 16:29
Hat sich bedankt: 2 Mal

Re: Funk Kombisensor WDS100-C6-O Wetterstation

Beitrag von WAdler 68 » 04.04.2009, 14:33

hallo , ich habe mir das heute nacht noch mal angesehen und die werte verglichen.
in den variablen vtagesbeginn und vtagesende waren die zeiten drin in der die sonne schien. tagesbeginn und tagesende wurden punkt 0 uhr mit irgendwas gefüllt das es als wert vorher nicht gab (6:50 - 14:59) die sonne hate aber viel länger vorher geschienen.

teddy278

Re: Funk Kombisensor WDS100-C6-O Wetterstation

Beitrag von teddy278 » 04.04.2009, 23:08

Dieser Beitrag wurde durch den Autor entfernt.
Zuletzt geändert von teddy278 am 11.06.2011, 22:16, insgesamt 1-mal geändert.

chris4934
Beiträge: 366
Registriert: 07.03.2009, 10:25
Wohnort: Wien Umgebung

Re: Funk Kombisensor WDS100-C6-O Wetterstation

Beitrag von chris4934 » 02.08.2009, 07:54

Guten Morgen,

da ich nun auch seit einigen Tagen mehr oder weniger stolzer Besitzer des Kombisensors (Fw. Version 1.2) bin, musste ich natürlich sofort das Wetterskript von teddy278 haben ! :D
Bin genau nach Anleitung vorgegangen, habe jedoch noch ein paar Probleme:

Teilweise habe ich keine Daten, z.B. bei Temperatur (Minimum) steht immer 0.00, Temperatur (Maximum), Wind (Maximum) und Wind (Durchschnitt) funktioniert jedoch.
Tagesbeginn und Ende steht immer auf 0.00 (nach einer Nacht noch immer)
Auch beim Regensensor ändert sich der Wert nicht, habe die Zentrale aus Verzweiflung mal neu gestartet, plötzlich stand ein Phantasiewert bei Regen (heute) drin, alle anderen Werte unverändert.
Der Reset um Mitternacht scheint nicht zu funktionieren, da stehen noch immer die Werte vom Vortag.

CCU Version 1.304



So sieht das Skript aus:


! Zeit
real jetzt = (0.01 * system.Date("%M").ToInteger()) + system.Date("%H").ToInteger();


! Wettersensor
object wettersensor = dom.GetObject("Wetterdaten");
object brightness =
dom.GetObject("BidCos-RF.GEQ0028693:1.BRIGHTNESS");
object temperature =
dom.GetObject("BidCos-RF.GEQ0028693:1.TEMPERATURE");
object wind_speed =
dom.GetObject("BidCos-RF.GEQ0028693:1.WIND_SPEED");
object rain =
dom.GetObject("BidCos-RF.GEQ0028693:1.RAIN_COUNTER");


! Systemvariablen
object beginn_heute = dom.GetObject("Wettersensor.vTagesbeginn");
object ende_heute = dom.GetObject("Wettersensor.vTagesende");
object beginn_gestern = dom.GetObject("Tagesbeginn");
object ende_gestern = dom.GetObject("Tagesende");
object temp_max = dom.GetObject("Temperatur (Maximum)");
object temp_min = dom.GetObject("Temperatur (Minimum)");
object wind_avg = dom.GetObject("Wind (Durchschnitt)");
object wind_max = dom.GetObject("Wind (Maximum)");
object regen_heute = dom.GetObject("Regen (heute)");
object regen_gestern = dom.GetObject("Regen (gestern)");

! Variablen
real gestern;
real heute;
real avg;
real regen_diff;

! Shift um Mitternacht
if ((jetzt < beginn_heute.Value()) && (jetzt < ende_heute.Value())) {

gestern = beginn_gestern.Value();
gestern = (1.67 * (gestern - gestern.ToInteger())) + gestern.ToInteger();
heute = beginn_heute.Value();
heute = (1.67 * (heute - heute.ToInteger())) + heute.ToInteger();
avg = 0.5 * (gestern + heute);
avg = (0.6 * (avg - avg.ToInteger())) + avg.ToInteger();
beginn_gestern.State(avg);

gestern = ende_gestern.Value();
gestern = (1.67 * (gestern - gestern.ToInteger())) + gestern.ToInteger();
heute = ende_heute.Value();
heute = (1.67 * (heute - heute.ToInteger())) + heute.ToInteger();
avg = 0.5 * (gestern + heute);
avg = (0.6 * (avg - avg.ToInteger())) + avg.ToInteger();
ende_gestern.State(avg);

beginn_heute.State(0);
ende_heute.State(0);
wind_max.State(0);
temp_max.State(-50);
temp_min.State(50);

regen_gestern.State(regen_heute.Value());
regen_heute.State(0);
}

! Tagesbeginn / Ende anhand Helligkeit messen
if (brightness.Value() > 9) {
if (beginn_heute.Value() == 0.0) {
beginn_heute.State(jetzt);
} else {
ende_heute.State(jetzt);
}
}


! Min/Max-Temperatur
if (temperature.Value() > temp_max.Value()) {
temp_max.State(temperature.Value());
}

if (temperature.Value() < temp_min.Value()) {
temp_min.State(temperature.Value());
}


! Wind
if (wind_speed.Value() > wind_max.Value()) {
wind_max.State(wind_speed.Value());
}

wind_avg.State(0.2 * ((wind_avg.Value() * 4) + wind_speed.Value()));

! "Regenmenge" wird laufend hochgezählt, bei Erreichen des Maximalwertes läuft die
! Variable über und fängt wieder von vorn an; wir brauchen die Differenz und müssen
! nach dem Überlauf (haha) wieder von vorn anfangen
regen_diff=rain.Value() - rain.LastValue();
if (regen_diff < 0.0) {
regen_diff = regen_diff + rain.ValueMax();
}

! wenn es geregnet hat, addierren wir's zu unserem Zähler
if (regen_diff > 0.0) {
regen_heute.State(regen_heute.Value() + regen_diff);
}



Vom Parser:

<xml><exec>/post.exe</exec><sessionId></sessionId><httpUserAgent>User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.0.12) Gecko/2009070611 Firefox/3.0.12 (.NET CLR 3.5.30729)</httpUserAgent><jetzt>7.320000</jetzt><wettersensor>Wetterdaten</wettersensor><brightness>BidCos-RF.GEQ0028693:1.BRIGHTNESS</brightness><temperature>BidCos-RF.GEQ0028693:1.TEMPERATURE</temperature><wind_speed>BidCos-RF.GEQ0028693:1.WIND_SPEED</wind_speed><rain>BidCos-RF.GEQ0028693:1.RAIN_COUNTER</rain><beginn_heute>Wettersensor.vTagesbeginn</beginn_heute><ende_heute>Wettersensor.vTagesende</ende_heute><beginn_gestern>Tagesbeginn</beginn_gestern><ende_gestern>Tagesende</ende_gestern><temp_max>Temperatur (Maximum)</temp_max><temp_min>Temperatur (Minimum)</temp_min><wind_avg>Wind (Durchschnitt)</wind_avg><wind_max>Wind (Maximum)</wind_max><regen_heute>Regen (heute)</regen_heute><regen_gestern>Regen (gestern)</regen_gestern><gestern>0.000000</gestern><heute>0.000000</heute><avg>0.000000</avg><regen_diff>0.000000</regen_diff></xml>



Bitte helft mir dabei, den Fehler zu finden.
Danke !

MfG
chris


Screenshot von heute morgen:
Dateianhänge
wetter.jpg
Mit freundlichen Grüßen
Chris

CCU3, 110 Geräte, Homeputer CL

belder
Beiträge: 14
Registriert: 11.02.2008, 10:53

Re: Funk Kombisensor WDS100-C6-O Wetterstation

Beitrag von belder » 02.08.2009, 10:03

Guten Morgen,

ich habe ebenfalls seit einigen Tagen den Kombisensor und genau das gleiche Problem wie chris4934
mit dem Skript.
Firmwareversion 1.2 und HMVersion 1.401
Ich habe die Variablen und Bezeichnung des Sensors der Einfachheit halber genau gleich
wie im original Skript gelassen.
Es funktioniert Wind Maximum, Temperatur Maximum, Wind Durchschitt, alles andere
scheint nicht zu funktionieren.

Hier mein Parse Eregbnis:

<xml><exec>/post.exe</exec><sessionId></sessionId><httpUserAgent>User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1</httpUserAgent><jetzt>9.590000</jetzt><wettersensor>Carport.Wettersensor</wettersensor><brightness>BidCos-RF.GEQ0028685:1.BRIGHTNESS</brightness><temperature>BidCos-RF.GEQ0028685:1.TEMPERATURE</temperature><wind_speed>BidCos-RF.GEQ0028685:1.WIND_SPEED</wind_speed><rain>BidCos-RF.GEQ0028685:1.RAIN_COUNTER</rain><beginn_heute>Carport.Wettersensor.vTagesbeginn</beginn_heute><ende_heute>Carport.Wettersensor.vTagesende</ende_heute><beginn_gestern>Tagesbeginn</beginn_gestern><ende_gestern>Tagesende</ende_gestern><temp_max>Temperatur (Maximum)</temp_max><temp_min>Temperatur (Minimum)</temp_min><wind_avg>Wind (Durchschnitt)</wind_avg><wind_max>Wind (Maximum)</wind_max><regen_heute>Regen (heute)</regen_heute><regen_gestern>Regen (gestern)</regen_gestern><gestern>0.000000</gestern><heute>0.000000</heute><avg>0.000000</avg><regen_diff>0.000000</regen_diff></xml>

Vielen Dank für eure Hilfe

Fred

teddy278

Re: Funk Kombisensor WDS100-C6-O Wetterstation

Beitrag von teddy278 » 02.08.2009, 12:34

Dieser Beitrag wurde durch den Autor entfernt.
Zuletzt geändert von teddy278 am 11.06.2011, 22:16, insgesamt 1-mal geändert.

chris4934
Beiträge: 366
Registriert: 07.03.2009, 10:25
Wohnort: Wien Umgebung

Re: Funk Kombisensor WDS100-C6-O Wetterstation

Beitrag von chris4934 » 02.08.2009, 14:16

Hallo teddy,

danke für deine Hilfe.
Auch mit dem neuen Skript funktionieren bei mir nur die Werte Temperatur Maximum, Wind Maximum und Wind Durchschnitt.

Welche Firmware hast du auf deinem Kombisensor ?

Ich habe sonst keine Erklärung mehr, da auch bei belder das selbe Problem besteht.

MfG
chris
Mit freundlichen Grüßen
Chris

CCU3, 110 Geräte, Homeputer CL

belder
Beiträge: 14
Registriert: 11.02.2008, 10:53

Re: Funk Kombisensor WDS100-C6-O Wetterstation

Beitrag von belder » 02.08.2009, 15:49

Hallo,

ich habe es jetzt mal künstlich Nacht werden lassen, und das neue Script funktioniert,
die alten max... gehen, und auch die minimum temp und es wird beim Regen von heute auf gestern übertragen.
Vielen Dank für die Hilfe

Fred

Antworten

Zurück zu „HomeMatic allgemein“