Ankündigung

Einklappen
Keine Ankündigung bisher.

USZU mit Design Darkblue

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    USZU mit Design Darkblue

    Hallo,

    ich habe das USZU widget mit fhem in Betrieb genommen und grundsätzlich funktioniert das auch erstmal.

    (1) Die erste Hürde dabei war, dass ich mit device.uzsutable beim Öffnen der Konfiguration ohne Einträge einen Fehler bekommen habe.
    Mit device.uzsuicon war das Definieren komischerweise ohne Probleme möglich und anschließend hat auch device.uzsutable funktioniert. Seltsam, hauptsache es läuft nun überhaupt.

    (2) Die zweite Hürde ist das Design Darkblue. Aktiv zeigt er mit blauen Hintergrund an, die ausgewählten Wochentage oder Aktiv ja/nein sind aber nicht wirklich zu erkennen. Gibt's einen Workaround, damit das Design Darkblue weiter verwendet werden kann, da mir die Farbgebung mit Abstand am Besten gefällt.

    UZSU_Darkblue.png

    (3) Vielleicht ist fhem dafür verantwortlich, vielleicht bin ich zu doof. Beim device.uzsutable gibts den Parameter "inactivestyle", den ich auf 3 gesetzt habe. Wie in den Beispielen der Dokumentation kann USZU links über der Grafik ein-/ausgeschaltet werden. Das wird auch an fhem weitergegeben, gespeichert und visualisiert. Die Anzeige "inaktiv" und "opacity 50%" funktonieren bei mir jedoch nicht.

    (4) Der Parameter "showactualtime" hat bei mir (mit fhem) auch keine Auswirkung. Fehlt da was im Treiber und kann nicht alternativ die Uhrzeit des Clients verwendet werden? Gleiches für showsun, wobei das lokal nicht "einfach" zur Verfügung steht.

    Falls jemand Ideen zur Lösung der Punkte hat würde ich mich freuen.

    Viele Grüße
    Manfred
    Zuletzt geändert von ares72; 20.07.2022, 08:25.

    #2
    Hi ares72,

    kannst Du vielleicht den Inhalt des Items zur UZSU posten (JSON). Ich habe im Moment keine Ahnung was von FHEM inhaltlich übertragen wird.

    zu 1 : Hier wird wahrscheinlich von FHEM keine initiale Variante des UZSU-dicts erstellt. Das UZSU-Icon fängt dies vermutlich ab, die UZSU-table (noch) nicht.
    zu 2 : Mit shNG als backend werden die Tage auch im Design DarkBlue korrekt eingefärbt (smartVisu 3.2.0) - hier hilft eventuell der Inhalt des Items
    zu 3 : auch hier sollte der Item-Inhalt helfen die Ursache zu finden
    zu 4 : actualtime vom Client geht, ist aber im Moment nicht implemtiert, kann man für FHEM sicher machen. Gibt es in FHEM irgendwo Werte für Sunrise/Sunset ?

    Viele Grüsse
    Andre

    Kommentar


      #3
      Hallo Manfred,

      ich antworte mal im gleichen Schema:

      (1) Generell sollte das Backend ein dict mit einer gewissen Grundbefüllung liefern, sobald für ein item die UZSU aktiviert ist. Das mindeste ist
      Code:
      'list': [], 'active': False
      device.uzsuicon initialisiert dies, wenn keine Daten da sind. device.uzsutable macht das nicht. Ich hab noch keine abschließende Meinung, was das richtige Vorgehen ist. Wenn das Backend die Grundbefüllung liefert, weiß das Widget, dass es sich tatsächlich um ein UZSU-item handelt. Anderenfalls könnte man ein dict mit dem UZSU-Widget erstellen und in jedes beliebige item schreiben. Das kann IMHO aus Sicherheitsgründen nicht gewünscht sein.
      Um das Thema endgültig zu lösen brauche ich von Dir die Info, was fhem bei der Initialisierung eines neuen UZSU-items in das dict schreibt. Kannst Du das über die Konsole ausgeben lassen?

      (2) Wenn ich die Doku-Seiten (Backend = offline) im Design Darkblue anzeige, stimmt bei mir die Darstellung. Screenshot_UZSU_darkblue.png
      Hast Du abweichende Stile in Deiner visu.css oder der ./design/darkblue.css definiert, die das Verhalten ändern?

      (3) Die Optionen werden gesetzt, wenn im dict der UZSU-items auf der obersten Ebene "active: false" steht. Vermutlich hängt es daran.

      (4) Die Zeiten für sunrise und sunset werden aus dem dict des UZSU-items gelesen. Wenn die nicht vorhanden sind, produziert das Widget aktuell Fehler. Ich habe eine korrigierte Version erstellt, die in diesem Gist abgelegt ist und die Fehler abfängt. Du kannst die ./widgets/device.js damit ersetzen. device.uzsuicon und device.uzsutable verhalten sich darin jetzt gleich bei der Initialisierung des fehlenden dicts. Wie in (1) gesagt kann es sein, dass ich das noch rausschmeiße, sobald wir wissen, wie fhem die dicts von UZSU-items initialisiert.
      Die aktuelle Zeit kommt aus dem Client. Teste mal, ob das mit der geänderten Version jetzt funktioniert.

      Gruß
      Wolfram
      Zuletzt geändert von wvhn; 19.07.2022, 14:19.

      Kommentar


        #4
        Hallo AndreK,

        zu 1: Laut Wiki-Eintrag von fhem habe ich erstmal nur {} zur Initialisierung eingetragen. Nach dem ersten Aktivieren stand in fhem soweit ich mich erinnern kann{"active":true} und das hat mit uzsuicon, nicht aber uzsutable funktioniert. Sind die Aktionen beim Klick auf device.uzsutable und device.uzsuicon wirklich unterschiedlich und wenn ja, warum?
        In fhem steht aktuell folgender "String", ich vermute aber der wird nicht 1:1 an smartVISU übergeben:
        Code:
        {"active":true,"list":[{"timeOffset":"","rrule":"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU","timeMin":"","condition":{"type":"String","value":"","active":false,"deviceString":""},"delayedExec":{"type":"String","active":false,"value":"","deviceString":""},"event":"time","time":"06:00","active":true,"timeCron":"06:00","timeMax":"","value":"0","timeOffsetType":"m","holiday":{"workday":false,"weekend":false}},{"time":"21:00","event":"time","delayedExec":{"type":"String","deviceString":"","value":"","active":false},"condition":{"type":"String","value":"","active":false,"deviceString":""},"timeMin":"","timeOffset":"","rrule":"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,SU","holiday":{"weekend":false,"workday":false},"timeOffsetType":"m","value":"1","timeMax":"","timeCron":"21:00","active":true},{"delayedExec":{"deviceString":"","active":false,"value":"","type":"String"},"event":"time","time":"22:00","condition":{"type":"String","value":"","active":false,"deviceString":""},"timeOffset":"","rrule":"FREQ=WEEKLY;BYDAY=FR,SA","timeMin":"","timeOffsetType":"m","timeMax":"","value":"1","holiday":{"workday":false,"weekend":false},"timeCron":"22:00","active":true}]}
        zu 2: Hmpf... mein Fehler. Ich habe wegen https://knx-user-forum.de/forum/supp...s-deaktivieren darkblue.css angepasst und muss mich nun zwischen Pest und COVID entscheiden? Eventuell fehlt ja im Style nur was?

        zu 3: Was verstehst Du unter Item-Inhalt?
        Code:
        {{ device.uzsutable('','PhilipsTV.Fiona.Lock','Auto Sperre/Freigabe','1','0','red','limegreen','','','true','5m',['5m:hourly','10m:hourly','15m:hourly','30m:hourly','1h:hourly'],false,false,false,true,3,'bool',['sperren','freigeben'],'') }}
        zu 4: fhem kennt natürlich die Uhrzeit und kann auch die verschiedenen Sunrise/Sunset-Varianten ermitteln. Ich bin leider nur Anwender und habe mich nicht mit den Treibern und erwarteten Parametern beschäftigt. Falls acutaltime nicht über den Treiber zur Verfügung gestellt wird, dann kann doch unabhängig von einer Entscheidung "fhem" die Uhrzeit des Clients verwendet werden? Gibt's eigentlich eine Doku, was der Treiber für das Widget liefern sollte und wird aus shNG Sunset auch für device.uzsuicon übergeben?

        Viele Grüße
        Manfred

        Kommentar


          #5
          Hier überschneiden sich die Posts.

          Frage 1 kann ich beantworten: es gibt ein sog. Prototype-Widget, in dem das item-Update gemacht wird. device.uzuicon verwendet dieses und übernimmt das Ergebnis. device.uzsutable verwendet es auch, überschreibt aber das Ergebnis anschließend wieder. Dies ist ein Bug, den ich in der oben geposteten Version von device.js abgestellt habe.

          Mit Deiner Info zur Initialisierung des UZSU-items durch fhem werde ich bei der Initialisierung das Vorhandenseint von "active" im dict abprüfen und dann ggfls. eine leere "list: []" ergänzen, wenn diese fehlt.

          Gruß
          Wolfram

          Kommentar


            #6
            Hallo Wolfram,

            ja, ihr seid sehr fleissig und ich lösche meinen aktuellen Kommentar daher erstmal und fang neu an.

            device.js habe ich ausgetauscht und es sieht sehr viel besser aus. Der Text "inaktiv" inkl. opacity funktioniert nun, er zeigt mir die Uhrzeit und neuerdings auch die Sperrzeit als Balken an.
            Kann die Warnung deaktiviert werden, wenn showsun false ist?
            Code:
            No Sun-Information available. Please upgrade your UZSU-Plugin to provide sunrise and sunset (smarthomeNG: v1.6.0 or higher)
            Im CSS habe ich die background-color auskommentiert, da ich den von Dir vorgeschlagenen "Code in der visu.css" nicht funktionierend hinbekommen habe. Vielleicht muss ich hier nochmal etwas forschen.
            Code:
            /* Active slider track */
            .ui-page-theme-a .ui-slider-track .ui-btn-active,
            html .ui-bar-a .ui-slider-track .ui-btn-active,
            html .ui-body-a .ui-slider-track .ui-btn-active,
            html body .ui-group-theme-a .ui-slider-track .ui-btn-active,
            html body div.ui-slider-track.ui-body-a .ui-btn-active {
            /*background-color: #22aadd /*{a-active-background-color}*/;
            /*border-color: #125d79;*/
            color: #fff /*{a-active-color}*/;
            /*text-shadow: 0 1px 0 #0088bb;*/
            background-image: none;
            }
            Viele Grüße
            Manfred

            Kommentar


              #7
              Zitat von ares72 Beitrag anzeigen
              Kann die Warnung deaktiviert werden, wenn showsun false ist?
              Code:
              No Sun-Information available. Please upgrade your UZSU-Plugin to provide sunrise and sunset (smarthomeNG: v1.6.0 or higher)
              Da hast Du den selben Fehler gemacht, wie wir in der Doku: bei den Optionen muss 'true' oder 'false' in Hochkommata geschrieben werden. Ich korrigiere die Doku im develop branch.

              Gruß
              Wolfram

              Kommentar


                #8
                Hallo Wolfram,

                da liest schon einmal einer die Doku... mit Hochkommata klappt es natürlich. Danke.
                Was ich beim Lesen der Doku aber auch nicht verstanden habe ist, warum nach "inactivestyle" noch 3 (leere) Paramter in den Beispielen kommen, in der Beschreibung aber nur 2 erklärt werden.

                Viele Grüße
                Manfred

                Kommentar


                  #9
                  Die Änderungen sind jetzt im Develop - einschließlich der Korrektur des überzähligen Parameters.

                  Gruß
                  Wolfram

                  Kommentar


                    #10
                    Hallo Wolfram,

                    noch eine letzte saudumme Frage:
                    Hast Du bitte den Link zum Develop für mich?

                    Danke
                    Manfred

                    Kommentar


                      #11
                      Im Standard Repository von smartVISU
                      https://github.com/Martin-Gleiss/smartvisu
                      den „develop“ branch auswählen und dort das ZIP-Archiv laden. Oder, wenn Du smartVISU per git installiert hast, einfach im smartVISU-Hauptverzeichnis
                      Code:
                      git checkout develop
                      eingeben und nochmal pullen.

                      Gruß
                      Wolfram

                      Kommentar


                        #12
                        HI wvhn,

                        besten Dank fürs schnelle fixen der Bugs im UZSU-Table-Widget

                        Viele Grüsse
                        Andre

                        Kommentar

                        Lädt...
                        X