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.4k

  • 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

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

                                      @mrfloppy

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

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

                                      Image 175.png

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

                                      Image 176.png

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

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

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

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

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

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

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

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

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

                                        Image 177.png

                                        die nachricht wird immer upgedatet und kein neuer block geschrieben

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

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

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

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

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

                                          Image 177.png

                                          die nachricht wird immer upgedatet und kein neuer block geschrieben

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

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

                                          liv-in-skyL 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          688

                                          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