Benzinpreis Adapter

WebUIs (DashUI, yahui, ...), Adapter (Hue, IRTrans, Sonos, ...), Logging, Scripting

Moderator: Co-Administratoren

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Benzinpreis Adapter

Beitrag von alchy » 02.09.2016, 20:36

Das Script als Solches sollte trotz falscher string concatenation funktionieren.
Eventuell falsche TankstellenIDs verwendet? So schön ausge x te vielleicht? :mrgreen:

Leicht modifiziert mit einer "MiniFehlerverarbeitung" sollte es so ungefähr gehen:

Alchy

Code: Alles auswählen

Script entfernt

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
BaluderBär
Beiträge: 7
Registriert: 10.09.2015, 10:03
Wohnort: Baden-Württemberg

Re: Benzinpreis Adapter

Beitrag von BaluderBär » 02.09.2016, 21:55

Danke, für deine schnelle Hilfe. Leider funktioniert es noch immer nicht. Tankstellen-ID habe ich noch einmal überprüft. Sollte passen.
Die Variable "Tanken" als Zeichenkette. Fehlerbild findest du im Anhang.
Noch eine Idee?
Dateianhänge
Fehler.png
Fehler.png (3.34 KiB) 2606 mal betrachtet

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Benzinpreis Adapter

Beitrag von alchy » 02.09.2016, 22:22

Klar habe ich noch Ideen. Dein apikey stimmt nicht.
Du kannst mein Script oben genau so nehmen und ausführen, das einzigste ist der apikey den du einsetzen musst.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
BaluderBär
Beiträge: 7
Registriert: 10.09.2015, 10:03
Wohnort: Baden-Württemberg

Re: Benzinpreis Adapter

Beitrag von BaluderBär » 02.09.2016, 22:35

Servus Alchy,
der API-Key sollte stimmen. Da ich auch den Verdacht hatte, hab ich einen neuen beantragt, welchen ich nun auch benutze.
Die einzige Änderung zu deinem Skript ist diese hier:

Code: Alles auswählen

    ! WriteLine(slist); ! Ausgabe auf dem Bildschirm
     dom.GetObject("Tanken").State(slist); ! Speichern in Systemvariable
, da ich die Werte in der Variablen "Tanken" speichere und diese in Dahui abrufe.

Gruß Balu

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Benzinpreis Adapter

Beitrag von alchy » 02.09.2016, 22:44

Wenn Du das Script unter Script testen oder im Script Executer mit deinem apikey ausführst wie ich es gepostet habe,
muss mittels der WriteLine zeile eine Ausgabe auf dem Bildschirm erfolgen.
teste das bitte so

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
BaluderBär
Beiträge: 7
Registriert: 10.09.2015, 10:03
Wohnort: Baden-Württemberg

Re: Benzinpreis Adapter

Beitrag von BaluderBär » 02.09.2016, 23:15

Hallo Alchy,
Problem gelöst. Ich danke dir. Problem war, dass der erste API-Key gesperrt war (zu hohe Abfrage-Frequenz???) und der zweite Key noch nicht freigeschaltet war :((((
Wie oft kann man bei Tankerkönig eine Abfrage starten?

Jetzt habe ich ein weiteres kleineres Problem. Eine der Tankstellen hat momentan geschlossen. Für den ersten Wert (Diesel) wird "null" angezeigt, bei E10 und E5 stehen Preise drin, obwohl geschlossen.
An was könnte das liegen?

Siehe hier:

Code: Alles auswählen

{
  "sessionId": "",
  "e5": "1.249",
  "error": "-1",
  "STDOUT": "null \/ 1.229 \/ 1.249\n\r\n",
  "tankid": "3fe8dc63-1663-430f-bcc3-5bdbf281d3af",
  "tankerKoenigURL": "https:\/\/creativecommons.tankerkoenig.de\/json\/detail.php",
  "srueck": "\{\"status\":\"ok\",\"ok\":true,\"license\":\"CC BY 4.0 -  http:\\\/\\\/creativecommons.tankerkoenig.de\",\"data\":\"MTS-K\",\"station\":\{\"id\":\"3fe8dc63-1663-430f-bcc3-5bdbf281d3af\",\"name\":\"PF-Eutingen, Hauptstra\\u00dfe\",\"brand\":\"BFT\",\"street\":\"Hauptstr.\",\"houseNumber\":\"21\",\"postCode\":75181,\"place\":\"Pforzheim\",\"openingTimes\":\[\{\"text\":\"Montag\",\"start\":\"06:00:00\",\"end\":\"21:59:00\"},\{\"text\":\"Dienstag, Mittwoch, Donnerstag, Freitag, Samstag\",\"start\":\"06:00:00\",\"end\":\"22:00:00\"},\{\"text\":\"Sonntag, Feiertag\",\"start\":\"08:00:00\",\"end\":\"22:00:00\"}],\"overrides\":\[],\"wholeDay\":false,\"isOpen\":false,\"e5\":1.249,\"e10\":1.229,\"diesel\":null,\"lat\":48.906483,\"lng\":8.740557,\"state\":\"deBW\"}}",
  "diesel": "null",
  "offen": "offen",
  "posValueEnd": ",",
  "posValue": "602",
  "slist": "null \/ 1.229 \/ 1.249",
  "name": "PF-Eutingen, Hauptstra\\u00dfe",
  "off": "false",
  "apikey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "cmd": "\/usr\/local\/addons\/cuxd\/curl --trace trace.txt -k -X GET -H \"Content-Type:application\/json\" -G -d id=3fe8dc63-1663-430f-bcc3-5bdbf281d3af -d apikey=xxxxxxxxxxxxxxxxxxxxxxxx https:\/\/creativecommons.tankerkoenig.de\/json\/detail.php",
  "posValueStart": ",\"diesel\":",
  "e10": "1.229",
  "httpUserAgent": "",
  "tankids": "3fe8dc63-1663-430f-bcc3-5bdbf281d3af"
}


Schönes Wochenende und viele Grüße
Balu

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Benzinpreis Adapter

Beitrag von alchy » 03.09.2016, 12:16

Das Script macht nur was es soll. Wo ist dein Problem?
Im Feld Diesel steht bei der Tanke nun mal null.
Willst du gar keine Preise anzeigen, wenn die Tankstelle geschlossen ist, dafür dann z.b. Geschlossen ?
Das ist im Script nicht verbaut, kann aber nachgerüstet werden.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
BaluderBär
Beiträge: 7
Registriert: 10.09.2015, 10:03
Wohnort: Baden-Württemberg

Re: Benzinpreis Adapter

Beitrag von BaluderBär » 03.09.2016, 12:32

Hallo Alchy,
dein Vorschlag, bei jeder Tankstelle die geschlossen hat, anstatt dem jeweiligen Preis dann "geschlossen", "zu" oder einfach nur "---" (würde "---" bevorzugen) anzuzeigen, finde ich gut.
Leider kann ich dies nicht selbst umsetzen. Über deine Hilfe würde ich mich freuen.

Gruß Martin

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Benzinpreis Adapter

Beitrag von alchy » 03.09.2016, 18:22

BaluderBär hat geschrieben:Jetzt habe ich ein weiteres kleineres Problem. Eine der Tankstellen hat momentan geschlossen. Für den ersten Wert (Diesel) wird "null" angezeigt, bei E10 und E5 stehen Preise drin, obwohl geschlossen.
An was könnte das liegen?
An der API. Das ist grundsätzlich nicht das Problem des Scriptes.
Die API meldete für besagte Tankstelle geschlossen (was nicht abgefragt wurde in der Version), aber trotzdem Preise für E5 & E10. Ob das immer so ist, kann ich nicht sagen. Ich verwende so etwas nicht, habe also nur die Ausgabe deines Scriptes.

Aber man kann natürlich auch dafür ^^ etwas basteln.
Um Ressourcen zu sparen, macht es *IMHO* Sinn bei geschlossener Tanke Teile des Scriptes erst gar nicht auszuführen.

Das sollte dann ungefähr so gehen:

Code: Alles auswählen

Script entfernt
Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
BaluderBär
Beiträge: 7
Registriert: 10.09.2015, 10:03
Wohnort: Baden-Württemberg

Re: Benzinpreis Adapter

Beitrag von BaluderBär » 04.09.2016, 00:27

Hi Alchy,
super vielen Dank. Echt klasse wie hier einem geholfen wird :!:
Im Gegensatz zu Tankerkönig - sehr unfreundlich und einfach nur peinlich

Antworten

Zurück zu „CCU.IO“