Kamery na świat, czyli scrape sensor, home assitant i traxelektronik.pl

Każdy z nas – rozwijających swój inteligentny dom, chciałby mieć podgląd na ulice wokół swojego domu. Cel? Podgląd korków, obserwacja sąsiadów etc.

Na szczęście jest coś takiego jak traxelektronik.pl.

To firma która regularnie pokrywa nasz kraj kamerami a co więcej obraz z nich udostępnia na swoich stornach internetowych.

Dodając do tego HOME ASSISTANT i scrape sensor – możemy uzyskać to co chcemy.

 

Jak to zrobić?

Na początku wyszukujemy interesujące nas kamery na stronie:  https://www.traxelektronik.pl/pogoda/kamery/index.php

Następnie wybieramy interesującą nas miejscowość i zapamiętujemy adres z przeglądarki

 

W demonstrowanym przypadku naszym adresem będzie:

https://www.traxelektronik.pl/pogoda/kamery/kamera.php?pkamnum=1960

No i teraz do dzieła. W home assistant definiujemy sensory typu scrape jak w poniższym listingu:


# kamerki zewnętrzne, skrapowanie
# https://www.traxelektronik.pl/pogoda/kamery/

- platform: scrape
  resource: https://www.traxelektronik.pl/pogoda/kamery/kamera.php?pkamnum=1960
  name: Url kamera traxel skawina (na rzeszów)
  id: url_kamera_traxel_skawina_na_rzeszow
  select: "#kam1 ~ a:nth-of-type(4)"
  #kam1 - numer kolejnej kamery
  value_template: >-
    {{ value.split("'")[1] }}
  attribute: href
  scan_interval: 60

- platform: scrape
  resource: https://www.traxelektronik.pl/pogoda/kamery/kamera.php?pkamnum=1960
  name: Url kamera traxel skawina (na katowice)
  id: url_kamera_traxel_skawina_na_katowice
  select: "#kam0 ~ a:nth-of-type(4)"
  #kam1 - numer kolejnej kamery
  value_template: >-
    {{ value.split("'")[1] }}
  attribute: href
  scan_interval: 60
* Z uwagi, że WP wycina niektóre znaki, plik ten do pobrania jest również artykułu. (Jeśli ktoś sobie z tym poradził – proszę o info)

 

U mnie definicja sensorów znajduje się w pliku sensor.yaml (polecam osobny plik).

Jeżeli u Ciebie sensory definiowane są w pliku configuration.yaml – musisz dodać wpis:

sensor:

przed definicją sensorów.

Nie będę opisywał szczegółowo jak działa sensor scrape. W skrócie… wykorzystując tak zwane selektory CSS wyszukujemy zdjęcie kamery:

select: “#kam0 ~ a:nth-of-type(4)”

A następnie wyciągamy potrzebną informację za pomocą:

value_template: >- {{ value.split(“‘”)[1] }} attribute: href

I proces ten przeprowadzamy dla każdej kamery którą chcemy mieć w swoim systemie inteligentnego domu.

 

Pozostaje kwestia definicji kamer. Realizujemy to za pomocą standardowej kamery HA generic. Poniżej skrypt:

# drogowe 
- platform: generic
  name: skawina (na rzeszów)
  id: traxel_skawina_na_rzeszow
  still_image_url: >-
    {{ states('sensor.url_kamera_traxel_skawina_na_rzeszow') }}

- platform: generic
  name: skawina (na katowice)
  id: traxel_skawina_na_katowice
  still_image_url: >-
    {{ states('sensor.url_kamera_traxel_skawina_na_katowice') }}

U mnie definicja kamer znajduje się w pliku camera.yaml (polecam osobny plik).

Jeżeli u Ciebie kamery definiowane są w pliku configuration.yaml – musisz dodać wpis:

camera:

przed definicją kamer.

 

Tak zdefiniowane kamery stają się widoczne w naszym panelu home assistant. U mnie dziś pada:-)

 

Pliki do artykułu:

camera.yaml, sensor.yaml > homeasistant-kamery-scrap-sensor

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *