Weather Platform - IPMA


(Diogo Gomes) #1

(DEPRECATED: O ipma é agora um componente oficial, não utilizar esta versão)

O IPMA (Instituto Português do Mar e Atmosfera) disponibiliza informação meteorológica para Portugal continental e ilhas.

Como os providers existentes nem sempre dão a melhor previsão desenvolvi um novo componente:

Testem, e se tudo estiver bem será submetido como componente oficial


(Jorge Assunção) #2

Vou já tratar disso! Eu já estava na cama…


(Jorge Assunção) #3

@dgomes, como é que se activa isto no HA??

weather: ??


(Diogo Gomes) #4

Ups… :slight_smile: é fácil:

weather: ipma


(Jorge Assunção) #5

Já está a reiniciar! :hugs:


(Jorge Assunção) #6

Deu erro…

2018-05-30 00:19:47 ERROR (MainThread) [homeassistant.config] Invalid config for [weather]: expected a dictionary. Got OrderedDict([('homeassistant', OrderedDict([('name', 'Casa'), ('latitude', 38.782591), ('longitude', -9.322595), ('elevation', 150), ('unit_system', 'metric'), ('temperature_unit', 'C'), ('time_zone', 'Europe/Lisbon'), ('whitelist_external_dirs', ['/config/cam_snapshots', '/share/motion']), ('customize', OrderedDict([('sensor.jorge_status', OrderedDict([('entity_picture', 'https://universe-network.duckdns.org/local/jorge_assuncao_480x480.jpg'), ('show_last_changed', True)])), ('sensor.jorge_g.... (See ?, line ?). Please check the docs at https://home-assistant.io/components/weather/

A configuração está assim:

#### IPMA
weather: ipma

Não tem espaços antes, está ao mesmo nível de mqtt: por exemplo


(Diogo Gomes) #7

My bad…

weather:
  - platform: ipma

Vi o teu comentário e saiu a resposta de cabeça em vez de usar o q funciona :smiley:


Xiaomi mijia gateway
(Jorge Assunção) #8

Eu estranhei e já tinha alterado antes de responderes, está a acabar de reiniciar. Já dou novidades.


(Jorge Assunção) #9

@dgomes

2018-05-30 00:35:24 ERROR (MainThread) [homeassistant.components.weather] ipma: Error on device update!
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py", line 244, in _async_add_entity
    await entity.async_device_update(warning=False)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 325, in async_device_update
    yield from self.async_update()
  File "/config/custom_components/weather/ipma.py", line 87, in async_update
    self._condition = await self._station.observation()
  File "/config/deps/lib/python3.6/site-packages/pyipma/station.py", line 96, in observation
    params={"selLocal": localID})
UnboundLocalError: local variable 'localID' referenced before assignment

(Diogo Gomes) #10

Ultima versão ja tem correcção :slight_smile:


(Jorge Assunção) #11

Já está a funcionar!

tab_meteo

Excelente trabalho @dgomes! Agora falta o widget para AppDaemon/HADashboard…


(Rodolfo) #12

Essa informação do nome dos dias vai aparecer em Português?


(Diogo Gomes) #13

Se o HA estiver em português sim :slight_smile:

Eu não fiz o UI, apenas o backend


(Ricardo Silva) #14

Vou pedir coisas a mais :stuck_out_tongue:
Dá para ficar como esse por exemplo:

E já agora top o teu work!!!


(Diogo Gomes) #15

Podes combinar os dois sem qualquer problema.


(Ricardo Silva) #16

Estava a tentar pôr e meti no ficheiro configuration-yaml mas dá me o erro:
Platform not found: weather.ipma

Suponho eu que é como disseste, pelo facto de não ser um componente oficial ainda. Como devo proceder para instalar, onde coloco o ficheiro ipma.py?

Obrigado.


(Diogo Gomes) #17

Como custom component o local certo é:

~/.homeassistant/custom_components/weather/


(Frederico Oliveira) #18

Lá vou testar mais logo isto e tirar o dark_sky… nada como ter as coisas em portugues
A localização vai buscar pelo long lat ou é preciso uma API para este componente?


(Jorge Assunção) #19

A latitude e longitude que tens na configuração do HA é o suficiente


(Rodolfo) #20

@Frederico_Oliveira o dark também funciona em Português, tens é que por lingua PT na plataforma se tiveres dúvidas nisso abre um novo tópico em dúvidas não fales disso aqui neste tópico.