NEWS
IoBroker.tankerkoenig | Spritpreis-Adapter
-
Hallo,
hier mal ein Skript, das über einen boolean-Schalter aus VIS einen Adapter aus/einschalten kann.
Es wird ein Objekt angelegt, welches in VIS mit einem Schalter verknpüft werden muss (javascript.X.Sprit.Adapter.Schalter). Beim Schalten wird der Adapter (es gehen natürlich auch andere Adapter als der tankerkoenig) aktiviert/deaktiviert. Ich habe festgelegt, dass nur Schaltung aus VIS heraus akzeptiert werden. Will man aus einem anderen Skript oder z.B. dem Szene-Adapter schalten, dann bitte Zeile 32 (From) anpassen.
Achtung: Der Schalter in VIS schaltet nur ein Objekt, welches im Skript überwacht wird und dann den Adapter schaltet. Das heißt, dass Änderungen am Adapterstatus selbst nicht zwangsläufig korrekt in VIS dargestellt werden. Oder anders: Wenn du z.B. den Adapter in Admin abschaltest oder er dir abschmiert, wird das in VIS nicht angezeigt.
Skript (bitte die Konstanten im oberen Bereich anpassen):
/* Spritpreis tankerkoenig adapter neu starten erzeugt Objekt, das in VIS geschaltet werden kann Schaltung triggert Neustart eines Adapters 28.03.2018 erstellt von pix */ const logging = true; // (true;false) Logausgabe zentral schalten, da 5minütlich ein Mehrzeiler geloggt wird. const instanz = "javascript." + instance; const fC = false; // force Create const idSchalter = instanz + ".Sprit.Adapter.Schalter"; const adapter = "tankerkoenig.0"; // Name und Instanz des Adapters // Ab hier nix mehr ändern if (logging) log("Skript " + name + " in der Instanz " + instance + " gestartet"); var idAdapter = "system.adapter." + adapter; createState(idSchalter, false, fC, { name: adapter + " Adapter neu starten", type: "boolean", desc: "Schaltet den <" + adapter + "> Adapter per Skript zB aus VIS", role: "switch" }); // Neustart triggern on({ id: idSchalter, change: "ne", from: "system.adapter.web.0" // Schaltung nur aus VIS möglich }, function (dpobj) { var obj = getObject(idAdapter); if (dpobj.state.val) { obj.common.enabled = true; // Adapter einschalten } else if (!dpobj.state.val) { obj.common.enabled = false; // Adapter ausschalten } setObject(idAdapter, obj); if (logging) log("Adapter <" + adapter + "> wurde " + ((obj.common.enabled) ? "ein" : "aus") + "geschaltet"); });
Widget:
[{"tpl":"tplMetroTileToggle","data":{"visibility-cond":"==","visibility-val":1,"hover":false,"transform":"true","bg_class_true":"ribbed-emerald","bg_class_false":"ribbed-crimson","icon_class_true":"","icon_class_false":"","icon_badge_true":"","icon_badge_false":"","badge_bg_class_true":"","badge_bg_class_false":"","brand_bg_class_true":"","brand_bg_class_false":"","select_on_true":true,"label_true":"Adapter aktiviert tankerkoenig.0 eingeschaltet","label_false":"Adapter deaktiviert tankerkoenig.0 abgeschaltet","toggle_oid":"javascript.0.Optin_Nachtruhe_Sayit","name":"Adapter schalten","oid":"javascript.2.Sprit.Adapter.Schalter","badge_top":"0","badge_left":"0","gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"comment":"wird in Skript überwacht"},"style":{"left":"875px","top":"416px","width":"137px","height":"137px","font-family":"","z-index":"26","cursor":"pointer"},"widgetSet":"metro"}]
Gruß
Pix
-
@ Pix
Wenn es den Danke Button noch gäbe, würde ich stündlich für Dich draufdrücken.
Bist der Wahnsinn.
Vielen Dank.
-
ich habe seit gestern eine Fehlermeldung…
tankerkoenig.0 2018-04-03 09:35:00.906 error Spritpreise einlesen (gezielte Stationen via ID) - Parse Fehler: TypeError: Cannot read property 'e5' of undefined tankerkoenig.0 2018-04-03 09:35:00.687 info starting. Version 1.0.4 in /opt/iobroker/node_modules/iobroker.tankerkoenig, node: v6.13.1 tankerkoenig.0 2018-04-03 09:30:01.431 error Spritpreise einlesen (gezielte Stationen via ID) - Parse Fehler: TypeError: Cannot read property 'e5' of undefined tankerkoenig.0 2018-04-03 09:30:01.161 info starting. Version 1.0.4 in /opt/iobroker/node_modules/iobroker.tankerkoenig, node: v6.13.1 tankerkoenig.0 2018-04-03 09:25:00.878 error Spritpreise einlesen (gezielte Stationen via ID) - Parse Fehler: TypeError: Cannot read property 'e5' of undefined tankerkoenig.0 2018-04-03 09:25:00.667 info starting. Version 1.0.4 in /opt/iobroker/node_modules/iobroker.tankerkoenig, node: v6.13.1
hat sich etwas am API geändert?
-
Hi,
hat sich etwas am API geändert? `
oder hat sich ggf. die Tankstellen-ID geändert?Gruß,
Eric
-
Habe ich auch bei einer Tankstelle gehabt - die ist jetzt dauerhaft geschlossen.
Existiert deine noch?
ist schließlich der 1.4. gewesen und damit Quartalswechsel….
Gruß
Rainer
-
Es war tatsächlich noch eine Tabkstelle in dr nähe meiner alten Arbeisstätte in der Abfrage bei der sich anscheinend die ID geändert hat…
Danke für die Tipps...
-
Hallo,
auf Anregung von user xbow42 habe ich dem Tankstellen-Adapter ein Funktionsupdate verpasst. Neben dem (selbst vergebenen) Namen der Tankstelle wird nun auch ein Datenpunkt mit der (tankerkoenig-)StationID gespeichert.
In naher Zukunft werde ich den Adapter (zumindest ja die Einstellungen in Admin) noch auf das Material Design umbauen. Damit ist dann auch das lokale Speichern und Laden der Adapter-Einstellungen aus Admin heraus möglich. Das stand schon lange auf der Roadmap, da ja die 36stelligen Schlüssel doch sehr unhandlich sind, wenn man den Adapter neu installiert.
Die neue Version 1.2.0 zum Testen liegt auf meinem github und kann mit der "Katze/beliebig" im Adminbereich "Adapter" installiert werden.
https://github.com/Pix---/ioBroker.tankerkoenig
Die alten Datenpunkte und Einstellungen werden dabei nicht gelöscht. Ggf sind erstmal die History Daten weg, muss aber nicht.
English users can now find a translated https://github.com/Pix–-/ioBroker.tankerkoenig/blob/master/docs/en/doc_tankerkoenig_de.md.
Gruß
Pix
-
Fehler im Code beseitigt. Bitte 1.2.1 testen.
Gruß
Pix
-
Hat mal jemand die Preisentwicklung von Diesel, E10 und E5 von verschiedenen Tankstellen beobachtet?
Sind die günstigsten Preise von Diesel, E10 und E5 immer alle 3 an einer Tankstelle oder kann das auch sein, dass z.B. Diesel an Tankstelle A am günstigsten, E10 an Tankstelle B und E5 an Tankstelle C?
Hintergrund:
Ich erstelle gerade meine Spritpreis-Site neu und möchte jeweils den besten Preis von Diesel, E10 u. E5 markieren.
Jetzt stellt sich mir die Frage, ob ich nicht einfach nur die günstigste Tankstelle markieren muss, wenn die drei günstigsten Preise immer an nur einer Tankstelle bereit gestellt werden?!
-
Hat mal jemand die Preisentwicklung von Diesel, E10 und E5 von verschiedenen Tankstellen beobachtet?
Sind die günstigsten Preise von Diesel, E10 und E5 immer alle 3 an einer Tankstelle oder kann das auch sein, dass z.B. Diesel an Tankstelle A am günstigsten, E10 an Tankstelle B und E5 an Tankstelle C?
Hintergrund:
Ich erstelle gerade meine Spritpreis-Site neu und möchte jeweils den besten Preis von Diesel, E10 u. E5 markieren.
Jetzt stellt sich mir die Frage, ob ich nicht einfach nur die günstigste Tankstelle markieren muss, wenn die drei günstigsten Preise immer an nur einer Tankstelle bereit gestellt werden?! `
Nein, ist individuell, must ggf. 3 Tankstellen für den jeweils günstigsten Preis marlieren
-
Ich sehe es gerade
!
-
Ich finde das Tool genial ….
aber ....letzte Aktualisierung um 15:31 Uhr.....es ist jetzt halb sieben ....
kann ich das irgendwo ändern, oder verbessern ?
der Preis stimmt jetzt jedenfalls nicht mehr.
-
:?: Du sprichst in Rätseln :?:
Gruß
Rainer
-
Ich finde das Tool genial ….
aber ....letzte Aktualisierung um 15:31 Uhr.....es ist jetzt halb sieben ....
kann ich das irgendwo ändern, oder verbessern ?
der Preis stimmt jetzt jedenfalls nicht mehr. `
Hast du den aktuellen Preis der Tankstelle vor Ort mit dem Preis auf der Tankerkönig Webseite verglichen? Gibt es vielleicht auch da Unterschiede?Du kannst immer den Adapter neustarten.
Ein Update des Adapters steht bevor. Er ist noch nicht auf Admin3 und der Compact Mode muss auch noch rein. Hab nur gerade gar keine Zeit dafür. [emoji37]
Pix
-
ich habe aufgegeben zu glauben das TK die daten zeitnah sendet ….. das "geschlossen" / "offen" ( oder das preisupdate ) kommt auch schon mal stark verzögert.... mag ja auch mit der wichtigkeit oder lage der tanke zu tun haben....
-
Kann mir jemand helfen??
Die Preise werden nicht mehr aktualisiert, habe die Version 1.3.1. installiert. Seit dem läuft nix mehr
1532_bildschirmfoto_2019-02-07_um_22.32.49.png -
Das Log sagt leider nicht viel…
Bitte mal die Instanz auf "Debug" Stellen und dann das Log hier als TXT in Code Tags Posten.
Ist vielleicht deine ID Gesperrt worden?
-
Hallo,
da hänge ich mit gleich mit dran. Ich habe das gleich Problem.
Nach Update von 1.0.4 auf 1.3.1 zeigt das Log nur den Exit Code 1 und erfolgt keine Aktualisierung.
host.iobroker 2019-02-08 16:40:20.688 error instance system.adapter.tankerkoenig.0 terminated with code 1 () host.iobroker 2019-02-08 16:40:20.448 info instance system.adapter.tankerkoenig.0 started with pid 24462 host.iobroker 2019-02-08 16:40:20.427 info instance scheduled system.adapter.tankerkoenig.0 37 */11 * * * * host.iobroker 2019-02-08 16:40:17.920 info stopInstance canceled schedule system.adapter.tankerkoenig.0 host.iobroker 2019-02-08 16:40:17.919 info stopInstance system.adapter.tankerkoenig.0 host.iobroker 2019-02-08 16:40:17.918 info object change system.adapter.tankerkoenig.0
Interessanterweise ist das oben die Ausgabe mit debug-Level. Es macht kein Unterschied ob info oder debug. Die Log-Ausgabe ändert sich nicht.
Die Instanz habe ich auch mal komplett gelöscht und neu angelegt - gleicher Fehler
Wenn ich den Adapter komplett lösche und in der Version 1.0.4 installiere, funktioniert wieder alles (außer, dass er bei mir nur Vormittags aktualiesert (objects written). Am nächsten Tag funktioniert es wieder, halt nur vormittags. Ich hatte gehofft mit der 1.3.1 verschwindet dieses Problem).
Gruß
Marc
-
Es macht kein Unterschied ob info oder debug. `
Wo stellst du dasd denn ein?nur den Filter im Log - oder hast du wirklich den Loglevel der Instanz geändert?
Gruß
Rainer
-
Bei Instanzen die Log-Stufe
Gruß
Marc