Ich habe folgendes Problem:
In meiner Mediola Fernbedienung möchte ich die Benzinpreise mehrerer Tankstellen anzeigen lassen. Dazu habe ich ein Script hier aus dem Forum verwendet:
Code: Alles auswählen
!-----------------------------------------------------------------------------
! Basisdaten definieren
!-----------------------------------------------------------------------------
var apikey = "0cd990c8-abd8-c980-c5be-daa7564bbc89"; !API KEY EINTRAGEN
var tankid = "51d4b424-a095-1aa0-e100-80009459e03a"; !TANKSTELLEN ID EINTRAGEN
!-----------------------------------------------------------------------------
! Werte von tankerkoenig holen
!-----------------------------------------------------------------------------
string tankenUrl = "https://creativecommons.tankerkoenig.de/json/detail.php";
string params = "-d id=" + tankid + " -d apikey=" + apikey;
string cmd = "LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl --trace trace.txt -k -X GET -H \"Content-Type:application/json\" -G " + params + " " + tankenUrl;
var stdout;
var posStart;
var posEnd;
var preis;
var substring;
var posValueStart;
var posValueEnd;
var posValue;
dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State(cmd);
dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
stdout = dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State();
!-----------------------------------------------------------------------------
! Preise aus Daten von tankerkoenig auslesen und in CCU Variablen schreiben
!-----------------------------------------------------------------------------
posStart = "{";
posEnd = "}";
substring = stdout.Substr(stdout.Find(posStart), stdout.Find(posEnd));
! --- Preis E10
posValueStart = "\"e10\":";
posValueEnd = ",";
posValue = substring.Find(posValueStart) + posValueStart.Length();
preis = substring.Substr(posValue, 6).StrValueByIndex(posValueEnd, 0) ;
dom.GetObject("tanken_e10_jet").Variable(preis.ToFloat()); !EIGENE VARIABLE EINTRAGEN
!-----------
! --- Preis E5
!posValueStart = "\"e5\":";
!posValueEnd = ",";
!posValue = substring.Find(posValueStart) + posValueStart.Length();
!preis = substring.Substr(posValue, 6).StrValueByIndex(posValueEnd, 0) ;
!dom.GetObject("EIGENE VARIABLE").Variable(preis.ToFloat()); !EIGENE VARIABLE EINTRAGEN
!-----------
! --- Preis Diesel
!posValueStart = "\"diesel\":";
!posValueEnd = ",";
!posValue = substring.Find(posValueStart) + posValueStart.Length();
!preis = substring.Substr(posValue, 6).StrValueByIndex(posValueEnd, 0) ;
!dom.GetObject("EIGENE VARIABLE").Variable(preis.ToFloat()); !EIGENE VARIABLE EINTRAGEN
!-----------
Weiß jemand, wieso nicht für alle vier?
Danke