Gerar UUIDs com HA apertando um botão! (Fácil)

Boa povo, mais um tutorial super easy.

Resultado Final:
Ao apertar o botão, um ID único é gerado.

image

Requisitos:

1 → Node-red

Passos:

1 → Importar o código no node-red

[{"id":"4ea5622ef5c4ad67","type":"comment","z":"f727fdcc.c16a4","name":"Gerar UUID","info":"60 requests per minute per IP address","x":130,"y":2020,"wires":[]},{"id":"29e61c1a9013c6cb","type":"http request","z":"f727fdcc.c16a4","name":"","method":"GET","ret":"obj","paytoqs":"body","url":"https://www.uuidtools.com/api/generate/v1","tls":"","persist":false,"proxy":"","authType":"","senderr":false,"x":450,"y":2080,"wires":[["56c8789dea2a9890"]]},{"id":"e6ae3992625e6541","type":"ha-api","z":"f727fdcc.c16a4","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":930,"y":2080,"wires":[[]]},{"id":"81a670804cfd9771","type":"server-state-changed","z":"f727fdcc.c16a4","name":"","server":"d854bbe5.321208","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_button.gerar_uuid","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":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":210,"y":2080,"wires":[["29e61c1a9013c6cb"]]},{"id":"56c8789dea2a9890","type":"function","z":"f727fdcc.c16a4","name":"","func":"msg.entity_id = 'sensor.uuid_gerado'\n\nmsg.payload = {\n    data: {\n        state: msg.payload[0],\n        attributes: {\n            icon: 'mdi:cash-100',    \n            friendly_name: 'UUID Gerado'\n        }\n    }\n};\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":600,"y":2080,"wires":[["e6ae3992625e6541"]]},{"id":"d854bbe5.321208","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"30"}]

2 → Criar uma entidade auxiliar de botão.
image

3 → Código front-end super simples.

type: entities
entities:
- entity: input_button.gerar_uuid
- entity: sensor.uuid_gerado

Atenção: Essa API bloqueia mais de 60 requisições por minuto, então evitem usar mais que isso (o que é muito difícil usar mas né nunca se sabe hahha )
=)
Flww

3 Likes

Muito bom @Choske.
Parabéns pelo tópico :+1:t2: