Navigation

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

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Spritpreise einlesen

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

      Das wär total Super 😄

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

        Mach ich heute Abend, wenn ich zu Hause bin.

        Gruß,

        Eric

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

          Hallo zusammen,

          hier als Widget-Export der Teil meiner View.

          Ich habe alle Daten anonymisiert.

          ! ````
          [{"tpl":"tplValueFloat","data":{"oid":"node-red.0.Tankstelle_Schwelm_B7_Esso.diesel.lang","visibility-cond":"==","visibility-val":1,"is_comma":"true","factor":"1","html_append_singular":" €","html_append_plural":" €"},"style":{"left":"572px","top":"194px","width":"80px","height":"22px","color":"white","text-align":"right","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"large","z-index":"20"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"node-red.0.Tankstelle_Wuppertal_Dahlerstrasse_Shell.diesel.lang","visibility-cond":"==","visibility-val":1,"is_comma":"true","factor":"1","html_append_singular":" €","html_append_plural":" €"},"style":{"left":"572px","top":"219px","width":"80px","height":"22px","color":"white","text-align":"right","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"large","z-index":"20"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"node-red.0.Tankstelle_Wuppertal_ObereLicht_Shell.diesel.lang","visibility-cond":"==","visibility-val":1,"is_comma":"true","factor":"1","html_append_singular":" €","html_append_plural":" €"},"style":{"left":"572px","top":"244px","width":"80px","height":"22px","color":"white","text-align":"right","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"large","z-index":"20"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"node-red.0.Tankstelle_Wuppertal_ObereLicht_Star.diesel.lang","visibility-cond":"==","visibility-val":1,"is_comma":"true","factor":"1","html_append_singular":" €","html_append_plural":" €"},"style":{"left":"572px","top":"269px","width":"80px","height":"22px","color":"white","text-align":"right","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"large","z-index":"20"},"widgetSet":"basic"},{"tpl":"tplFrame","data":{"visibility-cond":"==","visibility-val":1,"title":"Dieselpreise","title_color":"black","title_top":"5","title_left":"15","header_height":"30","header_color":"#a0c0ca","title_back":""},"style":{"left":"287px","top":"149px","width":"377px","height":"219px","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"large","z-index":"5"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"node-red.0.Tankstelle_Gevelsberg_B7_Jet.diesel.lang","visibility-cond":"==","visibility-val":1,"is_comma":"true","factor":"1","html_append_singular":" €","html_append_plural":" €","oid-quality":"","class_true":"","class_false":""},"style":{"left":"572px","top":"294px","width":"80px","height":"22px","color":"white","text-align":"right","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"large","z-index":"20"},"widgetSet":"basic"},{"tpl":"tplValueListHtml8","data":{"oid":"node-red.0.Tankstelle1.offen","visibility-cond":"==","visibility-val":1,"count":"1","value0":"Tankstelle 1","value1":"Tankstelle 1","style1":"color: lightgreen","style0":"color: red","value2":"Offen","style2":"background-color: red; padding:4px;","test_list":"0","html_prepend":""},"style":{"left":"297px","top":"194px","color":"white","text-align":"left","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"","width":"285px","height":"20px","z-index":"20"},"widgetSet":"basic"},{"tpl":"tplValueListHtml8","data":{"oid":"node-red.0.Tankstelle2.offen","visibility-cond":"==","visibility-val":1,"count":"1","value0":"Tankstelle 2","value1":"Tankstelle 2","style1":"color: lightgreen","style0":"color: red","value2":"Offen","style2":"background-color: red; padding:4px;","test_list":"0"},"style":{"left":"297px","top":"219px","color":"white","text-align":"left","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"","width":"285px","height":"20px","z-index":"20"},"widgetSet":"basic"},{"tpl":"tplValueListHtml8","data":{"oid":"node-red.0.Tankstelle3offen","visibility-cond":"==","visibility-val":1,"count":"1","value0":"Tankstelle 3","value1":"Tankstelle 3","style1":"color: lightgreen","style0":"color: red","value2":"Offen","style2":"background-color: red; padding:4px;","test_list":"0"},"style":{"left":"297px","top":"244px","color":"white","text-align":"left","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"","width":"285px","height":"20px","z-index":"20"},"widgetSet":"basic"},{"tpl":"tplValueListHtml8","data":{"oid":"node-red.0.Tankstelle4.offen","visibility-cond":"==","visibility-val":1,"count":"1","value0":"Tankstelle 4","value1":"Tankstelle 4","style1":"color: lightgreen","style0":"color: red","value2":"Offen","style2":"background-color: red; padding:4px;","test_list":"0"},"style":{"left":"297px","top":"269px","color":"white","text-align":"left","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"","width":"285px","height":"20px","z-index":"20"},"widgetSet":"basic"},{"tpl":"tplValueListHtml8","data":{"oid":"node-red.0.Tankstelle5.offen","visibility-cond":"==","visibility-val":1,"count":"1","value0":"Tankstelle 5","value1":"Tankstelle 5","style1":"color: lightgreen","style0":"color: red","value2":"Offen","style2":"background-color: red; padding:4px;","test_list":"0"},"style":{"left":"297px","top":"294px","color":"white","text-align":"left","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"","width":"285px","height":"20px","z-index":"20"},"widgetSet":"basic"},{"tpl":"tplValueListHtml8","data":{"oid":"node-red.0.Tankstelle6.offen","visibility-cond":"==","visibility-val":1,"count":"1","value0":"Tankstelle 6","value1":"Tankstelle 6","style1":"color: lightgreen","style0":"color: red","value2":"Offen","style2":"background-color: red; padding:4px;","test_list":"0"},"style":{"left":"297px","top":"319px","color":"white","text-align":"left","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"","width":"285px","height":"20px","z-index":"20"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"node-red.0.Tankstelle_Ennepetal_Lohen_Oil.diesel.lang","visibility-cond":"==","visibility-val":1,"is_comma":"true","factor":"1","html_append_singular":" €","html_append_plural":" €","oid-quality":"","class_true":"","class_false":""},"style":{"left":"572px","top":"319px","width":"80px","height":"22px","color":"white","text-align":"right","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"large","z-index":"20"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"node-red.0.Tankstelle.Statusuhrzeit","visibility-cond":"==","visibility-val":1,"html_prepend":"(Stand : ","html_append":")"},"style":{"left":"417px","top":"154px","color":"black","text-align":"left","width":"227px","height":"22px","z-index":"20","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-weight":"bold","font-size":"large"},"widgetSet":"basic"}]

          
          –--------------------------------------------------------------------------------
          
          Und hier der Node-Red-Flow zur Ermittlung der Tankstellen-ID bei Tankerkönig.de
          
          >! ````
          [{"id":"9ef06917.610f98","type":"inject","name":"Click to start","topic":"","payload":"","payloadType":"none","repeat":"","crontab":"","once":false,"x":162.5,"y":178,"z":"13871e97.ec78e1","wires":[["518cc61f.ae7338"]]},{"id":"542a49f.fabd5b8","type":"debug","name":"","active":true,"console":"false","complete":"false","x":897.5,"y":177,"z":"13871e97.ec78e1","wires":[]},{"id":"518cc61f.ae7338","type":"function","name":"Daten_eintragen_!!!","func":"// Hier die Daten aus z.B. Google-Maps eintragen\n\nvar LONG = \"7.3846226\";\nvar LAT = \"51.305232\";\n\n\n// Hier die festen Angaben hinterlegen\nvar SPRIT = \"diesel\";\nvar APIKEY = \"xxxx\";\n\n\nvar Ausgabe = \"https://creativecommons.tankerkoenig.de/json/list.php?rad=1&sort=price&type=\" + SPRIT + \"&apikey=\" + APIKEY + \"&lat=\" + LAT + \"&lng=\" + LONG;\nmsg.url = Ausgabe;\n\nreturn msg;","outputs":1,"noerr":0,"x":432.5,"y":178,"z":"13871e97.ec78e1","wires":[["c499d888.3b6628"]]},{"id":"c499d888.3b6628","type":"http request","name":"Abfragen","method":"GET","ret":"txt","url":"","x":685.5,"y":178,"z":"13871e97.ec78e1","wires":[["542a49f.fabd5b8"]]}]
          

          Im Flow ist eine Funktion "Daten_eintragen_!!!" - dort bitte folgende Daten hinterlegen:

          • APIKEY = Key von Tankerkönig (einmalig)

          • SPRIT = Die gewünschte Spritsorte (einmalig)

          • LONG = Angaben aus z.B. Google-Maps (für jede Tanke)

          • LAT = Angaben aus z.B. Google-Maps (für jede Tanke)

          Die Tankstellen-ID müsst ihr dann aus dem Rückgabewert (im seitlichen Debug-Bereich) Krauskopieren. Wer will, kann die Ausgabe noch umbauen / ausfiltern - war mir für die einmalige Benutzung dann doch zu aufwändig 🙂

          355_ts_id.png

          –--------------------------------------------------------------------------------

          Hier der Flow, der die Preise, usw. dann abholt:

          ! ````
          [{"id":"91eb5f0.f6e14a","type":"subflow","name":"Nachkommastellen berechnen","in":[{"x":530.6428833007812,"y":296.33337783813477,"wires":[{"id":"da010554.25fef8"}]}],"out":[{"x":947.6428852081299,"y":267.76194953918457,"wires":[{"id":"da010554.25fef8","port":0}]},{"x":949.0714740753174,"y":324.9047842025757,"wires":[{"id":"da010554.25fef8","port":1}]}]},{"id":"da010554.25fef8","type":"function","name":"auf 2-Stellen, Nachkomma extra","func":"// Preis kürzen\n var rechenwert = msg.payload * 100; // 100facher Preis jetzt mit einer Nachkommastelle\n var rechenwert2 = msg.payload * 1000; // 1000facher Preis ohne Nachkommastelle\n rechenwert = Math.floor(rechenwert); // Nachkommastelle (.x) wird abgeschnitten\n rechenwert = rechenwert/100; // es bleiben zwei Nachkommastellen\n msg1 = {};\n msg1.payload = rechenwert.toFixed(2); // Preis mit 2 Nachkommastellen ausgeben (abgeschnitten)\n msg1.topic=msg.topic+".kurz";\n msg2 = {};\n msg2.topic=msg.topic+".nachkomma"\n msg2.payload = rechenwert2 - (rechenwert * 1000); // Dritte Nachommastelle einzeln ermitteln\n\nreturn [msg1,msg2];","outputs":"2","noerr":0,"x":739.1428833007812,"y":296.33337783813477,"z":"91eb5f0.f6e14a","wires":[[],[]]},{"id":"a05ff8a.f5fa008","type":"subflow","name":"Tankstellen Details","in":[{"x":44.071441650390625,"y":197,"wires":[{"id":"6c64edf3.939b14"}]}],"out":[{"x":1040.0000305175781,"y":116.58723831176758,"wires":[{"id":"b31f137f.4ce0f","port":0}]},{"x":1037.0714225769043,"y":165.19044876098633,"wires":[{"id":"4d64408.fb29bc","port":0}]},{"x":1037.0714225769043,"y":212.33330917358398,"wires":[{"id":"4d64408.fb29bc","port":1}]},{"x":1037.0396842956543,"y":260.33343410491943,"wires":[{"id":"2376a1cc.dc895e","port":0}]},{"x":1035.611078262329,"y":311.7619924545288,"wires":[{"id":"3a34d9c7.c5cb26","port":0}]},{"x":1036.8968200683594,"y":359.7619915008545,"wires":[{"id":"3a34d9c7.c5cb26","port":1}]},{"x":1035.4682216644287,"y":409.7620220184326,"wires":[{"id":"ffcd5ce6.0032a","port":0}]},{"x":1035.5714530944824,"y":455.68272399902344,"wires":[{"id":"a28e8ec.f5d717","port":0}]},{"x":1036.6429557800293,"y":502.2540683746338,"wires":[{"id":"a28e8ec.f5d717","port":1}]},{"x":1040.0000820159912,"y":551.3335075378418,"wires":[{"id":"13ae6157.ec519f","port":0}]},{"x":1040.2858142852783,"y":598.9050846099854,"wires":[{"id":"cb64b6b6.349b48","port":0}]},{"x":1039.8572425842285,"y":651.9050407409668,"wires":[{"id":"ec292522.13d6d8","port":0}]},{"x":1040.8571529388428,"y":707.4285230636597,"wires":[{"id":"46be6b09.b94194","port":0}]},{"x":1039.428524017334,"y":763.142822265625,"wires":[{"id":"d36330a7.2c9cd","port":0}]},{"x":1037.1428909301758,"y":821.4285793304443,"wires":[{"id":"bab59623.454a68","port":0}]},{"x":1035.7142372131348,"y":885.7143497467041,"wires":[{"id":"aea7e72e.515818","port":0}]}]},{"id":"dad29d29.252d6","type":"http request","name":"Details abfragen","method":"GET","ret":"obj","url":"","x":199.7142791748047,"y":491.1428451538086,"z":"a05ff8a.f5fa008","wires":[["4d7a3b23.b285c4","38ede8ee.c71218","1fa6bd4f.e05943","13ae6157.ec519f","cb64b6b6.349b48","ec292522.13d6d8","46be6b09.b94194","d36330a7.2c9cd","bab59623.454a68","aea7e72e.515818"]]},{"id":"4d7a3b23.b285c4","type":"function","name":"Diesel Preis extrahieren","func":"msg.payload = parseFloat(msg.payload.station.diesel);\nmsg.topic=msg.topic+".diesel";\nreturn msg;","outputs":"1","noerr":0,"x":542.7142944335938,"y":210.87295150756836,"z":"a05ff8a.f5fa008","wires":[["b31f137f.4ce0f","4d64408.fb29bc"]]},{"id":"38ede8ee.c71218","type":"function","name":"E10 extrahieren","func":"msg.payload = parseFloat(msg.payload.station.e10);\nmsg.topic=msg.topic+".e10";\n\nreturn msg;","outputs":"1","noerr":0,"x":504.4286117553711,"y":346.96847105026245,"z":"a05ff8a.f5fa008","wires":[["a28e8ec.f5d717","ffcd5ce6.0032a"]]},{"id":"1fa6bd4f.e05943","type":"function","name":"E5 extrahieren","func":"msg.payload = parseFloat(msg.payload.station.e5);\nmsg.topic=msg.topic+".e5";\nreturn msg;","outputs":"1","noerr":0,"x":510.4286117553711,"y":282.96847105026245,"z":"a05ff8a.f5fa008","wires":[["3a34d9c7.c5cb26","2376a1cc.dc895e"]]},{"id":"13ae6157.ec519f","type":"function","name":"ist auf","func":"msg.payload = msg.payload.station.isOpen;\nmsg.topic=msg.topic+".offen";\n\nreturn msg;","outputs":"1","noerr":0,"x":729.8571434020996,"y":549.9684228897095,"z":"a05ff8a.f5fa008","wires":[[]]},{"id":"cb64b6b6.349b48","type":"function","name":"ganztags auf","func":"msg.payload = msg.payload.station.wholeDay;\nmsg.topic=msg.topic+".ganztags";\nreturn msg;","outputs":"1","noerr":0,"x":742.4286499023438,"y":590.8255300521851,"z":"a05ff8a.f5fa008","wires":[[]]},{"id":"ec292522.13d6d8","type":"function","name":"Öffnungszeiten Text","func":"msg.payload = msg.payload.station.openingTimes[0].text;\nmsg.topic=msg.topic+".oeffnungszeiten.text";\nreturn msg;","outputs":"1","noerr":0,"x":759.0000534057617,"y":642.762035369873,"z":"a05ff8a.f5fa008","wires":[[]]},{"id":"46be6b09.b94194","type":"function","name":"Start","func":"msg.payload = msg.payload.station.openingTimes[0].start;\nmsg.topic=msg.topic+".oeffnungszeiten.start";\nreturn msg;","outputs":"1","noerr":0,"x":720.2857933044434,"y":700.3336553573608,"z":"a05ff8a.f5fa008","wires":[[]]},{"id":"d36330a7.2c9cd","type":"function","name":"End","func":"msg.payload = msg.payload.station.openingTimes[0].end;\nmsg.topic=msg.topic+".oeffnungszeiten.end";\nreturn msg;","outputs":"1","noerr":0,"x":717.0000686645508,"y":760.4764575958252,"z":"a05ff8a.f5fa008","wires":[[]]},{"id":"6c64edf3.939b14","type":"function","name":"Api Key setzen","func":"msg.config = msg.config || {};\nmsg.config.apiKey="888cf126-cd35-0724-f039-2878e09341e0";\nreturn msg;","outputs":1,"noerr":0,"x":212.57144165039062,"y":196.5713653564453,"z":"a05ff8a.f5fa008","wires":[["961574e7.69ea88"]]},{"id":"961574e7.69ea88","type":"function","name":"Request bauen","func":"msg.url="https://creativecommons.tankerkoenig.de/json/detail.php?id=" + msg.payload +"&apikey=" + msg.config.apiKey;\nreturn msg;","outputs":1,"noerr":0,"x":188.85711669921875,"y":319.99993324279785,"z":"a05ff8a.f5fa008","wires":[["dad29d29.252d6"]]},{"id":"b31f137f.4ce0f","type":"function","name":"Topic","func":"msg.topic=msg.topic+".lang"\nreturn msg;","outputs":1,"noerr":0,"x":770.8571128845215,"y":153.1427984237671,"z":"a05ff8a.f5fa008","wires":[[]]},{"id":"4d64408.fb29bc","type":"subflow:91eb5f0.f6e14a","name":"","x":804.2856979370117,"y":212.33329963684082,"z":"a05ff8a.f5fa008","wires":[[],[]]},{"id":"3a34d9c7.c5cb26","type":"subflow:91eb5f0.f6e14a","name":"","x":810.8571243286133,"y":318.85706329345703,"z":"a05ff8a.f5fa008","wires":[[],[]]},{"id":"a28e8ec.f5d717","type":"subflow:91eb5f0.f6e14a","name":"","x":803.7143249511719,"y":475.9999523162842,"z":"a05ff8a.f5fa008","wires":[[],[]]},{"id":"2376a1cc.dc895e","type":"function","name":"Topic","func":"msg.topic=msg.topic+".lang"\nreturn msg;","outputs":1,"noerr":0,"x":743.7142791748047,"y":260.2856674194336,"z":"a05ff8a.f5fa008","wires":[[]]},{"id":"ffcd5ce6.0032a","type":"function","name":"Topic","func":"msg.topic=msg.topic+".lang"\nreturn msg;","outputs":1,"noerr":0,"x":750.8571319580078,"y":411.71424865722656,"z":"a05ff8a.f5fa008","wires":[[]]},{"id":"bab59623.454a68","type":"function","name":"Marke","func":"msg.payload = msg.payload.station.brand.toLowerCase();\nmsg.topic=msg.topic+".brand";\nreturn msg;","outputs":"1","noerr":0,"x":717.1428833007812,"y":820,"z":"a05ff8a.f5fa008","wires":[[]]},{"id":"aea7e72e.515818","type":"function","name":"Name","func":"msg.payload = msg.payload.station.name;\nmsg.topic=msg.topic+".name";\nreturn msg;","outputs":"1","noerr":0,"x":720,"y":891.4285888671875,"z":"a05ff8a.f5fa008","wires":[[]]},{"id":"ae5ac24e.51a54","type":"inject","name":"Abfrage Spritpreise","topic":"","payload":"","payloadType":"date","repeat":"300","crontab":"","once":false,"x":170,"y":114,"z":"b04c3771.4fb3c8","wires":[["39e0f41c.c61f0c","ec57b3e7.13a85"]]},{"id":"37d5844f.c82a7c","type":"subflow:a05ff8a.f5fa008","name":"","x":871.7857055664062,"y":262.0239715576172,"z":"b04c3771.4fb3c8","wires":[["6e317b86.91ce84"],["6e317b86.91ce84"],["6e317b86.91ce84"],["6e317b86.91ce84"],["6e317b86.91ce84"],["6e317b86.91ce84"],["6e317b86.91ce84"],["6e317b86.91ce84"],["6e317b86.91ce84"],["6e317b86.91ce84"],["6e317b86.91ce84"],["6e317b86.91ce84"],["6e317b86.91ce84"],["6e317b86.91ce84"],["6e317b86.91ce84"],["6e317b86.91ce84"]]},{"id":"31ab9219.ce546e","type":"ioBroker out","name":"","topic":"","ack":"false","autoCreate":"true","x":1372.2857284545898,"y":259.57141494750977,"z":"b04c3771.4fb3c8","wires":[]},{"id":"71211e08.8edee","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1383.7142295837402,"y":209.57142162322998,"z":"b04c3771.4fb3c8","wires":[]},{"id":"6e317b86.91ce84","type":"function","name":"Join","func":"\nreturn msg;","outputs":1,"noerr":0,"x":1149.428565979004,"y":259.57143115997314,"z":"b04c3771.4fb3c8","wires":[["31ab9219.ce546e"]]},{"id":"39e0f41c.c61f0c","type":"function","name":"Tankstelle 1","func":"var TK_ID = "xxxxx";\nvar ZIEL = "node-red.0.Tankstelle_1";\n\nmsg.payload = TK_ID;\nmsg.topic = ZIEL;\nreturn msg;","outputs":1,"noerr":0,"x":491,"y":115,"z":"b04c3771.4fb3c8","wires":[["37d5844f.c82a7c"]]},{"id":"ec57b3e7.13a85","type":"function","name":"Ermittlungs_Zeitpunkt","func":"msg = {};\n\n\nfunction addZero(i) {\n if (i < 10) {\n i = "0" + i;\n }\n return i;\n}\n\n\nvar currentdate = new Date(); \nvar h = addZero(currentdate.getHours());\nvar m = addZero(currentdate.getMinutes());\nvar s = addZero(currentdate.getSeconds());\n\n\nvar datetime = h + ":" + m + ":" + s;\n\nmsg.payload = datetime;\nreturn msg;\n","outputs":1,"noerr":0,"x":480,"y":568,"z":"b04c3771.4fb3c8","wires":[["987b1a45.6784e8"]]},{"id":"987b1a45.6784e8","type":"ioBroker out","name":"","topic":"node-red.0.Tankstelle.Statusuhrzeit","ack":"false","autoCreate":"true","x":1364,"y":562,"z":"b04c3771.4fb3c8","wires":[]}]

          
          Der Flow wird alle 5 Minuten aufgerufen.
          
          In der Funktion "Tankstelle_1" müsst ihr die entsprechenden Daten anpassen (Tankstellen_ID und Datenpfad) - und natürlich für jede Tankstelle kopiere, Werte anpassen und die Verküpfungen erstellen (mehr Anpassungen sind nicht notwendig).
          
           ![355_sp_1.png](/assets/uploads/files/355_sp_1.png) 
           ![355_sp_2.png](/assets/uploads/files/355_sp_2.png) 
          
          Der Flow ist übrigens NICHT auf meinem Mist gewachsen - ich habe in "geliehen" ;) und noch etwas angepasst / modifiziert.
          
          Viel Spaß damit. Ich hoffe, es klappt.
          
          Gruß,
          
          Eric
          1 Reply Last reply Reply Quote 0
          • N
            nobob last edited by

            Hallo Pix,

            auch von meiner Seite aus einen besondern Dank für das Skript.

            Echt eine feine Sache, was man mit dem ioBroker alles anstellen kann.

            Habe das Skript bei mir erfolgreich am laufen.

            <u>Ein kleiner Hinweis von meiner Seite aus:</u>

            Mir ist aufgefallen das zwei gleiche Werte im Objekte-Reiter von ioBroker eingetragen werden. Die Hausnummer wird auch bei PLZ eingetragen.

            In Zeile 117 und 118 hast Du zweimal *.houseNumber stehen.

            Vielleicht kannst hier im Forum die Zeile 118 noch richtigstellen (*.postCode).

            Anbei nochmals ein Lob für die Umsetzung von ioBroker und den zahlreichen Hilfestellungen / Ideen hier im Forum.

            Viele Grüße und einen angenehmen Samstag-Nachmittag

            nobob

            1 Reply Last reply Reply Quote 0
            • A
              Alexxx2005 last edited by

              Hallo Pix und Eric,

              von mir ebenfalls ein großes Lob, Adapter funktionieren

              auf anhieb.

              habe mich für Eric's entschieden , was hier noch nicht ganz

              richtig angezeigt wird ist die Aktualisierungszeit da bin ich

              immer eine Stunde zurück obwohl mein Timeandweather Widget

              die richtige meldet, wenn da noch jemand eine Lösung hat , gerne

              Grüße Alex

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

                Hi,

                danke für die Blumen.

                Wie steht denn die Systemzeit bzw. die Timezone des Hostsystems?

                Time and weather holt sich die Daten, denke ich, aus dem Netz. Und Node-red vom jeweiligen Host, wo es läuft.

                Gruß,

                Eric

                1 Reply Last reply Reply Quote 0
                • M
                  michihorn last edited by

                  Hallo

                  habe mir das Script von Pix angeschaut, doch leider bin ich überfordert.

                  Ich habe mir meinen Tankerkönig API besorgt und eingetragen und auch die Tankstellen-ID's .

                  Wie gehe ich den nun weiter mit dem Script um? Wo läuft das dann?

                  Gruß

                  Michael

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

                    Hallo michihorn,

                    wenn du die API und die Tankstellen ID oben im Skript einträgst, dann ist eigentlich schon alles getan.

                    Voraussetzung ist allerdings, dass du den Javascript Adapter installiert und aktiviert hast. Wenn ja, dann im Reiter Skripte ein neues Skript anlegen (Name zB spritpreise) und das Skript einfügen, speichern und links neben dem Skriptnamen auf den roten Knopf drücken und so das Skript starten. Evtl. daneben den Knopf Reload (Pfeile) nochmal drücken. Dann sind die Datenpunkte im Reiter Objekte vorhanden und du kannst sie in VIS verwenden.

                    Gruß

                    Pix

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

                      Wer macht denn daraus endlich einen Adapter?

                      Ich will keinen zu sehr ansehen 😉

                      Gruß

                      Rainer

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

                        Bitte dran denken, das Tankerkönig eine neue Abfrage gebaut hat.

                        Man kann nun mit einem einzigen Request zig Tankstellen auf einmal abfragen (Antwort als JSON) - die Rückgabe-Daten sind aber erheblich weniger als bei der Detailabfrage.

                        Tankerkönig hatte mich angeschrieben und ich habe den neuen Request mal durchgetestet.

                        Als Rückmeldung kommt bei diesem Request "nur":

                        • Tankstellen-ID

                        • Preis E5

                        • Preis E10

                        • Preis Diesel

                        • Öffnungsstatus (offen / zu)

                        Ich kann die neue Methode gerne als Node-Red-Flow bereitstellen. Kurze Info genügt.

                        Gruß,

                        Eric

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

                          Das ist ja super.

                          Nächste Woche kann ich ich darum mal kümmern. Die Daten reichen ja für die Ausgabe. 😄

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

                            Ich poste den Node-Red-Flow dann heute Abend hier rein.

                            Den Status der jeweiligen Tanke (open / closed) habe ich mir in 1 / 0 umgerechnet/umgebaut - läßt sich in VIS besser verarbeiten. Man könnte auch true / false nehmen.

                            Die Zuweisung der Daten zu den Datenpunkten mit dem "lesbaren" Tankstellennamen (es wird ja nur mit der ID gearbeitet) habe ich manuell gemacht - da können wir mal schauen, ob das eleganter geht (im Adapter zwei Eingabefelder pro Tanke : ID und Display-/Datenpunktname).

                            Gruß,

                            Eric

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

                              hi ho,

                              hier der Node-Red-Flow für die Ermittlung der Tankstellen-ID anhand von Geodaten. Ist noch viel Handarbeit … wird in Node-Red ja nur einmal benötigt

                              ! ````
                              [{"id":"be361ad9.41c9e8","type":"inject","z":"a1e84694.5e17b8","name":"Click to start","topic":"","payload":"","payloadType":"none","repeat":"","crontab":"","once":false,"x":366,"y":125,"wires":[["d889367b.2776c8"]]},{"id":"50b15200.af4eb","type":"debug","z":"a1e84694.5e17b8","name":"","active":true,"console":"false","complete":"false","x":351,"y":415,"wires":[]},{"id":"d889367b.2776c8","type":"function","z":"a1e84694.5e17b8","name":"Daten_eintragen_!!!","func":"// Hier die Daten aus z.B. Google-Maps eintragen\n\nvar LONG = "0.123456";\nvar LAT = "5.123456";\n\n\n// Hier die festen Angaben hinterlegen\nvar SPRIT = "diesel";\nvar APIKEY = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";\n\n\nvar Ausgabe = "https://creativecommons.tankerkoenig.de/json/list.php?rad=1&sort=price&type=" + SPRIT + "&apikey=" + APIKEY + "&lat=" + LAT + "&lng=" + LONG;\nmsg.url = Ausgabe;\n\nreturn msg;","outputs":1,"noerr":0,"x":388,"y":224,"wires":[["958df4ce.6a7208"]]},{"id":"958df4ce.6a7208","type":"http request","z":"a1e84694.5e17b8","name":"Abfragen","method":"GET","ret":"txt","url":"","x":358,"y":319,"wires":[["50b15200.af4eb"]]}]

                              
                               ![355_id_ermitteln.png](/assets/uploads/files/355_id_ermitteln.png) 
                              
                              Und hier der Flow, der die Daten zu mehreren Tankstellen in einem Request abholt
                              
                              >! ```
                              `[{"id":"e96ea6a0.169158","type":"inject","z":"a1e84694.5e17b8","name":"Abfrage Spritpreise","topic":"","payload":"","payloadType":"date","repeat":"300","crontab":"","once":true,"x":142.85714721679688,"y":169.28571701049805,"wires":[["26328183.d9cd7e","7d9cc9c4.826338"]]},{"id":"84afa121.7b506","type":"function","z":"a1e84694.5e17b8","name":"Wuppertal, Dahlerstrasse, Shell","func":"msg.config.id1 =\"b0691704-eedc-41b4-bec1-537df534292f\";\nmsg.config.name1 = \"Wuppertal_Dahlerstrasse_Shell\";\n\n\n\nmsg.payload = msg.payload + msg.config.id1;\nmsg.payload = msg.payload + \"%22%2C%22\"\nreturn msg;\n","outputs":1,"noerr":0,"x":479.8571472167969,"y":235.28571701049805,"wires":[["3dfdd83.fc20228"]]},{"id":"3dfdd83.fc20228","type":"function","z":"a1e84694.5e17b8","name":"Schwelm, B7, Esso","func":"msg.config.id2 =\"5eece80c-22f1-4852-8615-080570a40a52\";\nmsg.config.name2 = \"Schwelm_B7_Esso\";\n\nmsg.payload = msg.payload + msg.config.id2;\nmsg.payload = msg.payload + \"%22%2C%22\"\n\nreturn msg;\n","outputs":1,"noerr":0,"x":442,"y":284.0000114440918,"wires":[["44213a36.bbdec4"]]},{"id":"44213a36.bbdec4","type":"function","z":"a1e84694.5e17b8","name":"Wuppertal, ObereLicht, Shell","func":"msg.config.id3 =\"6901c02a-ff28-4233-9d01-81cb3ce483b2\";\nmsg.config.name3 = \"Wuppertal_ObereLicht_Shell\";\n\nmsg.payload = msg.payload + msg.config.id3;\nmsg.payload = msg.payload + \"%22%2C%22\"\n\nreturn msg;\n","outputs":1,"noerr":0,"x":469.42864990234375,"y":337.1428642272949,"wires":[["e4f5b4ae.1b0a48"]]},{"id":"e4f5b4ae.1b0a48","type":"function","z":"a1e84694.5e17b8","name":"Wuppertal, ObereLicht, Star","func":"msg.config.id4 =\"005056ba-7cb6-1ed2-bceb-7e4efd3f4d2a\";\nmsg.config.name4 = \"Wuppertal_ObereLicht_Star\";\n\nmsg.payload = msg.payload + msg.config.id4;\nmsg.payload = msg.payload + \"%22%2C%22\"\n\nreturn msg;\n","outputs":1,"noerr":0,"x":470.42864990234375,"y":388.1428642272949,"wires":[["44640a30.bb9bf4"]]},{"id":"44640a30.bb9bf4","type":"function","z":"a1e84694.5e17b8","name":"Gevelsberg, B7, Jet","func":"msg.config.id5 =\"fc4f8d7b-3df1-477a-81d6-167351666e2d\";\nmsg.config.name5 = \"Gevelsberg_B7_Jet\";\n\nmsg.payload = msg.payload + msg.config.id5;\nmsg.payload = msg.payload + \"%22%2C%22\"\n\nreturn msg;\n","outputs":1,"noerr":0,"x":448.8571472167969,"y":443.28571701049805,"wires":[["de4973cf.21b69"]]},{"id":"de4973cf.21b69","type":"function","z":"a1e84694.5e17b8","name":"Ennepetal, Lohennocken, Oil!","func":"msg.config.id6 =\"0b9a8e89-baa4-4b12-bbbd-cf7225c55b69\";\nmsg.config.name6 = \"Ennepetal_Lohen_Oil\";\n\nmsg.payload = msg.payload + msg.config.id6;\n\nreturn msg;\n","outputs":1,"noerr":0,"x":475.8571472167969,"y":503.28571701049805,"wires":[["7a0eb70c.85f148"]]},{"id":"26328183.d9cd7e","type":"function","z":"a1e84694.5e17b8","name":"Ermittlungs_Zeitpunkt","func":"msg = {};\n\n\nfunction addZero(i) {\n    if (i < 10) {\n        i = \"0\" + i;\n    }\n    return i;\n}\n\n\nvar currentdate = new Date(); \nvar h = addZero(currentdate.getHours());\nvar m = addZero(currentdate.getMinutes());\nvar s = addZero(currentdate.getSeconds());\n\n\nvar datetime = h + \":\" + m + \":\" + s;\n\nmsg.payload = datetime;\nreturn msg;\n","outputs":1,"noerr":0,"x":417.8571472167969,"y":900.285717010498,"wires":[["5a184aef.a5e7b4"]]},{"id":"5a184aef.a5e7b4","type":"ioBroker out","z":"a1e84694.5e17b8","name":"","topic":"node-red.0.Tankstelle.Statusuhrzeit","ack":"true","autoCreate":"true","x":1509.8571472167969,"y":895.285717010498,"wires":[]},{"id":"7d9cc9c4.826338","type":"function","z":"a1e84694.5e17b8","name":"Basis","func":"msg.config = msg.config || {};\nmsg.config.apiKey = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\";\nmsg.payload = \"https://creativecommons.tankerkoenig.de/json/prices.php?ids=%5B%22\";\nreturn msg;\n","outputs":1,"noerr":0,"x":397.8571472167969,"y":168.28571701049805,"wires":[["84afa121.7b506"]]},{"id":"7a0eb70c.85f148","type":"function","z":"a1e84694.5e17b8","name":"URL vervollständigen","func":"msg.payload = msg.payload + \"%22%5D&apikey=\";\nmsg.payload = msg.payload + msg.config.apiKey;\nmsg.url = msg.payload;\nreturn msg;\n","outputs":1,"noerr":0,"x":455.8571472167969,"y":593.285717010498,"wires":[["e1656a8a.1e9a98"]]},{"id":"e1656a8a.1e9a98","type":"http request","z":"a1e84694.5e17b8","name":"Details abfragen","method":"GET","ret":"obj","url":"","x":428.8571472167969,"y":689.285717010498,"wires":[["76493c6b.89b6c4"]]},{"id":"76493c6b.89b6c4","type":"function","z":"a1e84694.5e17b8","name":"Outputs ansteuern","func":"var output = [];\nfor(i=0; i<5; i++){output.push(msg);};\n\nreturn output;\n","outputs":"1","noerr":0,"x":634.8571472167969,"y":689.285717010498,"wires":[["be730dba.418cf","ab1189d9.54ee78","4e35639e.b1ca9c","78bab061.87455","f24e56fe.0db1a8","b0970949.4f68f8","271ec18d.d8e13e","cbc3dfc2.343c2","2de69ebc.d21962","483c7b7d.b7c384","16dc9249.e9236e","7863cb27.879c34"]]},{"id":"be730dba.418cf","type":"jsonpath","z":"a1e84694.5e17b8","expression":"$.prices.b0691704-eedc-41b4-bec1-537df534292f.diesel","split":false,"name":"$.prices.[*].diesel","x":991.8571472167969,"y":165.28571701049805,"wires":[["3fd05d98.c02fa2"]]},{"id":"4e35639e.b1ca9c","type":"jsonpath","z":"a1e84694.5e17b8","expression":"$.prices.5eece80c-22f1-4852-8615-080570a40a52.diesel","split":false,"name":"$.prices.[*].diesel","x":991.8571472167969,"y":383.28571701049805,"wires":[["2e055a4c.d1faa6"]]},{"id":"f24e56fe.0db1a8","type":"jsonpath","z":"a1e84694.5e17b8","expression":"$.prices.6901c02a-ff28-4233-9d01-81cb3ce483b2.diesel","split":false,"name":"$.prices.[*].diesel","x":992.8571472167969,"y":502.28571701049805,"wires":[["58bea2cd.a7415c"]]},{"id":"d7fd5215.2802b","type":"ioBroker out","z":"a1e84694.5e17b8","name":"","topic":"node-red.0.Tankstelle.Wuppertal_Dahlerstrasse_Shell.diesel","ack":"true","autoCreate":"true","x":1588.8571472167969,"y":163.28571701049805,"wires":[]},{"id":"ab1189d9.54ee78","type":"jsonpath","z":"a1e84694.5e17b8","expression":"$.prices.b0691704-eedc-41b4-bec1-537df534292f.status","split":false,"name":"$.prices.[*].status","x":988.8571472167969,"y":212.28571701049805,"wires":[["729e69b8.8d6198"]]},{"id":"8de6e6c6.721918","type":"ioBroker out","z":"a1e84694.5e17b8","name":"","topic":"node-red.0.Tankstelle.Wuppertal_Dahlerstrasse_Shell.status","ack":"true","autoCreate":"true","x":1586.8571472167969,"y":211.28571701049805,"wires":[]},{"id":"78bab061.87455","type":"jsonpath","z":"a1e84694.5e17b8","expression":"$.prices.5eece80c-22f1-4852-8615-080570a40a52.status","split":false,"name":"$.prices.[*].status","x":991.8571472167969,"y":431.28571701049805,"wires":[["49555969.b6aaa8"]]},{"id":"bb104b96.44efb8","type":"ioBroker out","z":"a1e84694.5e17b8","name":"","topic":"node-red.0.Tankstelle.Schwelm_B7_Esso.diesel","ack":"true","autoCreate":"true","x":1543.8571472167969,"y":382.28571701049805,"wires":[]},{"id":"1155d982.eeaa26","type":"ioBroker out","z":"a1e84694.5e17b8","name":"","topic":"node-red.0.Tankstelle.Schwelm_B7_Esso.status","ack":"true","autoCreate":"true","x":1542.8571472167969,"y":429.28571701049805,"wires":[]},{"id":"b0970949.4f68f8","type":"jsonpath","z":"a1e84694.5e17b8","expression":"$.prices.6901c02a-ff28-4233-9d01-81cb3ce483b2.status","split":false,"name":"$.prices.[*].status","x":989.8571472167969,"y":555.285717010498,"wires":[["53e7531d.ac18ac"]]},{"id":"90f5b1d4.6f0a5","type":"ioBroker out","z":"a1e84694.5e17b8","name":"","topic":"node-red.0.Tankstelle.Wuppertal_ObereLicht_Shell.diesel","ack":"true","autoCreate":"true","x":1572.8571472167969,"y":501.28571701049805,"wires":[]},{"id":"ca764406.3589b8","type":"ioBroker out","z":"a1e84694.5e17b8","name":"","topic":"node-red.0.Tankstelle.Wuppertal_ObereLicht_Shell.status","ack":"true","autoCreate":"true","x":1571.8571472167969,"y":554.285717010498,"wires":[]},{"id":"271ec18d.d8e13e","type":"jsonpath","z":"a1e84694.5e17b8","expression":"$.prices.005056ba-7cb6-1ed2-bceb-7e4efd3f4d2a.diesel","split":false,"name":"$.prices.[*].diesel","x":990.8571472167969,"y":638.285717010498,"wires":[["f9fe7053.06019"]]},{"id":"cbc3dfc2.343c2","type":"jsonpath","z":"a1e84694.5e17b8","expression":"$.prices.005056ba-7cb6-1ed2-bceb-7e4efd3f4d2a.status","split":false,"name":"$.prices.[*].staus","x":981.8571472167969,"y":693.285717010498,"wires":[["a182b0cc.5e7d5"]]},{"id":"b5bd6429.4a4298","type":"ioBroker out","z":"a1e84694.5e17b8","name":"","topic":"node-red.0.Tankstelle.Wuppertal_ObereLicht_Star.diesel","ack":"true","autoCreate":"true","x":1570.9123229980469,"y":637.118236541748,"wires":[]},{"id":"efe1b24c.101e5","type":"ioBroker out","z":"a1e84694.5e17b8","name":"","topic":"node-red.0.Tankstelle.Wuppertal_ObereLicht_Star.status","ack":"true","autoCreate":"true","x":1570.8571472167969,"y":691.285717010498,"wires":[]},{"id":"2de69ebc.d21962","type":"jsonpath","z":"a1e84694.5e17b8","expression":"$.prices.fc4f8d7b-3df1-477a-81d6-167351666e2d.diesel","split":false,"name":"$.prices.[*].diesel","x":990.8571472167969,"y":764.285717010498,"wires":[["c18381e6.3e7c8"]]},{"id":"483c7b7d.b7c384","type":"jsonpath","z":"a1e84694.5e17b8","expression":"$.prices.fc4f8d7b-3df1-477a-81d6-167351666e2d.status","split":false,"name":"$.prices.[*].status","x":989.8571472167969,"y":820.285717010498,"wires":[["a0b4af33.5f4b5"]]},{"id":"6d3a1150.92c5f","type":"ioBroker out","z":"a1e84694.5e17b8","name":"","topic":"node-red.0.Tankstelle.Gevelsberg_B7_Jet.diesel","ack":"true","autoCreate":"true","x":1545.8571472167969,"y":764.285717010498,"wires":[]},{"id":"7047479e.8fb8b8","type":"ioBroker out","z":"a1e84694.5e17b8","name":"","topic":"node-red.0.Tankstelle.Gevelsberg_B7_Jet.status","ack":"true","autoCreate":"true","x":1545.8571472167969,"y":818.285717010498,"wires":[]},{"id":"16dc9249.e9236e","type":"jsonpath","z":"a1e84694.5e17b8","expression":"$.prices.0b9a8e89-baa4-4b12-bbbd-cf7225c55b69.diesel","split":false,"name":"$.prices.[*].diesel","x":990.8571472167969,"y":270.28571701049805,"wires":[["9499cb51.6b6638"]]},{"id":"7863cb27.879c34","type":"jsonpath","z":"a1e84694.5e17b8","expression":"$.prices.0b9a8e89-baa4-4b12-bbbd-cf7225c55b69.status","split":false,"name":"$.prices.[*].status","x":991.8571472167969,"y":319.28571701049805,"wires":[["a90a982c.56f568"]]},{"id":"29a5f7d5.d65a08","type":"ioBroker out","z":"a1e84694.5e17b8","name":"","topic":"node-red.0.Tankstelle.Ennepetal_Lohennocken_Oil.diesel","ack":"true","autoCreate":"true","x":1575.8571472167969,"y":267.28571701049805,"wires":[]},{"id":"7ff9a0ec.80066","type":"ioBroker out","z":"a1e84694.5e17b8","name":"","topic":"node-red.0.Tankstelle.Ennepetal_Lohennocken_Oil.status","ack":"true","autoCreate":"true","x":1574.8571472167969,"y":323.28571701049805,"wires":[]},{"id":"a90a982c.56f568","type":"function","z":"a1e84694.5e17b8","name":"Status umwandeln","func":"Status = msg.payload;\nStatus1 = 0;\nmsg.payload = 3;\n\nif(Status.indexOf(\"open\") > -1) {\n    Status1 = 1;\n}\n\nmsg.payload = Status1;\nmsg.temp = Status;\n\nreturn msg;\n","outputs":1,"noerr":0,"x":1210.8571472167969,"y":320.28571701049805,"wires":[["7ff9a0ec.80066"]]},{"id":"49555969.b6aaa8","type":"function","z":"a1e84694.5e17b8","name":"Status umwandeln","func":"Status = msg.payload;\nStatus1 = 0;\nmsg.payload = 3;\n\nif(Status.indexOf(\"open\") > -1) {\n    Status1 = 1;\n}\n\nmsg.payload = Status1;\nmsg.temp = Status;\n\nreturn msg;\n","outputs":1,"noerr":0,"x":1220.8571472167969,"y":432.28571701049805,"wires":[["1155d982.eeaa26"]]},{"id":"53e7531d.ac18ac","type":"function","z":"a1e84694.5e17b8","name":"Status umwandeln","func":"Status = msg.payload;\nStatus1 = 0;\nmsg.payload = 3;\n\nif(Status.indexOf(\"open\") > -1) {\n    Status1 = 1;\n}\n\nmsg.payload = Status1;\nmsg.temp = Status;\n\nreturn msg;\n","outputs":1,"noerr":0,"x":1222.8571472167969,"y":554.285717010498,"wires":[["ca764406.3589b8"]]},{"id":"a182b0cc.5e7d5","type":"function","z":"a1e84694.5e17b8","name":"Status umwandeln","func":"Status = msg.payload;\nStatus1 = 0;\nmsg.payload = 3;\n\nif(Status.indexOf(\"open\") > -1) {\n    Status1 = 1;\n}\n\nmsg.payload = Status1;\nmsg.temp = Status;\n\nreturn msg;\n","outputs":1,"noerr":0,"x":1222.8571472167969,"y":694.285717010498,"wires":[["efe1b24c.101e5"]]},{"id":"a0b4af33.5f4b5","type":"function","z":"a1e84694.5e17b8","name":"Status umwandeln","func":"Status = msg.payload;\nStatus1 = 0;\nmsg.payload = 3;\n\nif(Status.indexOf(\"open\") > -1) {\n    Status1 = 1;\n}\n\nmsg.payload = Status1;\nmsg.temp = Status;\n\nreturn msg;\n","outputs":1,"noerr":0,"x":1211.8571472167969,"y":820.285717010498,"wires":[["7047479e.8fb8b8"]]},{"id":"3fd05d98.c02fa2","type":"function","z":"a1e84694.5e17b8","name":"Preis umwandeln","func":"Preis = parseFloat(msg.payload);\n\nif (isNaN(Preis)) Preis = 0;\n\nmsg.payload = Preis;\nreturn msg;\n","outputs":1,"noerr":0,"x":1223.8571472167969,"y":165.28571701049805,"wires":[["d7fd5215.2802b"]]},{"id":"2e055a4c.d1faa6","type":"function","z":"a1e84694.5e17b8","name":"Preis umwandeln","func":"Preis = parseFloat(msg.payload);\n\nif (isNaN(Preis)) Preis = 0;\n\nmsg.payload = Preis;\nreturn msg;\n","outputs":1,"noerr":0,"x":1229.8571472167969,"y":383.28571701049805,"wires":[["bb104b96.44efb8"]]},{"id":"58bea2cd.a7415c","type":"function","z":"a1e84694.5e17b8","name":"Preis umwandeln","func":"Preis = parseFloat(msg.payload);\n\nif (isNaN(Preis)) Preis = 0;\n\nmsg.payload = Preis;\nreturn msg;\n","outputs":1,"noerr":0,"x":1219.8571472167969,"y":502.28571701049805,"wires":[["90f5b1d4.6f0a5"]]},{"id":"f9fe7053.06019","type":"function","z":"a1e84694.5e17b8","name":"Preis umwandeln","func":"Preis = parseFloat(msg.payload);\n\nif (isNaN(Preis)) Preis = 0;\n\nmsg.payload = Preis;\nreturn msg;\n","outputs":1,"noerr":0,"x":1221.8571472167969,"y":636.285717010498,"wires":[["b5bd6429.4a4298"]]},{"id":"c18381e6.3e7c8","type":"function","z":"a1e84694.5e17b8","name":"Preis umwandeln","func":"Preis = parseFloat(msg.payload);\n\nif (isNaN(Preis)) Preis = 0;\n\nmsg.payload = Preis;\nreturn msg;\n","outputs":1,"noerr":0,"x":1220.8571472167969,"y":764.285717010498,"wires":[["6d3a1150.92c5f"]]},{"id":"9499cb51.6b6638","type":"function","z":"a1e84694.5e17b8","name":"Preis umwandeln","func":"Preis = parseFloat(msg.payload);\n\nif (isNaN(Preis)) Preis = 0;\n\nmsg.payload = Preis;\nreturn msg;\n","outputs":1,"noerr":0,"x":1216.8571472167969,"y":271.28571701049805,"wires":[["29a5f7d5.d65a08"]]},{"id":"729e69b8.8d6198","type":"function","z":"a1e84694.5e17b8","name":"Status umwandeln","func":"Status = msg.payload;\nStatus1 = 0;\nmsg.payload = 3;\n\nif(Status.indexOf(\"open\") > -1) {\n    Status1 = 1;\n}\n\nmsg.payload = Status1;\nmsg.temp = Status;\n\nreturn msg;\n","outputs":1,"noerr":0,"x":1228.8571472167969,"y":212.28571701049805,"wires":[["8de6e6c6.721918"]]},{"id":"83a3b175.7c5c5","type":"comment","z":"a1e84694.5e17b8","name":"Beispiel : Tankerkönig-URL komplett","info":"https://creativecommons.tankerkoenig.de/json/prices.php?ids=%5B%22b0691704-eedc-41b4-bec1-537df534292f%22%2C%225eece80c-22f1-4852-8615-080570a40a52%22%2C%226901c02a-ff28-4233-9d01-81cb3ce483b2%22%2C%22005056ba-7cb6-1ed2-bceb-7e4efd3f4d2a%22%2C%22fc4f8d7b-3df1-477a-81d6-167351666e2d%22%2C%220b9a8e89-baa4-4b12-bbbd-cf7225c55b69%22%5D&apikey=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","x":479.2142868041992,"y":104.14286422729492,"wires":[]},{"id":"4f0473ef.b0fb8c","type":"debug","z":"a1e84694.5e17b8","name":"","active":true,"console":"false","complete":"false","x":965.5000267028809,"y":84.28571701049805,"wires":[]}]`
                              >!  ![355_daten_abrufen.png](/assets/uploads/files/355_daten_abrufen.png) 
                              >! Und hier dann noch die JSON-Rückmeldung (mit meinen 6 Tankstellen):
                              >! >! ~~[spoiler]~~`~~[code]~~{
                                "ok": true,
                                "license": "CC BY 4.0 - http://creativecommons.tankerkoenig.de",
                                "data": "MTS-K",
                                "prices": {
                                  "b0691704-eedc-41b4-bec1-537df534292f": {
                                    "status": "open",
                                    "e5": 1.299,
                                    "e10": 1.279,
                                    "diesel": 1.059
                                  },
                                  "5eece80c-22f1-4852-8615-080570a40a52": {
                                    "status": "open",
                                    "e5": 1.359,
                                    "e10": 1.339,
                                    "diesel": 1.119
                                  },
                                  "6901c02a-ff28-4233-9d01-81cb3ce483b2": {
                                    "status": "open",
                                    "e5": 1.289,
                                    "e10": 1.269,
                                    "diesel": 1.059
                                  },
                                  "005056ba-7cb6-1ed2-bceb-7e4efd3f4d2a": {
                                    "status": "open",
                                    "e5": 1.269,
                                    "e10": 1.249,
                                    "diesel": 1.039
                                  },
                                  "fc4f8d7b-3df1-477a-81d6-167351666e2d": {
                                    "status": "open",
                                    "e5": 1.289,
                                    "e10": 1.269,
                                    "diesel": 1.059
                                  },
                                  "0b9a8e89-baa4-4b12-bbbd-cf7225c55b69": {
                                    "status": "open",
                                    "e5": 1.289,
                                    "e10": 1.269,
                                    "diesel": 1.049
                                  }
                                }
                              }[/code]`[/spoiler]
                              >! Viel Spaß und Erfolg - melde Dich, wenn Du Fragen hast  :) 
                              >! Gruß,
                              >! Eric
                              ```
                              1 Reply Last reply Reply Quote 0
                              • D
                                DiJaexxl last edited by

                                @eric2905:

                                Bitte dran denken, das Tankerkönig eine neue Abfrage gebaut hat.

                                Man kann nun mit einem einzigen Request zig Tankstellen auf einmal abfragen (Antwort als JSON) - die Rückgabe-Daten sind aber erheblich weniger als bei der Detailabfrage.

                                Tankerkönig hatte mich angeschrieben und ich habe den neuen Request mal durchgetestet.

                                Als Rückmeldung kommt bei diesem Request "nur":

                                • Tankstellen-ID

                                • Preis E5

                                • Preis E10

                                • Preis Diesel

                                • Öffnungsstatus (offen / zu)

                                Ich kann die neue Methode gerne als Node-Red-Flow bereitstellen. Kurze Info genügt.

                                Gruß,

                                Eric `
                                Hallo zusammen,

                                ich habe das Script aus dem ersten Thread mit erfolg eingebunden.

                                Nur bekomme ich nun eine sehr Freundliche Mail vom Tankerkönig mit folgendem Inhalt

                                ! Hallo Dirk,
                                ! könntest Du statt detail.php bitte prices.php verwenden.
                                ! Grund: detail.php ist recht aufwändig: es werden mehrere Tabellen verwendet, um alle Informationen zusammenzustellen. Die meisten Infos ändern sich nur selten.
                                ! Für Preisupdates bitte immer prices.php verwenden. Damit lassen sich die Spritpreise für bis zu 10 Tankstellen gleichzeitig abrufen.
                                ! Also:
                                ! - weniger Requests
                                ! - geringerer Query-Aufwand
                                ! - weniger Daten zu übertragen
                                ! -> Unser Server wird weniger stark belastet, mehr User können bedient werden.
                                ! siehe -> https://creativecommons.tankerkoenig.de/#usage
                                Gibt es eine Script Anpassung, oder soll ich die Node Varianten nutzen?

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

                                  Ich kümmere mich nächste Woche darum. Ist gerade zu wenig Zeit übrig. Wenn du nicht warten willst, nimm erics Flow.

                                  Gruß

                                  Pix

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    DiJaexxl last edited by

                                    Hallo pix,

                                    Ich werde auf dich warten. 🙂

                                    1 Reply Last reply Reply Quote 0
                                    • E
                                      ElDiablo1985 last edited by

                                      Danke für das Tolle Script.

                                      Wie wirkt sich eigentlich das Ergebniss aus ? Wird es Tabelarisch dargestellt wie bei Tankerkönig oder per Map wo man die Tankstellen im Umkreis sieht ?

                                      Ich persönlich finde eine Map Ansicht besser da man Direkt sieht wo was am günstigsten ist.

                                      Ist das Realisierbar bzw bereits integriert ?

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

                                        @ElDiablo1985:

                                        Danke für das Tolle Script.

                                        Wie wirkt sich eigentlich das Ergebniss aus ? Wird es Tabelarisch dargestellt wie bei Tankerkönig oder per Map wo man die Tankstellen im Umkreis sieht ?

                                        Ich persönlich finde eine Map Ansicht besser da man Direkt sieht wo was am günstigsten ist.

                                        Ist das Realisierbar bzw bereits integriert ? `
                                        Du kannst die Map gern mit iFrame in VIS einbinden.

                                        Eine Karte ist nicht integriert und nicht geplant (in naher Zukunft).

                                        Gruß

                                        Pix

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

                                          @DiJaexxl:

                                          Hallo pix,

                                          Ich werde auf dich warten. 🙂 `
                                          http://forum.iobroker.net/viewtopic.php?f=20&t=2992

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          930
                                          Online

                                          31.6k
                                          Users

                                          79.5k
                                          Topics

                                          1.3m
                                          Posts

                                          12
                                          29
                                          7357
                                          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