From 1228b9e8f87f17b83a1103b0912a471b9a22db14 Mon Sep 17 00:00:00 2001 From: Rik Veenboer Date: Wed, 27 Nov 2024 09:36:45 +0100 Subject: [PATCH] add other config files --- esphome/hub.yaml | 122 +++++++++++++++++++++++++++++ esphome/tuya.yaml | 25 ++++++ homeassistant/automations.yaml | 9 +++ homeassistant/configuration.yaml | 68 ++++++++++++++++ homeassistant/groups.yaml | 0 homeassistant/scenes.yaml | 29 +++++++ homeassistant/scripts.yaml | 20 +++++ openvpn-server/ovpn_env.sh | 25 ++++++ photoprism/config/settings.yml | 61 +++++++++++++++ transmission/bandwidth-groups.json | 2 + transmission/blocklist-update.sh | 20 +++++ transmission/settings.json | 82 +++++++++++++++++++ transmission/stats.json | 7 ++ 13 files changed, 470 insertions(+) create mode 100644 esphome/hub.yaml create mode 100644 esphome/tuya.yaml create mode 100644 homeassistant/automations.yaml create mode 100644 homeassistant/configuration.yaml create mode 100644 homeassistant/groups.yaml create mode 100644 homeassistant/scenes.yaml create mode 100644 homeassistant/scripts.yaml create mode 100644 openvpn-server/ovpn_env.sh create mode 100755 photoprism/config/settings.yml create mode 100644 transmission/bandwidth-groups.json create mode 100755 transmission/blocklist-update.sh create mode 100644 transmission/settings.json create mode 100644 transmission/stats.json diff --git a/esphome/hub.yaml b/esphome/hub.yaml new file mode 100644 index 0000000..6c2f5b0 --- /dev/null +++ b/esphome/hub.yaml @@ -0,0 +1,122 @@ +esphome: + name: hub + +esp32: + board: esp32dev + framework: + type: arduino + +# Enable logging +logger: +# level: VERY_VERBOSE + +# Enable Home Assistant API +api: + +ota: + password: "255834738e2dd3d917c17685d550f41b" + +wifi: + ssid: !secret wifi_ssid + password: !secret wifi_password + + # Enable fallback hotspot (captive portal) in case wifi connection fails + ap: + ssid: "Hub Fallback Hotspot" + password: "dnYDnNYpfmpT" + +captive_portal: + +esp32_ble_tracker: +# on_ble_manufacturer_data_advertise: +# manufacturer_id: 0590 +# then: +# - lambda: |- +# id(ble_sensor).publish_state(x[0]); +# on_ble_service_data_advertise: +# service_uuid: 0590 +# then: +# - lambda: |- +# id(ble_sensor).publish_state(x[0]); + +# text_sensor: +# - platform: ble_scanner +# name: "BLE Devices Scanner" + +sensor: + - platform: template + name: "BLE Sensor" + id: ble_sensor + - platform: atc_mithermometer + mac_address: A4:C1:38:A5:8D:B3 + temperature: + name: "ATC Temperature (8D:B3)" + humidity: + name: "ATC Humidity (8D:B3)" + battery_level: + name: "ATC Battery-Level (8D:B3)" + battery_voltage: + name: "ATC Battery-Voltage (8D:B3)" + + - platform: atc_mithermometer + mac_address: A4:C1:38:A9:8D:03 + temperature: + name: "ATC Temperature (8D:03)" + humidity: + name: "ATC Humidity (8D:03)" + battery_level: + name: "ATC Battery-Level (8D:03)" + battery_voltage: + name: "ATC Battery-Voltage (8D:03)" + + - platform: atc_mithermometer + mac_address: A4:C1:38:98:D1:1B + temperature: + name: "ATC Temperature (D1:1B)" + humidity: + name: "ATC Humidity (D1:1B)" + battery_level: + name: "ATC Battery-Level (D1:1B)" + battery_voltage: + name: "ATC Battery-Voltage (D1:1B)" + + - platform: atc_mithermometer + mac_address: A4:C1:38:FE:6D:D9 + temperature: + name: "ATC Temperature (6D:D9)" + humidity: + name: "ATC Humidity (6D:D9)" + battery_level: + name: "ATC Battery-Level (6D:D9)" + battery_voltage: + name: "ATC Battery-Voltage (6D:D9)" + + - platform: atc_mithermometer + mac_address: A4:C1:38:55:CD:EA + temperature: + name: "ATC Temperature (CD:EA)" + humidity: + name: "ATC Humidity (CD:EA)" + battery_level: + name: "ATC Battery-Level (CD:EA)" + battery_voltage: + name: "ATC Battery-Voltage (CD:EA)" + + - platform: atc_mithermometer + mac_address: A4:C1:38:3B:6F:E6 + temperature: + name: "ATC Temperature (6F:E6)" + humidity: + name: "ATC Humidity (6F:E6)" + battery_level: + name: "ATC Battery-Level (6F:E6)" + battery_voltage: + name: "ATC Battery-Voltage (6F:E6)" + + - platform: xiaomi_miscale + mac_address: 50:FB:19:4A:A4:A2 + weight: + name: "Xiaomi Mi Scale Weight" + impedance: + name: "Xiaomi Mi Scale Impedance" + diff --git a/esphome/tuya.yaml b/esphome/tuya.yaml new file mode 100644 index 0000000..694ea97 --- /dev/null +++ b/esphome/tuya.yaml @@ -0,0 +1,25 @@ +esphome: + name: tuya + +esp8266: + board: esp01_1m + +# Enable logging +logger: + +# Enable Home Assistant API +api: + +ota: + password: "a0b024921a6428b2c50f7438b3b830c0" + +wifi: + ssid: !secret wifi_ssid + password: !secret wifi_password + + # Enable fallback hotspot (captive portal) in case wifi connection fails + ap: + ssid: "Tuya Fallback Hotspot" + password: "gqYoLHLkAlWM" + +captive_portal: diff --git a/homeassistant/automations.yaml b/homeassistant/automations.yaml new file mode 100644 index 0000000..37d6cee --- /dev/null +++ b/homeassistant/automations.yaml @@ -0,0 +1,9 @@ +- id: '1674163696390' + alias: New Automation + description: '' + use_blueprint: + path: homeassistant/notify_leaving_zone.yaml + input: + person_entity: person.rik + zone_entity: zone.home + notify_device: ba6eb93231932e435fa833a1aac3d126 diff --git a/homeassistant/configuration.yaml b/homeassistant/configuration.yaml new file mode 100644 index 0000000..9b72628 --- /dev/null +++ b/homeassistant/configuration.yaml @@ -0,0 +1,68 @@ +default_config: + +tts: + - platform: google_translate + +group: !include groups.yaml +automation: !include automations.yaml +script: !include scripts.yaml +scene: !include scenes.yaml + +api: + +http: + use_x_forwarded_for: true + trusted_proxies: + # - 172.18.0.32 + - 172.0.0.0/8 + +ltss: + db_url: postgresql://homeassistant:homeassistant@192.168.2.200:6543/homeassistant + chunk_time_interval: 2592000000000 + include: + entity_globs: + - sensor.atc_* + - sensor.rik_* + - sensor.electricity_meter_* + - sensor.inverter_* + - sensor.charger_* + +bodymiscale: !include components/bodymiscale.yaml +device_tracker: + - platform: bluetooth_le_tracker + track_new_devices: true + +google_assistant: + project_id: home-assistant-afb62 + service_account: !include home-assistant-340618-840b2cb7a8a4.json + report_state: true + exposed_domains: + - switch + - light + entity_config: + switch.eetkamer: + name: CUSTOM_NAME_FOR_GOOGLE_ASSISTANT + aliases: + - BRIGHT_LIGHTS + - ENTRY_LIGHTS + +lastfm_scrobbler: + API_KEY: !secret lastfm_scrobbler_API_KEY + API_SECRET: !secret lastfm_scrobbler_API_SECRET + SESSION_KEY: !secret lastfm_scrobbler_SESSION_KEY + media_players: + - media_player.kantoor + - media_player.versterker + - media_player.woonkamer_tv + scrobble_percentage: 25 # The default value is 1 if this line is omitted. + +auth_header: + allow_bypass_login: true + # username_header: X-Forwarded-Preferred-Username + username_header: X-Homeassistant-User + debug: true + +logger: + default: info + logs: + custom_components.auth_header: debug diff --git a/homeassistant/groups.yaml b/homeassistant/groups.yaml new file mode 100644 index 0000000..e69de29 diff --git a/homeassistant/scenes.yaml b/homeassistant/scenes.yaml new file mode 100644 index 0000000..bd901c5 --- /dev/null +++ b/homeassistant/scenes.yaml @@ -0,0 +1,29 @@ +- id: '1640804759632' + name: Journaal + entities: + light.tv: + min_mireds: 250 + max_mireds: 454 + supported_color_modes: + - color_temp + friendly_name: Bank + supported_features: 32 + color_mode: color_temp + brightness: 81 + color_temp: 387 + hs_color: + - 28.664 + - 69.597 + rgb_color: + - 255 + - 162 + - 77 + xy_color: + - 0.538 + - 0.389 + state: 'on' + remote.rm4c_remote: + friendly_name: RM4C Remote + supported_features: 3 + state: 'on' + metadata: {} diff --git a/homeassistant/scripts.yaml b/homeassistant/scripts.yaml new file mode 100644 index 0000000..f176d0c --- /dev/null +++ b/homeassistant/scripts.yaml @@ -0,0 +1,20 @@ +# https://www.wouterbulten.nl/blog/tech/ikea-tradfri-temp-and-brightness-with-home-assistant/ +turn_on_ikea_light: + sequence: + # Check whether the light is off (optional) + - condition: template + value_template: "{{ is_state(entity, 'off') }}" + - delay: '00:00:01' + # Set the brightness of the lights. + - service: light.turn_on + data_template: + entity_id: "{{ entity }}" + brightness_pct: "{{ brightness_pct }}" + transition: 1 + - delay: '00:00:01' + # Set the color temperature. + - service: light.turn_on + data_template: + entity_id: "{{ entity }}" + color_temp: "{{ color_temp }}" + transition: 5 \ No newline at end of file diff --git a/openvpn-server/ovpn_env.sh b/openvpn-server/ovpn_env.sh new file mode 100644 index 0000000..fc767c7 --- /dev/null +++ b/openvpn-server/ovpn_env.sh @@ -0,0 +1,25 @@ +declare -x OVPN_AUTH= +declare -x OVPN_CIPHER= +declare -x OVPN_CLIENT_TO_CLIENT= +declare -x OVPN_CN=rik.veenboer.xyz +declare -x OVPN_COMP_LZO=0 +declare -x OVPN_DEFROUTE=1 +declare -x OVPN_DEVICE=tun +declare -x OVPN_DEVICEN=0 +declare -x OVPN_DISABLE_PUSH_BLOCK_DNS=0 +declare -x OVPN_DNS=1 +declare -x OVPN_DNS_SERVERS=([0]="8.8.8.8" [1]="8.8.4.4") +declare -x OVPN_ENV=/etc/openvpn/ovpn_env.sh +declare -x OVPN_EXTRA_CLIENT_CONFIG=() +declare -x OVPN_EXTRA_SERVER_CONFIG=() +declare -x OVPN_FRAGMENT= +declare -x OVPN_KEEPALIVE='10 60' +declare -x OVPN_MTU= +declare -x OVPN_NAT=0 +declare -x OVPN_PORT=443 +declare -x OVPN_PROTO=tcp +declare -x OVPN_PUSH=() +declare -x OVPN_ROUTES=([0]="192.168.254.0/24") +declare -x OVPN_SERVER=192.168.255.0/24 +declare -x OVPN_SERVER_URL=tcp://rik.veenboer.xyz:443 +declare -x OVPN_TLS_CIPHER= diff --git a/photoprism/config/settings.yml b/photoprism/config/settings.yml new file mode 100755 index 0000000..32ebd38 --- /dev/null +++ b/photoprism/config/settings.yml @@ -0,0 +1,61 @@ +UI: + Scrollbar: true + Zoom: false + Theme: default + Language: en + TimeZone: "" +Search: + BatchSize: 0 +Maps: + Animate: 0 + Style: streets +Features: + Account: true + Albums: true + Archive: true + Delete: false + Download: true + Edit: true + Estimates: true + Favorites: true + Files: true + Folders: true + Import: false + Labels: true + Library: true + Logs: true + Moments: true + People: true + Places: true + Private: true + Ratings: true + Reactions: true + Review: true + Search: true + Services: true + Settings: true + Share: true + Upload: false + Videos: true +Import: + Path: / + Move: false +Index: + Path: Vakantie/Bram + Rik/Athene 2023/Bram + Convert: true + Rescan: false + SkipArchived: false +Stack: + UUID: true + Meta: true + Name: false +Share: + Title: "" +Download: + Name: file + Disabled: false + Originals: true + MediaRaw: false + MediaSidecar: false +Templates: + Default: index.tmpl diff --git a/transmission/bandwidth-groups.json b/transmission/bandwidth-groups.json new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/transmission/bandwidth-groups.json @@ -0,0 +1,2 @@ +{ +} diff --git a/transmission/blocklist-update.sh b/transmission/blocklist-update.sh new file mode 100755 index 0000000..e7dac6d --- /dev/null +++ b/transmission/blocklist-update.sh @@ -0,0 +1,20 @@ +#!/usr/bin/with-contenv bash + +BLOCKLIST_ENABLED=`jq -r '.["blocklist-enabled"]' /config/settings.json` +BLOCKLIST_URL=`jq -r '.["blocklist-url"]' /config/settings.json | sed 's/\&/\&/g'` + +if [ $BLOCKLIST_ENABLED == true ]; then + mkdir -p /tmp/blocklists + rm -rf /tmp/blocklists/* + cd /tmp/blocklists + wget -q -O blocklist.gz "$BLOCKLIST_URL" + if [ $? == 0 ]; then + gunzip *.gz + if [ $? == 0 ]; then + chmod go+r * + rm -rf /config/blocklists/* + cp /tmp/blocklists/* /config/blocklists + s6-svc -t /var/run/s6/services/transmission + fi + fi +fi diff --git a/transmission/settings.json b/transmission/settings.json new file mode 100644 index 0000000..e544aed --- /dev/null +++ b/transmission/settings.json @@ -0,0 +1,82 @@ +{ + "alt-speed-down": 50, + "alt-speed-enabled": false, + "alt-speed-time-begin": 540, + "alt-speed-time-day": 127, + "alt-speed-time-enabled": false, + "alt-speed-time-end": 1020, + "alt-speed-up": 50, + "announce-ip": "", + "announce-ip-enabled": false, + "anti-brute-force-enabled": false, + "anti-brute-force-threshold": 100, + "bind-address-ipv4": "0.0.0.0", + "bind-address-ipv6": "::", + "blocklist-enabled": false, + "blocklist-url": "http://www.example.com/blocklist", + "cache-size-mb": 4, + "default-trackers": "", + "dht-enabled": true, + "download-dir": "/downloads/", + "download-queue-enabled": true, + "download-queue-size": 5, + "encryption": 1, + "idle-seeding-limit": 30, + "idle-seeding-limit-enabled": true, + "incomplete-dir": "/downloads/incomplete", + "incomplete-dir-enabled": true, + "lpd-enabled": false, + "message-level": 2, + "peer-congestion-algorithm": "", + "peer-id-ttl-hours": 6, + "peer-limit-global": 200, + "peer-limit-per-torrent": 50, + "peer-port": 51413, + "peer-port-random-high": 65535, + "peer-port-random-low": 49152, + "peer-port-random-on-start": false, + "peer-socket-tos": "le", + "pex-enabled": true, + "port-forwarding-enabled": true, + "preallocation": 1, + "prefetch-enabled": true, + "queue-stalled-enabled": true, + "queue-stalled-minutes": 30, + "ratio-limit": 2, + "ratio-limit-enabled": true, + "rename-partial-files": true, + "rpc-authentication-required": false, + "rpc-bind-address": "0.0.0.0", + "rpc-enabled": true, + "rpc-host-whitelist": "", + "rpc-host-whitelist-enabled": false, + "rpc-password": "{526bc3c8d19f240d69b3da1ad83fcb0cd31b4ea8pxVEroyQ", + "rpc-port": 9091, + "rpc-socket-mode": "0750", + "rpc-url": "/transmission/", + "rpc-username": "", + "rpc-whitelist": "", + "rpc-whitelist-enabled": false, + "scrape-paused-torrents-enabled": true, + "script-torrent-added-enabled": false, + "script-torrent-added-filename": "", + "script-torrent-done-enabled": false, + "script-torrent-done-filename": "", + "script-torrent-done-seeding-enabled": false, + "script-torrent-done-seeding-filename": "", + "seed-queue-enabled": false, + "seed-queue-size": 10, + "speed-limit-down": 100, + "speed-limit-down-enabled": false, + "speed-limit-up": 100, + "speed-limit-up-enabled": false, + "start-added-torrents": true, + "tcp-enabled": true, + "torrent-added-verify-mode": "fast", + "trash-original-torrent-files": false, + "umask": "002", + "upload-slots-per-torrent": 14, + "utp-enabled": false, + "watch-dir": "/watch", + "watch-dir-enabled": true +} diff --git a/transmission/stats.json b/transmission/stats.json new file mode 100644 index 0000000..8c57bb5 --- /dev/null +++ b/transmission/stats.json @@ -0,0 +1,7 @@ +{ + "downloaded-bytes": 925750661009, + "files-added": 24531, + "seconds-active": 49290627, + "session-count": 48, + "uploaded-bytes": 754451022137 +}