Od pewnego czasu starałem się pozyskać informacje o wykryciu ruchu z mojego starego (i z ujowym oprogramowaniem) ale wciąż działającego dobrze rejestratora Herospeed XVR. Po nieudanych próbach z NodeRED i noda e-mail czy TCP postanowiłem napisać własną integrację. Na razie jest to w fazie testów ale wyniki są bardzo zadowalające.
Ogólnie założenie jest bardzo proste, w rejestratorze najpierw trzeba uruchomić detekcję ruchu na kamerach oraz możliwość wysyłania maili w przypadku wykrycia ruchu. W ustawieniach e-mail wpisujemy jako custom SMTP server IP Home Assistanta, port SMTP (domyślnie 25 ale powinno działać z innymi portami), szyfrowanie na NONE (ważne z innym nie zadziała) oraz jakąś nazwę użytkownika i hasło. Potem te dane wpisujemy przy konfiguracji integracji. Podczas konfiguracji musimy również podać ile kamer mamy (ogólna liczba, nie tylko tych z których chcemy wyciągnąć informacje o ruchu).
Następnie integracja wyciąga nagłówki z maili wysyłanych przez rejestrator i jeśli znajdzie się w nich słowo “motion” i “channel” przypisze wykrycie ruchu do danego kanału, resztę maili pominie. Po 20 sekundach (albo innej wartości ustalonej podczas konfiguracji informacja o wykryciu ruchu zostanie zresetowana) Ogólnie jeśli rejestrator wysyła maile i ma w nagłówkach te słowa to ta integracja powinna zadziałać też z rejestratorami innych firm.
Zapraszam do testowania i jak się podoba to do wsparcia:
Mam jeszcze analogowe kamery a rejestrator może i stary ale wykrywanie ruchu na nim działa zaskakująco dobrze. Zrobiłem to z ciekawości aby sprawdzić czy się w ogóle da i o dziwo działa jak należy. Na razie monitoringu nie zmieniam bo spełnia swoją rolę.
Są w sumie 4 opcje:
Buzzer alarm - brzęczek w rejestratorze, pewnie mógłbym podłączyć pod to jakieś ESP ale wątpię abym wtedy miał informacje z której kamery pochodzi alarm
Nagraj kanał - no tutaj nic się sensownego nie wymyśli
Wyślij maila - z tego skorzystałem
Przełącz na dany kanał przy monitorze podłączonym po HDMI
Ogólnie słabo, nawet w apce BitVision czy na kompie w ich oprogramowaniu iVMS320 nie ma żadnego info o wykryciu ruchu. Więc skorzystałem z jedynej sensownej opcji.
W NodeRED chciałem użyć opcji email MTA, część wiadomości dochodziła a część wywalała błąd
[2024-10-28 12:47:22] DEBUG [#sisgupbibp5ddecu] C: HELO Localhost
[2024-10-28 12:47:22] DEBUG [#sisgupbibp5ddecu] S: 421 a0d7b954-nodered You talk too soon
Więc SMTP też w tym wynalazku zaimplementowane błędnie, stwierdziłem że szybciej napiszę coś od siebie niż będę szukał rozwiązania tych problemów.
Edycja:
Testuję moje rozwiązanie od kilku dni i jestem pozytywnie zaskoczony rezultatem, system monitoringu ma już około 10 lat, a nadal da się z niego całkiem sporo wyciągnąć. Informacja o ruchu pojawia się w ciągu 3-5 sekund (w zależności od tego jak szybko obiekt się porusza), te wartości są stałe w ciągu dnia i nocy, trochę gorzej idzie z wykrywaniem ruchu na obrzeżach kamer, ale i tak strefy wykrycie będą ustawione głównie na środek obiektywów.
Do tego powiadomienia na każdym kanale pokazują się w tych 3-5 sekundach po wykryciu, natomiast jeśli obiekt jest nadal w ruchu to potem co 1 min. Nie stwierdziłem również zwiększonego zużycia prądu przez rejestrator (mam gniazdko monitorujące ale do niego są podłączone oprócz XVR również router, multiswitch, NASy czy serwer HA)
Mam jedną kamerę na strychu i teraz dzięki temu rozwiązaniu mogę zrobić automatyzację gdzie przy 4 krotnym wykryciu ruchu w ciągu 30 min dostanę powiadomienie, ogólnie na strych bardzo rzadko się zagląda, a w okolicy mamy kuny, lisy i trochę innych gryzioni więc taka automatyzacja może się przydać.