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.
    • 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
                                          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            755
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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