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
      Echt ne schicke View!
      Sollte dich der blaue Hintergrund der Uhr-Kachel stören, sag Bescheid, dann machen wir das transparent und die Schriftfarbe weiß. Würde bestimmt auch cool aussehen.

      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:

        @dslraser
        Echt ne schicke View!
        Sollte dich der blaue Hintergrund der Uhr-Kachel stören, sag Bescheid, dann machen wir das transparent und die Schriftfarbe weiß. Würde bestimmt auch cool aussehen.

        Danke, in der View sind ja auch Deine Sachen dabei.👍
        Deine Vorschläge würde ich gern probieren. (ich nutze die Version ohne Müll usw. Brauchst Du das Script in Kopie ?)

        B 1 Reply Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            642
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            app dark-mode iqontrol responsive vis visualisierung visualization widget
                                            295
                                            7633
                                            6355107
                                            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