Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Skripten des E-Control Spritpreisrechners

    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

    Skripten des E-Control Spritpreisrechners

    This topic has been deleted. Only users with topic management privileges can see it.
    • Negalein
      Negalein Global Moderator @metaxa last edited by

      @metaxa sagte in Skripten des E-Control Spritpreisrechners:

      Am Besten ganz oben den 1. Beitrag (reicht auch ohne Script erstellen) und die passende URL basteln und mit dem Parser abfragen und in einen Datenpunkt eintragen.

      Danke

      Den Link vom 1. Beitrag hab ich mir schon angesehen. Leider ist das für mich alles nur ein riesengroßer Bahnhof. 😞

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

        Hi,
        ich habe mich auch länger damit beschäftigt. Ich versuchs mal aufzuschreiben:

        1. Hier fängst an: API mach auf und lasse es offen
        2. von Wo bist zu Hause? holst du dir die Latitude und die Longitude
        3. unter 1) dann eintragen, auch welchen Sprit und ob offen oder zu (dazu rechts auf den Knopf drücken)
          e546204b-b290-4bde-add8-2d51d09c6d88-grafik.png
          e0f35e9b-d2be-47ac-b069-62ddb7615fa8-grafik.png
        4. "Execute" anklicken
        5. dann findest du das:
          69ea5e6e-354b-45ec-862b-3fc842e6ef7e-grafik.png

        Mach mal!
        LG, mxa

        1 Reply Last reply Reply Quote 1
        • SmarthomeMF
          SmarthomeMF @metaxa last edited by

          @metaxa sagte in Skripten des E-Control Spritpreisrechners:

          Habe mich jetzt doch etliche Stunden mit der Materie JS befaßt und festgestellt, wir sind realtiv inkompatibel. Somit blieb mir nur eine gewisse Grundlogik gepaart mit try&error. Nach vielen Misserfolgen kam die Freude:

          wo sollen die Preistreffer kommen?????

          Ich habe parser installiert, und er läutf mit der API vom Spritpreisrechner
          110.PNG
          Habe im Skript den parser eingetragen
          111.PNG
          und dann?

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

            @metaxa

            Ich hab auch das Problem wie @SmarthomeMF

            Habe im Parser den Link eingetragen.
            https://api.e-control.at/sprit/1.0/search/gas-stations/by-address?latitude=XX.XXXXXX&longitude=XX.XXXXXX&fuelType=DIE&includeClosed=false
            instances - ioBroker.png

            Scheint unter Objekte auch auf.
            objects - ioBroker (1).png

            Aber in den Objekter scheint javascript.0.spritpreisrechner nicht auf.
            objects - ioBroker.png

            Hab ich was übersehen?

            Das Script hab ich so angepasst.

            on({id: "parser.0.Spritpreisrechner"/*Spritpreisrechner*/, change: 'any'}, function(obj)
            {
                var pricehit_01 = "undefiniert";
                var pricehit_02 = "undefiniert";
                var pricehit_03 = "undefiniert";
                var pricehit_04 = "undefiniert";
                var pricehit_05 = "undefiniert";
                var index = 0;
                var gasStation = JSON.parse(obj.state.val);
                if (gasStation.length === 0) return;
             
                for (index = 0; index < gasStation.length; ++index) {
             
                pricehit_01 = gasStation[0].name + " " + (gasStation[0].prices[0].amount).toString().replace(".",",") + " €";
                pricehit_02 = gasStation[1].name + " " + (gasStation[1].prices[0].amount).toString().replace(".",",") + " €";
                pricehit_03 = gasStation[2].name + " " + (gasStation[2].prices[0].amount).toString().replace(".",",") + " €";
                pricehit_04 = gasStation[3].name + " " + (gasStation[3].prices[0].amount).toString().replace(".",",") + " €";
                pricehit_05 = gasStation[4].name + " " + (gasStation[4].prices[0].amount).toString().replace(".",",") + " €";
                }
             
            setState("javascript.0.Spritpreisrechner.Preistreffer_01"/*Aktueller Spritpreis*/, pricehit_01);
            setState("javascript.0.Spritpreisrechner.Preistreffer_02"/*Aktueller Spritpreis*/, pricehit_02);
            setState("javascript.0.Spritpreisrechner.Preistreffer_03"/*Aktueller Spritpreis*/, pricehit_03);
            setState("javascript.0.Spritpreisrechner.Preistreffer_04"/*Aktueller Spritpreis*/, pricehit_04);
            setState("javascript.0.Spritpreisrechner.Preistreffer_05"/*Aktueller Spritpreis*/, pricehit_05);
            });
            
            metaxa 1 Reply Last reply Reply Quote 0
            • metaxa
              metaxa last edited by metaxa

              @SmarthomeMF sagte in Skripten des E-Control Spritpreisrechners:

              Ich habe parser installiert, und er läutf mit der API vom Spritpreisrechner

              Ist doch schon ein großer Schritt in die richtige Richtung! Nur, wenn du dir deinen Datenpunkt unter Objekte parser.0.Sprit ansiehst, wird da außer true oder false nix drinnen stehen. Bitte prüfe das!
              Weil,
              b29bbd32-e480-420b-99cf-b7a23b50cbef-grafik.png du unter Typ boolen nicht wie im 1. Beitrag geschrieben "JSON" ausgewählt hast.

              @steinejo_io sagte in Skripten des E-Control Spritpreisrechners:

              Name hab ich Spritpreisrechner vergeben - Rolle default - TYP JSON - und auch "Letztes Wert" anhaken dann geht euch euer Skript nicht hops wenn die E-Control mal nicht da ist.

              Wenn du in deinem Datenpunkt einen sehr langen String stehen hast, dann machen wir mit

              @SmarthomeMF sagte in Skripten des E-Control Spritpreisrechners:

              wo sollen die Preistreffer kommen?????

              weiter!
              LG, mxa

              1 Reply Last reply Reply Quote 0
              • metaxa
                metaxa @Negalein last edited by

                @Negalein

                @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                Ich hab auch das Problem wie @SmarthomeMF

                Siehe meinen Beitrag von soeben an "SmarthomeMF"

                LG, mxa

                Negalein 1 Reply Last reply Reply Quote 0
                • Negalein
                  Negalein Global Moderator @metaxa last edited by

                  @metaxa sagte in Skripten des E-Control Spritpreisrechners:

                  Siehe meinen Beitrag von soeben an "SmarthomeMF"

                  Danke, habs auf JSON geändert und jetzt kommt auch der seeeehr lange String.

                  Aber unter javascript.0 scheint nichts auf.

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

                    @metaxa sagte in Skripten des E-Control Spritpreisrechners:

                    Wenn du in deinem Datenpunkt einen sehr langen String stehen hast, dann machen wir mit

                    Hab ich
                    001.PNG

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

                      ok, perfekt 🙂 (Ich der große ioBroker Klugscheisser, hahahaha)

                      "Mein" Script beschreibt die von mir händisch - in meiner Struktur - angelegten Datenpunkte. Wenn ihr noch keine eigene Struktur habt oder wollt, dann müsst ihr bitte diese Zeilen

                      setState("a_andreas.0.eigene_dp.Spritpreisrechner.Preistreffer_01"/*Aktueller Spritpreis*/, pricehit_01);
                      setState("a_andreas.0.eigene_dp.Spritpreisrechner.Preistreffer_02"/*Aktueller Spritpreis*/, pricehit_02);
                      setState("a_andreas.0.eigene_dp.Spritpreisrechner.Preistreffer_03"/*Aktueller Spritpreis*/, pricehit_03);
                      setState("a_andreas.0.eigene_dp.Spritpreisrechner.Preistreffer_04"/*Aktueller Spritpreis*/, pricehit_04);
                      setState("a_andreas.0.eigene_dp.Spritpreisrechner.Preistreffer_05"/*Aktueller Spritpreis*/, pricehit_05);
                      

                      abändern. Jeweils der Logik folgend in

                      setState("javascript.0.Aktueller_Spritpreis_01"/*Aktueller Spritpreis*/, pricehit_01);
                      setState("javascript.0.Aktueller_Spritpreis_02"/*Aktueller Spritpreis*/, pricehit_02);
                      usw.......
                      

                      Was ich jeztz nicht weiß, ob JS die Datenpunkte automatisch auch anlegt. Unter JS kann man Datenpunkte auto nur nur in der JS Struktur anlegen, nicht wo anders.

                      Versucht es mal!
                      LG, mxa

                      Negalein 1 Reply Last reply Reply Quote 0
                      • Negalein
                        Negalein Global Moderator @metaxa last edited by Negalein

                        @metaxa sagte in Skripten des E-Control Spritpreisrechners:

                        Was ich jeztz nicht weiß, ob JS die Datenpunkte automatisch auch anlegt. Unter JS kann man Datenpunkte auto nur nur in der JS Struktur anlegen, nicht wo anders.

                        Hat leider nicht funktioniert.

                        Habs geändert in

                        setState("javascript.0.Aktueller_Spritpreis_01"/*Aktueller Spritpreis*/, pricehit_01);
                        setState("javascript.0.Aktueller_Spritpreis_02"/*Aktueller Spritpreis*/, pricehit_02);
                        setState("javascript.0.Aktueller_Spritpreis_03"/*Aktueller Spritpreis*/, pricehit_03);
                        setState("javascript.0.Aktueller_Spritpreis_04"/*Aktueller Spritpreis*/, pricehit_04);
                        setState("javascript.0.Aktueller_Spritpreis_05"/*Aktueller Spritpreis*/, pricehit_05);
                        

                        doch unter javascript.0 scheint es nicht auf

                        wie könnte ich händisch die DP anlegen?

                        1 Reply Last reply Reply Quote 1
                        • SmarthomeMF
                          SmarthomeMF last edited by

                          läuft bei mir auch nicht
                          01.PNG
                          02.PNG
                          irgendwas machen wir falsch!

                          Negalein metaxa 2 Replies Last reply Reply Quote 0
                          • Negalein
                            Negalein Global Moderator @SmarthomeMF last edited by

                            @SmarthomeMF sagte in Skripten des E-Control Spritpreisrechners:

                            läuft bei mir auch nicht

                            hast du die DP unter javascript.0 händisch angelegt?

                            Geht das über den Expertenmodus und dann auf das "+"?

                            Wenn ja, was gehört bei Datenpunkttyp ausgewählt?

                            metaxa 1 Reply Last reply Reply Quote 0
                            • metaxa
                              metaxa @Negalein last edited by

                              @Negalein bc54c0b0-a96c-4c30-b40f-29b2f776757a-grafik.png

                              Negalein 1 Reply Last reply Reply Quote 0
                              • Negalein
                                Negalein Global Moderator @metaxa last edited by

                                @metaxa sagte in Skripten des E-Control Spritpreisrechners:

                                @Negalein bc54c0b0-a96c-4c30-b40f-29b2f776757a-grafik.png

                                Danke

                                Was gehört bei Datenpunkttyp ausgewählt?

                                metaxa 1 Reply Last reply Reply Quote 0
                                • metaxa
                                  metaxa @SmarthomeMF last edited by

                                  @SmarthomeMF sagte in Skripten des E-Control Spritpreisrechners:

                                  irgendwas machen wir falsch!

                                  Glaube ich nicht, ich denke der ParserDP hat sich nicht geändert. Ihr müßt eine Änderung erzwingen!

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

                                    @metaxa sagte in Skripten des E-Control Spritpreisrechners:

                                    ich denke der ParserDP hat sich nicht geändert. Ihr müßt eine Änderung erzwingen!

                                    wie

                                    metaxa 1 Reply Last reply Reply Quote 0
                                    • metaxa
                                      metaxa @Negalein last edited by

                                      @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                                      Was gehört bei Datenpunkttyp ausgewählt?

                                      54211747-59f4-44f7-8d1a-052e9d258088-grafik.png

                                      1 Reply Last reply Reply Quote 0
                                      • metaxa
                                        metaxa @SmarthomeMF last edited by

                                        @SmarthomeMF sagte in Skripten des E-Control Spritpreisrechners:

                                        @metaxa sagte in Skripten des E-Control Spritpreisrechners:

                                        ich denke der ParserDP hat sich nicht geändert. Ihr müßt eine Änderung erzwingen!

                                        wie

                                        Die Profis werden mich erschlagen ..... ich habe immer den Datentyp auf boolen umgeändert (so wie du es urspünglich falsch hattest) speichern, dann wurde der DP geändert, der String wieder weg. Dann wieder richtig auf JSON geändert und gespeichert, dann aktualisert er wieder. Darauf sollte dein Script reagieren.

                                        Hm?
                                        LG

                                        Negalein 2 Replies Last reply Reply Quote 1
                                        • Negalein
                                          Negalein Global Moderator @metaxa last edited by

                                          @metaxa sagte in Skripten des E-Control Spritpreisrechners:

                                          Die Profis werden mich erschlagen ..... ich habe immer den Datentyp auf boolen umgeändert (so wie du es urspünglich falsch hattest) speichern, dann wurde der DP geändert, der String wieder weg. Dann wieder richtig auf JSON geändert und gespeichert, dann aktualisert er wieder. Darauf sollte dein Script reagieren.

                                          DANKE, es funktioniert

                                          objects - ioBroker (4).png

                                          metaxa 1 Reply Last reply Reply Quote 0
                                          • Negalein
                                            Negalein Global Moderator @metaxa last edited by

                                            @metaxa sagte in Skripten des E-Control Spritpreisrechners:

                                            Darauf sollte dein Script reagieren.

                                            PS: bitte melde dich, wenn du es geschafft hast, die Adresse anzeigen zu lassen.
                                            Leider gibt es bei mir zB 2 Tankstellen, die gleich heißen, aber doch 30km auseinander sind.
                                            Da wäre die Adresse (zumindest der Ort) sehr vorteilhaft.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            808
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript monitoring
                                            21
                                            292
                                            33164
                                            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