Hallo die Community,
habe mir ein wenig die Schnittstelle der e-control für den Spritpreisrechner in Österreich angesehen.
In der Praxis kann die Plattform nicht wahnsinnig viel aber umso einfacher könnte man die Sachen für VIS oder Alexa2 Sprachausgabe parsen.
Auf der API Seite der E-Control kann man sich "seine" eigene URL ohne viel Mühe zusammenbasteln.
https://api.e-control.at/sprit/1.0/doc/index.html?url=https://api.e-control.at/sprit/1.0/api-docs%3Fgroup%3Dpublic-api
Eigentlich muss man nur noch Längen und Breitengrad recherchieren bspw. auf https://www.latlong.net/ und kann mit Try it Out die URL erstellen.
Die URL dann einfach in den Parseradapter eintragen - sinnvoller Aktualisierungswert liegt bei ein oder zwei Stunden am Wochenende sogar ein halber Tag! (NICHT BEI 5 Sekunden! ;))
Name hab ich Spritpreisrechner vergeben - Rolle default - TYP JSON - und auch "Letztes Wert" anhaken dann geht euch euer Skript nicht hops wenn die E-Control mal nicht da ist.
Dann kann man per Skript bei Änderung durch die Daten durchgehen und die Werte dann wegschreiben.
Ich habe hier Testweise nach meiner "Stammtankstelle" gesucht und mir einfach einen State mit dem Preis angelegt.
on({id: "parser.0.Spritpreisrechner"/*Spritpreisrechner*/, change: 'any'}, function(obj)
{
var price = "undefiniert"
var gasStation = JSON.parse(obj.state.val);
if (gasStation.length === 0) return;
for (index = 0; index < gasStation.length; ++index) {
if (gasStation[index].name == "avanti - Wien Neuhaufenstraße 148") {
price = (gasStation[index].prices[0].amount).toString().replace(".",",");
}
}
setState("javascript.0.Aktueller_Spritpreis"/*Aktueller Spritpreis*/, price);
});
Die günstigste Tankstelle könnte man sich mit folgender Zeile darstellen
gasStation[0].name + " " + (gasStation[0].prices[0].amount).toString().replace(".",",") + " €"
Ja das Script ist ausbaufähig - aber "It compiles so lets sell it ;)"
Hoffe man kann meinen Input weiterverwenden