mirror of
https://github.com/lildude/ha-addon-teslamate.git
synced 2026-10-13 21:19:16 -04:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
04e01df081 | ||
|
|
d97377bc0e | ||
|
|
0aca1dd417 | ||
|
|
556a2f23af |
@@ -42,7 +42,7 @@ jobs:
|
|||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Build and publish
|
- name: Build and publish
|
||||||
uses: home-assistant/builder@2024.03.5
|
uses: home-assistant/builder@2024.08.2
|
||||||
with:
|
with:
|
||||||
args: |
|
args: |
|
||||||
--${{ matrix.arch }} \
|
--${{ matrix.arch }} \
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ jobs:
|
|||||||
git push --tags
|
git push --tags
|
||||||
working-directory: ${{ github.workspace }}/teslamate
|
working-directory: ${{ github.workspace }}/teslamate
|
||||||
- name: Create release
|
- name: Create release
|
||||||
uses: softprops/action-gh-release@v2.0.7
|
uses: softprops/action-gh-release@v2.0.8
|
||||||
with:
|
with:
|
||||||
tag_name: v${{ steps.semver.outputs.semver }}
|
tag_name: v${{ steps.semver.outputs.semver }}
|
||||||
body_path: CHANGELOG.txt
|
body_path: CHANGELOG.txt
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ jobs:
|
|||||||
uses: actions/checkout@v4.1.7
|
uses: actions/checkout@v4.1.7
|
||||||
|
|
||||||
- name: Build add-on
|
- name: Build add-on
|
||||||
uses: home-assistant/builder@2024.03.5
|
uses: home-assistant/builder@2024.08.2
|
||||||
with:
|
with:
|
||||||
args: |
|
args: |
|
||||||
--test \
|
--test \
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ Follow this process:
|
|||||||
[docker]: https://hub.docker.com/r/teslamate/teslamate
|
[docker]: https://hub.docker.com/r/teslamate/teslamate
|
||||||
[elixir]: https://elixir-lang.org/
|
[elixir]: https://elixir-lang.org/
|
||||||
[grafana-addon]: https://github.com/hassio-addons/addon-grafana
|
[grafana-addon]: https://github.com/hassio-addons/addon-grafana
|
||||||
[grafana-datasource]: https://raw.githubusercontent.com/lildude/hassio-addon-teslamate/main/imgs/grafana-postgres.png
|
[grafana-datasource]: https://raw.githubusercontent.com/lildude/ha-addon-teslamate/main/imgs/grafana-postgres.png
|
||||||
[mosquitto-docs]: https://github.com/home-assistant/addons/blob/master/mosquitto/DOCS.md
|
[mosquitto-docs]: https://github.com/home-assistant/addons/blob/master/mosquitto/DOCS.md
|
||||||
[samba-addon]: https://github.com/home-assistant/addons/blob/master/samba/DOCS.md
|
[samba-addon]: https://github.com/home-assistant/addons/blob/master/samba/DOCS.md
|
||||||
[ssh-addon]: https://github.com/home-assistant/addons/blob/master/ssh/DOCS.md
|
[ssh-addon]: https://github.com/home-assistant/addons/blob/master/ssh/DOCS.md
|
||||||
|
|||||||
+19
-14
@@ -11,13 +11,14 @@
|
|||||||
|
|
||||||
set -o errexit
|
set -o errexit
|
||||||
|
|
||||||
readonly HOST=$(bashio::config 'grafana_host')
|
HOST=$(bashio::config 'grafana_host')
|
||||||
readonly PORT=$(bashio::config 'grafana_port')
|
PORT=$(bashio::config 'grafana_port')
|
||||||
readonly USER=$(bashio::config 'grafana_user')
|
USER=$(bashio::config 'grafana_user')
|
||||||
readonly PASS=$(bashio::config 'grafana_pass')
|
PASS=$(bashio::config 'grafana_pass')
|
||||||
readonly DASHBOARDS_DIRECTORY="/dashboards"
|
DASHBOARDS_DIRECTORY="/dashboards"
|
||||||
readonly FOLDER_NAME=$(bashio::config 'grafana_folder_name')
|
FOLDER_NAME=$(bashio::config 'grafana_folder_name')
|
||||||
|
|
||||||
|
readonly HOST PORT USER PASS DASHBOARDS_DIRECTORY FOLDER_NAME
|
||||||
|
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
@@ -31,7 +32,6 @@ main() {
|
|||||||
restore) restore;;
|
restore) restore;;
|
||||||
*) exit 1;;
|
*) exit 1;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -42,9 +42,7 @@ backup() {
|
|||||||
dashboard_json=$(get_dashboard "$dashboard")
|
dashboard_json=$(get_dashboard "$dashboard")
|
||||||
|
|
||||||
if [[ -z "$dashboard_json" ]]; then
|
if [[ -z "$dashboard_json" ]]; then
|
||||||
echo "ERROR:
|
echo "ERROR: Couldn't retrieve dashboard $dashboard."
|
||||||
Couldn't retrieve dashboard $dashboard.
|
|
||||||
"
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -57,9 +55,17 @@ backup() {
|
|||||||
|
|
||||||
restore() {
|
restore() {
|
||||||
bashio::log.info "Checking for Grafana folder: $FOLDER_NAME"
|
bashio::log.info "Checking for Grafana folder: $FOLDER_NAME"
|
||||||
FLD=$(curl --silent --show-error \
|
folders=$(curl --silent --show-error \
|
||||||
--user "$LOGIN" -H "Content-Type: application/json" \
|
--user "$LOGIN" -H "Content-Type: application/json" \
|
||||||
$URL/api/folders | jq ".[] | select(.title==\"$FOLDER_NAME\")")
|
"$URL/api/folders")
|
||||||
|
|
||||||
|
if [[ $folders == *"statusCode"* ]]; then
|
||||||
|
bashio::log.error "Error getting Grafana folders: $(echo "$folders" | jq -r .message)"
|
||||||
|
bashio::log.debug "$folders"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
FLD=$(echo "$folders" | jq ".[] | select(.title==\"$FOLDER_NAME\")")
|
||||||
|
|
||||||
if [[ -z "$FLD" ]]; then
|
if [[ -z "$FLD" ]]; then
|
||||||
bashio::log.info "Not found... creating"
|
bashio::log.info "Not found... creating"
|
||||||
@@ -72,7 +78,7 @@ restore() {
|
|||||||
"$URL/api/folders")
|
"$URL/api/folders")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FOLDER_ID=$(echo $FLD | jq -r .id)
|
FOLDER_ID=$(echo "$FLD" | jq -r .id)
|
||||||
|
|
||||||
if [[ -z "$FOLDER_ID" ]]; then
|
if [[ -z "$FOLDER_ID" ]]; then
|
||||||
bashio::log.error "Could not determine Grafana folder id"
|
bashio::log.error "Could not determine Grafana folder id"
|
||||||
@@ -123,5 +129,4 @@ list_dashboards() {
|
|||||||
cut -d '/' -f2
|
cut -d '/' -f2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
main "$@"
|
main "$@"
|
||||||
+7
-1
@@ -1,5 +1,11 @@
|
|||||||
#!/command/with-contenv bashio
|
#!/command/with-contenv bashio
|
||||||
# -*- bash -*-
|
# -*- bash -*-
|
||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
mkdir /run/nginx
|
|
||||||
|
bashio::log.info "Starting NGINX..."
|
||||||
|
if [ -f /run/nginx ]; then
|
||||||
|
rm -f /run/nginx
|
||||||
|
fi
|
||||||
|
mkdir -p /run/nginx
|
||||||
|
|
||||||
exec nginx -g 'daemon off;error_log /proc/1/fd/1 error;'
|
exec nginx -g 'daemon off;error_log /proc/1/fd/1 error;'
|
||||||
@@ -54,7 +54,7 @@ done
|
|||||||
|
|
||||||
# Import dashboards
|
# Import dashboards
|
||||||
if bashio::config.true 'grafana_import_dashboards'; then
|
if bashio::config.true 'grafana_import_dashboards'; then
|
||||||
/dashboards.sh restore
|
/dashboards.sh restore || bashio::log.error "Failed to import dashboards"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Create the PostgreSQL database if it doesn't exist
|
# Create the PostgreSQL database if it doesn't exist
|
||||||
@@ -78,7 +78,7 @@ fi
|
|||||||
|
|
||||||
ulimit -n 1048576
|
ulimit -n 1048576
|
||||||
|
|
||||||
bashio::log.info "Starting TeslaMate"
|
bashio::log.info "Starting TeslaMate..."
|
||||||
|
|
||||||
cd /opt/app
|
cd /opt/app
|
||||||
exec $(/usr/bin/env sh) /entrypoint.sh bin/teslamate start
|
exec $(/usr/bin/env sh) /entrypoint.sh bin/teslamate start
|
||||||
|
|||||||
Reference in New Issue
Block a user