Wetterdaten von AWEKAS

Hallo,

Ich habe mir eine Bresser Explore Scientific WLAN-Profi-Wetter-Center 7-in-1 gekauft.
Diese sendet die Daten an Awekas, wie bekomme ich aber jetzt die Daten von Awekas ins IPS?

Hat da vielleicht schon jemand ein Script oder so… gebastelt?
Bin leider nicht so gut in PHP.

Danke
Erwoolf

Anbei der Link zu API. Daten kommen als JSON zurück.

https://www.awekas.at/board/index.php?attachment/4815-awekas-station-api-v1-3-pdf/

Hallo,

ja das hab ich mir schon angeschaut… aber wie oben schon erwähnt bin ich eine absolute PHP Niete…
Für ein Fertiges Script was ich nur noch abändern müsste wäre der Hit!!! :relaxed:

kann mir niemand helfen? :sleepy:

Ist doch nur ein einfacher Aufruf

<?php

$api_key = 'XXXXX'; // AKEKAS plus API Key
$url = 'https://api.awekas.at/current.php?key=' . $api_key;

$data = file_get_contents($url);
var_export($data);

Was bekommst Du denn da zurück?

Der Rest ist dann Fleisarbeit, siehe auch

Hallo Fonzo!

Danke für deine Antwort!
Daten bekomme ich rein.

Jetzt kommt wieder eine Dumme Frage!
Mit welchen Befehl schreib ich z.B. das („temperature“: -1.8,) in eine Variable?

Und dann geht’s mit der Fleißaufgabe los! :grinning:

Gruß
Erwoolf

Und wie sehen die aus? Sonnst kann man Dir auch nicht helfen. Ansonsten das JSON mit json_decode() decodieren und dann eben auf die passenden Werte zugreifen.

Du hast anscheinend nicht nicht viele Daten in eigene Variablen geschrieben :wink:
Das übliche
https://www.symcon.de/service/dokumentation/befehlsreferenz/variablenzugriff/setvalue/

Die Fleißaufgabe ist die Variablen anzulegen, in die Du Werte schreiben willst. Dann ein Skript eben mit einem Ereignis zyklisch aufzurufen, dass die Daten abholt und in die Variablen schreibt.
Wenn Du weiter gekommen bist, kannst Du ja das Endergebnis oder einen Zwischenstand posten.

Die Daten sehen so aus:

'{
„fetchdate“: 1616255728,
„error“: null,
„current“:
{
„datatimestamp“: 1616255802,
„timeoffset“: 3600,
„conditiontimestamp“: null,
„condition“: 0,
„temperature“: -1.6,
„dewpoint“: -8.7,
„humidity“: 58,
„airpress_rel“: 1022.2,
„tendency“: 0,
„precipitation“: 0,
„rainrate“: 0,
„itsraining“: false,
„windspeed“: 8.5,
„gustspeed“: 8.9,
„winddirection“: 42,
„uv“: 0,
„solar“: 56,
„brightness“: null,
„suntime“: null,
„snowheighttimestamp“: null,
„snowheight“: null,
„temp1“: null,
„temp2“: null,
„temp3“: null,
„temp4“: null,
„humidity1“: null,
„humidity2“: null,
„humidity3“: null,
„humidity4“: null,
„soilmoisture1“: null,
„soilmoisture2“: null,
„soilmoisture3“: null,
„soilmoisture4“: null,
„leafwetness1“: null,
„leafwetness2“: null,
„indoortemperature“: 24.9,
„indoorhumidity“: 25,
„airquality_pm1“: null,
„airquality_pm2“: null,
„airquality_pm10“: null
},
„1h“:
{
„precipitation_1h“: null
},
„day“:
{
„temp_min“: -3.5,
„temp_min_ts“: 1616217778,
„temp_max“: -0.3,
„temp_max_ts“: 1616246453,
„dewpoint_min“: -10.9,
„dewpoint_min_ts“: 1616235941,
„dewpoint_max“: -5.2,
„dewpoint_max_ts“: 1616240326,
„hum_min“: 50,
„hum_min_ts“: 1616235941,
„hum_max“: 85,
„hum_max_ts“: 1616240326,
„airp_rel_min“: 1019.2,
„airp_rel_min_ts“: 1616194807,
„airp_rel_max“: 1022.9,
„airp_rel_max_ts“: 1616234470,
„windspeed_min“: 0,
„windspeed_min_ts“: 1616200613,
„windspeed_max“: 20.4,
„windspeed_max_ts“: 1616222902,
„winddir_max“: 30,
„gustspeed_min“: 0,
„gustspeed_min_ts“: 1616200613,
„gustspeed_max“: 21.9,
„gustspeed_max_ts“: 1616225165,
„gustdir_max“: 30,
„rainrate_max“: 0,
„rainrate_max_ts“: 1616195111,
„precipitation_24h“: 0,
„brightness_max“: null,
„brightness_max_ts“: null,
„solar_max“: 564,
„solar_max_ts“: 1616236649,
„uv_max“: 4.5,
„uv_max_ts“: 1616242139,
„intemp_min“: 20.6,
„intemp_min_ts“: 1616210238,
„intemp_max“: 26.6,
„intemp_max_ts“: 1616229417,
„inhum_min“: 24,
„inhum_min_ts“: 1616227558,
„inhum_max“: 29,
„inhum_max_ts“: 1616209878,
„airquality_pm1“: null,
„airquality_pm2“: null,
„airquality_pm10“: null
}
}

Ein par schon, aber in welcher form jetzt z.B. „temperature“: -1.6, da rein muss
SetValueFloat(37526, …);

$data = json_decode($data);
$temperature = $data->current->temperature;
SetValue(37526, $temperature);

Der Rest für die anderen Variablen dann eben analog übertragen, das ist dann Fleißarbeit.

Jetzt läuft es!!!
Vielen Dank!