Commit Graph

666 Commits

Author SHA1 Message Date
Matthias Wirtz
9dfc24b245 feat: use Logger instead of IO.puts in DB check (#5050)
* use Logger instead of IO.puts

* docs: update changelog

---------

Co-authored-by: Jakob Lichterfeld <jakob-lichterfeld@gmx.de>
2025-12-01 10:52:15 +01:00
Matthias Wirtz
50423e3c82 feat: officially support postgres 18, add docs for volume mount change (#4890)
* officially support postgres 18, add docs for volume mount change

* docs: update changelog
2025-11-06 09:05:36 +01:00
jaypark0006
f31eab70d7 feat: support proxy for openstreet API (#4970)
* feat: support proxy for openstreet API

Signed-off-by: jaypark0006 <163750793+jaypark0006@users.noreply.github.com>

* test: fix test

Signed-off-by: jaypark0006 <163750793+jaypark0006@users.noreply.github.com>

* refactor: rename proxy name to nominatim_proxy

Signed-off-by: jaypark0006 <163750793+jaypark0006@users.noreply.github.com>

* refactor: turning @pools into a function

Signed-off-by: jaypark0006 <163750793+jaypark0006@users.noreply.github.com>

* docs: add NOMINATIM_PROXY for proxy OpenStreetMap api

Signed-off-by: jaypark0006 <163750793+jaypark0006@users.noreply.github.com>

---------

Signed-off-by: jaypark0006 <163750793+jaypark0006@users.noreply.github.com>
2025-10-13 09:36:45 +02:00
Matthias Wirtz
a3791ab2a3 anti join for short-circuit evaluation 2025-10-04 16:49:54 +02:00
Brian May
0179972653 sec: set tokens to private schema (#4968)
* fix: tokens to private schema

This change allows configuring grafana with a db user
that has restricted access rights to the database.

* docs: update changelog

---------

Co-authored-by: Jakob Lichterfeld <jakob-lichterfeld@gmx.de>
2025-09-30 09:49:32 +02:00
JakobLichterfeld
9d94d7e8e8 feat(webview): update wording to View car location on Google Maps for clarity (#4875)
* feat(webview): update wording to View car location on Google Maps for clarity

* docs: update changelog

* test: update test according to new wording
2025-08-15 20:21:39 +02:00
Matthias Wirtz
261ff722e9 fix: set descent and ascent to 0 when out of bounds (> 32767 meters) (#4882)
* set descent and ascent to 0 when out of bounds (> 32767 meters)

* docs: add comments to clarify elevation gain and loss handling in migrations regarding smallint

---------

Co-authored-by: Jakob Lichterfeld <jakob-lichterfeld@gmx.de>
2025-08-15 18:30:14 +02:00
JakobLichterfeld
b985ab2f45 ux: change Google Maps Button Link to icon to ensure a consistent UX (#4838)
* ux: change Google Maps Button Link to icon to ensure a consistent UX

* test: correct test for car location on Google Maps link

* docs: update changelog

* chore(i18n): update POT files

* docs: update changelog

* docs: update changelog
2025-07-21 13:56:33 +02:00
Matthias Wirtz
0eefeac20b feat: add total ascent & descent to the drive table, introduce slope-adjusted efficiency metric in drives dashboard (#4798)
* slope-adjusted efficiency

* docs: update changelog

* docs: include migration time in changelog

* docs: update changelog

* build: bump minor version

---------

Co-authored-by: Jakob Lichterfeld <jakob-lichterfeld@gmx.de>
2025-07-19 11:07:02 +02:00
jlestel
c9e68ec433 feat: enhance HTTP limits for managing fleets with over 10 vehicles (#4607)
* feat: customize HTTP limits when a user manage more than 10 vehicles

* fix: syntax

* format code

* fix: miss commit

* revert

* doc: pool time in micro seconds

* style: linter findings

* docs: ordering of environment variables

* style: linter findings

* docs: update changelog

---------

Co-authored-by: Julien <julien@citio.digital>
Co-authored-by: Jakob Lichterfeld <jakob-lichterfeld@gmx.de>
2025-07-18 18:23:38 +02:00
Matthias Wirtz
8dd6e74360 feat(db-check): allow beta / rc PostgreSQL versions for testing (#4795) 2025-07-14 09:19:10 +02:00
Calvin Huang
97563e2175 feat(webview): add Google Maps link for car's current location (#4781)
* Add Google Maps link for car's current location

- Add Google Maps link in car summary view
- Link opens car's current location in new tab
- Follows existing external link patterns
- Uses consistent Bulma styling

Co-Authored-By: Calvin Huang <c@lvin.me>

* Fix HTML div structure in summary template

- Remove extra closing div that caused compilation error
- Properly nest card-content div structure

Co-Authored-By: Calvin Huang <c@lvin.me>

* Add test for Google Maps link in car summary view

- Test verifies link presence with correct coordinates
- Test validates href URL format and security attributes
- Test ensures proper CSS styling and link text
- Follows existing TeslaMate testing patterns with online_event() helper
- Uses Floki for HTML parsing and attribute verification

Co-Authored-By: Calvin Huang <c@lvin.me>

* style: linter findings

* Update POT files for translation

- Run mix gettext.extract --merge to update translation files
- Addresses PR comment feedback about updating pot files
- No new translatable strings added from Google Maps feature

Co-Authored-By: Calvin Huang <c@lvin.me>

* docs: update changelog

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Jakob Lichterfeld <jakob-lichterfeld@gmx.de>
2025-07-09 09:24:46 +02:00
allivshits
718ec1a4b1 feat(mqtt): always publish healthy status and disable retain to prevent stale healthy status via mqtt (#4817)
* Always publish and do not retain 'healthy' topic

* fix linter errors & explicitly cleanup retained messages for do_not_retain topics

* fix tests broken by change in healthy topic retantion strategy

* docs: update changelog

---------

Co-authored-by: Jakob Lichterfeld <jakob-lichterfeld@gmx.de>
2025-07-08 18:46:17 +02:00
github-actions[bot]
3ba23da7a7 feat(nix): use nixos-25.05 and build(deps): update flake.lock (#4716)
* flake.lock: Update

Flake lock file updates:

• Updated input 'devenv':
    'github:cachix/devenv/6599a8c6d02c1d37fe5b7804f70a39c262298729?narHash=sha256-045veG11u/fdRjYI%2B9dc19/u/14j7UFitwKWisE11Iw%3D' (2025-04-18)
  → 'github:cachix/devenv/c7f2256ee4a4a4ee9cbf1e82a6e49b253c374995?narHash=sha256-tk2mRZAf8C5uOkMVJHemJ3ld09CYVp/z94/lHqsQ8ZA%3D' (2025-05-20)
• Updated input 'devenv/cachix':
    'github:cachix/cachix/a624d3eaf4b1d225f918de8543ed739f2f574203?narHash=sha256-D0gP8srrX0qj%2BwNYNPdtVJsQuFzIng3q43thnHXQ/es%3D' (2025-03-15)
  → 'github:cachix/cachix/8a60090640b96f9df95d1ab99e5763a586be1404?narHash=sha256-pb5aYkE8FOoa4n123slgHiOf1UbNSnKe5pEZC%2BxXD5g%3D' (2025-04-09)
• Updated input 'devenv/git-hooks':
    'github:cachix/git-hooks.nix/dcf5072734cb576d2b0c59b2ac44f5050b5eac82?narHash=sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco%3D' (2025-03-22)
  → 'github:cachix/git-hooks.nix/fa466640195d38ec97cf0493d6d6882bc4d14969?narHash=sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS%2BnoCWo%3D' (2025-05-06)
• Updated input 'devenv/nix':
    'github:domenkozar/nix/f3f44b2baaf6c4c6e179de8cbb1cc6db031083cd?narHash=sha256-E3j%2B3MoY8Y96mG1dUIiLFm2tZmNbRvSiyN7CrSKuAVg%3D' (2025-03-12)
  → 'github:domenkozar/nix/b455edf3505f1bf0172b39a735caef94687d0d9c?narHash=sha256-bYyjarS3qSNqxfgc89IoVz8cAFDkF9yPE63EJr%2Bh50s%3D' (2025-04-29)
• Updated input 'devenv/nixpkgs':
    'github:cachix/devenv-nixpkgs/7bd9e84d0452f6d2e63b6e6da29fe73fac951857?narHash=sha256-qamMCz5mNpQmgBwc8SB5tVMlD5sbwVIToVZtSxMph9s%3D' (2024-12-06)
  → 'github:cachix/devenv-nixpkgs/c5208b594838ea8e6cca5997fbf784b7cca1ca90?narHash=sha256-zU2z0jlkJGWLhdNr/8AJSxqK8XD0IlQgHp3VZcP56Aw%3D' (2025-05-09)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/26d499fc9f1d567283d5d56fcf367edd815dba1d?narHash=sha256-FHlSkNqFmPxPJvy%2B6fNLaNeWnF1lZSgqVCl/eWaJRc4%3D' (2025-04-12)
  → 'github:NixOS/nixpkgs/2baa12ff69913392faf0ace833bc54bba297ea95?narHash=sha256-U4HaNZ1W26cbOVm0Eb5OdGSnfQVWQKbLSPrSSa78KC0%3D' (2025-05-21)
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/8d404a69efe76146368885110f29a2ca3700bee6?narHash=sha256-aRmUh0AMwcbdjJHnytg1e5h5ECcaWtIFQa6d9gI85AI%3D' (2025-04-18)
  → 'github:numtide/treefmt-nix/020cb423808365fa3f10ff4cb8c0a25df35065a3?narHash=sha256-XgxghfND8TDypxsMTPU2GQdtBEsHTEc3qWE6RVEk8O0%3D' (2025-05-22)

* style: linter findings

* feat(nix): use nixos-25.05

* chore(nix): update treefmt-nix dependency

* feat(nix): use postgreSQL 17 in devenv

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jakob Lichterfeld <jakob-lichterfeld@gmx.de>
2025-05-26 13:30:56 +02:00
Matthias Wirtz
54a4ee8b61 feat: check Postgres version on startup, require 16.7 / 17.3, update earthdistance extension (#4648)
* check postgres version on startup

* update earthdistance to 1.2

* detail postgres requirement

* align additional requirements

* 17 is available on nixpkgs now

* allow upcoming major as well but issue a warning

* style: linter findings

* ci: skip ghcr build for PRs from outside repo (#4660)

* ci: skip ghcr build for PRs from outside repo

* docs: update changelog

* ci: early exit if check paths triggers

* ci: improve ghcr check_if_pr_from_outside_repo logging

* feat:show tpms value to the low pressure tooltip in webview (#4654)

* Added the tpms value to the tooltip

* Update pot files

* mix format

* Revert "mix format"

This reverts commit bbfe5aaa9f.

* style: linter findings

* Update pot files

* docs: update changelog

---------

Co-authored-by: Jakob Lichterfeld <jakob-lichterfeld@gmx.de>

* docs: update changelog

---------

Co-authored-by: Jakob Lichterfeld <jakob-lichterfeld@gmx.de>
Co-authored-by: Nir Klinger <45952578+NirKli@users.noreply.github.com>
2025-04-15 10:53:38 +02:00
Nir Klinger
2837ebf7e3 feat:show tpms value to the low pressure tooltip in webview (#4654)
* Added the tpms value to the tooltip

* Update pot files

* mix format

* Revert "mix format"

This reverts commit bbfe5aaa9f.

* style: linter findings

* Update pot files

* docs: update changelog

---------

Co-authored-by: Jakob Lichterfeld <jakob-lichterfeld@gmx.de>
2025-04-15 10:29:32 +02:00
Jakob Lichterfeld
3762bbec5a feat: add conditions to enter Charging
Only goes to Charging when the car is plugged in (power < 0) and its not preconditioning or in dog mode.

changes from @micves from #3262
2025-01-07 08:06:22 +11:00
Jakob Lichterfeld
229ab1ecbe feat: cancel an ongoing suspended state/trying to sleep and go back to online
When power > 0.

power > 0 is when e.g. the climate is on which could be scheduled preconditioning or starting preheat from the app.

changes from @micves from #3262
2025-01-07 08:06:22 +11:00
Jakob Lichterfeld
1aa2d09984 feat: don't try to sleep if power > 0
power > 0 is when e.g. the climate is on which could be scheduled
preconditioning or starting preheat from the app.

This code will make sure it doesn't enter 'trying to sleep' (the internal state
suspended) when power > 0.

changes from @micves from #3262
2025-01-07 08:06:22 +11:00
Brian May
e68893befc feat: improve logging messages (#4467)
changes from @micves from #3262

Co-authored-by: Jakob Lichterfeld <jakob-lichterfeld@gmx.de>
2025-01-03 08:32:51 +01:00
Chris Wanja
4cf8acc521 feat: Update marketing name to recognize Model S LR+ (#4370)
Update marketing name to recognize Model S LR+
2024-11-12 16:56:12 +01:00
Matthias Wirtz
dffbf3c1d0 perf: add ideal_battery_range_km as query condition (#4305)
* perf: add ideal_battery_range_km as query condition

* fix: add alias to select

* in case of min_id > 0 pass min_id to first query as well
2024-10-28 08:56:35 +01:00
JakobLichterfeld
2a922e321c feat: update to Phoenix HTML 4.1, bump dependencies (#4277)
* feat: update to Phenix HTML 4.1

* fix: updating to the new Gettext.Backend approach

* chore: update pot files ro locale version 45.0.0

* fix: downgrade cloack back to 1.1.2

* revert: merge of mix.lock

* fix: new syntax for field name generation for phx-feedback-for

* Revert "fix: new syntax for field name generation for phx-feedback-for"

This reverts commit 4d95e4f1c9.

* fix: downgrade floki back to 0.35.2

* Revert "fix: downgrade floki back to 0.35.2"

This reverts commit a4f0b6bf4b.

* fix: ensure floki nil is handled

* style: linter findings

* Revert "fix: ensure floki nil is handled"

* fix: new syntax for field name generation for phx-feedback-for

* debug: floki paramter error

* Revert "debug: floki paramter error"

This reverts commit 61920267ed.

* fix: Remove unnecessary code in settings_test.exs which breaks floki 0.36+
2024-10-27 08:17:49 +01:00
Matthias Wirtz
999e947464 tuple returned here (#4293) 2024-10-22 07:43:56 +02:00
Matthias Wirtz
b582b0be8b limit positions to set elevation for to last 10 days (#4228) 2024-10-06 12:33:48 +02:00
jlestel
c8fed077bb Fix 401 on direct Fleet API calls (#4095)
* feat: endpoints by env

* fix: typo

* fix: useless env

* fix: format

* fix: distinct auth domain and url

* format

* fix: force issuer url if needed

* feat: new streaming based on vin

* fix refresh

* revert

* up

* feat: no need for access token / refresh token if the TOKEN env var is present

* feat: update login if token env var exists

* feat: add ENV var to allow insecure wss

* fix: remove TESLA_CN

* fix(naming): TESLA_API_URL to TESLA_API_DOMAIN

* feat: add an env var to allo invalid certs on WSS

* doc: add API domains env vars description

* fix: typo

* feat: add env var to change log level

* fix: APP_LOG_LEVEL

* feat: add TOKEN documention and wording

* fix: refacto insecure param

* feat: naming and doc

* fix: missing env var usage

* fix: rebound variable issuer_url

* fix: compilation warning on the issuer_url variable

* fix: format code

* fix: issuer_url assignments

* feat: customize polling intervals

* typo

* update doc

* typo

* add online interval

* add POLLING_ONLINE_INTERVAL

* format

* add minimum interval

* Add minimum on fetch parameter

* typo

* format

* respect immediate fetch, add charging interval

* add log level

* Respect log_level

* format

* use LOG_LEVEL env var to facilitate debug

* revert on log_level

* format

* typo

* format again

* revert on default error intervals

* Add a note in MD about polling settings

* not let the user set intervals via env variables shorter than our defaults

* Fix 401 on direct Fleet API

* try to fix in prod context

* log test

* up

* up

* format

* revert on log

* Update refresh.ex

---------

Co-authored-by: Julien <julien@citio.digital>
2024-07-27 14:06:57 +02:00
JakobLichterfeld
1ee48c9547 feat: update breadcrumb links to use Phoenix path helpers (#4052)
* feat: update breadcrumb links to use Phoenix path helpers

fixes: #3905

* doc: update changelog
2024-07-07 11:19:34 +02:00
JakobLichterfeld
1e1ebffd3b style: fix single quoted string in car_live (#4049)
* style: fix single quoted string in car_live

* doc: update changelog
2024-07-06 16:22:08 +02:00
Martin Kolací
8192f12860 Add icon to summary when Sentry Mode is triggered and recording (#4043)
* Add icon to summary when Sentry Mode is triggered and recording

Signed-off-by: kolaCZek <mail@kolaczek.cz>

* Update pot files

* Update Chinese translation for "Sentry Mode recording"

---------

Signed-off-by: kolaCZek <mail@kolaczek.cz>
Co-authored-by: Jakob Lichterfeld <jakob-lichterfeld@gmx.de>
2024-07-06 15:44:31 +02:00
Martin Kolací
16e90899ca Update vehicle.ex with marketing name for Model Y SR (#4042)
Signed-off-by: kolaCZek <mail@kolaczek.cz>
2024-07-06 10:35:45 +02:00
Jakob Lichterfeld
00fdadcd06 feat: add LFP Battery setting for car settings (#4007) -> master 2024-07-05 19:11:12 +02:00
Atrox
21439f1a14 publish center_display_state to mqtt (#3813) 2024-07-05 16:55:03 +02:00
mark3-dev
c90cde871d feat: Add ability to enable and disable data collection for cars (#3993)
* Add ability to enable and disable cars

* Add default value for enabled in car_settings.

* Fix unit tests.

* Fix formatting.

* Update text to be more descriptive

* Update lables.
2024-07-05 09:01:16 +02:00
Stefan Lange
272a99bf5f Update vehicle.ex with marketing name for Model Y Long Range RWD (#3989)
Add marketing name for Model Y LR RWD.
2024-07-03 15:58:44 +02:00
jlestel
c8159cfc51 Customize intervals between vehicle_data calls (#3940)
* feat: endpoints by env

* fix: typo

* fix: useless env

* fix: format

* fix: distinct auth domain and url

* format

* fix: force issuer url if needed

* feat: new streaming based on vin

* fix refresh

* revert

* up

* feat: no need for access token / refresh token if the TOKEN env var is present

* feat: update login if token env var exists

* feat: add ENV var to allow insecure wss

* fix: remove TESLA_CN

* fix(naming): TESLA_API_URL to TESLA_API_DOMAIN

* feat: add an env var to allo invalid certs on WSS

* doc: add API domains env vars description

* fix: typo

* feat: add env var to change log level

* fix: APP_LOG_LEVEL

* feat: add TOKEN documention and wording

* fix: refacto insecure param

* feat: naming and doc

* fix: missing env var usage

* fix: rebound variable issuer_url

* fix: compilation warning on the issuer_url variable

* fix: format code

* fix: issuer_url assignments

* feat: customize polling intervals

* typo

* update doc

* typo

* add online interval

* add POLLING_ONLINE_INTERVAL

* format

* add minimum interval

* Add minimum on fetch parameter

* typo

* format

* respect immediate fetch, add charging interval

* add log level

* Respect log_level

* format

* use LOG_LEVEL env var to facilitate debug

* revert on log_level

* format

* typo

* format again

* revert on default error intervals

* Add a note in MD about polling settings

* not let the user set intervals via env variables shorter than our defaults

---------

Co-authored-by: Julien <julien@citio.digital>
2024-07-02 15:36:46 +02:00
jlestel
2c4639e32d feat: allow Fleet API users to change client_id (#3984)
Co-authored-by: Julien <julien@citio.digital>
2024-06-26 10:58:31 +02:00
Saswat Padhi
195433c319 Track open/close states for individual doors (#3962)
* feat: track open/close states for individual doors

* doc: add individual door open states
2024-06-19 10:28:19 +02:00
jlestel
b900a98d08 feat: Respect Retry-After header on 429 response code (#3943)
* Respect 429 response code instructions

* format

* up

* up

---------

Co-authored-by: Julien <julien@citio.digital>
2024-06-07 10:10:35 +02:00
jlestel
4313409323 feat: Dynamic endpoints and token to use official Tesla API (self-hosted or from third party provider) (#3903)
* feat: endpoints by env

* fix: typo

* fix: useless env

* fix: format

* fix: distinct auth domain and url

* format

* fix: force issuer url if needed

* feat: new streaming based on vin

* fix refresh

* revert

* up

* feat: no need for access token / refresh token if the TOKEN env var is present

* feat: update login if token env var exists

* feat: add ENV var to allow insecure wss

* fix: remove TESLA_CN

* fix(naming): TESLA_API_URL to TESLA_API_DOMAIN

* feat: add an env var to allo invalid certs on WSS

* doc: add API domains env vars description

* fix: typo

* feat: add env var to change log level

* fix: APP_LOG_LEVEL

* feat: add TOKEN documention and wording

* fix: refacto insecure param

* feat: naming and doc

* fix: missing env var usage

* fix: rebound variable issuer_url

* fix: compilation warning on the issuer_url variable

* fix: format code

* fix: issuer_url assignments

---------

Co-authored-by: Julien <julien@citio.digital>
2024-05-27 11:03:23 +02:00
Wilfried Chauveau
0db778e06c feat: Update TeslaFi importer to accept newer export formats (#3431)
* Update TeslaFi importer to accept newer export formats

* Update documentation
2024-05-24 09:01:50 +02:00
Jakob Lichterfeld
10995a3ce5 Revert "Dynamic endpoints and token to use official Tesla API (self-hosted or from third party provider) (#3866)"
This reverts commit 263f207dc9.
2024-05-20 14:07:26 +02:00
jlestel
263f207dc9 Dynamic endpoints and token to use official Tesla API (self-hosted or from third party provider) (#3866)
* feat: endpoints by env

* fix: typo

* fix: useless env

* fix: format

* fix: distinct auth domain and url

* format

* fix: force issuer url if needed

* feat: new streaming based on vin

* fix refresh

* revert

* up

* feat: no need for access token / refresh token if the TOKEN env var is present

* feat: update login if token env var exists

* feat: add ENV var to allow insecure wss

* fix: remove TESLA_CN

* fix(naming): TESLA_API_URL to TESLA_API_DOMAIN

* feat: add an env var to allo invalid certs on WSS

* doc: add API domains env vars description

* fix: typo

* feat: add env var to change log level

* fix: APP_LOG_LEVEL

* feat: add TOKEN documention and wording

* fix: refacto insecure param

* feat: naming and doc

* fix: missing env var usage

---------

Co-authored-by: Julien <julien@citio.digital>
2024-05-20 13:11:13 +02:00
dyxyl
7a5625f09f fix: errors from Timex.Timezone.local() during switchover to DST. (#3848)
* Fix errors from Timex.Timezone.local() during switchover to DST.

* Update the gettext files to match.
2024-04-17 14:49:41 +02:00
Brian May
c684252940 Publish extra active_route fields to mqtt output (#3789)
This refactors the existing code to make it more maintainable.

Nil values are published as "nil" string. This ensures that they will
get published, and ensures that MQTT doesn't drop the retained data.

Fixes #3748
2024-04-05 17:29:00 +11:00
b1c1l1
97cfb79493 feat: Add URL_PATH environment variable for reverse proxy deployments (#3771)
* Add URL_PATH environment variable for reverse proxy deployments

For example, this can be used to run TeslaMate behind a reverse proxy, using a
URL path such as "/teslamate".

* gettext: update pot and po files

Generated using:
  mix gettext.extract --merge

* web: run mix format

* gettext: update pot and po files

Re-generating gettext files after running mix format.

Generated using:
  mix gettext.extract --merge
2024-03-25 09:21:34 +01:00
Brian May
2b5cdbdffd Add nix flake (#3485)
This will add support for nix flakes. Which really helps with my
development on nixos. This has two basic parts:

1. DEVELOPMENT

After this you can use the following commands on computer with nix and a
patched version of direnv:

direnv allow
devenv up

And it will automatically start and instance of postgresql and mosquitto
for development.

And the environment variables are already configured for teslamate.

So then can start teslamate with:

npm install --prefix ./assets && npm run deploy --prefix ./assets
iex -S mix phx.server

This part is all working as designed. And pretty simple and straight
forward.

2. NIX PACKAGE OF TESLA

This is 99% complete, but some pain points I haven't addressed yet.
Because I don't yet know of good solutions.

* There are two checksums in flake.nix that needs to be updated whenever
  mix.lock or package-lock.json changes.
2024-03-19 09:37:17 +01:00
Brian May
b5285d2ace Add location topic (lat and long in one json blob) (#3729)
* Add location topic

Fixes #3660.

* doc: update mqtt topics with new location topic

---------

Co-authored-by: Jakob Lichterfeld <jakob-lichterfeld@gmx.de>
2024-03-18 08:36:21 +01:00
Brian May
cdd6298f55 Replace tortoise library with tortoise311 (#3697) 2024-03-16 11:55:04 +01:00
Michael Vestergaard
46b971070a Fix agressive switch to offline when stream gets offline message (#3672)
* Changed when stream reports offline to fetch data and let result decide the real state instead of switching directly to offline.

* Adjusted test
2024-03-16 11:52:55 +01:00
Long Zheng
78fe8116ad Add navigation active route drive state data (#3657)
* Add navigation active route drive state data

* Add active_route data to MQTT

* Update MQTT documentation

* Fix streaming test drive state
2024-02-08 08:45:42 +01:00