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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. Node-red: Spritpreise einlesen

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    346

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

Node-red: Spritpreise einlesen

Geplant Angeheftet Gesperrt Verschoben Node-Red
125 Beiträge 24 Kommentatoren 38.0k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • ruhr70R Offline
      ruhr70R Offline
      ruhr70
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • ruhr70R Offline
          ruhr70R Offline
          ruhr70
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • P Offline
            P Offline
            pix
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • ruhr70R Offline
              ruhr70R Offline
              ruhr70
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • BluefoxB Offline
                BluefoxB Offline
                Bluefox
                schrieb am zuletzt editiert von
                #14

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

                1 Antwort Letzte Antwort
                0
                • derAugeD Offline
                  derAugeD Offline
                  derAuge
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • ruhr70R Offline
                    ruhr70R Offline
                    ruhr70
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • derAugeD Offline
                      derAugeD Offline
                      derAuge
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • ruhr70R Offline
                        ruhr70R Offline
                        ruhr70
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • derAugeD Offline
                          derAugeD Offline
                          derAuge
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • ruhr70R Offline
                            ruhr70R Offline
                            ruhr70
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            0
                            • derAugeD Offline
                              derAugeD Offline
                              derAuge
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              • derAugeD Offline
                                derAugeD Offline
                                derAuge
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                • ruhr70R Offline
                                  ruhr70R Offline
                                  ruhr70
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  0
                                  • derAugeD Offline
                                    derAugeD Offline
                                    derAuge
                                    schrieb am zuletzt editiert von
                                    #24

                                    @ruhr70:

                                    bin unterwegs

                                    nimm mal bitte das [0] weg. `

                                    Danke für den Tipp.

                                    So geht es:

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

                                    Dann kann ich nun weiter testen (lernen)

                                    Gruß

                                    derAuge

                                    1 Antwort Letzte Antwort
                                    0
                                    • ruhr70R Offline
                                      ruhr70R Offline
                                      ruhr70
                                      schrieb am zuletzt editiert von
                                      #25

                                      na, dann sind wir da ähnlich weit.

                                      hab mit dem Thema auch gerade erst angefangen.

                                      wie ich das verstanden habe hängt es von der Struktur des JSON ab, Ob du [] brauchst oder nicht.

                                      wenn es mehrere Werte geben kann ist der Teil als Array (?) strukturiert. dann brauchst du die Klammern. Das erkennt man an der Baumstruktur

                                      sorry für den chaotischer Text. Er ist per Spracheingabe diktiert.

                                      Gesendet von iPhone mit Tapatalk

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

                                      1 Antwort Letzte Antwort
                                      0
                                      • P Offline
                                        P Offline
                                        pix
                                        schrieb am zuletzt editiert von
                                        #26

                                        Hallo,

                                        mich hat bei der Ausgabe der Spritpreise die dritte Stelle nach dem Komma (Hoch 9) gestört. In Deutschland wird sie zur Berechnung herangezogen,im Sprachgebrauch aber nie genannt. Zur Anzeige in VIS habe ich deshalb ein kleines Skript geschrieben, dass den Preis auf zwei Nachkommastellen setzt, ohne zu runden.

                                        /* System VIS Spritpreis
                                        
                                        Skript kürzt Spritpreis aus Node Red um eine Stelle (von drei auf zwei Stellen nach dem Komma)
                                        in Vis Widget wird die Entität ⁹ (hoch 9) bzw mit <sup>9</sup> angehängt.
                                        (aus 1.119 wird 1.11hoch9)
                                        
                                        erstellt: 28.04.2015 von pix
                                        */
                                        
                                        // Erstellen der Variablen
                                        createState('Sprit_Preis_kurz');
                                        
                                        var idPreis = "node-red.0.sprit_preis"/*sprit_preis*/
                                            idPreis_kurz = "javascript.0.Sprit_Preis_kurz";
                                        
                                        // Preis kürzen
                                        on( {
                                            id: idPreis,
                                            valGt: 0
                                        }, function (data) {
                                            var rechenwert = data.newState.val * 100; // 100facher Preis jetzt mit einer Nachkommastelle
                                            rechenwert = Math.floor(rechenwert); // Nachkommastelle (.9) wird abgeschnitten
                                            rechenwert = rechenwert/100; // es bleiben zwei Nachkommastellen
                                            setState(idPreis_kurz, rechenwert);
                                        
                                        });
                                        

                                        261_bildschirmfoto_2015-04-28_um_15.49.52.jpg

                                        Voranstellen HTML:````
                                        Diesel

                                        HTML anhängen:````
                                        <sup>9</sup> €
                                        

                                        Font-Size: 30px

                                        261_bildschirmfoto_2015-04-28_um_15.53.35.jpg

                                        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 Antwort Letzte Antwort
                                        0
                                        • HomoranH Nicht stören
                                          HomoranH Nicht stören
                                          Homoran
                                          Global Moderator Administrators
                                          schrieb am zuletzt editiert von
                                          #27

                                          Das ist eine gute Idee. Die Optik ist super, aber….

                                          Es gibt tatsächlich Tankstellen, die mit halben cent arbeiten und z.b. den Diesel dann für 1.184 anbieten.

                                          Gruß

                                          Rainer

                                          Gesendet von meinem Cynus T7 mit Tapatalk

                                          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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          758

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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