HM-WDS100-C6-O Funk-Kombi-Sensor OC3: Unterschied zwischen den Versionen

Aus FHEMWiki
Zeile 18: Zeile 18:
Zunächst eine Funktion zur Berechnung der Differenz der gemessenen Regenmengen in 99_MyUtils anlegen:  
Zunächst eine Funktion zur Berechnung der Differenz der gemessenen Regenmengen in 99_MyUtils anlegen:  


(Abgeleitet von einer Funktion zur Mittelwertberechnung unter : [url]http://www.fhemwiki.de/wiki/Relative_Mittelwerte_berechnen_und_loggen[/url] )
(Abgeleitet von einer Funktion zur Mittelwertberechnung unter : [http://www.fhemwiki.de/wiki/Relative_Mittelwerte_berechnen_und_loggen])


  <nowiki>
  <nowiki>
Zeile 52: Zeile 52:
Danach in der fhem.cfg Folgendes hinzufügen (inklusive Umrechnung der Windmesswerte von km/h in m/s):
Danach in der fhem.cfg Folgendes hinzufügen (inklusive Umrechnung der Windmesswerte von km/h in m/s):


  <nowiki>define RegenmengeOffset dummy
  <nowiki>
define RegenmengeOffset dummy
define RegenmengeTag dummy
define RegenmengeTag dummy
define RegenmengeLast1Hours dummy
define RegenmengeLast1Hours dummy
Zeile 79: Zeile 80:
   $windspeed = int(100 * $windspeed + 0.5) / 100;;\
   $windspeed = int(100 * $windspeed + 0.5) / 100;;\
   fhem("set WindSpeed_mps $windspeed") \
   fhem("set WindSpeed_mps $windspeed") \
}</nowiki>
}
</nowiki>


Dann können die Werte mit dem openweathermap Modul übertragen werden:
Dann können die Werte mit dem openweathermap Modul übertragen werden:


<nowiki>...
<nowiki>
...
attr owo owoSrc03 rain_today:RegenmengeTag:state
attr owo owoSrc03 rain_today:RegenmengeTag:state
attr owo owoSrc04 wind_speed:WindSpeed_mps:state
attr owo owoSrc04 wind_speed:WindSpeed_mps:state
attr owo owoSrc05 rain_1h:RegenmengeLast1Hours:state
attr owo owoSrc05 rain_1h:RegenmengeLast1Hours:state
attr owo owoSrc06 rain_24h:RegenmengeLast24Hours:state
attr owo owoSrc06 rain_24h:RegenmengeLast24Hours:state
...</nowiki>
...
</nowiki>


== Probleme ==
== Probleme ==

Version vom 16. September 2013, 14:17 Uhr

HomeMatic HM-WDS100-C6-O Funk-Wetterstation außen Homematic Wetterstation für die Messung von Temperatur, relative Luftfeuchte, Windrichtung, Windstärke, Regenmenge und Helligkeit.

Features

  • Batteriebetrieb (3 x Mignon/LR6/AA)
  • Funkfrequenz 868,3 MHz
  • Temperaturmessbereich -29,9°C bis 79,9°C (± 0,8°C)
  • Relative Luftfeuchte 1 % bis 99 % (±5 %)
  • Windgeschwindigkeit 1 km/h bis 199,9 km/h
  • Windrichtungsmesser 0° bis 355° (±5°)
  • Regenmengenmesser 0 mm bis 999 mm
  • Regen-Soforterkennung
  • Datenübermittlung alle 120 bis 180 Sekunden
  • Übermittlung des Batteriestatus

Hinweise zum Betrieb mit FHEM

Das Pairing sollte wie unter HomeMatic Devices pairen beschrieben durchgeführt werden. Hierfür muss die von außen erreichbare Anlerntaste betätigt werden.

Funktionen

Zunächst eine Funktion zur Berechnung der Differenz der gemessenen Regenmengen in 99_MyUtils anlegen:

(Abgeleitet von einer Funktion zur Mittelwertberechnung unter : [1])

# myDiff
# berechnet die Differenz aus der ersten Zeile eines LogFiles und der letzten Zeile eines LogFiles über einen Zeitraum zwischen einem Zeitpunkt in der Vergangenheit und dem Zeitpunkt des Aufrufs
sub
myDiff($$$)
{
 my ($offset,$logfile,$cspec) = @_;
 my $period_s = strftime "%Y-%m-%d\x5f%H:%M:%S", localtime(time-$offset);
 my $period_e = strftime "%Y-%m-%d\x5f%H:%M:%S", localtime;
 my $oll = $attr{global}{verbose};
 $attr{global}{verbose} = 0; 
 my @logdata = split("\n", fhem("get $logfile - - $period_s $period_e $cspec"));
 $attr{global}{verbose} = $oll; 
 my ($cnt, $first, $last, $diff) = (0)x4;
 foreach (@logdata){
  my @line = split(" ", $_);
  if(defined $line[1] && "$line[1]" ne ""){
   $cnt += 1;
    if ($cnt == 1) {
     $first = $line[1];
    }
   $last = $line[1];
  }
 }
$diff = $last - $first;
Log 4, ("myDiff: File: $logfile, Field: $cspec, Period: $period_s bis $period_e, First: $first, Last: $last, Diff: $diff");
return $diff;
}

Danach in der fhem.cfg Folgendes hinzufügen (inklusive Umrechnung der Windmesswerte von km/h in m/s):

define RegenmengeOffset dummy
define RegenmengeTag dummy
define RegenmengeLast1Hours dummy
define RegenmengeLast3Hours dummy
define RegenmengeLast24Hours dummy
define WindSpeed_mps dummy

define RegenmengeNotify notify OC3:rain.* {\
  my $menge = (ReadingsVal("OC3", "rain", 0) - ReadingsVal("RegenmengeOffset", "state", 0));;\
  my $last1hours = myDiff("3600", "FileLog_OC3", "10:::");;\
  my $last3hours = myDiff("10800", "FileLog_OC3", "10:::");;\
  my $last24hours = myDiff("86400", "FileLog_OC3", "10:::");;\
  fhem("set RegenmengeTag $menge");;\
  fhem("set RegenmengeLast1Hours $last1hours");;\
  fhem("set RegenmengeLast3Hours $last3hours");;\
  fhem("set RegenmengeLast24Hours $last24hours");;\
}

define RegenmengeOffsetReset at *00:00:00 {\
  my $offset = ReadingsVal("OC3", "rain", 0);;\
  fhem("set RegenmengeOffset $offset");; \
}

define WindSpeedNotify notify OC3:windSpeed.* {\
  my $windspeed = (ReadingsVal("OC3", "windSpeed", 0) / 3.6);;\
  $windspeed = int(100 * $windspeed + 0.5) / 100;;\
  fhem("set WindSpeed_mps $windspeed") \
}

Dann können die Werte mit dem openweathermap Modul übertragen werden:

...
attr owo owoSrc03 rain_today:RegenmengeTag:state
attr owo owoSrc04 wind_speed:WindSpeed_mps:state
attr owo owoSrc05 rain_1h:RegenmengeLast1Hours:state
attr owo owoSrc06 rain_24h:RegenmengeLast24Hours:state
...

Probleme

Bisher keine.

FHEM Config-Auszug

<<< folgt >>>

FHEM Log-Auszug

Links

http://www.eq-3.de/Downloads/eq3/pdf_produkte/HM-WDS100-C6-O_UM_G_eQ-3_090128.pdf

http://www.eq-3.de/Downloads/eq3/pdf_produkte/Funk-Kombisensor-OC-3_83346_Produktdatenblatt.pdf