This commit is contained in:
Victor Alexandrovich Tsyrenschikov
2026-04-01 22:28:42 +05:00
parent 1f7260d869
commit b7b869b005
4 changed files with 706 additions and 0 deletions

182
config/.gitignore vendored Normal file
View File

@@ -0,0 +1,182 @@
# Gitignore settings for ESPHome
# This is an example and may include too much for your use-case.
# You can modify this file to suit your needs.
/.esphome/
/secrets.yaml
# ---> Python
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# UV
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
#uv.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
# Ruff stuff:
.ruff_cache/
# PyPI configuration file
.pypirc
/.idea/

115
config/esp32-c3-mini.yaml Normal file
View File

@@ -0,0 +1,115 @@
esphome:
name: esp32-c3-mini
friendly_name: ESP32-c3-mini
platformio_options:
board_build.flash_mode: dio
esp32:
board: esp32-c3-devkitm-1
variant: ESP32C3
framework:
type: esp-idf
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "zGWryIToSQYigPSiZBa1ljP7QNV+f1wM/jX+k1/9J6k="
ota:
- platform: esphome
password: "3f84a14ae6ed33fc29cddfd8c3cfe5bf"
wifi:
ssid: 'SmartHome'
password: ''
use_address: 192.168.88.29
manual_ip:
static_ip: 192.168.88.29
gateway: 192.168.88.1
subnet: 255.255.255.0
power_save_mode: none
# Enable fallback hotspot (captive portal) in case wifi connection fails
# ap:
# ssid: "Esp32-C3-Mini Fallback Hotspot"
# password: "wuMGlIsDXN19"
one_wire:
- platform: gpio
pin: GPIO4
id: bus1
i2c:
- id: bus_a
sda: GPIO6
scl: GPIO7
scan: true
captive_portal:
sensor:
- platform: ina219
address: 0x40
shunt_resistance: 0.1 ohm
current:
name: "INA219 Current"
unit_of_measurement: "A"
power:
name: "INA219 Power"
unit_of_measurement: "W"
filters:
- multiply: 10
bus_voltage:
name: "INA219 Bus Voltage"
unit_of_measurement: "V"
shunt_voltage:
name: "INA219 Shunt Voltage"
unit_of_measurement: "V"
max_voltage: 32.0V
max_current: 3.2A
update_interval: 1s
- platform: dallas_temp
one_wire_id: bus1
name: "DS18B20"
update_interval: 2s
- platform: bme680
i2c_id: bus_a
address: 0x76
update_interval: 1s
# - platform: gpio
# id: switch_output1
# name: "a8-output1"
# pin:
# pcf8574: pcf8574_hub_out_1
# number: 0
# mode: OUTPUT
# inverted: true
switch:
- platform: gpio
id: switch_output1
pin: GPIO5
inverted: True
binary_sensor:
- platform: gpio
name: "Pin GPIO21"
pin: GPIO21
web_server:
port: 80
auth:
username: "silver"
password: "cbvgcjy0"

67
config/esp8266.yaml Normal file
View File

@@ -0,0 +1,67 @@
esphome:
name: komp_vitya
friendly_name: esp8266
esp8266:
board: esp12e
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "DLO/jlbPutpVyTwKB5fP7oO36K58yiLzU0Fpw0ZN/hM="
ota:
- platform: esphome
password: "f98db3b86ae6f19b2d1aec85ee5f5bcd"
wifi:
ssid: 'SmartHome'
password: ''
use_address: 192.168.88.39
manual_ip:
static_ip: 192.168.88.39
gateway: 192.168.88.1
subnet: 255.255.255.0
power_save_mode: none
captive_portal:
status_led:
pin:
number: GPIO16
inverted: True
switch:
- platform: gpio
pin: GPIO5
name: Relay_komp
id: relay
on_turn_off:
then:
- wait_until:
condition:
for:
time: 2s
condition:
lambda: |-
return id(relay).state == true;
- lambda: |-
id(relay).turn_off();
mqtt:
broker: 192.168.88.4
username: 'miroca'
password: 'cbvgcjy0'
discovery: False # disable entity discovery
discover_ip: True # enable device discovery
web_server:
port: 80
auth:
username: "silver"
password: "cbvgcjy0"

342
config/small-home.yaml Normal file
View File

@@ -0,0 +1,342 @@
esphome:
name: small-home
friendly_name: Small-home
esp32:
board: esp32dev
framework:
type: esp-idf
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "/EFz4JsOw/FQu2RGJEmHg9+xm5/UdBeNbTd6mQbDN/U="
ota:
- platform: esphome
password: "0dac1ac3f1bae5208cc8ea81356da792"
wifi:
ssid: "SmartHome"
password: ""
use_address: 192.168.88.27
# Enable fallback hotspot (captive portal) in case wifi connection fails
# ap:
# ssid: "Kc868-A8 Fallback Hotspot"
# password: "gCJlyJ5kec3y"
manual_ip:
static_ip: 192.168.88.27
gateway: 192.168.88.1
subnet: 255.255.255.0
remote_receiver:
pin: 15
dump:
- rc_switch
tolerance: 100%
filter: 250us
idle: 4ms
buffer_size: 4kb
remote_transmitter:
pin: 2
# RF uses a 100% carrier signal
carrier_duty_percent: 100%
i2c:
sda: 4
scl: 5
scan: true
id: bus_a
# ethernet:
# type: LAN8720
# mdc_pin: GPIO23
# mdio_pin: GPIO18
# clk_mode: GPIO17_OUT
# phy_addr: 0
# use_address: 192.168.88.27
# manual_ip:
# static_ip: 192.168.88.27
# gateway: 192.168.88.1
# subnet: 255.255.255.0
# dns1: 192.168.88.1
pcf8574:
- id: 'pcf8574_hub_out_1' # for output channel 1-8
address: 0x24
- id: 'pcf8574_hub_in_1' # for input channel 1-8
address: 0x22
# Individual outputs
switch:
- platform: gpio
name: "a8-output1"
id: switch_output1
pin:
pcf8574: pcf8574_hub_out_1
number: 0
mode: OUTPUT
inverted: true
- platform: gpio
name: "a8-output2"
id: switch_output2
pin:
pcf8574: pcf8574_hub_out_1
number: 1
mode: OUTPUT
inverted: true
- platform: gpio
name: "a8-output3"
id: switch_output3
pin:
pcf8574: pcf8574_hub_out_1
number: 2
mode: OUTPUT
inverted: true
- platform: gpio
name: "a8-output4"
id: switch_output4
pin:
pcf8574: pcf8574_hub_out_1
number: 3
mode: OUTPUT
inverted: true
- platform: gpio
name: "a8-output5"
id: switch_output5
pin:
pcf8574: pcf8574_hub_out_1
number: 4
mode: OUTPUT
inverted: true
- platform: gpio
name: "a8-output6"
id: switch_output6
pin:
pcf8574: pcf8574_hub_out_1
number: 5
mode: OUTPUT
inverted: true
- platform: gpio
name: "a8-output7"
id: switch_output7
pin:
pcf8574: pcf8574_hub_out_1
number: 6
mode: OUTPUT
inverted: true
- platform: gpio
name: "a8-output8"
id: switch_output8
pin:
pcf8574: pcf8574_hub_out_1
number: 7
mode: OUTPUT
inverted: true
binary_sensor:
- platform: remote_receiver
name: "remoter1"
rc_switch_raw:
protocol: 3
code: '000000111110110100001'
on_press:
- switch.turn_off: switch_output7
- switch.turn_on: switch_output6
filters:
- delayed_off: 20ms
- platform: remote_receiver
name: "remoter2"
rc_switch_raw:
protocol: 3
code: '000000111110110100010'
on_press:
- switch.turn_off: switch_output6
- switch.turn_on: switch_output7
filters:
- delayed_off: 20ms
- platform: gpio
name: "a8-input1"
pin:
pcf8574: pcf8574_hub_in_1
number: 0
mode: INPUT
inverted: true
on_press:
- switch.toggle: switch_output1
on_release:
- switch.toggle: switch_output1
- platform: gpio
name: "a8-input2"
pin:
pcf8574: pcf8574_hub_in_1
number: 1
mode: INPUT
inverted: true
on_press:
- switch.toggle: switch_output2
on_release:
- switch.toggle: switch_output2
- platform: gpio
name: "a8-input3"
pin:
pcf8574: pcf8574_hub_in_1
number: 2
mode: INPUT
inverted: true
on_press:
- switch.toggle: switch_output3
on_release:
- switch.toggle: switch_output3
- platform: gpio
name: "a8-input4"
pin:
pcf8574: pcf8574_hub_in_1
number: 3
mode: INPUT
inverted: true
on_press:
- switch.toggle: switch_output4
on_release:
- switch.toggle: switch_output4
- platform: gpio
name: "a8-input5"
pin:
pcf8574: pcf8574_hub_in_1
number: 4
mode: INPUT
inverted: true
on_press:
- switch.toggle: switch_output5
on_release:
- switch.toggle: switch_output5
- platform: gpio
name: "a8-input6"
pin:
pcf8574: pcf8574_hub_in_1
number: 5
mode: INPUT
inverted: true
on_press:
- switch.toggle: switch_output6
on_release:
- switch.toggle: switch_output6
- platform: gpio
name: "a8-input7"
pin:
pcf8574: pcf8574_hub_in_1
number: 6
mode: INPUT
inverted: true
on_press:
- switch.toggle: switch_output7
on_release:
- switch.toggle: switch_output7
- platform: gpio
name: "a8-input8"
pin:
pcf8574: pcf8574_hub_in_1
number: 7
mode: INPUT
inverted: true
on_press:
- switch.toggle: switch_output8
on_release:
- switch.toggle: switch_output8
- platform: gpio
name: "a8-s3"
pin:
number: 32
inverted: true
- platform: gpio
name: "a8-s4"
pin:
number: 33
inverted: true
one_wire:
- platform: gpio
pin: GPIO14
id: bus14
sensor:
- platform: ina219
address: 0x40
shunt_resistance: 0.1 ohm
current:
name: "INA219 Current"
unit_of_measurement: "A"
power:
name: "INA219 Power"
unit_of_measurement: "W"
filters:
- multiply: 10
bus_voltage:
name: "INA219 Bus Voltage"
unit_of_measurement: "V"
shunt_voltage:
name: "INA219 Shunt Voltage"
unit_of_measurement: "V"
max_voltage: 32.0V
max_current: 3.2A
update_interval: 1s
- platform: dallas_temp
one_wire_id: bus14
name: "DS18B20"
update_interval: 2s
on_value_range:
- above: 27.0
then:
- delay: 10s
- switch.turn_on: switch_output8
- below: 26.5
then:
- delay: 10s
- switch.turn_off: switch_output8
# web_server:
# port: 80
# auth:
# username: "silver"
# password: "cbvgcjy0"
mqtt:
broker: 192.168.88.4
username: 'miroca'
password: 'cbvgcjy0'
discovery: False # disable entity discovery
discover_ip: True # enable device discovery