Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)

    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

    Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      blackeagle998 @dslraser last edited by

      @dslraser
      Ja, die Kopie brauche ich bitte, sonst komme ich nur durcheinander und dann funktioniert am Ende nichts 🙂

      dslraser 1 Reply Last reply Reply Quote 0
      • da_Woody
        da_Woody @dslraser last edited by

        @dslraser jau, sieht echt geil aus! in welcher px grösse hast du deine icons gespeichert?

        1 Reply Last reply Reply Quote 0
        • dslraser
          dslraser Forum Testing Most Active @blackeagle998 last edited by dslraser

          @blackeagle998 sagte in Test Adapter iQontrol 1.4.x:

          Ja, die Kopie brauche ich bitte, sonst komme ich nur durcheinander und dann funktioniert am Ende nichts

          ich nutze aktuell dieses Script

          
          const DP_Uhr_digital 				= '0_userdata.0.Uhr.Digital_Uhr_HTML_Uhrzeit_und_Datum_V7_neu';
          const DP_Wetter_Vorschau 			= '0_userdata.0.Uhr.Wetter_Vorschau';
          const DP_Wetter_Vorschau_Trigger	= '0_userdata.0.Uhr.Wetter_Vorschau_Trigger';
          
          fctInit();
          
          on({id:DP_Wetter_Vorschau_Trigger, val:true} , function (dp) {
            if (getState(DP_Wetter_Vorschau).val){
                setState(DP_Wetter_Vorschau, false);
            }else{
                setState(DP_Wetter_Vorschau, true);
            }
          });
          
          function fctInit(){
          if(!existsState(DP_Uhr_digital)) {
              createState(DP_Uhr_digital,
                  {type: 'string', name: 'iQontrol Uhr', role: 'value', read: true , write: true}
              );
          }
          if(!existsState(DP_Wetter_Vorschau_Trigger)) {
              createState(DP_Wetter_Vorschau_Trigger,
                  {type: 'boolean', name: 'Wetter Vorschau Trigger', role: 'button', read: false , write: true}
              );
          }
          if(!existsState(DP_Wetter_Vorschau)) {
              createState(DP_Wetter_Vorschau,
                  {type: 'boolean', name: 'Wetter Vorschau', role: 'switch', read: true , write: true, def: false}
              );
          }
          setStateDelayed(DP_Uhr_digital, fctUhrzeitDatumWetter_V7(), 1000);
          schedule("*/10 * * * * *", function () {
              setState(DP_Uhr_digital, fctUhrzeitDatumWetter_V7());
          })
          }
          
          function fctUhrzeitDatumWetter_V7() {
          let str_Uhrzeit         = String(formatDate(new Date(), "hh:mm"));
          let str_Datum           = String(formatDate(new Date(), "DD.MM.YYYY"));
          let str_Wochentag       = String(formatDate(new Date(), "WW", "de"));
          
          let str_color_body      = '#005c78';
          let str_color_cell      = '#47575c';
          let str_color_font      = 'Silver';
          
          let str_position_font   = 'left'
          let str_Tageszeit       = 'Tag';
          let str_html            = '';
          let str_html_head       = '';
          let image_Wetter_Pfad   = './../iqontrol.meta/userimages/usericons/wetter/';
          
          // ##########################################################################
          // CSS Style (Formatierung der HTML Elemente)
          // ##########################################################################
          str_html_head = str_html_head + '<head><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">';
          str_html_head = str_html_head + '<style>';
          str_html_head = str_html_head + 'body {';
          str_html_head = str_html_head + 'background-color:' + str_color_body + ';';
          str_html_head = str_html_head + '}';
          
          str_html_head = str_html_head + 'span {';
          //Rahmen: abgerundete Ecken (5px), Strichstärke (0px = aus) und Farbe
          //str_html_head = str_html_head + 'border-radius:5px;border-collapse:separate;border:1px solid gainsboro;border-color:White;';
          //Textausrichtung
          str_html_head = str_html_head + 'text-align:' + str_position_font + ';';
          //Schriftfarbe
          str_html_head = str_html_head + 'color:' + str_color_font + ';';
          //Wer keine Hintergrundfarbe für die Boxen will, kommentiert die nachfolgende Zeile aus oder löscht sie.
          //str_html_head = str_html_head + 'background-color:' + str_color_cell + ';';
          str_html_head = str_html_head + '}';
          
          str_html_head = str_html_head + 'td {';
          str_html_head = str_html_head + 'border-width:1px;';
          str_html_head = str_html_head + 'border-style:solid;';
          str_html_head = str_html_head + 'border-color:black;';
          str_html_head = str_html_head + '}';
          
          str_html_head = str_html_head + '.container_column {';
          str_html_head = str_html_head + 'display:flex;';
          //Elemente werden untereinander dargestellt
          str_html_head = str_html_head + 'flex-direction: column;';
          str_html_head = str_html_head + 'justify-content: flex-start;';
          //Rahmen: abgerundete Ecken (5px), Strichstärke (0px = aus) und Farbe
          //str_html_head = str_html_head + 'border-radius:5px;border-collapse:separate;border:2px solid gainsboro;border-color:yellow;';
          str_html_head = str_html_head + '}';
          
          str_html_head = str_html_head + '.container_row {';
          str_html_head = str_html_head + 'display: flex;';
          //Elemente werden untereinander dargestellt
          str_html_head = str_html_head + 'flex-direction: row;';
          str_html_head = str_html_head + 'justify-content: space-between;';
          //Rahmen: abgerundete Ecken (5px), Strichstärke (0px = aus) und Farbe
          //str_html_head = str_html_head + 'border-radius:5px;border-collapse:separate;border:2px solid gainsboro;border-color:yellow;';
          str_html_head = str_html_head + '}';
          
          str_html_head = str_html_head + 'input {';
          str_html_head = str_html_head + 'height:10vw;';
          str_html_head = str_html_head + 'width:10vw;';
          str_html_head = str_html_head + '}';
          
          str_html_head = str_html_head + '.img_wetter {';
          str_html_head = str_html_head + 'height:15vw;';
          str_html_head = str_html_head + 'width:15vw;';
          str_html_head = str_html_head + '}';
          
          //Hier habt ihr die Möglichkeit, CSS Eigenschaften für jede Box einzeln einzutragen.
          //Bspw. könnt ihr hier eine separate Hintergrundfarbe einstellen.
          //Außerdem steuert ihr hier die Schriftgrößen der einzelnen Boxen
          str_html_head = str_html_head + '.box_uhr {font-size:14vmax;}';
          str_html_head = str_html_head + '.box_datum {font-size:4vmax;text-align:center;}';
          str_html_head = str_html_head + '.box_wetter {font-size:4vmax;margin-right:1.5vw;text-align:center;}';
          
          str_html_head = str_html_head + '.table_Wettervorschau {';
          str_html_head = str_html_head + 'margin-top:3vw;';
          str_html_head = str_html_head + 'border-collapse: collapse;';
          str_html_head = str_html_head + 'font-size:3vmax;';
          str_html_head = str_html_head + 'color:' + str_color_font + ';';
          str_html_head = str_html_head + '}';
          str_html_head = str_html_head + '</style>';
          str_html_head = str_html_head + '<script type="text/javascript">';
          str_html_head = str_html_head + 'function setState(stateId, value){';
          str_html_head = str_html_head + 'sendPostMessage("setState", stateId, value);';
          str_html_head = str_html_head + '}';
          str_html_head = str_html_head + 'function sendPostMessage(command, stateId, value){';
          str_html_head = str_html_head + 'message = { command: command, stateId: stateId, value: value};';
          str_html_head = str_html_head + 'window.parent.postMessage(message, "*");';
          str_html_head = str_html_head + '}';
          str_html_head = str_html_head + '</script>';
          str_html_head = str_html_head + '</head>';
          
          // ##########################################################################
          // Prüfen ob Tag oder Nacht um Sonne oder Mond Icons anzuzeigen
          // ##########################################################################
          //Wenn ihr den nachfolgenden Datenpunkt 'javascript.0.Astro.Tageszeit.current' auch habt, könnt ihr das einkommentieren --> /* und */ löschen
          //--> dafür gibt es ein ASTRO Skript hier im Forum
          /*
          switch (getState('javascript.0.Astro.Tageszeit.current').val){
              case "Sonnenuntergang":
              case "Abenddämmerung":
              case "Nacht":
              case "Morgendämmerung":
                  str_Tageszeit = 'Nacht';
                  break;
              default:
                  break;
          }
          */
          
          // ##########################################################################
          // Ab hier werden die verschiedenen HTML Flex Container zusammengebaut
          // ##########################################################################
          //Box 1 = Uhrzeit und Wettersymbol
          str_html = str_html + str_html_head + '<div class="container_row">';
          str_html = str_html + '<span class="box_uhr"><b>' + str_Uhrzeit + ' Uhr</b></span>';
          if (str_Tageszeit == 'Tag'){
                str_html = str_html + '<input type="image" class="img_wetter" onclick="setState(\'' + DP_Wetter_Vorschau_Trigger + '\', true)" src="' + image_Wetter_Pfad + getState('daswetter.0.NextHours.Location_1.Day_1.current.symbol_value').val + '.png' + '" />';
          }else{
                str_html = str_html + '<input type="image" class="img_wetter" onclick="setState(\'' + DP_Wetter_Vorschau_Trigger + '\', true)" src="' + image_Wetter_Pfad + 'mond/' + getState('daswetter.0.NextHours.Location_1.Day_1.moon_symbol').val + '.png' + '" />';
          }
          str_html = str_html + '</div>';
          
          //Box 2 = Wochentag/Datum, Abfallentsorgung und aktuelle Wetterdaten
          str_html = str_html + '<div class="container_row">';
          str_html = str_html + '<div class="container_column">';
          str_html = str_html + '<span class="box_datum"><b><i>' + str_Wochentag + ', ' + str_Datum + '</i></b></span>';
          str_html = str_html + '</div>';
          str_html = str_html + '<div class="container_column">';
          str_html = str_html + '<span class="box_wetter"><b><i>' + Math.round(getState('hm-rpc.0.0010D8A98AD4AC.1.ACTUAL_TEMPERATURE'/*Temperatursensor aussen ACTUAL TEMPERATURE*/).val) + '°C</i></b></span>';
          if (str_Tageszeit == 'Tag'){
              str_html = str_html + '<span class="box_wetter"><i>' + getState('daswetter.0.NextHours.Location_1.Day_1.current.symbol_desc').val + '</i></span>';
          }else{
              str_html = str_html + '<span class="box_wetter"><i>' + str_Tageszeit + '</i></span>';
          }
          
          str_html = str_html + '</div>';
          str_html = str_html + '</div>';
          
          //Box 3 = Wettervorschau
          str_html = str_html + '<div class="container_column">';
          str_html = str_html + '<table class="table_Wettervorschau">';
          
          str_html = str_html + '<tr>';
          str_html = str_html + '<td>heute</td>';
          str_html = str_html + '<td><img src="' + image_Wetter_Pfad + getState('daswetter.0.NextHours.Location_1.Day_1.symbol_value').val + '.png' + '"/></td>';
          str_html = str_html + '<td nowrap>' + getState('daswetter.0.NextHours.Location_1.Day_1.tempmin_value').val + '°C bis ';
          str_html = str_html + getState('daswetter.0.NextHours.Location_1.Day_1.tempmax_value').val + '°C</td>';
          //str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_1.humidity_value').val + '%</td>';
          str_html = str_html + '<td align=left>' + getState('daswetter.0.NextHours.Location_1.Day_1.symbol_desc').val + '</td>';
          str_html = str_html + '</tr>';
          
          str_html = str_html + '<tr>';
          str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_2.day_name').val + '</td>';
          str_html = str_html + '<td><img src="' + image_Wetter_Pfad + getState('daswetter.0.NextHours.Location_1.Day_2.symbol_value').val + '.png' + '"/></td>';
          str_html = str_html + '<td nowrap>' + getState('daswetter.0.NextHours.Location_1.Day_2.tempmin_value').val + '°C bis ';
          str_html = str_html + getState('daswetter.0.NextHours.Location_1.Day_2.tempmax_value').val + '°C</td>';
          //str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_2.humidity_value').val + '%</td>';
          str_html = str_html + '<td align=left>' + getState('daswetter.0.NextHours.Location_1.Day_2.symbol_desc').val + '</td>';
          str_html = str_html + '</tr>';
          
          str_html = str_html + '<tr>';
          str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_3.day_name').val + '</td>';
          str_html = str_html + '<td><img src="' + image_Wetter_Pfad + getState('daswetter.0.NextHours.Location_1.Day_3.symbol_value').val + '.png' + '"/></td>';
          str_html = str_html + '<td nowrap>' + getState('daswetter.0.NextHours.Location_1.Day_3.tempmin_value').val + '°C bis ';
          str_html = str_html + getState('daswetter.0.NextHours.Location_1.Day_3.tempmax_value').val + '°C</td>';
          //str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_3.humidity_value').val + '%</td>';
          str_html = str_html + '<td align=left>' + getState('daswetter.0.NextHours.Location_1.Day_3.symbol_desc').val + '</td>';
          str_html = str_html + '</tr>';
          
          str_html = str_html + '<tr>';
          str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_4.day_name').val + '</td>';
          str_html = str_html + '<td><img src="' + image_Wetter_Pfad + getState('daswetter.0.NextHours.Location_1.Day_4.symbol_value').val + '.png' + '"/></td>';
          str_html = str_html + '<td nowrap>' + getState('daswetter.0.NextHours.Location_1.Day_4.tempmin_value').val + '°C bis ';
          str_html = str_html + getState('daswetter.0.NextHours.Location_1.Day_4.tempmax_value').val + '°C</td>';
          //str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_4.humidity_value').val + '%</td>';
          str_html = str_html + '<td align=left>' + getState('daswetter.0.NextHours.Location_1.Day_4.symbol_desc').val + '</td>';
          str_html = str_html + '</tr>';
          
          str_html = str_html + '<tr>';
          str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_5.day_name').val + '</td>';
          str_html = str_html + '<td><img src="' + image_Wetter_Pfad + getState('daswetter.0.NextHours.Location_1.Day_5.symbol_value').val + '.png' + '"/></td>';
          str_html = str_html + '<td nowrap>' + getState('daswetter.0.NextHours.Location_1.Day_5.tempmin_value').val + '°C bis ';
          str_html = str_html + getState('daswetter.0.NextHours.Location_1.Day_5.tempmax_value').val + '°C</td>';
          //str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_5.humidity_value').val + '%</td>';
          str_html = str_html + '<td align=left>' + getState('daswetter.0.NextHours.Location_1.Day_5.symbol_desc').val + '</td>';
          str_html = str_html + '</tr>';
          
          str_html = str_html + '</table>';
          str_html = str_html + '</div>';
          
          return str_html;
          }
          
          
          

          In meinen Listen nutze ich aktuell Die Überschrift auch in weiß und Border und inaktive Geräte ist die Schriftfarbe : silver. Der Hintergrund ist in #424242

          Beispiel Liste

          Screenshot_20201103-131357_Chrome.jpg

          B S 2 Replies Last reply Reply Quote 0
          • B
            blackeagle998 @dslraser last edited by blackeagle998

            @dslraser
            Ändere mal bitte diese drei Zeilen

            let str_color_body      = '#005c78';
            let str_color_cell      = '#47575c';
            let str_color_font      = 'Silver';
            

            in

            let str_color_body      = 'rgba(0, 92, 120, 0)';
            let str_color_cell      = 'rgba(71, 87, 92, 0)';
            let str_color_font      = 'rgba(255, 255, 255, 1)';
            

            Hinweis:
            rgba(255, 255, 255, 1) = weiß, silber wäre (192, 192, 192, 1)

            Die 0 bzw. 1 am Ende gibt die Deckkraft (opacity) an, 1 = 100%, bei 0 sollte der Hintergrund also unsichtbar sein.
            Außerdem kannst du bei der Tabellenformatierung der Wettervorschau noch die Schriftfarbe von "black" in "silver" ändern, das wäre dann in diesem Abschnitt:

            str_html_head = str_html_head + 'td {';
            str_html_head = str_html_head + 'border-width:1px;';
            str_html_head = str_html_head + 'border-style:solid;';
            str_html_head = str_html_head + 'border-color:black;';
            str_html_head = str_html_head + '}';
            

            Für weiß wäre das dann --> border-color:rgba(255, 255, 255, 1);
            Für Silber wäre das dann --> border-color:rgba(192, 192, 192, 1);

            Probier mal ob's klappt.

            dslraser 2 Replies Last reply Reply Quote 0
            • dslraser
              dslraser Forum Testing Most Active @blackeagle998 last edited by

              @blackeagle998
              so sieht es jetzt aus:

              Screenshot_20201103-143221_Chrome.jpg

              Screenshot_20201103-143239_Chrome.jpg

              1 Reply Last reply Reply Quote 0
              • S
                StephanJanine @dslraser last edited by

                @dslraser wie hast du die Bewegungsmelder aktiv und inaktiv geschaltet? also ich habe das mal über einen separaten Datenpunkt gemacht den ich dann immer nach einer Bewegung abfrage ob True/False aber das ist irgendwie umständlich

                dslraser 1 Reply Last reply Reply Quote 0
                • dslraser
                  dslraser Forum Testing Most Active @blackeagle998 last edited by

                  @blackeagle998
                  jetzt habe ich das so eingestellt. Sa lasse ich es jetzt mal.

                  Screenshot_20201103-143736_Chrome.jpg

                  Screenshot_20201103-143746_Chrome.jpg

                  B 1 Reply Last reply Reply Quote 0
                  • dslraser
                    dslraser Forum Testing Most Active @StephanJanine last edited by dslraser

                    @StephanJanine sagte in Test Adapter iQontrol 1.4.x:

                    wie hast du die Bewegungsmelder aktiv und inaktiv geschaltet?

                    Das macht ein Blockly. Dieses Blockly erstellt "dynamisch" html Listen, die sich auch in geöffneter Listenansicht live ändern.

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

                    1 Reply Last reply Reply Quote 0
                    • B
                      blackeagle998 @dslraser last edited by

                      @dslraser
                      Hmm warum der Kachelumriss angezeigt wird, kann ich nicht genau sagen.
                      Hast du bei der Kachel ein Hintergrundbild aktiv / inaktiv eingestellt? Wenn ja, nimm das mal bitte raus.

                      Wenn du den Scrollbalken rechts nicht haben willst, ergänzt du hinter der Zeile "str_html_head = str_html_head + 'body {';" folgende Zeile:

                      str_html_head = str_html_head + 'overflow:hidden;';
                      
                      dslraser 2 Replies Last reply Reply Quote 0
                      • dslraser
                        dslraser Forum Testing Most Active @blackeagle998 last edited by dslraser

                        @blackeagle998 sagte in Test Adapter iQontrol 1.4.x:

                        Wenn du den Scrollbalken rechts nicht haben willst, ergänzt du hinter der Zeile "str_html_head = str_html_head + 'body {';" folgende Zeile:
                        str_html_head = str_html_head + 'overflow:hidden;';

                        Die Zeile zerstört dann die Farbe und der Balken bleibt.

                        Screenshot_20201103-145559_Chrome.jpg

                        Ein Hintergundbild aktiv/inaktiv habe ich nicht, steht auf standard.

                        Edit: welche Zeilennummer meinst Du dafür ?

                        str_html_head = str_html_head + 'overflow:hidden;';
                        
                        

                        EDIT 2: der Scrollbalken ist weg, ich habe vorher an der falschen Stelle eingefügt.

                        B 1 Reply Last reply Reply Quote 0
                        • dslraser
                          dslraser Forum Testing Most Active @blackeagle998 last edited by dslraser

                          @blackeagle998
                          der kleine weiße Strich am unteren Rand in der Kachel ist schon die erste Linie der darunter liegenden Tabelle. Bekomme ich das auch noch wech ?

                          Screenshot_20201103-150350_Chrome.jpg

                          B 1 Reply Last reply Reply Quote 0
                          • B
                            blackeagle998 @dslraser last edited by

                            @dslraser

                            str_html_head = str_html_head + '.table_Wettervorschau {';
                            str_html_head = str_html_head + 'margin-top:3vw;';
                            

                            Anstatt 3vw kannst du 3.5vw oder 4vw probieren.
                            Das ist der Abstand der Tabelle Wettervorschau nach oben.

                            1 Reply Last reply Reply Quote 0
                            • B
                              blackeagle998 @dslraser last edited by

                              @dslraser
                              Kannst du mal bitte ein Screenshot der Geräteübersicht machen, wo sich diese Kachel befindet (nicht die Kachel Einstellungen)?

                              dslraser 1 Reply Last reply Reply Quote 0
                              • dslraser
                                dslraser Forum Testing Most Active @blackeagle998 last edited by dslraser

                                @blackeagle998 sagte in Test Adapter iQontrol 1.4.x:

                                @dslraser
                                Kannst du mal bitte ein Screenshot der Geräteübersicht machen, wo sich diese Kachel befindet (nicht die Kachel Einstellungen)?

                                meinst Du das ?
                                Bildschirmfoto 2020-11-03 um 15.12.35.png

                                Edit: den obersten Haken habe ich raus genommen, der war da quatsch, weil ich mal die Geräte verschoben hatte.

                                1 Reply Last reply Reply Quote 0
                                • dslraser
                                  dslraser Forum Testing Most Active last edited by dslraser

                                  @blackeagle998

                                  hier noch mal das aktuelle Script für diese Ansicht

                                  
                                  const DP_Uhr_digital 				= '0_userdata.0.Uhr.Digital_Uhr_HTML_Uhrzeit_und_Datum_V7_neu';
                                  const DP_Wetter_Vorschau 			= '0_userdata.0.Uhr.Wetter_Vorschau';
                                  const DP_Wetter_Vorschau_Trigger	= '0_userdata.0.Uhr.Wetter_Vorschau_Trigger';
                                  
                                  fctInit();
                                  
                                  on({id:DP_Wetter_Vorschau_Trigger, val:true} , function (dp) {
                                    if (getState(DP_Wetter_Vorschau).val){
                                        setState(DP_Wetter_Vorschau, false);
                                    }else{
                                        setState(DP_Wetter_Vorschau, true);
                                    }
                                  });
                                  
                                  function fctInit(){
                                  if(!existsState(DP_Uhr_digital)) {
                                      createState(DP_Uhr_digital,
                                          {type: 'string', name: 'iQontrol Uhr', role: 'value', read: true , write: true}
                                      );
                                  }
                                  if(!existsState(DP_Wetter_Vorschau_Trigger)) {
                                      createState(DP_Wetter_Vorschau_Trigger,
                                          {type: 'boolean', name: 'Wetter Vorschau Trigger', role: 'button', read: false , write: true}
                                      );
                                  }
                                  if(!existsState(DP_Wetter_Vorschau)) {
                                      createState(DP_Wetter_Vorschau,
                                          {type: 'boolean', name: 'Wetter Vorschau', role: 'switch', read: true , write: true, def: false}
                                      );
                                  }
                                  setStateDelayed(DP_Uhr_digital, fctUhrzeitDatumWetter_V7(), 1000);
                                  schedule("*/10 * * * * *", function () {
                                      setState(DP_Uhr_digital, fctUhrzeitDatumWetter_V7());
                                  })
                                  }
                                  
                                  function fctUhrzeitDatumWetter_V7() {
                                  let str_Uhrzeit         = String(formatDate(new Date(), "hh:mm"));
                                  let str_Datum           = String(formatDate(new Date(), "DD.MM.YYYY"));
                                  let str_Wochentag       = String(formatDate(new Date(), "WW", "de"));
                                  
                                  let str_color_body      = 'rgba(66, 66, 66, 1)';
                                  let str_color_cell      = 'rgba(71, 87, 92, 0)';
                                  let str_color_font      = 'rgba(255, 255, 255, 1)';
                                  
                                  
                                  let str_position_font   = 'left'
                                  let str_Tageszeit       = 'Tag';
                                  let str_html            = '';
                                  let str_html_head       = '';
                                  let image_Wetter_Pfad   = './../iqontrol.meta/userimages/usericons/wetter/';
                                  
                                  // ##########################################################################
                                  // CSS Style (Formatierung der HTML Elemente)
                                  // ##########################################################################
                                  str_html_head = str_html_head + '<head><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">';
                                  str_html_head = str_html_head + '<style>';
                                  str_html_head = str_html_head + 'body {';
                                  str_html_head = str_html_head + 'overflow:hidden;'; //Scrollbalken ausgeblendet
                                  str_html_head = str_html_head + 'background-color:' + str_color_body + ';';
                                  str_html_head = str_html_head + '}'; 
                                  
                                  
                                  
                                  str_html_head = str_html_head + 'span {';
                                  //Rahmen: abgerundete Ecken (5px), Strichstärke (0px = aus) und Farbe
                                  //str_html_head = str_html_head + 'border-radius:5px;border-collapse:separate;border:1px solid gainsboro;border-color:White;';
                                  //Textausrichtung
                                  str_html_head = str_html_head + 'text-align:' + str_position_font + ';';
                                  //Schriftfarbe
                                  str_html_head = str_html_head + 'color:' + str_color_font + ';';
                                  //Wer keine Hintergrundfarbe für die Boxen will, kommentiert die nachfolgende Zeile aus oder löscht sie.
                                  //str_html_head = str_html_head + 'background-color:' + str_color_cell + ';';
                                  str_html_head = str_html_head + '}';
                                  
                                  str_html_head = str_html_head + 'td {';
                                  str_html_head = str_html_head + 'border-width:1px;';
                                  str_html_head = str_html_head + 'border-style:solid;';
                                  str_html_head = str_html_head + 'border-color:silver;';
                                  str_html_head = str_html_head + '}';
                                  
                                  str_html_head = str_html_head + '.container_column {';
                                  str_html_head = str_html_head + 'display:flex;';
                                  //Elemente werden untereinander dargestellt
                                  str_html_head = str_html_head + 'flex-direction: column;';
                                  str_html_head = str_html_head + 'justify-content: flex-start;';
                                  //Rahmen: abgerundete Ecken (5px), Strichstärke (0px = aus) und Farbe
                                  //str_html_head = str_html_head + 'border-radius:5px;border-collapse:separate;border:2px solid gainsboro;border-color:yellow;';
                                  str_html_head = str_html_head + '}';
                                  
                                  str_html_head = str_html_head + '.container_row {';
                                  str_html_head = str_html_head + 'display: flex;';
                                  //Elemente werden untereinander dargestellt
                                  str_html_head = str_html_head + 'flex-direction: row;';
                                  str_html_head = str_html_head + 'justify-content: space-between;';
                                  //Rahmen: abgerundete Ecken (5px), Strichstärke (0px = aus) und Farbe
                                  //str_html_head = str_html_head + 'border-radius:5px;border-collapse:separate;border:2px solid gainsboro;border-color:yellow;';
                                  str_html_head = str_html_head + '}';
                                  
                                  str_html_head = str_html_head + 'input {';
                                  str_html_head = str_html_head + 'height:10vw;';
                                  str_html_head = str_html_head + 'width:10vw;';
                                  str_html_head = str_html_head + '}';
                                  
                                  str_html_head = str_html_head + '.img_wetter {';
                                  str_html_head = str_html_head + 'height:15vw;';
                                  str_html_head = str_html_head + 'width:15vw;';
                                  str_html_head = str_html_head + '}';
                                  
                                  //Hier habt ihr die Möglichkeit, CSS Eigenschaften für jede Box einzeln einzutragen.
                                  //Bspw. könnt ihr hier eine separate Hintergrundfarbe einstellen.
                                  //Außerdem steuert ihr hier die Schriftgrößen der einzelnen Boxen
                                  str_html_head = str_html_head + '.box_uhr {font-size:14vmax;}';
                                  str_html_head = str_html_head + '.box_datum {font-size:4vmax;text-align:center;}';
                                  str_html_head = str_html_head + '.box_wetter {font-size:4vmax;margin-right:1.5vw;text-align:center;}';
                                  
                                  str_html_head = str_html_head + '.table_Wettervorschau {';
                                  str_html_head = str_html_head + 'margin-top:4vw;';
                                  str_html_head = str_html_head + 'border-collapse: collapse;';
                                  str_html_head = str_html_head + 'font-size:3vmax;';
                                  str_html_head = str_html_head + 'color:' + str_color_font + ';';
                                  str_html_head = str_html_head + '}';
                                  str_html_head = str_html_head + '</style>';
                                  str_html_head = str_html_head + '<script type="text/javascript">';
                                  str_html_head = str_html_head + 'function setState(stateId, value){';
                                  str_html_head = str_html_head + 'sendPostMessage("setState", stateId, value);';
                                  str_html_head = str_html_head + '}';
                                  str_html_head = str_html_head + 'function sendPostMessage(command, stateId, value){';
                                  str_html_head = str_html_head + 'message = { command: command, stateId: stateId, value: value};';
                                  str_html_head = str_html_head + 'window.parent.postMessage(message, "*");';
                                  str_html_head = str_html_head + '}';
                                  str_html_head = str_html_head + '</script>';
                                  str_html_head = str_html_head + '</head>';
                                  
                                  // ##########################################################################
                                  // Prüfen ob Tag oder Nacht um Sonne oder Mond Icons anzuzeigen
                                  // ##########################################################################
                                  //Wenn ihr den nachfolgenden Datenpunkt 'javascript.0.Astro.Tageszeit.current' auch habt, könnt ihr das einkommentieren --> /* und */ löschen
                                  //--> dafür gibt es ein ASTRO Skript hier im Forum
                                  /*
                                  switch (getState('javascript.0.Astro.Tageszeit.current').val){
                                      case "Sonnenuntergang":
                                      case "Abenddämmerung":
                                      case "Nacht":
                                      case "Morgendämmerung":
                                          str_Tageszeit = 'Nacht';
                                          break;
                                      default:
                                          break;
                                  }
                                  */
                                  
                                  // ##########################################################################
                                  // Ab hier werden die verschiedenen HTML Flex Container zusammengebaut
                                  // ##########################################################################
                                  //Box 1 = Uhrzeit und Wettersymbol
                                  str_html = str_html + str_html_head + '<div class="container_row">';
                                  str_html = str_html + '<span class="box_uhr"><b>' + str_Uhrzeit + ' Uhr</b></span>';
                                  if (str_Tageszeit == 'Tag'){
                                        str_html = str_html + '<input type="image" class="img_wetter" onclick="setState(\'' + DP_Wetter_Vorschau_Trigger + '\', true)" src="' + image_Wetter_Pfad + getState('daswetter.0.NextHours.Location_1.Day_1.current.symbol_value').val + '.png' + '" />';
                                  }else{
                                        str_html = str_html + '<input type="image" class="img_wetter" onclick="setState(\'' + DP_Wetter_Vorschau_Trigger + '\', true)" src="' + image_Wetter_Pfad + 'mond/' + getState('daswetter.0.NextHours.Location_1.Day_1.moon_symbol').val + '.png' + '" />';
                                  }
                                  str_html = str_html + '</div>';
                                  
                                  //Box 2 = Wochentag/Datum, Abfallentsorgung und aktuelle Wetterdaten
                                  str_html = str_html + '<div class="container_row">';
                                  str_html = str_html + '<div class="container_column">';
                                  str_html = str_html + '<span class="box_datum"><b><i>' + str_Wochentag + ', ' + str_Datum + '</i></b></span>';
                                  str_html = str_html + '</div>';
                                  str_html = str_html + '<div class="container_column">';
                                  str_html = str_html + '<span class="box_wetter"><b><i>' + Math.round(getState('hm-rpc.0.0010D8A98AD4AC.1.ACTUAL_TEMPERATURE'/*Temperatursensor aussen ACTUAL TEMPERATURE*/).val) + '°C</i></b></span>';
                                  if (str_Tageszeit == 'Tag'){
                                      str_html = str_html + '<span class="box_wetter"><i>' + getState('daswetter.0.NextHours.Location_1.Day_1.current.symbol_desc').val + '</i></span>';
                                  }else{
                                      str_html = str_html + '<span class="box_wetter"><i>' + str_Tageszeit + '</i></span>';
                                  }
                                  
                                  str_html = str_html + '</div>';
                                  str_html = str_html + '</div>';
                                  
                                  //Box 3 = Wettervorschau
                                  str_html = str_html + '<div class="container_column">';
                                  str_html = str_html + '<table class="table_Wettervorschau">';
                                  
                                  str_html = str_html + '<tr>';
                                  str_html = str_html + '<td>heute</td>';
                                  str_html = str_html + '<td><img src="' + image_Wetter_Pfad + getState('daswetter.0.NextHours.Location_1.Day_1.symbol_value').val + '.png' + '"/></td>';
                                  str_html = str_html + '<td nowrap>' + getState('daswetter.0.NextHours.Location_1.Day_1.tempmin_value').val + '°C bis ';
                                  str_html = str_html + getState('daswetter.0.NextHours.Location_1.Day_1.tempmax_value').val + '°C</td>';
                                  //str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_1.humidity_value').val + '%</td>';
                                  str_html = str_html + '<td align=left>' + getState('daswetter.0.NextHours.Location_1.Day_1.symbol_desc').val + '</td>';
                                  str_html = str_html + '</tr>';
                                  
                                  str_html = str_html + '<tr>';
                                  str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_2.day_name').val + '</td>';
                                  str_html = str_html + '<td><img src="' + image_Wetter_Pfad + getState('daswetter.0.NextHours.Location_1.Day_2.symbol_value').val + '.png' + '"/></td>';
                                  str_html = str_html + '<td nowrap>' + getState('daswetter.0.NextHours.Location_1.Day_2.tempmin_value').val + '°C bis ';
                                  str_html = str_html + getState('daswetter.0.NextHours.Location_1.Day_2.tempmax_value').val + '°C</td>';
                                  //str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_2.humidity_value').val + '%</td>';
                                  str_html = str_html + '<td align=left>' + getState('daswetter.0.NextHours.Location_1.Day_2.symbol_desc').val + '</td>';
                                  str_html = str_html + '</tr>';
                                  
                                  str_html = str_html + '<tr>';
                                  str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_3.day_name').val + '</td>';
                                  str_html = str_html + '<td><img src="' + image_Wetter_Pfad + getState('daswetter.0.NextHours.Location_1.Day_3.symbol_value').val + '.png' + '"/></td>';
                                  str_html = str_html + '<td nowrap>' + getState('daswetter.0.NextHours.Location_1.Day_3.tempmin_value').val + '°C bis ';
                                  str_html = str_html + getState('daswetter.0.NextHours.Location_1.Day_3.tempmax_value').val + '°C</td>';
                                  //str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_3.humidity_value').val + '%</td>';
                                  str_html = str_html + '<td align=left>' + getState('daswetter.0.NextHours.Location_1.Day_3.symbol_desc').val + '</td>';
                                  str_html = str_html + '</tr>';
                                  
                                  str_html = str_html + '<tr>';
                                  str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_4.day_name').val + '</td>';
                                  str_html = str_html + '<td><img src="' + image_Wetter_Pfad + getState('daswetter.0.NextHours.Location_1.Day_4.symbol_value').val + '.png' + '"/></td>';
                                  str_html = str_html + '<td nowrap>' + getState('daswetter.0.NextHours.Location_1.Day_4.tempmin_value').val + '°C bis ';
                                  str_html = str_html + getState('daswetter.0.NextHours.Location_1.Day_4.tempmax_value').val + '°C</td>';
                                  //str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_4.humidity_value').val + '%</td>';
                                  str_html = str_html + '<td align=left>' + getState('daswetter.0.NextHours.Location_1.Day_4.symbol_desc').val + '</td>';
                                  str_html = str_html + '</tr>';
                                  
                                  str_html = str_html + '<tr>';
                                  str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_5.day_name').val + '</td>';
                                  str_html = str_html + '<td><img src="' + image_Wetter_Pfad + getState('daswetter.0.NextHours.Location_1.Day_5.symbol_value').val + '.png' + '"/></td>';
                                  str_html = str_html + '<td nowrap>' + getState('daswetter.0.NextHours.Location_1.Day_5.tempmin_value').val + '°C bis ';
                                  str_html = str_html + getState('daswetter.0.NextHours.Location_1.Day_5.tempmax_value').val + '°C</td>';
                                  //str_html = str_html + '<td>' + getState('daswetter.0.NextHours.Location_1.Day_5.humidity_value').val + '%</td>';
                                  str_html = str_html + '<td align=left>' + getState('daswetter.0.NextHours.Location_1.Day_5.symbol_desc').val + '</td>';
                                  str_html = str_html + '</tr>';
                                  
                                  str_html = str_html + '</table>';
                                  str_html = str_html + '</div>';
                                  
                                  return str_html;
                                  }
                                  
                                  
                                  

                                  EDIT: so ist es nun fertig.

                                  Screenshot_20201103-153131_Chrome.jpg

                                  Hier habe ich das angepasst, nun ist es perfekt.

                                  Bildschirmfoto 2020-11-03 um 15.24.37.png

                                  Bildschirmfoto 2020-11-03 um 15.24.46.png

                                  B C F 3 Replies Last reply Reply Quote 3
                                  • B
                                    blackeagle998 @dslraser last edited by

                                    @dslraser
                                    Aus meiner Sicht muss irgendwo in den Kachel oder in den Instanzeinstellungen irgendwas aktiviert sein, dass der Kachelumriss sichtbar ist.
                                    Schau mal durch, vielleicht findest du ja was.

                                    dslraser 1 Reply Last reply Reply Quote 0
                                    • dslraser
                                      dslraser Forum Testing Most Active @blackeagle998 last edited by

                                      @blackeagle998 sagte in Test Adapter iQontrol 1.4.x:

                                      Schau mal durch, vielleicht findest du ja was.

                                      edit einen über Dir 👍😜

                                      B 1 Reply Last reply Reply Quote 1
                                      • B
                                        blackeagle998 @dslraser last edited by

                                        @dslraser
                                        Sehr edel, top!

                                        dslraser 1 Reply Last reply Reply Quote 0
                                        • dslraser
                                          dslraser Forum Testing Most Active @blackeagle998 last edited by dslraser

                                          @blackeagle998 sagte in Test Adapter iQontrol 1.4.x:

                                          @dslraser
                                          Sehr edel, top!

                                          Danke. Und dank Deiner Hilfe👍

                                          Und natürlich auch Dank an @s-bormann 👍👍👍

                                          1 Reply Last reply Reply Quote 0
                                          • dslraser
                                            dslraser Forum Testing Most Active last edited by dslraser

                                            @blackeagle998 @s-bormann

                                            Ich habe jetzt mal die Version 0.9 für mein Blockly erstellt (noch nicht hoch geladen). Damit ist es möglich für die HTML Listen ein Standard Farbthema/ein helles Farbthema und ein dunkles Farbthema per Schalter in den Datenpunken zu schalten.
                                            In diesem Beispiel schalte ich hier sogar direkt in iQontrol um
                                            Screenshot_20201103-204701_Chrome.jpg

                                            Hier mal am Beispiel mit iQontrol und der Fensterliste. (Gif mit nicht so toller Qualität)

                                            2_5265006443148348354.gif

                                            @s-bormann
                                            So ähnlich meinte ich meine Anfrage, ob es möglich ist, eine Art Tag Nachtschaltung in iQontrol ein zu bauen ?
                                            Dann könnte man, abhängig von einem Helligkeitswert oder Uhrzeit, die Ansicht umschalten lassen.

                                            s.bormann 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            545
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            app dark-mode iqontrol responsive vis visualisierung visualization widget
                                            295
                                            7633
                                            6325731
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo