Sensor - Monitorar o preço médio da Gasolina na sua cidade V2 - Calculo Preço x Litros

Bom dia galera, recentemente fiz um tutorial para extrair os dados do preço médio da gasolina na sua cidade.

Agora fiz um esquema para calcular baseado nos litros e esse preço, o quanto vc gastaria, ou gasta, para encher seu tanque, ou também para calcular x litros.

Então siga o primeiro tópico até o final para poder continuar com esse.

Sensor - Monitorar o preço médio da Gasolina na sua cidade

1- Crie um input_text no HA, com o nome que desejar, no meu fiz assim:

2- No Node-red agora devemos linkar esse input text com o preço anterior e dai o cálculo fica fácil.
Segue o fluxo do node atualizado.

[{"id":"1710dad3.e6e22d","type":"ha-api","z":"4c37a5b6.d894bc","name":"","server":"d854bbe5.321208","version":1,"debugenabled":false,"protocol":"http","method":"post","path":"/api/states/{{entity_id}}","data":"","dataType":"json","responseType":"json","outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"results"}],"x":1690,"y":1760,"wires":[[]]},{"id":"e8252d457403bade","type":"inject","z":"4c37a5b6.d894bc","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"43200","crontab":"","once":false,"onceDelay":0.1,"topic":"","payloadType":"date","x":890,"y":1920,"wires":[["2fc409a9b4d738ce"]]},{"id":"2fc409a9b4d738ce","type":"http request","z":"4c37a5b6.d894bc","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://precodoscombustiveis.com.br/pt-br/city/brasil/parana/curitiba/4005","tls":"","persist":false,"proxy":"","authType":"","x":1070,"y":1920,"wires":[["98cb23eda0d2b002"]]},{"id":"98cb23eda0d2b002","type":"html","z":"4c37a5b6.d894bc","name":"Selector","property":"payload","outproperty":"payload","tag":"#ListCountry > div:nth-child(3) > div.col-xl-3.p-5.pr-md-5.pl-md-4.pt-md-2 > div:nth-child(2) > div > span:nth-child(5)","ret":"html","as":"single","x":1240,"y":1920,"wires":[["a3e50fb53095b32e"]]},{"id":"a3e50fb53095b32e","type":"function","z":"4c37a5b6.d894bc","name":"","func":"msg.payload = parseFloat(msg.payload[0].replace('R$ ',''))\nglobal.set('preco_gasolina', msg.payload) \n\nmsg.entity_id = 'sensor.gasolina_media_curitiba'\n\nmsg.payload = {\n    data: {\n        state: msg.payload,\n        attributes: {\n            friendly_name: 'gasolina_media_curitiba',\n            unit_of_measurement: 'R$'\n        }\n    }\n};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1400,"y":1920,"wires":[["1710dad3.e6e22d"]]},{"id":"fc60332d07f234aa","type":"comment","z":"4c37a5b6.d894bc","name":"GASOLINA","info":"","x":870,"y":1880,"wires":[]},{"id":"0bb102d62bda9bd7","type":"function","z":"4c37a5b6.d894bc","name":"","func":"msg.preco_gasolina = global.get('preco_gasolina')\nmsg.qtde_litros = parseFloat(msg.qtde_litros)\n\n\nmsg.resultado = msg.qtde_litros * msg.preco_gasolina\n\nmsg.entity_id = 'sensor.gasolina_media_curitiba_preco_litros'\n\nmsg.payload = {\n    data: {\n        state: msg.resultado,\n        attributes: {\n            friendly_name: 'gasolina_media_curitiba_preco_litros',\n            unit_of_measurement: 'R$'\n        }\n    }\n};\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1420,"y":2080,"wires":[["1710dad3.e6e22d"]]},{"id":"5c92c2c92c6ec5b8","type":"api-current-state","z":"4c37a5b6.d894bc","name":"","server":"d854bbe5.321208","version":2,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_text.input_qtde_litros","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"qtde_litros","propertyType":"msg","value":"","valueType":"entityState"}],"override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":1140,"y":2080,"wires":[["0bb102d62bda9bd7"]]},{"id":"693d1586d42eabf9","type":"server-state-changed","z":"4c37a5b6.d894bc","name":"","server":"d854bbe5.321208","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_text.input_qtde_litros","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"qtde_litros","propertyType":"msg","value":"","valueType":"entityState"}],"x":1140,"y":2140,"wires":[["0bb102d62bda9bd7"]]},{"id":"e50db714a3a7e462","type":"inject","z":"4c37a5b6.d894bc","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":880,"y":2080,"wires":[["5c92c2c92c6ec5b8"]]},{"id":"be61902a1db17c96","type":"comment","z":"4c37a5b6.d894bc","name":"Pegar as infos do input qtde de litros e converter","info":"","x":980,"y":2040,"wires":[]},{"id":"d854bbe5.321208","type":"server","name":"Home Assistant","version":1,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

Depois no HA é só montar, e conforme vc alterar o campo de input ele já calcula automático.

Valeu!

image

1 Like

parabéns… interessante demais, mandou bem :call_me_hand:

1 Like