[FTUI 2] - Weather_Widget für Wettericons

Begonnen von somansch, 05 Februar 2019, 00:24:58

Vorheriges Thema - Nächstes Thema

PingPong

kaum macht man's richtig :-)
Klasse, vielen Dank für Deine Unterstützung.

amenomade

Zitat von: somansch am 11 Februar 2019, 10:50:42
Ja, ist der richtige ordner. Bitte prüfe, ob dort auch ein "chance_of_rain.png" bzw "chance_of_rain_night.png" existiert. Wie hast du die Definition in FTUI gemacht? Bitte Code posten.

Heute Nacht hatte ich ein ähnliches Problem mit kleinklima: rain_night.png existierte nicht. Ich habe einfach mit einem "cp rain.png rain_night.png" das Problem gelöst. Aber wenn standardmässig rain_night nicht existiert, kannst Du vielleicht das Mapping entspr. anpassen.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

somansch

Zitat von: amenomade am 11 Februar 2019, 19:00:06
Heute Nacht hatte ich ein ähnliches Problem mit kleinklima: rain_night.png existierte nicht. Ich habe einfach mit einem "cp rain.png rain_night.png" das Problem gelöst. Aber wenn standardmässig rain_night nicht existiert, kannst Du vielleicht das Mapping entspr. anpassen.
Ich habe bei mir bereits einige Änderungen in der Vergangenheit gemacht. Wer hat den Originalinhalt es Weather-Ordners?

amenomade

#63
https://svn.fhem.de/trac/browser/trunk/fhem/www/images/default/weather

EDIT: also, wenn ich nach eine Logik nachdenke, würde ich sagen, es gibt nur eine einzige Icon Tag/Nacht, wenn das Gestirn sowieso versteckt ist : storm snow smoke rain mist fog... mit ein paar Ausnahmen ;)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

somansch

Zitat von: amenomade am 11 Februar 2019, 20:40:19
https://svn.fhem.de/trac/browser/trunk/fhem/www/images/default/weather

EDIT: also, wenn ich nach eine Logik nachdenke, würde ich sagen, es gibt nur eine einzige Icon Tag/Nacht, wenn das Gestirn sowieso versteckt ist : storm snow smoke rain mist fog... mit ein paar Ausnamen ;)

Danke für den Link! Damit konnte ich den aktuellen Stand mit den Mappings vergleichen. Habe die entsprechenden Änderungen in v2.4 verewigt (siehe ersten Post). Die einzige Datei, welche bisher standardmäßig fehlt und auch sinnvoll ist, heißt "chance_of_snow_night.png". Ich habe wuppi68 angeschrieben, sodass diese Datei zentral aufgenommen wird. In der Zwischenzeit, hier als Anhang.

Viele Grüße
Andreas

somansch

Zitat von: somansch am 09 Februar 2019, 20:08:03
Ich habe mal bei Jens nachgefragt, ob er die Readings direkt im DWD Modul bereitstellen kann: https://forum.fhem.de/index.php/topic,83097.msg903717.html#msg903717

Viele Grüße
Andreas

Leider wird Jens die Readings für die Unterscheidung Tag/Nacht im DWD Modul nicht einbauen :(
https://forum.fhem.de/index.php/topic,83097.msg904774.html#msg904774

Knallkopp_02

Zitat von: sinus61 am 10 Februar 2019, 16:28:18
Man könnte ja sowas wie data-time als zusätzliche Angabe für DWD beim Widget einfügen. Und dann im Widget mit
elem.initData('time', '16:00');
abfragen. Im Widget dann eine kleine Sonderbehandlung für DWD bauen, für Proplanta gibt es ja auch sowas um val aus dem Url zu extrahieren.

Zumindest müsste dann nichts im Modul umgebaut werden.

@sinus61
Ich habe mich versucht fcx_x_time passend zum _ww Reading auszulesen, leider habe ich keinen Erfolg gehabt bislang. Ich habe mir auch das Wiki zur Erstellung von eigenen Widgets angesehen, aber leider hat mir das auch nicht weitergeholfen, obwohl mir alles recht logisch erscheint.

Hat jemand die Möglichkeit mir da weiter zu helfen, weil das ist wahrscheinlich das letzte Teil im Puzzle, damit Tag/Nacht funktioniert.

Gruss
Ich bin kein Programmierer und habe keine Ahnung.

Raspberry PI 3B+ mit HM-MOD-RPI-PCB,     
HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-SEC-SCo
Raspberry PI 3B+ mit 7" Touchdisplay

sinus61

Hab es gerade mal probiert, sollte gehen.

Als erstes funktionierte der Match auf DWD_OpenData aber nicht, sollte so gehen:

                        } else if (par.match(/^fc\d+_\d+_ww$/)) {
                            device_type = 'DWD_OpenData';


dann am Anfang in function init_attr(elem), da wo auch color und warn stehen. Der default 16:00 sorgt dafür, dass ohne Angabe Tag ist.


        //time
        elem.initData('time', '16:00');
        me.addReading(elem, 'time');


und dann noch hinter der Ausnahmeregel für Proplanta


                    if (device_type === 'DWD_OpenData') {
var time = elem.getReading('time').val;
if (time == "19:00") {
val = val + "n";
}
} else {
                            translate = false; 
                    }


Hier wird jetzt für das 19:00 Uhr Reading an den Wert aus fc0_6_ww ein "n" angehangen.

In FTUI muss man dann bei dem Device noch data-time="fc0_6_time" angeben. Diese Angabe müsste man eigentlich noch wegoptimieren können, da der Name des zu fc0_6_ww gehörenden time Readings ja eigentlich klar ist.


Knallkopp_02

Danke Sinus61,

Werde ich mir am Wochenende mal ansehen.

Gruß
Ich bin kein Programmierer und habe keine Ahnung.

Raspberry PI 3B+ mit HM-MOD-RPI-PCB,     
HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-SEC-SCo
Raspberry PI 3B+ mit 7" Touchdisplay

somansch

Werde auch mal am Wochenende etwas testen. Eigentlich wollte ich dies ja nicht im Widget, sondern außerhalb per User Reading lösen, aber auf meine Anfrage gab's keine Reaktion. https://forum.fhem.de/index.php/topic,97281.0.html

Scheint wohl doch nicht so trivial zu sein  ;)

Knallkopp_02

Wenn ich das

elem.initData('time', '16:00');


durch das

elem.initData('time', 'fc0_0_time');


ersetze, scheint das passende Reading gelesen zu werde. Jetzt wollte ich das Ganze als Regel machen, aber das geht nicht.

Ist mein Gedanke verkehrt?

Gruß
Ich bin kein Programmierer und habe keine Ahnung.

Raspberry PI 3B+ mit HM-MOD-RPI-PCB,     
HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-SEC-SCo
Raspberry PI 3B+ mit 7" Touchdisplay

tux75at

#71
Ich beginne gerade mich mit TableUI zu beschäftigen. Das Wetter war das erste, was ich einbinden wollte. (Es handelt sich auch um eine Testumgebung ohne Sensoren sowie Aktoren)
Nach Anfänglichen Problemen bin ich auf diesen Thread gekommen und wurde fündig.

Icons funktionieren, kleinklima und auch amcharts (Animated). Leider sind die Bilderchen RIESIG.
Mit einem Angepassten Beispielcode für "large" "normal" "small" und "tiny" habe ich zwar verschiedene Größen, aber diese sind von RIESIEG bis GIGANTISCH abgestuft (sorry für die Großbuchstaben, aber so sind die Icons)  :'(

Ich bin mir sicher, dass es ein Verständnis Problem ist, leider habe ich keine Lösung zu einem Vorposter mit ähnlichem, wenn nicht sogar gleichen, Problem gefunden.

In meinem Code steht so gut wie nichts drinnen, ausser die Einbindung von js/fhem-tablet-ui.js, der Angabe von gridster_cols und gridster_rows im Header.
Im Gridster bereich habe ich einige Bereiche definiert und in zweien dann in "sheet" "row" "cell" dann die Wetter Symbole für hfc1_iconAPI bzw fc1_iconAPI anzeigen lassen. Funktioniert, aber viel zu groß.

Fehlt vielleicht eine Angabe irgendwo? Fehlt noch eine Datei? widget_wetter.js habe ich ersetzt und die Animierten Icons habe ich in das richtige Verzeichnis kopiert.

Edit:
Nach etwas herumspielen und gleichzeitiger Anzeige von "meteocons" sowie "kleinklima" sehe ich dass die Symbole mit den gleichen Größenangaben (tiny, small ...) völlig unterschiedliche Größen haben. Ist dies ein gewünschtes verhalten? oder sollten die Symbole nicht alle gleich groß dargestellt werden?

somansch

Poste doch mal deinen kompletten Code und einen passenden Screenshot.

tux75at

#73
Also, alles rausgeschmissen und nur das notwendigste drinnen.
Bild versuche ich anzuhänen.

edit:
Header der beiden Varianten hat die gleiche Bezeichnung drinnen ... copy/paste Fehler von mir, man sieht das Problem aber trotzdem

Code:

<!DOCTYPE html>
<html>

<head>
<title>FHEM-Tablet-UI</title>
<script src="js/fhem-tablet-ui.js" defer></script>
<meta name="gridster_cols" content="10"/>
<meta name="gridster_rows" content="10"/>
</head>

<body>
<div class="gridster">
<ul>
<li data-row="1" data-col="1" data-sizex="5" data-sizey="10">
<header>Wetter kleinklima</header>
<div class ="sheet">
<div class="row">
<div class="cell">
<div class="large" data-device="OUT_Wetter" data-get="fc1_iconAPI" data-type="weather" data-imageset="kleinklima"></div>
<div class="normal" data-device="OUT_Wetter" data-get="fc1_iconAPI" data-type="weather" data-imageset="kleinklima"></div>
<div class="small" data-device="OUT_Wetter" data-get="fc1_iconAPI" data-type="weather" data-imageset="kleinklima"></div>
<div class="tiny" data-device="OUT_Wetter" data-get="fc1_iconAPI" data-type="weather" data-imageset="kleinklima"></div>
</div>
</div>
</div>
</li>
<li data-row="1" data-col="6" data-sizex="5" data-sizey="10">
<header>Wetter kleinklima</header>
<div class ="sheet">
<div class="row">
<div class="cell">
<div class="large" data-device="OUT_Wetter" data-get="fc1_iconAPI" data-type="weather" data-imageset="meteocons"></div>
<div class="normal" data-device="OUT_Wetter" data-get="fc1_iconAPI" data-type="weather" data-imageset="meteocons"></div>
<div class="small" data-device="OUT_Wetter" data-get="fc1_iconAPI" data-type="weather" data-imageset="meteocons"></div>
<div class="tiny" data-device="OUT_Wetter" data-get="fc1_iconAPI" data-type="weather" data-imageset="meteocons"></div>
</div>
</div>
</div>
</li>
</ul>
</div>
</body>
</html>

somansch

#74
Kannst du mal das aktuelle "weather_widget" über FHEM update "aktualisieren"? Ist das Verhalten dann genau so?

Ich habe es jetzt mal mit dem "alten" weather_widget getestet -> selbes Verhalten. Zum Testen musst du natürlich von DarkSky auf ProPlanta wechseln....

Es hat mit der Definition der generellen Auflösung der Gridster zu tun:
<meta name="gridster_cols" content="20"/>
<meta name="gridster_rows" content="20"/>


Wenn du diese Werte größer wählst, passen die Icons besser. Bei Flex hast du das "Problem" nicht. Ich weiß nicht, ob @setstate beim Gridster etwas diesbezüglich anpassen kann?! Es ist halt in HTML ein Unterschied, ob ein Bild (kleinklima bzw. amcharts) oder ein Symbol aus einer Schriftart (meteocons bzw. weathericons) verwendet wird.