hatmeh80
(Hatmeh80)
October 17, 2023, 10:01am
1
hi im trying to send an image from an automation which capture a screenshot.
the screenshot name is a variable but it wont reach telegram
here is the automation :
alias: CHange file name door bell
variables:
snapshot_filename: /config/www/mycamera_{{ now().strftime("%Y%m%d-%H%M%S") }}.jpg
description: “”
trigger: []
condition: []
action:
service: blink.trigger_camera
data: {}
target:
entity_id: camera.blink_door_bell
delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 10
service: blink.blink_update
data: {}
service: camera.snapshot
data:
filename: “{{ snapshot_filename }}”
target:
entity_id: camera.blink_door_bell
service: telegram_bot.send_photo
data:
authentication: digest
url: https://hatmeh80.xyz/local/ {{ snapshot_filename }}
target: 6064819421
mode: single
The-May
(The May)
October 17, 2023, 12:15pm
3
What is the question? What is the problem on this?
What do the logs say?
hatmeh80
(Hatmeh80)
October 17, 2023, 12:19pm
4
Sorry a noob here, this is an automation to get a snapshot from blink door bell.
the problem is an overwritten normal image does not get updated when i send a notification.
i tried to save the filename as a variable and it saves.
but the url i use https://hatmeh80.xyz/local/ {{ snapshot_filename }} to send the image is not working
hatmeh80
(Hatmeh80)
October 17, 2023, 12:24pm
7
Logger: homeassistant.components.telegram_bot
Source: components/telegram_bot/init .py:855
Integration: Telegram bot (documentation, issues)
First occurred: 1:30:47 PM (36 occurrences)
Last logged: 3:10:58 PM
Can’t send file with kwargs: {‘authentication’: ‘digest’, ‘file’: ‘/config/www//config/www/mycamera_20231017-150620.jpg’}
Can’t send file with kwargs: {‘authentication’: ‘digest’, ‘file’: ‘/config/www//config/www/mycamera_20231017-150638.jpg’}
Can’t send file with kwargs: {‘authentication’: ‘digest’, ‘file’: ‘/config/www//config/www/mycamera_20231017-150913.jpg’}
Can’t send file with kwargs: {‘authentication’: ‘digest’, ‘file’: ‘/config/www//config/www/mycamera_20231017-150930.jpg’}
Can’t send file with kwargs: {‘authentication’: ‘digest’, ‘file’: ‘/config/www//config/www/mycamera_20231017-151058.jpg’}
The-May
(The May)
October 17, 2023, 12:52pm
8
Please use Proper formatting. Read this:
How to help us help you - or How to ask a good question
It looks like the file gets created. Have you tried “hardcoding” one picture?
Fore example mycamera_20231017-150638.jpg ?
3:
I dont want to judge your project/plan but now you want to:
Get photo from your cam
Save photo locally on your homeassistant with a timestamp
View/save the picture through the internet/web (why?!), fetch it again and send it with telegram
also there are two, maybe three flaws I want to make you aware:
minor: Your Bandwith gets stressed unneccessarily (you download/upload too much than needed)
EVERYONE can access your pictures when they are saved in /config/www !
potentially: your Harddrive gets full after some time when you dont keep an eye on the saved pictures
Instead you could:
Get photo from your cam (homenetwork/LAN)
Save photo locally on your homeassistant with a timestamp on /media/picture.jpg
Fetch it from harddrive locally with a timestamp from /media/picture.jpg
See my Automation which works similiar. Maybe you can use this for your project:
alias: super_nice_alias
description: "when something triggers this, pictures get sent"
trigger:
- type: opened
platform: device
device_id: 1234
entity_id: whatever.entity.should.trigger.this
domain: whatever.domain
condition:
- condition: not
conditions:
- condition: state
entity_id: device_tracker.whatever.condition.you.use
state: home
action:
- data:
message: door opened
service: telegram_bot.send_message
- service: camera.snapshot
data:
filename: /media/door_opened_1.jpg
target:
device_id: 1234
- service: camera.snapshot
data:
filename: /media/door_opened_2.jpg
target:
device_id: 1234
- service: camera.snapshot
data:
filename: /media/door_opened_3.jpg
target:
device_id: 1234
- service: camera.snapshot
data:
filename: /media/door_opened_4.jpg
target:
device_id: 1234
- service: camera.snapshot
data:
filename: /media/door_opened_5.jpg
target:
device_id: 1234
- service: telegram_bot.send_photo
data:
authentication: digest
caption: "1"
file: /media/door_opened_1.jpg
- service: telegram_bot.send_photo
data:
authentication: digest
caption: "2"
file: /media/door_opened_2.jpg
- service: telegram_bot.send_photo
data:
authentication: digest
caption: "3"
file: /media/door_opened_3.jpg
- service: telegram_bot.send_photo
data:
authentication: digest
caption: "4"
file: /media/door_opened_4.jpg
- service: telegram_bot.send_photo
data:
authentication: digest
caption: "5"
file: /media/door_opened_5.jpg
mode: single
What are the upsides on this?
Pictures are not accessible through the internet by ANYONE.
it saves 5 pictures with a static filename (filename1-5). When it retriggers it overwrites the pictures it did before, keeping your harddrivespace clean. The pictures are archived in your telegram anyway.
1 Like
hatmeh80
(Hatmeh80)
October 17, 2023, 12:53pm
9
Got it working, the path should be :
service: telegram_bot.send_photo
data:
file: /{{ snapshot_filename }}
target: 6064819421
The-May
(The May)
October 17, 2023, 12:57pm
10
Your picture gets saved in www anyway. Please bear that in mind!