widget_weather - Weather Underground + Meteocons

Begonnen von drhirn, 19 April 2018, 13:15:58

Vorheriges Thema - Nächstes Thema

drhirn

Aus der Not heraus habe ich mal alle möglichen Wetterzustände von Weather Underground auf das entsprechende Meteocons-Icon gemappt. Will ich euch nicht vorenthalten. Eventuell kann setstate es ja auch einbauen.

Die Kommentare nach jedem Zustand sind die Entsprechung für das jeweilige WeatherIcons-Icon, die habe ich jetzt einfach mal so drinnen gelassen.


var meteoconsmap = {
//Weather Underground
'Light Drizzle': 'Q', //sprinkle
'Drizzle': 'Q', //sprinkle
'Heavy Drizzle': 'R', //rain
'Light Rain': 'Q', //sprinkle
'Rain': 'R', //rain
'Heavy Rain': 'R', //rain
'Light Snow': 'U', //snow
'Snow': 'W', //snow
'Heavy Snow': 'W', //snow
'Light Snow Grains': 'U', //snow
'Snow Grains': 'W', //snow
'Heavy Snow Grains': 'W', //snow
'Light Ice Crystals': 'X', //hail
'Ice Crystals': 'X', //hail
'Heavy Ice Crystals': 'X', //hail
'Light Ice Pellets': 'X', //hail
'Ice Pellets': 'X', //hail
'Heavy Ice Pellets': 'X', //hail
'Light Hail': 'X', //hail
'Hail': 'X', //hail
'Heavy Hail': 'X', //hail
'Light Mist': 'J', //fog
'Mist': 'M', //fog
'Heavy Mist': 'M', //fog
'Light Fog': 'J', //fog
'Fog': 'M', //fog
'Heavy Fog': 'M', //fog
'Light Fog Patches': 'J', //fog
'Fog Patches': 'J', //fog
'Heavy Fog Patches': 'L', //fog
'Light Smoke': 'J', //smoke
'Smoke': 'M', //smoke
'Heavy Smoke': 'M', //smoke
'Light Volcanic Ash': 'J', //volcano
'Volcanic Ash': 'M', //volcano
'Heavy Volcanic Ash': 'M', //volcano
'Light Widespread Dust': 'J', //dust
'Widespread Dust': 'M', //dust
'Heavy Widespread Dust': 'M', //dust
'Light Sand': 'J', //dust
'Sand': 'M', //dust
'Heavy Sand': 'M', //dust
'Light Haze': 'J', //day-haze
'Haze': 'J', //day-haze
'Heavy Haze': 'L', //fog
'Light Spray': 'Q', //sprinkle
'Spray': 'Q', //sprinkle
'Heavy Spray': 'R', //sprinkle
'Light Dust Whirls': 'J', //dust
'Dust Whirls': 'M', //dust
'Heavy Dust Whirls': 'M', //dust
'Light Sandstorm': 'F', //sandstorm
'Sandstorm': 'F', //sandstorm
'Heavy Sandstorm': 'F', //sandstorm
'Light Low Drifting Snow': 'U', //snow
'Low Drifting Snow': 'W', //snow
'Heavy Low Drifting Snow': 'W', //snow
'Light Low Drifting Snow': 'U', //snow
'Low Drifting Snow': 'W', //snow
'Heavy Low Drifting Snow': 'W', //snow
'Light Low Drifting Widespread Dust': 'J', //dust
'Low Drifting Widespread Dust': 'M', //dust
'Heavy Low Drifting Widespread Dust': 'M', //dust
'Light Low Drifting Sand': 'J', //dust
'Low Drifting Sand': 'M', //dust
'Heavy Low Drifting Sand': 'M', //dust
'Light Blowing Snow': 'U', //snow-wind
'Blowing Snow': 'W', //snow-wind
'Heavy Blowing Snow': 'W', //snow-wind
'Light Blowing Widespread Dust': 'J', //dust
'Blowing Widespread Dust': 'M', //dust
'Heavy Blowing Widespread Dust': 'M', //dust
'Light Blowing Sand': 'J', //dust
'Blowing Sand': 'M', //dust
'Heavy Blowing Sand': 'M', //dust
'Light Rain Mist': 'Q', //sprinkle
'Rain Mist': 'R', //rain
'Heavy Rain Mist': 'R', //rain
'Light Rain Showers': 'R', //showers
'Rain Rain Showers': 'R', //showers
'Heavy Rain Showers': 'R', //showers
'Light Snow Showers': 'U', //snow
'Snow Showers': 'W', //snow
'Heavy Snow Showers': 'W', //snow
'Light Snow Blowing Snow Mist': 'U', //snow-wind
'Snow Blowing Snow Mist': 'W', //snow-wind
'Heavy Snow Blowing Snow Mist': 'W', //snow-wind
'Light Ice Pellet Showers': 'X', //hail
'Ice Pellet Showers': 'X', //hail
'Heavy Ice Pellet Showers': 'X', //hail
'Light Hail Showers': 'X', //hail
'Hail Showers': 'X', //hail
'Heavy Hail Showers': 'X', //hail
'Light Small Hail Showers': 'X', //hail
'Small Hail Showers': 'X', //hail
'Heavy Small Hail Showers': 'X', //hail
'Light Thunderstorm': 'O', //thunderstorm
'Thunderstorm': 'Z', //thunderstorm
'Heavy Thunderstorm': 'Z', //thunderstorm
'Light Thunderstorms and Rain': 'O', //thunderstorm
'Thunderstorms and Rain': 'Z', //thunderstorm
'Heavy Thunderstorms and Rain': 'Z', //thunderstorm
'Light Thunderstorms and Snow': 'O', //thunderstorm
'Thunderstorms and Snow': 'Z', //thunderstorm
'Heavy Thunderstorms and Snow': 'Z', //thunderstorm
'Light Thunderstorms and Ice Pellets': 'O', //thunderstorm
'Thunderstorms and Ice Pellets': 'Z', //thunderstorm
'Heavy Thunderstorms and Ice Pellets': 'Z', //thunderstorm
'Light Thunderstorms with Hail': 'O', //thunderstorm
'Thunderstorms with Hail': 'Z', //thunderstorm
'Heavy Thunderstorms with Hail': 'Z', //thunderstorm
'Light Thunderstorms with Small Hail': 'O', //thunderstorm
'Thunderstorms with Small Hail': 'Z', //thunderstorm
'Heavy Thunderstorms with Small Hail': 'Z', //thunderstorm
'Light Freezing Drizzle': 'X', //sleet
'Freezing Drizzle': 'X', //sleet
'Heavy Freezing Drizzle': 'X', //sleet
'Light Freezing Rain': 'X', //sleet
'Freezing Rain': 'X', //sleet
'Heavy Freezing Rain': 'X', //sleet
'Light Freezing Fog': 'J', //fog
'Freezing Fog': 'M', //fog
'Heavy Freezing Fog': 'M', //fog
'Patches of Fog': 'J', //fog
'Shallow Fog': 'M', //fog
'Partial Fog': 'J', //fog
'Overcast': 'H', //day-sunny-overcast
'Clear': 'B', //day-sunny
'Partly Cloudy': 'H', //day-sunny-overcast
'Mostly Cloudy': 'H', //cloud
'Scattered Clouds': 'H', //day-sunny-overcast
'Small Hail': 'X', //hail
'Squalls': 'S', //cloudy-windy
'Funnel Cloud': 'N', //cloudy
'Unknown Precipitation': ')', //na
'Unknown': ')', //na
'Chance of Flurries': 'U', //snow
'Chance of Rain': 'R', //rain
'Chance Rain': 'R', //rain
'Chance of Freezing Rain': 'X', //sleet
'Chance of Sleet': 'X', //sleet
'Chance of Snow': 'W', //snow
'Chance of Thunderstorms': 'O', //thunderstorm
'Chance of a Thunderstorm': 'O', //thunderstorm
'Clear': 'B', //day-sunny
'Cloudy': 'N', //cloudy
'Flurries': 'W', //snow
'Fog': 'M', //fog
'Haze': 'J', //day-haze
'Mostly Sunny': 'H', //day-sunny-overcast
'Partly Sunny': 'H', //day-cloudy
'Sleet': 'X', //sleet
'Sunny': 'B', //day-sunny
'Thunderstorms': 'O', //thunderstorm
'Unknown': ')', //na
'Unknown': ')', //na
'Unknown': ')', //na
'Unknown': ')', //na
}

Tomatenjoghurt

#1
In dem Zuge...ich habe vor einiger Zeit ein wenig mit dygraphs gespielt, weil mir das Android-Widget von WU so gut gefallen hat...
Ich hatte angefangen das Widget in HTML/js/CSS nachzubauen, bin aber nicht sehr weit gekommen...das Problem ist, dass mir irgendwie der Hintergrund fehlt um es in FHEM bzw FTUI einzubinden. Evtl kann sich das ja auch setstate oder ein anderer fähigerer Entwickler einmal anschauen und ggf. mit in FTUI aufnehmen :)

Beigefügt in der .zip-Datei eine Beispieldatei (data.html) wo lediglich die beiden Variablen
var weatherStation = ' ';
var apiKey = ' ';
entsprechend gefüttert werden müssen. weatherStation ist natürlich die ID der Wetterstation in WU und apiKey eben euer persönlicher apiKey...die dygraph-Dateien sind auch schon mit drin. Achtung, ich hab als apikey mit dem Anvil Plan (das höchste, was man kostenlos bekommen kann) gearbeitet, da für das Widget die 10-Tages-Vorhersage genutzt wird.

Wenn ihr dann die data.hmtl im browser öffnet, sollte das in etwa so aussehen wie auf dem Screenshot unten :)
Der rote Graph stellt den Temperaturverlauf im Laufe des Tages dar während blau die Niederschlagswahrscheinlichkeit darstellt.

Meine Idee war eigentlich das WU Widget ähnlich dem Departure-Widget aufzubauen - in Design und Funktionalität. Aber wie gesagt, irgendwie scheitere ich hier am Hintergrundwissen zu FTUI und FHEM...