Nadpisywanie zdjęcia (snapshot)

Witam.

Mam pewien problem, mianowicie zrobiłem sobie automatyzację, która ma za zadanie wykonać zdjęcie (snapshot) w momencie otwarcia furtki. Automatyzacja zrobiona, nadpisywanie zdjęcia działa (nawet, żeby nie było z tym problemów, utworzyłem flow z kasowaniem zrobionego pliku po godzinie. Zdjęcia zapisywane są w ścieżce config/www/photo.jpg

Zdjęcie wyświetlane jest w powiadomieniach HA app, ścieżka do wyświetlenia jaką podałem w node red to: https://xxxx/local/photo.jpg

Działa i to - schody zaczynają się dalej, kiedy zdjęcie usunę lub nadpiszę, to w powiadomieniach wyskakuje mi stare zdjęcie. Nie wyświetla mi się wogóle nowe zdjęcie, nawet jak usunę plik photo.jpg z katalogu www to ono dalej widnieje pod tym adresem: https://xxxx/local/photo.jpg

Podejrzewam, że kopia pliku z folderu www zapisywana jest również do folderu local, ale jego nigdzie znaleźć nie mogę.

Macie jakiś pomysł na to?

Masz odpowiedz w pytaniu. Już nie wnikająć w składnie samego odnośnika masz dwie różne ścieżki do pliku.Po co usuwać ten plik jeśli i tak niby go nadpisujesz ??. Przejrzyj sobie temat media w homeassistant.Zapisujesz w https://xxxx/local/photo.jpg a wyświetlanie z config/www/photo.jpg ???.

Zapraszam do lektury;)

tytuł “www folder”.

Wszystko jest też na naszym forum:

Ale co to ma do mojego problemu? Ja te snapshot`y odtwarzam, tylko jeden jedyny problem jaki widzę to nie zamieniający się plik z lokalizacji config/local. Jak w NR uruchomię flow, snapshot się robi i nadpisuje (nie zawsze, dlatego stwierdziłem, że automatyzacja usuwania pliku jest wskazana) plik w katalogu config/www. Nie mogę ogarnąć katalogu local, nie wiem jaka jest ścieżka i czy faktycznie nie zostaje on nadpisywany czy też usuwany jak w katalogu config/www.

Pomijając wszystko, objaw wskazuje, że albo plik który odczytujesz się nie zmienia, albo masz go cache.

Właśnie sprawdziłem na drugim kompie i się dalej wyświetla (mimo tego, że go usunąłem). Podejrzewam, że pliki z folderu www kopiują się do folderu local (o ile to możliwe). Niestety nie wiem jak się dostać do folderu local, nie znam ścieżki.

Folder www to folder local zależy skąd się na to patrzy.

poniżej 2 ścieżki do tego samego pliku
http://adres_HA/local/assets/aloe_aristata_01_500_200.jpg
i windowsowej sambie
\\adres_HA\config\www\assets\aloe_aristata_01_500_200.jpg

No i żeby było teraz śmiesznie, jak podstawiłem adres do adresu co podałeś (tego pierwszego od góry) 404 wyskakuje…

Co do www i local, domyślam się również, że to to samo, ale cholera czemu ta synchronizacja nie działa przy tych ścieżkach?;/

Przecież to tylko przykład, to nie jest standardowy plik, który można znaleźć w jakiejkolwiek instalacji.

PS

  1. możesz mieć przecież konfigurację z ssl, więc wtedy ścieżka musi być https (i to ma też swoje ograniczenia)
  2. u siebie tam trzymam statyczne pliki wykorzystywane w GUI, ale @macek gdzieś wyżej podał linka z opisem jak to skonfigurować (bo podkatalogi config mają pewne ograniczenia, w tym konieczność zalogowania przed przeglądaniem plików, więc zazwyczaj “zdrowa” lokalizacja powinna być inna,)

Wiesz, nie myśl, że skopiowałem linki, wkleiłem do siebie i pisze, że to nie robi:D taki to ja nie jestem:D

Nie wiem właśnie jak ogarnąć tą kwestię. czy np utworzyć podkatalog w katalogu www i tam zapisywać zdjęcia, tylko jaki później adres będzie dla app?:confused: Dlatego tu napisałem, bo na tym etapie moja wiedza się wyczerpała a internet nie podpowiada za wiele, albo ja źle szukam …;/

Ja mam tak. Stworzony folder w sambie w folderze media “snapshot” (\adres ip HA\media\snapshot). I do niego się poprostu odwołuje w call service {“filename”:’/media/snapshot/wejscie.jpg’}.I wyświetlenie w nodzie function “image”: “/media/local/snapshot/wejscie.jpg”` i działa bez zarzutu. Nadpisuje się i stale zdjęcie świeże.

Kurde, musze w takim razie jeszcze raz spróbować, bo jak domyślnie miałem podobnie, to snapshota mi robiło ale za cholerę nie puszczało zdjęcia dalej, a jak z adresu wchodziłem, żeby podglądnąć zdjęcie, wyskakiwał mi komunikat w HA, że jest nieautoryzowane logowanie.

Spróbuj ścieżki z wyświetlaniem “/media/local/photo.jpg” lub z http na początku.Moim zdaniem masz 2 różne lokalizacje.Bo jeśli chodzi o katalog www to trzeba mieć (przynajmniej ja) w pliku configuration.yaml

homeassistant:
  allowlist_external_dirs:
    - "/config/www/

http://192.168.1.220:8123/local/testfile.txt local to odnośnik do folderu www w config...yaml nie trzeba go definiować.
Screenshot - 10.12.2022 , 12_22_23

Screenshot - 10.12.2022 , 12_23_31

1 polubienie

Znów coś zjadłem ,dokładnie mam tak w sumie niewiem czemu ,może stary zapis … Ale jak się do niego odwoływałem to brak dostępu miałem.

> homeassistant:
>   allowlist_external_dirs:
>     - "/config/www/audio"

Chodziły o zegar czy coś tam.

Dziękuję. Pobawię się tym dziś jak chwile czasu znajdę i wrócę ze spostrzeżeniami :wink:

Faktycznie . Miałem stary zapis, kiedyś ryłem i nie mogłem dojść do ładu i wystawiłem pliki dzwiękowe na zewnątrz bo o ile pamiętam inaczej nie szło. Łącze się poprzez domene i miałem problem z wywołaniem usługi. Teraz przeniosłem ładnie sobie do media a usługę odtwarzania wywołuję poprzez


media-source://media_source/local/audio/

Wszystko ładnie śmiga.

Ja też łączę się z HA przez domenę i póki co folder www robi. Reszta nie chciała, będę testował to co podaliście, zobaczymy czy pomoże;)

Robi bo chcesz żeby robił. config/www/photo.jpg
Zmień to na {"filename":'/media/snapshot/photo.jpg'} w nodzie call service na dole w polu data.
Następnie jako odczyt zapisanego zdjęcia podaj jako ściężke odczytu /media/local/snapshot/wejscie.jpg . Musi działać . Najpierw nod stworzy folder “snapshot” a w nim plik “photo.jpg” .

Póżniej ja mam to w nodzie function.

Proponuję lekturę : https://forum.arturhome.pl/t/obraz-z-kamery-wysylanie-w-e-mailu/2182

Edit. Daj między zrobieniem zdjęcia a jego wyświetleniem noda delay choć na 2 sekundy tak ażeby zdjęcie zdążyło Ci zapisać przed jego wyświetleniem.