Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. jqui-mfd: image-Request und 304 Problem ?

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    334

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    300

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    929

jqui-mfd: image-Request und 304 Problem ?

Geplant Angeheftet Gesperrt Verschoben Visualisierung
1 Beiträge 1 Kommentatoren 188 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • O Offline
    O Offline
    ok1
    schrieb am zuletzt editiert von
    #1

    Ich habe ein Problem mit dem jqui-mfd Adapter, und hier speziell mit dem Window-Widget, ggf. in Verbindung mit dem web-Adapter.

    Der Trace zeigt, dass der Webserver von den immer gleichen image-Requests "fts_window_1w.svg" und "fts_window_1w_open.svg" geflutet wird. In 60 sec. über 500 Anfragen, die entsprechend Last und Ressourcen verbrauchen:

    Bild 259.png

    Als Antwort wird auf die dauerhaften image-Anfragen des Window-Widgets ein 304 - not modified erzeugt :

    Bild 260.png
    Bei 304 dürften m.E. keine Nutzdaten zwischen Browser und Webserver ausgetauscht werden. Lt. Trace sind dieses jedoch ca. 150kB pro min.

    Der Code in der index.html, der dieses Verhalten auslöst ist in der Funktion "tplMfdWindowBool" enthalten:

    <script id="tplMfdWindowBool"
            type="text/ejs"
            class="vis-tpl"
            data-vis-set="jqui-mfd"
            data-vis-type="val,window"
            data-vis-name="Window"
            data-vis-prev='<div id="prev_tplMfdWindowBool" style="position: relative; text-align: initial;padding: 4px "><div class="vis-widget_prev ui-widget ui-button ui-corner-all ui-state-default ui-state-active" style="height: 70px; width: 70px;"> <div class="vis-widget-prev-body"> <img style="filter: invert(1); -webkit-filter: invert(1); -moz-filter: invert(1); -o-filter: invert(1); -ms-filter: invert(1);" height="100%" src="widgets/jqui-mfd/img/fts_window_1w_open.png"></div></div></div>'
            data-vis-attrs="oid;invert_icon/checkbox;invert_state/checkbox;asButton[true]/checkbox;iconColor/color;"
            data-vis-attrs0="group.values;closed_value;opened_value;"
            data-vis-attrs1="group.icons;closed_icon/image;closed_iconColor/color;opened_icon/image;opened_iconColor/color;"
            >
        <div class="vis-widget <%= this.data.attr('asButton') ? ' ui-widget ui-button ui-corner-all ui-state-default' : '' %> <%= this.data.attr('class') %>" id="<%= this.data.attr('wid') %>" data-oid="<%= this.data.attr('oid') %>" style="height:76px; width:76px; position:absolute" data-min="<%= this.data.attr('closed_value') %>" data-max="<%= this.data.attr('opened_value') %>" <%= (el) -> this.data.attr('asButton') ?  vis.binds.jqueryui.active(el, this.data.invert_state) : '' %> >
            <div class="vis-widget-body">
                <%
                var styles = '';
                if (this.data.invert_icon === 'true' || this.data.invert_icon === true) {
                     styles = 'filter: invert(1); -webkit-filter: invert(1); -moz-filter: invert(1); -o-filter: invert(1); -ms-filter: invert(1);';
                }
    
                var opened = this.data.attr('opened_value');
                var closed = this.data.attr('closed_value');
    
                var val = vis.states.attr(this.data.oid + '.val');
    
                if (opened === undefined || opened === '' || opened === null) {
                    opened = 1;
                    closed = 0;
    
                    if (val === 'true'  || val === true)  val = opened;
                    if (val === 'false' || val === false) val = closed;
    
                    val = parseFloat(val) || 0;
                    val = (val > closed) ? opened : closed;
                }
                if (this.data.invert_state) {
                    if (val == opened) {
                        val = closed;
                    } else {
                        val = opened;
                    }
                }
    
                var image = null;
                var imageColor = null;
                if (val != opened) {
                    imageColor = this.data.attr('closed_iconColor') ? this.data.attr('closed_iconColor') : this.data.attr('iconColor');
                    image = this.data.attr('closed_icon');
                    if (!image) {
                        image = imageColor ? "widgets/jqui-mfd/img/fts_window_1w.svg" : "widgets/jqui-mfd/img/fts_window_1w.png";
                    }
                } else {
                    imageColor = this.data.attr('opened_iconColor') ? this.data.attr('opened_iconColor') : this.data.attr('iconColor');
                    image = this.data.attr('opened_icon');
                    if (!image) {
                        image = imageColor ? "widgets/jqui-mfd/img/fts_window_1w_open.svg" : "widgets/jqui-mfd/img/fts_window_1w_open.png";
                    }
                }
    
                if (vis.binds['jqui-mfd'].isNotEmpty(imageColor)) {
                %>
                    <img style="<%= styles %>" width="100%" src="<%= image %>" <%= (el) -> vis.binds.jqueryui.setSvgColor(el, imageColor) %>/>
                <% 
                } else {
                %>
                    <img style="<%= styles %>" width="100%" src="<%= image %>" <%= (el) -> vis.binds['jqui-mfd'].removeSvg(this.data.attr('wid')) %>/>
                <% 
                } 
                %>
            </div>
        </div>
    </script>
    

    Die Adapter web, socket, vis und jqui-mfd sind alle auf aktuellem Stand, Cacheing ist im web-Adapter aktiviert. Testweise habe ich den web-Adapter auch auf eine ältere 4er-Version gedowngraded, das 304-Verhalten ist aber identisch geblieben.

    Könnt ihr ein ähnliches Verhalten feststellen - sind die image-Requests im Millisekunden-Bereich und die 304-Behandlung so OK oder ist das ein Bug ?

    1 Antwort Letzte Antwort
    0

    Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

    Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

    Mit deinem Input könnte dieser Beitrag noch besser werden 💗

    Registrieren Anmelden
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen


    Support us

    ioBroker
    Community Adapters
    Donate

    559

    Online

    32.8k

    Benutzer

    82.8k

    Themen

    1.3m

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

    • Du hast noch kein Konto? Registrieren

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