W dodatku motioneye pobieram snapshot url link i jak wkleję go do przeglądarki zalogowanej do ha to otrzymam zdjęcie z kamery. Jak ten adres w node red wpiszę do nodu http request i wyślę na adres poczty email to dostaję komunikat „401: Unauthorized” . Czy ktoś ogarniał może ten problem .
Jak uzyskać obraz z danej kamery ? Bezpośrednio z kamery próbowałem niestety nie działa.
Kamera DS-2CD1043G0-I.
Próbowałem ze strony Connect to Hikvision cameras i nic .
To rozwiązanie z motioneye wydaje się być ok tym bardziej ,że steam działa bez zarzutu , również w frigate.?
Ok to inaczej mam link do kamery bezpośredni (adres z logowaniem taki jak do streamu [ http://:/ISAPI/Streaming/channels/1/picture ] po wpisaniu w przeglądarkę wyświetli snapshota z kamery. Jak za pomocą node red wysłać to zdjęcie email-em ? Kiedy wpiszę ten adres do nodu html request wysyła mi na email załącznik tekstowy (no krzaczki znaczy) w treści emaila są:
"���������������������������������a aw!1AQaaq"2�B���� #3R�br� $4�%�&’()����������������������������������������������������������������������������?��<�ӞsVl�$��τPX�_j����<��PX��ڐg4�zS���&�|�?�< "
I takie tam . Pozdrawiam
To znaczy że brak prawidłowych poświadczeń uwierzytelnienia dla zasobu, stąd też będą te krzaczki bo plik pewnie szyfrowany
Wiem ,że namieszałem znowu. W pierwszym poście opisywałem błąd 401 unautorised taki błąd wywala z linka udostępnionego przez motioneye w lini snapshot url . I jak go użyje w przeglądarce , która jest w innym oknie zalogowana do HA to w odpowiedzi otrzymam zdjęcie z kamery w danym momencie .
Natomiast jeżeli użyję tego linku w przeglądarce dopiero co uruchomionej z której do HA się w tej sesji nie logowałem otrzymam stronę z napisem “401 unautorized” . Taka sama sytuacja jest kiedy w nodzie "HTML Request " (i tu nie wiem czy to dobry nod ) wpiszę link pozyskany z motioneye ( tu dodam ,że ta kamera jest dodana do motioneye i działa serem z niej . Link snapshot url pobieram z sekcji Videostreaming ) i podjęty do niego nod email .
W drugi poście czy w odpowiedzi na pierwszy opisuję nową sytuację. Udało mi się znaleść odpowiedni dla mojej kamery Hikvision DS-2CD1043G0-I link dla uzyskania snapshota obrazu bezpośrednio , jest w nim zawarty użytkownik i hasło do kamery . I teraz ciekawostka jeżeli wpiszę ten link w google chrome w odpowiedzi otrzymam od razu obraz z kamery , natomiast jeżeli ten link wpiszę w przeglądarce safari otrzymam monit o wpisanie użytkownika i hasła do kamery po czym wyświetli zdjęcie z kamery. Po wpisaniu tego linku do nodu http request podpiętego do kodu sent email otrzymam w wiadomości owe krzaczki.Dodam jeszcze ,że metoda w nodzie http request jest ustawiona na GET no i wpisanie w nim hasła nic nie zmienia .
No i jeszcze na jednym z forów ktoś napisał, że rozwiązaniem tego błędu z motioneye jest użycie plików cookies . I tu nie wiem jak w node red miałbym to zrobić.
Po prostu w przeglądarce Chrome masz zapamiętane (zapisane) dane logowania (użytkownik i hasło).
Oprócz podania http request
musisz jeszcze go uzupełnić o username i password wymagane aby zobaczyć zdjęcie z kamery. Czasami można to zrobić w prosty podając w ten sposob: http://**username:password@example.com/page/**, nie wiem jednak czy kamera wspiera ten sposób uwierzytelniania, może wymagać podania danych w nagłówku zapytania http.
Nie nie i w jednej i w drugiej przeglądarce oraz w nodzie http request podaje link z username i password oddzielone od adresu @ . I kolejna ciekawostka jak wpiszę te linki na iPad w safari to chce logowania i p[otem wyświetli zdjęcie a w chromie wystarczy tel link i wyświetla zdjęcie.
Link w takiej formule jak napisałeś .
I znalazłem rozwiązanie być może komuś przyda się przesyłanie snapshota na email flows.json (3,6 KB)
Oczywiście sam na to nie wpadłem ktoś to już wymyślił.
Link z adresem URL wkleiłeś w noda GET image?
Jak ja próbuję wysłać to w załączniku jest plik co ma tylko 17 bajtów.
Nie bardzo wiem, w ktorym miejscu ten flow zapisuje tą migawke z motioneye do tego pliku camera_image.jpg
Edit:
Plik camera_image.jpg zawiera treść 401: Unauthorized
Także ciąg dalszy problemów z autoryzacją.
Also having 401 error, but if I’m making HTTP request with Cookes
Ktos wie jak wykonac tą akcje w nodered?
EDIT:
Znakazłem coś takiego:
https://flows.nodered.org/flow/5a0614db288deab2acb408d4bdcc9db0
Wrzuciłem nawet flow z autoryzacją cookies, ale nie wiem jak tego używać:P
Widocznie jestem na to za głupi:)
cookie-auth.json (11,9 KB)