Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. Node-red: Spritpreise einlesen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Node-red: Spritpreise einlesen

Scheduled Pinned Locked Moved Node-Red
125 Posts 24 Posters 37.6k Views
  • 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.
  • P Offline
    P Offline
    pix
    wrote on last edited by
    #4

    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

    ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

    1 Reply Last reply
    0
    • eric2905E Online
      eric2905E Online
      eric2905
      wrote on last edited by
      #5

      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

      Roses are red, violets are blue,

      if I listen to metal, my neighbours do too

      1 Reply Last reply
      0
      • ruhr70R Offline
        ruhr70R Offline
        ruhr70
        wrote on last edited by
        #6

        @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

        Adapter: Fritzbox, Unify Circuit
        Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

        1 Reply Last reply
        0
        • HomoranH Do not disturb
          HomoranH Do not disturb
          Homoran
          Global Moderator Administrators
          wrote on last edited by
          #7

          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

          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 -

          1 Reply Last reply
          0
          • HomoranH Do not disturb
            HomoranH Do not disturb
            Homoran
            Global Moderator Administrators
            wrote on last edited by
            #8

            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

            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 -

            1 Reply Last reply
            0
            • ruhr70R Offline
              ruhr70R Offline
              ruhr70
              wrote on last edited by
              #9

              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

              Adapter: Fritzbox, Unify Circuit
              Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

              1 Reply Last reply
              0
              • HomoranH Do not disturb
                HomoranH Do not disturb
                Homoran
                Global Moderator Administrators
                wrote on last edited by
                #10
                 Viele Grüße nach Godorf ;-) 
                

                Knapp daneben [emoji6]

                Womit und wie machst du die Tabellen?

                Gruß

                Rainer

                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 -

                1 Reply Last reply
                0
                • ruhr70R Offline
                  ruhr70R Offline
                  ruhr70
                  wrote on last edited by
                  #11

                  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.

                  Adapter: Fritzbox, Unify Circuit
                  Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                  1 Reply Last reply
                  0
                  • P Offline
                    P Offline
                    pix
                    wrote on last edited by
                    #12

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

                    Gruß

                    Pix

                    ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                    1 Reply Last reply
                    0
                    • ruhr70R Offline
                      ruhr70R Offline
                      ruhr70
                      wrote on last edited by
                      #13

                      @pix:

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

                      Gruß

                      Pix `

                      Danke! Super Tipp!

                      Adapter: Fritzbox, Unify Circuit
                      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                      1 Reply Last reply
                      0
                      • BluefoxB Offline
                        BluefoxB Offline
                        Bluefox
                        wrote on last edited by
                        #14

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

                        1 Reply Last reply
                        0
                        • derAugeD Offline
                          derAugeD Offline
                          derAuge
                          wrote on last edited by
                          #15

                          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
                          0
                          • ruhr70R Offline
                            ruhr70R Offline
                            ruhr70
                            wrote on last edited by
                            #16

                            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.

                            Adapter: Fritzbox, Unify Circuit
                            Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                            1 Reply Last reply
                            0
                            • derAugeD Offline
                              derAugeD Offline
                              derAuge
                              wrote on last edited by
                              #17
                              {"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
                              0
                              • ruhr70R Offline
                                ruhr70R Offline
                                ruhr70
                                wrote on last edited by
                                #18

                                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.

                                Adapter: Fritzbox, Unify Circuit
                                Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                1 Reply Last reply
                                0
                                • derAugeD Offline
                                  derAugeD Offline
                                  derAuge
                                  wrote on last edited by
                                  #19

                                  @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
                                  0
                                  • ruhr70R Offline
                                    ruhr70R Offline
                                    ruhr70
                                    wrote on last edited by
                                    #20

                                    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

                                    Adapter: Fritzbox, Unify Circuit
                                    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                    1 Reply Last reply
                                    0
                                    • derAugeD Offline
                                      derAugeD Offline
                                      derAuge
                                      wrote on last edited by
                                      #21

                                      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
                                      0
                                      • derAugeD Offline
                                        derAugeD Offline
                                        derAuge
                                        wrote on last edited by
                                        #22

                                        @ruhr70:

                                        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:
                                        filename="2015-04-23 Tankerkönig Detailabfrage.jpg" index="0">~~
                                        Viele Grüße nach Godorf 😉

                                        Michael `

                                        Hallo Michael,

                                        das möchte ich auch umsetzen.

                                        nutze ein GET mit "https://creativecommons.tankerkoenig.de/json/detail.php + id + Key"

                                        wird als JSON- Objekt übergeben

                                        Das speichen in deiner Datei ergibt folgenden Inhalt:

                                        {
                                        	"license" : "CC BY 4.0 -  http://creativecommons.tankerkoenig.de",
                                        	"data" : "MTS-K",
                                        	"station" : {
                                        		"id" : "51d4b6b0-a095-1aa0-e100-80009459e03a",
                                        		"name" : "JET BORKEN NORDRING 46-48",
                                        		"brand" : "JET",
                                        		"street" : "NORDRING 46-48",
                                        		"houseNumber" : null,
                                        		"postCode" : 46325,
                                        		"place" : "BORKEN",
                                        		"overrides" : [],
                                        		"openUntil" : 1430172000,
                                        		"isOpen" : true,
                                        		"e5" : 1.509,
                                        		"e10" : 1.489,
                                        		"diesel" : 1.279,
                                        		"lat" : 51.84667,
                                        		"lng" : 6.84642,
                                        		"state" : null,
                                        		"openingTimes" : [{
                                        				"text" : "Montag, Dienstag, Mittwoch, Donnerstag",
                                        				"start" : "05:00:00",
                                        				"end" : "00:00:00"
                                        			}, {
                                        				"text" : "Freitag, Sonntag",
                                        				"start" : "07:00:00",
                                        				"end" : "00:00:00"
                                        			}, {
                                        				"text" : "Samstag",
                                        				"start" : "06:00:00",
                                        				"end" : "00:00:00"
                                        			}
                                        		]
                                        	}
                                        }
                                        
                                        

                                        nun möchte ich über eine Funktion ein einige Daten heraus filtern

                                        z.B.:

                                        msg1 = {};
                                        msg1.payload = msg.payload.station[0].name;
                                        msg2 = {};
                                        msg2.payload = msg.payload.station[0].diesel;
                                        msg3 = {};
                                        msg3.payload = msg.payload.station[0].isOpen;
                                        msg4 = {};
                                        msg4.payload = msg.payload.station[0].openUntil;
                                        
                                        return [msg1,msg2,msg3,msg4];
                                        
                                        

                                        das funktioniert leider nicht. :oops: Ich habe da wohl noch einiges nicht verstanden

                                        folgende Fehlermeldung:

                                        • TypeError: Cannot read property '0' of undefined (line 1, col 39
                                        • node-red-0 2015-04-26 13:12:57 error 26 Apr 13:12:57 - [error] [function:(detail) Daten extrahieren] TypeError: Cannot read property '0' of undefined (line 1, col 39)

                                        Was mache ich falsch?

                                        Gruß

                                        derAuge

                                        1 Reply Last reply
                                        0
                                        • ruhr70R Offline
                                          ruhr70R Offline
                                          ruhr70
                                          wrote on last edited by
                                          #23

                                          bin unterwegs

                                          nimm mal bitte das [0] weg.

                                          Gesendet von iPhone mit Tapatalk

                                          Adapter: Fritzbox, Unify Circuit
                                          Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          340

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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