NEWS
IoBroker.tankerkoenig | Spritpreis-Adapter
-
Hallo,
Fehler schon gefunden. Ging schnell., da fehlten nur ein paar Anführungszeichen.
0.0.4 ist oben.
https://github.com/Pix–-/ioBroker.tankerkoenig
Gruß
Pix
-
Funktioniert!
Hut ab - klasse.
Gruß,
Eric
-
Merkwürdig.
Instanz neu starten hat nicht gereicht. Erst ein Neustarten des raspi hat dafür gesorgt, daß bei mir jetzt auch Daten geladen werden.
Vielen Dank
-
Instanz neu starten hat nicht gereicht. Erst ein Neustarten des raspi hat dafür gesorgt, daß bei mir jetzt auch Daten geladen werden. `
Seltsam.Ich habe den Adapter gestoppt, dann das Update durchgeführt und den Adapter wieder gestartet … die eingepflegten Daten (API & Co.) waren noch vorhanden und die Daten kamen auch sehr schnell.
Gruß,
Eric
-
Hallo zusammen,
bei mir geht die Version jetzt auch.
Kleines Detail, ich habe keine Ampelanzeige bei der Instanz. Weder bei der alten noch bei der aktuellen Version.
-
Der Adapter ist nur alle 5 Minuten (oder was du eingestellt hast) aktiv und das nur für gaaaanz kurze Zeit.
Da gibt es noch mehr Adapter dieser Art, da ist es genauso.
Gruß
Rainer
-
Hallo Rainer
Der Adapter ist nur alle 5 Minuten (oder was du eingestellt hast) aktiv und das nur für gaaaanz kurze Zeit.
Da gibt es noch mehr Adapter dieser Art, da ist es genauso.
Gruß
Rainer `
STIMMT, und zu erkennen ist es in der Spalte Zeitplanung mit "*/5 * * * *". Das Leben kann so einfach sein.
0 Punkte für den User "DiJaexxl"
T´schuldigung.
-
Hallo Pix,
habe es auch auf de Testsystem installiert .
SUPER Arbeit!
Ein paar Anmerkungen (Ideen):
Adapterkonfigurationen:
- [Sie erhalten den API Schlüssel auf der Seite tankerkoenig.de]
könnte hier nicht bei "tankerkoenig.de" direkt ein anklickbarer Link erscheinen? Und ein Hinweiß zum erhalt des API-Key
Wenn ein Name angepasst wird, wird er nicht in den Objekten geändert.
Beim Anlegen der Objekte wird nur "Tankstelle 1" eingetragen
Frage : Könnte hier nicht der selbst vergebene Name stehen?Dann ist mir im DebugLOG noch aufgefallen das immer 10 Tankstellen abgefragt werden.
Die Strings sind auch unterschiedlich lang.
Muss das so ?
! 2016-06-02 19:20:04.430 - debug: tankerkoenig.0 API Key Länge: 36 Zeichen
! 2016-06-02 19:20:04.435 - debug: tankerkoenig.0 Stations 1: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22
! 2016-06-02 19:20:04.436 - debug: tankerkoenig.0 Stations 2: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22
! 2016-06-02 19:20:04.437 - debug: tankerkoenig.0 Stations 3: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22%2C%22c08cad20-ea69-4a5a-1a0b-d84b7f109c7b%22
! 2016-06-02 19:20:04.438 - debug: tankerkoenig.0 Stations 4: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22%2C%22c08cad20-ea69-4a5a-1a0b-d84b7f109c7b%22%2C%222d4b0fee-65f0-4959-bad8-ba2dd558e841%22
! 2016-06-02 19:20:04.438 - debug: tankerkoenig.0 Stations 5: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22%2C%22c08cad20-ea69-4a5a-1a0b-d84b7f109c7b%22%2C%222d4b0fee-65f0-4959-bad8-ba2dd558e841%22
! 2016-06-02 19:20:04.439 - debug: tankerkoenig.0 Stations 6: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22%2C%22c08cad20-ea69-4a5a-1a0b-d84b7f109c7b%22%2C%222d4b0fee-65f0-4959-bad8-ba2dd558e841%22
! 2016-06-02 19:20:04.440 - debug: tankerkoenig.0 Stations 7: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22%2C%22c08cad20-ea69-4a5a-1a0b-d84b7f109c7b%22%2C%222d4b0fee-65f0-4959-bad8-ba2dd558e841%22
! 2016-06-02 19:20:04.441 - debug: tankerkoenig.0 Stations 8: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22%2C%22c08cad20-ea69-4a5a-1a0b-d84b7f109c7b%22%2C%222d4b0fee-65f0-4959-bad8-ba2dd558e841%22
! 2016-06-02 19:20:04.441 - debug: tankerkoenig.0 Stations 9: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22%2C%22c08cad20-ea69-4a5a-1a0b-d84b7f109c7b%22%2C%222d4b0fee-65f0-4959-bad8-ba2dd558e841%22
! 2016-06-02 19:20:04.442 - debug: tankerkoenig.0 Stations 10:%220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22%2C%22c08cad20-ea69-4a5a-1a0b-d84b7f109c7b%22%2C%222d4b0fee-65f0-4959-bad8-ba2dd558e841%22Super suche - Großes LOB !!
Nun werde ich es mal in VIS einbauen
Gruß
Jürgen
- [Sie erhalten den API Schlüssel auf der Seite tankerkoenig.de]
-
SUPER Arbeit! `
Dem kann und muss ich mich uneingeschränkt anschließen - echt klasse!Wenn ein Name angepasst wird, wird er nicht in den Objekten geändert. `
Meinst Du damit den jeweiligen Datenpunkt "Name" zu jeder Tanke?Eine Änderung der Tankstellennamen hat er bei mir automatisch übernommen
-
Adapter Stop
-
In der Konfig des Adapters die "Displaynamen" angepasst
-
Adapter Start
-
Kurz warten und die Namen waren übernommen.
Gruß,
Eric
-
-
Danke für den Hinweis Eric
Nun habe ich im DEBUGLOG auch mehr gesehen
! 2016-06-02 20:14:12.282 - info: host.RPi2-2 object change system.adapter.tankerkoenig.0
! 2016-06-02 20:14:12.284 - info: host.RPi2-2 stopInstance system.adapter.tankerkoenig.0
! 2016-06-02 20:14:12.285 - warn: host.RPi2-2 stopInstance system.adapter.tankerkoenig.0 not scheduled
! 2016-06-02 20:14:20.529 - info: host.RPi2-2 object change system.adapter.tankerkoenig.0
! 2016-06-02 20:14:20.531 - info: host.RPi2-2 stopInstance system.adapter.tankerkoenig.0
! 2016-06-02 20:14:20.532 - warn: host.RPi2-2 stopInstance system.adapter.tankerkoenig.0 not scheduled
! 2016-06-02 20:14:23.091 - info: host.RPi2-2 instance scheduled system.adapter.tankerkoenig.0 */5 * * * *
! 2016-06-02 20:14:23.144 - info: host.RPi2-2 instance system.adapter.tankerkoenig.0 started with pid 8863
! 2016-06-02 20:14:26.501 - debug: tankerkoenig.0 objectDB connected
! 2016-06-02 20:14:26.555 - debug: tankerkoenig.0 statesDB connected
! 2016-06-02 20:14:26.923 - info: tankerkoenig.0 starting. Version 0.0.4 in /opt/iobroker/node_modules/iobroker.tankerkoenig
! 2016-06-02 20:14:26.975 - debug: tankerkoenig.0 initializing objects
! 2016-06-02 20:14:26.980 - debug: tankerkoenig.0 API Key Länge: 36 Zeichen
! 2016-06-02 20:14:26.999 - debug: tankerkoenig.0 Stations 1: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22
! 2016-06-02 20:14:27.002 - debug: tankerkoenig.0 Stations 2: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22
! 2016-06-02 20:14:27.005 - debug: tankerkoenig.0 Stations 3: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22%2C%22c08cad20-ea69-4a5a-1a0b-d84b7f109c7b%22
! 2016-06-02 20:14:27.014 - debug: tankerkoenig.0 Stations 4: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22%2C%22c08cad20-ea69-4a5a-1a0b-d84b7f109c7b%22%2C%222d4b0fee-65f0-4959-bad8-ba2dd558e841%22
! 2016-06-02 20:14:27.015 - debug: tankerkoenig.0 Stations 5: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22%2C%22c08cad20-ea69-4a5a-1a0b-d84b7f109c7b%22%2C%222d4b0fee-65f0-4959-bad8-ba2dd558e841%22
! 2016-06-02 20:14:27.017 - debug: tankerkoenig.0 Stations 6: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22%2C%22c08cad20-ea69-4a5a-1a0b-d84b7f109c7b%22%2C%222d4b0fee-65f0-4959-bad8-ba2dd558e841%22
! 2016-06-02 20:14:27.018 - debug: tankerkoenig.0 Stations 7: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22%2C%22c08cad20-ea69-4a5a-1a0b-d84b7f109c7b%22%2C%222d4b0fee-65f0-4959-bad8-ba2dd558e841%22
! 2016-06-02 20:14:27.019 - debug: tankerkoenig.0 Stations 8: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22%2C%22c08cad20-ea69-4a5a-1a0b-d84b7f109c7b%22%2C%222d4b0fee-65f0-4959-bad8-ba2dd558e841%22
! 2016-06-02 20:14:27.021 - debug: tankerkoenig.0 Stations 9: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22%2C%22c08cad20-ea69-4a5a-1a0b-d84b7f109c7b%22%2C%222d4b0fee-65f0-4959-bad8-ba2dd558e841%22
! 2016-06-02 20:14:27.022 - debug: tankerkoenig.0 Stations 10: %220aa11ce1-2f76-4ad6-a685-7d045176e1ca%22%2C%2251d4b6b0-a095-1aa0-e100-80009459e03a%22%2C%22c08cad20-ea69-4a5a-1a0b-d84b7f109c7b%22%2C%222d4b0fee-65f0-4959-bad8-ba2dd558e841%22
! 2016-06-02 20:14:27.062 - info: tankerkoenig.0 objects written
! 2016-06-02 20:14:27.460 - debug: tankerkoenig.0 Typ Body: string –- Body Inhalt: {"ok":true,"license":"CC BY 4.0 - http://creativecommons.tankerkoenig.de","data":"MTS-K","prices":{"0aa11ce1-2f76-4ad6-a685-7d045176e1ca":{"status":"open","e5":1.309,"e10":1.289,"diesel":1.069},"51d4b6b0-a095-1aa0-e100-80009459e03a":{"status":"open","e5":1.309,"e10":1.289,"diesel":1.069},"c08cad20-ea69-4a5a-1a0b-d84b7f109c7b":{"status":"closed"},"2d4b0fee-65f0-4959-bad8-ba2dd558e841":{"status":"open","e5":1.349,"e10":1.329,"diesel":1.109}}}
! 2016-06-02 20:14:27.462 - debug: tankerkoenig.0 JSON ok
! 2016-06-02 20:14:27.484 - debug: tankerkoenig.0 Station 0aa11ce1-2f76-4ad6-a685-7d045176e1ca Tank am Ring wird bearbeitet ...
! 2016-06-02 20:14:27.500 - debug: tankerkoenig.0 Station 51d4b6b0-a095-1aa0-e100-80009459e03a JET NORDRING wird bearbeitet ...
! 2016-06-02 20:14:27.509 - debug: tankerkoenig.0 Station c08cad20-ea69-4a5a-1a0b-d84b7f109c7b AVIA Station Otto Hahn wird bearbeitet ...
! 2016-06-02 20:14:27.511 - warn: tankerkoenig.0 Station c08cad20-ea69-4a5a-1a0b-d84b7f109c7b AVIA Station Otto Hahn geschlossen
! 2016-06-02 20:14:27.517 - debug: tankerkoenig.0 Station 2d4b0fee-65f0-4959-bad8-ba2dd558e841 Aral Nordring wird bearbeitet ...
! 2016-06-02 20:14:28.984 - info: host.RPi2-2 instance system.adapter.tankerkoenig.0 terminated with code 0 (OK)Gruß
Jürgen
-
Irgendwie scheint der Adapter aber noch zu haken …
Ich bin heute früh an "meinen" Tankstellen vorbeigekommen und alle waren geöffnet. Mein Node-Red-Flow sagt mir das gleiche.
Der Adapter zeigt aber drei Tankstellen als geschlossen an (die Nachts auch geschlossen haben).
Erst nachdem ich den Adapter neu gestartet habe ("Kreisel-Icon"), hat er die aktuellen Informationen abgeholt bzw. aktualisiert.
Die drei Tanken öffnen alle um 6 Uhr - um 06:40 Uhr wurden sie immer noch als geschlossen angezeigt - genug Durchläufe (alle 5 Minuten), um den Status zu holen.
Gruß,
Eric
-
Ich glaube der Adapter aktualisiert nicht nach Zeit. Wahrscheinlich nur beim Stop/Start des Adapters.
Als Zeitstempel steht in den Daten noch die Zeit von gestern.
Dann ist mir noch aufgefallen, dass beim Anlegen der Tankstellen 0-9 nur die 0 als Channel angelegt wird, siehe Grafik:
P.S.: ich bin schwer begeistert vom Adapter und das Pix so Gas gibt bei der Apapterentwicklung. Wenn er jetzt noch mit Webstorm arbeitet… :twisted:
-
Als Zeitstempel steht in den Daten noch die Zeit von gestern. `
Hab ich auch gesehen.@Pix:
Nochmals Chapeau !!!
Ein Verbesserungsvorschlag noch:
Wie wäre es mit einem Datenpunkt "Zeitstempel" auf oberster Ebene?
Dieser Datenpunkt enthält dann die Uhrzeit (ggf. auch mit Datum) der letzten Aktualisierung. Habe ich mir in meinem Node-Red-Flow auch mit eingebaut und auch in der VIS-View mit anzeigen lassen.
Gruß,
Eric
-
kann ich bestätigen
tankerkoenig JSON {"ok":true,"license":"CC BY 4.0 - http:\/\/creativecommons.tankerkoenig.de","data":"MTS-K","prices":{"0aa11ce1-2f76-4ad6-a685-7d045176e1ca":{"status":"open","e5":1.309,"e10":1.289,"diesel":1.069},"51d4b6b0-a095-1aa0-e100-80009459e03a":{"status":"open","e5":1.309,"e10":1.289,"diesel":1.069},"c08cad20-ea69-4a5a-1a0b-d84b7f109c7b":{"status":"closed"},"2d4b0fee-65f0-4959-bad8-ba2dd558e841":{"status":"open","e5":1.349,"e10":1.329,"diesel":1.109}}} true tankerkoenig.0 2016-06-02 20:55:29.359 2016-06-02 20:14:27.470
Gruß
Jürgen
-
Hallo zusammen,
vielen Dank für das Feedback.
Ich habe bei den schedule - gesteuerten Adaptern immer wieder das Problem, dass sie nicht gestartet werden
warn instance system.adapter.tankerkoenig.0 does not started, because just executed
Ich habe keine Ahnung, wie ich das in den Griff bekommen soll.
Wie wäre es mit einem Datenpunkt "Zeitstempel" auf oberster Ebene?
Dieser Datenpunkt enthält dann die Uhrzeit (ggf. auch mit Datum) der letzten Aktualisierung. `
Das ist eine gute Idee. In welchem Format soll der Stempel angelegt werden? * JJJJ-MM-TT HH:MM:SS-
HH:MM:SS TT-MM-JJJJ
-
XXXXXXXXXXms seit 1970
Wenn er jetzt noch mit Webstorm arbeitet… `
Webstorm habe ich erstmal wieder zu Seite gelegt. Zuviele Baustellen :roll:Dann ist mir noch aufgefallen, dass beim Anlegen der Tankstellen 0-9 nur die 0 als Channel angelegt wird, siehe Grafik:
filename="tankerkoenig.jpg" index="0">~~ `
Ist das nicht korrekt? Schließlich liegen innnerhalb der Channels erst die States mit den Werten. Die Channels haben logischerweise keine Werte.könnte hier nicht bei "tankerkoenig.de" direkt ein anklickbarer Link erscheinen? Und ein Hinweiß zum erhalt des API-Key `
Jau, wird gemacht. In der Readme ist der Link schon vorhanden. Schließlich geht es ja auch zu creativecommons.tankerkoenig.de und nicht zu tankerkoenig.de, das findet sonst keiner.Könnte hier nicht der selbst vergebene Name stehen? `
Ich habe bewusst darauf verzichtet, den selbst vergeben Namen hier in den Objektpfad einzubauen.Nachteil:
-
Lesbarkeit
Vorteil: -
Keine Prüfung auf unzulässige Zeichen im Text notwendig
-
In VIS müssen Widgets beim Wechsel der Tankstelle nicht editiert werden. Man legt sich einmalig ein Widget(-set) für Tankstellenposition 1 an und das funktioniert auch beim Wechsel der Tankstelle. So ist auch die Möglichkeit zum Austausch der Widgets unter den Nutzern einfacher (und anonymer).
Dann ist mir im DebugLOG noch aufgefallen das immer 10 Tankstellen abgefragt werden. `
Ja, das ist sogar der Sinn des neuen Skripts! Tankerkönig hat neben der Möglichkeit mit detail.php (Detaillierte Infos zu einer Station) und list.php (Liste, nach Preis oder Entfernung sortiert) auch die prices.php geschaffen. Damit können bis zu 10 Station auf einmal abgefragt werden. Der gelieferten Daten sind weniger (Preise aller Sorten, Öffnungszustand, aber kein Name). Das sparte enorm Bandbreite. Pro Nutzer wird nun alle 5min eine Abfrage gestartet. Vorher war es alle 5min für jede gewünschte Tankstelle eine Abfrage/Nutzer mit viel mehr Inhaltsdaten.Die Strings sind auch unterschiedlich lang.
Muss das so ? `
Das ist nur eine debug Ausgabe, die ich jetzt mal rausnehmen kann. Die Ausgabe war zur Kontrolle, ob die Funktion zur Reihung der verschiedenen ID kommasepariert funktioniert (kein Komma am Ende, welches ist das letzte Feld, das ausgefüllt wurde? etc…). Man kann in den Einstellungen des Adapters ja auch Felder in der Mitte freilassen. ZB Feld1 Aral, Feld 3 Shell Feld 9 ESSO. Die Felder dazwischen werden als leer erkannt und nicht mit in den String aufgenommen. Das hat bei der Programmierung etwas Ausprobieren verlangt, daher die debug-Ausgabe. Für die Nutzung in VIS ist das einfacher. So kann ich sagen: "Feld 1 ist immer ARAL und Feld 9 immer ESSO"Ich habe die Tage leider keine Zeit für Änderungen. Vielleicht Sa etwas, mal sehen.
Bitte melden, wenn Euch noch was auffällt.
Gruß
Pix
-
-
Hi pix,
ich weiß, man quotet keinen Quote, aber ohne geht es machmal nicht
@pix:Wie wäre es mit einem Datenpunkt "Zeitstempel" auf oberster Ebene?
Dieser Datenpunkt enthält dann die Uhrzeit (ggf. auch mit Datum) der letzten Aktualisierung. `
Das ist eine gute Idee. In welchem Format soll der Stempel angelegt werden? * JJJJ-MM-TT HH:MM:SS-
HH:MM:SS TT-MM-JJJJ
-
XXXXXXXXXXms seit 1970 `
Wenn zwei Datenpunkte machbar sind, dann zwei:
- HH:MM:SS
TT:MM:JJJJ
Dann sind alle Möglichkeiten offen.
@pix:Ich habe die Tage leider keine Zeit für Änderungen. Vielleicht Sa etwas, mal sehen. `
Das geht ja gar nicht :lol:Nee, quatsch - Scherz!!!
Gruß,
Eric
-
-
@pix:Hallo zusammen,
vielen Dank für das Feedback.
Ich habe bei den schedule - gesteuerten Adaptern immer wieder das Problem, dass sie nicht gestartet werden
warn instance system.adapter.tankerkoenig.0 does not started, because just executed
Ich habe keine Ahnung, wie ich das in den Griff bekommen soll. `
Code, der diese Meldung produziert sieht so aus.// After sleep of PC all scheduled runs come together. There is no need to run it X times in one second. Just the last. if (procs[id].lastStart && (new Date()).getTime() - procs[id].lastStart < 2000) { logger.warn('host.' + hostname + ' instance ' + instance._id + ' does not started, because just executed'); return; } // Remember the last run procs[id].lastStart = (new Date()).getTime();
Wie oft startest du Adapter (cron)?
-
Alle 5 Minuten
Gruß
Rainer
-
Dann ist mir noch aufgefallen, dass beim Anlegen der Tankstellen 0-9 nur die 0 als Channel angelegt wird, siehe Grafik:
filename="tankerkoenig.jpg" index="0">~~ `
Ist das nicht korrekt? Schließlich liegen innnerhalb der Channels erst die States mit den Werten. Die Channels haben logischerweise keine Werte.Es ist nicht falsch.
Es ist aber auch nicht falsch Channels anzulegen.
Dem CHANNEL kann ich Namen geben, so wie bei der Tankstelle 0 in meinem Screenshot.
Nur die 0 als CHANNEL anzulegen und 1-9 dann nicht, ist zu mindestens nicht einheitlich
Gesendet von iPad mit Tapatalk
-
Hallo pix,
ich habe den schedule von /5*** geändert in 3,13,23,33,43,53****
Seitdem aktualisiert der Adapter die Werte automatisch.
Gruß
Rainer