Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Oli

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    O
    • Profile
    • Following 0
    • Followers 0
    • Topics 20
    • Posts 1111
    • Best 56
    • Groups 3

    Oli

    @Oli

    Starter

    66
    Reputation
    326
    Profile views
    1111
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Oli Follow
    Pro Starter Most Active

    Best posts made by Oli

    • RE: Lebensmittelwarnung.de

      @skokarl , @crunchip ,

      das ist ein zusätzliches Script, lade es hier mal hoch.

      /*VIS Lebensmittelwarnungen
      
      Bringt einen RSS-Feed als Tabelle in ioBroker
      setzt die Library xml2js voraus (in Javascript Einstellungen zufügen)
      
      
      erstellt: 11.05.2017 von Torsten (auf Basis von Bluefox Code und Pix) 
      */
      
      var idFeedTabelle = 'RSS-Feed.Lebensmittelwarnungen.Tabelle';
      
      var forceCreation = false;
          
      createState(idFeedTabelle, '', forceCreation, {
          write: true,
          read: true,
          name: 'RSS Feed Lebensmittelwarnungen Tabelle',
          type: 'string',
          desc: 'Lebensmittelwarnungen RSS Feed als HTML Tabelle',
          role: 'html'
      });
      
      var link = 'https://www.lebensmittelwarnung.de/bvl-lmw-de/opensaga/feed/alle/bayern.rss';
      
      var quer = false ;
      
      function RSS_einlesen () {
          var parseString = require('xml2js').parseString;
          var request = require('request');
      
          request(link, function (error, response, body) {
              if (!error && response.statusCode == 200) {
          
                  parseString(body, {
                      explicitArray: false,
                      mergeAttrs: true
                  },
                  function (err, result) {
                      //log(JSON.stringify(result, null, 2));
                      if (err) {
                          log("Fehler: " + err, 'error');
                      } else {    
                          var tabelle;
                          if (quer) {
                              // Titel links, Inhalt rechts
                              tabelle ='<table class="rss_feed"><thead><tr><th>Titel</th><th>Beschreibung</th></tr></thead><tbody>';
                              for (var i = 0; i <result.rss.channel.item.length; i++) {
                                  tabelle += '<tr><td>' + result.rss.channel.item[i].title + '</td><td>' + result.rss.channel.item[i].description + '</td></tr>';
                              }
                          } else {
                              // Titel oben, INhalt darunter (wie in der Zeitung)
                              tabelle ='<table class="rss_feed"><thead><tr><th>RSS-Feed</th></tr></thead><tbody>';
                              for (var j = 0; j <result.rss.channel.item.length; j++) {
                                  tabelle += '<tr><td>' + result.rss.channel.item[j].title + '</td></tr><tr><td>' + result.rss.channel.item[j].description + '</td></tr>';
                              }
                          }
                          tabelle += '</tbody></table>';  
                          setState(idFeedTabelle, tabelle);
                      }
                  });
              } else  {
                  log(error, 'error');
              }
          });   // Ende request 
          log('RSS-Feed ' + link + ' eingelesen');
      }
      
      schedule("*/10 * * * *", RSS_einlesen);  // alle 10 Minuten
      RSS_einlesen();
      

      und hier meine Vis:


      {
      "settings": {
      "style": {
      "background-color": "#27272727"
      },
      "theme": "dark-hive",
      "sizex": "800",
      "sizey": "600",
      "gridSize": "",
      "useBackground": false,
      "snapType": null
      },
      "widgets": {
      "e00001": {
      "tpl": "tplHtml",
      "data": {
      "g_fixed": true,
      "g_visibility": false,
      "g_css_font_text": false,
      "g_css_background": true,
      "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",
      "refreshInterval": "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,
      "name": "!_Linie-Links"
      },
      "style": {
      "left": "358px",
      "top": "43px",
      "width": "212px",
      "height": "2px",
      "background": "linear-gradient(to right, #282828 5px, white 200px )",
      "z-index": 4
      },
      "widgetSet": "basic"
      },
      "e00002": {
      "tpl": "tplHtml",
      "data": {
      "g_fixed": true,
      "g_visibility": false,
      "g_css_font_text": false,
      "g_css_background": true,
      "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",
      "refreshInterval": "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,
      "name": "!_Linie-Rechts"
      },
      "style": {
      "left": "570px",
      "top": "43px",
      "width": "212px",
      "height": "2px",
      "background": "linear-gradient(to left, #282828 5px, white 200px )",
      "z-index": 4
      },
      "widgetSet": "basic"
      },
      "e00003": {
      "tpl": "tplValueString",
      "data": {
      "oid": "",
      "g_fixed": true,
      "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",
      "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,
      "html_append": "",
      "locked": false,
      "name": "Bezeichnung",
      "html_prepend": "Alle Produktwarnungen"
      },
      "style": {
      "left": "348px",
      "top": "22px",
      "width": "444px",
      "height": "18px",
      "color": "#8f8f8f",
      "z-index": "3",
      "text-align": "center"
      },
      "widgetSet": "basic"
      },
      "e00004": {
      "tpl": "tplFrame",
      "data": {
      "g_fixed": true,
      "g_visibility": false,
      "g_css_font_text": true,
      "g_css_background": true,
      "g_css_shadow_padding": true,
      "g_css_border": true,
      "g_gestures": false,
      "g_signals": false,
      "g_last_change": false,
      "visibility-cond": "==",
      "visibility-val": 1,
      "visibility-groups-action": "hide",
      "title": "",
      "title_color": "#FFFFFF",
      "title_top": "-10",
      "title_left": "30",
      "header_height": "0",
      "header_color": "",
      "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,
      "title_back": "",
      "title_font": "",
      "locked": false,
      "name": "Hintergrund"
      },
      "style": {
      "left": "348px",
      "top": "15px",
      "width": "444px",
      "height": "575px",
      "color": "",
      "z-index": 0,
      "border-radius": "10px",
      "box-shadow": "2px 2px 3px rgba(20, 20, 20, 50)",
      "background": "#202020",
      "border-color": "#2d2d2d"
      },
      "widgetSet": "basic"
      },
      "e00005": {
      "tpl": "tplHtml",
      "data": {
      "visibility-cond": "==",
      "visibility-val": "1",
      "refreshInterval": "0",
      "html": "{javascript.0.RSS-Feed.Lebensmittelwarnungen.Tabelle}",
      "visibility-groups-action": "hide",
      "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,
      "visibility-oid": "",
      "class": "mdui-table mdui-table-striped",
      "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,
      "views": [
      "Notdienst"
      ]
      },
      "style": {
      "left": "365px",
      "top": "54px",
      "z-index": "20",
      "width": "415px",
      "height": "526px",
      "color": "#8f8f8f",
      "overflow-x": "",
      "overflow-y": "auto",
      "font-family": "",
      "font-size": "small",
      "background": "#2e2e2e",
      "border-radius": "10px",
      "box-shadow": ""
      },
      "widgetSet": "basic"
      },
      "e00006": {
      "tpl": "tplFrame",
      "data": {
      "g_fixed": true,
      "g_visibility": false,
      "g_css_font_text": true,
      "g_css_background": true,
      "g_css_shadow_padding": true,
      "g_css_border": true,
      "g_gestures": false,
      "g_signals": false,
      "g_last_change": false,
      "visibility-cond": "==",
      "visibility-val": 1,
      "visibility-groups-action": "hide",
      "title": "",
      "title_color": "#FFFFFF",
      "title_top": "-10",
      "title_left": "30",
      "header_height": "0",
      "header_color": "",
      "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,
      "title_back": "",
      "title_font": "",
      "locked": false,
      "name": "Hintergrund"
      },
      "style": {
      "left": "5px",
      "top": "15px",
      "width": "330px",
      "height": "575px",
      "color": "",
      "z-index": 0,
      "border-radius": "10px",
      "box-shadow": "2px 2px 3px rgba(20, 20, 20, 50)",
      "background": "#202020",
      "border-color": "#2d2d2d"
      },
      "widgetSet": "basic"
      },
      "e00007": {
      "tpl": "tplValueString",
      "data": {
      "oid": "javascript.0.Lebensmittelwarnung.Nummer_0.Datum",
      "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",
      "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
      },
      "style": {
      "left": "15px",
      "top": "56px",
      "color": "#0b6bef",
      "width": "183px",
      "height": "20px",
      "font-size": "medium"
      },
      "widgetSet": "basic"
      },
      "e00008": {
      "tpl": "tplValueString",
      "data": {
      "oid": "javascript.0.Lebensmittelwarnung.Nummer_0.Produktart",
      "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",
      "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,
      "html_prepend": "Produktart: "
      },
      "style": {
      "left": "13px",
      "top": "85px",
      "color": "#8f8f8f",
      "width": "307px",
      "height": "20px",
      "font-size": "small"
      },
      "widgetSet": "basic"
      },
      "e00009": {
      "tpl": "tplValueString",
      "data": {
      "oid": "javascript.0.Lebensmittelwarnung.Nummer_0.Titel",
      "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",
      "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,
      "html_prepend": "Titel: "
      },
      "style": {
      "left": "15px",
      "top": "111px",
      "color": "#ee1111",
      "font-size": "x-small",
      "width": "310px",
      "height": "74px"
      },
      "widgetSet": "basic"
      },
      "e00010": {
      "tpl": "tplHtml",
      "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",
      "refreshInterval": "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,
      "html": "<table><tr>\n<td>{javascript.0.Lebensmittelwarnung.Nummer_0.Beschreibung}</td>\n</tr>\n</table>"
      },
      "style": {
      "left": "14px",
      "top": "193px",
      "color": "#8f8f8f",
      "font-size": "x-small",
      "width": "311px",
      "height": "239px"
      },
      "widgetSet": "basic"
      },
      "e00011": {
      "tpl": "tplImage",
      "data": {
      "g_fixed": false,
      "g_visibility": false,
      "g_css_font_text": false,
      "g_css_background": false,
      "g_css_shadow_padding": false,
      "g_css_border": true,
      "g_gestures": false,
      "g_signals": false,
      "g_last_change": false,
      "visibility-cond": "==",
      "visibility-val": 1,
      "visibility-groups-action": "hide",
      "refreshInterval": "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,
      "src": "{javascript.0.Lebensmittelwarnung.Nummer_0.Produktbild}",
      "stretch": true
      },
      "style": {
      "left": "113px",
      "top": "448px",
      "width": "133px",
      "height": "135px",
      "border-radius": "10px"
      },
      "widgetSet": "basic"
      },
      "e00012": {
      "tpl": "tplValueString",
      "data": {
      "oid": "",
      "g_fixed": true,
      "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",
      "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,
      "html_append": "",
      "locked": false,
      "name": "Bezeichnung",
      "html_prepend": "Aktuellste Produktwarnung"
      },
      "style": {
      "left": "5px",
      "top": "22px",
      "width": "330px",
      "height": "18px",
      "color": "#8f8f8f",
      "z-index": "3",
      "text-align": "center"
      },
      "widgetSet": "basic"
      },
      "e00013": {
      "tpl": "tplHtml",
      "data": {
      "g_fixed": true,
      "g_visibility": false,
      "g_css_font_text": false,
      "g_css_background": true,
      "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",
      "refreshInterval": "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,
      "name": "!_Linie-Rechts"
      },
      "style": {
      "left": "175px",
      "top": "43px",
      "width": "160px",
      "height": "2px",
      "background": "linear-gradient(to left, #282828 5px, white 200px )",
      "z-index": 4
      },
      "widgetSet": "basic"
      },
      "e00014": {
      "tpl": "tplHtml",
      "data": {
      "g_fixed": true,
      "g_visibility": false,
      "g_css_font_text": false,
      "g_css_background": true,
      "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",
      "refreshInterval": "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,
      "name": "!_Linie-Links"
      },
      "style": {
      "left": "15px",
      "top": "43px",
      "width": "160px",
      "height": "2px",
      "background": "linear-gradient(to right, #282828 5px, white 200px )",
      "z-index": 4
      },
      "widgetSet": "basic"
      },
      "e00015": {
      "tpl": "tplMetroTileState",
      "data": {
      "visibility-cond": "==",
      "visibility-val": "true",
      "hover": false,
      "transform": true,
      "bg_class_false": "bg-red",
      "bg_class_true": "bg-red",
      "icon_class_false": "",
      "icon_class_true": "",
      "icon_badge_false": "",
      "icon_badge_true": "",
      "badge_bg_class_false": "",
      "badge_bg_class_true": "",
      "brand_bg_class_false": "",
      "brand_bg_class_true": "",
      "badge_top": "0",
      "badge_left": "0",
      "gestures-offsetX": 0,
      "gestures-offsetY": 0,
      "state_oid": "javascript.0.Lebensmittelwarnung.neue_Warnung",
      "value": "false",
      "icon_false": "/icons-material-png/navigation/ic_close_white_128dp.png",
      "icon_true": "/icons-material-png/navigation/ic_close_white_128dp.png",
      "icon_width": "",
      "icon_left": "56",
      "icon_height": "",
      "icon_top": "",
      "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,
      "name": "Blättern",
      "visibility-groups-action": "hide",
      "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,
      "visibility-oid": "javascript.0.Lebensmittelwarnung.neue_Warnung"
      },
      "style": {
      "left": "17px",
      "top": "527px",
      "height": "50px",
      "padding": "0px",
      "width": "50px",
      "border-radius": "10px",
      "border-color": "#2d2d2d",
      "border-style": "solid",
      "border-width": "1px",
      "box-shadow": "2px 2px 3px rgba(20, 20, 20, 50)",
      "z-index": 3
      },
      "widgetSet": "metro"
      },
      "e00016": {
      "tpl": "tplMetroTileState",
      "data": {
      "visibility-cond": "==",
      "visibility-val": "false",
      "hover": false,
      "transform": true,
      "bg_class_false": "bg-emerald",
      "bg_class_true": "bg-emerald",
      "icon_class_false": "",
      "icon_class_true": "",
      "icon_badge_false": "",
      "icon_badge_true": "",
      "badge_bg_class_false": "",
      "badge_bg_class_true": "",
      "brand_bg_class_false": "",
      "brand_bg_class_true": "",
      "badge_top": "0",
      "badge_left": "0",
      "gestures-offsetX": 0,
      "gestures-offsetY": 0,
      "state_oid": "javascript.0.Lebensmittelwarnung.neue_Warnung",
      "value": "true",
      "icon_false": "/icons-material-png/navigation/ic_check_white_12dp.png",
      "icon_true": "/icons-material-png/navigation/ic_check_white_12dp.png",
      "icon_width": "",
      "icon_left": "56",
      "icon_height": "",
      "icon_top": "",
      "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,
      "name": "Blättern",
      "visibility-groups-action": "hide",
      "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,
      "visibility-oid": "javascript.0.Lebensmittelwarnung.neue_Warnung"
      },
      "style": {
      "left": "17px",
      "top": "527px",
      "height": "50px",
      "padding": "0px",
      "width": "50px",
      "border-radius": "10px",
      "border-color": "#2d2d2d",
      "border-style": "solid",
      "border-width": "1px",
      "box-shadow": "2px 2px 3px rgba(20, 20, 20, 50)",
      "z-index": 3
      },
      "widgetSet": "metro"
      }
      },
      "name": "172_Produktwarnung",
      "filterList": []
      }

      posted in Entwicklung
      O
      Oli
    • RE: Ölpreis

      Hallo zusammen,

      nachdem ich aus dem Forum schon sehr viel Hilfe bekommen habe, will ich euch hiermit meine Version der Heizölpreisabfrage vorstellen.

      Das Grundscript passiert auf dem Script von @pix, hierfür nochmal herzlich Dank fürs erstellen.

      Als Quelle dient mir esyoil.com.

      Bild aus meiner Vis:
      b16258fe-857e-459b-b969-f6af965c90e5-image.png

      Folgende Scrips habe ich im Einsatz:

      1. Erstellen der Grunddaten für die Bestellung und Erstellung des Abfragelinks
      /* Ölpreis abfragen
      Auf diese Anfrage hin: http://forum.iobroker.net/viewtopic.php?f=8&t=3455
      am 4.11.2016 getestet, nach Änderung der Webseite nun Fehler
      Quelle: heizoel24.de
      Basis: solar-wetter Skript
      {1}
      erstellt: 03.08.2016 von pix
      12.11.2016 Webseite liefert nicht mehr Prognose, sondern Ist-Preis. Skript angepasst
      29.08.2017 SKRIPT AUSGESCHALTET, DA NICHT IN GEBRAUCH
      {2}
      Angepasst am 14.07.2019 von Oliver Böhm, verwendet für "Bestelldaten für Heizölbestellung eintragen"
      */
       
      var logging = false;
      var liefermenge = "5000";                                       //Bestellmenge eintragen
      var lieferort = "90530";                                        //PLZ eintragen
      var entladestellen = "1";                                       //Entladestellen eintragen (Auswahlmöglichkeiten: 1-9)
      var heizölsorte = "Normal Schwefelarm";                         //Heizölsorte eintragen (Auswahlmöglichkeiten: Normal Schwefelarm, Premium Schwefelarm, Klimaneutral)
      var zahlart = "Rechnung";                                       //Bezahlart eintragen (Auswahlmöglichkeiten: Barzahlung, EC-Karte, Lastschrift, Ratenkauf, Rechnung, Vorkasse, Wärmekonto)
      
      var link = 'http://www.heizoel24.de/heizoelpreise';
       
      // ab hier nix mehr ändern, solange die Webseite die Daten nicht ändert
      var request = require('request');
      var idheizöl;
      var idzahlart;
      var idLiter          =   'Heizoel.Bestelldaten.Liefermenge',
          idPLZ            =   'Heizoel.Bestelldaten.Lieferort',
          idEntladestellen =   'Heizoel.Bestelldaten.Entladestellen',
          idHeizölsorte    =   'Heizoel.Bestelldaten.Heizölsorte',
          idBezahlung      =   'Heizoel.Bestelldaten.Zahlungsart',
          idLink           =   'Heizoel.Bestelldaten.Weblink';   
         
      createState(idLiter, {
         name: 'Liefermenge',
         desc: 'Liefermenge',
         type: 'string',
         unit: ' '
      });
      createState(idPLZ, {
         name: 'Lieferort',
         desc: 'Lieferort',
         type: 'string',
         unit: ' '
      });
      
      createState(idEntladestellen, {
         name: 'Entladestellen',
         desc: 'Entladestellen',
         type: 'string',
         unit: ' '
      });
      
      createState(idHeizölsorte, {
         name: 'Heizölsorte',
         desc: 'Heizölsorte',
         type: 'string',
         unit: ' '
      });
      
      createState(idBezahlung, {
         name: 'Bezahlart',
         desc: 'Bezahlart',
         type: 'string',
         unit: ' '
      });
      
      createState(idLink, {
         name: 'Weblink von esyoil',
         desc: 'Weblink von esyoil',
         type: 'string',
         unit: ' '
      });
       
      function findLink () {   
         if (heizölsorte == "Normal Schwefelarm") {
            idheizöl = "8";                    
          } else if (heizölsorte == "Premium Schwefelarm") {
            idheizöl = "4";                    
          } else if (heizölsorte == "Klimaneutral") {
            idheizöl = "9";                  
          }    
         
         if (zahlart == "Barzahlung") {
            idzahlart = "1";                    
          } else if (zahlart == "EC-Karte") {
            idzahlart = "2";                    
          } else if (zahlart == "Lastschrift") {
            idzahlart = "4";                  
          } else if (zahlart == "Ratenkauf") {
            idzahlart = "10";                  
          } else if (zahlart == "Rechnung") {
            idzahlart = "6";                  
          } else if (zahlart == "Vorkasse") {
            idzahlart = "3";                  
          } else if (zahlart == "Wärmekonto") {
            idzahlart = "5";                  
          }
      
          // Erstellung des Abfragelinks
          var url = 'https://www.esyoil.com/'  
                   + '?calc%5Bzipcode%5D='          + lieferort
                   + '&calc%5Bamount%5D='           + liefermenge
                   + '&calc%5Bunloading_points%5D=' + entladestellen
                   + '&calc%5Bprod%5D='             + idheizöl
                   + '&calc%5Bpayment_type%5D='     + idzahlart 
                   + '&calc%5Bexpress%5D=0&calc%5Bdelivery_date_sel%5D=&calc%5Bhose%5D=40m&calc%5Bshort_vehicle%5D=&calc%5Bsubmit%5D='         // driving = default
                                 
         setState(idLink, url);                                           // Wert in Objekt schreiben
         setState(idBezahlung, zahlart);                                  // Wert in Objekt schreiben
         setState(idLiter, liefermenge);                                  // Wert in Objekt schreiben
         setState(idPLZ, lieferort);                                      // Wert in Objekt schreiben
         setState(idEntladestellen, entladestellen);                      // Wert in Objekt schreiben
         setState(idHeizölsorte, heizölsorte);                            // Wert in Objekt schreiben
      }
       
      function leseWebseite () {
         try {
             request(link, function (error, response, body) {
                 if (!error && response.statusCode == 200) {              // kein Fehler, Inhalt in body
                     findLink ();                              
                     log('Heizöl-Preis von heizoel24.de eingelesen');
                 } else log(error,'error');                               // Error beim Einlesen
             });
         } catch (e) {
             log('Fehler (try) leseWebseite: ' + e, 'error');
         }   
      }
       
      // bei Skriptstart
      leseWebseite(); 
      
      
      1. Abfrage vom Heizölpreis am Wohnort:
      /* Ölpreis abfragen
      Auf diese Anfrage hin: http://forum.iobroker.net/viewtopic.php?f=8&t=3455
      am 4.11.2016 getestet, nach Änderung der Webseite nun Fehler
      Quelle: heizoel24.de
      Basis: solar-wetter Skript
      {1}
      erstellt: 03.08.2016 von pix
      12.11.2016 Webseite liefert nicht mehr Prognose, sondern Ist-Preis. Skript angepasst
      29.08.2017 SKRIPT AUSGESCHALTET, DA NICHT IN GEBRAUCH
      {2}
      Angepasst am 14.07.2019 von Oliver Böhm, verwendet für "Heizölpreis für Wohnort abfragen"
      Quelle:  www.esyoil.com
      */
       
      var logging = false;
      var link = getState('javascript.0.Heizoel.Bestelldaten.Weblink').val;
       
      // ab hier nix mehr ändern, solange die Webseite die Daten nicht ändert
      var request = require('request');
      var price;
      var priceLB;
      var MwStG;
      var MwStL;
      var idPriceGB     =   'Heizoel.Heizölpreis.Wohnort.Gesamt.Bruttopreis Gesamt',
          idPriceLB     =   'Heizoel.Heizölpreis.Wohnort.Je 100L.Bruttopreis 100l',
          idMwStL       =   'Heizoel.Heizölpreis.Wohnort.Je 100L.MwSt 100l',
          idMwStG       =   'Heizoel.Heizölpreis.Wohnort.Gesamt.MwSt Gesamt',
          idZuschlagN   =   'Heizoel.Heizölpreis.Wohnort.Je 100L.Nettozuschlag 100l',
          idZuschlagGN  =   'Heizoel.Heizölpreis.Wohnort.Gesamt.Nettozuschlag Gesamt',
          idPriceLN     =   'Heizoel.Heizölpreis.Wohnort.Je 100L.Nettopreis 100l',
          idPriceGN     =   'Heizoel.Heizölpreis.Wohnort.Gesamt.Nettopreis Gesamt',
          idLieferant   =   'Heizoel.Lieferant.Name',
          idWebseite    =   'Heizoel.Lieferant.Webseite',
          idDate        =   'Heizoel.Datum';
         
      createState(idPriceGB, {
         name: 'Heizölpreis Gesamt Brutto',
         desc: 'Heizölpreis Gesamt Brutto für heute',
         type: 'number',
         def: 0,
         min: 0,
         unit: '€'
      });
      
      createState(idPriceLB, {
         name: 'Heizölpreis je 100l Brutto',
         desc: 'Heizölpreis je 100l Brutto für heute',
         type: 'number',
         def: 0,
         min: 0,
         unit: '€/100l'
      });
      
      createState(idMwStL, {
         name: 'Mehrwertsteuer je 100l',
         desc: 'Mehrwertsteuer je 100l für heute',
         type: 'number',
         def: 0,
         min: 0,
         unit: '€/100l'
      });
      
      createState(idMwStG, {
         name: 'Mehrwertsteuer Gesamt',
         desc: 'Mehrwertsteuer Gesamt für heute',
         type: 'number',
         def: 0,
         min: 0,
         unit: '€'
      });
      
      createState(idZuschlagN, {
         name: 'Zuschlag je 100l Netto',
         desc: 'Zuschlag je 100l Netto für heute',
         type: 'number',
         def: 0,
         min: 0,
         unit: '€/100l'
      });
      
      createState(idZuschlagGN, {
         name: 'Zuschlag Gesamt Netto',
         desc: 'Zuschlag Gesamt Netto für heute',
         type: 'number',
         def: 0,
         min: 0,
         unit: '€'
      });
      
      createState(idPriceLN, {
         name: 'Heizölpreis je 100l Netto',
         desc: 'Heizölpreis je 100l Netto für heute',
         type: 'number',
         def: 0,
         min: 0,
         unit: '€/100l'
      });
      
      createState(idPriceGN, {
         name: 'Heizölpreis Gesamt Netto',
         desc: 'Heizölpreis Gesamt Netto für heute',
         type: 'number',
         def: 0,
         min: 0,
         unit: '€'
      });
      
      createState(idLieferant, {
         name: 'Lieferant',
         desc: 'Lieferant für heute',
         type: 'string',
         unit: ' '
      });
      
      createState(idWebseite, {
         name: 'esyoil.com Webseite von Lieferant',
         desc: 'esyoil.com Webseite von Lieferant',
         type: 'string',
         unit: ' '
      });
      
      createState(idDate, {
         name: 'Datum',
         desc: 'Heizölpreis Zeitstempel (als String)',
         type: 'string',
         def: ''
      });
       
      function extractText(body,text1,text2) {
         var start = body.indexOf(text1) + text1.length;
         var ende = body.indexOf(text2,start);
         if (logging) log('Startposition: ' + start);
         if (logging) log('Endposition: ' + ende);
         var zwischenspeicher;
         if (((start != -1) && (ende != -1)) && (start<ende)) {                                                       // Fehler abfangen
             zwischenspeicher = body.slice(start,ende);
             zwischenspeicher = zwischenspeicher.trim();
             if (logging) log(zwischenspeicher);
             return(zwischenspeicher);
         } else {
             zwischenspeicher = 'Fehler beim Ausschneiden';
             log(zwischenspeicher, 'error');
             return(0);
         }
      }
       
      function findPrice (body) {   
         var text1 = '<li class="total_price_brutto">',                                                               // erstes Auftauchen
             text2 = '&thinsp;&euro;</li>';                                                                           // erstes Auftauchen
         price = extractText(body,text1,text2); 
         var price_array = price.split('.');
         price = price_array[0] + price_array[1];     
         price_array = price.split(',');
         price = price_array[0] + '.' + price_array[1];
         price = parseFloat(price);
         priceLB = price / 50;
         priceLB = priceLB.toFixed(2);   
         MwStG = price / 119 * 19;
         MwStG = MwStG.toFixed(2);   
         MwStL = priceLB / 119 * 19;
         MwStL = MwStL.toFixed(2);
         if (logging) log('Heizöl Preis: ' + price + ' EUR');
      
         setState(idPriceLB, priceLB);
         setState(idPriceGB, parseFloat(price,10));
         setState(idMwStG, MwStG);                                                                                    // Wert in Objekt schreiben
         setState(idMwStL, MwStL);                                                                                    // Wert in Objekt schreiben
      }
      
      function findZuschlag (body) {   
         var text1 = '<dd data-polyfill-hidden class="delivery-charge">+&nbsp;',                                      // erstes Auftauchen
             text2 = '<dt data-polyfill-hidden class="vat">';                                                         // erstes Auftauchen
         var zuschlag = extractText(body,text1,text2);
         var zuschlagLN = zuschlag.replace("&nbsp;€</dd>","");
         var zuschlag_array = zuschlagLN.split(',');
         zuschlagLN = zuschlag_array[0] + '.' + zuschlag_array[1];   
         setState(idZuschlagN, zuschlagLN);
         zuschlagLN = parseFloat(zuschlagLN);
         var zuschlagG = zuschlagLN * 50;
         zuschlagG = zuschlagG.toFixed(2);                                    
         var priceLN = priceLB - MwStL - zuschlagLN;
         priceLN = priceLN.toFixed(2);
         var priceGN = price - MwStG - zuschlagG;
         priceGN = priceGN.toFixed(2);   
         if (logging) log('Zuschlag: ' + zuschlagLN + ' EUR');
         
         setState(idZuschlagGN, zuschlagG);  
         setState(idPriceLN, priceLN);                                                                                // Wert in Objekt schreiben
         setState(idPriceGN, priceGN);                                                                                // Wert in Objekt schreiben
      }
      
      function findLieferant (body) {
         var text1 = '<div data-polyfill-hidden style="width:330px;word-wrap:break-word;">',		                    // erstes Auftauchen
             text2 = '<br data-polyfill-hidden>';                                                                     // erstes Auftauchen
         var lieferant = extractText(body,text1,text2); 
         lieferant = lieferant.replace(" ","");
         lieferant = lieferant.replace(/&nbsp;/g," ");
         
         setState(idLieferant, lieferant);                                                                            // Wert in Objekt schreiben
      }
      
      function findWebseite (body) {
         var text1 = '<a class="img provider-logo-container" tabindex="-1" href="',		                            // erstes Auftauchen
             text2 = 'class="lazy provider-logo';                                                                     // erstes Auftauchen
         var web = extractText(body,text1,text2);
         web = web.replace(/" "/g,"");
         web = web.replace(/">/g,"");
         web = web.replace(/<img/g,"");   
         web = web.replace('"><imgclass="lazyprovider-logo"',"");
         web = 'https://www.esyoil.com/heizoel-haendler/' + web;  
      
         setState(idWebseite, web);                                                                                   // Wert in Objekt schreiben
      }  
       
      function findDate (body) {   
         var text1 = '<strong>Aktuelle Heizölpreise</strong>:<span id="h4-until-base-3"> 90530 Wendelstein von ',     // erstes Auftauchen + 1 Tag
             text2 = ' Uhr</span>    </h1>';                                                                          // erstes Auftauchen
         var time = extractText(body,text1,text2); 
         var datum = new Date();
         var heute = datum.getDate() + "." + (datum.getMonth()+1) + "." + datum.getFullYear() + " " + time ;
         if (logging) log('Heizöl Datum: ' + heute);   
         setState(idDate, heute);                                                                                     // Wert in Objekt schreiben
      }
       
      function leseWebseite () {
         try {
             request(link, function (error, response, body) {
                 if (!error && response.statusCode == 200) {                                                          // kein Fehler, Inhalt in body
                     findPrice (body);               
                     findZuschlag (body);
                     findLieferant (body);
                     findWebseite (body);
                     findDate (body);               
                     log('Heizöl-Preis von esyoil.com eingelesen');
                 } else log(error,'error');                                                                           // Error beim Einlesen
             });
         } catch (e) {
             log('Fehler (try) leseWebseite: ' + e, 'error');
         }   
      }
       
      // bei Skriptstart
      leseWebseite();
       
      // Schedule
      schedule("59 * * * *", leseWebseite);
      

      Bei diesem Script erhalte ich leider noch Warnungen bei der Ausführung, vielleicht kann mir jemand einen Hinweis geben, woran das liegen kann.
      Hier die Warnungen:

      12:55:19.326	warn	javascript.0 at findPrice (script.js.Heizölpreis_Wohnort:164:4)
      12:55:19.326	warn	javascript.0 at Request._callback (script.js.Heizölpreis_Wohnort:229:16)
      12:55:19.328	warn	javascript.0 at findPrice (script.js.Heizölpreis_Wohnort:166:4)
      12:55:19.328	warn	javascript.0 at Request._callback (script.js.Heizölpreis_Wohnort:229:16)
      12:55:19.329	warn	javascript.0 at findPrice (script.js.Heizölpreis_Wohnort:167:4)
      12:55:19.329	warn	javascript.0 at Request._callback (script.js.Heizölpreis_Wohnort:229:16)
      12:55:19.330	warn	javascript.0 at findZuschlag (script.js.Heizölpreis_Wohnort:177:4)
      12:55:19.330	warn	javascript.0 at Request._callback (script.js.Heizölpreis_Wohnort:230:16)
      12:55:19.331	warn	javascript.0 at findZuschlag (script.js.Heizölpreis_Wohnort:187:4)
      12:55:19.331	warn	javascript.0 at Request._callback (script.js.Heizölpreis_Wohnort:230:16)
      12:55:19.332	warn	javascript.0 at findZuschlag (script.js.Heizölpreis_Wohnort:188:4)
      12:55:19.332	warn	javascript.0 at Request._callback (script.js.Heizölpreis_Wohnort:230:16)
      12:55:19.333	warn	javascript.0 at findZuschlag (script.js.Heizölpreis_Wohnort:189:4)
      12:55:19.333	warn	javascript.0 at Request._callback (script.js.Heizölpreis_Wohnort:230:16)
      12:55:19.334	info	javascript.0 script.js.Heizölpreis_Wohnort: Heizöl-Preis von esyoil.com eingelesen
      
      1. Abfrage der Daten des günstigsten Anbieters:
      /* Ölpreis abfragen
      Auf diese Anfrage hin: http://forum.iobroker.net/viewtopic.php?f=8&t=3455
      am 4.11.2016 getestet, nach Änderung der Webseite nun Fehler
      Quelle: heizoel24.de
      Basis: solar-wetter Skript
      {1}
      erstellt: 03.08.2016 von pix
      12.11.2016 Webseite liefert nicht mehr Prognose, sondern Ist-Preis. Skript angepasst
      29.08.2017 SKRIPT AUSGESCHALTET, DA NICHT IN GEBRAUCH
      {2}
      Angepasst am 14.07.2019 von Oliver Böhm, verwendet für "Günstigsten Heizöl-Lieferanten abfragen"
      Quelle:  www.esyoil.com
      */
      
      on({id:"javascript.0.Heizoel.Lieferant.Webseite", change: 'ne'}, function (obj) {
      var logging = false;
      var link = 'https://www.esyoil.com/heizoel-haendler//heizoel-haendler/energiehandel-roth-gmbh-595.php'; 
      
      // ab hier nix mehr ändern, solange die Webseite die Daten nicht ändert
      var request = require('request');
      var strasse;
      var plz;
      var ort;
      var idAdresse = 'Heizoel.Lieferant.Adresse';
      var idTelefon = 'Heizoel.Lieferant.Telefon';
      var idFax     = 'Heizoel.Lieferant.Fax';
      var idMail    = 'Heizoel.Lieferant.Mail';
      
      createState(idAdresse, {
         name: 'Lieferantenadresse',
         desc: 'Lieferantenadresse',
         type: 'string',
         unit: ' '
      });
      
      createState(idTelefon, {
         name: 'Lieferanten Telefonnummer',
         desc: 'Lieferanten Telefonnummer',
         type: 'string',
         unit: ' '
      });
      
      createState(idFax, {
         name: 'Lieferanten Faxnummer',
         desc: 'Lieferanten Faxnummer',
         type: 'string',
         unit: ' '
      });
      
      createState(idMail, {
         name: 'Lieferanten Mailadresse',
         desc: 'Lieferanten Mailadresse',
         type: 'string',
         unit: ' '
      });
       
      
      function extractText(body,text1,text2) {
         var start = body.indexOf(text1) + text1.length;
         var ende = body.indexOf(text2,start);
         if (logging) log('Startposition: ' + start);
         if (logging) log('Endposition: ' + ende);
         var zwischenspeicher;
         if (((start != -1) && (ende != -1)) && (start<ende)) {                      // Fehler abfangen
             zwischenspeicher = body.slice(start,ende);
             zwischenspeicher = zwischenspeicher.trim();
             if (logging) log(zwischenspeicher);
             return(zwischenspeicher);
         } else {
             zwischenspeicher = 'Fehler beim Ausschneiden';
             log(zwischenspeicher, 'error');
             return(0);
         }
      }
      
      function findStraße (body) {
         var text1 = '"streetAddress": "',                                            // erstes Auftauchen
             text2 = '"email": [';                                                    // erstes Auftauchen
         straße = extractText(body,text1,text2);
         straße = straße.replace(/"/g,"");
         straße = straße.replace(/,/g,"");   
      }
      
      function findPLZ (body) {
         var text1 = '"postalCode": "',                                               // erstes Auftauchen
             text2 = '"streetAddress": ';                                             // erstes Auftauchen
         plz = extractText(body,text1,text2);
         plz = plz.replace(/"/g,"");
         plz = plz.replace(/,/g,"");   
      }
      
      function findOrt (body) {
         var text1 = '"addressLocality": "',                                          // erstes Auftauchen
             text2 = '"postalCode": "';                                               // erstes Auftauchen
         ort = extractText(body,text1,text2);
         ort = ort.replace(/"/g,"");
         ort = ort.replace(/,/g,"");
         setState(idAdresse, straße + ", " + plz + " " + ort);   
      }
      
      function findTelefon (body) {
         var text1 = '"telephone": "',                                                // erstes Auftauchen
             text2 = '"aggregateRating": ';                                           // erstes Auftauchen
         var telefon = extractText(body,text1,text2);
         telefon = telefon.replace(/"/g,"");
         telefon = telefon.replace(/}/g,"");
         telefon = telefon.replace(/,/g,"");
         setState(idTelefon, telefon);   
      }
      
      function findFax (body) {
         var text1 = '"faxNumber": "',                                                // erstes Auftauchen
             text2 = '"telephone": "';                                                // erstes Auftauchen
         var fax = extractText(body,text1,text2);
         fax = fax.replace(/"/g,"");   
         fax = fax.replace(/,/g,"");
         setState(idFax, fax);   
      }
      
      function findMail (body) {
         var text1 = '"email": [',                                                    // erstes Auftauchen
             text2 = '"faxNumber": "';                                                // erstes Auftauchen
         var mail = extractText(body,text1,text2);
         mail = mail.replace(/"/g,"");
         mail = mail.replace(/,/g,"");
         mail = mail.replace(/]/g,"");
         setState(idMail, mail);   
      }                             
      
      function leseWebseite () {
         try {
             request(link, function (error, response, body) {
                 if (!error && response.statusCode == 200) {                          // kein Fehler, Inhalt in body
                     findStraße (body);
                     findPLZ (body);
                     findOrt (body);
                     findTelefon (body);
                     findFax (body);
                     findMail (body);
                     log('Heizöl-Preis von esyoil.com eingelesen');
                 } else log(error,'error');                                           // Error beim Einlesen
             });
         } catch (e) {
             log('Fehler (try) leseWebseite: ' + e, 'error');
         }
      } 
      
      // bei Skriptstart
      leseWebseite();
      });
      
      
      1. Abfrage der Differenz zum Vortag:
      /* Ölpreis abfragen
      Auf diese Anfrage hin: http://forum.iobroker.net/viewtopic.php?f=8&t=3455
      am 4.11.2016 getestet, nach Änderung der Webseite nun Fehler
      Quelle: heizoel24.de
      Basis: solar-wetter Skript
      {1}
      erstellt: 03.08.2016 von pix
      12.11.2016 Webseite liefert nicht mehr Prognose, sondern Ist-Preis. Skript angepasst
      29.08.2017 SKRIPT AUSGESCHALTET, DA NICHT IN GEBRAUCH
      {2}
      Angepasst am 14.07.2019 von Oliver Böhm, verwendet für "Heizölpreis Allgemein und Differenz zum Vortag abfragen"
      Quelle:  www.esyoil.com
      */
       
      var logging = false;
      var link = 'https://www.esyoil.com/%c3%b6lpreis';
       
      // ab hier nix mehr ändern, solange die Webseite die Daten nicht ändert
      var request = require('request');
      var idPrice =   'Heizoel.Heizölpreis.Allgemein.Preis',
          idTrend =   'Heizoel.Heizölpreis.Allgemein.Trend zum Vortag',
          idPercent = 'Heizoel.Heizölpreis.Allgemein.Änderung zum Vortag';   
         
      createState(idPrice, {
         name: 'Heizölpreis für heute',
         desc: 'Heizölpreis für heute',
         type: 'number',
         def: 0,
         min: 0,
         unit: '€/100l'
      });
      createState(idPercent, {
         name: 'Heizölpreisänderung in Prozent zum Vortag',
         desc: 'Heizölpreisänderung zum Vortag',
         type: 'number',
         def: 0,
         min: 0,
         max: 100,
         unit: '%'
      });
      
      createState(idTrend, {
         name: 'Trend zum Vortag',
         desc: 'Trend zum Vortag',
         type: 'string',
         unit: ' '
      });
       
      function extractText(body,text1,text2) {   
         var start = body.indexOf(text1) + text1.length;
         var ende = body.indexOf(text2,start);
         if (logging) log('Startposition: ' + start);
         if (logging) log('Endposition: ' + ende);
         var zwischenspeicher;
         if (((start != -1) && (ende != -1)) && (start<ende)) {                      // Fehler abfangen
             zwischenspeicher = body.slice(start,ende);
             zwischenspeicher = zwischenspeicher.trim();
             if (logging) log(zwischenspeicher);
             return(zwischenspeicher);
         } else {
             zwischenspeicher = 'Fehler beim Ausschneiden';
             log(zwischenspeicher, 'error');
             return(0);
         }
      }
       
      function findNewBody (body) {   
         var text1 = '>Heizöl</a>',                                                   // erstes Auftauchen
             text2 = 'id="1-oelpreis-news"';                                          // erstes Auftauchen
         var body = extractText(body,text1,text2);   
      }
      
      function findPrice (body) {   
         var text1 = '<td class="">',                                                 // erstes Auftauchen
             text2 = '€';                                                             // erstes Auftauchen
         var price = extractText(body,text1,text2); 
         var price_array = price.split(',');
         price = price_array[0] + '.' + price_array[1];
         price = parseFloat(price);
         if (logging) log('Heizöl Preis: ' + price + ' EUR');
         setState(idPrice, parseFloat(price,10));                                     // Wert in Objekt schreiben
      }
       
      function findPercent (body) {   
         var text1 = '<span class=" text-success">',                                  // erstes Auftauchen
             text2 = '%</span>';                                                      // erstes Auftauchen    
         var percent = extractText(body,text1,text2);   
         var ausschnitt = percent.slice(0, 1);
         percent = percent.replace(ausschnitt,"");   
         var percent_array = percent.split(',');
         percent = percent_array[0] + '.' + percent_array[1];
         percent = parseFloat(percent);
         if (logging) log('Heizöl Prozent: ' + percent.toFixed(2) + '%');
         setState(idPercent, percent);                                                // Wert in Objekt schreiben
         setState(idTrend, ausschnitt);                                               // Wert in Objekt schreiben
      }
       
      function leseWebseite () {
         try {
             request(link, function (error, response, body) {
                 if (!error && response.statusCode == 200) {                          // kein Fehler, Inhalt in body
                     findNewBody (body);
                     findPrice(body);
                     findPercent(body);               
                     log('Heizöl-Preis von esyoil.com eingelesen');
                 } else log(error,'error');                                           // Error beim Einlesen
             });
         } catch (e) {
             log('Fehler (try) leseWebseite: ' + e, 'error');
         }   
      }
       
      // bei Skriptstart
      leseWebseite();
       
      // Schedule
      schedule("59 * * * *", leseWebseite);
      

      Gruß Oliver

      posted in ioBroker Allgemein
      O
      Oli
    • RE: [Javascript] für Warnungen von Lebensmittelwarnung

      @Nashra

      Datum wird jetzt angezeigt und ins deutsche Format umgewandelt.

      Aktuelles Script:

      /*VIS Lebensmittelwarnungen
      
      Bringt einen RSS-Feed als Tabelle in ioBroker
      setzt die Library xml2js voraus (in Javascript Einstellungen zufügen)
      
      
      erstellt: 11.05.2017 von Torsten (auf Basis von Bluefox Code und Pix)
      Script angepasst : 28.10.2019 von Oliver
      */
      
      var idFeedTabelle = 'RSS-Feed.Lebensmittelwarnungen.Tabelle';
      
      var forceCreation = false;
          
      createState(idFeedTabelle, '', forceCreation, {
          write: true,
          read: true,
          name: 'RSS Feed Lebensmittelwarnungen Tabelle',
          type: 'string',
          desc: 'Lebensmittelwarnungen RSS Feed als HTML Tabelle',
          role: 'html'
      });
      
      var link = 'https://www.lebensmittelwarnung.de/bvl-lmw-de/opensaga/feed/alle/bayern.rss';
      
      var quer = false ;
      
      function RSS_einlesen () {
          var parseString = require('xml2js').parseString;
          var request = require('request');
      
          request(link, function (error, response, body) {
              if (!error && response.statusCode == 200) {
          
                  parseString(body, {
                      explicitArray: false,
                      mergeAttrs: true
                  },
                  function (err, result) {
                      //log(JSON.stringify(result, null, 2));
                      if (err) {
                          log("Fehler: " + err, 'error');
                      } else {    
                          var tabelle;
                          if (quer) {
                              // Titel links, Inhalt rechts
                              tabelle ='<table class="rss_feed"><thead><tr><th>Titel</th><th>Produktwarnungen</th></tr></thead><tbody>';
                              for (var i = 0; i <result.rss.channel.item.length; i++) {
                                  tabelle += '<tr><td>' + result.rss.channel.item[i].title + '</td><td>' + result.rss.channel.item[i].description + '-----------------------------------------------------------------------------------------</td></tr>';
                              }
                          } else {
                              // Titel oben, INhalt darunter (wie in der Zeitung)
                              tabelle ='<table class="rss_feed"><thead><tr><th>Produktwarnungen</th><tr><tr></tr></thead><tbody>';
                              for (var j = 0; j <result.rss.channel.item.length; j++) {
                                  
                                  //Datum auf dt. Wochentage patchen                                                       
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Mon', 'Mo');                                
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Tue', 'Di');                                
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Wed', 'Mi');                                
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Thu', 'Do');                               
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Fri', 'Fr');                                
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Sat', 'Sa');                                
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Sun', 'So');
      
                                  //Datum auf dt. Monate patchen
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Mar', 'März');                                
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('May', 'Mai');                                
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Oct', 'Okt');                                
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('Dec', 'Dez');                               
                                  result.rss.channel.item[j].pubDate = result.rss.channel.item[j].pubDate.replace('+0000', '');                                                  
                                  
                                  tabelle += '<tr><td>' + result.rss.channel.item[j].title + '</td></tr><tr><td>' + result.rss.channel.item[j].description + '</td></tr><tr><td>' + result.rss.channel.item[j].pubDate + '</td></tr><tr><td>-----------------------------------------------------------------------------------------</td></tr>';
                              }
                          }
                          tabelle += '</tbody></table>';  
                          setState(idFeedTabelle, tabelle);
                      }
                  });
              } else  {
                  log(error, 'error');
              }
          });   // Ende request 
          log('RSS-Feed ' + link + ' eingelesen');
      }
      
      schedule("*/10 * * * *", RSS_einlesen);  // alle 10 Minuten
      RSS_einlesen();
      

      posted in Praktische Anwendungen (Showcase)
      O
      Oli
    • RE: Test Adapter Material Design Widgets v0.2.x

      @dos1973

      das ist das von ioBroker mit dem Script von Mic, falls du das meinst?

      Willst du nur das Wiget oder die ganze Seite?

      694488a6-bbc9-4048-a019-9b59e9ea851d-image.png

      posted in Tester
      O
      Oli
    • RE: View Adapter Status

      @v522533

      anbei das Script, es werden für jeden Adapter einzelne Datenpunkte angelegt. Das automatische entfernen eines Adapters funktioniert noch nicht, daran arbeite ich momentan noch.

      38a2687e-9550-48a1-9af9-1c5bbcf4c353-image.png

      Ich hoffe es funktioniert bei dir, konnte es bisher nur auf meine Bedürfnisse testen.

      // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
      
      on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
         createState('Adapter.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
         //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
         var counter =0;        
      
         var cacheSelector = $('[id=system.adapter.*.alive]');    
         cacheSelector.each(function(id, i) {        
             var devicename = getObject(id).common.name;             
             var devicenameName=devicename;
             var test = devicenameName;
             var devicename_array = devicenameName.split(' ');        
             devicenameName = devicename_array[0];
      
             counter = counter+1; 
                 
             var strStatePath = "system.adapter." + devicenameName + ".alive";
             if (isState(strStatePath, true)) {
                 var uptime = getState("system.adapter." + devicenameName + ".uptime").val;
                 var tage = Math.floor(uptime / (24*3600));
                 var stunden = Math.floor((uptime % (24*3600))/3600);
                 var minuten = Math.floor((uptime % (3600))/60);
                 var sekunden = Math.floor(uptime % 60);
                 uptime = tage.toString()+" Tag(e), "+stunden.toString()+" Std., "+minuten.toString()+" Min. ";
      
                 var total = getState("system.adapter." + devicenameName + ".memHeapTotal").val;
                 var used = getState("system.adapter." + devicenameName + ".memHeapUsed").val;
                 var rss = getState("system.adapter." + devicenameName + ".memRss").val;
                 var connect = getState("system.adapter." + devicenameName + ".alive").val;            
      
                 if(connect == false){
                     var con = 0;    
                 } else {                
                     var con = 1;                                             
                 } 
      
                 var strStatePath = devicenameName + ".info.connection";
                 if (isState(strStatePath, true)) {
                     var connectS = getState(devicenameName + ".info.connection").val;
                 }
      
                 if (connectS == false) {
                     con = 2;
                 }                                                 
             }       
             
             var contentstring = devicenameName;
             var suchstring = /(ical)/g; 
             var suchergebnis = suchstring.test( contentstring );
             
             if (suchergebnis != true) {
                 var devicename_array = devicenameName.split('.');        
                 devicenameName = devicename_array[0];
             }    
      
             if (devicenameName == "daswetter") {
                 var bild = "/" + devicenameName + ".admin/" + devicenameName + "com.png";
             } else if (suchergebnis != false) {
                 var devicename_array = devicenameName.split('.');        
                 var icalName = devicename_array[0];        
                 var bild = "/" + icalName + ".admin/" + icalName + ".png";
             } else {
                 var bild = "/" + devicenameName + ".admin/" + devicenameName + ".png";
             }
                 
             devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase(); 
             
             devicename="Adapter.Adapter"+counter.toString()+".NameAdapter";
             createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
             setStateDelayed(devicename, devicenameName, 800);
      
             devicename="Adapter.Adapter"+counter.toString()+".Bild";
             createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
             setStateDelayed(devicename, bild, 800);
      
             devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
             createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
             setStateDelayed(devicename, uptime, 800);
      
             devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
             createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
             setStateDelayed(devicename, used, 800);
      
             devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
             createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
             setStateDelayed(devicename, total, 800);
      
             devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
             createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
             setStateDelayed(devicename, rss, 800);
      
             devicename="Adapter.Adapter"+counter.toString()+".Connected";          
             createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
             setStateDelayed(devicename, con, 800);
             
         });
          
         setStateDelayed('Adapter.Anzahl', counter, 800);
      
         function isState(strStatePath, strict) {
             let mSelector;
             if (strict) {
                 mSelector = $('state[id=' + strStatePath + '$]');
             } else {
                 mSelector = $('state[id=' + strStatePath + ']');
             }
             if (mSelector.length > 0) {
                 return true;
             } else {
                 return false;
             }
         }  
      });    
         
                 
      

      Hier ist noch meine Vis mit den angepassten Datenpunkten

      AdapterVis.txt

      posted in Praktische Anwendungen (Showcase)
      O
      Oli
    • RE: Test Adapter HeatingControl v2.12.x

      @Pittini

      die von dir angelegte Issue ist genau das, was ich gemeint habe, habe ich leider überlesen.

      Meinen Vorschlag mit dem zusätzlichen gruppieren der Tage muss natürlich @Rene_HM entscheiden.

      Da ich allerdings mein Heizverhalten bzw meine Arbeitszeiten nicht als exotisch bezeichnen würde, finde ich den Vorschlag durchaus berechtigt.

      Mo-Do = gleiche Arbeitszeit
      Fr = kürzere Arbeitszeit, bzw Abends eine längere Heizzeit
      Sa = Ausschlafen, Heizzeit beginnt später und endet später
      So = Ausschlafen, Heizzeit beginnt später und endet früher, da Montag arbeit.

      posted in Tester
      O
      Oli
    • RE: [Neuer Adapter] radar-trap

      @wszene

      mache ich gerne, Arbeite momentan noch zusätzlich mit einem Script und dem RoadTraffic Adapter. Diesen möchte ich allerdings ersetzen, sobald der Radar-Trap Adapter Fahrzeiten und Entfernung mit ausgibt.

      Außerdem verwende ich in Vis zusätzlichen mit den Material Design Widgets Adapter.

      VIS:

      {
       "settings": {
         "style": {
           "background-color": "#27272727"
         },
         "theme": "dark-hive",
         "sizex": "",
         "sizey": "",
         "gridSize": "",
         "useBackground": false,
         "snapType": null
       },
       "widgets": {
         "e00001": {
           "tpl": "tplVis-materialdesign-Grid-Views",
           "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",
             "countViews": "2",
             "viewVertAlignment": "center",
             "viewHorAlignment": "space-around",
             "showResolutionAssistant": false,
             "visibilityCondition0": "==",
             "visibilityCondition1": "==",
             "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,
             "desktopGaps": "0",
             "viewColSpan": "2",
             "handyGridPortraitColSpan": "6",
             "handyGridLandscapeColSpan": "6",
             "tabletGridPortraitColSpan": "6",
             "tabletGridLandscapeColSpan": "3",
             "visibilityCondition2": "==",
             "visibilityCondition3": "==",
             "View0": "Startseite_Fahrzeiten_Auto_Dialog_Route",
             "viewsHeight0": "400",
             "View1": "Startseite_Fahrzeiten_Auto_Dialog_Routeninformation",
             "viewsHeight1": "400",
             "View2": "Startseite_Fahrzeiten_Auto_Dialog_Info",
             "viewsHeight2": "170",
             "View3": "Wetter_Luftfeuchtigkeit_Tag2",
             "viewsHeight3": "100",
             "visibilityCondition4": "==",
             "visibilityCondition5": "==",
             "visibilityCondition6": "==",
             "visibilityCondition7": "==",
             "visibilityCondition8": "==",
             "visibilityCondition9": "==",
             "visibilityCondition10": "==",
             "View4": "Wetter_Windgeschwindigkeit_Tag2",
             "viewsHeight4": "130",
             "View5": "Wetter_Windrichtung_Tag2",
             "viewsHeight5": "100",
             "View6": "Wetter_Luftdruck_Tag2",
             "viewsHeight6": "100",
             "View7": "Wetter_Schneefall_Tag2",
             "viewsHeight7": "100",
             "View8": "Wetter_Sonne_Tag2",
             "viewsHeight8": "130",
             "View9": "Wetter_Mond_Tag2",
             "viewsHeight9": "130",
             "View10": "Wetter_Grafik_Tag2",
             "viewsHeight10": "240",
             "viewColSpan10": "8",
             "handyGridPortraitColSpan10": "12",
             "handyGridLandscapeColSpan10": "12",
             "tabletGridPortraitColSpan10": "12",
             "tabletGridLandscapeColSpan10": "8",
             "visibilityCondition11": "==",
             "View11": "Wetter_Pollenindex_Tag2",
             "viewsHeight11": "240",
             "viewColSpan11": "4",
             "handyGridPortraitColSpan11": "12",
             "handyGridLandscapeColSpan11": "12",
             "tabletGridPortraitColSpan11": "12",
             "tabletGridLandscapeColSpan11": "4",
             "viewColSpan6": "",
             "viewColSpan7": "",
             "viewColSpan8": "3",
             "viewColSpan9": "3",
             "tabletGridLandscapeColSpan9": "6",
             "tabletGridLandscapeColSpan8": "6",
             "tabletLandscapeWidth": "819",
             "tabletPortraitWidth": "614",
             "handyLandscapeWidth": "613",
             "handyPortraitWidth": "360",
             "visibilityOid11": "0_userdata.0.vis.MaterialDesignWidgets.Wetter.Pollenflug.visible",
             "visibilityConditionValue11": "true",
             "handyPortraitGaps": "0",
             "tabletPortraitGaps": "0",
             "viewSortOrder0": "2",
             "viewColSpan0": "4",
             "handyGridPortraitColSpan0": "12",
             "viewSortOrder4": "4",
             "viewColSpan4": "3",
             "viewSortOrder8": "2",
             "viewSortOrder9": "3",
             "viewSortOrder3": "8",
             "viewSortOrder5": "10",
             "viewSortOrder6": "9",
             "viewSortOrder7": "7",
             "viewSortOrder2": "1",
             "viewSortOrder1": "3",
             "viewColSpan1": "8",
             "handyGridLandscapeColSpan0": "12",
             "tabletGridPortraitColSpan0": "",
             "tabletGridLandscapeColSpan0": "",
             "handyGridPortraitColSpan1": "12",
             "handyGridLandscapeColSpan1": "12",
             "tabletGridPortraitColSpan1": "",
             "tabletGridLandscapeColSpan1": "",
             "visibleResolutionGreaterThan0": "",
             "viewColSpan2": "12",
             "handyGridPortraitColSpan2": "12",
             "handyGridLandscapeColSpan2": "12",
             "tabletGridPortraitColSpan2": "12",
             "tabletGridLandscapeColSpan2": "12"
           },
           "style": {
             "left": "0",
             "top": "0",
             "width": "100%",
             "height": "100%",
             "overflow-y": "auto"
           },
           "widgetSet": "materialdesign"
         }
       },
       "name": "Startseite_Fahrzeiten_Auto_Dialog",
       "filterList": []
      }
      
      {
        "settings": {
          "style": {
            "background-color": "#27272727",
            "background_class": ""
          },
          "theme": "dark-hive",
          "sizex": "",
          "sizey": "",
          "gridSize": "",
          "useBackground": false,
          "snapType": null
        },
        "widgets": {
          "e00001": {
            "tpl": "tplValueString",
            "data": {
              "oid": "nothing_selected",
              "g_fixed": true,
              "g_visibility": false,
              "g_css_font_text": true,
              "g_css_background": false,
              "g_css_shadow_padding": true,
              "g_css_border": false,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "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,
              "html_prepend": "Auto Strecke: Zuhause - Arbeit",
              "name": "Überschrift"
            },
            "style": {
              "left": "20px",
              "top": "14px",
              "color": "#d7cec1",
              "text-shadow": "rgba(0, 0, 0, 0.9) 3px 3px 4px",
              "width": "calc(100% - 40px)",
              "text-align": "center",
              "z-index": "1",
              "height": "22px",
              "box-shadow": "0 2px #d7cec1"
            },
            "widgetSet": "basic"
          },
          "e00002": {
            "tpl": "tplValueFloat",
            "data": {
              "oid": "roadtraffic.0.Arbeit.route.durationTrafficText",
              "g_fixed": false,
              "g_visibility": false,
              "g_css_font_text": true,
              "g_css_background": true,
              "g_css_shadow_padding": true,
              "g_css_border": true,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "is_comma": "true",
              "factor": "1",
              "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,
              "html_append_singular": " Min. <br><span style=\"font-size: 12px\">Delta: {0_userdata.0.Routenplanung.Stauerkennung.Delta_0} Min.</span>",
              "html_append_plural": " Min. <br><span style=\"font-size: 12px\">Delta: {0_userdata.0.Routenplanung.Stauerkennung.Delta_0} Min.</span>"
            },
            "style": {
              "left": "20px",
              "top": "76px",
              "width": "110px",
              "height": "56px",
              "color": "#8f8f8f",
              "background-color": "#2e2e2e",
              "border-radius": "10px",
              "box-shadow": "2px 2px 3px rgba(20, 20, 20, 50)",
              "font-size": "x-large",
              "line-height": "",
              "text-align": "center",
              "z-index": "1",
              "padding-top": "20px"
            },
            "widgetSet": "basic"
          },
          "e00003": {
            "tpl": "tplValueString",
            "data": {
              "oid": "0_userdata.0.Routenplanung.Stauerkennung.Staustufe_0",
              "visibility-cond": "==",
              "visibility-val": 1,
              "test_html": "",
              "html_append": "",
              "gestures-offsetX": 0,
              "gestures-offsetY": 0,
              "html_prepend": "Staustufe: ",
              "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,
              "visibility-groups-action": "hide",
              "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,
              "name": "Staustufe"
            },
            "style": {
              "left": "140px",
              "top": "76px",
              "width": "calc(100% - 280px)",
              "height": "20px",
              "color": "#8f8f8f",
              "background": "",
              "z-index": "4",
              "text-align": "center",
              "background-color": "#2e2e2e",
              "border-radius": "5px",
              "box-shadow": "2px 2px 3px rgba(20, 20, 20, 50)",
              "font-size": "small",
              "line-height": "1.5"
            },
            "widgetSet": "basic"
          },
          "e00004": {
            "tpl": "tplValueString",
            "data": {
              "oid": "0_userdata.0.Routenplanung.Stauerkennung.Blitzer_0",
              "visibility-cond": "==",
              "visibility-val": 1,
              "test_html": "",
              "html_append": "",
              "gestures-offsetX": 0,
              "gestures-offsetY": 0,
              "html_prepend": " ",
              "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,
              "visibility-groups-action": "hide",
              "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,
              "name": "Staustufe"
            },
            "style": {
              "left": "140px",
              "top": "102px",
              "width": "calc(100% - 280px)",
              "height": "20px",
              "color": "#8f8f8f",
              "background": "",
              "z-index": "4",
              "text-align": "center",
              "background-color": "#2e2e2e",
              "border-radius": "5px",
              "box-shadow": "2px 2px 3px rgba(20, 20, 20, 50)",
              "font-size": "small",
              "line-height": "1.5"
            },
            "widgetSet": "basic"
          },
          "e00005": {
            "tpl": "tplValueString",
            "data": {
              "oid": "0_userdata.0.Routenplanung.Stauerkennung.RouteÜber_0",
              "visibility-cond": "==",
              "visibility-val": 1,
              "test_html": "",
              "html_append": " - {roadtraffic.0.Arbeit.route.distanceText}",
              "gestures-offsetX": 0,
              "gestures-offsetY": 0,
              "html_prepend": "über ",
              "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,
              "visibility-groups-action": "hide",
              "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,
              "name": "Routenführung"
            },
            "style": {
              "left": "20px",
              "top": "45px",
              "width": "calc(100% - 40px)",
              "height": "17px",
              "color": "#8f8f8f",
              "background": "",
              "z-index": "4",
              "text-align": "center",
              "font-size": "small"
            },
            "widgetSet": "basic"
          },
          "e00006": {
            "tpl": "tplValueTimestamp",
            "data": {
              "oid": "roadtraffic.0.Arbeit.route.durationTrafficText",
              "g_fixed": true,
              "g_visibility": false,
              "g_css_font_text": true,
              "g_css_background": true,
              "g_css_shadow_padding": true,
              "g_css_border": true,
              "g_gestures": false,
              "g_signals": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "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,
              "format_date": "hh:mm:ss",
              "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,
              "html_prepend": "Letzte Abfrage: ",
              "name": "Letzte Abfrage",
              "html_append": " Uhr"
            },
            "style": {
              "left": "140px",
              "top": "130px",
              "z-index": "4",
              "width": "calc(100% - 280px)",
              "height": "20px",
              "color": "#8f8f8f",
              "text-align": "center",
              "background": "",
              "padding-top": "",
              "margin-top": "",
              "padding": "",
              "background-color": "#2e2e2e",
              "border-radius": "5px",
              "box-shadow": "2px 2px 3px rgba(20, 20, 20, 50)",
              "font-size": "small",
              "line-height": "1.5"
            },
            "widgetSet": "basic"
          },
          "e00007": {
            "tpl": "tplFrame",
            "data": {
              "g_fixed": true,
              "g_visibility": false,
              "g_css_font_text": true,
              "g_css_background": true,
              "g_css_shadow_padding": true,
              "g_css_border": true,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "title": "",
              "title_color": "#d7cec1",
              "title_top": "7",
              "title_left": "99",
              "header_height": "0",
              "header_color": "",
              "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,
              "title_back": "",
              "title_font": "",
              "name": "Hintergrund",
              "class": "my-card-containerR"
            },
            "style": {
              "left": "",
              "top": "",
              "width": "",
              "height": "160px",
              "color": "",
              "z-index": 0,
              "border-radius": "10px",
              "box-shadow": "2px 2px 3px rgba(20, 20, 20, 50)",
              "background": "#202020",
              "border-color": "#2d2d2d",
              "font-size": "14px",
              "text-shadow": "rgba(0, 0, 0, 0.9) 3px 3px 4px"
            },
            "widgetSet": "basic"
          },
          "e00008": {
            "tpl": "tplHistorySparkLIne",
            "data": {
              "visibility-cond": "==",
              "visibility-val": 1,
              "aggregate": "max",
              "chartType": "line",
              "points": "400",
              "time_interval": "24 hours",
              "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,
              "visibility-oid": "",
              "min": "15",
              "max": "45",
              "oid": "0_userdata.0.Routenplanung.Stauerkennung.Fahrzeit_0",
              "instance": "history.0",
              "lineColor": "white",
              "fillColor": "darkgreen",
              "lineWidth": "2",
              "disableTooltips": false,
              "zeroColor": "#2943c2",
              "visibility-groups-action": "hide",
              "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,
              "name": "Diagramm"
            },
            "style": {
              "left": "calc(100% - 130px)",
              "top": "76px",
              "width": "110px",
              "height": "76px",
              "z-index": "2",
              "border-width": "",
              "border-style": "",
              "border-color": "",
              "background-color": "#2e2e2e",
              "margin-left": "",
              "padding-left": "",
              "padding": "",
              "box-shadow": "2px 2px 3px rgba(20, 20, 20, 50)",
              "border-radius": "10px"
            },
            "widgetSet": "history"
          }
        },
        "name": "Startseite_Fahrzeiten_Auto_Dialog_Info",
        "filterList": []
      }
      
      {
        "settings": {
          "style": {
            "background-color": "#27272727",
            "background_class": ""
          },
          "theme": "dark-hive",
          "sizex": "",
          "sizey": "",
          "gridSize": "",
          "useBackground": false,
          "snapType": null
        },
        "widgets": {
          "e00001": {
            "tpl": "tplValueString",
            "data": {
              "oid": "nothing_selected",
              "g_fixed": true,
              "g_visibility": false,
              "g_css_font_text": true,
              "g_css_background": false,
              "g_css_shadow_padding": true,
              "g_css_border": false,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "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,
              "html_prepend": "Route",
              "name": "Überschrift"
            },
            "style": {
              "left": "20px",
              "top": "14px",
              "color": "#d7cec1",
              "text-shadow": "rgba(0, 0, 0, 0.9) 3px 3px 4px",
              "width": "calc(100% - 40px)",
              "text-align": "center",
              "z-index": "1",
              "height": "22px",
              "box-shadow": "0 2px #d7cec1"
            },
            "widgetSet": "basic"
          },
          "e00002": {
            "tpl": "tplFrame",
            "data": {
              "g_fixed": true,
              "g_visibility": false,
              "g_css_font_text": true,
              "g_css_background": true,
              "g_css_shadow_padding": true,
              "g_css_border": true,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "title": "",
              "title_color": "#d7cec1",
              "title_top": "7",
              "title_left": "99",
              "header_height": "0",
              "header_color": "",
              "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,
              "title_back": "",
              "title_font": "",
              "name": "Hintergrund",
              "class": "my-card-container"
            },
            "style": {
              "left": "",
              "top": "",
              "width": "",
              "height": "390px",
              "color": "",
              "z-index": 0,
              "border-radius": "10px",
              "box-shadow": "2px 2px 3px rgba(20, 20, 20, 50)",
              "background": "#202020",
              "border-color": "#2d2d2d",
              "font-size": "14px",
              "text-shadow": "rgba(0, 0, 0, 0.9) 3px 3px 4px"
            },
            "widgetSet": "basic"
          },
          "e00003": {
            "tpl": "tplMapbox",
            "data": {
              "g_fixed": false,
              "g_visibility": false,
              "g_css_font_text": false,
              "g_css_background": false,
              "g_css_shadow_padding": false,
              "g_css_border": true,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "route": "Zuhause -> Arbeit | 7HmkQwfB0dDfO3AU",
              "routeColor": "blue",
              "clusterColor": "#E1BEE7",
              "symbolColor": "red",
              "styleSelect": "satellite-streets-v11",
              "fitButton": "true",
              "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
            },
            "style": {
              "left": "20px",
              "top": "45px",
              "width": "calc(100% - 40px)",
              "height": "340px",
              "z-index": "2",
              "border-radius": "10px"
            },
            "widgetSet": "radar-trap"
          }
        },
        "name": "Startseite_Fahrzeiten_Auto_Dialog_Route",
        "filterList": []
      }
      
      {
        "settings": {
          "style": {
            "background-color": "#27272727",
            "background_class": ""
          },
          "theme": "dark-hive",
          "sizex": "",
          "sizey": "",
          "gridSize": "",
          "useBackground": false,
          "snapType": null
        },
        "widgets": {
          "e00001": {
            "tpl": "tplValueString",
            "data": {
              "oid": "nothing_selected",
              "g_fixed": true,
              "g_visibility": false,
              "g_css_font_text": true,
              "g_css_background": false,
              "g_css_shadow_padding": true,
              "g_css_border": false,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "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,
              "html_prepend": "Routeninformation",
              "name": "Überschrift"
            },
            "style": {
              "left": "20px",
              "top": "14px",
              "color": "#d7cec1",
              "text-shadow": "rgba(0, 0, 0, 0.9) 3px 3px 4px",
              "width": "calc(100% - 40px)",
              "text-align": "center",
              "z-index": "1",
              "height": "22px",
              "box-shadow": "0 2px #d7cec1"
            },
            "widgetSet": "basic"
          },
          "e00002": {
            "tpl": "tplFrame",
            "data": {
              "g_fixed": true,
              "g_visibility": false,
              "g_css_font_text": true,
              "g_css_background": true,
              "g_css_shadow_padding": true,
              "g_css_border": true,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "title": "",
              "title_color": "#d7cec1",
              "title_top": "7",
              "title_left": "99",
              "header_height": "0",
              "header_color": "",
              "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,
              "title_back": "",
              "title_font": "",
              "name": "Hintergrund",
              "class": "my-card-container"
            },
            "style": {
              "left": "",
              "top": "",
              "width": "",
              "height": "390px",
              "color": "",
              "z-index": 0,
              "border-radius": "10px",
              "box-shadow": "2px 2px 3px rgba(20, 20, 20, 50)",
              "background": "#202020",
              "border-color": "#2d2d2d",
              "font-size": "14px",
              "text-shadow": "rgba(0, 0, 0, 0.9) 3px 3px 4px"
            },
            "widgetSet": "basic"
          },
          "e00003": {
            "tpl": "tplTrapsInfo",
            "data": {
              "g_fixed": false,
              "g_visibility": false,
              "g_css_font_text": true,
              "g_css_background": true,
              "g_css_shadow_padding": true,
              "g_css_border": true,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "route": "Zuhause -> Arbeit | 7HmkQwfB0dDfO3AU",
              "noNothingInfo": true,
              "symbolColor": "red",
              "fixedTraps": "true",
              "mobileTraps": "true",
              "trafficJams": false,
              "accidents": false,
              "roadWorks": false,
              "objects": false,
              "sleekness": false,
              "fog": false,
              "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
            },
            "style": {
              "left": "calc(50% - 110px)",
              "top": "45px",
              "color": "#8f8f8f",
              "z-index": "2",
              "width": "220px",
              "height": "340px",
              "text-align": "center",
              "font-weight": "bold",
              "font-size": "medium",
              "font-family": "Arial, Helvetica, sans-serif",
              "line-height": "",
              "background": "#2e2e2e",
              "border-radius": "10px",
              "box-shadow": "2px 2px 3px rgba(20, 20, 20, 50)"
            },
            "widgetSet": "radar-trap"
          },
          "e00004": {
            "tpl": "tplTrapsInfo",
            "data": {
              "g_fixed": false,
              "g_visibility": false,
              "g_css_font_text": true,
              "g_css_background": true,
              "g_css_shadow_padding": true,
              "g_css_border": true,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "route": "Zuhause -> Arbeit | 7HmkQwfB0dDfO3AU",
              "noNothingInfo": true,
              "symbolColor": "red",
              "fixedTraps": false,
              "mobileTraps": false,
              "trafficJams": true,
              "accidents": true,
              "roadWorks": true,
              "objects": true,
              "sleekness": false,
              "fog": false,
              "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
            },
            "style": {
              "left": "20px",
              "top": "45px",
              "color": "#8f8f8f",
              "z-index": "2",
              "width": "220px",
              "height": "340px",
              "background": "#2e2e2e",
              "box-shadow": "2px 2px 3px rgba(20, 20, 20, 50)",
              "border-radius": "10px"
            },
            "widgetSet": "radar-trap"
          },
          "e00005": {
            "tpl": "tplTrapsInfo",
            "data": {
              "g_fixed": false,
              "g_visibility": false,
              "g_css_font_text": true,
              "g_css_background": true,
              "g_css_shadow_padding": true,
              "g_css_border": true,
              "g_gestures": false,
              "g_signals": false,
              "g_last_change": false,
              "visibility-cond": "==",
              "visibility-val": 1,
              "visibility-groups-action": "hide",
              "route": "Zuhause -> Arbeit | 7HmkQwfB0dDfO3AU",
              "noNothingInfo": true,
              "symbolColor": "red",
              "fixedTraps": false,
              "mobileTraps": false,
              "trafficJams": false,
              "accidents": false,
              "roadWorks": false,
              "objects": false,
              "sleekness": true,
              "fog": true,
              "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
            },
            "style": {
              "left": "calc(100% - 240px)",
              "top": "45px",
              "color": "#8f8f8f",
              "z-index": "2",
              "width": "220px",
              "height": "340px",
              "text-align": "center",
              "font-weight": "bold",
              "line-height": "",
              "font-family": "Arial, Helvetica, sans-serif",
              "background": "#2e2e2e",
              "border-radius": "10px",
              "box-shadow": "2px 2px 3px rgba(20, 20, 20, 50)"
            },
            "widgetSet": "radar-trap"
          },
          "e00006": {
            "tpl": "tplValueString",
            "data": {
              "oid": "",
              "g_fixed": false,
              "g_visibility": true,
              "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": "Keine Blitzer",
              "visibility-groups-action": "hide",
              "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,
              "html_prepend": "Keine Informationen zu Blitzern vorhanden!",
              "visibility-oid": "0_userdata.0.Routenplanung.Stauerkennung.Blitzer_0"
            },
            "style": {
              "left": "calc(50% - 105px)",
              "top": "150px",
              "color": "orange",
              "width": "210px",
              "font-size": "medium",
              "font-weight": "bold",
              "z-index": "3",
              "text-align": "center",
              "height": "100px",
              "padding-top": "6px"
            },
            "widgetSet": "basic"
          },
          "e00007": {
            "tpl": "tplValueString",
            "data": {
              "oid": "0_userdata.0.Routenplanung.Stauerkennung.Stauinfo_0",
              "g_fixed": false,
              "g_visibility": true,
              "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": "Ja",
              "visibility-groups-action": "hide",
              "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,
              "html_prepend": "",
              "visibility-oid": "0_userdata.0.Routenplanung.Stauerkennung.Stauinfo_0"
            },
            "style": {
              "left": "25px",
              "top": "150px",
              "color": "orange",
              "width": "210px",
              "font-size": "medium",
              "font-weight": "bold",
              "z-index": "3",
              "text-align": "center",
              "height": "100px",
              "padding-top": "6px"
            },
            "widgetSet": "basic"
          },
          "e00008": {
            "tpl": "tplValueString",
            "data": {
              "oid": "0_userdata.0.Routenplanung.Stauerkennung.Wetterinfo_0",
              "g_fixed": false,
              "g_visibility": true,
              "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": "Ja",
              "visibility-groups-action": "hide",
              "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,
              "html_prepend": "",
              "visibility-oid": "0_userdata.0.Routenplanung.Stauerkennung.Wetterinfo_0"
            },
            "style": {
              "left": "calc(100% - 235px)",
              "top": "150px",
              "color": "orange",
              "width": "210px",
              "font-size": "medium",
              "font-weight": "bold",
              "z-index": "3",
              "text-align": "center",
              "height": "100px",
              "padding-top": "6px"
            },
            "widgetSet": "basic"
          }
        },
        "name": "Startseite_Fahrzeiten_Auto_Dialog_Routeninformation",
        "filterList": []
      }
      

      Script:

      /************************************************************************************************************************************************************************
      Version: 1.0.1
      created by Oliver Böhm, letzte Aktualierung: 31.12.2021
      Dieses Skript erstellt Informationen zur Verkehrslage aus dem RoadTraffic- und Radar-Trap Adapter, um diese im VIS darzustellen 
      =========================================================================================================================================================================
      !!! Voraussetzungen !!!
      * RoadTraffic Adapter                   >= 0.2.0
      * Radar-Trap Adapter                    >= 0.2.1
      * Javascript Adapter                    >= 4.6.1
      =========================================================================================================================================================================
      --- Links ---
      * Support:          	https://forum.iobroker.net/topic/20496/test-adapter-roadtraffic-v0-0-x
      * Support:          	https://forum.iobroker.net/topic/50605/neuer-adapter-radar-trap
      =========================================================================================================================================================================
      --- Changelog ---
      * 1.0.0:            Initial release
      * 1.0.1:            Anpassung an Radar-Trap Adapter (31.12.2021)
      ************************************************************************************************************************************************************************/
      
      // Skript Einstellungen *************************************************************************************************************************************************
      let pfad = '0_userdata.0.Routenplanung.Stauerkennung.';                                          // Pfad der anzulegenden ioBroker Objekte
      
      let stauStufe1AbMinuten = 5;
      let stauStufe2AbMinuten = 8;
      let stauStufe3AbMinuten = 12; 
      
      let idStau_0 = pfad + "Stau_0";                                                                 // boolean
      let idStaustufe_0 = pfad + "Staustufe_0";                                                       // Wert von (0-3)
      let idVia_0 = pfad + "RouteÜber_0";                                                             // Route über 
      let idDelta_0 = pfad + "Delta_0";                                                               // Unterschied zur durchschnittlichen Fahrzeit
      let idFahrzeit_0 = pfad + "Fahrzeit_0";                                                         // Fahrzeit in Minuten
      let idBlitzer_0 = pfad + "Blitzer_0";                                                           // Blitzer auf Route
      let idStauinfo_0 = pfad + "Stauinfo_0";                                                         // Blitzer auf Route
      let idWetterinfo_0 = pfad + "Wetterinfo_0";                                                     // Blitzer auf Route
      //***********************************************************************************************************************************************************************
       
      // Beim Skriptstart die Werte abfragen
      main();
      
      // Trigger
      on({id:"roadtraffic.0.Arbeit.route.durationTraffic", change: 'any'}, main);
       
      function main()  {
         let minuten0 = Math.ceil(getState("roadtraffic.0.Arbeit.route.durationTraffic").val / 60);
         let minuten0_durchschnitt = Math.ceil(getState("roadtraffic.0.Arbeit.route.duration").val / 60);
         let stau0 = false;
         let staustufe0 = 0;
         let delta = minuten0 - minuten0_durchschnitt;
         let via;
         let blitzer;
         let stauinfo;
         let wetterinfo;                                                 
       
         if (delta >= stauStufe1AbMinuten) {stau0 = true; staustufe0 = 1}
         if (delta >= stauStufe2AbMinuten) {staustufe0 = 2}
         if (delta >= stauStufe3AbMinuten) {staustufe0 = 3}  
                      
         mySetState(idStau_0, stau0, 'boolean', 'Stau auf Route Arbeit');    
         mySetState(idStaustufe_0, staustufe0, 'number', 'Staustufe auf Route Arbeit (0-3)');    
         mySetState(idDelta_0, delta, 'number', 'Unterschied zur durchschnittlichen Fahrzeit');    
         mySetState(idFahrzeit_0, minuten0, 'number', 'Fahrzeit auf Route Arbeit');
      
         if (getState("roadtraffic.0.Arbeit.route.distance").val > 17500) {
             via = "A73";                    
         } else if (getState("roadtraffic.0.Arbeit.route.distance").val > 15000 && getState("roadtraffic.0.Arbeit.route.distance").val < 16000) {
             via = "Münchner Straße";
         } else if (getState("roadtraffic.0.Arbeit.route.distance").val > 17000 && getState("roadtraffic.0.Arbeit.route.distance").val < 17500) {
             via = "Kornburg";                   
         } else if (getState("roadtraffic.0.Arbeit.route.distance").val > 14000 && getState("roadtraffic.0.Arbeit.route.distance").val < 1500) {
             via = "Langwasser";                   
         } else if (getState("roadtraffic.0.Arbeit.route.distance").val > 16000 && getState("roadtraffic.0.Arbeit.route.distance").val < 17000) {
             via = "Trierer Straße";                   
         }                                                                                                                                                                                                
       
         mySetState(idVia_0, via, 'string', 'Fahrt über Route Arbeit');
      
         if (getState("radar-trap.0.7HmkQwfB0dDfO3AU.8cJD1cCQ650SHmZb.fixedTraps").val == '[]' && getState("radar-trap.0.7HmkQwfB0dDfO3AU.8cJD1cCQ650SHmZb.mobileTraps").val == '[]'){
             blitzer = 'Keine Blitzer';
         } else {
             blitzer = 'Achtung Blitzer';
         }    
         
         mySetState(idBlitzer_0, blitzer, 'string', 'Blitzer auf Route Arbeit');
      
         if (getState("radar-trap.0.7HmkQwfB0dDfO3AU.8cJD1cCQ650SHmZb.accidents").val == '[]' && getState("radar-trap.0.7HmkQwfB0dDfO3AU.8cJD1cCQ650SHmZb.objects").val == '[]' && getState("radar-trap.0.7HmkQwfB0dDfO3AU.8cJD1cCQ650SHmZb.roadWorks").val == '[]' && getState("radar-trap.0.7HmkQwfB0dDfO3AU.8cJD1cCQ650SHmZb.trafficJams").val == '[]'){
             stauinfo = 'Keine Informationen zu Staus, Baustellen, Unfällen, oder Gegenständen vorhanden!';
         } else {
             stauinfo = 'Ja';
         }    
         
         mySetState(idStauinfo_0, stauinfo, 'string', 'Stau, Bauarbeiten, Unfälle, oder Gegenstände auf Route Arbeit');
      
         if (getState("radar-trap.0.7HmkQwfB0dDfO3AU.8cJD1cCQ650SHmZb.fog").val == '[]' && getState("radar-trap.0.7HmkQwfB0dDfO3AU.8cJD1cCQ650SHmZb.sleekness").val == '[]'){
             wetterinfo = 'Keine Informationen zu wetterbedingten Störungen vorhanden!';
         } else {
             wetterinfo = 'Ja';
         }    
      
         mySetState(idWetterinfo_0, wetterinfo, 'string', 'Wetterbedingte Störungen auf Route Arbeit');
      }
      
      function mySetState(id, val, type, name, write = true) {
         if (existsState(id)) {
             setState(id, val, true);
         } else {
             createState(id, {
                 'name': name,
                 'type': type,
                 'read': true,
                 'write': write
             }, function () {
                 setState(id, val, true);
             });
         }
      }
      
      

      posted in Tester
      O
      Oli
    • RE: [Gelöst] Benötige Hilfe mit Node-Red in Verbindung mit homee

      @mickym

      sorry, kaum sucht man 3 Stunden, hat man den Fehler auch gefunden
      df692219-923a-4150-b79e-c2220af292bf-image.png
      Da war noch der Filter auf die Attribute drin

      Jetzt laufen beide Flows optimal, nochmals danke für deine Geduld und Hilfe 👍

      posted in Node-Red
      O
      Oli
    • RE: [Javascript] für Warnungen von Lebensmittelwarnung

      @SBorg,

      danke noch mal für deine Arbeit.

      Habe auch noch etwas nachgebessert, zur besseren Übersicht, habe ich Trennlinien zwischen den Meldungen eingefügt.

      8bc3cd88-2731-43e4-9ed9-d60ed785b70f-image.png

      Hier das Script:

       /*VIS Lebensmittelwarnungen
      
      Bringt einen RSS-Feed als Tabelle in ioBroker
      setzt die Library xml2js voraus (in Javascript Einstellungen zufügen)
      
      
      erstellt: 11.05.2017 von Torsten (auf Basis von Bluefox Code und Pix)
      Script angepasst : 28.10.2019 von Oliver
      */
      
      var idFeedTabelle = 'RSS-Feed.Lebensmittelwarnungen.Tabelle';
      
      var forceCreation = false;
          
      createState(idFeedTabelle, '', forceCreation, {
          write: true,
          read: true,
          name: 'RSS Feed Lebensmittelwarnungen Tabelle',
          type: 'string',
          desc: 'Lebensmittelwarnungen RSS Feed als HTML Tabelle',
          role: 'html'
      });
      
      var link = 'https://www.lebensmittelwarnung.de/bvl-lmw-de/opensaga/feed/alle/bayern.rss';
      
      var quer = false ;
      
      function RSS_einlesen () {
          var parseString = require('xml2js').parseString;
          var request = require('request');
      
          request(link, function (error, response, body) {
              if (!error && response.statusCode == 200) {
          
                  parseString(body, {
                      explicitArray: false,
                      mergeAttrs: true
                  },
                  function (err, result) {
                      //log(JSON.stringify(result, null, 2));
                      if (err) {
                          log("Fehler: " + err, 'error');
                      } else {    
                          var tabelle;
                          if (quer) {
                              // Titel links, Inhalt rechts
                              tabelle ='<table class="rss_feed"><thead><tr><th>Titel</th><th>Produktwarnungen</th></tr></thead><tbody>';
                              for (var i = 0; i <result.rss.channel.item.length; i++) {
                                  tabelle += '<tr><td>' + result.rss.channel.item[i].title + '</td><td>' + result.rss.channel.item[i].description + '-----------------------------------------------------------------------------------------</td></tr>';
                              }
                          } else {
                              // Titel oben, INhalt darunter (wie in der Zeitung)
                              tabelle ='<table class="rss_feed"><thead><tr><th>Produktwarnungen</th><tr><tr></tr></thead><tbody>';
                              for (var j = 0; j <result.rss.channel.item.length; j++) {
                                  tabelle += '<tr><td>' + result.rss.channel.item[j].title + '</td></tr><tr><td>' + result.rss.channel.item[j].description + '-----------------------------------------------------------------------------------------</td></tr>';
                              }
                          }
                          tabelle += '</tbody></table>';  
                          setState(idFeedTabelle, tabelle);
                      }
                  });
              } else  {
                  log(error, 'error');
              }
          });   // Ende request 
          log('RSS-Feed ' + link + ' eingelesen');
      }
      
      schedule("*/10 * * * *", RSS_einlesen);  // alle 10 Minuten
      RSS_einlesen();
      

      posted in Praktische Anwendungen (Showcase)
      O
      Oli
    • RE: Ölpreis

      @sigi234

      Anbei das View
      Heizölview.txt

      Übrigens dein Wetterview ist genial.

      Gruß Oliver

      posted in ioBroker Allgemein
      O
      Oli

    Latest posts made by Oli

    • RE: Test/Support für Adapter rssfeed und vis-2-widgets-rssfeed

      @oliverio
      ich habe das gleiche Problem wie @trojanhector, ein "iob upload all" und ein Neustart des VIS-2 Adapters bringt keinen Erfolg.

      Installierte VIS-Version: 2.9.64

      Uncaught SyntaxError: Cannot use import statement outside a module
      visLoadWidgets.tsx:197  Cannot load widget system.adapter.vis-2-widgets-rssfeed.0: Error: Cannot load vis2rssfeedWidgets from ./widgets/vis-2-widgets-rssfeed/customWidgets.js
      (anonymous) @ visLoadWidgets.tsx:197
      visLoadWidgets.tsx:198  Cannot load widget system.adapter.vis-2-widgets-rssfeed.0: {}
      (anonymous) @ visLoadWidgets.tsx:198
      visLoadWidgets.tsx:197  Cannot load widget system.adapter.vis-2-widgets-rssfeed.0: Error: Cannot load vis2rssfeedWidgets from ./widgets/vis-2-widgets-rssfeed/customWidgets.js
      (anonymous) @ visLoadWidgets.tsx:197
      visLoadWidgets.tsx:198  Cannot load widget system.adapter.vis-2-widgets-rssfeed.0: {}
      (anonymous) @ visLoadWidgets.tsx:198
      visLoadWidgets.tsx:197  Cannot load widget system.adapter.vis-2-widgets-rssfeed.0: Error: Cannot load vis2rssfeedWidgets from ./widgets/vis-2-widgets-rssfeed/customWidgets.js
      (anonymous) @ visLoadWidgets.tsx:197
      visLoadWidgets.tsx:198  Cannot load widget system.adapter.vis-2-widgets-rssfeed.0: {}
      (anonymous) @ visLoadWidgets.tsx:198
      visLoadWidgets.tsx:197  Cannot load widget system.adapter.vis-2-widgets-rssfeed.0: Error: Cannot load vis2rssfeedWidgets from ./widgets/vis-2-widgets-rssfeed/customWidgets.js
      (anonymous) @ visLoadWidgets.tsx:197
      visLoadWidgets.tsx:198  Cannot load widget system.adapter.vis-2-widgets-rssfeed.0: {}
      (anonymous) @ visLoadWidgets.tsx:198
      visLoadWidgets.tsx:197  Cannot load widget system.adapter.vis-2-widgets-rssfeed.0: Error: Cannot load vis2rssfeedWidgets from ./widgets/vis-2-widgets-rssfeed/customWidgets.js
      (anonymous) @ visLoadWidgets.tsx:197
      visLoadWidgets.tsx:198  Cannot load widget system.adapter.vis-2-widgets-rssfeed.0: {}
      
      posted in Tester
      O
      Oli
    • RE: Material Design Widgets: Top App Bar Widget

      @aproxxo
      Benutzt du VIS 1, oder VIS 2? In der VIS 2 funktionieren die Widgets nicht

      posted in Visualisierung
      O
      Oli
    • RE: Test/Support für Adapter rssfeed und vis-2-widgets-rssfeed

      @oliverio
      sorry für die späte Antwort. Das neue "marquee widget 5" wird jetzt mit angezeigt

      posted in Tester
      O
      Oli
    • RE: [Neuer Adapter] radar-trap

      @carsten04

      ich habe gestern auf die VIS-2 v2.11.2 upgedatet. Danach ist mir aufgefallen, dass von deinem Adapter nicht mehr alle Widgets geladen werden. Seiten in der VIS, wo deine Widgets vorhanden sind, werden weder im Editor, noch in der Runtime geladen

      Ein mehrmaliger Upload hat leider nichts gebracht.

      Hier ein Logauszug von der Konsole, hoffe du kannst damit was anfangen

      Editor.tsx:621 
       Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'toString')
          at Editor.tsx:621:63
          at Array.forEach (<anonymous>)
          at U.findViewWithNearestResolution (Editor.tsx:614:38)
          at Editor.tsx:802:34
      (anonym)	@	Editor.tsx:621
      findViewWithNearestResolution	@	Editor.tsx:614
      (anonym)	@	Editor.tsx:802
      react-dom.production.min.js:188 
       TypeError: Cannot read properties of undefined (reading 't')
          at m.renderWidgetBody (RadarTrapRouteWidget.jsx:282:22)
          at m.render (visBaseWidget.tsx:1982:31)
          at m.render (visRxWidget.tsx:1097:22)
      rr	@	react-dom.production.min.js:188
      c.callback	@	react-dom.production.min.js:188
      Ra	@	react-dom.production.min.js:156
      mi	@	react-dom.production.min.js:261
      vi	@	react-dom.production.min.js:259
      pi	@	react-dom.production.min.js:258
      (anonym)	@	react-dom.production.min.js:282
      zh	@	react-dom.production.min.js:280
      sh	@	react-dom.production.min.js:272
      _s	@	react-dom.production.min.js:127
      (anonym)	@	react-dom.production.min.js:266
      react-dom.production.min.js:127 
       Uncaught TypeError: Cannot read properties of undefined (reading 't')
          at m.renderWidgetBody (RadarTrapRouteWidget.jsx:282:22)
          at m.render (visBaseWidget.tsx:1982:31)
          at m.render (visRxWidget.tsx:1097:22)
      renderWidgetBody	@	RadarTrapRouteWidget.jsx:282
      render	@	visBaseWidget.tsx:1982
      render	@	visRxWidget.tsx:1097
      src_Actual_jsx.5a71e0ed.chunk.js:1 
       Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'main')
          at src_Actual_jsx.5a71e0ed.chunk.js:1:8328
      (anonym)	@	src_Actual_jsx.5a71e0ed.chunk.js:1
      setInterval		
      propertiesUpdate	@	src_Actual_jsx.5a71e0ed.chunk.js:1
      await in propertiesUpdate		
      (anonym)	@	src_Actual_jsx.5a71e0ed.chunk.js:1
      setTimeout		
      renderWidgetBody	@	src_Actual_jsx.5a71e0ed.chunk.js:1
      render	@	visBaseWidget.tsx:1982
      render	@	visRxWidget.tsx:1097
      src_Actual_jsx.5a71e0ed.chunk.js:1 
       Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'main')
          at src_Actual_jsx.5a71e0ed.chunk.js:1:8328
      (anonym)	@	src_Actual_jsx.5a71e0ed.chunk.js:1
      setInterval		
      propertiesUpdate	@	src_Actual_jsx.5a71e0ed.chunk.js:1
      await in propertiesUpdate		
      (anonym)	@	src_Actual_jsx.5a71e0ed.chunk.js:1
      setTimeout		
      renderWidgetBody	@	src_Actual_jsx.5a71e0ed.chunk.js:1
      render	@	visBaseWidget.tsx:1982
      render	@	visRxWidget.tsx:1097
      
      
      posted in Tester
      O
      Oli
    • RE: Test/Support für Adapter rssfeed und vis-2-widgets-rssfeed

      @oliverio
      habe ich bereits mehrfach durchgeführt, immer das gleiche Ergebnis

      posted in Tester
      O
      Oli
    • RE: Test/Support für Adapter rssfeed und vis-2-widgets-rssfeed

      @oliverio
      ich habe heute den Widget Adapter auf die 1.0.0 upgedatet, es erscheint leider das neue "marquee widget 5" nicht in der Auswahl. Ein Upload hat leider keine Besserung gebracht.

      d91ce28b-58a7-4d8b-9897-a93b1294849a-image.png
      Anbei der Log aus der Konsole

      visLoadWidgets.tsx:211 
       Cannot load widget system.adapter.vis-2-widgets-rssfeed.0: ChunkLoadError: Loading chunk vendors-node_modules_mui_material_styles_styled_js-node_modules_mui_material_styles_useThemeP-598e64 failed.
      (error: http://localhost:8082/vis-2/widgets/vis-2-widgets-rssfeed/static/js/vendors…led_js-node_modules_mui_material_styles_useThemeP-598e64.71a877cf.chunk.js)
      (anonym)	@	visLoadWidgets.tsx:211
      visLoadWidgets.tsx:212 
       Cannot load widget system.adapter.vis-2-widgets-rssfeed.0: {"message":"Loading chunk vendors-node_modules_mui_material_styles_styled_js-node_modules_mui_material_styles_useThemeP-598e64 failed.\n(error: http://localhost:8082/vis-2/widgets/vis-2-widgets-rssfeed/static/js/vendors…led_js-node_modules_mui_material_styles_useThemeP-598e64.71a877cf.chunk.js)","name":"ChunkLoadError","type":"error","request":"http://localhost:8082/vis-2/widgets/vis-2-widgets-rssfeed/static/js/vendors…led_js-node_modules_mui_material_styles_useThemeP-598e64.71a877cf.chunk.js"}
      (anonym)	@	visLoadWidgets.tsx:212
      :8082/vis-2/widgets/…f842f4ec.chunk.js:1 
       
       Failed to load resource: the server responded with a status of 404 (Not Found)
      
      posted in Tester
      O
      Oli
    • RE: VIS-2, gestyled Zeiteingabe Farben ändern?

      @oliverio

      gibt es über CSS auch die Möglichkeit die Hintergrundfarbe des Auswahlfensters zu ändern und das Icon des Button weiter einzurücken?

      ab8c049e-5e4a-4ca3-8bce-740d492a3eba-image.png

      posted in Visualisierung
      O
      Oli
    • RE: Mehrere Objekte mit deren Datenpunkten in VIS Tabelle

      @snopy_16
      Verwende ein ganz normales HTML Widget und schreibe in Allgemein deinen Datenpunkt in geschweiften Klammern
      {0_userdata.xxx}
      Du solltest aber noch den HTML Tag entfernen, dieser ist im Widget bereits hinterlegt.

      posted in Visualisierung
      O
      Oli
    • RE: Meine VIS mit 76 Seiten.

      @stenmic said in Meine VIS mit 76 Seiten.:

      frag das TV Programm bei TVSpielfilm über ihre API ab.

      Hast da vielleicht mal ein Skript Beispiel für mich?

      posted in Visualisierung
      O
      Oli
    • RE: Meine VIS mit 76 Seiten.

      @stenmic
      Sehr schöne VIS, welche APIs oder Adapter verwendest du für deine TV Seiten?

      posted in Visualisierung
      O
      Oli
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo