Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Node-red: Spritpreise einlesen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Node-red: Spritpreise einlesen

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

      Hallo,

      nachdem ich Bluefox' Staumelder nochmal studiert habe, habe ich den Spritpreismelder auch noch stark vereinfacht. Ds Einlesen der JSON-Daten geht natürlich so viel leichter.

      Hier der neue Flow (bitte an die eigene API, Geoposition und Spritart denken).

      [{"id":"2b6dcb0f.d49234","type":"inject","name":"Abfrage zeitgesteuert starten (5min)","topic":"","payload":"","payloadType":"date","repeat":"300","crontab":"","once":false,"x":180,"y":61,"z":"9ae8b4fd.651748","wires":[["7f68193d.8097e8"]]},{"id":"7f68193d.8097e8","type":"http request","name":"Tankerkoenig mit API abfragen","method":"GET","ret":"obj","url":"https://creativecommons.tankerkoenig.de/json/list.php?lat=48.XXXX&lng=11.XXXX5&rad=5&sort=price&type=diesel&apikey=XXXX-XXXX-XXXX-XXXX-XXXX","x":192,"y":137,"z":"9ae8b4fd.651748","wires":[["d9506f10.26af9","a1655315.5e9ab"]]},{"id":"3c451f54.c3bae","type":"debug","name":"Ausgabe Name","active":true,"console":"false","complete":"payload","x":677,"y":262,"z":"9ae8b4fd.651748","wires":[]},{"id":"d9506f10.26af9","type":"function","name":"Preis extrahieren","func":"msg.payload = msg.payload.stations[0].price;\nreturn msg;","outputs":"1","valid":true,"x":442,"y":186,"z":"9ae8b4fd.651748","wires":[["754f3c12.8ab0c4"]]},{"id":"50f49f3c.af0b6","type":"debug","name":"Ausgabe Preis","active":true,"console":"false","complete":"payload","x":664,"y":175,"z":"9ae8b4fd.651748","wires":[]},{"id":"297392e5.d68c6e","type":"ioBroker out","name":"Sprit Name der Station","topic":"sprit_station","ack":"true","autoCreate":"true","x":697,"y":297,"z":"9ae8b4fd.651748","wires":[]},{"id":"754f3c12.8ab0c4","type":"ioBroker out","name":"Sprit Preis","topic":"sprit_preis","ack":"true","autoCreate":"true","x":656,"y":211,"z":"9ae8b4fd.651748","wires":[]},{"id":"a1655315.5e9ab","type":"function","name":"Name extrahieren","func":"msg.payload = msg.payload.stations[0].name;\nreturn msg;","outputs":"1","valid":true,"x":444,"y":225,"z":"9ae8b4fd.651748","wires":[["297392e5.d68c6e"]]}]
      

      261_bildschirmfoto_2015-04-20_um_17.25.05.jpg

      Gruß

      Pix

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

        Hier ist ein post verschollen:

        Ich hatte zwischenzeitlich selber mal mein Glück versucht und den Flow verändert:
        144_iobroker_nodered_sprit.jpg

        Ich habe den flow auf zwei Spritsorten erweitert und wollte mich jetzt mal wieder an etwas javascript wagen und noch den Zweit- und drittbilligsten auslesen.

        Gibt es dazu so etwas wie next "name", oder so?

        Störend kam noch dazu, dass der Dieselteil mir Werte anzeigte, die nicht nachprüfbar waren, da wurde eine geschlossene Tankstelle angegeben, mit einem vermutlich veralteten Preis.

        Nach Verringerung des Radius war die dann raus.

        Gruß

        Rainer

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

          Hallo Homoran,

          ich empfehle Dir liebe die http://forum.iobroker.org/viewtopic.php?f=32&t=614&sid=9959c66a64dcc1e8d1e6cd522277c2f5#p4254 des flows zu verwenden: Da steigt man besser durch, welche Werte man anpassen muss, damit man die richtigen Daten bekommt. Der Unterchied ist, dass für jeden Wert ein eigener Function-node verwendet wird.Aber durch die Grafik lässt sich das trotzdem noch gut organisieren. Du legst also hinter jeden gelben node jeweils zwei "orangene" Funktionen (Preis+Name). Willst du den 2. oder 3. musst also 4 oder 6 nodes dahinterpacken.

          Gruß

          Pix

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

            Moin zusammen,

            das Thema node-red hat mich auf dem Usertreffen echt fasziniert.

            Ich baue mir den flow heute Abend auch um 🙂

            Ich möchte den Preis einer bzw. mehrerer bestimmter Tankstellen haben und werde dafür die Auswahl nicht nach Preis, sondern nach der ID machen.

            Dafür macht man einmal manuell eine Suche und sucht sich dann die gewünschte Tankstelle aus der Liste aus und gibt diese als Suchkriterium mit an.

            Mal sehen, ob das klappt (ibzw. ich das hinbekomme 😉 )

            Gruß,

            Eric

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

              @Homoran:

              Ich habe den flow auf zwei Spritsorten erweitert und wollte mich jetzt mal wieder an etwas javascript wagen und noch den Zweit- und drittbilligsten auslesen.

              Gibt es dazu so etwas wie next "name", oder so?

              Störend kam noch dazu, dass der Dieselteil mir Werte anzeigte, die nicht nachprüfbar waren, da wurde eine geschlossene Tankstelle angegeben, mit einem vermutlich veralteten Preis.

              Nach Verringerung des Radius war die dann raus.

              Gruß

              Rainer `

              In der zweiten Variante von pix kannst Du die Objekte ganz einfach auslesen.

              Bei mir sind die ersten beiden Treffer zwei Tankstellen mit einem Spritpreis von 0,00 EUR.

              Also lese ich die dritte Tankstelle aus.

              Den Preis der dritten Tankstelle auslesen.

              msg.payload = msg.payload.stations[2].price;
              return msg;
              

              stations[0] = 1. Tankstelle

              …

              stations[2] = 3. Tankstelle

              Bei den Tankstellen wollte ich auch die Marke und die genaue Anschrift haben.

              Das habe ich dann so im zweiten Wert ausgelesen:

              msg.payload = msg.payload.stations[2].brand + ', '
                          + msg.payload.stations[2].street + ' '
                          + msg.payload.stations[2].houseNumber + ', '
                          + msg.payload.stations[2].postCode + ' '
                          + msg.payload.stations[2].place;
              return msg;
              

              327_2015-04-21_json_tankstellen.jpg

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

                Habe inzwischen selber das System erkannt ([0]…) und weiter rumgebastelt.
                144_iobroker_nodered_sprit_2.jpg

                @ruhr70:

                Diese Tabelle ist Spitze, wie hast du die generiert. Das war das, was ich gestern suchte.

                ich wollte auch mehr Infos rausholen.

                lt.Tanklerkönig gibt es dafür aber zwei abfragen, einmal "list" und einmal "detail"

                Gruß

                Rainer

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

                  Ich habe nochmal weitergespielt und versucht bestimmte Tankstellen auszulesen.

                  irgendwie scheint es nicht zu klappen, wenn Tankstellen geschlossen sind.

                  Daraufhin habe ich mal einen anderen flow versucht:

                  [{"id":"f43c2035.0bc3e","type":"inject","name":"Abfrage alle 15min starten","topic":"","payload":"","payloadType":"date","repeat":"900","crontab":"","once":true,"x":152,"y":558,"z":"9e1279a2.61ed88","wires":[["85444a5a.7abbb8","ff83a1a3.007c6","a7ee9dc6.58116","5388aedb.ac775","7469e67a.8b9618","4cae17ec.b351e8"]]},{"id":"85444a5a.7abbb8","type":"http request","name":"Tankerkoenig mit API abfragen","method":"GET","ret":"obj","url":"https://creativecommons.tankerkoenig.de/json/list.php?lat=50.893151&lng=6.9657667&rad=1&sort=dist&type=diesel&apikey=K E Y","x":521,"y":95,"z":"9e1279a2.61ed88","wires":[["ebc81b8e.1437e8"]]},{"id":"1e693115.e196cf","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1042,"y":39,"z":"9e1279a2.61ed88","wires":[]},{"id":"ebc81b8e.1437e8","type":"function","name":"Daten extrahieren","func":"msg1 = {};\nmsg1.payload = msg.payload.stations[0].name;\n\nmsg2 = {};\nmsg2.payload = msg.payload.stations[0].street;\n\nmsg3 = {};\nmsg3.payload = msg.payload.stations[0].houseNumber;\n\nmsg4 = {};\nmsg4.payload = msg.payload.stations[0].price;\n\nreturn [msg1,msg2,msg3,msg4];","outputs":"4","x":769,"y":95,"z":"9e1279a2.61ed88","wires":[["1e693115.e196cf"],["f5204af4.0adfb8"],["dff4d929.200b28"],["7d69bcf0.829644","84d48ee.f7b2b7"]]},{"id":"84d48ee.f7b2b7","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1040,"y":148,"z":"9e1279a2.61ed88","wires":[]},{"id":"dff4d929.200b28","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1036,"y":111,"z":"9e1279a2.61ed88","wires":[]},{"id":"f5204af4.0adfb8","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1039,"y":74,"z":"9e1279a2.61ed88","wires":[]},{"id":"ff83a1a3.007c6","type":"http request","name":"Tankerkoenig mit API abfragen","method":"GET","ret":"obj","url":"https://creativecommons.tankerkoenig.de/json/list.php?lat=50.8990027&lng=6.9540347&rad=1&sort=dist&type=diesel&apikey=K E Y","x":520,"y":258,"z":"9e1279a2.61ed88","wires":[["b9eb86a6.461478"]]},{"id":"9cb060b8.634fa","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1038,"y":204,"z":"9e1279a2.61ed88","wires":[]},{"id":"b9eb86a6.461478","type":"function","name":"Daten extrahieren","func":"msg1 = {};\nmsg1.payload = msg.payload.stations[0].name;\n\nmsg2 = {};\nmsg2.payload = msg.payload.stations[0].street;\n\nmsg3 = {};\nmsg3.payload = msg.payload.stations[0].houseNumber;\n\nmsg4 = {};\nmsg4.payload = msg.payload.stations[0].price;\n\nreturn [msg1,msg2,msg3,msg4];","outputs":"4","x":765,"y":258,"z":"9e1279a2.61ed88","wires":[["9cb060b8.634fa"],["dcf00ebb.230ff"],["5a2cafa1.a5d35"],["5015d0a5.afea3","a6e00459.591ff8"]]},{"id":"5015d0a5.afea3","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1034,"y":312,"z":"9e1279a2.61ed88","wires":[]},{"id":"5a2cafa1.a5d35","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1032,"y":276,"z":"9e1279a2.61ed88","wires":[]},{"id":"dcf00ebb.230ff","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1035,"y":239,"z":"9e1279a2.61ed88","wires":[]},{"id":"a7ee9dc6.58116","type":"http request","name":"Tankerkoenig mit API abfragen","method":"GET","ret":"obj","url":"https://creativecommons.tankerkoenig.de/json/list.php?lat=50.8580184&lng=6.9646159&rad=1&sort=dist&type=diesel&apikey=K E Y","x":514,"y":413,"z":"9e1279a2.61ed88","wires":[["795bad8d.86a454"]]},{"id":"790c1e85.86f3e","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1037,"y":358,"z":"9e1279a2.61ed88","wires":[]},{"id":"795bad8d.86a454","type":"function","name":"Daten extrahieren","func":"msg1 = {};\nmsg1.payload = msg.payload.stations[0].name;\n\nmsg2 = {};\nmsg2.payload = msg.payload.stations[0].street;\n\nmsg3 = {};\nmsg3.payload = msg.payload.stations[0].houseNumber;\n\nmsg4 = {};\nmsg4.payload = msg.payload.stations[0].price;\n\nreturn [msg1,msg2,msg3,msg4];","outputs":"4","x":764,"y":413,"z":"9e1279a2.61ed88","wires":[["790c1e85.86f3e"],["3203ed64.cdfc12"],["a7a536d2.585ac8"],["2867900c.d7987","16c04316.e93fbd"]]},{"id":"2867900c.d7987","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1033,"y":466,"z":"9e1279a2.61ed88","wires":[]},{"id":"a7a536d2.585ac8","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1031,"y":430,"z":"9e1279a2.61ed88","wires":[]},{"id":"3203ed64.cdfc12","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1034,"y":393,"z":"9e1279a2.61ed88","wires":[]},{"id":"7d69bcf0.829644","type":"ioBroker out","name":"Diesel Verteilerkreis","topic":"Diesel_Verteilerkreis","ack":"true","autoCreate":"true","x":1262,"y":145,"z":"9e1279a2.61ed88","wires":[]},{"id":"a6e00459.591ff8","type":"ioBroker out","name":"Diesel Star Brühler Straße","topic":"Diesel_star","ack":"true","autoCreate":"true","x":1266,"y":313,"z":"9e1279a2.61ed88","wires":[]},{"id":"16c04316.e93fbd","type":"ioBroker out","name":"Diesel Metro","topic":"Diesel_metro","ack":"true","autoCreate":"true","x":1259,"y":464,"z":"9e1279a2.61ed88","wires":[]},{"id":"7469e67a.8b9618","type":"http request","name":"Tankerkoenig mit API abfragen","method":"GET","ret":"obj","url":"https://creativecommons.tankerkoenig.de/json/list.php?lat=50.893151&lng=6.9657667&rad=1&sort=dist&type=e5&apikey=K E Y","x":515,"y":608,"z":"9e1279a2.61ed88","wires":[["7746034c.88b9fc"]]},{"id":"c1604de1.3e9fb","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1037,"y":552,"z":"9e1279a2.61ed88","wires":[]},{"id":"7746034c.88b9fc","type":"function","name":"Daten extrahieren","func":"msg1 = {};\nmsg1.payload = msg.payload.stations[0].name;\n\nmsg2 = {};\nmsg2.payload = msg.payload.stations[0].street;\n\nmsg3 = {};\nmsg3.payload = msg.payload.stations[0].houseNumber;\n\nmsg4 = {};\nmsg4.payload = msg.payload.stations[0].price;\n\nreturn [msg1,msg2,msg3,msg4];","outputs":"4","x":768,"y":608,"z":"9e1279a2.61ed88","wires":[["c1604de1.3e9fb"],["fb673b92.0498c8"],["6752f2ef.98ad0c"],["d3dfa1cb.2c206","9947461b.66b8b8"]]},{"id":"9947461b.66b8b8","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1035,"y":661,"z":"9e1279a2.61ed88","wires":[]},{"id":"6752f2ef.98ad0c","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1031,"y":624,"z":"9e1279a2.61ed88","wires":[]},{"id":"fb673b92.0498c8","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1034,"y":587,"z":"9e1279a2.61ed88","wires":[]},{"id":"4cae17ec.b351e8","type":"http request","name":"Tankerkoenig mit API abfragen","method":"GET","ret":"obj","url":"https://creativecommons.tankerkoenig.de/json/list.php?lat=50.8990027&lng=6.9540347&rad=1&sort=dist&type=e5&apikey=K E Y","x":519,"y":764,"z":"9e1279a2.61ed88","wires":[["c95cc0bd.36a34"]]},{"id":"cbeeb167.34115","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1033,"y":710,"z":"9e1279a2.61ed88","wires":[]},{"id":"c95cc0bd.36a34","type":"function","name":"Daten extrahieren","func":"msg1 = {};\nmsg1.payload = msg.payload.stations[0].name;\n\nmsg2 = {};\nmsg2.payload = msg.payload.stations[0].street;\n\nmsg3 = {};\nmsg3.payload = msg.payload.stations[0].houseNumber;\n\nmsg4 = {};\nmsg4.payload = msg.payload.stations[0].price;\n\nreturn [msg1,msg2,msg3,msg4];","outputs":"4","x":770,"y":764,"z":"9e1279a2.61ed88","wires":[["cbeeb167.34115"],["b79b2d1c.4864d"],["2f01c3a8.d0fe3c"],["e5a2c197.1a5d4","10e313f5.ef1cec"]]},{"id":"e5a2c197.1a5d4","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1029,"y":818,"z":"9e1279a2.61ed88","wires":[]},{"id":"2f01c3a8.d0fe3c","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1027,"y":782,"z":"9e1279a2.61ed88","wires":[]},{"id":"b79b2d1c.4864d","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1030,"y":745,"z":"9e1279a2.61ed88","wires":[]},{"id":"5388aedb.ac775","type":"http request","name":"Tankerkoenig mit API abfragen","method":"GET","ret":"obj","url":"https://creativecommons.tankerkoenig.de/json/list.php?lat=50.8580184&lng=6.9646159&rad=1&sort=dist&type=e5&apikey=K E Y","x":521,"y":924,"z":"9e1279a2.61ed88","wires":[["565b7f0.fa9a48"]]},{"id":"46f30145.b90d","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1032,"y":867,"z":"9e1279a2.61ed88","wires":[]},{"id":"565b7f0.fa9a48","type":"function","name":"Daten extrahieren","func":"msg1 = {};\nmsg1.payload = msg.payload.stations[0].name;\n\nmsg2 = {};\nmsg2.payload = msg.payload.stations[0].street;\n\nmsg3 = {};\nmsg3.payload = msg.payload.stations[0].houseNumber;\n\nmsg4 = {};\nmsg4.payload = msg.payload.stations[0].price;\n\nreturn [msg1,msg2,msg3,msg4];","outputs":"4","x":770,"y":924,"z":"9e1279a2.61ed88","wires":[["46f30145.b90d"],["2f81f08e.d07e1"],["847629c1.7b89d8"],["2eb7227.fd148de","8dd45ac2.722ba8"]]},{"id":"2eb7227.fd148de","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1028,"y":975,"z":"9e1279a2.61ed88","wires":[]},{"id":"847629c1.7b89d8","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1026,"y":939,"z":"9e1279a2.61ed88","wires":[]},{"id":"2f81f08e.d07e1","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1029,"y":902,"z":"9e1279a2.61ed88","wires":[]},{"id":"d3dfa1cb.2c206","type":"ioBroker out","name":"E5 Verteilerkreis","topic":"e5_Verteilerkreis","ack":"true","autoCreate":"true","x":1257,"y":658,"z":"9e1279a2.61ed88","wires":[]},{"id":"10e313f5.ef1cec","type":"ioBroker out","name":"E5 Star Brühler Straße","topic":"e5_star","ack":"true","autoCreate":"true","x":1261,"y":819,"z":"9e1279a2.61ed88","wires":[]},{"id":"8dd45ac2.722ba8","type":"ioBroker out","name":"E5 Metro","topic":"e5_metro","ack":"true","autoCreate":"true","x":1262,"y":977,"z":"9e1279a2.61ed88","wires":[]}]
                  

                  Dazu habe ich für jede Tankstelle eine Abfrage beim Tankerkönig mit exakten Koordinaten und einem radius von 1 (geht es auch kleiner? 0 hat er nicht genommen) und sort=dist(ance).
                  144_iobroker_nodered_sprit_fix.jpg

                  Außerdem gibt er mir Name, Straße und Hausnummer mit aus, dadurch sehe ich ob es die Richtige Tanke ist, wobei das wichtiger ist, wenn man nach Preis sortiert.

                  Beim verwenden des Flows bitte euren apikey und die Koordinaten der gewünschten Tanke eingeben

                  Gruß

                  Rainer

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

                    Hallo Rainer,

                    schöner flow 🙂

                    Wenn Du gezielt Tankstellen abfragen willst, dann kannst Du das über die ID der Tankstelle und der Detailabfrage machen.

                    Beispiel, Abfrage der Tankstelle mit der ID 646a461e-2341-4b5f-8f8b-09edc8f7d22c

                    https://creativecommons.tankerkoenig.de … 5552056644

                    (funktioniert ohne den API-Key)

                    Dort findest Du dann auch die Öffnungszeiten der Tankstelle.

                    Folgende Datenfelder werden ausgegeben:

                    327_2015-04-23_tankerk_nig_detailabfrage.jpg

                    Viele Grüße nach Godorf 😉

                    Michael

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

                       Viele Grüße nach Godorf ;-) 
                      

                      Knapp daneben [emoji6]

                      Womit und wie machst du die Tabellen?

                      Gruß

                      Rainer

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

                        Ich habe mir einen speziellen JSON Editor installiert.

                        In meinem Fall Cocoa JSON Editor für den Mac.

                        Und dann einfach "neue Datei aus Zwischenablage" auswählen.

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

                          http://codebeautify.org/jsonviewer ist auch ganz praktisch.

                          Gruß

                          Pix

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

                            @pix:

                            http://codebeautify.org/jsonviewer ist auch ganz praktisch.

                            Gruß

                            Pix `

                            Danke! Super Tipp!

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

                              Es gibt auch plugin für notepad++ - JSTool
                              48_json.png

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

                                so,

                                nachdem ich nun auch wieder ein TestSystem laufen habe wollte ich auch weiter mit NODE-RED testen

                                ` > msg.payload = msg.payload.stations[1].price;

                                return msg; `

                                wenn ich diese function nehme bekomme ich immer eine Fehlermeldung

                                TypeError: Cannot read property '1' of undefined (line 1, col 35)
                                
                                
                                	25 Apr 20:00:18 - [error] [function:Station 1] TypeError: Cannot read property '1' of undefined (line 1, col 35)
                                
                                

                                was mache ich falsch?

                                wie ist da der Stand bei euch?

                                Gruß

                                derAuge

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

                                  Was kommt denn, wenn Du die URL, die Du im http response node eingetragen hast, direkt im Browser eingibst?

                                  Kannst Du das Ergebnis hier posten.

                                  stations[1] ist die zweite Tankstelle.

                                  Vielleicht ergibt Dein eingestellter Radius ja weniger als eine Tankstelle.

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

                                    {"license":"CC BY 4.0 -  http:\/\/creativecommons.tankerkoenig.de","data":"MTS-K","stations":[{"name":"JET BORKEN NORDRING 46-48","lat":51.84667,"lng":6.84642,"brand":"JET","dist":1.7,"price":1.189,"id":"XXXX","street":"NORDRING 46-48","houseNumber":null,"postCode":46325,"place":"BORKEN"},{"name":"AVIA Tankstelle","lat":51.852592,"lng":6.864203,"brand":"AVIA","dist":0.4,"price":1.199,"id":"11652441-f3fc-4fc9-a87a-664db366b5af","street":"Ahauser Stra\u00dfe","houseNumber":"21","postCode":46325,"place":"Borken"},{"name":"AVIA Tankstelle","lat":51.85873,"lng":6.8657813,"brand":"AVIA","dist":0.8,"price":1.199,"id":"XXXX","street":"Ahauser Stra\u00dfe","houseNumber":"84","postCode":46325,"place":"Borken"},{"name":"A. Kuenstler GmbH","lat":51.86033,"lng":6.87505,"brand":"A. Kuenstler GmbH","dist":1,"price":1.199,"id":"XXXX","street":"Landwehr","houseNumber":"27","postCode":46325,"place":"Borken"},{"name":"AVIA Service Station","lat":51.857345,"lng":6.875487,"brand":"Freie Tankstelle","dist":0.8,"price":1.239,"id":"XXXX","street":"Otto-Hahn-Str.","houseNumber":"35","postCode":46325,"place":"Borken"},{"name":"Autozentrum Ebber GmbH & Co.KG","lat":51.83871,"lng":6.85797,"brand":"Westfalen","dist":1.6,"price":1.239,"id":"XXXX","street":"Raesfelder Str.","houseNumber":"24","postCode":46325,"place":"Borken"},{"name":"Aral Tankstelle","lat":51.844696,"lng":6.843055,"brand":"ARAL","dist":2,"price":1.239,"id":"XXXX","street":"Nordring","houseNumber":"178","postCode":46325,"place":"Borken"}]}
                                    
                                    

                                    1620_betriebsstundenzaehler_097.js

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

                                      Um Deine zweite Frage zu beantworten… es funktioniert wunderbar.

                                      Deine URL ermittelt sieben Tankstellen.

                                      Deine Funktion müsste den Preis der 2. Tankstelle ermitteln (derzeit AVIA), 1,199 EUR.

                                      Ich würde jetzt ein Debug node direkt hinter dem http response node setzen. Dann müsste die Ausgabe rauskommen, die Du vorhin gepostet hattest.

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

                                        @ruhr70:

                                        Um Deine zweite Frage zu beantworten… es funktioniert wunderbar.

                                        Deine URL ermittelt sieben Tankstellen.

                                        Deine Funktion müsste den Preis der 2. Tankstelle ermitteln (derzeit AVIA), 1,199 EUR.

                                        Ich würde jetzt ein Debug node direkt hinter dem http response node setzen. Dann müsste die Ausgabe rauskommen, die Du vorhin gepostet hattest. `

                                        genau das habe ich ja gemacht
                                        315_tanker.png

                                        ich schreich ja auch in eine Datei

                                        Da kann ich ja sehen was abgeholt wurde

                                        aber die Funktion (Station 1) bringt nur die Fehlermeldung

                                        msg.payload = msg.payload.stations[1].price;
                                        return msg;
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • ruhr70
                                          ruhr70 last edited by

                                          der Returntyp aus der http Abfrage ist falsch.

                                          Du nutzt noch Text aus dem ersten Beispiel ganz oben.

                                          Um JSON mit dem Script auszugeben muss der Returntyp auf Objekt stehen.

                                          D.h. Deine erste Funktion wird dann nicht mehr korrekt funktionieren.

                                          Gesendet von iPhone mit Tapatalk

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

                                            Super

                                            Danke für den Tipp

                                            Wenn es als Objekt übergeben wird
                                            315_node-red_json-objekt.png
                                            dann funktioniert es

                                            Gruß

                                            derAuge

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            875
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            24
                                            125
                                            33965
                                            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