Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Tankerkönig und Telegram

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    194

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    12
    1
    572

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.8k

Tankerkönig und Telegram

Geplant Angeheftet Gesperrt Verschoben JavaScript
35 Beiträge 16 Kommentatoren 5.9k Aufrufe 8 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    shrike
    schrieb am zuletzt editiert von
    #5

    So, nun hab ich das Script mal ausprobiert und das klappt auch bei mir ganz prima..von daher schon mal vielen Dank!

    Nun wollte ich das Ganze für 4 Tankstellen erweitern und habe einfach mal alles vervierfacht. Natürlich ist mir klar, dass das sehr unelegant ist, aber die Verfeinerung über Array und Schleife soll dann erfolgen, wenn ich mich etwas mehr an die Programmierung gewöhnt habe :oops:

    Also sieht mein (unelegantes) Script derzeit 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";
    var idPreis4 = "tankerkoenig.0.stations.3.e5.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(/(?=.*(\Benzin\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(/
    /g , "\n")+"9";
            var preis2 = "Der aktuelle Preis für SUPER bei " + getState(idName2).val + " beträgt:\n\n" + getState(idPreis2).val.replace(/
    /g , "\n")+"9";
            var preis3 = "Der aktuelle Preis für SUPER bei " + getState(idName3).val + " beträgt:\n\n" + getState(idPreis3).val.replace(/
    /g , "\n")+"9";
            var preis4 = "Der aktuelle Preis für SUPER bei " + getState(idName4).val + " beträgt:\n\n" + getState(idPreis4).val.replace(/
    /g , "\n")+"9";
            var preis=preis1+preis2+preis3+preis4; 
    
            sendTo('telegram', {
                user: benutzer,
                text: preis
                });
         }        
    });      
    

    Wobei mir jetzt nicht klar ist, was der Fehler ist…durch Probieren hab ich zwar herausgefunden, dass der schon oben in der Deklaration muss, aber nicht so recht, warum...wenn ich nur mit IdPreis1 und IdName1 arbeite, funktioniert es...nur sobald zusätzliche Datenpunkte dazukommen, ist das Ganze ungültig...

    1 Antwort Letzte Antwort
    0
    • T Offline
      T Offline
      tempestas
      schrieb am zuletzt editiert von
      #6

      Sehe da erstmal keinen Fehler.

      Was mir auffällt: ich kann den (oder einen, denn ich weiß nicht, welchen Fehler du hast?) reproduzieren, wenn eine id leer ist. Ich nutze z.B. nur die Tankstelle ums Eck, wenn also auf einen Preis einer leeren ID verwiesen wird, bekomme ich diesen Fehler:

      At Object. (script.js.common.test:19:125)
      javascript.1	2018-02-28 08:21:38.779	error	Error in callback: TypeError: getState(...).val.replace is not a function
      

      Ist das auch dein Fehler? Wenn ja, prüfe mal, ob die verlinkten IDs auch wirklich Daten liefern

      <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        shrike
        schrieb am zuletzt editiert von
        #7

        Das kann ich ausschliessen, da in meiner Visualisierung alle 4 Tankstellen mit korrekten Werten angezeigt werden…

        Kann es sein, dass die Benennung der Variablen in dieser Form nicht zulässig ist? Das wundert mich zwar, weil die Deklaration gemäß JavaScript gültig ist, aber eventuell gibt es da ja Regularien für den Iobroker?

        Achso, noch eine Frage zur Fehlermeldung: Wo wird die eigentlich angezeigt? Ich erkenne Fehler momentan nur daran, dass Iobroker meine Anfrage mit Ja beantwortet und das war's...sorry, bin noch Anfänger und finde mich noch nicht ganz zurecht wo was angezeigt wird...im Log habe ich zumindest nix gefunden...

        1 Antwort Letzte Antwort
        0
        • T Offline
          T Offline
          tempestas
          schrieb am zuletzt editiert von
          #8

          Poste doch bitte mal die Fehlermeldung aus dem Log, dann muss man nicht raten und kann zielgerichtet helfen.

          <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

          1 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            shrike
            schrieb am zuletzt editiert von
            #9

            Genau das ist mein Problem…im Log wurde kein Fehler angezeigt...ich werde heute abend mal alle Anzeigemodi durchschauen...

            1 Antwort Letzte Antwort
            0
            • T Offline
              T Offline
              tempestas
              schrieb am zuletzt editiert von
              #10

              was heißt denn, das ganze ist "ungültig"? Wenn etwas ungültig ist, muss ja ein Fehler da sien

              <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

              1 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                shrike
                schrieb am zuletzt editiert von
                #11

                Sodele, ich hab gestern mal was ganz verwegenes gemacht und die JavaScript-Instanz einmal neu starten lassen..und siehe da, auf einmal funktionierte sogar das Script.

                Trotz allem, was ich mit ungültig meinte: Weder im Systemlog noch im Log des Scripts (auch im Debug-Modus) wurde ein Fehler ausgegeben. Von daher sollte das Script ja richtig sein. Wenn ich dann aber bei Telegram nachgefragt habe, kam als Antwort nur "ja"…einmal sogar "nein".

                Aber auf jeden Fall vielen Dank für die Hilfe und Geduld !!!! (als Anfänger kommt man sich manchmal sooo unendlich dumm vor)

                1 Antwort Letzte Antwort
                0
                • A Offline
                  A Offline
                  Ace-k
                  schrieb am zuletzt editiert von
                  #12

                  Moin,

                  finde das Script cool. :!:

                  Ich habe das ganze "Diesel" und "Super" genannt.

                  wenn ich nun allerdings Diesel schreibe, kommt

                  Ich verstehe "diesel" nicht

                  aber Zeigt danach dennoch die Tankstellen an.

                  –---

                  Muss mich korrigieren.

                  kommen doch keine Werte mehr.

                  nur "Ich verstehe "diesel" nicht"

                  ! 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";
                  ! var idPreis5 = "tankerkoenig.0.stations.4.diesel.short";
                  ! var idName5 = "tankerkoenig.0.stations.4.name";
                  ! var idPreis6 = "tankerkoenig.0.stations.5.diesel.short";
                  ! var idName6 = "tankerkoenig.0.stations.5.name";
                  ! var idPreis7 = "tankerkoenig.0.stations.6.diesel.short";
                  ! var idName7 = "tankerkoenig.0.stations.6.name";
                  ! var idPreis8 = "tankerkoenig.0.stations.7.diesel.short";
                  ! var idName8 = "tankerkoenig.0.stations.7.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|\bTanken\b)).+/ig) != -1) {
                  ! var preis1 = "Bei " + getState(idName1).val + " : " + getState(idPreis1).val.replace(/
                  /g , "\n")+"9\n";
                  ! var preis2 = "Bei " + getState(idName2).val + " : " + getState(idPreis2).val.replace(/
                  /g , "\n")+"9\n";
                  ! var preis3 = "Bei " + getState(idName3).val + " : " + getState(idPreis3).val.replace(/
                  /g , "\n")+"9\n";
                  ! var preis4 = "Bei " + getState(idName4).val + " : " + getState(idPreis4).val.replace(/
                  /g , "\n")+"9\n";
                  ! var preis5 = "Bei " + getState(idName5).val + " : " + getState(idPreis5).val.replace(/
                  /g , "\n")+"9\n";
                  ! var preis6 = "Bei " + getState(idName6).val + " : " + getState(idPreis6).val.replace(/
                  /g , "\n")+"9\n";
                  ! var preis7 = "Bei " + getState(idName7).val + " : " + getState(idPreis7).val.replace(/
                  /g , "\n")+"9\n";
                  ! var preis8 = "Bei " + getState(idName8).val + " : " + getState(idPreis8).val.replace(/
                  /g , "\n")+"9\n";
                  ! var preis=preis1+preis2+preis3+preis4+preis5+preis6+preis7+preis8;
                  ! sendTo('telegram', {
                  ! user: benutzer,
                  ! text: preis
                  ! });
                  ! }
                  ! });

                  1 Antwort Letzte Antwort
                  0
                  • StabilostickS Offline
                    StabilostickS Offline
                    Stabilostick
                    schrieb am zuletzt editiert von
                    #13

                    Ich kenne mich regex nicht aus, aber fehlt da nicht ein „b“ vor Diesel im Suchausdruck?

                    1 Antwort Letzte Antwort
                    0
                    • StabilostickS Offline
                      StabilostickS Offline
                      Stabilostick
                      schrieb am zuletzt editiert von
                      #14

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

                      1 Antwort Letzte Antwort
                      0
                      • A Offline
                        A Offline
                        Ace-k
                        schrieb am zuletzt editiert von
                        #15

                        vielen dank.

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

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

                        1 Antwort Letzte Antwort
                        0
                        • M Offline
                          M Offline
                          michael_klatt
                          schrieb am zuletzt editiert von
                          #16

                          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 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            michael_klatt
                            schrieb am zuletzt editiert von
                            #17

                            Kann keiner helfen?

                            1 Antwort Letzte Antwort
                            0
                            • F Offline
                              F Offline
                              Fitti
                              schrieb am zuletzt editiert von
                              #18

                              @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

                              "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
                              Plural von Status ist auch Status!

                              1 Antwort Letzte Antwort
                              0
                              • M Offline
                                M Offline
                                michael_klatt
                                schrieb am zuletzt editiert von
                                #19

                                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 Antwort Letzte Antwort
                                0
                                • S Offline
                                  S Offline
                                  Schweiz
                                  schrieb am zuletzt editiert von
                                  #20

                                  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 Antwort Letzte Antwort
                                  0
                                  • S Offline
                                    S Offline
                                    Schweiz
                                    schrieb am zuletzt editiert von
                                    #21

                                    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 Antwort Letzte Antwort
                                    0
                                    • W Offline
                                      W Offline
                                      W0RSCHD
                                      schrieb am zuletzt editiert von W0RSCHD
                                      #22

                                      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 Antwort Letzte Antwort
                                      0
                                      • W 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 Offline
                                        D Offline
                                        dulles
                                        schrieb am zuletzt editiert von dulles
                                        #23

                                        @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 Antwort Letzte Antwort
                                        0
                                        • D Offline
                                          D Offline
                                          darkiop
                                          Most Active
                                          schrieb am zuletzt editiert von
                                          #24

                                          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
                                          });
                                          

                                          Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          957

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe