Torque - uzyskanie danych z OBD2 samochodu w HA - lokalizacja

Cześć
Uruchomilem dodatek HA TORQUE. Wszystko działa poprawnie jakby ktoś potrzebowal pomocy w konfiguracji to prosze pisac, ale mam jeden problem (jak na razie :smile: ).
Dostaje osobne encje ze wszystkich czujnikow i tu akurat jest OK. Niestety dlugosci i szerokosci GPS tez sa to dwie osobne encje i nie jestem w stanie wprowadzic lokalizacji samochodu na mapy tak jak np encje person. Probowalem zrobic to szablonem aby stworzyc encje np. GPS
i niestety nie jestem w stanie. Moze ktos juz ogarnial ten dodatek i ma to połapane? Pozdrawiam

:face_with_peeking_eye:Sprawa trochę skomplikowana ponieważ nie mam do dyspozycji sensorów GPS tylko ich atrybuty.

Sam sensor który łączy dwa sensory lokalizacyjne w całość wygląda tak:

  - platform: template
    sensors:
      gps_auta:
        friendly_name: "GPS Auta"
        value_template: "{{ state_attr('person.xxxx','latitude') }},{{state_attr('person.xxxx','longitude') }}"
        icon_template: mdi:car

Wynikiem tego jest

:information_source:Ty masz sensory to wpisz w ten sposób::

 value_template: "{{ states('sensor.dlugosc_gps') }},{{ states('sensor.szerokosc_gps') }}"

/
Dodanie sensora o śledzenia:

 service: device_tracker.see
data:
  dev_id: gps_samochodu
  gps:
    - "{{ state_attr('person.xxxx', 'latitude') | float(default=0) }}"
    - "{{ state_attr('person.xxxx', 'longitude') | float(default=0) }}"
:information_source:
  gps_accuracy: 10

:information_source: Musisz zmienić tak jak wyżej na sensory

Po wywołaniu usługi w known_devices.yaml pojawi się wpis:

ScreenShot_20231204161824

Wynikiem tego jest “tracker”

:grinning:A jego można dodać do mapy czy wykorzystać do automatyki, skryptów itp.
/
:information_source: Czy obędzie działać nie wiem, mam nadzieje że tak.
Jedynie co mnie zastanawia to czy “tracker” będą się uaktualniał czy potrzebują jakiegoś wyzwalacza.

:joy:Jeśli zdecydujesz się na wykorzystanie tych wypocin to daj znać czy działa .
Jeśli znalazłeś inny sposób to się podziel.

Cześć
Wszystko działa tak jak opisałeś. Naszukałem się po internecie i ciągle coś było nie tak.
Jeszcze raz bardzo dziękuję

Ps. jeżeli wypali mi w jakiś sensowny i mało zawodny sposób komunikacji dwustronnej z samochodem po OBD, na pewno napiszę. Naprawde bardzo dziekuje

Mam jeszcze pytanie w sprawie wywolywania tej uslugi sledzenia (service: device_tracker.see).
Czy jest jakis prosty sposob na aktualizownaie danych tej uslugi.
Niestety dane pozycji na mapie aktualizuja sie tylko w momencie wywolania tej uslugi

Na pewno możesz wywołać automatyzacją
Szablon czasu np. 10 sekund , warunek (np. w samochodzie) , usługa device_tracker.see i reszta kodu

Nie wiem czy dobrze kombinuje, ale do stwierdzenia przez system, ze jestem np. w samochodzie potrzebuje aktualnej jego pozycji a to probuje wlasnie uzyskac.
Moze istnieje sposob na wyciagniecie informacji ze stan danej encji (w tym przypadku np. longitude lub latitude ) sie zmienil i potraktowac ta informacje jako wyzwalacz do automatyzacji ktora wywolywalaby usluge device_tracker.see. Takie luzne przemyslenia - czy wogole da sie tak zrobic?

Możesz wykorzystać inne sensory “OBD” np. wzrost napięcia, temperaturę silnika czy obroty silnika.

Parę miesięcy temu miałem Torque, to “w samochodzie” wykorzystywałem połączenie BT ( telefon z samochodem (radiem)).
:thinking:Dlaczego nie wykorzystujesz lokalizacji z telefonu ?- łatwe, proste i przyjemne :grinning:
/

Miałem integracji Torque to miałem skonfigurowane tak:

Wsiadam do auta

Telefon łączy się z OBD przez BT (jestem w samochodzie)
Kiedy zostało ustanowione połączenie z poziomu HA została wysłana komenda "włącz aplikacje Torque na telefonie.
Następna komenda z poziomu HA to włącz dokładną lokalizacje np. wysyłaj lokalizacje z dokładnością 20 metrów.

Po zakończeniu jazdy:
Rozłączenie BT z samochodem - Komenda z poziomu HA “wyłącz dokładną lokalizacje”
/
Zajrzyj tutaj, zobacz jak ustawienia są wstanie zmienić dokładność wskazań lokalizacji

Telefon będzie na stale w samochodzie, dlatego nie mogę wyciągnąć informacji o wystąpieniu zdarzenia takiego jak polaczenie oprogramowania z obd :frowning:
Mogę oczywiście wyciągnąć informacje z telefonu “pokładowego” o jego lokalizacji ale nie wiem dlaczego jest to odczyt bardzo kiepskiej dokładności i na dodatek często się chwilowo (kilka a nawet kilkanaście minut) zawiesza. Natomiast odczyt z gps samochodu jest bardzo dokładny i nie mam na nim przerw - home assistant pokazuje mi każdą zmianę długości i szerokości geograficznej bardzo dokładnie, ale są to odczyty osobne (dl i szer). Dlatego te wszystkie próby

Edytowane:
W sumie to masz racje i można wyciągnąć wyzwolenie z jakiejś encji z OBD odczytującej np napięcie instalacji w samochodzie ( > 13,2) po odpaleniu silnika i uruchomić odświeżanie service: device_tracker.see. Ciągle tylko mam w głowie rzecz taką, że to nie zadziała gdy np samochód będzie gdzieś na parkingu (czyli poza wszelkimi zdefiniowanymi strefami) i zostanie skradziony bez odpalania silnika i nie odświeży lokalizacji. (Wiem - można wyciągnąć informacje z telefonu z akceleracji po ruszeniu samochodem lub jego uderzeniu, ale wciąż najbardziej do mnie przemawia ten GPS z systemu tego pojazdu) Szkoda byłoby nie wykorzystać takich możliwości jeżeli tylko się da je wyciągnąć.
A czy istnieje taki skrypt usługa czy coś już zaimplementowanego w systemie aby odczytał i zapisał wartość encji i za np 10 sekund odczytał ponownie i porównał zapisana wartość z ta świeżo odczytaną i gdy będą się różnić wywołać akcję ?

Zerknąłeś na linka który udostępniłem?

Co do zapisu wartości to w HA służy pomocnik input_text:
Następnie można porównać wartości:

value_template: "{{ states('sensor.lokalizacja') != states('input_text.zapisana_lokalizaja') }}"

Ale z GPS mogą być problemy, ponieważ odczyty mogą wprowadzać w błąd ( dokładność odczytu - tolerancja).
Oczywiści można wartość sensorów (GPS) zaokrąglić do wartości np. do 4 po “kropce” ale czy w czasie jazdy będzie oznaczony samochód że jest na drodze :thinking:

Na pewno jest to do zrobienia ale jak widzisz będzie wiele zmiennych, Twoja konfiguracja +“pomocnik” + automatyzacja .
Jeśli w którymś kodzie nie uwzględni się poprawnych odczytów lub ich brak, zwłoki z przesłaniem danych do HA itp. będziesz miał wiele fałszywych alarmów lub nie będziesz pewny że działa w 100% poprawnie.