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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. HTML-Table für VIS oder Iqontrol (js und blockly)

NEWS

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

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

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

HTML-Table für VIS oder Iqontrol (js und blockly)

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascripttemplateblockly
295 Beiträge 19 Kommentatoren 66.4k Aufrufe 56 Watching
  • Ä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.
  • M mrfloppy

    @liv-in-sky

    sind tlw leer.
    Hängt `vielleicht damit zusammen das ich mehr Tankstellenkoordinaten beim der Instanz definiert habe?
    Keine Eile mit den Bildchen

    liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    schrieb am zuletzt editiert von
    #278

    @mrfloppy

    wie sollen wir eigentlich zwei verschiedene kraftstoffe anzeigen ? wenn man DIe und SUP hat - zwei scripte definieren oder zwei tabellen erstellen oder alles in eine tabelle ?

    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

    M 1 Antwort Letzte Antwort
    0
    • liv-in-skyL liv-in-sky

      @mrfloppy

      wie sollen wir eigentlich zwei verschiedene kraftstoffe anzeigen ? wenn man DIe und SUP hat - zwei scripte definieren oder zwei tabellen erstellen oder alles in eine tabelle ?

      M Offline
      M Offline
      mrfloppy
      schrieb am zuletzt editiert von mrfloppy
      #279

      @liv-in-sky said in HTML-Table für VIS oder Iqontrol (js und blockly):

      zwei scripte definieren oder zwei tabellen erstellen oder alles in eine

      ich würde je ein eigenes Script für DIE und SUP machen.
      Habe gestern kurz ins Script geschaut da müsste man halt einige Punkte darin ändern.

      Ja aber nicht im 0_Home_.... sondern in einem der anderen Ordner
      Screenshot 2023-02-05 103439.jpg

      liv-in-skyL 1 Antwort Letzte Antwort
      0
      • M mrfloppy

        @liv-in-sky said in HTML-Table für VIS oder Iqontrol (js und blockly):

        zwei scripte definieren oder zwei tabellen erstellen oder alles in eine

        ich würde je ein eigenes Script für DIE und SUP machen.
        Habe gestern kurz ins Script geschaut da müsste man halt einige Punkte darin ändern.

        Ja aber nicht im 0_Home_.... sondern in einem der anderen Ordner
        Screenshot 2023-02-05 103439.jpg

        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von liv-in-sky
        #280

        @mrfloppy

        es werden alle anderen ordner auch geprüft, ob dort koordinaten sind - bei mir kommt es auch ab und zu vor

        habe ein neues script - kannst'e mal testen - mit telegram und distanz (luftlinie) - auch die null koordinaten werden behandelt - script läuft einmal beim starten - also kein warten mehr

        script:

        
        let anzahlAnzeige=5;
        let mySprit="SUP"; //oder GAS, oder DIE
        let telegramInstanz="telegram.0"  //"" wenn nicht genutzt
        
        const config = getObject('system.config');
        const mylat =  (config.common.latitude).replace(/(.*\..+?.+?.+?.+?.+?.+?).+/,"$1"); //*/"48.427656" //
        const mylong = config.common.longitude.replace(/(.*\..+?.+?.+?.+?.+?.+?).+/,"$1");
        const defaultPic="/vis.0/Tankstellen/default.png"
        const pictures=[{"firma":"BP","pic":"/vis.0/Tankstellen/bp.png"},
                       {"firma":"Genol","pic":"/vis.0/Tankstellen/genol.png"},
                       {"firma":"eni","pic":"/vis.0/Tankstellen/bp.png"},
                       {"firma":"Diskont","pic":"/vis.0/Tankstellen/diskont.png"},
                       {"firma":"Turmöl","pic":"/vis.0/Tankstellen/turmoel.png"},
                       {"firma":"paradies","pic":"/vis.0/Tankstellen/treibstoffparadies.png"},
                       {"firma":"Lohberger","pic":"/vis.0/Tankstellen/lohberger.png"},
                       {"firma":"SB-Tankstelle","pic":"/vis.0/Tankstellen/sb.jpg"},
                       {"firma":"Hofer","pic":"/vis.0/Tankstellen/hofer.png"},
                       {"firma":"AVIA","pic":"/vis.0/Tankstellen/avia.png"},
                       {"firma":"avanti","pic":"/vis.0/Tankstellen/avanti.png"},
                       {"firma":"Shell","pic":"/vis.0/Tankstellen/shell.png"},
                       {"firma":"Aral","pic":"/vis.0/Tankstellen/Aral.png"},
                       {"firma":"JET","pic":"/vis.0/Tankstellen/jet.png"},
                       {"firma":"Ultsch","pic":"/vis.0/Tankstellen/ultsch.png"},
                      ]
        
        let myTelegramTextOld="";   
        let telegramIsSent=false;           
        
        if(!existsState('0_userdata.0.FUELPRICEMONITOR.JsonAnzeige')) createState('0_userdata.0.FUELPRICEMONITOR.JsonAnzeige', "", { name: "JsonAnzeige", type:'string' });
        if(!existsState('0_userdata.0.FUELPRICEMONITOR.telegram_messageid')) createState('0_userdata.0.FUELPRICEMONITOR.telegram_messageid', "", { name: "telegram_messageid", type:'string' });
        if(!existsState('0_userdata.0.FUELPRICEMONITOR.telegram_chatid')) createState('0_userdata.0.FUELPRICEMONITOR.telegram_chatid', "", { name: "telegram_chatid", type:'string' }); 
        if ( existsState("javascript." + instance + ".FUELPRICEMONITOR.Targets.home"))  setState("javascript." + instance + ".FUELPRICEMONITOR.Targets.home",mylat+','+mylong);
              else  createState("javascript." + instance + ".FUELPRICEMONITOR.Targets.home", mylat+','+mylong, {type: "string", name: "Koordinaten FPM HOME", role: "value", read: true, write: true, } ); 
        
        
        on({id: "fuelpricemonitor.0.cheapestOverAll_"+mySprit+".0.amount", change: "any"}, async function (obj) {
           mainFunc();
         });
        
        async function mainFunc() {  
        let myTelegramText="";
        
        let unserJsonArray=[];
        $('fuelpricemonitor.*.cheapestOverAll_'+mySprit+'.*.address').each(function(id, i) {   
                let indexArr=id.split('.');
                let index=Number(indexArr[3]);
                let val0=getState(id).val; if(val0==null) val0="nicht angegeben"
                let val1=getState(id.replace("address","amount")).val;
                let val2=getState(id.replace("address","name")).val; if(val2==null) val2="nicht angegeben"
                let val3=getState(id.replace("address","id")).val;               
                let val4=searchLoc(val3);
                let val5=getDistanceFromLatLonInKm(mylat, mylong, val4.split(',')[0], val4.split(',')[1])
           
        
        if(val1!=null && index<anzahlAnzeige){
        unserJsonArray.push({ "Index":    index,
                             "Logo":     getPic(val2),
                             "Adresse":  val0,
                             "Preis":    val1,
                             "Name":     val2,
                             "ID":       val3,
                             "Koordinaten": val4,
                             "Dis(km)":  val5 })
        
        
        if (  existsState("javascript." + instance + ".FUELPRICEMONITOR.Targets."+index+"er"))   setState("javascript." + instance + ".FUELPRICEMONITOR.Targets."+index+"er",val4.toString());
              else     createState("javascript." + instance + ".FUELPRICEMONITOR.Targets."+index+"er", val4.toString(), {type: "string", name: "Koordinaten FPM "+ index, role: "value", read: true, write: true, } ); }
        
        
        
        })
        
        //log(JSON.stringify(unserJsonArray));
        
        // in eigenen dp speichern - type zeichenkette
        setState("0_userdata.0.FUELPRICEMONITOR.JsonAnzeige",JSON.stringify(unserJsonArray));
        if(telegramInstanz!=""){
        for(let i=0;i<unserJsonArray.length;i++){
           myTelegramText=myTelegramText+unserJsonArray[i].Adresse+"\nPreis: "+unserJsonArray[i].Preis+"\nDistanz: "+unserJsonArray[i]["Dis(km)"]+"\n\n"
        }
        if(myTelegramTextOld!=myTelegramText&&!telegramIsSent)  {sendtext(myTelegramText);telegramIsSent=true} else{if(myTelegramTextOld!=myTelegramText) updatetext(myTelegramText)}
        myTelegramTextOld=myTelegramText;
        }
        }
        
        
        
        function searchLoc(theId){
        let  ergebnis="";
        $('fuelpricemonitor.0.*.*.location.latitude').each(function(id, i) {
           let indexArr=id.split('.');
           let indexId=indexArr[3];
           
          // log(theId +"  "+indexId )
           if(indexId==theId ){
                                                            //log(getState(id).val+","+getState(id.replace("latitude","longitude")).val)
                                                            if(getState(id).val!=null){
                                                            ergebnis= (getState(id).val+","+getState(id.replace("latitude","longitude")).val).toString()}
                                                            else {ergebnis=mylat+','+mylong}
                                                            }
                                                            
        })
        //log (ergebnis)
        return ergebnis;
        
        }
        
        function getPic(nameTanke){
        let defaultTanke=defaultPic
        
        for(let i=0;i<pictures.length;i++){//log(nameTanke+"   -  "+pictures[i].firma+"  -  "+nameTanke.indexOf(pictures[i].firma))
         // if(pictures[i].firma.includes(nameTanke)) {defaultTanke=pictures[i].pic }
          if(nameTanke.indexOf(pictures[i].firma)>-1) {defaultTanke=pictures[i].pic; break }
        }
        //log(defaultTanke)
        return defaultTanke
        
        }
        
        function getDistanceFromLatLonInKm(lat1, lon1, lat2, lon2) {
         var R = 6371; // Radius of the earth in km
         var dLat = deg2rad(lat2-lat1);  // deg2rad below
         var dLon = deg2rad(lon2-lon1); 
         var a = 
           Math.sin(dLat/2) * Math.sin(dLat/2) +
           Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * 
           Math.sin(dLon/2) * Math.sin(dLon/2)
           ; 
         var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
         var d = R * c; // Distance in km
         return Math.round(d);
        }
        
        function deg2rad(deg) {
         return deg * (Math.PI/180)
        }
        
        async function sendtext(myText) {
        
           sendTo(telegramInstanz, {
        
               text: myText
        
               });
           await wait(1000);
           var messageid=getState(telegramInstanz+".communicate.botSendMessageId").val;
        
           var chatid=getState(telegramInstanz+".communicate.botSendChatId").val;
           await wait(2000);log("sendtext")
           setState('0_userdata.0.FUELPRICEMONITOR.telegram_messageid', String(messageid));
           setState('0_userdata.0.FUELPRICEMONITOR.telegram_chatid', String(chatid));
        
        }
        
        async function updatetext(myText) {
        
           let mid=getState("0_userdata.0.FUELPRICEMONITOR.telegram_messageid").val
           let mch=getState("0_userdata.0.FUELPRICEMONITOR.telegram_chatid").val
           log(mid+'  -  '+mch+"  -  update")
           
        
           sendTo(telegramInstanz, {
              text: myText,
               editMessageText: {
                   options: {
                       chat_id: mch,
                       message_id: mid,
                             }
               }
           });
        
        }
        
        mainFunc();
        
        
        
        

        widget

        [{"tpl":"tplOsm","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","mCount":"6","maxZoom":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"hideControls":true,"markersSwap1":true,"markersLon-oid1":"javascript.0.FUELPRICEMONITOR.Targets.0er","markersLat-oid1":"","markersWidth1":"13","markersHeight1":"13","markersOffsetX1":"","markersOffsetY1":"","markersImage1":"/vis.0/armin/img/zahl/1-green.png","markersLon-oid2":"javascript.0.FUELPRICEMONITOR.Targets.1er","markersSwap2":true,"markersLon-oid3":"javascript.0.FUELPRICEMONITOR.Targets.2er","markersSwap3":true,"markersLon-oid4":"javascript.0.FUELPRICEMONITOR.Targets.3er","markersSwap4":true,"markersImage4":"/vis.0/armin/img/zahl/4-green.png","markersImage3":"/vis.0/armin/img/zahl/3-green.png","markersImage2":"/vis.0/armin/img/zahl/2-green.png","markersLon-oid6":"javascript.0.FUELPRICEMONITOR.Targets.home","markersSwap6":true,"markersImage6":"/vis.0/armin/img/haus2.png","g_markers_§4":true,"markersWidth2":"13","markersHeight2":"13","markersWidth3":"13","markersHeight3":"13","markersWidth4":"13","markersHeight4":"13","markersWidth6":"17","markersHeight6":"17","markersLon-oid5":"javascript.0.FUELPRICEMONITOR.Targets.4er","markersSwap5":true,"markersImage5":"/vis.0/armin/img/zahl/5-green.png","markersWidth5":"13","markersHeight5":"13"},"style":{"left":"907px","top":"856px","width":"380px","height":"273px"},"widgetSet":"map"},{"tpl":"i-vis-jsontable","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","iTblRowLimit":"20","iTableRefreshRate":"0","iTblSortOrder":"asc","iColCount":"8","iColShow1":false,"iTblHeadTextAlign1":"center","iTblTextAlign1":"center","iTblCellFormat1":"normal","iTblCellImageSize1":"200","iTblCellBooleanCheckbox1":"false","iTblCellBooleanColorFalse1":"#ff0000","iTblCellBooleanColorTrue1":"#00ff00","iTblCellNumberDecimals1":"2","iTblCellNumberDecimalSeperator1":".","iTblCellNumberThousandSeperator1":",","iTblCellThresholdsDp1":"","iTblCellThresholdsText1":"","iOpacityAll":"1","iTblRowEvenColor":"#060d14","iTblRowUnevenColor":"#1d1f20","iTblHeaderColor":"#204565","iRowSpacing":"3.4","iTblRowEvenTextColor":"#ffffff","iTblRowUnevenTextColor":"#ffffff","iTblHeaderTextColor":"#ffffff","iBorderSize":"0","iBorderStyleLeft":"none","iBorderStyleRight":"none","iBorderStyleUp":"none","iBorderStyleDown":"none","iBorderColor":"#ffffff","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"oid":"0_userdata.0.FUELPRICEMONITOR.JsonAnzeige","iTblShowHead":true,"iColShow2":"true","iTblHeadTextAlign2":"left","iTblTextAlign2":"left","iTblCellFormat2":"image","iTblCellImageSize2":"35","iTblCellBooleanCheckbox2":"false","iTblCellBooleanColorFalse2":"#ff0000","iTblCellBooleanColorTrue2":"#00ff00","iTblCellNumberDecimals2":"2","iTblCellNumberDecimalSeperator2":".","iTblCellNumberThousandSeperator2":",","iTblCellThresholdsDp2":"","iTblCellThresholdsText2":"","iColShow3":"true","iTblHeadTextAlign3":"center","iTblTextAlign3":"center","iTblCellFormat3":"normal","iTblCellImageSize3":"200","iTblCellBooleanCheckbox3":false,"iTblCellBooleanColorFalse3":"#ff0000","iTblCellBooleanColorTrue3":"#00ff00","iTblCellNumberDecimals3":"2","iTblCellNumberDecimalSeperator3":".","iTblCellNumberThousandSeperator3":",","iTblCellThresholdsDp3":"","iTblCellThresholdsText3":"","iColShow4":"true","iTblHeadTextAlign4":"left","iTblTextAlign4":"left","iTblCellFormat4":"normal","iTblCellImageSize4":"200","iTblCellBooleanCheckbox4":"false","iTblCellBooleanColorFalse4":"#ff0000","iTblCellBooleanColorTrue4":"#00ff00","iTblCellNumberDecimals4":"2","iTblCellNumberDecimalSeperator4":".","iTblCellNumberThousandSeperator4":",","iTblCellThresholdsDp4":"","iTblCellThresholdsText4":"","iColShow5":true,"iTblHeadTextAlign5":"center","iTblTextAlign5":"center","iTblCellFormat5":"normal","iTblCellImageSize5":"200","iTblCellBooleanCheckbox5":"false","iTblCellBooleanColorFalse5":"#ff0000","iTblCellBooleanColorTrue5":"#00ff00","iTblCellNumberDecimals5":"2","iTblCellNumberDecimalSeperator5":".","iTblCellNumberThousandSeperator5":",","iTblCellThresholdsDp5":"","iTblCellThresholdsText5":"","iColShow6":false,"iTblHeadTextAlign6":"center","iTblTextAlign6":"center","iTblCellFormat6":"normal","iTblCellImageSize6":"200","iTblCellBooleanCheckbox6":"false","iTblCellBooleanColorFalse6":"#ff0000","iTblCellBooleanColorTrue6":"#00ff00","iTblCellNumberDecimals6":"2","iTblCellNumberDecimalSeperator6":".","iTblCellNumberThousandSeperator6":",","iTblCellThresholdsDp6":"","iTblCellThresholdsText6":"","iColShow7":false,"iTblHeadTextAlign7":"center","iTblTextAlign7":"center","iTblCellFormat7":"normal","iTblCellImageSize7":"200","iTblCellBooleanCheckbox7":"false","iTblCellBooleanColorFalse7":"#ff0000","iTblCellBooleanColorTrue7":"#00ff00","iTblCellNumberDecimals7":"2","iTblCellNumberDecimalSeperator7":".","iTblCellNumberThousandSeperator7":",","iTblCellThresholdsDp7":"","iTblCellThresholdsText7":"","iColShow8":"true","iTblHeadTextAlign8":"center","iTblTextAlign8":"center","iTblCellFormat8":"normal","iTblCellImageSize8":"200","iTblCellBooleanCheckbox8":"false","iTblCellBooleanColorFalse8":"#ff0000","iTblCellBooleanColorTrue8":"#00ff00","iTblCellNumberDecimals8":"2","iTblCellNumberDecimalSeperator8":".","iTblCellNumberThousandSeperator8":",","iTblCellThresholdsDp8":"","iTblCellThresholdsText8":"","iColShow9":"true","iTblHeadTextAlign9":"center","iTblTextAlign9":"center","iTblCellFormat9":"normal","iTblCellImageSize9":"200","iTblCellBooleanCheckbox9":"false","iTblCellBooleanColorFalse9":"#ff0000","iTblCellBooleanColorTrue9":"#00ff00","iTblCellNumberDecimals9":"2","iTblCellNumberDecimalSeperator9":".","iTblCellNumberThousandSeperator9":",","iTblCellThresholdsDp9":"","iTblCellThresholdsText9":"","iTblFixedHead":true,"iTblSortAttr":"","iColName1":"","iColName2":"","iColWidth2":"","iVertScroll":true,"iColPreText1":"","iColPreText2":"","iColPreText4":"","iTblDummyRow":"keine Daten"},"style":{"left":"226px","top":"815px","width":"641px","height":"293px","font-size":"medium","overflow-y":"scroll","z-index":"100"},"widgetSet":"vis-inventwo"}]
        

        Image 174.png

        bilder:

        bilder.7z

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        ChaotC M 2 Antworten Letzte Antwort
        0
        • liv-in-skyL liv-in-sky

          @mrfloppy

          es werden alle anderen ordner auch geprüft, ob dort koordinaten sind - bei mir kommt es auch ab und zu vor

          habe ein neues script - kannst'e mal testen - mit telegram und distanz (luftlinie) - auch die null koordinaten werden behandelt - script läuft einmal beim starten - also kein warten mehr

          script:

          
          let anzahlAnzeige=5;
          let mySprit="SUP"; //oder GAS, oder DIE
          let telegramInstanz="telegram.0"  //"" wenn nicht genutzt
          
          const config = getObject('system.config');
          const mylat =  (config.common.latitude).replace(/(.*\..+?.+?.+?.+?.+?.+?).+/,"$1"); //*/"48.427656" //
          const mylong = config.common.longitude.replace(/(.*\..+?.+?.+?.+?.+?.+?).+/,"$1");
          const defaultPic="/vis.0/Tankstellen/default.png"
          const pictures=[{"firma":"BP","pic":"/vis.0/Tankstellen/bp.png"},
                         {"firma":"Genol","pic":"/vis.0/Tankstellen/genol.png"},
                         {"firma":"eni","pic":"/vis.0/Tankstellen/bp.png"},
                         {"firma":"Diskont","pic":"/vis.0/Tankstellen/diskont.png"},
                         {"firma":"Turmöl","pic":"/vis.0/Tankstellen/turmoel.png"},
                         {"firma":"paradies","pic":"/vis.0/Tankstellen/treibstoffparadies.png"},
                         {"firma":"Lohberger","pic":"/vis.0/Tankstellen/lohberger.png"},
                         {"firma":"SB-Tankstelle","pic":"/vis.0/Tankstellen/sb.jpg"},
                         {"firma":"Hofer","pic":"/vis.0/Tankstellen/hofer.png"},
                         {"firma":"AVIA","pic":"/vis.0/Tankstellen/avia.png"},
                         {"firma":"avanti","pic":"/vis.0/Tankstellen/avanti.png"},
                         {"firma":"Shell","pic":"/vis.0/Tankstellen/shell.png"},
                         {"firma":"Aral","pic":"/vis.0/Tankstellen/Aral.png"},
                         {"firma":"JET","pic":"/vis.0/Tankstellen/jet.png"},
                         {"firma":"Ultsch","pic":"/vis.0/Tankstellen/ultsch.png"},
                        ]
          
          let myTelegramTextOld="";   
          let telegramIsSent=false;           
          
          if(!existsState('0_userdata.0.FUELPRICEMONITOR.JsonAnzeige')) createState('0_userdata.0.FUELPRICEMONITOR.JsonAnzeige', "", { name: "JsonAnzeige", type:'string' });
          if(!existsState('0_userdata.0.FUELPRICEMONITOR.telegram_messageid')) createState('0_userdata.0.FUELPRICEMONITOR.telegram_messageid', "", { name: "telegram_messageid", type:'string' });
          if(!existsState('0_userdata.0.FUELPRICEMONITOR.telegram_chatid')) createState('0_userdata.0.FUELPRICEMONITOR.telegram_chatid', "", { name: "telegram_chatid", type:'string' }); 
          if ( existsState("javascript." + instance + ".FUELPRICEMONITOR.Targets.home"))  setState("javascript." + instance + ".FUELPRICEMONITOR.Targets.home",mylat+','+mylong);
                else  createState("javascript." + instance + ".FUELPRICEMONITOR.Targets.home", mylat+','+mylong, {type: "string", name: "Koordinaten FPM HOME", role: "value", read: true, write: true, } ); 
          
          
          on({id: "fuelpricemonitor.0.cheapestOverAll_"+mySprit+".0.amount", change: "any"}, async function (obj) {
             mainFunc();
           });
          
          async function mainFunc() {  
          let myTelegramText="";
          
          let unserJsonArray=[];
          $('fuelpricemonitor.*.cheapestOverAll_'+mySprit+'.*.address').each(function(id, i) {   
                  let indexArr=id.split('.');
                  let index=Number(indexArr[3]);
                  let val0=getState(id).val; if(val0==null) val0="nicht angegeben"
                  let val1=getState(id.replace("address","amount")).val;
                  let val2=getState(id.replace("address","name")).val; if(val2==null) val2="nicht angegeben"
                  let val3=getState(id.replace("address","id")).val;               
                  let val4=searchLoc(val3);
                  let val5=getDistanceFromLatLonInKm(mylat, mylong, val4.split(',')[0], val4.split(',')[1])
             
          
          if(val1!=null && index<anzahlAnzeige){
          unserJsonArray.push({ "Index":    index,
                               "Logo":     getPic(val2),
                               "Adresse":  val0,
                               "Preis":    val1,
                               "Name":     val2,
                               "ID":       val3,
                               "Koordinaten": val4,
                               "Dis(km)":  val5 })
          
          
          if (  existsState("javascript." + instance + ".FUELPRICEMONITOR.Targets."+index+"er"))   setState("javascript." + instance + ".FUELPRICEMONITOR.Targets."+index+"er",val4.toString());
                else     createState("javascript." + instance + ".FUELPRICEMONITOR.Targets."+index+"er", val4.toString(), {type: "string", name: "Koordinaten FPM "+ index, role: "value", read: true, write: true, } ); }
          
          
          
          })
          
          //log(JSON.stringify(unserJsonArray));
          
          // in eigenen dp speichern - type zeichenkette
          setState("0_userdata.0.FUELPRICEMONITOR.JsonAnzeige",JSON.stringify(unserJsonArray));
          if(telegramInstanz!=""){
          for(let i=0;i<unserJsonArray.length;i++){
             myTelegramText=myTelegramText+unserJsonArray[i].Adresse+"\nPreis: "+unserJsonArray[i].Preis+"\nDistanz: "+unserJsonArray[i]["Dis(km)"]+"\n\n"
          }
          if(myTelegramTextOld!=myTelegramText&&!telegramIsSent)  {sendtext(myTelegramText);telegramIsSent=true} else{if(myTelegramTextOld!=myTelegramText) updatetext(myTelegramText)}
          myTelegramTextOld=myTelegramText;
          }
          }
          
          
          
          function searchLoc(theId){
          let  ergebnis="";
          $('fuelpricemonitor.0.*.*.location.latitude').each(function(id, i) {
             let indexArr=id.split('.');
             let indexId=indexArr[3];
             
            // log(theId +"  "+indexId )
             if(indexId==theId ){
                                                              //log(getState(id).val+","+getState(id.replace("latitude","longitude")).val)
                                                              if(getState(id).val!=null){
                                                              ergebnis= (getState(id).val+","+getState(id.replace("latitude","longitude")).val).toString()}
                                                              else {ergebnis=mylat+','+mylong}
                                                              }
                                                              
          })
          //log (ergebnis)
          return ergebnis;
          
          }
          
          function getPic(nameTanke){
          let defaultTanke=defaultPic
          
          for(let i=0;i<pictures.length;i++){//log(nameTanke+"   -  "+pictures[i].firma+"  -  "+nameTanke.indexOf(pictures[i].firma))
           // if(pictures[i].firma.includes(nameTanke)) {defaultTanke=pictures[i].pic }
            if(nameTanke.indexOf(pictures[i].firma)>-1) {defaultTanke=pictures[i].pic; break }
          }
          //log(defaultTanke)
          return defaultTanke
          
          }
          
          function getDistanceFromLatLonInKm(lat1, lon1, lat2, lon2) {
           var R = 6371; // Radius of the earth in km
           var dLat = deg2rad(lat2-lat1);  // deg2rad below
           var dLon = deg2rad(lon2-lon1); 
           var a = 
             Math.sin(dLat/2) * Math.sin(dLat/2) +
             Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * 
             Math.sin(dLon/2) * Math.sin(dLon/2)
             ; 
           var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
           var d = R * c; // Distance in km
           return Math.round(d);
          }
          
          function deg2rad(deg) {
           return deg * (Math.PI/180)
          }
          
          async function sendtext(myText) {
          
             sendTo(telegramInstanz, {
          
                 text: myText
          
                 });
             await wait(1000);
             var messageid=getState(telegramInstanz+".communicate.botSendMessageId").val;
          
             var chatid=getState(telegramInstanz+".communicate.botSendChatId").val;
             await wait(2000);log("sendtext")
             setState('0_userdata.0.FUELPRICEMONITOR.telegram_messageid', String(messageid));
             setState('0_userdata.0.FUELPRICEMONITOR.telegram_chatid', String(chatid));
          
          }
          
          async function updatetext(myText) {
          
             let mid=getState("0_userdata.0.FUELPRICEMONITOR.telegram_messageid").val
             let mch=getState("0_userdata.0.FUELPRICEMONITOR.telegram_chatid").val
             log(mid+'  -  '+mch+"  -  update")
             
          
             sendTo(telegramInstanz, {
                text: myText,
                 editMessageText: {
                     options: {
                         chat_id: mch,
                         message_id: mid,
                               }
                 }
             });
          
          }
          
          mainFunc();
          
          
          
          

          widget

          [{"tpl":"tplOsm","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","mCount":"6","maxZoom":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"hideControls":true,"markersSwap1":true,"markersLon-oid1":"javascript.0.FUELPRICEMONITOR.Targets.0er","markersLat-oid1":"","markersWidth1":"13","markersHeight1":"13","markersOffsetX1":"","markersOffsetY1":"","markersImage1":"/vis.0/armin/img/zahl/1-green.png","markersLon-oid2":"javascript.0.FUELPRICEMONITOR.Targets.1er","markersSwap2":true,"markersLon-oid3":"javascript.0.FUELPRICEMONITOR.Targets.2er","markersSwap3":true,"markersLon-oid4":"javascript.0.FUELPRICEMONITOR.Targets.3er","markersSwap4":true,"markersImage4":"/vis.0/armin/img/zahl/4-green.png","markersImage3":"/vis.0/armin/img/zahl/3-green.png","markersImage2":"/vis.0/armin/img/zahl/2-green.png","markersLon-oid6":"javascript.0.FUELPRICEMONITOR.Targets.home","markersSwap6":true,"markersImage6":"/vis.0/armin/img/haus2.png","g_markers_§4":true,"markersWidth2":"13","markersHeight2":"13","markersWidth3":"13","markersHeight3":"13","markersWidth4":"13","markersHeight4":"13","markersWidth6":"17","markersHeight6":"17","markersLon-oid5":"javascript.0.FUELPRICEMONITOR.Targets.4er","markersSwap5":true,"markersImage5":"/vis.0/armin/img/zahl/5-green.png","markersWidth5":"13","markersHeight5":"13"},"style":{"left":"907px","top":"856px","width":"380px","height":"273px"},"widgetSet":"map"},{"tpl":"i-vis-jsontable","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","iTblRowLimit":"20","iTableRefreshRate":"0","iTblSortOrder":"asc","iColCount":"8","iColShow1":false,"iTblHeadTextAlign1":"center","iTblTextAlign1":"center","iTblCellFormat1":"normal","iTblCellImageSize1":"200","iTblCellBooleanCheckbox1":"false","iTblCellBooleanColorFalse1":"#ff0000","iTblCellBooleanColorTrue1":"#00ff00","iTblCellNumberDecimals1":"2","iTblCellNumberDecimalSeperator1":".","iTblCellNumberThousandSeperator1":",","iTblCellThresholdsDp1":"","iTblCellThresholdsText1":"","iOpacityAll":"1","iTblRowEvenColor":"#060d14","iTblRowUnevenColor":"#1d1f20","iTblHeaderColor":"#204565","iRowSpacing":"3.4","iTblRowEvenTextColor":"#ffffff","iTblRowUnevenTextColor":"#ffffff","iTblHeaderTextColor":"#ffffff","iBorderSize":"0","iBorderStyleLeft":"none","iBorderStyleRight":"none","iBorderStyleUp":"none","iBorderStyleDown":"none","iBorderColor":"#ffffff","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"oid":"0_userdata.0.FUELPRICEMONITOR.JsonAnzeige","iTblShowHead":true,"iColShow2":"true","iTblHeadTextAlign2":"left","iTblTextAlign2":"left","iTblCellFormat2":"image","iTblCellImageSize2":"35","iTblCellBooleanCheckbox2":"false","iTblCellBooleanColorFalse2":"#ff0000","iTblCellBooleanColorTrue2":"#00ff00","iTblCellNumberDecimals2":"2","iTblCellNumberDecimalSeperator2":".","iTblCellNumberThousandSeperator2":",","iTblCellThresholdsDp2":"","iTblCellThresholdsText2":"","iColShow3":"true","iTblHeadTextAlign3":"center","iTblTextAlign3":"center","iTblCellFormat3":"normal","iTblCellImageSize3":"200","iTblCellBooleanCheckbox3":false,"iTblCellBooleanColorFalse3":"#ff0000","iTblCellBooleanColorTrue3":"#00ff00","iTblCellNumberDecimals3":"2","iTblCellNumberDecimalSeperator3":".","iTblCellNumberThousandSeperator3":",","iTblCellThresholdsDp3":"","iTblCellThresholdsText3":"","iColShow4":"true","iTblHeadTextAlign4":"left","iTblTextAlign4":"left","iTblCellFormat4":"normal","iTblCellImageSize4":"200","iTblCellBooleanCheckbox4":"false","iTblCellBooleanColorFalse4":"#ff0000","iTblCellBooleanColorTrue4":"#00ff00","iTblCellNumberDecimals4":"2","iTblCellNumberDecimalSeperator4":".","iTblCellNumberThousandSeperator4":",","iTblCellThresholdsDp4":"","iTblCellThresholdsText4":"","iColShow5":true,"iTblHeadTextAlign5":"center","iTblTextAlign5":"center","iTblCellFormat5":"normal","iTblCellImageSize5":"200","iTblCellBooleanCheckbox5":"false","iTblCellBooleanColorFalse5":"#ff0000","iTblCellBooleanColorTrue5":"#00ff00","iTblCellNumberDecimals5":"2","iTblCellNumberDecimalSeperator5":".","iTblCellNumberThousandSeperator5":",","iTblCellThresholdsDp5":"","iTblCellThresholdsText5":"","iColShow6":false,"iTblHeadTextAlign6":"center","iTblTextAlign6":"center","iTblCellFormat6":"normal","iTblCellImageSize6":"200","iTblCellBooleanCheckbox6":"false","iTblCellBooleanColorFalse6":"#ff0000","iTblCellBooleanColorTrue6":"#00ff00","iTblCellNumberDecimals6":"2","iTblCellNumberDecimalSeperator6":".","iTblCellNumberThousandSeperator6":",","iTblCellThresholdsDp6":"","iTblCellThresholdsText6":"","iColShow7":false,"iTblHeadTextAlign7":"center","iTblTextAlign7":"center","iTblCellFormat7":"normal","iTblCellImageSize7":"200","iTblCellBooleanCheckbox7":"false","iTblCellBooleanColorFalse7":"#ff0000","iTblCellBooleanColorTrue7":"#00ff00","iTblCellNumberDecimals7":"2","iTblCellNumberDecimalSeperator7":".","iTblCellNumberThousandSeperator7":",","iTblCellThresholdsDp7":"","iTblCellThresholdsText7":"","iColShow8":"true","iTblHeadTextAlign8":"center","iTblTextAlign8":"center","iTblCellFormat8":"normal","iTblCellImageSize8":"200","iTblCellBooleanCheckbox8":"false","iTblCellBooleanColorFalse8":"#ff0000","iTblCellBooleanColorTrue8":"#00ff00","iTblCellNumberDecimals8":"2","iTblCellNumberDecimalSeperator8":".","iTblCellNumberThousandSeperator8":",","iTblCellThresholdsDp8":"","iTblCellThresholdsText8":"","iColShow9":"true","iTblHeadTextAlign9":"center","iTblTextAlign9":"center","iTblCellFormat9":"normal","iTblCellImageSize9":"200","iTblCellBooleanCheckbox9":"false","iTblCellBooleanColorFalse9":"#ff0000","iTblCellBooleanColorTrue9":"#00ff00","iTblCellNumberDecimals9":"2","iTblCellNumberDecimalSeperator9":".","iTblCellNumberThousandSeperator9":",","iTblCellThresholdsDp9":"","iTblCellThresholdsText9":"","iTblFixedHead":true,"iTblSortAttr":"","iColName1":"","iColName2":"","iColWidth2":"","iVertScroll":true,"iColPreText1":"","iColPreText2":"","iColPreText4":"","iTblDummyRow":"keine Daten"},"style":{"left":"226px","top":"815px","width":"641px","height":"293px","font-size":"medium","overflow-y":"scroll","z-index":"100"},"widgetSet":"vis-inventwo"}]
          

          Image 174.png

          bilder:

          bilder.7z

          ChaotC Offline
          ChaotC Offline
          Chaot
          schrieb am zuletzt editiert von
          #281

          @liv-in-sky
          Ich habe noch ein Bild für das Betreiberarchiv:
          bft.png

          ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

          liv-in-skyL 1 Antwort Letzte Antwort
          0
          • ChaotC Chaot

            @liv-in-sky
            Ich habe noch ein Bild für das Betreiberarchiv:
            bft.png

            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            schrieb am zuletzt editiert von liv-in-sky
            #282

            @chaot machst du es bitte quadratisch und was muss im namen sein, damit ich das finde und zuteilen kann - BFT oder bft oder was anderes

            sorry- bin gerade am küchenumbau und programmiere in den pausen :-)

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            ChaotC 1 Antwort Letzte Antwort
            0
            • liv-in-skyL liv-in-sky

              @chaot machst du es bitte quadratisch und was muss im namen sein, damit ich das finde und zuteilen kann - BFT oder bft oder was anderes

              sorry- bin gerade am küchenumbau und programmiere in den pausen :-)

              ChaotC Offline
              ChaotC Offline
              Chaot
              schrieb am zuletzt editiert von
              #283

              @liv-in-sky
              Im Tankerkönig steht "bft" zusammen mit einem Namen.
              z.B. bft - Walther
              Das neue Logo der Tankstellen ist Quadratisch:
              bft.png

              Sag Bescheid wenn's was zu Essen gibt. Wir kommen dann.....

              ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

              liv-in-skyL 1 Antwort Letzte Antwort
              0
              • ChaotC Chaot

                @liv-in-sky
                Im Tankerkönig steht "bft" zusammen mit einem Namen.
                z.B. bft - Walther
                Das neue Logo der Tankstellen ist Quadratisch:
                bft.png

                Sag Bescheid wenn's was zu Essen gibt. Wir kommen dann.....

                liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                schrieb am zuletzt editiert von
                #284

                @chaot bin kein handwerker - kann dauern, bis das alles wieder steht :-) küchenscränke lassen sich nicht programmieren - die brauchen anscheinend schrauben

                danke

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                ChaotC 1 Antwort Letzte Antwort
                0
                • liv-in-skyL liv-in-sky

                  @chaot bin kein handwerker - kann dauern, bis das alles wieder steht :-) küchenscränke lassen sich nicht programmieren - die brauchen anscheinend schrauben

                  danke

                  ChaotC Offline
                  ChaotC Offline
                  Chaot
                  schrieb am zuletzt editiert von
                  #285

                  @liv-in-sky Kein Problem. Abendessen reicht mir auch.
                  Danke dass du trotzdem die Zeit findest hier noch ein bisschen zu schreiben.

                  ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                  1 Antwort Letzte Antwort
                  0
                  • liv-in-skyL liv-in-sky

                    @mrfloppy

                    es werden alle anderen ordner auch geprüft, ob dort koordinaten sind - bei mir kommt es auch ab und zu vor

                    habe ein neues script - kannst'e mal testen - mit telegram und distanz (luftlinie) - auch die null koordinaten werden behandelt - script läuft einmal beim starten - also kein warten mehr

                    script:

                    
                    let anzahlAnzeige=5;
                    let mySprit="SUP"; //oder GAS, oder DIE
                    let telegramInstanz="telegram.0"  //"" wenn nicht genutzt
                    
                    const config = getObject('system.config');
                    const mylat =  (config.common.latitude).replace(/(.*\..+?.+?.+?.+?.+?.+?).+/,"$1"); //*/"48.427656" //
                    const mylong = config.common.longitude.replace(/(.*\..+?.+?.+?.+?.+?.+?).+/,"$1");
                    const defaultPic="/vis.0/Tankstellen/default.png"
                    const pictures=[{"firma":"BP","pic":"/vis.0/Tankstellen/bp.png"},
                                   {"firma":"Genol","pic":"/vis.0/Tankstellen/genol.png"},
                                   {"firma":"eni","pic":"/vis.0/Tankstellen/bp.png"},
                                   {"firma":"Diskont","pic":"/vis.0/Tankstellen/diskont.png"},
                                   {"firma":"Turmöl","pic":"/vis.0/Tankstellen/turmoel.png"},
                                   {"firma":"paradies","pic":"/vis.0/Tankstellen/treibstoffparadies.png"},
                                   {"firma":"Lohberger","pic":"/vis.0/Tankstellen/lohberger.png"},
                                   {"firma":"SB-Tankstelle","pic":"/vis.0/Tankstellen/sb.jpg"},
                                   {"firma":"Hofer","pic":"/vis.0/Tankstellen/hofer.png"},
                                   {"firma":"AVIA","pic":"/vis.0/Tankstellen/avia.png"},
                                   {"firma":"avanti","pic":"/vis.0/Tankstellen/avanti.png"},
                                   {"firma":"Shell","pic":"/vis.0/Tankstellen/shell.png"},
                                   {"firma":"Aral","pic":"/vis.0/Tankstellen/Aral.png"},
                                   {"firma":"JET","pic":"/vis.0/Tankstellen/jet.png"},
                                   {"firma":"Ultsch","pic":"/vis.0/Tankstellen/ultsch.png"},
                                  ]
                    
                    let myTelegramTextOld="";   
                    let telegramIsSent=false;           
                    
                    if(!existsState('0_userdata.0.FUELPRICEMONITOR.JsonAnzeige')) createState('0_userdata.0.FUELPRICEMONITOR.JsonAnzeige', "", { name: "JsonAnzeige", type:'string' });
                    if(!existsState('0_userdata.0.FUELPRICEMONITOR.telegram_messageid')) createState('0_userdata.0.FUELPRICEMONITOR.telegram_messageid', "", { name: "telegram_messageid", type:'string' });
                    if(!existsState('0_userdata.0.FUELPRICEMONITOR.telegram_chatid')) createState('0_userdata.0.FUELPRICEMONITOR.telegram_chatid', "", { name: "telegram_chatid", type:'string' }); 
                    if ( existsState("javascript." + instance + ".FUELPRICEMONITOR.Targets.home"))  setState("javascript." + instance + ".FUELPRICEMONITOR.Targets.home",mylat+','+mylong);
                          else  createState("javascript." + instance + ".FUELPRICEMONITOR.Targets.home", mylat+','+mylong, {type: "string", name: "Koordinaten FPM HOME", role: "value", read: true, write: true, } ); 
                    
                    
                    on({id: "fuelpricemonitor.0.cheapestOverAll_"+mySprit+".0.amount", change: "any"}, async function (obj) {
                       mainFunc();
                     });
                    
                    async function mainFunc() {  
                    let myTelegramText="";
                    
                    let unserJsonArray=[];
                    $('fuelpricemonitor.*.cheapestOverAll_'+mySprit+'.*.address').each(function(id, i) {   
                            let indexArr=id.split('.');
                            let index=Number(indexArr[3]);
                            let val0=getState(id).val; if(val0==null) val0="nicht angegeben"
                            let val1=getState(id.replace("address","amount")).val;
                            let val2=getState(id.replace("address","name")).val; if(val2==null) val2="nicht angegeben"
                            let val3=getState(id.replace("address","id")).val;               
                            let val4=searchLoc(val3);
                            let val5=getDistanceFromLatLonInKm(mylat, mylong, val4.split(',')[0], val4.split(',')[1])
                       
                    
                    if(val1!=null && index<anzahlAnzeige){
                    unserJsonArray.push({ "Index":    index,
                                         "Logo":     getPic(val2),
                                         "Adresse":  val0,
                                         "Preis":    val1,
                                         "Name":     val2,
                                         "ID":       val3,
                                         "Koordinaten": val4,
                                         "Dis(km)":  val5 })
                    
                    
                    if (  existsState("javascript." + instance + ".FUELPRICEMONITOR.Targets."+index+"er"))   setState("javascript." + instance + ".FUELPRICEMONITOR.Targets."+index+"er",val4.toString());
                          else     createState("javascript." + instance + ".FUELPRICEMONITOR.Targets."+index+"er", val4.toString(), {type: "string", name: "Koordinaten FPM "+ index, role: "value", read: true, write: true, } ); }
                    
                    
                    
                    })
                    
                    //log(JSON.stringify(unserJsonArray));
                    
                    // in eigenen dp speichern - type zeichenkette
                    setState("0_userdata.0.FUELPRICEMONITOR.JsonAnzeige",JSON.stringify(unserJsonArray));
                    if(telegramInstanz!=""){
                    for(let i=0;i<unserJsonArray.length;i++){
                       myTelegramText=myTelegramText+unserJsonArray[i].Adresse+"\nPreis: "+unserJsonArray[i].Preis+"\nDistanz: "+unserJsonArray[i]["Dis(km)"]+"\n\n"
                    }
                    if(myTelegramTextOld!=myTelegramText&&!telegramIsSent)  {sendtext(myTelegramText);telegramIsSent=true} else{if(myTelegramTextOld!=myTelegramText) updatetext(myTelegramText)}
                    myTelegramTextOld=myTelegramText;
                    }
                    }
                    
                    
                    
                    function searchLoc(theId){
                    let  ergebnis="";
                    $('fuelpricemonitor.0.*.*.location.latitude').each(function(id, i) {
                       let indexArr=id.split('.');
                       let indexId=indexArr[3];
                       
                      // log(theId +"  "+indexId )
                       if(indexId==theId ){
                                                                        //log(getState(id).val+","+getState(id.replace("latitude","longitude")).val)
                                                                        if(getState(id).val!=null){
                                                                        ergebnis= (getState(id).val+","+getState(id.replace("latitude","longitude")).val).toString()}
                                                                        else {ergebnis=mylat+','+mylong}
                                                                        }
                                                                        
                    })
                    //log (ergebnis)
                    return ergebnis;
                    
                    }
                    
                    function getPic(nameTanke){
                    let defaultTanke=defaultPic
                    
                    for(let i=0;i<pictures.length;i++){//log(nameTanke+"   -  "+pictures[i].firma+"  -  "+nameTanke.indexOf(pictures[i].firma))
                     // if(pictures[i].firma.includes(nameTanke)) {defaultTanke=pictures[i].pic }
                      if(nameTanke.indexOf(pictures[i].firma)>-1) {defaultTanke=pictures[i].pic; break }
                    }
                    //log(defaultTanke)
                    return defaultTanke
                    
                    }
                    
                    function getDistanceFromLatLonInKm(lat1, lon1, lat2, lon2) {
                     var R = 6371; // Radius of the earth in km
                     var dLat = deg2rad(lat2-lat1);  // deg2rad below
                     var dLon = deg2rad(lon2-lon1); 
                     var a = 
                       Math.sin(dLat/2) * Math.sin(dLat/2) +
                       Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * 
                       Math.sin(dLon/2) * Math.sin(dLon/2)
                       ; 
                     var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
                     var d = R * c; // Distance in km
                     return Math.round(d);
                    }
                    
                    function deg2rad(deg) {
                     return deg * (Math.PI/180)
                    }
                    
                    async function sendtext(myText) {
                    
                       sendTo(telegramInstanz, {
                    
                           text: myText
                    
                           });
                       await wait(1000);
                       var messageid=getState(telegramInstanz+".communicate.botSendMessageId").val;
                    
                       var chatid=getState(telegramInstanz+".communicate.botSendChatId").val;
                       await wait(2000);log("sendtext")
                       setState('0_userdata.0.FUELPRICEMONITOR.telegram_messageid', String(messageid));
                       setState('0_userdata.0.FUELPRICEMONITOR.telegram_chatid', String(chatid));
                    
                    }
                    
                    async function updatetext(myText) {
                    
                       let mid=getState("0_userdata.0.FUELPRICEMONITOR.telegram_messageid").val
                       let mch=getState("0_userdata.0.FUELPRICEMONITOR.telegram_chatid").val
                       log(mid+'  -  '+mch+"  -  update")
                       
                    
                       sendTo(telegramInstanz, {
                          text: myText,
                           editMessageText: {
                               options: {
                                   chat_id: mch,
                                   message_id: mid,
                                         }
                           }
                       });
                    
                    }
                    
                    mainFunc();
                    
                    
                    
                    

                    widget

                    [{"tpl":"tplOsm","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","mCount":"6","maxZoom":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"hideControls":true,"markersSwap1":true,"markersLon-oid1":"javascript.0.FUELPRICEMONITOR.Targets.0er","markersLat-oid1":"","markersWidth1":"13","markersHeight1":"13","markersOffsetX1":"","markersOffsetY1":"","markersImage1":"/vis.0/armin/img/zahl/1-green.png","markersLon-oid2":"javascript.0.FUELPRICEMONITOR.Targets.1er","markersSwap2":true,"markersLon-oid3":"javascript.0.FUELPRICEMONITOR.Targets.2er","markersSwap3":true,"markersLon-oid4":"javascript.0.FUELPRICEMONITOR.Targets.3er","markersSwap4":true,"markersImage4":"/vis.0/armin/img/zahl/4-green.png","markersImage3":"/vis.0/armin/img/zahl/3-green.png","markersImage2":"/vis.0/armin/img/zahl/2-green.png","markersLon-oid6":"javascript.0.FUELPRICEMONITOR.Targets.home","markersSwap6":true,"markersImage6":"/vis.0/armin/img/haus2.png","g_markers_§4":true,"markersWidth2":"13","markersHeight2":"13","markersWidth3":"13","markersHeight3":"13","markersWidth4":"13","markersHeight4":"13","markersWidth6":"17","markersHeight6":"17","markersLon-oid5":"javascript.0.FUELPRICEMONITOR.Targets.4er","markersSwap5":true,"markersImage5":"/vis.0/armin/img/zahl/5-green.png","markersWidth5":"13","markersHeight5":"13"},"style":{"left":"907px","top":"856px","width":"380px","height":"273px"},"widgetSet":"map"},{"tpl":"i-vis-jsontable","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","iTblRowLimit":"20","iTableRefreshRate":"0","iTblSortOrder":"asc","iColCount":"8","iColShow1":false,"iTblHeadTextAlign1":"center","iTblTextAlign1":"center","iTblCellFormat1":"normal","iTblCellImageSize1":"200","iTblCellBooleanCheckbox1":"false","iTblCellBooleanColorFalse1":"#ff0000","iTblCellBooleanColorTrue1":"#00ff00","iTblCellNumberDecimals1":"2","iTblCellNumberDecimalSeperator1":".","iTblCellNumberThousandSeperator1":",","iTblCellThresholdsDp1":"","iTblCellThresholdsText1":"","iOpacityAll":"1","iTblRowEvenColor":"#060d14","iTblRowUnevenColor":"#1d1f20","iTblHeaderColor":"#204565","iRowSpacing":"3.4","iTblRowEvenTextColor":"#ffffff","iTblRowUnevenTextColor":"#ffffff","iTblHeaderTextColor":"#ffffff","iBorderSize":"0","iBorderStyleLeft":"none","iBorderStyleRight":"none","iBorderStyleUp":"none","iBorderStyleDown":"none","iBorderColor":"#ffffff","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"oid":"0_userdata.0.FUELPRICEMONITOR.JsonAnzeige","iTblShowHead":true,"iColShow2":"true","iTblHeadTextAlign2":"left","iTblTextAlign2":"left","iTblCellFormat2":"image","iTblCellImageSize2":"35","iTblCellBooleanCheckbox2":"false","iTblCellBooleanColorFalse2":"#ff0000","iTblCellBooleanColorTrue2":"#00ff00","iTblCellNumberDecimals2":"2","iTblCellNumberDecimalSeperator2":".","iTblCellNumberThousandSeperator2":",","iTblCellThresholdsDp2":"","iTblCellThresholdsText2":"","iColShow3":"true","iTblHeadTextAlign3":"center","iTblTextAlign3":"center","iTblCellFormat3":"normal","iTblCellImageSize3":"200","iTblCellBooleanCheckbox3":false,"iTblCellBooleanColorFalse3":"#ff0000","iTblCellBooleanColorTrue3":"#00ff00","iTblCellNumberDecimals3":"2","iTblCellNumberDecimalSeperator3":".","iTblCellNumberThousandSeperator3":",","iTblCellThresholdsDp3":"","iTblCellThresholdsText3":"","iColShow4":"true","iTblHeadTextAlign4":"left","iTblTextAlign4":"left","iTblCellFormat4":"normal","iTblCellImageSize4":"200","iTblCellBooleanCheckbox4":"false","iTblCellBooleanColorFalse4":"#ff0000","iTblCellBooleanColorTrue4":"#00ff00","iTblCellNumberDecimals4":"2","iTblCellNumberDecimalSeperator4":".","iTblCellNumberThousandSeperator4":",","iTblCellThresholdsDp4":"","iTblCellThresholdsText4":"","iColShow5":true,"iTblHeadTextAlign5":"center","iTblTextAlign5":"center","iTblCellFormat5":"normal","iTblCellImageSize5":"200","iTblCellBooleanCheckbox5":"false","iTblCellBooleanColorFalse5":"#ff0000","iTblCellBooleanColorTrue5":"#00ff00","iTblCellNumberDecimals5":"2","iTblCellNumberDecimalSeperator5":".","iTblCellNumberThousandSeperator5":",","iTblCellThresholdsDp5":"","iTblCellThresholdsText5":"","iColShow6":false,"iTblHeadTextAlign6":"center","iTblTextAlign6":"center","iTblCellFormat6":"normal","iTblCellImageSize6":"200","iTblCellBooleanCheckbox6":"false","iTblCellBooleanColorFalse6":"#ff0000","iTblCellBooleanColorTrue6":"#00ff00","iTblCellNumberDecimals6":"2","iTblCellNumberDecimalSeperator6":".","iTblCellNumberThousandSeperator6":",","iTblCellThresholdsDp6":"","iTblCellThresholdsText6":"","iColShow7":false,"iTblHeadTextAlign7":"center","iTblTextAlign7":"center","iTblCellFormat7":"normal","iTblCellImageSize7":"200","iTblCellBooleanCheckbox7":"false","iTblCellBooleanColorFalse7":"#ff0000","iTblCellBooleanColorTrue7":"#00ff00","iTblCellNumberDecimals7":"2","iTblCellNumberDecimalSeperator7":".","iTblCellNumberThousandSeperator7":",","iTblCellThresholdsDp7":"","iTblCellThresholdsText7":"","iColShow8":"true","iTblHeadTextAlign8":"center","iTblTextAlign8":"center","iTblCellFormat8":"normal","iTblCellImageSize8":"200","iTblCellBooleanCheckbox8":"false","iTblCellBooleanColorFalse8":"#ff0000","iTblCellBooleanColorTrue8":"#00ff00","iTblCellNumberDecimals8":"2","iTblCellNumberDecimalSeperator8":".","iTblCellNumberThousandSeperator8":",","iTblCellThresholdsDp8":"","iTblCellThresholdsText8":"","iColShow9":"true","iTblHeadTextAlign9":"center","iTblTextAlign9":"center","iTblCellFormat9":"normal","iTblCellImageSize9":"200","iTblCellBooleanCheckbox9":"false","iTblCellBooleanColorFalse9":"#ff0000","iTblCellBooleanColorTrue9":"#00ff00","iTblCellNumberDecimals9":"2","iTblCellNumberDecimalSeperator9":".","iTblCellNumberThousandSeperator9":",","iTblCellThresholdsDp9":"","iTblCellThresholdsText9":"","iTblFixedHead":true,"iTblSortAttr":"","iColName1":"","iColName2":"","iColWidth2":"","iVertScroll":true,"iColPreText1":"","iColPreText2":"","iColPreText4":"","iTblDummyRow":"keine Daten"},"style":{"left":"226px","top":"815px","width":"641px","height":"293px","font-size":"medium","overflow-y":"scroll","z-index":"100"},"widgetSet":"vis-inventwo"}]
                    

                    Image 174.png

                    bilder:

                    bilder.7z

                    M Offline
                    M Offline
                    mrfloppy
                    schrieb am zuletzt editiert von
                    #286

                    @liv-in-sky
                    Karte funktioniert nun auch bei mir.
                    Manche Koordinaten werden nicht angezeigt, Obwohl sie in den DP drinnen stehen im FUELPRICE.
                    Habe noch paar Tankstellen dazu gefügt und dadurch haben sich auch andere Tankstellen Koordinaten gefüllt.
                    Aber dadurch kommen immer mehr dazu die ich gar ncht anfahre normalerweise.
                    Keine Ahnung woran das liegt, weil über die API gibt er bei allen 10 Ergebnissen die Long/Lati aus.
                    Den Preis gibt er nur die ersten 5 aus.

                    Spritpreisrechern API test

                    liv-in-skyL 2 Antworten Letzte Antwort
                    0
                    • M mrfloppy

                      @liv-in-sky
                      Karte funktioniert nun auch bei mir.
                      Manche Koordinaten werden nicht angezeigt, Obwohl sie in den DP drinnen stehen im FUELPRICE.
                      Habe noch paar Tankstellen dazu gefügt und dadurch haben sich auch andere Tankstellen Koordinaten gefüllt.
                      Aber dadurch kommen immer mehr dazu die ich gar ncht anfahre normalerweise.
                      Keine Ahnung woran das liegt, weil über die API gibt er bei allen 10 Ergebnissen die Long/Lati aus.
                      Den Preis gibt er nur die ersten 5 aus.

                      Spritpreisrechern API test

                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      schrieb am zuletzt editiert von
                      #287

                      @mrfloppy

                      könnten wir eine anydesk session machen, dann schau ich mir das bei dir an

                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                      1 Antwort Letzte Antwort
                      0
                      • M mrfloppy

                        @liv-in-sky
                        Karte funktioniert nun auch bei mir.
                        Manche Koordinaten werden nicht angezeigt, Obwohl sie in den DP drinnen stehen im FUELPRICE.
                        Habe noch paar Tankstellen dazu gefügt und dadurch haben sich auch andere Tankstellen Koordinaten gefüllt.
                        Aber dadurch kommen immer mehr dazu die ich gar ncht anfahre normalerweise.
                        Keine Ahnung woran das liegt, weil über die API gibt er bei allen 10 Ergebnissen die Long/Lati aus.
                        Den Preis gibt er nur die ersten 5 aus.

                        Spritpreisrechern API test

                        liv-in-skyL Offline
                        liv-in-skyL Offline
                        liv-in-sky
                        schrieb am zuletzt editiert von liv-in-sky
                        #288

                        @mrfloppy

                        du hast keine möglichkeit die koordinaten vom handy in den iobroker zu bekommen - ich mache das und kann bei meinem radar script durch den entfernungswert die radarfallen ausblenden, die zu weit weg vom auto sind

                        auch bei diesem script würde es sinn machen, nur tankstellen anzuzeigen, die in einem bestimmten radius sind - ich fahre eigentlich keine zu vielen extra kilometer um zu tanken - dabei könnte es aber ein problem geben, wenn ich mir 5 anzeigen lasse (die 5 günstigten) und keine ist im radius, wird nix angezeigt - dadurch wird die karte auch immer klein gehalten und man erkennt besser, wo die tanke ist
                        beispiel - von mir daheim ist wien ewig weg - die karte sieht dann so aus. man muss schon sehr nah sein, damit man wirklich was erkennt

                        Image 175.png

                        z.b. hier:
                        der rote punkt ist mein auto, der blaue punkt daheim - die bl. dreiecke sind städte, die bei mir wichtig sind - die koordinaten im zentrum der karte habe ich rausgesucht - kommt nun ein blitzer (lila kreis) kann der die karte nicht auseinanderziehen, da er nur in einem bestimmten raduis zum mittelpunkt der karte sein kann - die blitzer.de api liefert auch alle möglichen blitzer, auch ewig weit weg

                        Image 176.png

                        was mir gerade einfällt - ich könnte auch noch die gpünstigste tanke vom tankerkönig bei mir einbauen - mal kucken :-)

                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                        M 1 Antwort Letzte Antwort
                        0
                        • liv-in-skyL liv-in-sky

                          @mrfloppy

                          du hast keine möglichkeit die koordinaten vom handy in den iobroker zu bekommen - ich mache das und kann bei meinem radar script durch den entfernungswert die radarfallen ausblenden, die zu weit weg vom auto sind

                          auch bei diesem script würde es sinn machen, nur tankstellen anzuzeigen, die in einem bestimmten radius sind - ich fahre eigentlich keine zu vielen extra kilometer um zu tanken - dabei könnte es aber ein problem geben, wenn ich mir 5 anzeigen lasse (die 5 günstigten) und keine ist im radius, wird nix angezeigt - dadurch wird die karte auch immer klein gehalten und man erkennt besser, wo die tanke ist
                          beispiel - von mir daheim ist wien ewig weg - die karte sieht dann so aus. man muss schon sehr nah sein, damit man wirklich was erkennt

                          Image 175.png

                          z.b. hier:
                          der rote punkt ist mein auto, der blaue punkt daheim - die bl. dreiecke sind städte, die bei mir wichtig sind - die koordinaten im zentrum der karte habe ich rausgesucht - kommt nun ein blitzer (lila kreis) kann der die karte nicht auseinanderziehen, da er nur in einem bestimmten raduis zum mittelpunkt der karte sein kann - die blitzer.de api liefert auch alle möglichen blitzer, auch ewig weit weg

                          Image 176.png

                          was mir gerade einfällt - ich könnte auch noch die gpünstigste tanke vom tankerkönig bei mir einbauen - mal kucken :-)

                          M Offline
                          M Offline
                          mrfloppy
                          schrieb am zuletzt editiert von
                          #289

                          @liv-in-sky
                          anydesk können wir gerne mal machen, ev mal abends.
                          Ah das war ne Frage mit den Koordinaten vom Handy in Iobroker. Musste mehrmals lesen.
                          Ja das ginge , habe Life360 und Geofancy laufen.
                          Bei mir sind die Tanken alle so im Umkreis oder am weg nach Wien. Ich fahre meist Tanken am weg von oder zur Arbeit.
                          Da kann dann ich eben versch. Wege nehmen die allesamt max 1-2 km Umweg zur direkten Heimfahrt wären.
                          Das Gimmick mit der Karte das du eingebaut ist wäre nicht unbedingt nötig.
                          MIr würde wie gesagt ne Liste von 5-10 Tanekn reichen die ihcmir als Liste anzeigen lasse. Und wenn Bedarf und ich unterwefgs ich es mir per Telegram schicken lassen kann.
                          Für so Spielereien wie dein RadarScript usw. da habe ich ganz eherlich zu wenig Programmierkenntins und auch allgemein kenntnis Iobroker usw.
                          Bei mir sind so kleine Projekte schon Tagesprojekte, wo sag mal du wahrscheinlich 1-2 Std sitzen würdest.

                          liv-in-skyL 1 Antwort Letzte Antwort
                          0
                          • M mrfloppy

                            @liv-in-sky
                            anydesk können wir gerne mal machen, ev mal abends.
                            Ah das war ne Frage mit den Koordinaten vom Handy in Iobroker. Musste mehrmals lesen.
                            Ja das ginge , habe Life360 und Geofancy laufen.
                            Bei mir sind die Tanken alle so im Umkreis oder am weg nach Wien. Ich fahre meist Tanken am weg von oder zur Arbeit.
                            Da kann dann ich eben versch. Wege nehmen die allesamt max 1-2 km Umweg zur direkten Heimfahrt wären.
                            Das Gimmick mit der Karte das du eingebaut ist wäre nicht unbedingt nötig.
                            MIr würde wie gesagt ne Liste von 5-10 Tanekn reichen die ihcmir als Liste anzeigen lasse. Und wenn Bedarf und ich unterwefgs ich es mir per Telegram schicken lassen kann.
                            Für so Spielereien wie dein RadarScript usw. da habe ich ganz eherlich zu wenig Programmierkenntins und auch allgemein kenntnis Iobroker usw.
                            Bei mir sind so kleine Projekte schon Tagesprojekte, wo sag mal du wahrscheinlich 1-2 Std sitzen würdest.

                            liv-in-skyL Offline
                            liv-in-skyL Offline
                            liv-in-sky
                            schrieb am zuletzt editiert von liv-in-sky
                            #290

                            @mrfloppy sagte in HTML-Table für VIS oder Iqontrol (js und blockly):

                            MIr würde wie gesagt ne Liste von 5-10 Tanekn reichen die ihcmir als Liste anzeigen lasse. Und wenn Bedarf und ich unterwefgs ich es mir per Telegram schicken lassen kann

                            das kann das script ja - die karte mußt du nicht nutzen - dann wäre es eigentlich soweit fertig ?

                            Image 177.png

                            die nachricht wird immer upgedatet und kein neuer block geschrieben

                            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                            M 1 Antwort Letzte Antwort
                            0
                            • liv-in-skyL liv-in-sky

                              @mrfloppy sagte in HTML-Table für VIS oder Iqontrol (js und blockly):

                              MIr würde wie gesagt ne Liste von 5-10 Tanekn reichen die ihcmir als Liste anzeigen lasse. Und wenn Bedarf und ich unterwefgs ich es mir per Telegram schicken lassen kann

                              das kann das script ja - die karte mußt du nicht nutzen - dann wäre es eigentlich soweit fertig ?

                              Image 177.png

                              die nachricht wird immer upgedatet und kein neuer block geschrieben

                              M Offline
                              M Offline
                              mrfloppy
                              schrieb am zuletzt editiert von mrfloppy
                              #291

                              @liv-in-sky
                              Wie kann ich die Abfrage per Telegram mir schicken lassen?
                              Name der Tanke wär noch nice in Telegram.
                              Wie mach ma das mit je einer LiSte für DIE und SUP?

                              liv-in-skyL 1 Antwort Letzte Antwort
                              0
                              • M mrfloppy

                                @liv-in-sky
                                Wie kann ich die Abfrage per Telegram mir schicken lassen?
                                Name der Tanke wär noch nice in Telegram.
                                Wie mach ma das mit je einer LiSte für DIE und SUP?

                                liv-in-skyL Offline
                                liv-in-skyL Offline
                                liv-in-sky
                                schrieb am zuletzt editiert von liv-in-sky
                                #292

                                @mrfloppy sagte in HTML-Table für VIS oder Iqontrol (js und blockly):

                                Wie kann ich die Abfrage per Telegram mir schicken lassen?

                                hast du schon ein menu vom iobroker in telegram - ansonsten muss das script einen button (menu) senden und dann kannst du in telegram draufdrücken und dir senden lassen - wenn du noch kein menu für iob in telegram hast, nutze es doch so, wie jetzt - du bekommst automatisch ein update der preise/unserer liste geupdatet - mach dir einen eigenen bot dafür, dann hast du das immer in telegram

                                oder verstehe ich dich falsch ?

                                @mrfloppy sagte in HTML-Table für VIS oder Iqontrol (js und blockly):

                                Wie mach ma das mit je einer LiSte für DIE und SUP?

                                das habe ich vergessen/verdrängt: wenn wir eine eigene liste für den anderen treibstoff haben wollen, müssen wir ein zweites script installieren - das geht aber im moment noch nicht, da die sich die dp gegenseitig überschreiben würden - werde das vorbereiten - braucht ein paar änderungen

                                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                M 1 Antwort Letzte Antwort
                                0
                                • liv-in-skyL liv-in-sky

                                  @mrfloppy sagte in HTML-Table für VIS oder Iqontrol (js und blockly):

                                  Wie kann ich die Abfrage per Telegram mir schicken lassen?

                                  hast du schon ein menu vom iobroker in telegram - ansonsten muss das script einen button (menu) senden und dann kannst du in telegram draufdrücken und dir senden lassen - wenn du noch kein menu für iob in telegram hast, nutze es doch so, wie jetzt - du bekommst automatisch ein update der preise/unserer liste geupdatet - mach dir einen eigenen bot dafür, dann hast du das immer in telegram

                                  oder verstehe ich dich falsch ?

                                  @mrfloppy sagte in HTML-Table für VIS oder Iqontrol (js und blockly):

                                  Wie mach ma das mit je einer LiSte für DIE und SUP?

                                  das habe ich vergessen/verdrängt: wenn wir eine eigene liste für den anderen treibstoff haben wollen, müssen wir ein zweites script installieren - das geht aber im moment noch nicht, da die sich die dp gegenseitig überschreiben würden - werde das vorbereiten - braucht ein paar änderungen

                                  M Offline
                                  M Offline
                                  mrfloppy
                                  schrieb am zuletzt editiert von
                                  #293

                                  @liv-in-sky said in HTML-Table für VIS oder Iqontrol (js und blockly):

                                  werde das vorbereiten - braucht ein paar änderungen

                                  Wie gesagt kein Stress, aber das wäre toll wenn man eben beide Abfragen könnte. Wir haben je einen DIE und einen Benziner.

                                  Bezüglich Telegram. Instanz habe ich ja, aber ich möchte ja nicht bei jedem Update eine Nachricht bekommen, sonder nur wen ich in den nächsten Tagen danken muss und dan schauen mag wo am günstigsten

                                  liv-in-skyL 1 Antwort Letzte Antwort
                                  0
                                  • M mrfloppy

                                    @liv-in-sky said in HTML-Table für VIS oder Iqontrol (js und blockly):

                                    werde das vorbereiten - braucht ein paar änderungen

                                    Wie gesagt kein Stress, aber das wäre toll wenn man eben beide Abfragen könnte. Wir haben je einen DIE und einen Benziner.

                                    Bezüglich Telegram. Instanz habe ich ja, aber ich möchte ja nicht bei jedem Update eine Nachricht bekommen, sonder nur wen ich in den nächsten Tagen danken muss und dan schauen mag wo am günstigsten

                                    liv-in-skyL Offline
                                    liv-in-skyL Offline
                                    liv-in-sky
                                    schrieb am zuletzt editiert von
                                    #294

                                    @mrfloppy sagte in HTML-Table für VIS oder Iqontrol (js und blockly):

                                    Bezüglich Telegram. Instanz habe ich ja, aber ich möchte ja nicht bei jedem Update eine Nachricht bekommen

                                    dann musst du dir ein script machen -gibt einiges im forum - telegram im script deaktivieren geht durch einen leerstring im setting ganz oben.

                                    ich werde noch einen datenpunkt einführen und speichere den text für telegram da rein - dann hast du von deinem script aus den zugang - das mit weiteren listen anderer arten werde ich noch integrieren

                                    ich werde dann einen neuen post mit diesem neuen script aufmachen und dich in die benachrichtigung setzen - dann können das andere besser finden

                                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                    1 Antwort Letzte Antwort
                                    0
                                    • liv-in-skyL Offline
                                      liv-in-skyL Offline
                                      liv-in-sky
                                      schrieb am zuletzt editiert von
                                      #295

                                      hier geht es weiter mit fuelpricemonitor

                                      https://forum.iobroker.net/post/942817

                                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                      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

                                      723

                                      Online

                                      32.4k

                                      Benutzer

                                      81.4k

                                      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