[FTUI3ß] Andere Wettericons

Begonnen von grossmaggul, 06 Januar 2021, 14:19:07

Vorheriges Thema - Nächstes Thema

Risiko

Hallo Zusammen,

ich würde (wenn keine Einwände) mit dieser Version ins Rennen gehen (pull request an setstate senden).
1. Provider "proplantaICON_LONG" ersetzt replace
2. icons-set "bas2" für Entfernung von "bas_" im Dateinamen.

Zudem würde ich in  weather eine Warnung (im Log) einbauen, dass icons-set bas zukünftig durch bas2 ersetzt wird.

Feedback willkommen.

Risiko

yersinia

#46
Zitat von: Risiko am 05 Januar 2022, 22:03:222. icons-set "bas2" für Entfernung von "bas_" im Dateinamen.
Vielleicht habe ich das verpennt oder überlesen, aber kann man hier bas einfach so ersetzen? Wenn man sich die Quelle anschaut, gibt es zwei Versionen: fill und line. Wie wählt der Benutzer denn die richtigen Icons aus? Nach seinem Gusto?
Ich hatte mal vorgeschlagen zwischen basfill und basline zu unterscheiden [1] [2]. Dies ist der Stand vom Januar 2021:
basfill: {
    CLEAR: './icons/weather/bas/fill/all/clear-night.svg',
    CLOUDLESS: './icons/weather/bas/fill/all/clear-day.svg',
    SUNNY: './icons/weather/bas/fill/all/clear-day.svg',
    FAIR: './icons/weather/bas/fill/all/partly-cloudy-day.svg',
    PARTLY_CLOUDY: './icons/weather/bas/fill/all/partly-cloudy-day.svg',
    MOSTLY_CLOUDY: './icons/weather/bas/fill/all/cloudy.svg',
    CLOUDY: './icons/weather/bas/fill/all/cloudy.svg',
    VERY_CLOUDY: './icons/weather/bas/fill/all/cloudy.svg',
    OVERCAST: './icons/weather/bas/fill/all/cloudy.svg',
    FOGGY: './icons/weather/bas/fill/all/mist.svg',
    DRIZZLE: './icons/weather/bas/fill/all/drizzle.svg',
    LIGHT_SHOWERS: './icons/weather/bas/fill/all/drizzle.svg',
    SHOWERS: './icons/weather/bas/fill/all/rain.svg',
    RAIN_SNOW: './icons/weather/bas/fill/all/snow.svg',
    SNOW_SHOWER: './icons/weather/bas/fill/all/snow.svg',
    THUNDERSTORM: './icons/weather/bas/fill/all/thunderstorms.svg',
    SNOW: './icons/weather/bas/fill/all/snow.svg',
    SCATTERED_THUNDERSTORM: './icons/weather/bas/fill/all/thunderstorms.svg',
    CLEAR_NIGHT: './icons/weather/bas/fill/all/clear-night.svg',
    PARLY_CLOUDY_NIGHT: './icons/weather/bas/fill/all/partly-cloudy-night.svg',
    CLOUDY_NIGHT: './icons/weather/bas/fill/all/cloudy.svg',
    MOSTLY_CLOUDY_NIGHT: './icons/weather/bas/fill/all/partly-cloudy-night.svg',
    LIGHT_SHOWERS_NIGHT: './icons/weather/bas/fill/all/partly-cloudy-night-drizzle.svg',
    SHOWERS_NIGHT: './icons/weather/bas/fill/all/partly-cloudy-night-rain.svg',
    THUNDERSTORM_NIGHT: './icons/weather/bas/fill/all/thunderstorms.svg',
    FOGGY_NIGHT: './icons/weather/bas/fill/all/mist.svg',
    NA: './icons/weather/bas/fill/all/thermometer.svg'
  },
  basline: {
    CLEAR: './icons/weather/bas/line/all/clear-night.svg',
    CLOUDLESS: './icons/weather/bas/line/all/clear-day.svg',
    SUNNY: './icons/weather/bas/line/all/clear-day.svg',
    FAIR: './icons/weather/bas/line/all/partly-cloudy-day.svg',
    PARTLY_CLOUDY: './icons/weather/bas/line/all/partly-cloudy-day.svg',
    MOSTLY_CLOUDY: './icons/weather/bas/line/all/cloudy.svg',
    CLOUDY: './icons/weather/bas/line/all/cloudy.svg',
    VERY_CLOUDY: './icons/weather/bas/line/all/overcast.svg',
    OVERCAST: './icons/weather/bas/line/all/overcast.svg',
    FOGGY: './icons/weather/bas/line/all/mist.svg',
    DRIZZLE: './icons/weather/bas/line/all/drizzle.svg',
    LIGHT_SHOWERS: './icons/weather/bas/line/all/drizzle.svg',
    SHOWERS: './icons/weather/bas/line/all/rain.svg',
    RAIN_SNOW: './icons/weather/bas/line/all/snow.svg',
    SNOW_SHOWER: './icons/weather/bas/line/all/snow.svg',
    THUNDERSTORM: './icons/weather/bas/line/all/thunderstorms-day.svg',
    SNOW: './icons/weather/bas/line/all/snow.svg',
    SCATTERED_THUNDERSTORM: './icons/weather/bas/line/all/thunderstorms-day.svg',
    CLEAR_NIGHT: './icons/weather/bas/line/all/clear-night.svg',
    PARLY_CLOUDY_NIGHT: './icons/weather/bas/line/all/partly-cloudy-night.svg',
    CLOUDY_NIGHT: './icons/weather/bas/line/all/overcast.svg',
    MOSTLY_CLOUDY_NIGHT: './icons/weather/bas/line/all/partly-cloudy-night.svg',
    LIGHT_SHOWERS_NIGHT: './icons/weather/bas/line/all/partly-cloudy-night-drizzle.svg',
    SHOWERS_NIGHT: './icons/weather/bas/line/all/partly-cloudy-night-rain.svg',
    THUNDERSTORM_NIGHT: './icons/weather/bas/line/all/thunderstorms-night.svg',
    FOGGY_NIGHT: './icons/weather/bas/line/all/mist.svg',
    NA: './icons/weather/bas/line/all/thermometer.svg'
  },

Oder renn' ich hier in die falsche Richtung?



EDIT: anbei basierend auf deiner Version eine Erweiterung um basfill, basline und weathericons angehängt.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

mr_petz

@Risiko

Und bitte gleich noch die meteocons mit eintragen:

  meteocons: {
    CLOUDLESS: './icons/sun.svg',
    SUNNY: './icons/sun.svg',
    FAIR: './icons/sun.svg',
    PARTLY_CLOUDY: './icons/cloudy.svg',
    MOSTLY_CLOUDY: './icons/cloud11.svg',
    CLOUDY: './icons/cloud11.svg',
    VERY_CLOUDY: './icons/cloudy1.svg',
    OVERCAST: './icons/cloudy1.svg',
    FOGGY: './icons/lines.svg',
    DRIZZLE: './icons/rainy.svg',
    LIGHT_SHOWERS: './icons/rainy.svg',
    SHOWERS: './icons/rainy1.svg',
    RAIN_SNOW: './icons/weather3.svg',
    SNOW_SHOWER: './icons/snowy.svg',
    THUNDERSTORM: './icons/lightning1.svg',
    SNOW: './icons/snowy2.svg',
    SCATTERED_THUNDERSTORM: './icons/sunny-sleet-storm.svg',
    HAZE: './icons/weather.svg',   
    CLOUDLESS_NIGHT: './icons/moon.svg',
    FAIR_NIGHT: './icons/moon.svg',
    PARTLY_CLOUDY_NIGHT: './icons/cloud1.svg',
    MOSTLY_CLOUDY_NIGHT: './icons/cloud11.svg',
    CLOUDY_NIGHT: './icons/cloud11.svg',
    VERY_CLOUDY_NIGHT: './icons/cloudy1.svg',
    OVERCAST_NIGHT: './icons/cloudy1.svg',
    LIGHT_SHOWERS_NIGHT: './icons/rainy.svg',
    SHOWERS_NIGHT: './icons/rainy1.svg',
    THUNDERSTORM_NIGHT: './icons/lightning1.svg',
    SCATTERED_THUNDERSTORM_NIGHT: './icons/lightning2.svg',
    SNOW_SHOWER_NIGHT: './icons/snowy.svg',
    SNOW_NIGHT: './icons/snowy2.svg',
    RAIN_SNOW_NIGHT: './icons/weather3.svg',
    HAZE_NIGHT: './icons/weather1.svg',
    FOGGY_NIGHT: './icons/lines.svg',
    DRIZZLE_NIGHT: './icons/rainy.svg',
    NA: './icons/none.svg',
    CLEAR: './icons/moon.svg',   
  }


Wie hier schon beschrieben...:
https://forum.fhem.de/index.php/topic,117473.msg1196674.html#msg1196674

@yersinia
guter Gedanke!

Danke und LG mr_petz

Risiko


mr_petz

Von meiner Seite ok.
Es wird sicherlich nicht ausbleiben dass sich mal wieder was in irgend einer Form ändert...
LG mr_petz

yersinia

Sieht gut aus von meiner Seite. Danke. :)

Eine Frage noch: wie wird die Liste eigentlich richtig aufgebaut? Wird das letzte Listenelement mit oder ohne Komma abgeschlossen?
[...]
    HAZE_NIGHT: '../images/default/weather/haze_night.png'
  },
  bas: {
[...]

vs
[...]
    CLEAR: './icons/moon.svg',   
  },
  weathericons: {
[...]

?

Bezüglich der Bas Icons sollte man auf den veränderten Pfad bei fill und line Hinweisen - ich habe den aus der Quelle übernommen:
line: THUNDERSTORM:'./icons/weather/bas/line/all/thunderstorms-day.svg',
fill: THUNDERSTORM:'./icons/weather/bas/fill/all/thunderstorms-day.svg',
bas (alt): THUNDERSTORM:'./icons/weather/bas/bas_thunderstorms-day.svg',
Wenn Benutzer das umstellen, werden sie im icon path die Variable anpassen müssen. Ist zwar ein einmaliges Suchen&Ersetzen, aber es muss getan werden.

Da die Bas icons afaik aber nicht via FTUI3 ausgeliefert werden, muss der Benutzer sowieso aktiv werden sollte er diese nutzen wollen.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

setstate

Zitat von: yersinia am 07 Januar 2022, 07:57:45
Sieht gut aus von meiner Seite. Danke. :)

Eine Frage noch: wie wird die Liste eigentlich richtig aufgebaut? Wird das letzte Listenelement mit oder ohne Komma abgeschlossen?
[...]
    HAZE_NIGHT: '../images/default/weather/haze_night.png'
  },
  bas: {
[...]

vs
[...]
    CLEAR: './icons/moon.svg',   
  },
  weathericons: {
[...]

?

Sehr gut Frage. Ich dachte, ich hätte das auch in der .eslintrc.json definiert, war aber nicht so.
Füge ich gleich ein:


    "comma-dangle": [
      "error",
      "always-multiline"
    ],


Warum das besser mit comma in Multiline ist - Erklärung hier:

https://eslint.org/docs/rules/comma-dangle




torte

Hallo zusammen,

könnte noch openweatherAPI als Provider aufgenommen werden? Ich nutze das und nach jedem Update kopiere ich mir das in die weather.map.js

Danke und Grüße
Torte


  openweatherAPI: {
   '01d': 'SUNNY',
   '02d': 'PARTLY_CLOUDY',
   '03d': 'MOSTLY_CLOUDY',
   '04d': 'CLOUDY',
   '09d': 'LIGHT_SHOWERS',
   '10d': 'SHOWERS',
   '11d': 'THUNDERSTORM',
   '13d': 'SNOW',
   '50d': 'FOGGY',
   '01n': 'CLOUDLESS_NIGHT',
   '02n': 'FAIR_NIGHT',
   '03n': 'MOSTLY_CLOUDY_NIGHT',
   '04n': 'OVERCAST',
   '09n': 'LIGHT_SHOWERS',
   '10n': 'SHOWERS_NIGHT',
   '11n': 'THUNDERSTORM_NIGHT',
   '13n': 'SNOW',
   '50n': 'FOGGY_NIGHT',
   nb: 'NA'
  },

yersinia

Aus dem Hauptthread: ein weiterer Vorschlag um DWD als provider hinzuzufügen.
  dwd: {
    'äußerst heftiger Regenschauer': 'SHOWERS',
    'Bewölkung abnehmend': 'PARTLY_CLOUDY',
    'Bewölkung unverändert': 'CLOUDY',
    'Bewölkung zunehmend': 'OVERCAST',
    'Bewölkungsentwicklung nicht beobachtet': 'SUNNY',
    'durchgehend leichter Regen': 'SHOWERS',
    'durchgehend leichter Schneefall': 'SNOW',
    'durchgehend leichter Sprühregen': 'DRIZZLE',
    'durchgehend mäßiger Regen': 'SHOWERS',
    'durchgehend mäßiger Schneefall': 'SNOW',
    'durchgehend mäßiger Sprühregen': 'DRIZZLE',
    'durchgehend starker Regen': 'SHOWERS',
    'durchgehend starker Schneefall': 'SNOW',
    'durchgehend starker Sprühregen': 'DRIZZLE',
    'leichter gefrierender Regen': 'RAIN_SNOW',
    'leichter gefrierender Sprühregen': 'RAIN_SNOW',
    'leichter Regenschauer': 'scatteredSHOWERS',
    'leichter Schneeregen': 'RAIN_SNOW',
    'leichter Schneeregenschauer': 'RAIN_SNOW',
    'leichter Schneeschauer': 'SNOW',
    'leichter Sprühregen mit Regen': 'SHOWERS',
    'leichtes oder mäßiges Gewitter mit Graupel oder Hagel': 'SCATTERED_THUNDERSTORM',
    'leichtes oder mäßiges Gewitter mit Regen oder Schnee': 'SCATTERED_THUNDERSTORM',
    'mäßiger oder starker gefrierender Regen': 'RAIN_SNOW',
    'mäßiger oder starker gefrierender Sprühregen': 'RAIN_SNOW',
    'mäßiger oder starker Graupelschauer': 'THUNDERSTORM',
    'mäßiger oder starker Hagelschauer': 'THUNDERSTORM',
    'mäßiger oder starker Regenschauer': 'SHOWERS',
    'mäßiger oder starker Schneeregen': 'RAIN_SNOW',
    'mäßiger oder starker Schneeregenschauer': 'RAIN_SNOW',
    'mäßiger oder starker Schneeschauer': 'SNOW',
    'mäßiger oder starker Sprühregen mit Regen': 'SHOWERS',
    'Nebel in einiger Entfernung': 'FOGGY',
    'Nebel in Schwaden oder Bänken': 'FOGGY',
    'Nebel mit Reifansatz, Himmel erkennbar': 'FOGGY',
    'Nebel mit Reifansatz, Himmel nicht erkennbar': 'FOGGY',
    'Nebel, Himmel erkennbar, dichter werdend': 'FOGGY',
    'Nebel, Himmel erkennbar, dünner werdend': 'FOGGY',
    'Nebel, Himmel erkennbar, unverändert': 'FOGGY',
    'Nebel, Himmel nicht erkennbar, dichter werdend': 'FOGGY',
    'Nebel, Himmel nicht erkennbar, dünner werdend': 'FOGGY',
    'Nebel, Himmel nicht erkennbar, unverändert': 'FOGGY',
    'Sicht durch Rauch oder Asche vermindert': 'FOGGY',
    'starkes Gewitter mit Graupel oder Hagel': 'THUNDERSTORM',
    'starkes Gewitter mit Regen oder Schnee': 'THUNDERSTORM',
    'starkes Gewitter mit Sandsturm': 'THUNDERSTORM',
    'unterbrochener leichter Regen oder einzelne Regentropfen': 'SHOWERS',
    'unterbrochener leichter Schneefall oder einzelne Schneeflocken': 'SNOW',
    'unterbrochener leichter Sprühregen': 'DRIZZLE',
    'unterbrochener mäßiger Regen': 'SHOWERS',
    'unterbrochener mäßiger Schneefall': 'SNOW',
    'unterbrochener mäßiger Sprühregen': 'DRIZZLE',
    'unterbrochener starker Regen': 'SHOWERS',
    'unterbrochener starker Schneefall': 'SNOW',
    'unterbrochener starker Sprühregen': 'DRIZZLE',
  },
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Grisu1079

Hallo,

Zitat von: yersinia am 23 August 2022, 11:05:45
Aus dem Hauptthread: ein weiterer Vorschlag um DWD als provider hinzuzufügen.
  dwd: {
    'äußerst heftiger Regenschauer': 'SHOWERS',
    'Bewölkung abnehmend': 'PARTLY_CLOUDY',
.....
  },


Danke vom Ansatz her ein Anfang, allerdings liefert das wenn man z.B. als IconSet KleinKlimaSVG oder die Bas-Sets für Tag und Nacht nur die Tag-Symbole/Icons. Außerdem finde ich (persönliche Meinung) die Heranziehung der Texte (wo ja auch mal wieder irgendjemand Rechtschreibungen/Schreibweisen/Sprache ändern könnte) nicht so toll.
Parallel zu den ausformilierten Readings endend auf _wwd (z.B.fc0_13_wwd) liefert das DWD Modul ja auch je Wetterzustand über _ww (fc0_13_ww) auch eine Art-Icon-Nr./Code. Allerdings ist das nur die halbe Wahrheit, denn für Tag/Nacht gehört dazu noch ein auf _SunUp endendes Readings (z.B. fc0_13_SunUp) welche 0 für Nacht und 1 für Tag liefert.

Ich habe mir mal ein Kopie von ftui-weather angelegt welche ich einfach mal ftui-myweather genannt habe. Ich habe die zwei zugeörigen Dateien angehangen.
Was habe ich darin gegenüber ftui-weather geändert (neben dem Umbenennen, damit das nicht sofort nach einem Update weg ist):

  • myweather.map.js: Provider "dwdICON" eingebaut welcher so Tabelleneinträge hat wie z.B. "'d18': 'SHOWERS'," und analog "'n18': 'SHOWERS_NIGHT'," d.h. immer d/n für Tag/Nacht (SunUp=1 bzw. =0) und die Zahl für das über vom DWD-Modul gelieferte _ww Nummer
  • myweather.component.js:mit '' vorbelegtes Property sunup ergänzt und für insbesonder für den Provider "dwdICON" die Behandlung von "content" und neu "sunup" in "onAttributeChanged(name, newValue)" angepasst, so dass beide Attribute zusammenwirken (ich habe leider keinen Weg bisher entdeckt einem Property eines FTUI-Elements die Werte aus zwei Readings also in dem Fall _ww und _SunUp kombiniert zu übergegeben)
  • der Aufruft geht dann z.B. via
    <ftui-myweather size="0" [condition]="DWD2:fc0_0_ww" [sunup]="DWD2:fc0_0_SunUp" icon-set="kleinklimaFHEM" provider="dwdICON"></ftui-myweather>

Ich hätte nichts dagegen natürlich wenn diese Ergänzungen/Anpassungen welche nichts ander bisherigen Funktion stören sollte in das eigentlich ftui-weather einziehen würden, komme aber auch zumindest für mich erstmal so klar.

Grüße
Markus

Dracolein

#55
Hi zusammen,

ich habe seit längerem mal wieder ein defektes Wetter-Icon in meiner FTUI3-Darstellung.

Das Proplanta-Modul liefert mir
weatherIcon

https://www.proplanta.de/wetterdaten/images/symbole/t0.gif


mit Ergebnis "N/A" in meiner grafischen Übersicht. Die überlieferte URL gibt bei mir derzeit im Browser auch ein "404 Not Found"

Meine seit Monaten unveränderte Definition:
<ftui-weather popup-target="wettervorhersage" class="size-7" icon-set="basline" provider="proplantaICON" [condition]="WetterProplanta:weatherIcon | replace('https://www.proplanta.de/wetterdaten/images/symbole/','') | replace('.gif','')"></ftui-weather>
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

mr_petz

#56
Ist klar t0 gibt es in der map nicht.:
https://github.com/knowthelist/ftui/blob/master/www/ftui/components/weather/weather.map.js#L30
Hat da Proplanta was geändert???
Ich forsche mal nach...

Edit:
Nein. Das icon gibt es bei Proplanta nicht:
https://www.proplanta.de/wetterdaten/images/symbole/t0.gif

LG

Dracolein

Ich hab nun ein
set WetterProplanta update
durchgeführt und jetzt wurde das Reading, bzw. die URL ersetzt durch ein *.t1.gif

Kurios...
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

mr_petz

Du könntest noch zur Not ein replace t0 zu t1 anhängen falls es nochmal auftritt...
LG

cotecmania

#59
Hallo,

als ich gerade meine Wetterinfos auf FTUI3 umstellen wollte habe ich ein falsches Mapping in FTUI3 bemerkt.
Es gibt in FTUI3 keinen Unterschied mehr zwischen "stark bewölkt" und "bedeckt" und "wolkig" ist nun "stark bewölkt"
Siehe Screenshots ...

Kann das gefixt werden ...

Gruss
Joe

FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI