Salvar foto base64 com webhook

Boa tarde pessoal!

Tenho uma dúvida referente aos webhooks, tenho um serviço rodando que envia uma foto para para um webhook no body de uma requisição POST, no formato base64, gostaria de saber se tenho como salvar essa foto por exemplo no /media para enviar posteriormente via push para meu celular.

Obrigado!

opa, tens um exemplo da requisição?
fiz algo parecido no node-red pode ser que funcione

O seu serviço vai chamar um webhook do HA, ou vc tem um serviço que disponibiliza a imagem num endpoint? Se for o primeiro, então o que chega via webhook fica disponivel em trigger.data ou trigger.json e dai vc trata como quiser dentro da sua automação.

Opa, claro, estou usando axios para fazer a requisição com nodejs, está mais ou menos assim:

await axios.post("http://localhost:8123/api/webhook/motion-detected", {
    cam: email.subject,
    image: b64Image
});

Precisaria pegar essa image e salvar no disco, para enviar via push notification para meu celular, pegar a imagem sei que consigo com trigger.json.image, o problema mesmo é como transformar isso em um arquivo

Lucas, vou soltar um tutorial essa semana de baixar imagens da web com Node-Red, veja se te atende ok?

eu desconfio que vc não precisa do passo de salvar a imagem em disco… pra salvar a imagem vc pode usar um shell_script, por exemplo. E vc passa a imagem como parametro pro shell_script. Olhe aqui essa doc: Shell Command - Home Assistant

Não testei… mas me parece que se vc criar um shell script bem simples como:

#!/bin/sh
echo "$1" | base64 --decode > imagem.jpg

e no ha definir esse cara:

shell_command:
  decode_save_to_disk: meuscript.sh {{ trigger.json.image }}

deveria funcionar… (como eu disse, não testei).

Provavelmente é mais facil já chamar o serviço de notificação e passar a imagem como parametro. O jinja tem o filtro " 64decode" , então é bem provavel que {{ trigger.json.image | 64decode }} seja o que vc precisa.