DOIF cmdState Anzeige wird angezeigt aber FTUI zeigt es nicht an

Begonnen von moonsorrox, 14 November 2020, 14:06:33

Vorheriges Thema - Nächstes Thema

moonsorrox

ich stelle mal meine Frage hier evtl. gehört sie auch nach DOIF aber das funktioniert ja.
Ein DOIF bei mir arbeitet richtig und ich zeige mit cmdState die folgenden Zustände an
cmdState Winter|aus

das funktioniert auch, nur FTUI zeigt mir den "state" wechsel nicht an, ich muss immer die Seite aktualisieren, warum ist das so..?
In FTUI mache ich das mit classchanger.

<!-- ==== Busch Beleuchtung Weihnachten ==== -->
<div class="top-narrow" style="width:100%;" data-type="classchanger" data-device="di_Landy_Busch" data-get="state" data-get-off="aus" data-off-class="hide">
<div class="hbox">
<div class="card grow-4"><div><div style="text-align:left; font-size:130%;">Lichtnetz Busch Weihnachten</div></div></div>
<div class="card"><!--div></div-->
<div class="right-align" data-type="symbol" data-device="di_Landy_Busch" data-get="state" data-on-color="crimson" data-get-on="Winter" data-icon="oa-light_fairy_lights"></div></div>
</div>
</div>

Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

MKeY

Ich denke, dass du ein on-Attribut brauchst, damit die Klasse dann wieder gewechselt wird. Ergo du musst ein data-get-on Attribut festlegen (so funktioniert es bei mir)
In der classchanger.js ist es programmiert, dass data-get-off automatisch !on ist, da du den Weg aber andersherum angehst, müsstest du beide Attribute festlegen (oder "Winter" in einen, der automatisch vorgegebenen, Werte ändern)
elem.initData('get-on', '(true|1|on|open|ON)');
            elem.initData('get-off', '!on');


Somit wäre es dieser Code:
<div class="top-narrow" style="width:100%;" data-type="classchanger" data-device="di_Landy_Busch" data-get="state" data-get-on="!aus" data-get-off="aus" data-on-class="" data-off-class="widget-hide">
         <div class="hbox">
                 <div class="card grow-4">
                         <div><div style="text-align:left; font-size:130%;">Lichtnetz Busch Weihnachten</div></div>
                 </div>

                 <div class="card"><!--div></div-->
                         <div class="right-align" data-type="symbol" data-device="di_Landy_Busch" data-get="state" data-on-color="crimson" data-get-on="Winter" data-icon="oa-light_fairy_lights"></div>
                 </div>
         </div>
</div>
Wer Fehler findet, darf sie behalten!
RPi's, D1Mini
Homematic, Hue, Sonoff, Alexa, Xiaomi, ConBee
Prusa MK2.5, Prusa MK3S (MMU2S vorhanden, aber nervtötend)
Lowrider 2CNC

moonsorrox

#2
ich werde mir das mal einbauen und dann genau beobachten... vielen Dank.
Ich habe so einige verschiedene classchanger bei mir im Einsatz und bisher hatte ich immer die devices dafür genutzt, da ich es jetzt mal mit einem DOIF benutzt habe, dachte ich, da es ja einen definierten "state" gibt funktioniert das eben. Ich muss mir die Beschreibung von classchanger nochmals durchlesen, damit ich verstehe was jetzt gemacht wird.  ;)
was ich gar nicht kenne und nicht finde ist "widget-hide" gibt es im Wiki glaube ich nicht..!
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

MKeY

ZitatIch habe so einige verschiedene classchanger bei mir im Einsatz und bisher hatte ich immer die devices dafür genutzt, da ich es jetzt mal mit einem DOIF benutzt habe, dachte ich, da es ja einen definierten "state" gibt funktioniert das eben. Ich muss mir die Beschreibung von classchanger nochmals durchlesen, damit ich verstehe was jetzt gemacht wird.  ;)

Vermutlich war der state dann irgendeiner der vorgegebenen Werte :)


Zitatwas ich gar nicht kenne und nicht finde ist "widget-hide" gibt es im Wiki glaube ich nicht..!

Ich habe es hier https://forum.fhem.de/index.php/topic,76389.msg684129.html#msg684129 z.B. mal gesehen, ich denke es geht auch "nur" mit hide :)
Wer Fehler findet, darf sie behalten!
RPi's, D1Mini
Homematic, Hue, Sonoff, Alexa, Xiaomi, ConBee
Prusa MK2.5, Prusa MK3S (MMU2S vorhanden, aber nervtötend)
Lowrider 2CNC

moonsorrox

Ok das hatte setstate wohl mal geändert, bei mir funktionieren aber mindestens 15 Geräte noch mit "hide" muss ich die Tage mal durchschauen und den Thread dort lesen.
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

moonsorrox

#5
ich habe nun doch nicht so die Anzeige wie gewünscht, wenn das Gerät aus ist wird es in FTUI leider noch angezeigt, obwohl es ja nun ausgeblendet sein sollte.
Ich werde mal noch ein wenig damit herum basteln. Hab da mal den Screenshot angehängt.

EDIT:// habe heute nochmal dran gearbeitet, also zwei Dinge die bei mir jetzt waren.
1. widget-hide funktioniert hier nicht, es muss bei mir "hide" drin stehen
2. war etwas doof weil ich heute ein Fhem Update gemacht habe und das DOIF war auf (initialized) da bei mir aber
data-get-off="(.*aus|Winter)
drin steht war das Symbol augegraut zu sehen wie auch dem Screenshot.

Ich habe dann nochmal mit widget-hide probiert aber dann sieht es ebenfalls aus wie auch dem Screenshot. Warum weiß ich auch nicht... :-\
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

MKeY

pack nochmal deinen angepassten html code in die Tags
Ich hab es mit einem dummy probiert, aber das sollte ja am ausgelesenen Reading-Wert nichts ändern

widget-hide funktioniert bestimmt "nur", wenn du es in der fhem-tablet-ui.css nicht löscht/ die vom letzten Update nutzt:
.autohide.invalid,
.hide,
.widget-hide {
    display: none !important;
}
Wer Fehler findet, darf sie behalten!
RPi's, D1Mini
Homematic, Hue, Sonoff, Alexa, Xiaomi, ConBee
Prusa MK2.5, Prusa MK3S (MMU2S vorhanden, aber nervtötend)
Lowrider 2CNC