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.
  • liv-in-skyL liv-in-sky

    @mrfloppy

    zum testen - ist noch nicht fertig - aber evtl findest du schon fehler

    für die widget muss das map- und inventwo widget-set installiert sein

    das script wird zum ersten mal geschrieben, wenn die dp aktualisiert werden (also von der instanz abhängig - alle 0/20/40 min)

    
    let anzahlAnzeige=7;
    let mySprit="SUP"; //GAS, DIE
    
    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"},
                  ]
    
    if(!existsState('0_userdata.0.FUELPRICEMONITOR.JsonAnzeige')) createState('0_userdata.0.FUELPRICEMONITOR.JsonAnzeige', "", { name: "JsonAnzeige", 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) {
     //var value = obj.state.val;
     //var oldValue = obj.oldState.val;
     //log(value);
    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);
        // hier noch die anderen dp
    
    
    //jetzt das json schreiben
    if(val1!=null && index<anzahlAnzeige){
    unserJsonArray.push({ "Index":    index,
                         "Logo":     getPic(val2),
                         "Adresse":  val0,
                         "Preis":    val1,
                         "Name":     val2,
                         "ID":       val3,
                         "Koordinaten": val4  })
    
    
    //if(existsState('0_userdata.0.FUELPRICEMONITOR.Targets.'+index+"er")) setState('0_userdata.0.FUELPRICEMONITOR.Targets.'+index+"er",val4.toString());
    //        else createState('0_userdata.0.FUELPRICEMONITOR.Targets.'+index+"er", val4.toString(), {type: "string", name: "Koordinaten FPM "+ index, role: "value", read: true, write: true,  }); 
    
    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))
    });
    
    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)
                                                        ergebnis= (getState(id).val+","+getState(id.replace("latitude","longitude")).val).toString()
                                                        }
                                                        
    })
    //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
    
    }
    
    
    
    
    
    
    

    widgets

    [{"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":"6","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":"#479de6","iTblRowUnevenColor":"#8dadb9","iTblHeaderColor":"#204565","iRowSpacing":"3.8","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":"true","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":""},"style":{"left":"228px","top":"770px","width":"641px","height":"339px","font-size":"small","overflow-y":"scroll","z-index":"100"},"widgetSet":"vis-inventwo"},{"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":"15","markersHeight1":"15","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":false,"markersWidth2":"15","markersHeight2":"15","markersWidth3":"15","markersHeight3":"15","markersWidth4":"15","markersHeight4":"15","markersWidth6":"15","markersHeight6":"15"},"style":{"left":"907px","top":"856px","width":"380px","height":"273px"},"widgetSet":"map"}]
    

    die bilder müssen unter /vis.0/Tankstellen/ gespeichert werden !! über den dateimanager und genau so heißen

    bilder.7z

    die bilder für die map kannst du selbst wählen im widget - ich kann dir auch gerne meine geben

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

    @liv-in-sky hast du eventuell noch Bilder für Aral, Ultsch und DEA

    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 hast du eventuell noch Bilder für Aral, Ultsch und DEA

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

      @chaot nee - habe ich nicht zusammengesucht - ich code nur :-)

      aber wenn jmd welche hat - bitte posten, damit ich die einbinden kann

      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

        @chaot nee - habe ich nicht zusammengesucht - ich code nur :-)

        aber wenn jmd welche hat - bitte posten, damit ich die einbinden kann

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

        @liv-in-sky Ultsch.png DEA.png Avanti.png Aral.pngshell.png

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

          @mrfloppy

          zum testen - ist noch nicht fertig - aber evtl findest du schon fehler

          für die widget muss das map- und inventwo widget-set installiert sein

          das script wird zum ersten mal geschrieben, wenn die dp aktualisiert werden (also von der instanz abhängig - alle 0/20/40 min)

          
          let anzahlAnzeige=7;
          let mySprit="SUP"; //GAS, DIE
          
          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"},
                        ]
          
          if(!existsState('0_userdata.0.FUELPRICEMONITOR.JsonAnzeige')) createState('0_userdata.0.FUELPRICEMONITOR.JsonAnzeige', "", { name: "JsonAnzeige", 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) {
           //var value = obj.state.val;
           //var oldValue = obj.oldState.val;
           //log(value);
          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);
              // hier noch die anderen dp
          
          
          //jetzt das json schreiben
          if(val1!=null && index<anzahlAnzeige){
          unserJsonArray.push({ "Index":    index,
                               "Logo":     getPic(val2),
                               "Adresse":  val0,
                               "Preis":    val1,
                               "Name":     val2,
                               "ID":       val3,
                               "Koordinaten": val4  })
          
          
          //if(existsState('0_userdata.0.FUELPRICEMONITOR.Targets.'+index+"er")) setState('0_userdata.0.FUELPRICEMONITOR.Targets.'+index+"er",val4.toString());
          //        else createState('0_userdata.0.FUELPRICEMONITOR.Targets.'+index+"er", val4.toString(), {type: "string", name: "Koordinaten FPM "+ index, role: "value", read: true, write: true,  }); 
          
          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))
          });
          
          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)
                                                              ergebnis= (getState(id).val+","+getState(id.replace("latitude","longitude")).val).toString()
                                                              }
                                                              
          })
          //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
          
          }
          
          
          
          
          
          
          

          widgets

          [{"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":"6","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":"#479de6","iTblRowUnevenColor":"#8dadb9","iTblHeaderColor":"#204565","iRowSpacing":"3.8","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":"true","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":""},"style":{"left":"228px","top":"770px","width":"641px","height":"339px","font-size":"small","overflow-y":"scroll","z-index":"100"},"widgetSet":"vis-inventwo"},{"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":"15","markersHeight1":"15","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":false,"markersWidth2":"15","markersHeight2":"15","markersWidth3":"15","markersHeight3":"15","markersWidth4":"15","markersHeight4":"15","markersWidth6":"15","markersHeight6":"15"},"style":{"left":"907px","top":"856px","width":"380px","height":"273px"},"widgetSet":"map"}]
          

          die bilder müssen unter /vis.0/Tankstellen/ gespeichert werden !! über den dateimanager und genau so heißen

          bilder.7z

          die bilder für die map kannst du selbst wählen im widget - ich kann dir auch gerne meine geben

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

          @liv-in-sky
          Also die Liste haut mal hin. Sehr cool.
          Aber das Map Widget funkt nicht bei mir.
          Vis-map ist installiert. die Inventwo widgets auch.
          Möglich weil im Json keine Koordinaten sind bei manchen Tankstellen?

          [{"Index":0,"Logo":"/vis.0/Tankstellen/sefa.png","Adresse":"1210 WIEN, Donaufelder Strasse 128","Preis":1.528,"Name":"SE & FA Energy","ID":1474648,"Koordinaten":"null,null"},{"Index":1,"Logo":"/vis.0/Tankstellen/avanti.png","Adresse":"1210 WIEN, Wagramer Strasse 179","Preis":1.534,"Name":"avanti - Wien Wagramer Straße 179","ID":234,"Koordinaten":"48.25964,16.45031"},{"Index":2,"Logo":"/vis.0/Tankstellen/avanti.png","Adresse":"1210 WIEN, Julius Ficker Strasse 77","Preis":1.534,"Name":"avanti - Wien Julius Ficker Straße 77","ID":38026,"Koordinaten":"null,null"},{"Index":3,"Logo":"/vis.0/Tankstellen/jet.png","Adresse":"1210 WIEN, PRAGERSTRASSE 138","Preis":1.534,"Name":"JET TANKSTELLE","ID":1469406,"Koordinaten":"null,null"},{"Index":4,"Logo":"/vis.0/Tankstellen/diskont.png","Adresse":"1210 WIEN, Donaufelderstraße 137 (\"Hofer-Parkplatz\")","Preis":1.534,"Name":"Diskont Tankstelle","ID":1474472,"Koordinaten":"null,null"},{"Index":5,"Logo":"/vis.0/Tankstellen/turmoel.png","Adresse":"1210 WIEN, Pragerstraße 155","Preis":1.535,"Name":"Turmöl","ID":1473491,"Koordinaten":"48.27658,16.3881"},{"Index":6,"Logo":"/vis.0/Tankstellen/jet.png","Adresse":"1220 WIEN, RAUTENWEG 9","Preis":1.539,"Name":"JET TANKSTELLE","ID":1354660,"Koordinaten":"48.26365,16.4597"}]
          

          Könntest du bitte deine Nummern Bilder anhängen.

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

            @liv-in-sky
            Also die Liste haut mal hin. Sehr cool.
            Aber das Map Widget funkt nicht bei mir.
            Vis-map ist installiert. die Inventwo widgets auch.
            Möglich weil im Json keine Koordinaten sind bei manchen Tankstellen?

            [{"Index":0,"Logo":"/vis.0/Tankstellen/sefa.png","Adresse":"1210 WIEN, Donaufelder Strasse 128","Preis":1.528,"Name":"SE & FA Energy","ID":1474648,"Koordinaten":"null,null"},{"Index":1,"Logo":"/vis.0/Tankstellen/avanti.png","Adresse":"1210 WIEN, Wagramer Strasse 179","Preis":1.534,"Name":"avanti - Wien Wagramer Straße 179","ID":234,"Koordinaten":"48.25964,16.45031"},{"Index":2,"Logo":"/vis.0/Tankstellen/avanti.png","Adresse":"1210 WIEN, Julius Ficker Strasse 77","Preis":1.534,"Name":"avanti - Wien Julius Ficker Straße 77","ID":38026,"Koordinaten":"null,null"},{"Index":3,"Logo":"/vis.0/Tankstellen/jet.png","Adresse":"1210 WIEN, PRAGERSTRASSE 138","Preis":1.534,"Name":"JET TANKSTELLE","ID":1469406,"Koordinaten":"null,null"},{"Index":4,"Logo":"/vis.0/Tankstellen/diskont.png","Adresse":"1210 WIEN, Donaufelderstraße 137 (\"Hofer-Parkplatz\")","Preis":1.534,"Name":"Diskont Tankstelle","ID":1474472,"Koordinaten":"null,null"},{"Index":5,"Logo":"/vis.0/Tankstellen/turmoel.png","Adresse":"1210 WIEN, Pragerstraße 155","Preis":1.535,"Name":"Turmöl","ID":1473491,"Koordinaten":"48.27658,16.3881"},{"Index":6,"Logo":"/vis.0/Tankstellen/jet.png","Adresse":"1220 WIEN, RAUTENWEG 9","Preis":1.539,"Name":"JET TANKSTELLE","ID":1354660,"Koordinaten":"48.26365,16.4597"}]
            

            Könntest du bitte deine Nummern Bilder anhängen.

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

            @mrfloppy

            evtl mußt du weitere 20 min warten und dann kommt die karte - sind den die dp unter javascript.0.FUELPRICEMONITOR.target gesetzt/gefüllt worden ?

            wenn ja und dort null,null drinsteht, kopiere einfach von anderen koordinaten in den dp - ich werde morgen mal sehen, wie ich das verhindern kann - bisher hatte ich immer koordinaten

            dienummern bildchen kann ich erst morgen liefern

            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

              evtl mußt du weitere 20 min warten und dann kommt die karte - sind den die dp unter javascript.0.FUELPRICEMONITOR.target gesetzt/gefüllt worden ?

              wenn ja und dort null,null drinsteht, kopiere einfach von anderen koordinaten in den dp - ich werde morgen mal sehen, wie ich das verhindern kann - bisher hatte ich immer koordinaten

              dienummern bildchen kann ich erst morgen liefern

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

              @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 4 Antworten Letzte Antwort
              0
              • 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
                #275

                @mrfloppy

                Lösche das Bild raus - die Koordinaten sollte keiner wissen oder mache die letzten Koordinaten unleserlich

                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

                  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
                  #276

                  @mrfloppy

                  überprüfe bitte mal die orginal datenpunkte, ob die in den cheapest dp angegebenen id's auch koordinaten haben

                  wie hier im bild die id unter cheapest hat weiter oben dann einen id-ordner mit den koordinaten - hast du da was drinstehen ?

                  Image 172.png

                  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

                    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
                    #277

                    @mrfloppy

                    die zahlen

                    zahl.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

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          653

                                          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