HA od dawna zaleca używanie Media do przechowywania zdjęć bo sposob opisany przez Ciebie powoduje, że zdjecia są dostepne z internetu dla każdego (jeżeli masz wystawione HA do internetu).
Tzn. używasz domeny do zdalnego połączenia z HA, wtedy jeśli używasz folderu www a ktoś zna Twój adres domenowy może odczytać wszystko co tam się znajduje bez autoryzacji.
Dorzucę się i ja do tematu.
Dotychczas operowałem na snapshotach w config/www i działało, ale próbuję przejść na to “bezpieczniejsze” zapisywanie w media i jedyne co uzyskuje to błąd:
Login attempt failed
Login attempt or request with invalid authentication from ip.ip.ip.ip (ip.ip.ip.ip). See the log for details.
Powiadomienie przychodzi, ale bez zdjęcia
Mój kod:
alias: powiadomienie snapshot test
description: ""
trigger:
- platform: state
entity_id:
- light.reflektor_ulica
to: "on"
for:
hours: 0
minutes: 0
seconds: 0
condition: []
action:
- service: camera.snapshot
data:
filename: /media/test.jpg
target:
entity_id:
- camera.cam_ulica_substream
- service: notify.mobile_app_sm_f711b
data:
message: od strony ulicy
title: RUCH
data:
image: >-
https://tuneltunel.paczka.pro/media/local/test.jpg?v={{
now().timestamp() }}
channel: motion
notification_icon: mdi:motion
mode: single
W czym problem?
Próbowałem różnych kombinacji media/local zapisu i odczytu czy to z samego media lub media/local
Źle podajesz parametry, proponuje przy testowaniu skorzystać z Narzędzia Deweloperskie → USŁUGI:
service: notify.mobile_app_sm_f711b
data:
message: od strony ulicy
title: RUCH
data:
image: "/media/local/test.jpg"
channel: motion
notification_icon: mdi:motion
Plik test.jpg znajduje sie w katalogu:
a odwołanie do niego to /media/local/test.jpg
U mnie działa, nie mam bramki AIS ale też korzystam z dostępu do HA przez dodatek Cloudflared.
Podaj dokladną ścieżkę tego zapisanego pliku picture.jpg bo wg mnie jest w menu Media → My media → local i tu jest dopiero plik picture.jpg. Aby taki plik wysłać w powiadomieniu należy użyć takiej scieżki:
Tłumaczenie:
Plik przechowywany w katalogu /media/file.jpg na dysku jest reprezentowany w powiadomieniu jako /media/local/file.jpg. Zwróć uwagę na dodanie local w ścieżce .
Powiadomienia działają, ale przychodzą bez zdjęcia.
Snapshot się wykonuje i zapusje w /media/local/testx.jpg
Próba wysłania w powiadomieniu go zarówno jako /media/local/testx.jpg oraz /media/local/local/testx.jpg powoduje, iż powiadomienie wychodzi, ale bez zdjęcie.
Każdorazowo natomiast dostaję powiadomienie i obawiam się, że to powoduje problem
`Login attempt failed
Login attempt or request with invalid authentication from ip.ip.ip.ip (ip.ip.ip.ip). See the log for details.`
Nie korzystam z bramki Ai Speakera, a jedynie uruchomiłem ich darmowy tunel.
@mariusz2137 a wiesz dlaczego nie działało wcześniej? bo próbowałeś wysłać plik, ktory jest w trakcie tworzenia - robil sie snapshot a to trochę trwa a Ty próbowałeś go już wysłać, zrob delay jak u @MariuszAK i powinno działać, tak przypuszczam.
Sprawdzałem wczesniej z opóźnieniem 10s i jest to samo.
Login attempt failed i pusta notyfikacja.
Nie wiem czy czasem sam sobie nie zakręciłem tego…
Dlaczego wszystkie Wasze przykłady snapshotów i powiadomień działają na ścieżkach lokalnych, w sensie ścieżka pliku to /media/photo.jpg, a ja każdorazowo adresuje ścieżķę zdjęcia do powiadomienia podając cały adres tunelu.paczka.pro/media/local/photo.jpg?
Usuwając ze ścieżki pliku do wysłania w powiadomieniu adres https://adrestunelu i zostawiając tylko ścieżkę lokalną wszystko działa i nawet delay’a nie trzeba robić…