Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Skripten des E-Control Spritpreisrechners

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    961

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Skripten des E-Control Spritpreisrechners

Scheduled Pinned Locked Moved JavaScript
javascriptmonitoring
292 Posts 21 Posters 49.7k Views 17 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • sigi234S sigi234

    @Negalein

    Hallo, habe mal das Skript aktiviert , bekomme keine Daten?

    Screenshot (2729).png

    Screenshot (2735).png

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     
    //  START SETUP:
    //  finaler Inhalt der Datenpunkte:
    //  1 = name_preis | 2 = name_preis_plz_ort_strasse | 3 = (id_Preis_xx) name_preis & (id_Adresse_xx) PLZ_Ort_Strasse
        var InhaltDP = 2;
     
    //  Datenpunktadressen vollständig eintragen (z.B."javascript.0.Aktueller_Spritpreis_01"), müssen manuell erstellt werden
        var id_Preis_01 = "javascript.0.Aktueller_Spritpreis_01"/*Aktueller Spritpreis 01*/;
        var id_Preis_02 = "javascript.0.Aktueller_Spritpreis_02"/*Aktueller Spritpreis 02*/;
        var id_Preis_03 = "javascript.0.Aktueller_Spritpreis_03"/*Aktueller Spritpreis 03*/;
        var id_Preis_04 = "javascript.0.Aktueller_Spritpreis_04"/*Aktueller Spritpreis 04*/;
        var id_Preis_05 = "javascript.0.Aktueller_Spritpreis_05"/*Aktueller Spritpreis 05*/;
     
    //  Achtung, wurde oben bei "InhaltDP" 3 ausgewählt (Daten in 2 Felder gesplittet), dann müssen folgende Felder befüllt werden!
    //  Datenpunktadressen vollständig eintragen (z.B."javascript.0.Aktueller_Spritpreis_Adresse_01"), müssen manuell erstellt werden
        var id_Adresse_01 = "";
        var id_Adresse_02 = "";
        var id_Adresse_03 = "";
        var id_Adresse_04 = "";
        var id_Adresse_05 = "";
     
    // Ende Setup
    //////////////////////////////////////////////////////////////////////////////////////////////
    
    

    Screenshot (2732).png

    NegaleinN Offline
    NegaleinN Offline
    Negalein
    Global Moderator
    wrote on last edited by
    #121

    @sigi234 sagte in Skripten des E-Control Spritpreisrechners:

    Hallo, habe mal das Skript aktiviert , bekomme keine Daten?

    Hast du im Parser JSON ausgewählt?

    ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
    ° Node.js Fixer ---> iob nodejs-update
    ° Fixer ---> iob fix

    sigi234S 1 Reply Last reply
    0
    • NegaleinN Negalein

      @sigi234 sagte in Skripten des E-Control Spritpreisrechners:

      Hallo, habe mal das Skript aktiviert , bekomme keine Daten?

      Hast du im Parser JSON ausgewählt?

      sigi234S Online
      sigi234S Online
      sigi234
      Forum Testing Most Active
      wrote on last edited by
      #122

      @Negalein
      JA

      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Immer Daten sichern!

      NegaleinN 1 Reply Last reply
      0
      • sigi234S sigi234

        @Negalein
        JA

        NegaleinN Offline
        NegaleinN Offline
        Negalein
        Global Moderator
        wrote on last edited by
        #123

        @sigi234 sagte in Skripten des E-Control Spritpreisrechners:

        @Negalein
        JA

        Ändere im DP von Logikwert zu Zeichenkette

        ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
        ° Node.js Fixer ---> iob nodejs-update
        ° Fixer ---> iob fix

        sigi234S 1 Reply Last reply
        1
        • NegaleinN Negalein

          @sigi234 sagte in Skripten des E-Control Spritpreisrechners:

          @Negalein
          JA

          Ändere im DP von Logikwert zu Zeichenkette

          sigi234S Online
          sigi234S Online
          sigi234
          Forum Testing Most Active
          wrote on last edited by sigi234
          #124

          @Negalein sagte in Skripten des E-Control Spritpreisrechners:

          @sigi234 sagte in Skripten des E-Control Spritpreisrechners:

          @Negalein
          JA

          Ändere im DP von Logikwert zu Zeichenkette

          Erledigt, kommt noch nichts, was gehört eigentlich in die RegEx rein? Ohne dem geht ja nichts..........

          Funktioniert!

          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
          Immer Daten sichern!

          NegaleinN 1 Reply Last reply
          0
          • sigi234S sigi234

            @Negalein sagte in Skripten des E-Control Spritpreisrechners:

            @sigi234 sagte in Skripten des E-Control Spritpreisrechners:

            @Negalein
            JA

            Ändere im DP von Logikwert zu Zeichenkette

            Erledigt, kommt noch nichts, was gehört eigentlich in die RegEx rein? Ohne dem geht ja nichts..........

            Funktioniert!

            NegaleinN Offline
            NegaleinN Offline
            Negalein
            Global Moderator
            wrote on last edited by
            #125

            @sigi234 sagte in Skripten des E-Control Spritpreisrechners:

            Erledigt, kommt noch nichts, was gehört eigentlich in die RegEx rein? Ohne dem geht ja nichts..........

            Funktioniert!

            Ich werde auch vorerst wieder auf das Script umsteigen und beobachten ob da die Daten zusammenpassen.

            Nur mit Parser und Regex funktioniert es leider nicht wie erhofft.

            Vielleicht findet @metaxa noch eine Lösung wie man die Namen kürzt und die Strasse wegbekommt.
            Dafür würd ich sogar bezahlen wenns funktioniert. :grinning:

            ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
            ° Node.js Fixer ---> iob nodejs-update
            ° Fixer ---> iob fix

            HomoranH 1 Reply Last reply
            0
            • NegaleinN Negalein

              @sigi234 sagte in Skripten des E-Control Spritpreisrechners:

              Erledigt, kommt noch nichts, was gehört eigentlich in die RegEx rein? Ohne dem geht ja nichts..........

              Funktioniert!

              Ich werde auch vorerst wieder auf das Script umsteigen und beobachten ob da die Daten zusammenpassen.

              Nur mit Parser und Regex funktioniert es leider nicht wie erhofft.

              Vielleicht findet @metaxa noch eine Lösung wie man die Namen kürzt und die Strasse wegbekommt.
              Dafür würd ich sogar bezahlen wenns funktioniert. :grinning:

              HomoranH Do not disturb
              HomoranH Do not disturb
              Homoran
              Global Moderator Administrators
              wrote on last edited by
              #126

              @Negalein sagte in Skripten des E-Control Spritpreisrechners:

              Vielleicht findet @metaxa noch eine Lösung wie man die Namen kürzt und die Strasse wegbekommt.
              Dafür würd ich sogar bezahlen wenns funktioniert.

              Ich glaube due verstehst die Funktion eines RegEx noch nicht ganz

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              NegaleinN 1 Reply Last reply
              0
              • HomoranH Homoran

                @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                Vielleicht findet @metaxa noch eine Lösung wie man die Namen kürzt und die Strasse wegbekommt.
                Dafür würd ich sogar bezahlen wenns funktioniert.

                Ich glaube due verstehst die Funktion eines RegEx noch nicht ganz

                NegaleinN Offline
                NegaleinN Offline
                Negalein
                Global Moderator
                wrote on last edited by
                #127

                @Homoran sagte in Skripten des E-Control Spritpreisrechners:

                Ich glaube due verstehst die Funktion eines RegEx noch nicht ganz

                Da geb ich dir zu 100% Recht! :joy:
                Bis vor 2 Tagen hatte ich noch nie davon gehört. :sunglasses:

                ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                ° Node.js Fixer ---> iob nodejs-update
                ° Fixer ---> iob fix

                1 Reply Last reply
                0
                • metaxaM Offline
                  metaxaM Offline
                  metaxa
                  wrote on last edited by metaxa
                  #128

                  @Homoran sagte in Skripten des E-Control Spritpreisrechners:

                  Ich glaube due verstehst die Funktion eines RegEx noch nicht ganz

                  Hallo Rainer,
                  ja und nein, die Kollegen haben einfach immer den für DE möglichen Tankerkönigadapter als das Ziel gesehen. Das geht leider so nicht. RegEx ist eine super Geschichte, nur machte ich mir im Verlauf dieses Threads schon meine Gedanken darüber was passiert, wenn dann alle paar Minuten 30 Serverabfragen zum gleichen Zeitpunkt von x Usern kommen.

                  Ich bin dran, das Script (Ursprung vom Eingangspost) weiter zu entwickeln. Leider habe ich keine JS Kenntnisse oder Erfahrung und bin grad dabei mühsam zusammenzutragen und verstehen, wie was funktioniert.

                  @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                  Dafür würd ich sogar bezahlen wenns funktioniert.

                  Darüber läßt sich reden :relaxed: :v: :relaxed: :v: :v: :relaxed: :joy: :sunglasses:
                  Im Ernst, gib mir noch paar Tage, ich bin am Lernen und Schauen wie ich es rasch und verständlich umsetzen kann. Die einzelnen DP anlegen lassen, dass kann das Bastelscript schon, Ich weiß, brauchst nicht. Aber eventuell jemand Anderer.

                  Tankstellennamen einkürzen, bringe ich sicher nicht zusammen. Da gibt es zuviele kreative Auswüchse.

                  • Name separat, ok

                  • Preis seperat, ok

                  • PLZ und Ort separat, ok

                  • Strasse separat optional, ok

                  Was wäre noch von Interesse?

                  LG und bitte um etwas Geduld, mxa

                  NegaleinN 1 Reply Last reply
                  1
                  • metaxaM metaxa

                    @Homoran sagte in Skripten des E-Control Spritpreisrechners:

                    Ich glaube due verstehst die Funktion eines RegEx noch nicht ganz

                    Hallo Rainer,
                    ja und nein, die Kollegen haben einfach immer den für DE möglichen Tankerkönigadapter als das Ziel gesehen. Das geht leider so nicht. RegEx ist eine super Geschichte, nur machte ich mir im Verlauf dieses Threads schon meine Gedanken darüber was passiert, wenn dann alle paar Minuten 30 Serverabfragen zum gleichen Zeitpunkt von x Usern kommen.

                    Ich bin dran, das Script (Ursprung vom Eingangspost) weiter zu entwickeln. Leider habe ich keine JS Kenntnisse oder Erfahrung und bin grad dabei mühsam zusammenzutragen und verstehen, wie was funktioniert.

                    @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                    Dafür würd ich sogar bezahlen wenns funktioniert.

                    Darüber läßt sich reden :relaxed: :v: :relaxed: :v: :v: :relaxed: :joy: :sunglasses:
                    Im Ernst, gib mir noch paar Tage, ich bin am Lernen und Schauen wie ich es rasch und verständlich umsetzen kann. Die einzelnen DP anlegen lassen, dass kann das Bastelscript schon, Ich weiß, brauchst nicht. Aber eventuell jemand Anderer.

                    Tankstellennamen einkürzen, bringe ich sicher nicht zusammen. Da gibt es zuviele kreative Auswüchse.

                    • Name separat, ok

                    • Preis seperat, ok

                    • PLZ und Ort separat, ok

                    • Strasse separat optional, ok

                    Was wäre noch von Interesse?

                    LG und bitte um etwas Geduld, mxa

                    NegaleinN Offline
                    NegaleinN Offline
                    Negalein
                    Global Moderator
                    wrote on last edited by Negalein
                    #129

                    @metaxa sagte in Skripten des E-Control Spritpreisrechners:

                    • Name separat, ok

                    • Preis seperat, ok

                    • PLZ und Ort separat, ok

                    • Strasse separat optional, ok

                    Das wäre toll!

                    Was wäre noch von Interesse?

                    Am allerwichtigsten ist, dass alle Daten zueinander passen.
                    Jetzt mit Parser und Regex ist es so, dass oft zB Ort 1 mit PLZ 3 und Preis 5 verheiratet sind.

                    Funktionieren muss es mit der API, da auch alle anderen Apps (Android sowie das angebissene Äpfelchen) darauf zugreifen.

                    Darüber läßt sich reden ☺ ✌ ☺ ✌ ✌ ☺ 😂 😎

                    melde dich einfach, dann machen wir was

                    ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                    ° Node.js Fixer ---> iob nodejs-update
                    ° Fixer ---> iob fix

                    metaxaM 1 Reply Last reply
                    0
                    • NegaleinN Negalein

                      @metaxa sagte in Skripten des E-Control Spritpreisrechners:

                      • Name separat, ok

                      • Preis seperat, ok

                      • PLZ und Ort separat, ok

                      • Strasse separat optional, ok

                      Das wäre toll!

                      Was wäre noch von Interesse?

                      Am allerwichtigsten ist, dass alle Daten zueinander passen.
                      Jetzt mit Parser und Regex ist es so, dass oft zB Ort 1 mit PLZ 3 und Preis 5 verheiratet sind.

                      Funktionieren muss es mit der API, da auch alle anderen Apps (Android sowie das angebissene Äpfelchen) darauf zugreifen.

                      Darüber läßt sich reden ☺ ✌ ☺ ✌ ✌ ☺ 😂 😎

                      melde dich einfach, dann machen wir was

                      metaxaM Offline
                      metaxaM Offline
                      metaxa
                      wrote on last edited by metaxa
                      #130

                      @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                      melde dich einfach, dann machen wir was

                      Vergiss es, ich habe dich erst beim 2. mal Lesen verstanden.

                      @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                      Am allerwichtigsten ist, dass alle Daten zueinander passen.

                      Tun sie jetzt auch im Script das du einsetzt, da die Quelle ein und der selbe String (JSON) sind. Was eventuell die API durcheinander bringt kann niemand abfangen.

                      NegaleinN 1 Reply Last reply
                      0
                      • metaxaM metaxa

                        @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                        melde dich einfach, dann machen wir was

                        Vergiss es, ich habe dich erst beim 2. mal Lesen verstanden.

                        @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                        Am allerwichtigsten ist, dass alle Daten zueinander passen.

                        Tun sie jetzt auch im Script das du einsetzt, da die Quelle ein und der selbe String (JSON) sind. Was eventuell die API durcheinander bringt kann niemand abfangen.

                        NegaleinN Offline
                        NegaleinN Offline
                        Negalein
                        Global Moderator
                        wrote on last edited by
                        #131

                        @metaxa sagte in Skripten des E-Control Spritpreisrechners:

                        Was wäre dein Part von wir? :-)

                        Ich zitiere mich mal selber :joy_cat: :joy_cat:

                        Dafür würd ich sogar bezahlen wenns funktioniert. 😀

                        ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                        ° Node.js Fixer ---> iob nodejs-update
                        ° Fixer ---> iob fix

                        1 Reply Last reply
                        0
                        • metaxaM Offline
                          metaxaM Offline
                          metaxa
                          wrote on last edited by
                          #132

                          erl. Siehe oben, hab frech meinen Beitrag editiert.
                          Ich mach mal was ich zusammenbringe, dann stelle ich es hier ein. Bitte um Geduld, JS lernst ned in 48 Std., auch nicht am WIFI oder so, glaub ich.
                          Ich melde mich.

                          @Homoran: Danke dass du dich so viel hier einbringst!

                          LG, mxa

                          HomoranH 1 Reply Last reply
                          0
                          • metaxaM metaxa

                            erl. Siehe oben, hab frech meinen Beitrag editiert.
                            Ich mach mal was ich zusammenbringe, dann stelle ich es hier ein. Bitte um Geduld, JS lernst ned in 48 Std., auch nicht am WIFI oder so, glaub ich.
                            Ich melde mich.

                            @Homoran: Danke dass du dich so viel hier einbringst!

                            LG, mxa

                            HomoranH Do not disturb
                            HomoranH Do not disturb
                            Homoran
                            Global Moderator Administrators
                            wrote on last edited by
                            #133

                            @metaxa
                            @Negalein

                            Einfach so einen Kurznamen aus dem kompletten Namen extrahieren geht so einfach nicht, da jeder vollständige Name komplett anders aufgebaut ist.

                            Im besten Fall muss man eine Übersetzungstabelle anlegen, was bei hunderten von verschiedenen tankstellennamen nicht vertretbar ist.

                            Was zu häufige Abfragen angeht, ist das Skript schon die beste Lösung. Leider kann ich es auch nicht.
                            Gerade heute ist ein regex block für Blockly dazugekommen dann schaffe ich es vielleicht doch.

                            Die idee hinter dem skript ist es nur einmal das gesamte json über den parser abzurufen (obwohl das auch über das skript selbst gehen müsste) und anschließend dieses json offline zu zerlegen.

                            Der parser adapter kann zwar auch aus einer datei parsen, aber imho nicht aus einem Datenpunkt.

                            Natürlich ist der Tankerkönig adapter das Maß aller Dinge. Leider bietet die api nicht den datenumfang des tankerkönigs. Daher kann man auch nur das auswerten was angeboten wird.

                            Auch geld als lockmittel ändert das nichts. Was nicht da ist kann man nicht herzaubern.

                            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            NegaleinN 1 Reply Last reply
                            0
                            • HomoranH Homoran

                              @metaxa
                              @Negalein

                              Einfach so einen Kurznamen aus dem kompletten Namen extrahieren geht so einfach nicht, da jeder vollständige Name komplett anders aufgebaut ist.

                              Im besten Fall muss man eine Übersetzungstabelle anlegen, was bei hunderten von verschiedenen tankstellennamen nicht vertretbar ist.

                              Was zu häufige Abfragen angeht, ist das Skript schon die beste Lösung. Leider kann ich es auch nicht.
                              Gerade heute ist ein regex block für Blockly dazugekommen dann schaffe ich es vielleicht doch.

                              Die idee hinter dem skript ist es nur einmal das gesamte json über den parser abzurufen (obwohl das auch über das skript selbst gehen müsste) und anschließend dieses json offline zu zerlegen.

                              Der parser adapter kann zwar auch aus einer datei parsen, aber imho nicht aus einem Datenpunkt.

                              Natürlich ist der Tankerkönig adapter das Maß aller Dinge. Leider bietet die api nicht den datenumfang des tankerkönigs. Daher kann man auch nur das auswerten was angeboten wird.

                              Auch geld als lockmittel ändert das nichts. Was nicht da ist kann man nicht herzaubern.

                              NegaleinN Offline
                              NegaleinN Offline
                              Negalein
                              Global Moderator
                              wrote on last edited by
                              #134

                              @Homoran sagte in Skripten des E-Control Spritpreisrechners:

                              Auch geld als lockmittel ändert das nichts. Was nicht da ist kann man nicht herzaubern.

                              Das hast du falsch verstanden!
                              Soll kein Lockmittel sein.
                              Aber gute Arbeit darf ruhig auch mal belohnt werden!

                              ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                              ° Node.js Fixer ---> iob nodejs-update
                              ° Fixer ---> iob fix

                              HomoranH 1 Reply Last reply
                              0
                              • G Offline
                                G Offline
                                Georgius
                                wrote on last edited by
                                #135

                                Ich hab einen anderen Ansatz gewählt.
                                Es ist bis jetzt nur ein Anfang um zu schauen ob es so geht.

                                on({id: "parser.0.Tanken", change: 'any'}, function(obj)
                                 {
                                    
                                    var index = 0;
                                    /*var gasStation = JSON.parse('parser.0.Tanken');*/
                                    var gasStation = JSON.parse(obj.state.val);
                                     /*if (gasStation.length === 0) return;*/
                                 
                                     console.log((String('Durchlauf')));
                                     createState("javascript.0.Sprit.Tankstelle_Test.Index", false,{type: 'number',name: 'index', read: true,write: true});
                                     for (index = 0; index < gasStation.length; ++index) {
                                 
                                   
                                    createState("javascript.0.Sprit.Tankstelle_"+index+".Index", 0,{type: 'number',name: 'index', read: true,write: true});
                                    setState("javascript.0.Sprit.Tankstelle_"+index+".Index", gasStation[index].id);
                                
                                    createState("javascript.0.Sprit.Tankstelle_"+index+".name", 0,{type: 'string',name: 'name', read: true,write: true});
                                    setState("javascript.0.Sprit.Tankstelle_"+index+".name", gasStation[index].name);
                                   
                                    }
                                 
                                
                                 });
                                

                                Was nicht geht ist das man den Datenpunkt gleich nach dem erstellen füllen kann. Dann kommt ein "Warn" im Protokoll und die Punkte werden nicht gefüllt.

                                Ist mein 1. JS-Programm. Bin also für Verbesserungen sehr dankbar.

                                Warum ich die Datenpunkte in der Schleife definiere ist, dass wenn zB.12 Tankstellen den gleichen Preis haben werden 12 Tankstellen zurückgegeben.

                                1 Reply Last reply
                                0
                                • NegaleinN Negalein

                                  @Homoran sagte in Skripten des E-Control Spritpreisrechners:

                                  Auch geld als lockmittel ändert das nichts. Was nicht da ist kann man nicht herzaubern.

                                  Das hast du falsch verstanden!
                                  Soll kein Lockmittel sein.
                                  Aber gute Arbeit darf ruhig auch mal belohnt werden!

                                  HomoranH Do not disturb
                                  HomoranH Do not disturb
                                  Homoran
                                  Global Moderator Administrators
                                  wrote on last edited by
                                  #136

                                  @Negalein
                                  Ich fürchte du verstehst es nicht!

                                  • Sieh dir mal ALLE Tankstellenbezeichnungen die von der api ausgegeben werden an.
                                  • überlege dir zu jedem eine dir genehme Kurzbezeichnung
                                  • dann nenne mir EINE allgemeingültige Formel diese Kurzbezeichnungen zu extrahieren.

                                  Ich bin auf diese Formel gespannt.

                                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  NegaleinN 1 Reply Last reply
                                  0
                                  • HomoranH Homoran

                                    @Negalein
                                    Ich fürchte du verstehst es nicht!

                                    • Sieh dir mal ALLE Tankstellenbezeichnungen die von der api ausgegeben werden an.
                                    • überlege dir zu jedem eine dir genehme Kurzbezeichnung
                                    • dann nenne mir EINE allgemeingültige Formel diese Kurzbezeichnungen zu extrahieren.

                                    Ich bin auf diese Formel gespannt.

                                    NegaleinN Offline
                                    NegaleinN Offline
                                    Negalein
                                    Global Moderator
                                    wrote on last edited by
                                    #137

                                    @Homoran sagte in Skripten des E-Control Spritpreisrechners:

                                    Ich fürchte du verstehst es nicht!

                                    Nein, ich fürchte du hast es falsch verstanden!

                                    Ich bezog mich einzig auf

                                    Auch geld als lockmittel ändert das nichts.

                                    Nicht mehr und nicht weniger!!

                                    Sollte auch im Verlauf ersichtlich sein!

                                    Namen kürzen wäre ein Wunsch. Aber wenns nicht geht, dann gehts halt nicht.
                                    C’est la vie

                                    So, und jetzt Schluß mit der i-Tüpferl Reiterei
                                    Ich kann kein JS und hab es auch nie behauptet.

                                    ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                                    ° Node.js Fixer ---> iob nodejs-update
                                    ° Fixer ---> iob fix

                                    HomoranH 1 Reply Last reply
                                    0
                                    • NegaleinN Negalein

                                      @Homoran sagte in Skripten des E-Control Spritpreisrechners:

                                      Ich fürchte du verstehst es nicht!

                                      Nein, ich fürchte du hast es falsch verstanden!

                                      Ich bezog mich einzig auf

                                      Auch geld als lockmittel ändert das nichts.

                                      Nicht mehr und nicht weniger!!

                                      Sollte auch im Verlauf ersichtlich sein!

                                      Namen kürzen wäre ein Wunsch. Aber wenns nicht geht, dann gehts halt nicht.
                                      C’est la vie

                                      So, und jetzt Schluß mit der i-Tüpferl Reiterei
                                      Ich kann kein JS und hab es auch nie behauptet.

                                      HomoranH Do not disturb
                                      HomoranH Do not disturb
                                      Homoran
                                      Global Moderator Administrators
                                      wrote on last edited by
                                      #138

                                      @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                                      Ich bezog mich einzig auf

                                      Dieser Satz war aber in einem Zusammenhang genannt. Den habe ich versucht wieder herzustellen

                                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                      NegaleinN 1 Reply Last reply
                                      0
                                      • HomoranH Homoran

                                        @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                                        Ich bezog mich einzig auf

                                        Dieser Satz war aber in einem Zusammenhang genannt. Den habe ich versucht wieder herzustellen

                                        NegaleinN Offline
                                        NegaleinN Offline
                                        Negalein
                                        Global Moderator
                                        wrote on last edited by
                                        #139

                                        @Homoran sagte in Skripten des E-Control Spritpreisrechners:

                                        Dieser Satz war aber in einem Zusammenhang genannt. Den habe ich versucht wieder herzustellen

                                        Ja, da hab ich den unbewusst mitzitiert!

                                        Egal, konzentrieren wir uns wieder auf die Funktion!

                                        ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                                        ° Node.js Fixer ---> iob nodejs-update
                                        ° Fixer ---> iob fix

                                        1 Reply Last reply
                                        0
                                        • metaxaM Offline
                                          metaxaM Offline
                                          metaxa
                                          wrote on last edited by metaxa
                                          #140

                                          @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                                          Egal, konzentrieren wir uns wieder auf die Funktion!

                                          WIR haben uns konzentriert :thinking_face:

                                          Rausgekommen ist Folgendes:

                                          //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                                          //  "Spritpreise_AT v.0.5"                                                                                                              //
                                          //  e-control Spritpreise                                                                                                               //
                                          //  ursprüngl. Script von steinejo_io vom                                                                                               //
                                          //                                                                                                                                      //
                                          //  Zwingend erforderlich sind der Parser Adapter und die URL aus der API. Links und Hilfe zum Erstellemn findet ihr im Folgenden Lnk:  //
                                          //  https://forum.iobroker.net/topic/20314/skripten-des-e-control-spritpreisrechners                                                    //
                                          //  Das manuelle Anlegen von Daenpunkten ist nicht mehr notwendig. erledigt das Script beim ersten Aufruf.                              //
                                          //  Auf das "E" Zeichen habe ich verzichtet, da es in VIS genz einfach an der jeweils gewünschten Stelle produzierbar ist.              //
                                          //                                                                                                                                      //
                                          //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                                          
                                          on({id: "parser.0.Spritpreisrechner"/*Spritpreisrechner*/, change: 'any'}, function(obj)
                                          {
                                          log("Start Spritvergleich");
                                          
                                              var gasStation = JSON.parse(obj.state.val);
                                              if (gasStation.length === 0) return;
                                          
                                              var i = 0;
                                              for (var i = 1; i <= 5; i++) {
                                                  // console.log(i);
                                                  // console.log("scriptDatenPunkte.Sprit_AT.name_"+i);
                                                  createState("scriptDatenPunkte.Sprit_AT.Treffer_"+i+".Name_"+i, {type: "string", name: "Platz "+i, read: true, write: true});
                                                  createState("scriptDatenPunkte.Sprit_AT.Treffer_"+i+".Preis_"+i, {type: "string", name: "Platz "+i, read: true, write: true});
                                                  createState("scriptDatenPunkte.Sprit_AT.Treffer_"+i+".Strasse_"+i, {type: "string", name: "Platz "+i, read: true, write: true});
                                                  createState("scriptDatenPunkte.Sprit_AT.Treffer_"+i+".PLZ_Ort_"+i, {type: "string", name: "Platz "+i, read: true, write: true});
                                              }
                                          
                                              var index = 0;
                                              //for (index = 0; index < gasStation.length; ++index) {
                                              for (index = 0; index <= 4; ++index) {
                                              setState("scriptDatenPunkte.Sprit_AT.Treffer_"+(index+1)+".Name_"+(index+1), gasStation[index].name);
                                              setState("scriptDatenPunkte.Sprit_AT.Treffer_"+(index+1)+".Preis_"+(index+1), (gasStation[index].prices[0].amount).toString().replace(".",","));
                                              setState("scriptDatenPunkte.Sprit_AT.Treffer_"+(index+1)+".Strasse_"+(index+1), (gasStation[index].location.address));
                                              setState("scriptDatenPunkte.Sprit_AT.Treffer_"+(index+1)+".PLZ_Ort_"+(index+1), (gasStation[index].location.postalCode) + " " + (gasStation[index].location.city));
                                              }
                                          
                                          log("Ende Spritvergleich");
                                          });
                                          

                                          Die Datenpunkte werden beim ersten Auslösen erstellt, jedoch erst beim ZWEITEN Auslösen befüllt. Helfen kann man sich, indem man im Parser den Feldtyp von JSON verstellt, speichert, und wieder auf JSON umstrellt und wieder speichert.
                                          Leider bekomme ich bei den ersten beiden Auslösern im Log paar Fehlermeldungen, das Script tut aber trotzem. Ich habe schon alles versucht, ich krieg sie nicht weg. Im Regelbetrieb gibt es keine Fehlermeldungen (bei mir).

                                          javascript.0	2019-04-04 19:01:43.905	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
                                          javascript.0	2019-04-04 19:01:43.905	error	at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                                          javascript.0	2019-04-04 19:01:43.905	error	at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:228:12)
                                          javascript.0	2019-04-04 19:01:43.905	error	at Socket.onevent (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:270:10)
                                          javascript.0	2019-04-04 19:01:43.904	error	at Socket.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
                                          javascript.0	2019-04-04 19:01:43.904	error	at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:52:30)
                                          javascript.0	2019-04-04 19:01:43.904	error	at Object.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3705:37)
                                          javascript.0	2019-04-04 19:01:43.904	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:364:25)
                                          javascript.0	2019-04-04 19:01:43.904	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:963:38)
                                          javascript.0	2019-04-04 19:01:43.904	error	at Object.<anonymous> (script.js.010_Testen.Vorlage_Spritpreisrechner_best_five_mit_Strasse_separat:29:100)
                                          javascript.0	2019-04-04 19:01:43.903	error	Error in callback: TypeError: Cannot read property 'name' of undefined
                                          

                                          Wenn jemand bitte einen Rat hat, unbedingt her damit.

                                          LG, mxa

                                          HomoranH sigi234S 2 Replies Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          438

                                          Online

                                          32.6k

                                          Users

                                          82.2k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe