Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Vorstellung] Meine zweite Visualisierung

NEWS

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

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

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

[Vorstellung] Meine zweite Visualisierung

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vistemplate
1.3k Beiträge 148 Kommentatoren 548.2k Aufrufe 157 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D Offline
    D Offline
    David16
    schrieb am zuletzt editiert von
    #664

    Hi @Kuddel,

    habe leider seit einigen Tagen, vermutlich durch Updates Probleme mit meiner Javascript Instanz. Habe dein Projekt für mich übernommen.

    Weißt du an was es hängen könnte? -- Komme leider nicht weiter...
    Soweit wie ich es sehe hängt es mit dem Tag/Nacht Skript zusammen. Hattest du hier nicht schonmal mit Problemen zu kämpfen?

    IMG_20190922_220534.png

    javascript.0	2019-09-22 21:34:56.112	error	at Timer.listOnTimeout (timers.js:290:5)
    javascript.0	2019-09-22 21:34:56.112	error	at tryOnTimeout (timers.js:323:5)
    javascript.0	2019-09-22 21:34:56.112	error	at ontimeout (timers.js:511:34)
    javascript.0	2019-09-22 21:34:56.112	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1888:34)
    javascript.0	2019-09-22 21:34:56.111	error	at Object.<anonymous> (script.js.smarthome.rolladen.rolladen_tag_nacht:75:86)
    javascript.0	2019-09-22 21:34:56.111	error	Error in callback: TypeError: getState(...).val.trim is not a function
    javascript.0	2019-09-22 21:34:56.108	error	at Timer.listOnTimeout (timers.js:290:5)
    javascript.0	2019-09-22 21:34:56.108	error	at tryOnTimeout (timers.js:323:5)
    javascript.0	2019-09-22 21:34:56.108	error	at ontimeout (timers.js:511:34)
    javascript.0	2019-09-22 21:34:56.108	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1888:34)
    javascript.0	2019-09-22 21:34:56.108	error	at Object.<anonymous> (script.js.smarthome.rolladen.rolladen_tag_nacht:11:84)
    javascript.0	2019-09-22 21:34:56.107	error	Error in callback: TypeError: getState(...).val.trim is not a function
    javascript.0	2019-09-22 21:34:54.928	info	script.js.smarthome.system.uptime_v0_2_dav: registered 1 subscription and 3 schedules
    

    Vermutlich steigt dadurch meine Javascript Instanz immer aus, sprich die wird rot.
    Meine Rollos fahren dadurch auch nicht immer hoch bzw. Runter.

    Zusätzlich gibt es noch folgende Meldung

    javascript.0	2019-09-22 21:52:49.785	warn	Reconnection to DB.
    javascript.0	2019-09-22 21:52:49.783	warn	Reconnection to DB.
    
    

    Keine Ahnung was das bedeuten soll?! - Ich hoffe du kannst mir helfen. Ich weiß leider nicht mehr weiter...

    K D 2 Antworten Letzte Antwort
    0
    • D David16

      Hi @Kuddel,

      habe leider seit einigen Tagen, vermutlich durch Updates Probleme mit meiner Javascript Instanz. Habe dein Projekt für mich übernommen.

      Weißt du an was es hängen könnte? -- Komme leider nicht weiter...
      Soweit wie ich es sehe hängt es mit dem Tag/Nacht Skript zusammen. Hattest du hier nicht schonmal mit Problemen zu kämpfen?

      IMG_20190922_220534.png

      javascript.0	2019-09-22 21:34:56.112	error	at Timer.listOnTimeout (timers.js:290:5)
      javascript.0	2019-09-22 21:34:56.112	error	at tryOnTimeout (timers.js:323:5)
      javascript.0	2019-09-22 21:34:56.112	error	at ontimeout (timers.js:511:34)
      javascript.0	2019-09-22 21:34:56.112	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1888:34)
      javascript.0	2019-09-22 21:34:56.111	error	at Object.<anonymous> (script.js.smarthome.rolladen.rolladen_tag_nacht:75:86)
      javascript.0	2019-09-22 21:34:56.111	error	Error in callback: TypeError: getState(...).val.trim is not a function
      javascript.0	2019-09-22 21:34:56.108	error	at Timer.listOnTimeout (timers.js:290:5)
      javascript.0	2019-09-22 21:34:56.108	error	at tryOnTimeout (timers.js:323:5)
      javascript.0	2019-09-22 21:34:56.108	error	at ontimeout (timers.js:511:34)
      javascript.0	2019-09-22 21:34:56.108	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1888:34)
      javascript.0	2019-09-22 21:34:56.108	error	at Object.<anonymous> (script.js.smarthome.rolladen.rolladen_tag_nacht:11:84)
      javascript.0	2019-09-22 21:34:56.107	error	Error in callback: TypeError: getState(...).val.trim is not a function
      javascript.0	2019-09-22 21:34:54.928	info	script.js.smarthome.system.uptime_v0_2_dav: registered 1 subscription and 3 schedules
      

      Vermutlich steigt dadurch meine Javascript Instanz immer aus, sprich die wird rot.
      Meine Rollos fahren dadurch auch nicht immer hoch bzw. Runter.

      Zusätzlich gibt es noch folgende Meldung

      javascript.0	2019-09-22 21:52:49.785	warn	Reconnection to DB.
      javascript.0	2019-09-22 21:52:49.783	warn	Reconnection to DB.
      
      

      Keine Ahnung was das bedeuten soll?! - Ich hoffe du kannst mir helfen. Ich weiß leider nicht mehr weiter...

      K Online
      K Online
      Kuddel
      schrieb am zuletzt editiert von
      #665

      @David16 das Problem ist wohl irgendwie der Schedule-Block.

      60ff1470-2744-4917-96cc-d8362d104925-grafik.png

      Warum da aber was mit "trim" steht weiß ich nicht.

      Trim bedeutet ja eig kürzen....

      Ich verwende den Javascript-Adapter in der Version 4.1.12

      D 1 Antwort Letzte Antwort
      1
      • K Kuddel

        @David16 das Problem ist wohl irgendwie der Schedule-Block.

        60ff1470-2744-4917-96cc-d8362d104925-grafik.png

        Warum da aber was mit "trim" steht weiß ich nicht.

        Trim bedeutet ja eig kürzen....

        Ich verwende den Javascript-Adapter in der Version 4.1.12

        D Offline
        D Offline
        David16
        schrieb am zuletzt editiert von
        #666

        @Kuddel
        OK danke, ich schaue Mal welche Version ich verwende.

        1 Antwort Letzte Antwort
        0
        • D Offline
          D Offline
          David16
          schrieb am zuletzt editiert von
          #667

          @Kuddel

          Also meine Version ist 4.1.16.

          Ansonsten passen die Versionen soweit auch:
          b1d2b5b0-c9ad-4e5a-b5cd-e13ff3a6e2e9-image.png

          Ich habe gestern Abend aber mal den iobroker komplett neu gestartet. Die Adapter leuchtet jetzt "grün". In den Logs sind auch keine Fehlermeldung mehr zu erkennen. - Keine Ahnung an was es gelegen haben soll.

          In der VIS ist die Rollo-Steuerung und Astro-Steuerung auch wieder da und die Rollos sind auch um 19:45 heruntergefahren:

          895ab94f-66a9-425b-8d0c-cb09477a31f6-image.png

          Ich beobachte das mal die nächsten Tage intensiv und berichte dann. - Dir vielen Dank für drüber schauen!:+1:

          D 2 Antworten Letzte Antwort
          0
          • K Kuddel

            Nachdem ich mit der ersten Version meiner VIS nicht mehr zufreiden war, hab ich mich daran gemacht, alles einmal komplett neu zu machem.

            Die Seiten sind alle fpr mein Galaxy Tab A erstellt worden.

            Vielen Dank an @Annuit20 , der ebenfalls seine komplette VIS zur Verfügung gestellt hat. An dieser konnte ich mich orientieren und mir einige Ideen abgucken.

            Ich denke so richtig fertig ist man ja nie, aber ein Bisschen habe ich schon geschafft….

            1_Startseite.PNG

            2_Erdgeschoss_Seite_1.PNG

            2_Erdgeschoss_Seite_1.1.PNG

            2_Erdgeschoss_Seite_1.2.PNG

            2_Erdgeschoss_Seite_2.PNG

            3_Obergeschoss.PNG

            4_Wetter.PNG

            4_Wetter_regenradar.PNG

            5_System.PNG

            5_System_1_ioBroker.PNG

            5_System_2_ioBroker.PNG

            5_System_3_CCU.PNG

            5_System_4_Bewaesserung.PNG

            5_System_5_VU.PNG

            5_System_6_ESX-NUC.PNG

            5_System_7_NUT-Server.PNG

            5_System_8_USV.PNG

            5_System_9_Daniel.PNG

            5_System_10_Win10.PNG

            5_System_11_Unifi.PNG

            5_System_12_OMV.PNG

            5_System_13_WinNAS.PNG

            6_Logs.PNG

            7_ioBroker.PNG

            8_CCU.PNG

            9_Netzwerk.PNG

            10_Staubsauger.PNG

            11_Spritpreise.PNG

            12_1_Echo_Geräte.PNG

            12_2_Echo_Gruppen.PNG

            12_VMware.PNG

            13_TV.PNG

            14_Kodi+.PNG

            Damit alles korrekt dargestellt wird, müssen folgende Widgets installiert sein:
            widgtes.PNG

            Für die Icons wird des Weiteren der Adapter "icons-mfd-png" benötigt.

            Skripte

            Alle Objekte, mit denen ich in meinen Skripten arbeite, können mit einem Javascript erstellt werden:
            objekte.txt

            Hier sind alle meine Skirpte als komplett Export aus der Scriptengine

            2020-03-17-scripts.zip

            Danke an @Kaiman55 für den Test-Import.

            Anleitung Skript Import:

            1. Download der Datei "2020-03-17-scripts.zip"
            2. Eigene Skripte in Zip Datei exportieren
            3. Beide Archive entpacken und dann die Skripte / Gruppen in einem gemeinsamen Archiv zusamfenühren
            4. Import des neu erstellten Archis

            VIS-Export 06.11.19:

            2019-11-06-VIS.zip

            Hier meine Icons
            Meine_Icons.zip

            Workaround für das Hochladen der kompletten VIS

            1. Meine_Icons.zip entpacken
            2. 2019-11-06-VIS.zip entpacken
            3. Die beiden VIS-Datein und die den Icons Ordner zu einem neuen Zip Archiv zusammefügen
            4. Das neue Zip archiv importieren
            S Offline
            S Offline
            Sven_hh
            schrieb am zuletzt editiert von
            #668

            @Kuddel

            Hallo an alle, Hallo Kuddel,

            erstmal meinen größten Respekt für deine Visualisierung. Ich finde das ist schon eine der Besten VIS die ich bisher gesehen habe. Ich hab mir die VIS auch mal importiert. Aber ehrlich gesagt erschlägt es mich als Anfänger mit den ganzen Seiten und Skripten ( von den ich keine Ahnung habe ). Ich würde mich ja schon über deine Startseite freuen die ich dann mit meinen Daten füttern kann und das dann läuft. Ist so etwas möglich nur deine Startseite zu Importieren?

            Noch mal eine kleine frage am Rande an alle hier im Forum. Vom Homematic Forum kenne ich die Funktion eine PM an jemanden zu senden. Gibt es diese Funktion hier auch?

            Ich hoffe ich habe mit diesem Text jetzt keine Regel gebrochen. Falls ja seht es mir bitte nach :-)

            VG aus dem Sonnigen HH. Sven

            VG Sven :idea:

            K 1 Antwort Letzte Antwort
            0
            • NegaleinN Offline
              NegaleinN Offline
              Negalein
              Global Moderator
              schrieb am zuletzt editiert von Negalein
              #669

              @Kuddel

              Servus

              Ich hab gerade ein komisches Phänomen!

              Deine Scripte hab ich mit meinen zusammengeführt und wieder importiert.
              Hat gleich funktioniert.

              Aber jetzt hab ich 2 Scripte von meinen, die nicht mehr funktionieren.

              var timeout;
               
              on(
                  {id: "vis.0.control.data", change: "ne"} ,
                      function (obj){
                         // Nach 5 Minuten, zeige wieder index View
                  (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                  timeout = setTimeout(function () {
                    setState("vis.0.control.command", '{"instance": "353.6043", "command": "changeView", "data": "001_Home"}');
                  }, 300000);
                  
               
              });
              
              /*******************************************************************************
               * ---------------------------
               * Pin-Schutz für VIS-View
               * ---------------------------
               * Autor: Mic
               * Change Log
               *  - 0.2 - Fix: 0 on keypad was not recognized
               *  - 0.1 - initial version
               * Support: https://forum.iobroker.net/viewtopic.php?f=30&t=19871
               ******************************************************************************/
              
              /*******************************************************************************
               * Konfiguration
               ******************************************************************************/
              const STATE_PATH = 'javascript.' + instance + '.' + 'visViewPinSperre.';
              
              const LOGGING = true;         // Detaillierte Ausgabe im Log. Falls keine Probleme, dann auf false setzen.
              
              
              /*******************************************************************************
               * Konfiguration: Views
               ******************************************************************************/
              // Es können beliebig mehr Views hinzugefügt oder auf eine limitiert werden, bitte aber Aufbau beibehalten!
              const PIN_VIEWS = [
                {
                  name:       '041_Energie',        // Name der View, zu der bei Erfolg gewechselt werden soll
                  project:    'main',            // VIS-Projekt, in dem die View ist, für den Viewwechsel bei Erfolg. Wert bekommt man u.a.: Vis -> Menü: Setup > Projekte (den Namen des jeweilgen Projektes nehmen)
                  instance:   '353.6043',      // Funktioniert bei mir (und einigen anderen) immer mit 'FFFFFFFF', ansonsten Wert vom Vis, Menü Tools, Feld "Instanz ID" nehmen
                  pin:        '2901',          // Pin          
                },
              ];
              
              
              /**********************************************************************************************************
               ++++++++++++++++++++++++++++ Ab hier nichts mehr ändern / Stop editing here! ++++++++++++++++++++++++++++
               *********************************************************************************************************/
              
              
              /*******************************************************************************
               * Globale Variablen
               *******************************************************************************/
              // Array, pro View ein Element
              var G_LastKeyPressed = [];      // Letzte Taste, die gedrückt wurde
              var G_PinBufferKeys = [];       // Puffer für eingegebene Ziffern
              var G_PinBufferWildcards = [];  // Für Vis-Anzeigefeld der Pineingabe, füllt sich mit "*" nach jeder Zifferneingabe
              
              /*******************************************************************************
               * Executed on every script start.
               *******************************************************************************/
              init();
              function init() {
               
                  // Create states
                  createScriptStates();
              
                  // 1. Initialize global variables
                  // 2. Reset for each view
                  setTimeout(function(){
                      for (let i = 0; i < PIN_VIEWS.length; i++) {
                          // Initialize global variables
                          G_LastKeyPressed[PIN_VIEWS[i].name] = '';
                          G_PinBufferKeys[PIN_VIEWS[i].name] = '';
                          G_PinBufferWildcards[PIN_VIEWS[i].name] = '';        
                          // Reset für jede View durchführen
                          resetPin(PIN_VIEWS[i].name)
                      }
                  }, 3000);
              
                  // Main Script starten, 5 Sekunden nach State-Generierung
                  setTimeout(main, 5000);
              
              }
              
              /*******************************************************************************
               * Haupt-Skript
               *******************************************************************************/
              function main() {
              
                  // Überwacht das Tastenfeld in VIS für jede View
                  for (var i = 0; i < PIN_VIEWS.length; i++) {
                      on({id: STATE_PATH + PIN_VIEWS[i].name + '.CurrentKey', change: "any"}, function (obj) {
                          var currView = obj.id.substr(STATE_PATH.length).split(".")[0]; // get View Name simply from obj.id
                          if(LOGGING) if(obj.state.val !== '') log('Eingabe über Tastenfeld: ' + obj.state.val + ', Viewname: ' + currView);
                          switch(obj.state.val) {
                              case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:
                                  G_LastKeyPressed[currView] = obj.state.val;
                                  userEnteredNumber(currView);
                                  break;
                              case 'Enter':   // Der User hat die Pin-Eingabe bestätigt.
                                  checkEnteredPin(currView);
                                  break;
                              case 'Reset':
                                  resetPin(currView);
                                  break;
                              default:
                                  //None
                          } 
                      });
                  }
              
              }
              
              
              /********************************
               * Create States
               ********************************/
              function createScriptStates() {
                  for (let i = 0; i < PIN_VIEWS.length; i++) {
                      createState(STATE_PATH + PIN_VIEWS[i].name + '.CurrentKey', {'name':'Mit Tasten aus VIS setzen', 'type':'string', 'read':true, 'write':false, 'role':'info', 'def':'' });
                      createState(STATE_PATH + PIN_VIEWS[i].name + '.WrongPinEntered', {'name':'Pin-Fehler', 'type':'boolean', 'read':true, 'write':false, 'role':'info'});
                      createState(STATE_PATH + PIN_VIEWS[i].name + '.PinWildcards', {'name':'Sterne (*) für VIS-Anzeige', 'type':'string', 'read':true, 'write':false, 'role':'info', 'def':'' });
                  }
              }
              
              
              /********************************
               * Wird ausgeführt, sobald der User eine Nummer im Tastenfeld eingibt.
               * @param {string}   viewName     Name der View
               *********************************/
              function userEnteredNumber(viewName) {
                  G_PinBufferKeys[viewName] = G_PinBufferKeys[viewName] + G_LastKeyPressed[viewName];
                  G_PinBufferWildcards[viewName] = G_PinBufferWildcards[viewName] + ' *';
                  setState(STATE_PATH + viewName + '.PinWildcards', G_PinBufferWildcards[viewName]);
              }
              
              /********************************
               * Wird ausgeführt, sobald der User E für "Enter" eingibt
               * @param {string}   viewName     Name der View
               ********************************/
              function checkEnteredPin(viewName) {
                  if (G_PinBufferKeys[viewName] == getPresetElement(viewName, 'pin')) {
                      if(LOGGING) log('Pin-Eingabe erfolgreich, View [' + viewName + ']');
                      onSuccess(viewName);
                      setTimeout(function() { resetPin(viewName) }, 3000);    // Reset nach 3 Sekunden
                  } else {
                      if(LOGGING) log('Falschen Pin eingegeben, View [' + viewName + ']');
                      setState(STATE_PATH + viewName + '.WrongPinEntered', true);
                      resetPin(viewName);
                  }
              }    
              
              /********************************
               * Reset
               * @param {string}   viewName     Name der View
               ********************************/
              function resetPin(viewName) {
                  if(LOGGING) log('Reset Pin, View-Name: [' + viewName + ']');
                  G_PinBufferWildcards[viewName] = '';
                  G_PinBufferKeys[viewName] = '';
                  setState(STATE_PATH + viewName + '.CurrentKey', '');
                  setState(STATE_PATH + viewName + '.PinWildcards', '');
                  setStateDelayed(STATE_PATH + viewName + '.WrongPinEntered', false, 3000); // Erst nach 3 Sekunden, für VIS-Anzeige
              }
              
              /********************************
               * Wird bei erfolgreicher Pin-Eingabe ausgeführt
               * @param {string}   viewName     Name der View
               ********************************/
              function onSuccess(viewName){
                  // Change View
                  setState("vis.0.control.instance", getPresetElement(viewName, 'instance'));
                  setState("vis.0.control.data",     getPresetElement(viewName, 'project') + '/' + viewName);
                  setState("vis.0.control.command",  'changeView');
              }
              
              
              /********************************
               * Gibt Elemente von PIN_VIEWS zurück
               * @param {string}   viewName     Name of the view
               * @param {string}   key          'project', 'instance', 'pin'
               * @return {string}  Content of the element, e.g. the Pin "1234" for element 'pin'
               ********************************/
              function getPresetElement(viewName, key) {
                  var keyEntry = '';
                  for (let i = 0; i < PIN_VIEWS.length; i++) {
                      if (PIN_VIEWS[i].name === viewName) {
                          keyEntry = PIN_VIEWS[i][key]
                      }
                  }
                  return keyEntry;
              }
              

              Hat es mir durch das importieren was durcheinander geschmissen?

              ° Node.js: 20.17.0 NPM: 10.8.2
              ° Proxmox, Ubuntu 22.04.3 LTS
              ° Fixer ---> iob fix

              K 1 Antwort Letzte Antwort
              0
              • S Sven_hh

                @Kuddel

                Hallo an alle, Hallo Kuddel,

                erstmal meinen größten Respekt für deine Visualisierung. Ich finde das ist schon eine der Besten VIS die ich bisher gesehen habe. Ich hab mir die VIS auch mal importiert. Aber ehrlich gesagt erschlägt es mich als Anfänger mit den ganzen Seiten und Skripten ( von den ich keine Ahnung habe ). Ich würde mich ja schon über deine Startseite freuen die ich dann mit meinen Daten füttern kann und das dann läuft. Ist so etwas möglich nur deine Startseite zu Importieren?

                Noch mal eine kleine frage am Rande an alle hier im Forum. Vom Homematic Forum kenne ich die Funktion eine PM an jemanden zu senden. Gibt es diese Funktion hier auch?

                Ich hoffe ich habe mit diesem Text jetzt keine Regel gebrochen. Falls ja seht es mir bitte nach :-)

                VG aus dem Sonnigen HH. Sven

                K Online
                K Online
                Kuddel
                schrieb am zuletzt editiert von
                #670

                @Sven_hh mit ein wenig Aufwand kann man nur die Startseite zur Verfügung stellen.

                Aber alleine die Startseite setzt sich auch aus 15 einzelnen Seiten zusammen.

                Da ist es dann deutlich einfacher das die ganze VIS zu importieren.

                1 Antwort Letzte Antwort
                0
                • NegaleinN Negalein

                  @Kuddel

                  Servus

                  Ich hab gerade ein komisches Phänomen!

                  Deine Scripte hab ich mit meinen zusammengeführt und wieder importiert.
                  Hat gleich funktioniert.

                  Aber jetzt hab ich 2 Scripte von meinen, die nicht mehr funktionieren.

                  var timeout;
                   
                  on(
                      {id: "vis.0.control.data", change: "ne"} ,
                          function (obj){
                             // Nach 5 Minuten, zeige wieder index View
                      (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                      timeout = setTimeout(function () {
                        setState("vis.0.control.command", '{"instance": "353.6043", "command": "changeView", "data": "001_Home"}');
                      }, 300000);
                      
                   
                  });
                  
                  /*******************************************************************************
                   * ---------------------------
                   * Pin-Schutz für VIS-View
                   * ---------------------------
                   * Autor: Mic
                   * Change Log
                   *  - 0.2 - Fix: 0 on keypad was not recognized
                   *  - 0.1 - initial version
                   * Support: https://forum.iobroker.net/viewtopic.php?f=30&t=19871
                   ******************************************************************************/
                  
                  /*******************************************************************************
                   * Konfiguration
                   ******************************************************************************/
                  const STATE_PATH = 'javascript.' + instance + '.' + 'visViewPinSperre.';
                  
                  const LOGGING = true;         // Detaillierte Ausgabe im Log. Falls keine Probleme, dann auf false setzen.
                  
                  
                  /*******************************************************************************
                   * Konfiguration: Views
                   ******************************************************************************/
                  // Es können beliebig mehr Views hinzugefügt oder auf eine limitiert werden, bitte aber Aufbau beibehalten!
                  const PIN_VIEWS = [
                    {
                      name:       '041_Energie',        // Name der View, zu der bei Erfolg gewechselt werden soll
                      project:    'main',            // VIS-Projekt, in dem die View ist, für den Viewwechsel bei Erfolg. Wert bekommt man u.a.: Vis -> Menü: Setup > Projekte (den Namen des jeweilgen Projektes nehmen)
                      instance:   '353.6043',      // Funktioniert bei mir (und einigen anderen) immer mit 'FFFFFFFF', ansonsten Wert vom Vis, Menü Tools, Feld "Instanz ID" nehmen
                      pin:        '2901',          // Pin          
                    },
                  ];
                  
                  
                  /**********************************************************************************************************
                   ++++++++++++++++++++++++++++ Ab hier nichts mehr ändern / Stop editing here! ++++++++++++++++++++++++++++
                   *********************************************************************************************************/
                  
                  
                  /*******************************************************************************
                   * Globale Variablen
                   *******************************************************************************/
                  // Array, pro View ein Element
                  var G_LastKeyPressed = [];      // Letzte Taste, die gedrückt wurde
                  var G_PinBufferKeys = [];       // Puffer für eingegebene Ziffern
                  var G_PinBufferWildcards = [];  // Für Vis-Anzeigefeld der Pineingabe, füllt sich mit "*" nach jeder Zifferneingabe
                  
                  /*******************************************************************************
                   * Executed on every script start.
                   *******************************************************************************/
                  init();
                  function init() {
                   
                      // Create states
                      createScriptStates();
                  
                      // 1. Initialize global variables
                      // 2. Reset for each view
                      setTimeout(function(){
                          for (let i = 0; i < PIN_VIEWS.length; i++) {
                              // Initialize global variables
                              G_LastKeyPressed[PIN_VIEWS[i].name] = '';
                              G_PinBufferKeys[PIN_VIEWS[i].name] = '';
                              G_PinBufferWildcards[PIN_VIEWS[i].name] = '';        
                              // Reset für jede View durchführen
                              resetPin(PIN_VIEWS[i].name)
                          }
                      }, 3000);
                  
                      // Main Script starten, 5 Sekunden nach State-Generierung
                      setTimeout(main, 5000);
                  
                  }
                  
                  /*******************************************************************************
                   * Haupt-Skript
                   *******************************************************************************/
                  function main() {
                  
                      // Überwacht das Tastenfeld in VIS für jede View
                      for (var i = 0; i < PIN_VIEWS.length; i++) {
                          on({id: STATE_PATH + PIN_VIEWS[i].name + '.CurrentKey', change: "any"}, function (obj) {
                              var currView = obj.id.substr(STATE_PATH.length).split(".")[0]; // get View Name simply from obj.id
                              if(LOGGING) if(obj.state.val !== '') log('Eingabe über Tastenfeld: ' + obj.state.val + ', Viewname: ' + currView);
                              switch(obj.state.val) {
                                  case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:
                                      G_LastKeyPressed[currView] = obj.state.val;
                                      userEnteredNumber(currView);
                                      break;
                                  case 'Enter':   // Der User hat die Pin-Eingabe bestätigt.
                                      checkEnteredPin(currView);
                                      break;
                                  case 'Reset':
                                      resetPin(currView);
                                      break;
                                  default:
                                      //None
                              } 
                          });
                      }
                  
                  }
                  
                  
                  /********************************
                   * Create States
                   ********************************/
                  function createScriptStates() {
                      for (let i = 0; i < PIN_VIEWS.length; i++) {
                          createState(STATE_PATH + PIN_VIEWS[i].name + '.CurrentKey', {'name':'Mit Tasten aus VIS setzen', 'type':'string', 'read':true, 'write':false, 'role':'info', 'def':'' });
                          createState(STATE_PATH + PIN_VIEWS[i].name + '.WrongPinEntered', {'name':'Pin-Fehler', 'type':'boolean', 'read':true, 'write':false, 'role':'info'});
                          createState(STATE_PATH + PIN_VIEWS[i].name + '.PinWildcards', {'name':'Sterne (*) für VIS-Anzeige', 'type':'string', 'read':true, 'write':false, 'role':'info', 'def':'' });
                      }
                  }
                  
                  
                  /********************************
                   * Wird ausgeführt, sobald der User eine Nummer im Tastenfeld eingibt.
                   * @param {string}   viewName     Name der View
                   *********************************/
                  function userEnteredNumber(viewName) {
                      G_PinBufferKeys[viewName] = G_PinBufferKeys[viewName] + G_LastKeyPressed[viewName];
                      G_PinBufferWildcards[viewName] = G_PinBufferWildcards[viewName] + ' *';
                      setState(STATE_PATH + viewName + '.PinWildcards', G_PinBufferWildcards[viewName]);
                  }
                  
                  /********************************
                   * Wird ausgeführt, sobald der User E für "Enter" eingibt
                   * @param {string}   viewName     Name der View
                   ********************************/
                  function checkEnteredPin(viewName) {
                      if (G_PinBufferKeys[viewName] == getPresetElement(viewName, 'pin')) {
                          if(LOGGING) log('Pin-Eingabe erfolgreich, View [' + viewName + ']');
                          onSuccess(viewName);
                          setTimeout(function() { resetPin(viewName) }, 3000);    // Reset nach 3 Sekunden
                      } else {
                          if(LOGGING) log('Falschen Pin eingegeben, View [' + viewName + ']');
                          setState(STATE_PATH + viewName + '.WrongPinEntered', true);
                          resetPin(viewName);
                      }
                  }    
                  
                  /********************************
                   * Reset
                   * @param {string}   viewName     Name der View
                   ********************************/
                  function resetPin(viewName) {
                      if(LOGGING) log('Reset Pin, View-Name: [' + viewName + ']');
                      G_PinBufferWildcards[viewName] = '';
                      G_PinBufferKeys[viewName] = '';
                      setState(STATE_PATH + viewName + '.CurrentKey', '');
                      setState(STATE_PATH + viewName + '.PinWildcards', '');
                      setStateDelayed(STATE_PATH + viewName + '.WrongPinEntered', false, 3000); // Erst nach 3 Sekunden, für VIS-Anzeige
                  }
                  
                  /********************************
                   * Wird bei erfolgreicher Pin-Eingabe ausgeführt
                   * @param {string}   viewName     Name der View
                   ********************************/
                  function onSuccess(viewName){
                      // Change View
                      setState("vis.0.control.instance", getPresetElement(viewName, 'instance'));
                      setState("vis.0.control.data",     getPresetElement(viewName, 'project') + '/' + viewName);
                      setState("vis.0.control.command",  'changeView');
                  }
                  
                  
                  /********************************
                   * Gibt Elemente von PIN_VIEWS zurück
                   * @param {string}   viewName     Name of the view
                   * @param {string}   key          'project', 'instance', 'pin'
                   * @return {string}  Content of the element, e.g. the Pin "1234" for element 'pin'
                   ********************************/
                  function getPresetElement(viewName, key) {
                      var keyEntry = '';
                      for (let i = 0; i < PIN_VIEWS.length; i++) {
                          if (PIN_VIEWS[i].name === viewName) {
                              keyEntry = PIN_VIEWS[i][key]
                          }
                      }
                      return keyEntry;
                  }
                  

                  Hat es mir durch das importieren was durcheinander geschmissen?

                  K Online
                  K Online
                  Kuddel
                  schrieb am zuletzt editiert von
                  #671

                  @Negalein die Vermtutung liegt nahe, dass dabei irgendetwas durchgewürfelt wurde

                  NegaleinN 1 Antwort Letzte Antwort
                  0
                  • K Kuddel

                    @Negalein die Vermtutung liegt nahe, dass dabei irgendetwas durchgewürfelt wurde

                    NegaleinN Offline
                    NegaleinN Offline
                    Negalein
                    Global Moderator
                    schrieb am zuletzt editiert von
                    #672

                    @Kuddel sagte in [Vorstellung] Meine zweite Visualisierung:

                    @Negalein die Vermtutung liegt nahe, dass dabei irgendetwas durchgewürfelt wurde

                    dann mach ich besser einen eigenen Thread zu dem Problem auf.

                    Laut Log vom PIN-Script erkennt er den PIN nicht.

                    ° Node.js: 20.17.0 NPM: 10.8.2
                    ° Proxmox, Ubuntu 22.04.3 LTS
                    ° Fixer ---> iob fix

                    K 1 Antwort Letzte Antwort
                    0
                    • NegaleinN Negalein

                      @Kuddel sagte in [Vorstellung] Meine zweite Visualisierung:

                      @Negalein die Vermtutung liegt nahe, dass dabei irgendetwas durchgewürfelt wurde

                      dann mach ich besser einen eigenen Thread zu dem Problem auf.

                      Laut Log vom PIN-Script erkennt er den PIN nicht.

                      K Online
                      K Online
                      Kuddel
                      schrieb am zuletzt editiert von
                      #673

                      @Negalein ja ist besser.

                      Vllt. hat sich im Skript iwo ein Fehler eingeschlichen oder so...

                      1 Antwort Letzte Antwort
                      0
                      • P Offline
                        P Offline
                        Paan83
                        schrieb am zuletzt editiert von
                        #674

                        Deine VIS ist echt super geworden. Ich hätte nur eine Frage, wie hast du diese Striche unter dem Text hinbekommen?
                        strich.JPG
                        Danke dir im voraus

                        sigi234S 1 Antwort Letzte Antwort
                        0
                        • A Offline
                          A Offline
                          Annuit20
                          schrieb am zuletzt editiert von
                          #675

                          Seit langer Zeit noch mal ins Forum geschaut und direkt im ersten Post den ich lese ein Dankeschön. Das ist richtig toll!

                          Bitte und viel Spaß. Diesen Winter wird nochmal gebastelt und ich komme hoffentlich dazu mal eine mobile Version zu erstellen.

                          Gruß

                          1 Antwort Letzte Antwort
                          0
                          • P Paan83

                            Deine VIS ist echt super geworden. Ich hätte nur eine Frage, wie hast du diese Striche unter dem Text hinbekommen?
                            strich.JPG
                            Danke dir im voraus

                            sigi234S Online
                            sigi234S Online
                            sigi234
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von sigi234
                            #676

                            @Paan83 sagte in [Vorstellung] Meine zweite Visualisierung:

                            Deine VIS ist echt super geworden. Ich hätte nur eine Frage, wie hast du diese Striche unter dem Text hinbekommen?
                            strich.JPG
                            Danke dir im voraus

                            Widget:

                            [{"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.0/Wetter_Sigi/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.0/Wetter_Sigi/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.0/Wetter_Sigi/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 Mondstatus","filterkey":"Linie"},"style":{"left":"1025px","top":"90px","width":"80px","height":"3px","background":"linear-gradient(to right, #282828 5px, white 200px )","z-index":"3"},"widgetSet":"basic"},{"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.0/Wetter_Sigi/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.0/Wetter_Sigi/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.0/Wetter_Sigi/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 Mondstatus","filterkey":"Linie"},"style":{"left":"1105px","top":"90px","width":"80px","height":"3px","background":"linear-gradient(to left, #282828 5px, white 200px )","z-index":"3"},"widgetSet":"basic"}]
                            

                            Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                            Immer Daten sichern!

                            P 1 Antwort Letzte Antwort
                            1
                            • sigi234S sigi234

                              @Paan83 sagte in [Vorstellung] Meine zweite Visualisierung:

                              Deine VIS ist echt super geworden. Ich hätte nur eine Frage, wie hast du diese Striche unter dem Text hinbekommen?
                              strich.JPG
                              Danke dir im voraus

                              Widget:

                              [{"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.0/Wetter_Sigi/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.0/Wetter_Sigi/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.0/Wetter_Sigi/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 Mondstatus","filterkey":"Linie"},"style":{"left":"1025px","top":"90px","width":"80px","height":"3px","background":"linear-gradient(to right, #282828 5px, white 200px )","z-index":"3"},"widgetSet":"basic"},{"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.0/Wetter_Sigi/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.0/Wetter_Sigi/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.0/Wetter_Sigi/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 Mondstatus","filterkey":"Linie"},"style":{"left":"1105px","top":"90px","width":"80px","height":"3px","background":"linear-gradient(to left, #282828 5px, white 200px )","z-index":"3"},"widgetSet":"basic"}]
                              
                              P Offline
                              P Offline
                              Paan83
                              schrieb am zuletzt editiert von
                              #677

                              @sigi234 Hey, danke für deine schnelle Antwort, ich habe das Widget importiert, bei mir sieht es aber folgendermaßen aus:
                              strich.JPG
                              Fehlt mir veilleicht noch ein Adapter?

                              A 1 Antwort Letzte Antwort
                              0
                              • P Paan83

                                @sigi234 Hey, danke für deine schnelle Antwort, ich habe das Widget importiert, bei mir sieht es aber folgendermaßen aus:
                                strich.JPG
                                Fehlt mir veilleicht noch ein Adapter?

                                A Offline
                                A Offline
                                Annuit20
                                schrieb am zuletzt editiert von
                                #678

                                @Paan83 sagte in [Vorstellung] Meine zweite Visualisierung:

                                @sigi234 Hey, danke für deine schnelle Antwort, ich habe das Widget importiert, bei mir sieht es aber folgendermaßen aus:
                                strich.JPG
                                Fehlt mir veilleicht noch ein Adapter?

                                Versucht mal diese:

                                [{"tpl":"tplHtml","data":{"g_fixed":true,"g_visibility":true,"g_css_font_text":true,"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":"Line-1"},"style":{"left":"407px","top":"371px","background":"linear-gradient(to right, #212121 20px, White 200px )","height":"2px","width":"125px","z-index":"30"},"widgetSet":"basic"}]
                                
                                [{"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,"html":"","name":"Linie-2"},"style":{"left":"259px","top":"340px","background":"linear-gradient(to left, #212121 20px, White 200px )","height":"2px","width":"125px","z-index":"30"},"widgetSet":"basic"}]
                                

                                P 1 Antwort Letzte Antwort
                                0
                                • A Annuit20

                                  @Paan83 sagte in [Vorstellung] Meine zweite Visualisierung:

                                  @sigi234 Hey, danke für deine schnelle Antwort, ich habe das Widget importiert, bei mir sieht es aber folgendermaßen aus:
                                  strich.JPG
                                  Fehlt mir veilleicht noch ein Adapter?

                                  Versucht mal diese:

                                  [{"tpl":"tplHtml","data":{"g_fixed":true,"g_visibility":true,"g_css_font_text":true,"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":"Line-1"},"style":{"left":"407px","top":"371px","background":"linear-gradient(to right, #212121 20px, White 200px )","height":"2px","width":"125px","z-index":"30"},"widgetSet":"basic"}]
                                  
                                  [{"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,"html":"","name":"Linie-2"},"style":{"left":"259px","top":"340px","background":"linear-gradient(to left, #212121 20px, White 200px )","height":"2px","width":"125px","z-index":"30"},"widgetSet":"basic"}]
                                  

                                  P Offline
                                  P Offline
                                  Paan83
                                  schrieb am zuletzt editiert von
                                  #679

                                  @Annuit20 Leider genau das selbe Ergebnis.
                                  Das sind ja einfache Basic html Widgets. Mit welchen Einstellungen kann man die bearbeiten, dass sie so spitz nach aussen zulaufen?
                                  Sorry für die fragerei, aber ich bin noch in der Lernphase...
                                  Danke euch

                                  K 1 Antwort Letzte Antwort
                                  0
                                  • P Paan83

                                    @Annuit20 Leider genau das selbe Ergebnis.
                                    Das sind ja einfache Basic html Widgets. Mit welchen Einstellungen kann man die bearbeiten, dass sie so spitz nach aussen zulaufen?
                                    Sorry für die fragerei, aber ich bin noch in der Lernphase...
                                    Danke euch

                                    K Online
                                    K Online
                                    Kuddel
                                    schrieb am zuletzt editiert von
                                    #680

                                    @Paan83 auf Seite 1 stehen alle benötigten Adapter:

                                    Damit alles korrekt dargestellt wird, müssen folgende Widgets installiert sein:
                                    408591b8-7148-4efd-8e50-c6c93f1caa07-grafik.png

                                    1 Antwort Letzte Antwort
                                    0
                                    • P Offline
                                      P Offline
                                      Paan83
                                      schrieb am zuletzt editiert von
                                      #681

                                      Mir haben noch zwei Adapter gefehlt, ich habe diese installiert und erneut versucht das Widget zu importieren, aber leider immer noch das gleiche Ergebnis

                                      RöstkartoffelR 1 Antwort Letzte Antwort
                                      0
                                      • P Paan83

                                        Mir haben noch zwei Adapter gefehlt, ich habe diese installiert und erneut versucht das Widget zu importieren, aber leider immer noch das gleiche Ergebnis

                                        RöstkartoffelR Offline
                                        RöstkartoffelR Offline
                                        Röstkartoffel
                                        schrieb am zuletzt editiert von
                                        #682

                                        @Paan83
                                        Kannst du uns bitte mal einen größeren Ausschnitt mit dem beiden Widgets zeigen?
                                        Diese sind nämlich auch vom Hintergrund abhängig, um spitz nach aus auszusehen.

                                        NUC7i3BNH mit Proxmox und ioBroker (VM Debian Buster), Raspi3 (Slave Smartmeter für eHZ easymeter), Hardware CCU2, SMA SB5000TL-21

                                        P 1 Antwort Letzte Antwort
                                        0
                                        • RöstkartoffelR Röstkartoffel

                                          @Paan83
                                          Kannst du uns bitte mal einen größeren Ausschnitt mit dem beiden Widgets zeigen?
                                          Diese sind nämlich auch vom Hintergrund abhängig, um spitz nach aus auszusehen.

                                          P Offline
                                          P Offline
                                          Paan83
                                          schrieb am zuletzt editiert von
                                          #683

                                          @Röstkartoffel aber klar, ich habe einfach mal den Hintergrund Schwarz, Grau und Weiss gemacht!!
                                          Test1.JPG
                                          test2.JPG
                                          test3.JPG
                                          (Dies ist mein Testview, bitte nicht wundern wegen der Unordnung :grimacing: )

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          255

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe