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

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascripttemplateblockly
295 Beiträge 19 Kommentatoren 66.4k Aufrufe 56 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M mrfloppy

    @liv-in-sky

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

    liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    schrieb am zuletzt editiert von
    #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
                                  • M mrfloppy

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

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

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

                                    Wie kann ich die Abfrage per Telegram mir schicken lassen?

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

                                    oder verstehe ich dich falsch ?

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

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

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

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

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

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

                                      Wie kann ich die Abfrage per Telegram mir schicken lassen?

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

                                      oder verstehe ich dich falsch ?

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

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

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

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

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

                                      werde das vorbereiten - braucht ein paar änderungen

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

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

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

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

                                        werde das vorbereiten - braucht ein paar änderungen

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

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

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

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

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

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

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

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

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

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

                                          hier geht es weiter mit fuelpricemonitor

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

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

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          817

                                          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