* 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>
* 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>
* 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
* 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>
* 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>
* 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>
* 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>
* 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>
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
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
* 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+
* 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>
* 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>
* 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.
* 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>
* 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>
* 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>
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
* 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
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.