Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Tankerkönig und Telegram

    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

    Tankerkönig und Telegram

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

      Jau, das sollte es sein. Im Beispiel steht /Benzin, da suche er das Wort „enzin“. 😄

      1 Reply Last reply Reply Quote 0
      • A
        Ace-k last edited by

        vielen dank.

        das brachte jetzt allerdings nur den erfolg das wieder die Daten kommen.

        leider sagt er immernoch "Diesel" nicht verstanden :roll:

        1 Reply Last reply Reply Quote 0
        • M
          michael_klatt last edited by

          Hy. Bin newbie und find es total toll. Wo trage ich denn genau sowas ein? Das ist für mich als newbie nicht nach zu vollziehen.

          Vielen Dank und Sorry wegen der Frage.

          1 Reply Last reply Reply Quote 0
          • M
            michael_klatt last edited by

            Kann keiner helfen?

            1 Reply Last reply Reply Quote 0
            • F
              Fitti last edited by

              @michael_klatt:

              Kann keiner helfen? `
              Doch bestimmt, aber es sind sehr wenig Infos, die Du uns gibst.

              Was möchtest Du denn genau erreichen?

              Was hast Du schon probiert?

              An welcher Stelle genau kommst Du nicht klar?

              Du weißt nicht, wie man ein Skript irgendwo einträgt und zum Laufen bekommt?

              Läuft denn Tankerkönig schon bei Dir, oder ist der gesamte Ansatz unbekannt?

              So long,

              Fitti

              1 Reply Last reply Reply Quote 0
              • M
                michael_klatt last edited by

                Hy,

                Tankerkönig ist installiert.

                Api eingetragen und die Tankstellen auch.

                Möchte nun gerne wissen, wie ich mit Telegram und dem Java Eintrag zurecht komme. Liebe Grüsse und vielen dank

                Auch gerne per Mail erreichbar.

                1 Reply Last reply Reply Quote 0
                • S
                  Schweiz last edited by

                  Hi Forum,

                  Tankerkönig ist in der Instanz tankerkoenig.0 vorhanden!

                  Wenn ich Tanken oder Benzin sende, kann ich sehen unter telegram.0.communicate.request das der Request ankommt

                  Leider erhalte ich jedoch keine Antwort obwohl Cheapest

                  var idPreis1 = "tankerkoenig.0.stations.cheapest.e5.short";
                  var idName1 = "tankerkoenig.0.stations.cheapest.e5.name";
                  var idPreis2 = "tankerkoenig.0.stations.cheapest.e10.short";
                  var idName2 = "tankerkoenig.0.stations.cheapest.e10.name";
                  var idPreis3 = "tankerkoenig.0.stations.cheapest.diesel.short";
                  var idName3 = "tankerkoenig.0.stations.cheapest.diesel.name";
                  

                  gefüllt ist… anbei mal das komplette Skript welches ich verwende...

                  ! var idPreis1 = "tankerkoenig.0.stations.cheapest.e5.short";
                  ! var idName1 = "tankerkoenig.0.stations.cheapest.e5.name";
                  ! var idPreis2 = "tankerkoenig.0.stations.cheapest.e10.short";
                  ! var idName2 = "tankerkoenig.0.stations.cheapest.e10.name";
                  ! var idPreis3 = "tankerkoenig.0.stations.cheapest.diesel.short";
                  ! var idName3 = "tankerkoenig.0.stations.cheapest.diesel.name";
                  ! on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
                  ! var stateval = getState('telegram.0.communicate.request').val; // Statevalue in Variable schreiben
                  ! var benutzer = stateval.substring(1,stateval.indexOf("]")); // Benutzer aus Statevalue extrahieren
                  ! var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length); // Befehl/Text aus Statevalue extrahieren
                  ! if (befehl.search(/(?=.*(\Benzin\b|\bTanken\b)).+/ig) != -1) {
                  ! var preis1 = "E5 ist am günstigsten bei " + getState(idName1).val + " für " + getState(idPreis1).val.replace('
                  ',"\n")+"9\n\n";
                  ! var preis2 = "E10 ist am günstigsten bei " + getState(idName2).val + " für " + getState(idPreis2).val.replace(/
                  /g , "\n")+"9\n\n";
                  ! var preis3 = "Diesel ist am günstigsten bei " + getState(idName3).val + " für " + getState(idPreis3).val.replace(/
                  /g , "\n")+"9\n\n";
                  ! var preis=preis1+preis2+preis3;
                  ! sendTo('telegram', {
                  ! user: benutzer,
                  ! text: preis
                  ! });
                  ! }
                  ! });

                  Grüsse Schweiz

                  1 Reply Last reply Reply Quote 0
                  • S
                    Schweiz last edited by

                    Danke Forum für eure mithilfe zur Lösung meines Problems!

                    Eine Neuinstallation des Telegram Adapter brachte mich dann schlussendlich zum erfolg!!!

                    Grüsse Schweiz

                    1 Reply Last reply Reply Quote 0
                    • W
                      W0RSCHD last edited by W0RSCHD

                      Ich hab das jetzt mal angepasst auf meine Bedürfnisse, ich muss dazu sagen ich habe keine Ahnung von Javascript.
                      Dementsprechend läuft das irgendwie auch nicht, wäre klasse wenn jemand mal drüber schauen könnte und mir sagen was ich falsch gemacht habe?

                      [EDIT] Fehler gefunden und auch hier korrigiert. Folgendes Skript läuft so wie gepostet und spuckt dann von 4 verschiedenen Tankstellen die Preise aus per Telegram 🙂

                      var idPreis1 = "tankerkoenig.0.stations.0.diesel.short";
                      var idName1 = "tankerkoenig.0.stations.0.name";
                      var idPreis2 = "tankerkoenig.0.stations.1.diesel.short";
                      var idName2 = "tankerkoenig.0.stations.1.name";
                      var idPreis3 = "tankerkoenig.0.stations.2.diesel.short";
                      var idName3 = "tankerkoenig.0.stations.2.name";
                      var idPreis4 = "tankerkoenig.0.stations.3.diesel.short";
                      var idName4 = "tankerkoenig.0.stations.3.name";
                      
                      on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
                          var stateval = getState('telegram.0.communicate.request').val;              // Statevalue in Variable schreiben
                              var benutzer = stateval.substring(1,stateval.indexOf("]"));                 // Benutzer aus Statevalue extrahieren
                                  var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length);   // Befehl/Text aus Statevalue extrahieren
                      
                                       if (befehl.search(/(?=.*(b\Benzin\b|\bSpritpreise\b)).+/ig) != -1) {
                      var preis1 = "Der aktuelle Preis für Diesel bei " + getState(idName1).val + " beträgt: " + getState(idPreis1).val.replace(/ /g , "\n")+"9€\n\n";
                      var preis2 = "Der aktuelle Preis für Diesel bei " + getState(idName2).val + " beträgt: " + getState(idPreis2).val.replace(/ /g , "\n")+"9€\n\n";
                      var preis3 = "Der aktuelle Preis für Diesel bei " + getState(idName3).val + " beträgt: " + getState(idPreis3).val.replace(/ /g , "\n")+"9€\n\n";
                      var preis4 = "Der aktuelle Preis für Diesel bei " + getState(idName4).val + " beträgt: " + getState(idPreis4).val.replace(/ /g , "\n")+"9€\n\n";
                      var preis=preis1+preis2+preis3+preis4; 
                      sendTo('telegram', {
                      user: benutzer,
                      text: preis
                      });
                      }        
                      });        
                      
                      D 1 Reply Last reply Reply Quote 0
                      • D
                        dulles @W0RSCHD last edited by dulles

                        @W0RSCHD
                        Hey,

                        muss noch einmal nachfragen, was zu machen ist. Ich bin mir nicht sicher, ob ich alles richtig gemacht habe.
                        Im Text2Command habe ich die Regel "Fragen über irgendwas" ausgewählt und das Script oben ausgewählt.
                        Wenn ich jetzt Telegram abfrage, bekomme ich nichts. Es wird auch keine Fehler angezeigt.

                        Was mache ich nun falsch

                        dulles

                        1 Reply Last reply Reply Quote 0
                        • D
                          darkiop Most Active last edited by

                          Habe es bei mir ebenfalls eingebunden und um die günstigste Tankstelle erweitert (läuft insgesamt zweimal, je für Benzin und Diesel):

                          // https://forum.iobroker.net/topic/10974/tankerkönig-und-telegram/23
                          
                          var idPreis0 = "tankerkoenig.0.stations.0.diesel.short";
                          var idName0 = "tankerkoenig.0.stations.0.name";
                          var idPreis1 = "tankerkoenig.0.stations.1.diesel.short";
                          var idName1 = "tankerkoenig.0.stations.1.name";
                          var idPreis2 = "tankerkoenig.0.stations.2.diesel.short";
                          var idName2 = "tankerkoenig.0.stations.2.name";
                          var idPreis3 = "tankerkoenig.0.stations.3.diesel.short";
                          var idName3 = "tankerkoenig.0.stations.3.name";
                          var idPreis4 = "tankerkoenig.0.stations.4.diesel.short";
                          var idName4 = "tankerkoenig.0.stations.4.name";
                          var idPreisCheapest = "tankerkoenig.0.stations.cheapest.diesel.short";
                          var idNameCheapest = "tankerkoenig.0.stations.cheapest.diesel.name";
                          
                          on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
                          
                            var stateval = getState('telegram.0.communicate.request').val;              // Statevalue in Variable schreiben
                            var benutzer = stateval.substring(1,stateval.indexOf("]"));                 // Benutzer aus Statevalue extrahieren
                            var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length);   // Befehl/Text aus Statevalue extrahieren
                          
                            if (befehl.search(/(?=.*(\Diesel\b)).+/ig) != -1) {
                              var station0 = "Diesel in " + getState(idName0).val + " kostet: " + getState(idPreis0).val.replace(/ /g , "\n")+"9€\n\n";
                              var station1 = "Diesel bei der " + getState(idName1).val + " kostet: " + getState(idPreis1).val.replace(/ /g , "\n")+"9€\n\n";
                              var station2 = "Diesel bei der " + getState(idName2).val + " kostet: " + getState(idPreis2).val.replace(/ /g , "\n")+"9€\n\n";
                              var station3 = "Diesel bei der " + getState(idName3).val + " kostet: " + getState(idPreis3).val.replace(/ /g , "\n")+"9€\n\n";
                              var station4 = "Diesel in " + getState(idName4).val + " kostet: " + getState(idPreis4).val.replace(/ /g , "\n")+"9€\n\n";
                              
                              var cheapest = "Die günstigste ist "+ getState(idNameCheapest).val + " für " + getState(idPreis4).val.replace(/ /g , "\n")+"9€\n\n";
                              
                              var stationen=station0+station1+station2+station3+station4+cheapest;
                            
                              sendTo('telegram', {
                                user: benutzer,
                                text: stationen
                              });
                            } // endif
                          });
                          
                          1 Reply Last reply Reply Quote 0
                          • 4
                            4-Real last edited by 4-Real

                            Hallo Jungs, will auch gerne Ab und An mal den preis von den Tanken abfragen. Will gerne das der Preis bei mir in Dicker bzw Fetter Schrift erscheint, aber auch nur der Preis. Mein Script sieht momentan so aus:

                            var idPreis1 = "tankerkoenig.0.stations.0.e5.short";
                            var idName1 = "tankerkoenig.0.stations.0.name";
                            var idPreis2 = "tankerkoenig.0.stations.1.e5.short";
                            var idName2 = "tankerkoenig.0.stations.1.name";
                            var idPreis3 = "tankerkoenig.0.stations.2.e5.short";
                            var idName3 = "tankerkoenig.0.stations.2.name";
                            
                            on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
                                var stateval = getState('telegram.0.communicate.request').val;              // Statevalue in Variable schreiben
                                var benutzer = stateval.substring(1,stateval.indexOf("]"));                 // Benutzer aus Statevalue extrahieren
                                var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length);   // Befehl/Text aus Statevalue extrahieren
                            
                                 if (befehl.search(/(?=.*(\Benzinpreise\b|\bTanken\b)).+/ig) != -1) {
                                     
                                    var preis1 = "Der aktuelle Preis für SUPER bei " + getState(idName1).val + " beträgt:\n\n" + getState(idPreis1).val.replace(/<br>/g,"\n")+"€\n\n";
                                    var preis2 = "Der aktuelle Preis für SUPER bei " + getState(idName2).val + " beträgt:\n\n" + getState(idPreis2).val.replace(/<br>/g,"\n")+"€\n\n";
                                    var preis3 = "Der aktuelle Preis für SUPER bei " + getState(idName3).val + " beträgt:\n\n" + getState(idPreis3).val.replace(/<br>/g,"\n")+"€";
                                    var preis=preis1+preis2+preis3; 
                                 
                                    
                                    sendTo('telegram', {
                                        user: benutzer,
                                        text: preis
                                        });
                                 }        
                            });      
                            

                            Wie kann ich jetzt ändern, das der Preis im Telegram als Dick / Fett angezeigt wird?
                            Bin leider in Java überhaupt nicht Fit und daher frage ich mal hier nach..

                            Danke schonmals!

                            I 1 Reply Last reply Reply Quote 0
                            • I
                              ignis-draco @4-Real last edited by ignis-draco

                              @4-Real said in Tankerkönig und Telegram:

                              Wie kann ich jetzt ändern, das der Preis im Telegram als Dick / Fett angezeigt wird?

                              Das geht entweder mittel HTML :

                              output += "<b>Aktuelle Spritpreise:</b>\n\n"
                              

                              oder mit der Markdown Syntax

                              **this is in bold**  and __so is this__
                              

                              wichtig ist das du beim sendTo den "parse_mode" passend einstellst. API.

                              Übrigens du kannst mittels Schleifen und Arrays das ganze Skript deutlich kürzer fassen. Hier mal als Beispiel mein Script.
                              Dort wird nicht nur einfach jeder Eintrag genommen der im tankerkoenig Adapter steht sonder auch noch nach dem Preis sortiert.

                              on({ id: 'telegram.0.communicate.request', change: 'any' }, function (obj) {
                                  var stateval = getState('telegram.0.communicate.request').val;
                                  if (stateval.match(/tanken/i)) {
                                      var user_to_send = stateval.substring(1, stateval.indexOf("]"));
                                      var command = stateval.substring(stateval.indexOf("]") + 1, stateval.length).toLowerCase();
                                      var output = "";
                                      var list = new Array();
                                      for (var i = 0; i < 10; i++) {
                                          if (getState("tankerkoenig.0.stations." + i + ".status").val == "open") {
                                              list.push(new Array(getState("tankerkoenig.0.stations." + i + ".name").val,
                                                  getState("tankerkoenig.0.stations." + i + ".e5.short").val));
                                          }
                                      }
                                      list = list.sort(function (a, b) {
                                          return a[1] - b[1];
                                      });
                                      if (list.length == 0) {
                                          output += "Alle Tankstellen in der Liste sind aktuell geschlossen";
                                      } else {
                                          output += "<b>Aktuelle Spritpreise:</b>\n\n"
                                          list.forEach(function (item) {
                                              output += item[0] + " : " + item[1] + "€\n";
                                          });
                                      }
                                      sendTo('telegram', {
                                          user: user_to_send,
                                          text: output,
                                          parse_mode: "HTML"
                                      });
                                  }
                              });
                              
                              

                              Gruß
                              Arne

                              Stephan Schleich Kay Poslovsky 2 Replies Last reply Reply Quote 0
                              • E
                                ErazorVIP last edited by

                                Hallo,
                                ich bekomme jetzt leider nachdem letzten Update immer folgenden Fehler:


                                javascript.0 2019-10-09 02:47:25.967 error at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
                                javascript.0 2019-10-09 02:47:25.967 error at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                                javascript.0 2019-10-09 02:47:25.967 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:228:12)
                                javascript.0 2019-10-09 02:47:25.966 error at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:270:10)
                                javascript.0 2019-10-09 02:47:25.966 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
                                javascript.0 2019-10-09 02:47:25.966 error at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:52:30)
                                javascript.0 2019-10-09 02:47:25.966 error at Object.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3706:37)
                                javascript.0 2019-10-09 02:47:25.966 error at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:364:25)
                                javascript.0 2019-10-09 02:47:25.965 error at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:973:38)
                                javascript.0 2019-10-09 02:47:25.965 error at Object.<anonymous> (script.js.common.telegram.Tankstellenpreise:57:115)
                                javascript.0 2019-10-09 02:47:25.965 error Error in callback: TypeError: getState(...).val.replace is not a function

                                var preis2 = "Der aktuelle Preis für Diesel bei " + getState(idName2).val + " beträgt: " + getState(idPreis2).val.replace(/ /g , "\n")+"9€\n\n";
                                
                                
                                

                                Kann es sein das es mit den replace nicht mehr funktiniert?

                                1 Reply Last reply Reply Quote 0
                                • J
                                  jwerlsdf last edited by

                                  Hallo,
                                  hat jemand schon eine Lösung zu dem Problem mit dem Replace gefunden? Wenn nein, hat jemand eine alternative Lösung die Spritpreise an Telegram zu schicken?
                                  Vielen Dank schon einmal für eine Antwort!

                                  1 Reply Last reply Reply Quote 0
                                  • Stephan Schleich
                                    Stephan Schleich @ignis-draco last edited by

                                    @ignis-draco Wie kann ich in deinem Script Diesel mit aufnehmen? (Diesel/Benzin)

                                    1 Reply Last reply Reply Quote 0
                                    • Kay Poslovsky
                                      Kay Poslovsky @ignis-draco last edited by

                                      @ignis-draco ich habe dein Skript schon lange am laufen und finde es echt super. danke schon mal dafür. Kannst du mir sagen wie ich eine zweite Tankerkönig Instanz (tankerkoenig.1.stations.)hinzufügen kann?
                                      Meine JS Kenntnisse reichen bei weitem noch nicht dafür aus. habe auch schon einiges probiert da ich das meiste durch probieren lerne, aber ich komme nicht drauf. Danke im Voraus
                                      Gruß Kay

                                      1 Reply Last reply Reply Quote 0
                                      • I
                                        ignis-draco last edited by

                                        @Stephan Schleich

                                        Sorry hatte gar nicht mit bekommen das du geschrieben hast. Zum unterschreiben müsste man das eigentlich doppelt machen. Ich schau mal wie man das gut hin bekommt.

                                        @Kay Poslovsky
                                        Hast du zwei Instanzen weil du mehr als 10 Tankstellen hast ? Wenn ja dann müsstest du die Zeile 8-13 Kopieren und dann unter der Zeile 13 einfügen. In dieser For schleife änderst du einfach tankerkoenig.0.stations. in tankerkoenig.1.stations.
                                        Das ganze sollte dann so aussehen.

                                        on({ id: 'telegram.0.communicate.request', change: 'any' }, function (obj) {
                                            var stateval = getState('telegram.0.communicate.request').val;
                                            if (stateval.match(/tanken/i)) {
                                                var user_to_send = stateval.substring(1, stateval.indexOf("]"));
                                                var command = stateval.substring(stateval.indexOf("]") + 1, stateval.length).toLowerCase();
                                                var output = "";
                                                var list = new Array();
                                                for (var i = 0; i < 10; i++) {
                                                    if (getState("tankerkoenig.0.stations." + i + ".status").val == "open") {
                                                        list.push(new Array(getState("tankerkoenig.0.stations." + i + ".name").val,
                                                            getState("tankerkoenig.0.stations." + i + ".e5.short").val));
                                                    }
                                                }
                                        
                                                for (var i = 0; i < 10; i++) {
                                                    if (getState("tankerkoenig.1.stations." + i + ".status").val == "open") {
                                                        list.push(new Array(getState("tankerkoenig.1.stations." + i + ".name").val,
                                                            getState("tankerkoenig.1.stations." + i + ".e5.short").val));
                                                    }
                                                }
                                        
                                                list = list.sort(function (a, b) {
                                                    return a[1] - b[1];
                                                });
                                                if (list.length == 0) {
                                                    output += "Alle Tankstellen in der Liste sind aktuell geschlossen";
                                                } else {
                                                    output += "<b>Aktuelle Spritpreise:</b>\n\n"
                                                    list.forEach(function (item) {
                                                        output += item[0] + " : " + item[1] + "€\n";
                                                    });
                                                }
                                                sendTo('telegram', {
                                                    user: user_to_send,
                                                    text: output,
                                                    parse_mode: "HTML"
                                                });
                                            }
                                        

                                        P.S. man könnte auch noch die beiden For zusammen fassen aber ich denke das du so eher den Quellcode verstehen wirst.

                                        1 Reply Last reply Reply Quote 1
                                        • Kay Poslovsky
                                          Kay Poslovsky last edited by

                                          @ignis-draco said in Tankerkönig und Telegram:

                                             for (var i = 0; i < 10; i++) {                                                                                                                                                                                        if (getState("tankerkoenig.0.stations." + i + ".status").val == "open") {                                                                                                                                                                                            list.push(new Array(getState("tankerkoenig.0.stations." + i + ".name").val,                                                                                                                                                                                                getState("tankerkoenig.0.stations." + i + ".e5.short").val));                                                                                                                                                                                        }                                                                                                                                                                                    }
                                          

                                          vielen dank, ähnlich habe ich es auch probiert, vermutlich aber vor dem {. jetzt hat es funktioniert vielen dank für deine Hilfe.

                                          1 Reply Last reply Reply Quote 0
                                          • I
                                            ignis-draco last edited by ignis-draco

                                            @stephan-schleich

                                            Habe das script mal etwas angepasst man kann jetzt über das Array "adapter" mehrere Instanzen angeben und über "fuelType" welche Sprit arten ausgegeben werden. Wichtig ist das man die Typen so benennt wie sie im Objektbaum heißen.

                                            on({ id: 'telegram.0.communicate.request', change: 'any' }, function (obj) {
                                                var stateval = getState('telegram.0.communicate.request').val;
                                                if (stateval.match(/tanken/i)) {
                                                    var user_to_send = stateval.substring(1, stateval.indexOf("]"));
                                                    var command = stateval.substring(stateval.indexOf("]") + 1, stateval.length).toLowerCase();
                                            
                                                    var output = "";
                                                    var adapter = ["tankerkoenig.0.stations"]   // add other Instances the ".stations" is necessary
                                                    var fuelType = ["diesel", "e10", "e5"]   // remove unnecessary types
                                                    var result = new Array();
                                            
                                                    for(var fuels = 0; fuels < fuelType.length; fuels++){
                                                        result.push(new Array());
                                                    }
                                            
                                                    for (var adap = 0; adap < adapter.length; adap++){
                                                        for (var i = 0; i < 10; i++) {
                                                            if(existsState(adapter[adap] + "." +  i + ".status") === true){
                                                                if (getState( adapter[adap] + "." +  i + ".status").val == "open") {
                                                                    for(var fuels = 0; fuels < fuelType.length; fuels++){
                                                                        result[fuels].push(new Array(getState(adapter[adap] + "." + i + ".name").val,
                                                                                    getState(adapter[adap] + "." +  i + "." + fuelType[fuels] +".short").val));
                                                                    }
                                                                }
                                                            }
                                            
                                                        }
                                                    }
                                            
                                                    for (var i = 0 ; i < result.length; i++){
                                                        result[i] = result[i].sort(function (a, b) {
                                                            return a[1] - b[1];
                                                        });
                                                    }
                                            
                                            
                                                    if (result[0].length == 0) {
                                                        output += "Alle Tankstellen in der Liste sind aktuell geschlossen";
                                                    } else {
                                                        output += "<b>Aktuelle Spritpreise:</b>\n\n"
                                            
                                                        for(var i = 0; i < result.length; i++){
                                                            output += "  <b>"+ fuelType[i] +"</b>\n"
                                                            
                                                            result[i].forEach(function (item) {
                                                                output += "  "+item[0] + " : " + item[1] + "€\n";
                                                                });
                                                            output+="\n\n"
                                                            
                                                        }
                                                    }
                                                    sendTo('telegram', {
                                                        user: user_to_send,
                                                        text: output,
                                                        parse_mode: "HTML"
                                                    });
                                                }
                                            });
                                            
                                            Stephan Schleich 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            660
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            16
                                            35
                                            4750
                                            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