Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. IoBroker.tankerkoenig | Spritpreis-Adapter

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    IoBroker.tankerkoenig | Spritpreis-Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      pix last edited by

      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. 😢

      @eric2905:

      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

      @ruhr70:

      Wenn er jetzt noch mit Webstorm arbeitet… `
      Webstorm habe ich erstmal wieder zu Seite gelegt. Zuviele Baustellen :roll:

      @ruhr70:

      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.

      @derAuge:

      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.

      @derAuge:

      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).

      @derAuge:

      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.

      @derAuge:

      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

      1 Reply Last reply Reply Quote 0
      • eric2905
        eric2905 last edited by

        Hi pix,

        ich weiß, man quotet keinen Quote, aber ohne geht es machmal nicht 😉

        @pix:

        @eric2905:

        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

        1 Reply Last reply Reply Quote 0
        • Bluefox
          Bluefox last edited by

          @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)?

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators last edited by

            Alle 5 Minuten

            Gruß

            Rainer

            1 Reply Last reply Reply Quote 0
            • ruhr70
              ruhr70 last edited by

              @ruhr70:

              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

              1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators last edited by

                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

                1 Reply Last reply Reply Quote 0
                • T
                  tesso last edited by

                  Das müsste sich auch kürzer als "3/10 * * * *" schreiben lassen.

                  Ich teste das gerade mal.

                  1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators last edited by

                    @tesso:

                    Das müsste sich auch kürzer als "3/10 * * * *" schreiben lassen. `
                    ich weiß, aber ich wollte genau diese Schreibweise vermeiden 😉

                    Wenn es bei dir dann läuft, liegt es entweder an der runden "5 Minuten ab der ganzen Stunde", an denen alle aktualisieren, oder an den 5 Minuten Abstand.

                    Gruß

                    Rainer

                    1 Reply Last reply Reply Quote 0
                    • P
                      pix last edited by

                      In einem anderen Thread wurde ein Zufallsgenerator vorgeschlagen. Das schau ich mir nochmal an.

                      Gesendet mit Tapatalk

                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators last edited by

                        Was für diesen Punkt sprechen könnte, wäre, dass es bis zur Version 0.0.2 noch funktionierte.

                        BTW auf Github ist die 0.0.4 noch nicht in der Versionshistorie drn.

                        Gruß

                        Rainer

                        1 Reply Last reply Reply Quote 0
                        • P
                          pix last edited by

                          Hallo,

                          ich habe heute etwas Zeit gefunden, den Adapter weiterzuentwickeln. Es gibt aber noch keine neue Version.

                          Die fehlenden Channels habe ich eingefügt. Der Fehler kam zustande, weil ich nur für die erste Tankstelle explizit eine Channel "station.0" angelegt hatte und für die weiteren Tankstellen nicht. Nachdem aber andere Channels und States zB mit dem Pfad "station.1.e5" angelegt wurden, erscheint nun "station.1" nicht als channel. Lange Rede … es muss vor dem Update (das es ja noch nicht gibt) vor dem Update die Instanz gelöscht werden, damit die Channels korrekt angelegt werden können. 😐

                          Da komme ich gleich zum nächsten Datenpunkt. Es gab den Wunsch, einen Datenpunkt mir der Aktualisierungszeit zu erstellen. Ich habe mich jetzt wieder dagegen entschieden. Die Aktualisierungszeit wird von Tankerkönig in diesem Feed nicht geliefert. Die Zeit würde nur wiedergeben, wann der Adapter bei tankerkoenig.de was abeholt hat. Er gibt keinen Hinweis auf die tatsächliche Zeit der Aktualisierung der Daten bei tankerkoenig.de. Wer dennoch für VIS einen solche Anzeige möchte, kann das Timestmp Widget auf den Datenpunkt JSON (oder zB jeden "Preis-Datenpunkt") nutzen.

                          Beispiel:

                          [{"tpl":"tplValueTimestamp","data":{"oid":"tankerkoenig.0.json","visibility-cond":"==","visibility-val":1,"gestures-offsetX":0,"gestures-offsetY":0,"format_date":"DD.MM.YYYY hh:mm:ss","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,"html_prepend":"Adapter-Aktualisierung: 
                          ","html_append":" Uhr","name":"Adapter Timestamp"},"style":{"left":"35px","top":"1209px","z-index":"22","color":"rgba(250,250,250,1)","font-size":"12px","width":"239px","height":"50px"},"widgetSet":"basic"}]
                          

                          Die immernoch schleppende Aktualisierung habe ich noch nicht korrigieren können. Die Zufallszeit ist noch nicht umgesetzt.

                          Bis bald

                          Pix

                          1 Reply Last reply Reply Quote 0
                          • P
                            pix last edited by

                            Jetzt gibt es doch ein Update über Github :lol: 0.0.5 (bitte alten Adapter vorher löschen).

                            1 Reply Last reply Reply Quote 0
                            • P
                              pix last edited by

                              Noch ein kleines Update auf 0.0.6

                              Die Datenpunkte short sind nun ein String, damit Preise wie 1.20 oder 1.10 mit nachfolgender Null korrekt dargestellt werden (und nicht als 1.2 oder 1.1). History oder SQL-History sollte auf die Datenpunkte feed eingestellt sein (für Diagramme).

                              Es ist leider wieder das Löschen und Neuanlegen der Instanz nötig, da die Datenpunkte sonst nicht korrekt geschrieben werden.

                              Gruß

                              Pix

                              1 Reply Last reply Reply Quote 0
                              • P
                                pix last edited by

                                Nächstes Update (etwas größer): 0.0.7 8-)

                                Jetzt werden zusätzlich unter den eingestellten Tankstellen jeweils die bis zu drei billigsten Tankstellen für E5, E10 und Diesel gefunden und ausgegeben. Also die billigste Dieseltankstelle, die billigste E10-Station und die billigste E5-Tanke. Das sind selten drei verschiedene Tankstellen. Dafür gibt es jetzt den Channel "cheapest" mit den Unterkanälen E5, E10 und Diesel.

                                War etwas aufwendiger, da die Einträge in den Settings nicht zwangsläufig bei Feld 1 starten, es können ja Zeilen leer gelassen werden.

                                Gruß

                                Pix

                                1 Reply Last reply Reply Quote 0
                                • P
                                  pix last edited by

                                  Kleine Update 0.0.8

                                  Adapter Stop korrigiert. Jetzt sollte der Adapter nicht nur anzeigen, dass er Daten schriebt, sondern es auch tun :lol: :lol:

                                  Langsam ist er fertig. Fällt noch jemandem was ein? Sonst kommt Version 0.1 und ich kann ihn auf npm stellen.

                                  Gruß

                                  Pix

                                  1 Reply Last reply Reply Quote 0
                                  • C
                                    cybertron last edited by

                                    Hallo Pix,

                                    Ich habe heute eine Mail von Tankerkönig bekommen

                                    Hallo,
                                    
                                    mit Deinem API-Key werden regelmäßig per detail.php Updates zu ca. 10 Tankstellen geholt.
                                    Da dieses Skript relativ aufwändig ist sollte der Einsatz vermieden werden, wenn nur Preise geholt werden.
                                    Im Log sehe ich, dass bereits auch das dafür vorgesehene prices.phh-Skript verwendet wird. Möglicherweise ist der Aufruf von detail.php ja ein Bug auf deiner Seite.
                                    
                                    

                                    Kannst du damit eventuell was anfangen?

                                    Gruß

                                    Silvio

                                    1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators last edited by

                                      Hallo Silvio,

                                      hast du außer dem Adapter auch noch das Takerkönig-Skript oder den node-red Flow laufen?

                                      Dann deaktiviere diese oder andere "alte" Tankerkönig-Abfragen bitte und nutze nur noch den Adapter.

                                      Gruß

                                      Rainer

                                      1 Reply Last reply Reply Quote 0
                                      • P
                                        pix last edited by

                                        Hallo,

                                        wenn der Adapter nun soweit bei allen Testern funktioniert, würde ich ihn auf npm packen, damit er offiziell über admin geladen werden und von Bluefox in iobroker aufgenommen werden kann. Ich denke, er ist dann soweit, die alten Skripte zu ersetzen (werden in den Threads zu den Skripten einen deutlichen Hinweis posten).

                                        Mit der Ausgabe der billigsten Tankstelle pro Spritsorte aus den 10 selbst festgelegten kann man nun auch die im alten Skript sortierte Ausgabe nach Preis durch den Adapter ersetzen. Damit sollte Tankerkönig dann wieder weniger traffic haben.

                                        Einmal brauche ich noch Hilfe: Wie kann man "relativ leicht" die ID der benötigten Tankstellen auf tankerkoenig.de rausfinden? Kann mir jemand eine kurze Beschreibung für die Doku machen?

                                        Gruß

                                        Pix

                                        1 Reply Last reply Reply Quote 0
                                        • derAuge
                                          derAuge last edited by

                                          es gibt doch einen Aufruf. Da müssen nur die passenden "lat" und "lng" eingetragen werden

                                          "https://creativecommons.tankerkoenig.de … sort=price"

                                          Gruß

                                          Jürgen

                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            DiJaexxl last edited by

                                            Hallo Pix,

                                            bei mir läuft der Tankerkönig seit 2 Wochen sehr gut!

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            529
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            42
                                            235
                                            33826
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo