[FTUI3] Optische Anzeige Unwetterwarnungen

Begonnen von Superposchi, 14 April 2023, 08:56:07

Vorheriges Thema - Nächstes Thema

Superposchi

Hallo, ich hoffe auf Ideen wie man es am besten umsetzen kann.

Ich möchte in meiner Wetteranzeige bei einer Unwetterwarnung auf dem Wettersymbol ein entsprechendes Warnsymbol darüber legen.
Grundsätzlich auch kein Problem, das klappt soweit, auch wenn es noch im Detail in Arbeit ist.

Das Problem ist wenn mehr als eine Unwetterwarnung gleichzeitig auftritt. Die UWZ listet diese ja dann in durchnumerierten Readings (Warn_0_xxx, Warn_1_xxx, Warn_2_xxx etc.). Ich kann für die Anzeige des Symbols aber nur ein Reading abfragen. Außerdem gibt es offenbar keine festgelegte Reihenfolge, so dass je nach Auftreten Warn_0_xxx mal diese Warnung mal eine andere Warnung beinhaltet.
Ich kann natürlich mit UserReadings alle diese Einzelreadings vereinen und dann abfragen, aber auch da würde nur wieder ein Symbol (das erste gefundene) angezeigt.

Hat jemand eine Idee zur Umsetzung?

juemuc

Hi Superoschi,

dafür gibt es die Slider-Funktionalität.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Superposchi

Ich kenne zwar das slider-Objekt, aber habe derzeit keine Idee wie ich es damit umsetzen kann.

Ich kann dann zwar abwechseln mehrere Sybole darüberlegen (hoffe ein overlay geht), aber bleibt immer noch die Frage mit dem Abfragen der verschiedenen Readings.

juemuc

z.B. so:
    <ftui-swiper id="Warnung_SW" dots style="font-size:1.5em" @click="Warnung_SW.next()"
          [hidden]="Unwetterzentrale:WarnCount | map('0:true, .*:false')">
      <ftui-content 
            id="Warn_0" file="./content/Wetter_Warnhinweise.html" Warn_NR="Warn_0">
      </ftui-content>
      <ftui-content [hidden]="Unwetterzentrale:WarnCount | map('2|3|4|5:false, .*:true')"
            id="Warn_1" file="./content/Wetter_Warnhinweise.html" Warn_NR="Warn_1">
      </ftui-content>
      <ftui-content [hidden]="Unwetterzentrale:WarnCount | map('3|4|5:false, .*:true')"
            id="Warn_2" file="./content/Wetter_Warnhinweise.html" Warn_NR="Warn_2">
      </ftui-content>
      <ftui-content [hidden]="Unwetterzentrale:WarnCount | map('4|5:false, .*:true')"
            id="Warn_3" file="./content/Wetter_Warnhinweise.html" Warn_NR="Warn_3">
      </ftui-content>
      <ftui-content [hidden]="Unwetterzentrale:WarnCount | map('5:false, .*:true')"
            id="Warn_4" file="./content/Wetter_Warnhinweise.html" Warn_NR="Warn_4">
      </ftui-content>
    </ftui-swiper>
    <ftui-label color="green" size="4" [hidden]="Unwetterzentrale:WarnCount | map('0:false, .*:true')"
          text="Aktuell keine Warnmeldungen">
    </ftui-label>

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Superposchi

Wenn ich das richtig verstehe müsste für jede Meldung eine eigene Unterseite per ftui-content eingeladen werden und dann per hidden-Atribut ein-/ausgeblendet werden.

Das mit dem mapping verstehe ich noch nicht ganz. Wozu das aufzählen?

juemuc

1. Du benötigst die Info aus jedem "Warn-Reading". Also musst Du diese Info auch zur Anzeige bringen.
2. Ich nutze für die Anzeige immer das gleiche HTML-File, da die Anzeige,  bis auf die Warnung bzw. das Icon ja immer identisch sein soll. Ggf. musst Du dir das Thema Content-File einmal ansehen. Du kannst aber auch das Coding direkt im Slider hinterlegen. Ist dann halt x-Mal gleich.
3. Wenn keine Warnung vorhanden ist, blende ich den Slider aus und zeige den Text "Aktuell keine Warnmeldung".

Viele Grüße
Jürgen

 
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Superposchi

Das mit der Funktion des content ist schon klar, mir ist nur nicht klar wie die mappings auf die einzelnen readings greifen.

Du sprichst gar nicht die einzelnen Meldungen an, sondern gibt's dem slider lediglich die Anzahl mit, oder?

Dann verstehe ich aber nicht wie die unterschiedlichen Symbole den einzelnen Meldungen zugeordnet sind. Ich meine heute ist warnung1 zb Regen,  morgen aber Sturm und übermorgen ist warnung1 Sturm und Warnung2 Gewitter. Ich kann also das Symbol nicht fix auf eine bestimmte Warnung koppeln.

Keine Ahnung ob das verständlich ist was ich meine.

juemuc

Nein, ich übergebe nur den ersten Teil des Readings (Warn_1 - Warn_4) an das Contenfile.

Das Auslesen der Readings erfolgt dann im Contenfile:

    <ftui-row [color]="Unwetterzentrale:WarnUWZLevel_Color | map('gelb:yellow, orange:orange, rot:red, violett:violet')">
      <ftui-column width="15%">
        <ftui-image [src]="Unwetterzentrale:{{Warn_NR}}_IconURL" nocache margin="1" left="10px">
        </ftui-image>
      </ftui-column>
      <ftui-column height="82%" margin="1">
        <ftui-label padding="1" scroll text-align="left" size="3"
              [text]="Unwetterzentrale:{{Warn_NR}}_LongText">
        </ftui-label>
      </ftui-column>
    </ftui-row>
    <span>
      <ftui-label size="2" color="primary" top="-30px" style="position:relative;" class="bold"
            text="Gültig vom ">
      </ftui-label>
      <ftui-label size="2" color="primary" top="-30px" style="position:relative;" class="bold"
            [text]="Unwetterzentrale:{{Warn_NR}}_Start_Date">
      </ftui-label>
      <ftui-label size="2" color="primary" top="-30px" style="position:relative;" class="bold"
            [text]="Unwetterzentrale:{{Warn_NR}}_Start_Time">
      </ftui-label>
      <ftui-label size="2" color="primary" top="-30px" style="position:relative;" class="bold"
            text="Uhr">
      </ftui-label>
      <ftui-label size="2" color="primary" top="-30px" style="position:relative;" class="bold"
            text="bis zum">
      </ftui-label>
      <ftui-label size="2" color="primary" top="-30px" style="position:relative;" class="bold"
            [text]="Unwetterzentrale:{{Warn_NR}}_End_Date">
      </ftui-label>
      <ftui-label size="2" color="primary" top="-30px" style="position:relative;" class="bold"
            [text]="Unwetterzentrale:{{Warn_NR}}_End_Time">
      </ftui-label>
      <ftui-label size="2" color="primary" top="-30px" style="position:relative;" class="bold"
            text="Uhr">
       </ftui-label>
    </span>

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).