Ich mache seit einiger Zeit Dinge in Pico C. Ich habe zum Beispiel verschiedene Dinge gemacht oder modifiziert, die mir im Internet begegnet sind.
Ich arbeite gerade an einem Bausteinprogramm für die Bewässerungsinstallation im Garten. anhand der anlagenspezifikationen wurde festgelegt, wie viel und wie lange wasser zugeführt werden muss.
Nun möchte ich dies mit Wetterinformationen der letzten 3 Tage und der nächsten 3 Tage erweitern.
Ich habe eine API von Darksky angefordert. es zeigt alle Informationen an, die ich denke, ich brauche. Diese Api-Verarbeitung innerhalb des Blockblockprogramms war erfolgreich. Ich möchte jedoch jetzt bestimmte Daten aus dieser API auslesen. Wer kann mich in die Richtung bewegen, um dies anzufordern?
UPDATE: 2019-04-05 H10:00
Inzwischen bin ich ein bisschen weitergezogen. Ich habe gestern ziemlich viel über die Funktionen gelesen. Ich habe die Daten in Openweather-Daten konvertiert, da sie XML-Daten liefern können. und ein Standard-XML-Parser ist verfügbar.
es funktioniert über eine virtuelle Eingabe. Ich weiß also genau, dass die URL einschließlich der API funktioniert und der Befehl im vi ebenfalls korrekt ist.
Aktueller Code zum Abrufen von WindSpeed3hXML aus der XML-Datei. Wenn alles gut gelaufen wäre, würde das XML in "DataOne" gespeichert werden, dann suche ich nach "windSpeed mps" und diesen Wert würde ich in "Precipitation3hXML" schreiben.
UPDATE: 2019-04-05 H15:00
In diesem Moment bekomme ich Daten aus dem Programmblock, die ich in das Loxone-Log schreibe, aber im Loxone-Log sehe ich nur unlesbare Zeichen.
if(true) { char *DataOne = httpget(Url, buffer); if ((DataOne != NULL) && (DataOne != 0)) { setoutput(6,1); char WindSpeed3hXML[128]; WindSpeed3hXML =getxmlvalue(DataOne,0,"\"<time\"\"<time\"\"<time\"\"<time\"\"<precipitation\"value=\""); setoutput(7,batof(WindSpeed3hXML)); setlogtext(WindSpeed3hXML); //} free(WindSpeed3hXML); }
<?xml version="1.0" encoding="UTF-8"?> <weatherdata> <location> <name></name> <type></type> <country>NL</country> <timezone></timezone> <location altitude="0" latitude="55.5833" longitude="6.7208" geobase="geonames" geobaseid="6544855"></location> </location> <credit></credit> <meta> <lastupdate></lastupdate> <calctime>0.0066</calctime> <nextupdate></nextupdate> </meta> <sun rise="2019-04-05T05:02:51" set="2019-04-05T18:14:13"></sun> <forecast> <time from="2019-04-05T06:00:00" to="2019-04-05T09:00:00"> <symbol number="800" name="onbewolkt" var="01d"></symbol> <precipitation></precipitation> <windDirection deg="98.5032" code="E" name="East"></windDirection> <windSpeed mps="2.56" name="Light breeze"></windSpeed> <temperature unit="celsius" value="12.89" min="8.72" max="12.89"></temperature> <pressure unit="hPa" value="1007.43"></pressure> <humidity value="84" unit="%"></humidity> <clouds value="onbewolkt" all="0" unit="%"></clouds> </time> <time from="2019-04-05T09:00:00" to="2019-04-05T12:00:00"> <symbol number="800" name="onbewolkt" var="02d"></symbol> <precipitation></precipitation> <windDirection deg="56" code="NE" name="NorthEast"></windDirection> <windSpeed mps="3.12" name="Light breeze"></windSpeed> <temperature unit="celsius" value="14.51" min="11.38" max="14.51"></temperature> <pressure unit="hPa" value="1006.59"></pressure> <humidity value="81" unit="%"></humidity> <clouds value="onbewolkt" all="8" unit="%"></clouds> </time> <time from="2019-04-05T12:00:00" to="2019-04-05T15:00:00"> <symbol number="803" name="zwaar bewolkt" var="04d"></symbol> <precipitation></precipitation> <windDirection deg="59.0008" code="ENE" name="East-northeast"></windDirection> <windSpeed mps="3.76" name="Gentle Breeze"></windSpeed> <temperature unit="celsius" value="13.65" min="11.57" max="13.65"></temperature> <pressure unit="hPa" value="1005.67"></pressure> <humidity value="70" unit="%"></humidity> <clouds value="zwaar bewolkt" all="80" unit="%"></clouds> </time>
Kommentar