Compare commits
31 Commits
main
...
5579b49404
Author | SHA1 | Date | |
---|---|---|---|
5579b49404 | |||
eec6066c7b | |||
8c4d2b2130 | |||
97e3c80dde | |||
fa231bd805 | |||
298d509811 | |||
c30dd3eace | |||
8eea1952a0 | |||
80c7673c0b | |||
5c4f63d05a | |||
0b1755b6a0 | |||
ec6ca8b9a0 | |||
c1b0af5c68 | |||
7b47e6f7e3 | |||
3164e2e6c9 | |||
c77857c3fa | |||
89ccb50117 | |||
72a3f3df57 | |||
27cb5515c4 | |||
106e7ab752 | |||
429cec0c1a | |||
6165039cd4 | |||
e3710d1c42 | |||
16fd1b3365 | |||
b7e50c096a | |||
1b2a241b4f | |||
1504c222cc | |||
3f21a45b55 | |||
5a597b7bb3 | |||
9f56b9da3b | |||
2d0a4d1c0c |
105
.github/workflow/build.yaml
vendored
105
.github/workflow/build.yaml
vendored
@ -6,60 +6,69 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
# - name: Install Custom Components (Hass.IO)
|
||||||
|
# run: |
|
||||||
|
# sudo mkdir -p ./custom_components
|
||||||
|
# pwd
|
||||||
|
# cd /tmp
|
||||||
|
# git clone https://github.com/custom-components/sensor.unifigateway.git unifigateway
|
||||||
|
# sudo cp -r ./unifigateway/custom_components/unifigateway /home/runner/work/home-assistant-conf/home-assistant-conf/custom_components/unifigateway
|
||||||
|
# git clone https://github.com/rgruebel/ha_zigbee2mqtt_networkmap.git zigbee2mqtt_networkmap
|
||||||
|
# sudo cp -r ./zigbee2mqtt_networkmap/custom_components/zigbee2mqtt_networkmap /home/runner/work/home-assistant-conf/home-assistant-conf/custom_components/zigbee2mqtt_networkmap
|
||||||
|
# git clone https://github.com/custom-components/hacs.git hacs_temp
|
||||||
|
# cd hacs_temp
|
||||||
|
# git checkout $(git describe --tags --always $(git rev-list --tags --max-count=1000) | grep -e "[0-9]\+\.[0-9]\+\.[0-9]\+$" | head -n 1)
|
||||||
|
# cd ../
|
||||||
|
# sudo cp -r hacs_temp/custom_components/hacs hacs
|
||||||
|
# rm -R hacs_temp
|
||||||
|
# sudo cp -r ./hacs /home/runner/work/home-assistant-conf/home-assistant-conf/custom_components
|
||||||
|
|
||||||
- name: Install Custom Components (Hass.IO)
|
- name: Install system libs and dependencies
|
||||||
run: |
|
run: |
|
||||||
pwd
|
sudo apt-get -qq update
|
||||||
ls -la
|
sudo apt-get -y -qq install libudev-dev ffmpeg
|
||||||
|
sudo apt-get -y -qq install libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev
|
||||||
|
sudo apt-get install nodejs
|
||||||
|
|
||||||
# git checkout $(git describe --tags --always $(git rev-list --tags --max-count=1000) | grep -e "[0-9]\+\.[0-9]\+\.[0-9]\+$" | head -n 1)
|
- name: Install Prettier
|
||||||
|
run: |
|
||||||
|
sudo npm install --global prettier
|
||||||
|
|
||||||
# - name: Install system libs and dependencies
|
- name: Set up Python 3.8
|
||||||
# run: |
|
uses: actions/setup-python@v1
|
||||||
# sudo apt-get -qq update
|
with:
|
||||||
# sudo apt-get -y -qq install libudev-dev ffmpeg
|
python-version: 3.8
|
||||||
# sudo apt-get -y -qq install libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev
|
|
||||||
# sudo apt-get install nodejs
|
|
||||||
|
|
||||||
# - name: Install Prettier
|
- name: Install Python packages (Lint)
|
||||||
# run: |
|
run: |
|
||||||
# sudo npm install --global prettier
|
python -m pip install --upgrade pip
|
||||||
|
pip install black flake8 pylint yamllint
|
||||||
|
|
||||||
# - name: Set up Python 3.13
|
- name: YAML Lint
|
||||||
# uses: actions/setup-python@v5
|
run: |
|
||||||
# with:
|
yamllint ./
|
||||||
# python-version: 3.13
|
|
||||||
|
|
||||||
# - name: Install Python packages (Lint)
|
# - name: Prettier Check Up
|
||||||
# run: |
|
# run: |
|
||||||
# python -m pip install --upgrade pip
|
# prettier --check --no-bracket-spacing '**/*.{yaml,json}'
|
||||||
# pip install black flake8 pylint yamllint
|
|
||||||
|
|
||||||
# - name: YAML Lint
|
- name: Install Python packages (Hass.IO)
|
||||||
# run: |
|
run: |
|
||||||
# yamllint ./
|
pip install yq jq
|
||||||
|
pip install homeassistant
|
||||||
|
|
||||||
# # - name: Prettier Check Up
|
- name: Check HassIO configuration
|
||||||
# # run: |
|
run: |
|
||||||
# # prettier --check --no-bracket-spacing '**/*.{yaml,json}'
|
sudo mkdir -p /config/snapshots
|
||||||
|
hass --version
|
||||||
|
mv secrets.yaml.sample secrets.yaml
|
||||||
|
hass -c . --script check_config | tee check.output
|
||||||
|
! less check.output | grep -q "Failed config"
|
||||||
|
|
||||||
# - name: Install Python packages (Hass.IO)
|
- name: Send a telegram message with job status
|
||||||
# run: |
|
if: always()
|
||||||
# pip install yq jq
|
uses: appleboy/telegram-action@master
|
||||||
# pip install homeassistant
|
with:
|
||||||
|
to: ${{ secrets.TELEGRAM_TO }}
|
||||||
# - name: Check HassIO configuration
|
token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||||
# run: |
|
args: The last job from repo ({{repo}}) finished with ${{job.status}}.
|
||||||
# sudo mkdir -p /config/snapshots
|
|
||||||
# hass --version
|
|
||||||
# mv secrets.yaml.sample secrets.yaml
|
|
||||||
# hass -c . --script check_config | tee check.output
|
|
||||||
# ! less check.output | grep -q "Failed config"
|
|
||||||
|
|
||||||
# # - name: Send a telegram message with job status
|
|
||||||
# # if: always()
|
|
||||||
# # uses: appleboy/telegram-action@master
|
|
||||||
# # with:
|
|
||||||
# # to: ${{ secrets.TELEGRAM_TO }}
|
|
||||||
# # token: ${{ secrets.TELEGRAM_TOKEN }}
|
|
||||||
# # args: The last job from repo ({{repo}}) finished with ${{job.status}}.
|
|
||||||
|
106
.github/workflows/build.yaml
vendored
Normal file
106
.github/workflows/build.yaml
vendored
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
---
|
||||||
|
name: Savin's Home Assistant
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [develop]
|
||||||
|
paths-ignore:
|
||||||
|
- 'README.md'
|
||||||
|
# - '.github/**'
|
||||||
|
pull_request:
|
||||||
|
branches: [develop]
|
||||||
|
paths-ignore:
|
||||||
|
- 'README.md'
|
||||||
|
# - '.github/**'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install Custom Components (Hass.IO)
|
||||||
|
run: |
|
||||||
|
pwd
|
||||||
|
ls -la
|
||||||
|
sudo mkdir -p ./custom_components
|
||||||
|
pwd
|
||||||
|
cd /tmp
|
||||||
|
git clone https://github.com/PiotrMachowski/Home-Assistant-custom-components-Xiaomi-Cloud-Map-Extractor.git
|
||||||
|
sudo cp -r ./Home-Assistant-custom-components-Xiaomi-Cloud-Map-Extractor/custom_components/xiaomi_cloud_map_extractor /workspace/alex/hassio-configuration/custom_components/xiaomi_cloud_map_extractor
|
||||||
|
# git checkout $(git describe --tags --always $(git rev-list --tags --max-count=1000) | grep -e "[0-9]\+\.[0-9]\+\.[0-9]\+$" | head -n 1)
|
||||||
|
|
||||||
|
- name: Install system libs and dependencies
|
||||||
|
run: |
|
||||||
|
sudo echo "deb [signed-by=/etc/apt/trusted.gpg.d/libjpeg-turbo.gpg] https://packagecloud.io/dcommander/libjpeg-turbo/any/ any main" > /etc/apt/sources.list.d/libjpeg-turbo.list
|
||||||
|
wget -q -O- https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey | gpg --dearmor > /etc/apt/trusted.gpg.d/libjpeg-turbo.gpg
|
||||||
|
sudo apt-get -qq update
|
||||||
|
sudo apt-get -y -qq install libjpeg-turbo-official ffmpeg
|
||||||
|
# sudo apt-get -y -qq install libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev
|
||||||
|
# sudo apt-get install nodejs
|
||||||
|
|
||||||
|
# - name: Install Prettier
|
||||||
|
# run: |
|
||||||
|
# sudo npm install --global prettier
|
||||||
|
|
||||||
|
- name: Set up Python 3.13
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: 3.13
|
||||||
|
|
||||||
|
- name: Install Python packages (Lint)
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
pip install black flake8 pylint yamllint
|
||||||
|
|
||||||
|
# - name: YAML Lint
|
||||||
|
# run: |
|
||||||
|
# yamllint ./
|
||||||
|
|
||||||
|
# # - name: Prettier Check Up
|
||||||
|
# # run: |
|
||||||
|
# # prettier --check --no-bracket-spacing '**/*.{yaml,json}'
|
||||||
|
|
||||||
|
- name: Install Python packages (Hass.IO)
|
||||||
|
run: |
|
||||||
|
pip install yq jq
|
||||||
|
pip install colorlog
|
||||||
|
pip install homeassistant
|
||||||
|
echo "Installing crypto, requered by Component: xiaomi_cloud_map_extractor\n"
|
||||||
|
pip install pycryptodome requests python-miio pybase64 pillow
|
||||||
|
echo "Installing numpy, requered by Component: mobile_app, stream and camera\n"
|
||||||
|
pip install numpy
|
||||||
|
echo "Installing hassil, requered by Component: mobile_app\n"
|
||||||
|
pip install hassil
|
||||||
|
echo "Installing mutagen, requered by Component: mobile_app\n"
|
||||||
|
pip install mutagen
|
||||||
|
echo "Installing home_assistant_intents, requered by Component: mobile_app\n"
|
||||||
|
pip install home_assistant_intents
|
||||||
|
echo "Installing RestrictedPython, requered by Component: python_script\n"
|
||||||
|
pip install RestrictedPython
|
||||||
|
echo "Installing twilio, requered by Component: twilio\n"
|
||||||
|
pip install twilio
|
||||||
|
echo "Installing python-telegram-bot, requered by Component: telegram_bot\n"
|
||||||
|
pip install python-telegram-bot
|
||||||
|
echo "Installing pyeiscp, requered by Component: onkyo\n"
|
||||||
|
pip install pyeiscp
|
||||||
|
echo "Installing async_upnp_client, requered by Component: ssdp\n"
|
||||||
|
pip install async_upnp_client
|
||||||
|
|
||||||
|
- name: Check HassIO configuration
|
||||||
|
run: |
|
||||||
|
sudo mkdir -p /config/www
|
||||||
|
hass --version
|
||||||
|
mv secrets.sample.yaml secrets.yaml
|
||||||
|
ls -la
|
||||||
|
hass -c . --script check_config | tee check.output
|
||||||
|
|
||||||
|
# ! less check.output | grep -q "Failed config"
|
||||||
|
|
||||||
|
# # - name: Send a telegram message with job status
|
||||||
|
# # if: always()
|
||||||
|
# # uses: appleboy/telegram-action@master
|
||||||
|
# # with:
|
||||||
|
# # to: ${{ secrets.TELEGRAM_TO }}
|
||||||
|
# # token: ${{ secrets.TELEGRAM_TOKEN }}
|
||||||
|
# # args: The last job from repo ({{repo}}) finished with ${{job.status}}.
|
12
configuration/automation/global_webhook_gitea.yaml
Normal file
12
configuration/automation/global_webhook_gitea.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
- id: global_webhook_gitea
|
||||||
|
alias: '[Global] Webhook Gitea New Version'
|
||||||
|
initial_state: 'true'
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id: update.home_assistant_core_update
|
||||||
|
to: 'on'
|
||||||
|
action:
|
||||||
|
- service: notify.telegram_alex
|
||||||
|
data:
|
||||||
|
message: "New HA version ({{ state_attr('update.home_assistant_core_update', 'latest_version') }}) has been release"
|
91
secrets.sample.yaml
Normal file
91
secrets.sample.yaml
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
system_name: Savin!Home
|
||||||
|
system_latitude: 12.34567
|
||||||
|
system_longitude: -12.34567
|
||||||
|
system_elevation: 68
|
||||||
|
system_timezone: America/New_York
|
||||||
|
system_http_api: [REDACTED]
|
||||||
|
|
||||||
|
trusted_proxy_01: 10.10.10.10
|
||||||
|
|
||||||
|
trusted_network_01: 10.10.10.0/24
|
||||||
|
trusted_network_02: 10.10.11.0/24
|
||||||
|
trusted_network_03: 10.10.12.0/24
|
||||||
|
trusted_network_04: 10.10.13.0/24
|
||||||
|
trusted_network_05: 10.10.14.0/24
|
||||||
|
|
||||||
|
trusted_user_id_01: e7a4f74b143746e4b08b3fa2406dcd7a
|
||||||
|
trusted_user_id_02: 38dda68f32aa4b58a2c358ac5176a9bd
|
||||||
|
|
||||||
|
database_url: postgresql://homeassistant:homeassistant@10.10.10.1:5432/homeassistant?client_encoding=utf8
|
||||||
|
|
||||||
|
device_roborock_01_host: 10.10.10.1
|
||||||
|
device_roborock_01_token: [REDACTED]
|
||||||
|
device_roborock_01_cloud_username: redacted@gmail.com
|
||||||
|
device_roborock_01_cloud_password: [REDACTED]
|
||||||
|
|
||||||
|
|
||||||
|
services_nest_client_id: [REDACTED]
|
||||||
|
services_nest_client_secret: [REDACTED]
|
||||||
|
services_nest_project_id: [REDACTED]
|
||||||
|
services_nest_subscriber_id: [REDACTED]
|
||||||
|
|
||||||
|
services_remote_harmony_host: 10.10.10.1
|
||||||
|
|
||||||
|
services_light_ikea_hub_host: 10.10.10.1
|
||||||
|
|
||||||
|
services_notification_telegram_api_key: [REDACTED]
|
||||||
|
services_notification_telegram_url: https://localhost
|
||||||
|
services_notification_telegram_chat_id_01: 1234567890
|
||||||
|
services_notification_telegram_chat_id_02: 1234567890
|
||||||
|
services_notification_telegram_chat_id_03: '-1234567890'
|
||||||
|
services_notification_telegram_chat_id_04: '1234567890'
|
||||||
|
services_notification_telegram_white_ip_01: 10.10.10.1
|
||||||
|
services_notification_telegram_trusted_network_01: 10.10.10.1/32
|
||||||
|
|
||||||
|
service_twilio_sid: [REDACTED]
|
||||||
|
service_twilio_auth_token: [REDACTED]
|
||||||
|
|
||||||
|
weather_openweathermap_api_key: [REDACTED]
|
||||||
|
weather_darksky: [REDACTED]
|
||||||
|
|
||||||
|
zone_01_latitude: 12.34567
|
||||||
|
zone_01_longitude: -12.34567
|
||||||
|
|
||||||
|
zone_02_latitude: 12.34567
|
||||||
|
zone_02_longitude: -12.34567
|
||||||
|
|
||||||
|
zone_03_latitude: 12.34567
|
||||||
|
zone_03_longitude: -12.34567
|
||||||
|
|
||||||
|
zone_04_latitude: 12.34567
|
||||||
|
zone_04_longitude: -12.34567
|
||||||
|
|
||||||
|
zone_05_latitude: 12.34567
|
||||||
|
zone_05_longitude: -12.34567
|
||||||
|
|
||||||
|
zone_06_latitude: 12.34567
|
||||||
|
zone_06_longitude: -12.34567
|
||||||
|
|
||||||
|
zone_07_latitude: 12.34567
|
||||||
|
zone_07_longitude: -12.34567
|
||||||
|
|
||||||
|
zone_08_latitude: 12.34567
|
||||||
|
zone_08_longitude: -12.34567
|
||||||
|
|
||||||
|
zone_09_latitude: 12.34567
|
||||||
|
zone_09_longitude: -12.34567
|
||||||
|
|
||||||
|
zone_10_latitude: 12.34567
|
||||||
|
zone_10_longitude: -12.34567
|
||||||
|
|
||||||
|
zone_11_latitude: 12.34567
|
||||||
|
zone_11_longitude: -12.34567
|
||||||
|
|
||||||
|
|
||||||
|
zone_12_latitude: 12.34567
|
||||||
|
zone_12_longitude: -12.34567
|
||||||
|
|
||||||
|
zone_13_latitude: 12.34567
|
||||||
|
zone_13_longitude: -12.34567
|
||||||
|
|
||||||
|
notify_twilio_number_from: '+15551234567'
|
Reference in New Issue
Block a user