SolarForecast FTUI Widget

Aus FHEMWiki
(Weitergeleitet von FTUI Widget SMAPortalSPG)
Zur Navigation springen Zur Suche springen
Die druckbare Version wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.

Das SMAPortalSPG Widget ist ein Widget für FHEM Tablet UI V2 zur graphischen Anzeige von SolarForecast-Daten im FHEM Tablet UI.

Voraussetzungen

Voraussetzung ist die erfolgte FTUI2 Installation und die Definition eines SolarForecast Devices.
Forum-Thread zum SolarForecast-Modul: https://forum.fhem.de/index.php/topic,117864.0.html

Ein SolarForecast-Device wird angelegt mit:

define <Name> SolarForecast  # z.B. define SolCast SolarForecast

Installation

Die FTUI Framework Dateien werden mit dem get-Kommando des SolarForecast Devices in die entsprechenden Verzeichnisse der FTUI-Installation geladen:

get <SolarForecast-Device> ftuiFramefiles

In das Verzeichnis www/tablet/css werden kopiert:

* ftui_forecast.css
* ftui_smaportalspg.css

In das Verzeichnis www/tablet/js werden kopiert:

* widget_forecast.js
* widget_smaportalspg.js


Das SMAPortalSPG Widget (ftui_smaportalspg)

Screenshot 2023-12-06 214207.png

Im SMAPortalSPG Widget wird anders als in anderen Widgets nicht der angegebene Wert aus dem Device dargestellt, sondern der HTML-Inhalt des angegebenen SolarForecast-Device. Das data-get Reading dient nur dazu ein nötiges Update des SolarForecast Devices zu erkennen.
Dieses Widget stellt die Grafik des SolarForecast Devices so dar wie sie durch die Attribute des SolarForecast Devices eingestellt ist. Werden die darzustellenden Elemente der Grafik im SolarForecast Device geändert, wirkt sich dies auch auf den Widget-Content aus.

Hinweis: Im SolarForecast Device können mit dem Attribut graphicHeaderOwnspec set-Kommandos oder Attribut-Befehle im Anwender spezifischen Bereich des Headers abgebildet werden. Diese generierten Werte werden aus technischen Gründen generell im Widget ausgeblendet.


Attribute

Attribut Beschreibung Standard-Wert Beispiel
data-device SolarForecast-Device in FHEM, dessen Inhalt angezeigt werden soll
data-get Name des Readings, das eine Änderung des SolarForecast-Device anzeigt parentState
data-max-update Maximale Häufigkeit in Sekunden für das Update des SolarForecast-Device 2

Beispiel

    <li data-row="1" data-col="1" data-sizey="4" data-sizex="5">
     <header>Solar Vorhersage</header>
       <div class="cell">
         <div data-type="smaportalspg" data-device="SolCast" data-get="state"></div>  
      </div>
    </li> 

Das Forecast Widget (ftui_forecast)

Screenshot 2023-12-06 223824.png

Im Forecast Widget wird der HTML-Inhalt des

get <SolarFoecast-Device> html <Option> 

Kommandos des angegebenen SolarForecast-Device wiedergegeben. Das data-get Reading dient dazu ein nötiges Update des SolarForecast Devices zu erkennen.
Mit diesem Widget kann die darzustellende Grafik im FTUI unabhängig von der Einstellung der Grafik im SolarForecast Device gewählt werden. Die Auswahl erfolgt durch die Angabe in data-html. Diese Angabe entspricht der Option im oben gezeigten get-Kommand.

Hinweis: Im SolarForecast Device können mit dem Attribut graphicHeaderOwnspec set-Kommandos oder Attribut-Befehle im Anwender spezifischen Bereich des Headers abgebildet werden. Diese generierten Werte werden aus technischen Gründen generell im Widget ausgeblendet.


Attribute

Attribut Beschreibung Standard-Wert Beispiel
data-device SolarForecast-Device in FHEM, dessen Inhalt angezeigt werden soll
data-get Name des Readings, das eine Änderung des SolarForecast-Device anzeigt parentState
data-html die Option zur Auswahl des Grafik-Content
(siehe Hilfe zum get <SolarFoecast-Device> html Kommando)
both both_noHead
data-max-update Maximale Häufigkeit in Sekunden für das Update des SolarForecast-Device 2

Beispiel

    <li data-row="1" data-col="1" data-sizey="3" data-sizex="4">
    <header>PV Forecast</header>
          <div class="cell">
             <div data-type="forecast" data-device="ForecastDevice" data-get="state" data-html="both"></div>
          </div>
    </li>