Wettermeldung an openweathermap senden

Begonnen von betateilchen, 26 Mai 2013, 00:03:14

Vorheriges Thema - Nächstes Thema

betateilchen

Wer seine Wetterdaten an das Projekt openweathermap übertragen will, kann dazu folgende zwei Schnipsel verwenden:

1) hiermit wird die eigentliche Übertragung per http durchgeführt:


define openWeather notify openWeather { my $temp = ReadingsVal("<Sensorname>","temperature", "");; my $humi = ReadingsVal("<Sensorname>", "humidity", "");; system("curl -d 'temp=$temp&humidity=$humi&lat=<Position>&long=<Position>&name=<Stationsname>' --user '<user>:<password>' http://openweathermap.org/data/post") }


2) Hiermit wird festgelegt, dass diese Übertragung regelmäßig alle 30 Minuten erfolgt:


define send_openWeather at +*00:30:00 trigger openWeather


Mit der Einbindung von Wetterdaten AUS openweathermap (per API) werde ich mich irgendwann später befassen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Tobias

was ist denn die Station? Was mus man da eintragen? &name=<Stationsname>
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

justme1968

guten morgen,

falls du das lesen implementierst und es mit einem dumm statt einem richtigen fhem modul machst schau dir das hier kurz an: http://forum.fhem.de/index.php?t=msg&goto=78936&rid=430#msg_78936 vielleicht hilft es dir.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

jhohn

Das frage ich mich auch gerade. Auf den Seiten von Openweathermap kann ich dazu nichts finden.

Zitat von: Tobias schrieb am So, 26 Mai 2013 07:11was ist denn die Station? Was mus man da eintragen? &name=<Stationsname>
FHEM auf Synology Diskstation DS413j (DSM4.3), HM LAN Adapter
Steuerung für Nachtspeicheröfen:
Ladung:   HM-WDS10-TH-O, HM-LC-Sw4-DR, Weather-Modul
Gebläse: HM-CC-TC, HM-LC-SW1-FM, HM-Sec-RHS
FHEM auf FritzBox 7390 für Telefon Funktionen

Icebear

Moinsen,

anscheinend werden die Koordinaten nur mit Stellen hinterm Komma genommen. Bei 5 Stellen funzte es bei mir nicht.

Just for Info

p.s. die Koordinaten gibts bei http://universimmedia.pagesperso-orange.fr/geo/loc.htm

Einfach adresse eintippen und man bekommt die Koordinaten.

Und wech
Raspberry PI mod B (Wheezy), Fhem 5.4, CUL868, CUL433 , RfxTrx, HM-USB-CFG2, Wlan, HomeEasy, IT, FS20, TFA, HomeMatic, Oregon Scientific, HMLand auf Fritzbox
Raspberry PI mod B (RaspBMC)

Icebear

Der Stationname wird hinter deinem Loginnamen angezeit.. Bei mir so..

Icebear-Sensor1
Last date:   2013-05-26 12:23:11 GMT
Type:   5
Karma:   0
Lat:   51.6650
Lon:   6.6197

Sensor1 ist der Stationname
Icebear der Loginname
Raspberry PI mod B (Wheezy), Fhem 5.4, CUL868, CUL433 , RfxTrx, HM-USB-CFG2, Wlan, HomeEasy, IT, FS20, TFA, HomeMatic, Oregon Scientific, HMLand auf Fritzbox
Raspberry PI mod B (RaspBMC)

jhohn

auf der my stats Seite?
Die ist bei mir leer.
FHEM auf Synology Diskstation DS413j (DSM4.3), HM LAN Adapter
Steuerung für Nachtspeicheröfen:
Ladung:   HM-WDS10-TH-O, HM-LC-Sw4-DR, Weather-Modul
Gebläse: HM-CC-TC, HM-LC-SW1-FM, HM-Sec-RHS
FHEM auf FritzBox 7390 für Telefon Funktionen

Tobias

Zitat von: jhohn schrieb am So, 26 Mai 2013 14:49auf der my stats Seite?
Die ist bei mir leer.

Bei mir auch...
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Icebear

dann wurden die daten nicht uebertragen.. habe hier auch geflucht und es waren die koordinaten..

nur 4 stellen hinterm komma (die meisten webseiten liefern 5 stellen)

und wech
Raspberry PI mod B (Wheezy), Fhem 5.4, CUL868, CUL433 , RfxTrx, HM-USB-CFG2, Wlan, HomeEasy, IT, FS20, TFA, HomeMatic, Oregon Scientific, HMLand auf Fritzbox
Raspberry PI mod B (RaspBMC)

Icebear

Hier mein Eintrag .. Nur username und passwort gex :)

define openWeather notify openWeather { my $temp = ReadingsVal("Ice_TFA_Sensor1","temperature", "");; my $humi = ReadingsVal("Ice_TFA_Sensor1", "humidity", "");; system("curl -d 'temp=$temp&humidity=$humi&lat=51.6650&long=6.6197&name=Sensor1' --user 'user:passwort' http://openweathermap.org/data/post") }
Raspberry PI mod B (Wheezy), Fhem 5.4, CUL868, CUL433 , RfxTrx, HM-USB-CFG2, Wlan, HomeEasy, IT, FS20, TFA, HomeMatic, Oregon Scientific, HMLand auf Fritzbox
Raspberry PI mod B (RaspBMC)

betateilchen

Der Stationsname ist eine vom Benutzer frei wählbare Bezeichnung, die dann auf der Karte als "Stationsinfo" angezeigt wird.

Bei den Positionsdaten sind doch zwei Dezimalstellen nach dem Komma für eine Wetterstation völlig ausreichend. Bei mir entsteht dadurch ein Entfernungsunterschied von knapp 50 Metern, und dort ist das Wetter meistens genau so wie bei mir am Haus...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

jhohn

FHEM auf Synology Diskstation DS413j (DSM4.3), HM LAN Adapter
Steuerung für Nachtspeicheröfen:
Ladung:   HM-WDS10-TH-O, HM-LC-Sw4-DR, Weather-Modul
Gebläse: HM-CC-TC, HM-LC-SW1-FM, HM-Sec-RHS
FHEM auf FritzBox 7390 für Telefon Funktionen

Svenson

Hallo und Danke erstmal für den Tip.

Da "curl" auf der FritzBox nicht funktioniert habe ich die Datenübermittlung mittel LWP umgesetzt:

dazu die Funktion in die 99_myUtils einfügen:

######## Wetterdaten an OpenWetterMap senden ######################
sub openwetter
{
my $temp = $_[0];
my $humidity = $_[1];
my $ret = "";
$ret .= LWP::UserAgent->new()->post(
"http://<username>:<passwort>\@openweathermap.org/data/post", [
"temp" => "$temp",
"humidity" => "$humidity",
"lat" => "<Länge>",
"long" => "<Breite>",
"name" => "<Stationsname>" ]);
$ret =~ s,[\r\n]*,,g;
Log 1, "openwetter returned: $ret";
}


dann in die fhem.cfg folgendes einfügen:

define openWeather notify openWeather { my $temp = ReadingsVal("<Sensorname>","temperature", "");; my $humi = ReadingsVal("<Sensorname>", "humidity", "");; openwetter("$temp","$humi") }

define send_openWeather at +*00:30:00 trigger openWeather


Dann sollten alle 30 Minuten die Daten an OpenWeatherMap gesendet werden.

betateilchen

Zitat von: Svenson schrieb am Fr, 31 Mai 2013 14:59Da "curl" auf der FritzBox nicht funktioniert

curl gibts aber definitiv auch für die Fritzbox.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Svenson