Kraxelpaul
Grünschnabel
Hallo zusammen,
ich möchte meine eigene Api auslesen und bestimmte Werte weiterverarbeiten.
Die Api liefert folgendes:
{"esp8266id": "2984517", "software_version": "NRZ-2020-129", "sensordatavalues":[{"value_type":"SDS_P1","value":"1.80"},{"value_type":"SDS_P2","value":"1.70"},{"value_type":"temperature","value":"22.20"},{"value_type":"humidity","value":"99.90"},{"value_type":"samples","value":"4378289"},{"value_type":"min_micro","value":"32"},{"value_type":"max_micro","value":"20325"},{"value_type":"signal","value":"-48"}]}
Ich möchte den ersten value (momentan 1.80) und den zweiten value (momentan 1.70) auslesen.
Mein Code sieht so aus:
Die Variablen PM10 und PM 25 bringe ich dann an anderer Stelle zur Anzeige.
Leider funktioniert es so nicht, die Testseite gibt immer nur den Default-Wert an (3.26 und 1.89).
Wer hat einen Tip für mich?
Danke schon mal vorab.
ich möchte meine eigene Api auslesen und bestimmte Werte weiterverarbeiten.
Die Api liefert folgendes:
{"esp8266id": "2984517", "software_version": "NRZ-2020-129", "sensordatavalues":[{"value_type":"SDS_P1","value":"1.80"},{"value_type":"SDS_P2","value":"1.70"},{"value_type":"temperature","value":"22.20"},{"value_type":"humidity","value":"99.90"},{"value_type":"samples","value":"4378289"},{"value_type":"min_micro","value":"32"},{"value_type":"max_micro","value":"20325"},{"value_type":"signal","value":"-48"}]}
Ich möchte den ersten value (momentan 1.80) und den zweiten value (momentan 1.70) auslesen.
Mein Code sieht so aus:
PHP:
$json = file_get_contents('http://www.zschorlau-xxxxx/yyyy/xxx.log'); //<--- Hier deine Sensor ID eintragen
$json_ergebnis=json_decode($json, true);
$PM10=$json_ergebnis[0]->sensordatavalues[0]->value;
$PM25=$json_ergebnis[0]->sensordatavalues[1]->value;
if (($PM10 <= "0")or($PM10 <= "")){
$PM10 = "3.26";
}
else {
$PM10 = $PM10;
}
if (($PM25 <= "0")or($PM25 <= "")){
$PM25 = "1.89";
}
else {
$PM25 = $PM25;
}
?>
Die Variablen PM10 und PM 25 bringe ich dann an anderer Stelle zur Anzeige.
Leider funktioniert es so nicht, die Testseite gibt immer nur den Default-Wert an (3.26 und 1.89).
Wer hat einen Tip für mich?
Danke schon mal vorab.