ich versuche jetzt die Daten die ich aus einer Abfrage der API bei Ecowitt erhalte regelmäßig in eine eigene Datenbank zu schreiben:
Code: Alles auswählen
<?php
#Datenbank
$pdo = new PDO('mysql:host=xxx.xxx.xxx.xxx:3304;dbname=dbxxxxxx_xxxx', 'dbuser', 'dbpasswort');
#JSON-Datei
$url = "https://api.ecowitt.net/api/v3/device/.....
$json = file_get_contents($url);
$json_data = json_decode($json, true);
#Werte ermitteln
$temp = $json_data["data"]["outdoor"]["temperature"]["value"];
$wind = $json_data["data"]["wind"]["wind_speed"]["value"];
$dir = $json_data["data"]["wind"]["wind_direction"]["value"];
$gust = $json_data["data"]["wind"]["wind_gust"]["value"];
$pres = $json_data["data"]["pressure"]["relative"]["value"];
$humi = $json_data["data"]["outdoor"]["humidity"]["value"];
$solar = $json_data["data"]["solar_and_uvi"]["solar"]["value"];
$uvi = $json_data["data"]["solar_and_uvi"]["uvi"]["value"];
$rain = $json_data["data"]["rainfall"]["hourly"]["value"];
#Datum für Datenbank vorbereiten
$heute = getdate();
$year = $heute["year"];
$month = $heute["month"];
$day = $heute["mday"];
$wday = $heute["wday"];
#In Datenbank schreiben
$statement = $pdo->prepare("INSERT INTO Wetterwerte (DAY, MONTH, YEAR, WEEKDAY, TEMP, HUMI, PRES, SOLAR, UVI, RAIN, WIND, GUST, DIR)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
$statement->execute(array($day, $month, $year, wday, $temp, $humi, $pres, $solar, $uvi, $rain, $wind, $gust, $dir));
?>
Leider bin ich kein PHP-Experte - vielleicht sieht hier jemand warum das nicht klappt?
Die Variablen sind alle gefüllt, die Datenbank ist angelegt, der DB-User und das DB-Passwort stimmen.
Grüße
Mathias