Preços dos combustíveis melhorado para o Home-Assistant

Preços do combustível no Home-Assistant

Para obter o preço dos combustíveis do site da DGEG vão ter de mexer um bocado com as ferramentas de desenvolvimento de um browser internet de forma a descobrir o identificador único do posto de combustível onde querem ler os preços. O que estão à procura é um pedido ao site da DGEG com “/api/PrecoComb/GetDadosPostoMapa?id=” no URL.

Clicando no mapa no site da DGEG, com as ferramentas de desenvolvimento do browser abertas, quando clicarem no posto de onde querem ver os preços, por exemplo um posto no Barreiro, o pedido com os dados dos preços é feito pelo browser nesta forma:

--> https://precoscombustiveis.dgeg.gov.pt/api/PrecoComb/GetDadosPostoMapa?id=67080&f=json

Se abrirem este URL numa janela/tab nova, vão ver os dados sem a decoração, e que se pedirem 0 (zero) elemento do grupo Combustiveis, está lá a informação para o sensor:

TipoCombustivel“GPL Auto”
Preco“0,919 €/litro”

Infelizmente, os dados na DGEG misturam unidades (€/litro) de medida com valores (0,919), obrigando a alguma ginástica de pré-preparação antes de serem apresentados no Home-Assistant. Isso foi feito com o templating do Home-Assistant e algumas substituições com RegEx. Fpo também preciso lidar com o valor para que o Home-Assistant entende-se como um valor decimal:

  • float: Converte o resultado do value_json num décimal;
  • | regex_replace: substitui o texto ” €/litro” e “,”.

Para inserirem o vosso sensor RESTfull no Home-Assistant ainda é preciso editar a configuração manualmente. Abrem o vosso ficheiro config.yaml e inserem lá o URL:

sensor:
  - platform: rest
    resource: https://precoscombustiveis.dgeg.gov.pt/api/PrecoComb/GetDadosPostoMapa?id=67080&f=json
    name: "fuel_posto_67080_barreiro_gpl"
    scan_interval: 3600
    value_template: '{{ float(value_json.resultado.Combustiveis[0].Preco | regex_replace(find=" €/litro", replace="", ignorecase=True) | regex_replace(find=",", replace=".", ignorecase=True),default) }}'
    unit_of_measurement: '€'
  - platform: rest
    resource: https://precoscombustiveis.dgeg.gov.pt/api/PrecoComb/GetDadosPostoMapa?id=67080&f=json
    name: "fuel_posto_67080_barreiro_gasoleo_simples"
    scan_interval: 3600
    value_template: '{{ float(value_json.resultado.Combustiveis[2].Preco | regex_replace(find=" €/litro", replace="", ignorecase=True) | regex_replace(find=",", replace=".", ignorecase=True),default) }}'
    unit_of_measurement: '€'

Neste exemplo insiro apenas 2 sensores, mas podem repetir o exercício tantas vezes quantas quiserem. No controlo do vosso servidor Home-Assistant, depois de selecionar “REST entities and notify services”, ele recarrega os valores.

Em 2018, quando o @RodolfoVieira, da Comunidade Portuguesa de Home-Assistant (CPHA) me pediu para o ajudar a obter os preços do combustível para publicar no seu dashboard doméstico, não me passava pela cabeça que viesse a ser utilizado por outras pessoas.

Nessa altura, o site de onde íamos buscar os valores não facilitava muito a vida a quem queria incluir os dados nas suas próprias construções.

A solução na altura foi ler o conteúdo, fingindo ser um browser internet, e identificar no texto do site as partes interessantes para recolher, enviando-as ao Home-Assistant para os apresentar.

Hoje em dia, com estes sites a serem construídos com dados mais abertos, é possível obter a informação de forma mais simples para o Home-Assistant.

O Home-Assistant oferece o sensor RESTful, uma integração para este tipo de informação que, depois de algum trabalho para limpar os dados obtidos, permite obter o mesmo resultado com muito menos esforço de configuração.

Hoje, há utilizadores do CPHA que publicam os resultados obtidos, como o que hoje ilustra este post. Há também utilizadores que, por integraram o Home-Assistant com o Telegram, conseguem de qualquer lado enviar uma mensagem e receber de volta o preço dos combustíveis.

Automatizar a casa com ESPhome, desta vez com Shelly

Esta semana comecei uma nova etapa de automatizar a minha casa com ESPhome. Vou substituir os meus fieis interruptores de parede SonOff por interruptores normalíssimos, aditivados nas ligações elétricas com equipamentos Shelly, mas com o twist de os carregar com software gerado a partir do ESPhome..

Representação do Shelly 1 instalado por trás de um interruptor elétrico de parece

Com o Shelly e ESPhome é possível adicionar funcionalidades a um interruptor antigo e ainda assim evitar preocupações por ter dados nos computadores dos outros, isto é, na nuvem (Cloud) ou vir a ter código obsoleto instalado.

Por deformação profissional, vou acompanhando os males (vulnerabilidades) de que vêm sofrendo cada vez mais os sistemas de informação, mas também outros males que decorrem do uso que é dado aos nossos dados. A titulo de exemplo, vejam:

Tenho utilizado na minha casa o Home-assistant com equipamentos baseados em Espressif, os quais carrego com código aberto gerado com a ajuda do ESPhome. Esta configuração evita expor os meus dispositivos eletrónicos de controlo doméstico às redes de informação dos outros por os ligar a nuvens, ou utilizar código de software fechado, sem ter como os atualizar porque o fabricante desapareceu ou por obsolescência programada.

A grande diferença entre ter interruptores completos programáveis e ter apenas o circuito elétrico intercetado por uma peça de eletrónica programável, é que é possível escolher usar os interruptores que visualmente melhor combinam com a minha decoração.

Para quem já tenha a experiência com os ESP8266 ou ESP32 da Espressif, a maior dificuldade vai ser mesmo lidar com eletricidade a 220V (que “aleija” um bocado se nos distrairmos, para além de poder pegar fogo à casa).

Na prática, o Shelly regista as alterações de posição do interruptor físico, mudando a posição do interruptor programável através do software. Isto permite acionar a luz diretamente no interruptor ou por instrução remota via WiFi.

Esquema de ligação elétrica do Shelly 1 v3

O software que vem dentro do equipamento (firmware) Shelly faz tudo, e tem até a possibilidade de não o ligar à nuvem. Existe mesmo uma integração direta com Home-assistant para equipamento Shelly, que se pode instalar através da loja de add ons HACS.

Tendo em conta o meu objetivo de libertar o equipamento, que possivelmente também é o vosso objetivo, podem optar por substituir o firmware, através da injeção direta nos pins de programação do Shelly, com a ajuda de um adaptador ou usando a funcionalidade de substituição do firmware Shelly sobre wifi. (Esta segunda opção é, no meu entender, menos fiável porque pode falhar e ficam com o equipamento inutilizado)

Shelly 1 Pin out

Para quem não esteja muito habituado a configurações com YAML, o que não é o caso para os veteranos de Home-assistant, ou não tenha a certeza que os equipamentos que comprou possam ser utilizados com ESPhome, pode sempre consultar os exemplos de configuração ESPhome para vários equipamentos partilhados no ESPhome-Devices.

Controlar a energia elétrica lá de casa

Com a introdução no Home-assistant do Energy Dashboard, os dados de consumos energéticos que é hoje em dia possível obter nos contadores podem ser apresentados nos ecrãs de controlo do resto da casa. Para além dos dados obtidos no IoT, apresentados nos gráficos, é também utilizada a informação no site Electricity Map para obter os dados de impacto ambiental.

Home-assistant – Energy Dashboard

Em Portugal, o contador eRedes disponibiliza uma porta de comunicações que, com o conhecimento suficiente, permite recolher os dados e expor esses dados, e foi o que fiz. Recorrendo a um firmware Tasmota alterado e um script Bash que publiquei no GitHub, construi o pequeno IoT que está no meu contador e, em conjunto com o Home-assistant, regista os dados necessários para depois criar o Energy Dashboard.

Dados obtidos do contador eRedes através da integração com o Tasmota

Estatísticas de instalações do Home-Assistant

Home-Assistance analytics
Home-Assistance analytics

O Home-Assistant disponibiliza agora um conjunto de dados estatísticos da sua utilização. Estes dados eram-me desconhecidos até agora.

Aquilo que retive deste site foi que existem neste momento registadas 11866 instalações de Home-assistant em todo o mundo e que 189 são em Portugal.

Já tínhamos falado no PouparMelhor sobre o Home-assistant. Continuo fã, mas não sei se foi boa ideia terem ligado as instalações todas a um servidor de estatística quando o Home-assistant sempre foi visto como uma forma de desligarmos as nossas casas da nuvem…

Coisas que uma empresa pode fazer a um cliente, mas que um cliente não consegue fazer de volta

Os balcões virtuais, sites, atendimentos eletrónicos e outras modernices tecnológicas trouxeram-nos todo um novo modo de relacionamento com quem temos contratos ou pretendemos adquirir produtos ou serviços.

A partir do momento em que nos relacionamos pelos meios eletrónicos, damos às empresas todo um novo manancial de ferramentas para nos facilitarem as interações, mas, infelizmente, também para nos destratarem.

Há todo um mundo novo do desequilíbrio entre o cidadão individual e as pessoas coletivas.

Acredito que o respeito deve ser baseado na reciprocidade. Se alguém não nos respeita, trata-nos de maneira distinta da que espera ser tratado. Isto desequilibra substancialmente as relações quando, para além do trato social, são também dados direitos sem que tal se justifique. Mas isto é conversa para aquele outro blog.

Decidi por isso fazer uma pequena lista destas formas de tratamento que as empresas passaram a deitar mão, mas que não estão facilmente acessíveis aos cidadãos individualmente:

  1. Enviar SMS ao qual não é possível responder de volta.
  2. Gravar as interações com os clientes e recusar serviço se não o autorizarmos, enviando-nos para “as vias alternativas”.
  3. Apenas aceitar resposta por carta, mesmo quando todos os contactos iniciados pela empresa nos chegam por todos os outros meios.
  4. Por um robô a atender-nos.
  5. Entrar na nossa rede doméstica através do router que lhes alugámos, alterar configuração e não deixar qualquer registo consultável desse acesso no equipamento ou noutro lado qualquer.
  6. Solicitar o nosso número de contribuinte ou outro tipo de identificação para iniciar um contacto telefónico.

Planeta dos Humanos

Foi-me recomendado dar uma vista de olhos ao novo filme produzido por Michael Moore. Chama-se “Planeta dos Humanos“, e é visível abaixo no Youtube. Segundo a entrada no Wikipedia, estará apenas disponível durante 30 dias.

Devo dizer que não gostava dos documentários que Michael Moore produziu anteriormente. Mas este é particularmente relevante, pela hipocrisia que evidencia de muita coisa que se passa em termos da Energia Verde.

O filme deve ser de digestão muito difícil para quem “acredita” que a Energia Verde é milagrosa. O documentário desmonta alguns dos argumentos em torno essencialmente da energia proveniente de biomassa, mas também de energia solar e eólica.

Na verdade, em Portugal não sei se a situação será muito diferente. Temos poucas centrais de biomassa, e não sei em que condições funcionarão. Mas, em termos de energia eólica, uma pesquisa rápida revela o que aí vem. E em termos de energia solar, ainda estamos numa fase inicial, pelo que teremos que verificar.

No que me toca, o importante é usar o mínimo de energia em primeiro lugar. É isso que temos tentado transmitir aqui no blog desde o seu início…