Openhab - appunti sparsi sulla configurazione del binding weather

Weather Binding

ATTENZIONE! è fatto per OpenHab1, funziona ma ci sono dei workaround da seguire.

Con OpenWeatherMap non funzionano le previsioni.

OpenWeatherMap annuncia che con il piano free ci sono le previsioni per 5 giorni invece quando ti registri i giorni diventano 0.

Sui forum dicono che quelli che chiamano forecast (selezionabili giorno per giorno), sono quelli dei 16 gg. Sono passati recentemente dalla versione beta a quella definitiva e i 16gg non sono più inclusi nel free plan.

Il binding di Openhab usa ancora le API vecchie che quindi risultano non comprese.

5gg api.openweathermap.org/data/2.5/forecast?id={city ID}

16gg api.openweathermap.org/data/2.5/forecast/daily?q={city name},{country code}&cnt={cnt}

non puoi più specificare giorno per giorno ma le da per tutti e 5 i giorni

Ho usato quindi Wundergound

crei una nuova configurazione per il binding su un altro provider cambi il nome della configurazione su tutti gli item che hai configurato (cerca/cambia) oppure commenti la vecchia configurazione e nomini la nuova allo stesso modo senza cambiare altro.

Per usare l'esempio di pannello html ho dovuto fare un po' di trucchi (ovviamente copiati da qualcuno che ci era già capitato) perché su OH2 hanno spostato i path delle cartelle pubblicate.

l'esempio di forecast html che forniscono sulla pagina del binding (la cartella weather-data) va messa in /etc/openhab2/html (la vecchia posizione dei contenuti html) ma va creato un link simbolico in /var/lib/openhab2/webapps (la nuova posizione)

cd /var/lib/openhab2/webapps/
ln -s /etc/openhab2/html/weather-data/ weather-data

alcune icone presenti in images devono essere copiate:

sunny.png -> clear.png
mostly-cloudy-day.png -> mostly-cloudy.png
partly-cloudy-day.png -> partly-cloudy.png

per renderlo compatibile con tutti i servizi metereologici che forniscono anche il nome dell'icona da usare per le previsioni. Alcuni servizi forniscono invece il link alla loro icona

avevo abilitato i debug di tutti i binding a livello trace e non mi ricordavo più quali Avevo un bobardamento di scritture ad ogni evento. si possono modificare i livelli di debug a mano nel file

/var/lib/openhab2/etc/org.ops4j.pax.logging.cfg

per visualizzare in una unica stringa due valori occorre usare le rules: in weather.items

Number  Wind_Speed  " [%.2f km/h]"    (Weather)   {weather="locationId=roma, type=wind, property=speed"}
String  Wind_Direction  " [%s]"       (Weather)   {weather="locationId=roma, type=wind, property=direction"}
String  Wind    "Vento [%s]"    

c'è una nuova stringa Wind che non fa riferimento a nessun parametro

poi in wind.rules

rule "concat"
when
  Item Wind_Speed received update or
  Item Wind_Direction received update
then
  Wind.postUpdate(Wind_Speed.state.toString + " km/h  " + Wind_Direction.state.toString)
end

In sitemap

Text item=Wind

Guido Ottaviani (Autore/Progettista elettronico-firmware-robotica)
Si occupa della progettazione elettronica e del firmware di sistemi embedded per la Robotica e applicazioni industriali e civili oltre che di divulgazione tecnica su internet.
http://www.guiott.com - https://github.com/guiott - guido@guiott.com



Le attività del TanzoLab si svolgono ogni mercoledi sera, salvo casi speciali, dalle ore 18:30 presso i locali della Acme Systems srl e consistono in:

  • Talk monotematici a cura di professionisti in vari settori tecnologici
  • Workshop pratici su elettronica embedded, produzione e informatica
  • Progettazione e realizzazione di nuovi prodotti embedded per l'IT

Le attività vengono coordinate tramite questo sito, in cui vengono pubblicati tutti i lavori svolti o in via di sviluppo, e tramite un gruppo Telegram con cui per interagire direttamente via chat con gli altri membri.