Compare commits

..

2 Commits

50 changed files with 1115 additions and 462 deletions

View File

@@ -2,10 +2,12 @@ substitutions:
device: air-office-r
name: Office R Air Quality Monitor
name_short: Office R
comment: "DEV"
area: Office R
comment: "${area} | AirQ Monitoring"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp32:
@@ -13,8 +15,8 @@ esp32:
# board: m5stamp-pico
framework:
type: esp-idf
# version: 5.2.1
# platform_version: 6.6.0
version: 5.3.1
platform_version: 6.9.0
external_components:
- source: components
@@ -22,11 +24,6 @@ external_components:
packages:
common: !include common/common.yaml
time:
- platform: homeassistant
id: ha_time
timezone: Europe/Bratislava
i2c:
# - id: i2c0
sda: 32

View File

@@ -1,10 +1,12 @@
substitutions:
device: atoms3
name: AtomS3
comment: "DEV"
area: DEV
comment: "${area} | --"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
platformio_options:
board_build.flash_mode: dio
@@ -15,7 +17,7 @@ esphome:
# id(display_tft).enable();
# id(display_tft).transfer_byte(0x11);
# id(display_tft).disable();
esp32:
board: esp32-s3-devkitc-1
# board: m5stack-atoms3
@@ -25,17 +27,24 @@ esp32:
# version: dev
# version: 5.1.2
# platform_version: 6.6.0
version: 5.2.1
platform_version: 6.6.0
version: 5.3.1
platform_version: 6.9.0
# type: arduino
pcf8574:
- id: 'pcf8574_hub'
address: 0x21
pcf8575: true
animation:
- file: "blinky.gif"
id: blinky
resize: 128x128
type: RGB565
- file: "vault_boy_walking.gif"
id: vaultboy
resize: 168x121
type: RGB565
logger:
logs:
@@ -45,6 +54,17 @@ web_server:
port: 80
version: 3
light:
- platform: esp32_rmt_led_strip
name: "${name} LED"
id: neo
rgb_order: GRB
pin: 2
num_leds: 1
# rmt_channel: 0
chipset: ws2812
restore_mode: ALWAYS_OFF
text:
- platform: template
name: "${name} Test Text"
@@ -66,12 +86,6 @@ external_components:
refresh: 0s
# - source: github://pr#5586
# components: [ http_request ]
- source:
type: git
url: https://github.com/ssieb/esphome
ref: onewire
components: [ gpio ]
refresh: 1min
# - source: github://mknjc/esphome@ds248x
# components: ds248x
# - source: github://bekriebel/esphome@sh1107_fix
@@ -217,7 +231,15 @@ switch:
channel: 4
# interlock: *interlock_group_2
m5stack_4relay_id: m5stack_relay_1
- platform: gpio
name: "PCF8574 Pin #8"
pin:
pcf8574: pcf8574_hub
number: 17
# One of INPUT or OUTPUT
mode:
output: true
inverted: false
spi:
clk_pin: 17
mosi_pin: 21
@@ -443,11 +465,12 @@ time:
# - 1.pool.ntp.org
# - 2.pool.ntp.org
esp32_ble_tracker:
# esp32_ble_tracker:
# scan_parameters:
# interval: 1100ms
# window: 1100ms
# active: true
bluetooth_proxy:
active: true
# bluetooth_proxy:
# active: true
# esp32_improv:
# authorizer: none

View File

@@ -2,10 +2,12 @@ substitutions:
device: basement-2
name_short: Basement
name: Basement 2
comment: "Basement: Lights"
area: Basement
comment: "${area} | Lights"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp8266:

View File

@@ -1,10 +1,12 @@
substitutions:
device: basement
name: Basement
comment: "Basement: Sockets"
area: Basement
comment: "${area} | Sockets"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp8266:

View File

@@ -1,17 +1,21 @@
substitutions:
device: bedroom-lamp-left
name: Bedroom Lamp Left
comment: ""
area: Bedroom
comment: "${area} | Left Lamp"
default_transition_length: 800ms
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp32:
board: esp32doit-devkit-v1
framework:
type: esp-idf
version: 5.3.1
platform_version: 6.9.0
sdkconfig_options:
CONFIG_FREERTOS_UNICORE: y
advanced:

View File

@@ -1,17 +1,21 @@
substitutions:
device: bedroom-lamp-right
name: Bedroom Lamp Right
comment: ""
area: Bedroom
comment: "${area} | Right Lamp"
default_transition_length: 800ms
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp32:
board: esp32doit-devkit-v1
framework:
type: esp-idf
version: 5.3.1
platform_version: 6.9.0
sdkconfig_options:
CONFIG_FREERTOS_UNICORE: y
advanced:

View File

@@ -1,10 +1,12 @@
substitutions:
device: c6-test-1
name: C6 TEST 1
comment: "DEV"
area: DEV
comment: "${area} | C6"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
# platformio_options:
# board_build.flash_mode: dio
@@ -38,8 +40,8 @@ esp32:
flash_size: 16MB
framework:
type: esp-idf
version: 5.2.1
platform_version: 6.6.0
version: 5.3.1
platform_version: 6.9.0
logger:
hardware_uart: USB_SERIAL_JTAG

View File

@@ -1,10 +1,12 @@
substitutions:
device: c6-test-2
name: C6 TEST 2
comment: "DEV"
area: DEV
comment: "${area} | C6"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
# platformio_options:
# board_build.flash_mode: dio
@@ -38,8 +40,8 @@ esp32:
flash_size: 16MB
framework:
type: esp-idf
version: 5.2.1
platform_version: 6.6.0
version: 5.3.1
platform_version: 6.9.0
logger:
hardware_uart: USB_SERIAL_JTAG

View File

@@ -1,10 +1,12 @@
substitutions:
device: cam-1
name: Cam 1
comment: "DEV: Camera"
area: DEV
comment: "${area} | Camera"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp32:

View File

@@ -1,19 +1,20 @@
substitutions:
device: can-node-1
name: CAN Node 1
comment: "DEV"
area: DEV
comment: "${area} | CANOpen"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp32:
board: esp32dev
framework:
# type: arduino
type: esp-idf
# version: 5.1.2
# platform_version: 6.5.0
version: 5.3.1
platform_version: 6.9.0
external_components:
- source: github://mrk-its/esphome-canopen@dev

View File

@@ -1,19 +1,20 @@
substitutions:
device: can-node-2
name: CAN Node 2
comment: "DEV"
area: DEV
comment: "${area} | CANOpen"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp32:
board: esp32dev
framework:
# type: arduino
type: esp-idf
# version: 5.1.2
# platform_version: 6.5.0
version: 5.3.1
platform_version: 6.9.0
external_components:
- source: github://mrk-its/esphome-canopen@dev

View File

@@ -1,10 +1,12 @@
substitutions:
device: cec-bedroom
name: Bedroom TV
comment: "DEV"
area: Bedroom
comment: "${area} | CEC"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp32:
@@ -12,6 +14,8 @@ esp32:
framework:
# type: arduino
type: esp-idf
version: 5.3.1
platform_version: 6.9.0
external_components:
# - source: github://pr#3017

View File

@@ -1,10 +1,12 @@
substitutions:
device: clock-1
name: Clock 1
comment: "First floor: Clock"
area: Office R
comment: "${area} | Clock"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
platformio_options:
board_build.flash_mode: dio
@@ -14,8 +16,8 @@ esp32:
variant: esp32c3
framework:
type: esp-idf
# version: 5.2.1
# platform_version: 6.6.0
version: 5.3.1
platform_version: 6.9.0
packages:
common: !include common/common.yaml
@@ -35,7 +37,6 @@ packages:
#
# GPIO9 GPIO (BUZZER?)
# https://github.com/granadaxronos/120-SONG_NOKIA_RTTTL_RINGTONE_PLAYER_FOR_ARDUINO_UNO/blob/master/RTTTL_PLAYER/songs.h
api:
services:

View File

@@ -1,18 +1,20 @@
substitutions:
device: desk-lamp
name: Mi Desk Lamp
comment: ""
area: Room
comment: "${area} | Desk lamp"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp32:
board: m5stack-atom
framework:
type: esp-idf
# version: 5.2.1
# platform_version: 6.6.0
version: 5.3.1
platform_version: 6.9.0
# external_components:
# - source: github://pr#7958
@@ -146,4 +148,4 @@ sensor:
// apply new settings
call.set_brightness(brightness);
call.set_color_temperature(temp);
call.perform();
call.perform();

View File

@@ -1,10 +1,12 @@
substitutions:
device: dimmer
name: Dimmer
comment: "Pain cave: Fan"
area: Basement
comment: "${area} | Pain cave fan"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
on_loop:
then:
@@ -30,11 +32,9 @@ esphome:
esp32:
board: m5stack-atom
framework:
# type: arduino
# version: 2.0.14
type: esp-idf
# version: 5.2.1
# platform_version: 6.6.0
version: 5.3.1
platform_version: 6.9.0
external_components:
- source: github://pr#7072

View File

@@ -2,10 +2,12 @@ substitutions:
device: echo-1
name: Echo 1
name_short: Echo 1
comment: "DEV"
area: DEV
comment: "${area} | Echo"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp32:

View File

@@ -2,19 +2,21 @@ substitutions:
device: echo
name: Echo
name_short: Echo
comment: "DEV"
area: Office R
comment: "${area} | Speaker"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp32:
board: m5stack-atom
framework:
type: arduino
# type: esp-idf
# version: 5.1.2
# platform_version: 6.5.0
# type: arduino
type: esp-idf
version: 5.3.1
platform_version: 6.9.0
external_components:
- source: components
@@ -61,7 +63,8 @@ binary_sensor:
input: true
pullup: true
on_click:
- media_player.toggle: media_out
- media_player.toggle:
id: media_out
light:
# - platform: neopixelbus
@@ -96,62 +99,50 @@ output:
number: 23
allow_other_uses: true
# i2s_audio:
# - id: i2s_out
# i2s_lrclk_pin: 33
# i2s_bclk_pin: 19
# adf_pipeline:
# - platform: i2s_audio
# type: audio_out
# id: adf_i2s_out
# i2s_audio_id: i2s_out
# i2s_dout_pin: 22
# media_player:
# - platform: adf_pipeline
# keep_pipeline_alive: true
# id: media_out
# name: ${name} Player
# on_play:
# - light.turn_on: led_light
# on_idle:
# - light.turn_off: led_light
# pipeline:
# - self
# - adf_i2s_out
i2s_audio:
i2s_lrclk_pin: 33
i2s_bclk_pin: 19
media_player:
speaker:
- platform: i2s_audio
id: speaker_id
dac_type: external
i2s_dout_pin: 22
channel: mono
sample_rate: 48000
- platform: mixer
id: mixer_speaker_id
output_speaker: speaker_id
source_speakers:
- id: announcement_spk_mixer_input
- id: media_spk_mixer_input
- id: rtttl_spk_mixer_input
- platform: resampler
id: media_spk_resampling_input
output_speaker: media_spk_mixer_input
- platform: resampler
id: announcement_spk_resampling_input
output_speaker: announcement_spk_mixer_input
- platform: resampler
id: rtttl_spk_resampling_input
output_speaker: rtttl_spk_mixer_input
media_player:
- platform: speaker
id: media_out
name: ${name} Player
dac_type: external
i2s_dout_pin:
number: 22
allow_other_uses: true
mode: mono
media_pipeline:
speaker: media_spk_resampling_input
announcement_pipeline:
speaker: announcement_spk_resampling_input
on_play:
- light.turn_on: led_light
on_idle:
- light.turn_off: led_light
speaker:
- platform: i2s_audio
id: echo_speaker
dac_type: external
i2s_dout_pin:
number: 22
allow_other_uses: true
channel: mono
rtttl:
id: my_rtttl
speaker: echo_speaker
speaker: rtttl_spk_resampling_input
# microphone:
# - platform: i2s_audio
@@ -168,4 +159,4 @@ rtttl:
# # - script.execute: say_hello_server
# - http_request.get:
# url: https://esphome.io
# verify_ssl: false
# verify_ssl: false

View File

@@ -1,7 +1,7 @@
substitutions:
device: eworkbench
name: Electronics Workbench
comment: "Office R: Electronics Workbench"
comment: "Office R | Electronics Workbench"
esphome:
name: mcu-${device}
@@ -14,8 +14,8 @@ esp32:
variant: esp32c3
framework:
type: esp-idf
version: 5.1.2
platform_version: 6.5.0
version: 5.3.1
platform_version: 6.9.0
packages:
common: !include common/common.yaml
@@ -42,6 +42,10 @@ i2c:
sda: 1
scl: 0
scan: true
# - id: i2c_grove_2
# sda: 19
# scl: 18
# scan: true
uart:
- id: uart_log
@@ -53,87 +57,188 @@ uart:
tx_pin: 19
baud_rate: 9600
pcf8574:
- id: 'pcf8574_hub'
address: 0x20
pcf8575: true
switch:
- platform: gpio
name: "PCF8574 Pin #0"
pin:
pcf8574: pcf8574_hub
number: 0
# One of INPUT or OUTPUT
mode:
output: true
inverted: false
- platform: gpio
name: "PCF8574 Pin #1"
pin:
pcf8574: pcf8574_hub
number: 1
# One of INPUT or OUTPUT
mode:
output: true
inverted: false
- platform: gpio
name: "PCF8574 Pin #7"
pin:
pcf8574: pcf8574_hub
number: 7
# One of INPUT or OUTPUT
mode:
output: true
inverted: false
binary_sensor:
- platform: gpio
id: rotary_encoder_button
name: "PCF8574 Pin #10"
pin:
number: 6
# mode: INPUT_PULLUP
inverted: true
filters:
- delayed_on: 30ms
- delayed_off: 30ms
on_press:
- display_menu.enter:
pcf8574: pcf8574_hub
number: 8
# One of INPUT or OUTPUT
mode: INPUT
inverted: false
- platform: gpio
name: "PCF8574 Pin #11"
pin:
pcf8574: pcf8574_hub
number: 9
# One of INPUT or OUTPUT
mode: INPUT
inverted: false
- platform: gpio
name: "PCF8574 Pin #12"
pin:
pcf8574: pcf8574_hub
number: 10
# One of INPUT or OUTPUT
mode: INPUT
inverted: false
- platform: gpio
name: "PCF8574 Pin #13"
pin:
pcf8574: pcf8574_hub
number: 11
# One of INPUT or OUTPUT
mode: INPUT
inverted: false
- platform: gpio
name: "PCF8574 Pin #14"
pin:
pcf8574: pcf8574_hub
number: 12
# One of INPUT or OUTPUT
mode: INPUT
inverted: false
- platform: gpio
name: "PCF8574 Pin #15"
pin:
pcf8574: pcf8574_hub
number: 13
# One of INPUT or OUTPUT
mode: INPUT
inverted: false
- platform: gpio
name: "PCF8574 Pin #15"
pin:
pcf8574: pcf8574_hub
number: 14
# One of INPUT or OUTPUT
mode: INPUT
inverted: false
- platform: gpio
name: "PCF8574 Pin #17"
pin:
pcf8574: pcf8574_hub
number: 15
# One of INPUT or OUTPUT
mode: INPUT
inverted: false
display:
- platform: lcd_pcf8574
id: my_lcd
dimensions: 20x4
address: 0x27
user_characters:
- position: 0
data: # mark_back symbol
- 0b00100
- 0b01000
- 0b11110
- 0b01001
- 0b00101
- 0b00001
- 0b11110
- 0b00000
lambda: |-
id(my_lcd_menu).draw();
if (!id(my_lcd_menu).is_active())
it.print("Menu is not active");
# binary_sensor:
# - platform: gpio
# id: rotary_encoder_button
# pin:
# number: 6
# # mode: INPUT_PULLUP
# inverted: true
# filters:
# - delayed_on: 30ms
# - delayed_off: 30ms
# on_press:
# - display_menu.enter:
lcd_menu:
id: my_lcd_menu
display_id: my_lcd
active: true
mode: rotary
mark_back: 0x08
mark_selected: 0x3e
mark_editing: 0x2a
mark_submenu: 0x7e
items:
- type: back
text: 'Back'
- type: label
text: 'Label 1'
- type: label
text: !lambda |-
return "Templated label";
# display:
# - platform: lcd_pcf8574
# id: my_lcd
# i2c_id: i2c_grove
# dimensions: 20x4
# address: 0x27
# user_characters:
# - position: 0
# data: # mark_back symbol
# - 0b00100
# - 0b01000
# - 0b11110
# - 0b01001
# - 0b00101
# - 0b00001
# - 0b11110
# - 0b00000
# lambda: |-
# id(my_lcd_menu).draw();
# if (!id(my_lcd_menu).is_active())
# it.print("Menu is not active");
select:
- platform: template
id: hdmi_switch
optimistic: true
options:
- PC1
- PC2
- PC3
- PC4
initial_option: PC1
# set_action:
# - logger.log:
# format: "Chosen option: %s (index %d)"
# args: ["x.c_str()", "i"]
# - uart.write:
# id: uart_hdmi_switch
# data: [0x47, 0x30, 0x31, 0x67, 0x41, 0x00]
# lcd_menu:
# id: my_lcd_menu
# display_id: my_lcd
# active: true
# mode: rotary
# mark_back: 0x08
# mark_selected: 0x3e
# mark_editing: 0x2a
# mark_submenu: 0x7e
# items:
# - type: back
# text: 'Back'
# - type: label
# text: 'Label 1'
# - type: label
# text: !lambda |-
# return "Templated label";
sensor:
- platform: rotary_encoder
id: rotary_encoder_sensor
pin_a: 4
pin_b: 5
filters:
debounce: 30ms
on_anticlockwise:
- display_menu.up:
on_clockwise:
- display_menu.down:
# select:
# - platform: template
# id: hdmi_switch
# optimistic: true
# options:
# - PC1
# - PC2
# - PC3
# - PC4
# initial_option: PC1
# # set_action:
# # - logger.log:
# # format: "Chosen option: %s (index %d)"
# # args: ["x.c_str()", "i"]
# # - uart.write:
# # id: uart_hdmi_switch
# # data: [0x47, 0x30, 0x31, 0x67, 0x41, 0x00]
# sensor:
# - platform: rotary_encoder
# id: rotary_encoder_sensor
# pin_a: 4
# pin_b: 5
# filters:
# debounce: 30ms
# on_anticlockwise:
# - display_menu.up:
# on_clockwise:
# - display_menu.down:
time:
- platform: homeassistant

View File

@@ -1,18 +1,20 @@
substitutions:
device: fireplace
name: Heating Fireplace
comment: "Ground floor, Kitchen: Fireplace monitoring for heating"
area: Living Room / Kitchen
comment: "${area}, Fireplace | Fireplace monitoring for heating"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp32:
board: m5stack-atom
framework:
type: esp-idf
# version: 5.1.2
# platform_version: 6.6.0
version: 5.3.1
platform_version: 6.9.0
external_components:
- source: github://mknjc/esphome@ds248x

View File

@@ -1,18 +1,20 @@
substitutions:
device: gate
name: Gate
comment: "Outside: Gate"
area: Outside
comment: "${area} | Gate"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp32:
board: m5stack-atom
framework:
type: esp-idf
# version: 5.1.2
# platform_version: 6.5.0
version: 5.3.1
platform_version: 6.9.0
external_components:
- source: components

View File

@@ -2,18 +2,20 @@ substitutions:
device: heating
name: Heating
name_1: Heater
comment: "Basement: Hot water and Heating control"
area: Basement
comment: "${area} | Hot water and Heating control"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp32:
board: m5stack-atom
framework:
type: esp-idf
# version: 5.1.2
# platform_version: 6.6.0
version: 5.3.1
platform_version: 6.9.0
external_components:
- source: github://mknjc/esphome@ds248x
@@ -127,15 +129,6 @@ time:
id(hot_water_demand).turn_off();
}
// ## Heating - TYPE 1: heat water to desired max temperature at specified times
// ## Heating - TYPE 2: mantain temperature in min-max range in desired time range
if (id(heating_climate).mode == 0) {
id(heating_demand).turn_off();
ESP_LOGD("main", "Climate Heating is OFF => Turn Heating OFF!");
} else {
ESP_LOGD("main", "Climate Heating state is other than OFF => dont touch heating");
}
climate:
- platform: bang_bang
sensor: hot_water_heater
@@ -155,23 +148,6 @@ climate:
away_config:
default_target_temperature_low: 30 °C
default_target_temperature_high: 40 °C
- platform: bang_bang
sensor: current_heating_temperature_min
name: Heating
id: heating_climate
visual:
min_temperature: 12
max_temperature: 35
temperature_step: 0.1
default_target_temperature_low: 19 °C
default_target_temperature_high: 20 °C
heat_action:
- switch.turn_on: heating_demand
idle_action:
- switch.turn_off: heating_demand
away_config:
default_target_temperature_low: 17 °C
default_target_temperature_high: 18 °C
i2c:
# - id: i2c0
@@ -207,6 +183,10 @@ pca9554:
address: 0x27
switch:
- platform: template
name: "Heating Enabled"
id: heating_enabled
optimistic: True
- platform: gpio
name: "Hot Water Demand" # Hot Water Heating Demand (to Heater)
id: hot_water_demand
@@ -265,48 +245,6 @@ sensor:
address: 0x7301143F7F57AA28 # Heating Water Return (OUT from System, TO Heater)
name: "Heating IN2"
id: 'heating_in'
## heating
- platform: homeassistant
id: current_heating_fireplace_temperature
entity_id: sensor.heating_fireplace
# - ground floor
- platform: homeassistant
id: kitchen_temperature
entity_id: sensor.zigbee_living_room_kitchen_temperature
- platform: homeassistant
id: room_temperature
entity_id: sensor.zigbee_room_temperature
# - first floor
- platform: homeassistant
id: bedroom_temperature
entity_id: sensor.zigbee_bedroom_temperature
- platform: homeassistant
id: office_j_temperature
entity_id: sensor.zigbee_office_j_temperature
- platform: homeassistant
id: office_r_temperature
entity_id: sensor.zigbee_office_r_temperature
# - min/max
- platform: template
id: current_heating_temperature_min
lambda: |-
float value = 25.0;
value = min(value, (float) id(kitchen_temperature).state);
//value = min(value, (float) id(room_temperature).state);
//value = min(value, (float) id(office_j_temperature).state);
//value = min(value, (float) id(bedroom_temperature).state);
return value;
update_interval: 60s
- platform: template
id: current_heating_temperature_max
lambda: |-
float value = 20.0;
value = max(value, (float) id(kitchen_temperature).state);
value = max(value, (float) id(room_temperature).state);
value = max(value, (float) id(office_j_temperature).state);
value = max(value, (float) id(bedroom_temperature).state);
return value;
update_interval: 60s
- platform: template
name: "Heater Total Daily Energy"
id: heater_daily_energy
@@ -319,22 +257,22 @@ sensor:
unit_of_measurement: '€'
lambda: |-
//# platba za odberne miesto 0,75 1,1
//# pevna mesacna zlozka tarify 0,15000000 0,1508 * 75 A
//# pevna mesacna zlozka tarify 0,15080000 0,1508 * 75 A
//## platba za systemove sluzby 0,00594340
//# platba za prevadzku systemu 0,02598800
//# variabilna zlozka tarify za distribuciu 0,00279200
//# platba za straty elktr.sidtr.el. 0,00687300
//## platba za systemove sluzby 0,00629760
//# platba za prevadzku systemu 0,01590000
//# variabilna zlozka tarify za distribuciu 0,00398400
//# platba za straty elktr.sidtr.el. 0,01146600
//# odvod do jadroveho fondu 0,00327000
//#
//# cena za elektrinu VT 0,06390000 0,10070000
//# cena za elektrinu NT 0,04110000 0,06700000
//# cena za elektrinu VT 0,06390000 0,10380000
//# cena za elektrinu NT 0,04110000 0,06900000
//# 0.00594340+0.02598800+0.00279200+0.00687300+0.00327000+0.04110000 = 0.0859664
//# prenos mesacne = 0,15080000*75
//# prenos spotreba * (0,00398400+0,01146600+0,00327000+0,00629760+0,01590000) = spotreba * 0,0409176
// # 1,1 + (VT * 0,1007) + (NT * 0,067) + (75 * 0,1508) + ((VT+NT) * (0,00398400+0,01146600+0,00327000+0,00629760+0,01590000))
return (id(heater_daily_energy).state * (0.0409176 + 0.067));
// # 1,1 + (VT * 0,1038) + (NT * 0,069) + (75 * 0,1508) + ((VT+NT) * (0,00398400+0,01146600+0,00327000+0,00629760+0,01590000))
return (id(heater_daily_energy).state * (0.0409176 + 0.069));
# L1
- platform: pzemac
#address: 161
@@ -498,14 +436,6 @@ binary_sensor:
filters:
- delayed_on: 300ms
- delayed_off: 300ms
- platform: template
id: heating_fireplace_status
lambda: |-
if (id(current_heating_fireplace_temperature).state > 37.5) {
return true;
} else {
return false;
}
- platform: template
id: heater_alarm
name: "Heater Alarm"
@@ -514,4 +444,25 @@ binary_sensor:
return true;
} else {
return false;
}
}
- platform: homeassistant
id: trv_heating_demand
entity_id: binary_sensor.trv_heating_demand
- platform: homeassistant
id: heating_fireplace_fire
entity_id: binary_sensor.heating_fireplace_fire
- platform: template
id: request_heating_demand
name: "Request Heating Demand"
lambda: |-
if (id(trv_heating_demand).state && id(heating_enabled).state && !id(heating_fireplace_fire).state) {
return true;
} else {
return false;
}
on_press:
then:
- switch.turn_on: heating_demand
on_release:
then:
- switch.turn_off: heating_demand

View File

@@ -1,10 +1,12 @@
substitutions:
device: kitchen
name: Kitchen
comment: "Kitchen: Kitchen Worktop and Stove Lights"
area: Living Room / Kitchen
comment: "${area} | Kitchen Worktop and Stove Lights"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
on_boot:
# - priority: 600.0
@@ -29,8 +31,8 @@ esp32:
board: m5stack-atom
framework:
type: esp-idf
# version: 5.1.2
# platform_version: 6.6.0
version: 5.3.1
platform_version: 6.9.0
packages:
common: !include common/common.yaml

View File

@@ -2,10 +2,12 @@ substitutions:
device: lightening
name: Lightening detector
name_short: Lightening
comment: "DEV"
area: DEV
comment: "${area} | Lightening"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp32:
@@ -13,8 +15,8 @@ esp32:
# board: m5stamp-pico
framework:
type: esp-idf
# version: 5.1.2
# platform_version: 6.5.0
version: 5.3.1
platform_version: 6.9.0
external_components:
- source: components
@@ -53,7 +55,6 @@ light:
rgb_order: GRB
pin: 27
num_leds: 1
rmt_channel: 0
chipset: ws2812
restore_mode: ALWAYS_OFF

158
mcu-lvgl-eworkbench.yaml Normal file
View File

@@ -0,0 +1,158 @@
substitutions:
device: lvgl-eworkbench
name: Electronics Workbench Display
area: Office R
comment: "${area} | Electronics Workbench"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
platformio_options:
upload_speed: 921600
build_unflags: -Werror=all
board_build.flash_mode: dio
board_build.f_flash: 80000000L
board_build.f_cpu: 240000000L
esp32:
board: esp32-s3-devkitc-1
flash_size: 16MB
framework:
type: esp-idf
version: 5.3.1
platform_version: 6.9.0
sdkconfig_options:
CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240: y
CONFIG_ESP32S3_DATA_CACHE_64KB: y
CONFIG_ESP32S3_DATA_CACHE_LINE_64B: y
CONFIG_SPIRAM_FETCH_INSTRUCTIONS: y
CONFIG_SPIRAM_RODATA: y
packages:
common: !include common/common.yaml
external_components:
#- source: github://buglloc/esphome-components
#- source: github://Garag/esphome-components
- source: github://clowrey/esphome-components
components: [axs15231]
refresh: 10min
i2c:
sda: 4
scl: 8
id: touchscreen_bus
psram:
mode: octal
speed: 120MHz
spi:
id: display_qspi
type: quad
clk_pin: 47
data_pins: [21, 48, 40, 39]
color:
- id: my_red
red: 100%
green: 0%
blue: 0%
- id: my_orange
red: 100%
green: 50%
blue: 0%
- id: my_yellow
red: 100%
green: 100%
blue: 0%
- id: my_green
red: 0%
green: 100%
blue: 0%
- id: my_blue
red: 0%
green: 0%
blue: 100%
- id: my_teal
red: 0%
green: 100%
blue: 100%
- id: my_gray
red: 70%
green: 70%
blue: 70%
- id: my_white
red: 100%
green: 100%
blue: 100%
font:
- file: "gfonts://Roboto"
id: Roboto_48
size: 48
- file: "gfonts://Roboto"
id: Roboto_36
size: 36
- file: "gfonts://Roboto"
id: Roboto_24
size: 24
- file: "gfonts://Roboto"
id: Roboto_12
size: 12
- file: "gfonts://Roboto"
id: font_std
size: 40
glyphs: "!\"%()+=,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz/\\[]|&@#'"
- file: "gfonts://Roboto@700"
id: font_title
size: 40
glyphs: "!\"%()+=,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz/\\[]|&@#'"
globals:
- id: bgcolor
type: Color
initial_value: "Color::random_color()"
display:
- platform: axs15231
data_rate: 40MHz #20mhz is default
#spi_mode: MODE2
id: main_display
spi_id: display_qspi
dimensions:
height: 480
width: 320
cs_pin: 45
backlight_pin: 1
brightness: 50
transform:
swap_xy: false
rotation: 90
auto_clear_enabled: false
show_test_card: true
lambda: |-
it.fill(id(bgcolor));
it.print(it.get_width()/2, it.get_height()/2-20, id(font_title), TextAlign::CENTER, "ESPHome");
it.print(it.get_width()/2, it.get_height()/2+20, id(font_std), TextAlign::CENTER, "@UTBDK");
touchscreen:
- platform: axs15231
id: main_touch
display: main_display
i2c_id: touchscreen_bus
transform:
swap_xy: true
on_touch:
- lambda: |-
Color newColor;
do { newColor = Color::random_color(); } while (newColor == id(bgcolor));
id(bgcolor) = newColor;
ESP_LOGI("cal", "x=%d, y=%d, x_raw=%d, y_raw=%0d",
touch.x,
touch.y,
touch.x_raw,
touch.y_raw
);

View File

@@ -1,10 +1,12 @@
substitutions:
device: lvgl
name: LVGL
comment: "DEV"
area: DEV
comment: "${area} | LVGL"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
platformio_options:
board_build.flash_mode: dio

View File

@@ -1,10 +1,12 @@
substitutions:
device: m5paper
name: M5Paper
comment: "DEV | m5paper"
area: DEV
comment: "${area} | M5Paper"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp32:

View File

@@ -2,18 +2,20 @@ substitutions:
device: mains-power
name: Mains Power
name_1: Mains
comment: "Room: Mains Power Monitoring"
area: Room
comment: "${area} | Mains Power Monitoring"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp32:
board: m5stack-atom
framework:
type: esp-idf
# version: 5.1.2
# platform_version: 6.6.0
version: 5.3.1
platform_version: 6.9.0
packages:
common: !include common/common.yaml

View File

@@ -2,13 +2,16 @@ substitutions:
device: nspanel-bedroom
name: Bedroom NSPanel
name_short: Bedroom
comment: "Bedroom NSPanel"
area: Bedroom
comment: "${area} | NSPanel"
panel_recv_topic: "tele/${device}/RESULT"
panel_send_topic: "cmnd/${device}/CustomSend"
tft_url: !secret tft_url
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
on_boot:
then:

View File

@@ -2,19 +2,23 @@ substitutions:
device: nspanel-dev
name: NSPanel DEV
name_short: DevPanel
comment: "DEV | NSPanel"
area: DEV
comment: "${area} | NSPanel"
panel_recv_topic: "tele/${device}/RESULT"
panel_send_topic: "cmnd/${device}/CustomSend"
tft_url: !secret tft_url
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
on_boot:
then:
- switch.turn_off: screen_power
- delay: 1s
- switch.turn_on: screen_power
- delay: 2s
- lambda: 'id(nspanel_id).set_display_dim(5, 80);'
# priority: -100
# then:
@@ -34,11 +38,17 @@ esp32:
# platform_version: 6.6.0
external_components:
# - source:
# type: git
# url: https://github.com/sairon/esphome-nspanel-lovelace-ui
# ref: dev
# refresh: 0s
# components: [nspanel_lovelace]
- source:
type: git
url: https://github.com/sairon/esphome-nspanel-lovelace-ui
url: https://github.com/olicooper/esphome-nspanel-lovelace-native
ref: dev
refresh: 0s
refresh: 3h
components: [nspanel_lovelace]
- source: github://pr#7942
components: adc
@@ -69,95 +79,97 @@ api:
message: string
song: string
then:
- lambda: 'id(nspanel_id).send_custom_command("notify~" + heading + "~" + message);'
- lambda: 'id(nspanel_id).notify_on_screensaver(heading, message, 10000);'
# - lambda: 'id(nspanel_id).send_custom_command("notify~" + heading + "~" + message);'
- rtttl.play:
rtttl: !lambda 'return song;'
- delay: 10s
- lambda: 'id(nspanel_id).send_custom_command("notify~~");'
# - delay: 10s
# - lambda: 'id(nspanel_id).send_custom_command("notify~~");'
- service: update_tft
then:
- lambda: |-
id(nspanel_id).upload_tft("${tft_url}");
# DISABLED until https://github.com/olicooper/esphome-nspanel-lovelace-native/issues/20 is fixed
# - service: update_tft
# then:
# - lambda: |-
# id(nspanel_id).upload_tft("${tft_url}");
- service: upload_tft
variables:
url: string
then:
- lambda: |-
id(nspanel_id).upload_tft(url);
# - service: upload_tft
# variables:
# url: string
# then:
# - lambda: |-
# id(nspanel_id).upload_tft(url);
# Service to send a command directly to the display. Useful for testing
- service: send_command
variables:
cmd: string
then:
- lambda: "id(nspanel_id).send_custom_command(cmd.c_str());"
# # Service to send a command directly to the display. Useful for testing
# - service: send_command
# variables:
# cmd: string
# then:
# - lambda: "id(nspanel_id).send_custom_command(cmd.c_str());"
# Service to pusblish to mqtt used for refreshin the panel
- service: publish_to_recv_topic
variables:
cmd: string
then:
- mqtt.publish:
topic: $panel_recv_topic
payload: !lambda "return cmd;"
# # Service to pusblish to mqtt used for refreshin the panel
# - service: publish_to_recv_topic
# variables:
# cmd: string
# then:
# - mqtt.publish:
# topic: $panel_recv_topic
# payload: !lambda "return cmd;"
# Service to send a command wake the screen
- service: wake
then:
- lambda: 'id(nspanel_id).send_custom_command("wake");'
# # Service to send a command wake the screen
# - service: wake
# then:
# - lambda: 'id(nspanel_id).send_custom_command("wake");'
# Service to send a command to show screensaver (some of the values are hardcoded)
- service: show_screensaver
then:
- mqtt.publish:
topic: $panel_recv_topic
payload: '{"CustomRecv":"event,sleepReached,cardGrid"}'
# # Service to send a command to show screensaver (some of the values are hardcoded)
# - service: show_screensaver
# then:
# - mqtt.publish:
# topic: $panel_recv_topic
# payload: '{"CustomRecv":"event,sleepReached,cardGrid"}'
# Service to navigate to screen
- service: navigate_to_page
variables:
page: string
then:
- mqtt.publish_json:
topic: $panel_recv_topic
payload: |-
root["CustomRecv"] = "event,buttonPress2,navigate." + page + ",button";
# # Service to navigate to screen
# - service: navigate_to_page
# variables:
# page: string
# then:
# - mqtt.publish_json:
# topic: $panel_recv_topic
# payload: |-
# root["CustomRecv"] = "event,buttonPress2,navigate." + page + ",button";
# Service to send a command disable screensaver
- service: disable_screensaver
then:
- lambda: 'id(nspanel_id).send_custom_command("timeout~0");'
# # Service to send a command disable screensaver
# - service: disable_screensaver
# then:
# - lambda: 'id(nspanel_id).send_custom_command("timeout~0");'
# Service to send a command enabled screensaver
- service: enable_screensaver
then:
- lambda: 'id(nspanel_id).send_custom_command("timeout~20");'
# # Service to send a command enabled screensaver
# - service: enable_screensaver
# then:
# - lambda: 'id(nspanel_id).send_custom_command("timeout~20");'
# Service to send a command wake the screen
- service: dim_0_to_100
variables:
intensity: string
then:
- lambda: 'id(nspanel_id).send_custom_command("dimmode~"+intensity+"~100");'
# # Service to send a command wake the screen
# - service: dim_0_to_100
# variables:
# intensity: string
# then:
# - lambda: 'id(nspanel_id).send_custom_command("dimmode~"+intensity+"~100");'
# Service to send a command To show the screen of a specific like
- service: show_entity
variables:
entity: string
title: string
then:
- lambda: 'id(nspanel_id).send_custom_command("pageType~popupLight~" + title + "~" + entity);'
# # Service to send a command To show the screen of a specific like
# - service: show_entity
# variables:
# entity: string
# title: string
# then:
# - lambda: 'id(nspanel_id).send_custom_command("pageType~popupLight~" + title + "~" + entity);'
# Service to send a command To show the screen of a specific like
- service: notify_on_screensaver
variables:
line1: string
line2: string
then:
- lambda: 'id(nspanel_id).send_custom_command("notify~" + line1 + "~" + line2);'
# - rtttl.play: "short:d=4,o=5,b=100:16e6"
# # Service to send a command To show the screen of a specific like
# - service: notify_on_screensaver
# variables:
# line1: string
# line2: string
# then:
# - lambda: 'id(nspanel_id).send_custom_command("notify~" + line1 + "~" + line2);'
# # - rtttl.play: "short:d=4,o=5,b=100:16e6"
# Service to send a command To show the screen of a specific like
# interaction of the buttons are on implemented yet
@@ -167,14 +179,15 @@ api:
description: string
button1: string
button2: string
timeout: string
timeout: int
icon: string
then:
- lambda: 'id(nspanel_id).notify_on_screensaver(title, description, timeout);'
# show notification screen
- lambda: 'id(nspanel_id).send_custom_command("pageType~popupNotify");'
# - lambda: 'id(nspanel_id).send_custom_command("pageType~popupNotify");'
# set values on notification screen
# color defined as number created in binary and converted to decimal (rrrrggggbbbbaaaa)
- lambda: 'id(nspanel_id).send_custom_command("entityUpdateDetail~id~"+ title + "~65535~" + button1 +"~3840~" + button2 + "~61440~" + description + "~65535~" + timeout + "~3~" + icon + "~65535~");'
# - lambda: 'id(nspanel_id).send_custom_command("entityUpdateDetail~id~"+ title + "~65535~" + button1 +"~3840~" + button2 + "~61440~" + description + "~65535~" + timeout + "~3~" + icon + "~65535~");'
- rtttl.play: "scale_up:d=32,o=5,b=100:c,c#,d#,e,f#,g#,a#,b"
uart:
@@ -183,17 +196,226 @@ uart:
rx_pin: 17
baud_rate: 115200
mqtt:
id: mqtt_client
broker: !secret mqtt_ip
username: !secret mqtt_username
password: !secret mqtt_password
discovery: false
nspanel_lovelace:
id: nspanel_id
mqtt_recv_topic: $panel_recv_topic
mqtt_send_topic: $panel_send_topic
sleep_timeout: 10
locale:
language: /config/esphome/nspanel/sk.json
temperature_unit: celcius
screensaver:
time_id: ha_time
time_format: '%H:%M~$name_day'
date_format: '%A, %d. %b. %Y'
weather:
entity_id: sensor.weather_forecast_daily
# type: screensaver2
# statusIcon1:
# entity: switch.office_r_light
# icon:
# "on": mdi:sofa
# "off": mdi:sofa
# color:
# "on": [255, 255, 255]
# "off": [255, 255, 255]
# statusIcon2:
# entity: light.office_r_desk_strip
# icon:
# "on": mdi:table-furniture
# "off": mdi:table-furniture
# color:
# "on": [255, 255, 255]
# "off": [255, 255, 255]
# entities:
# - entity: sensor.weather_forecast_daily
# color: [255, 255, 255]
# - entity: delete
# - entity: delete
# - entity: delete
# - entity: sensor.weather_forecast_daily
# color: [255, 255, 255]
# type: 0
# - entity: sensor.weather_forecast_daily
# color: [255, 255, 255]
# type: 1
# - entity: sensor.weather_forecast_daily
# color: [255, 255, 255]
# type: 2
# - entity: sensor.weather_forecast_daily
# color: [255, 255, 255]
# type: 3
# - entity: delete
# - entity: sensor.zigbee_office_r_temperature
# color: [255, 255, 255]
# name: ""
# icon: mdi:home-thermometer
# - entity: switch.heating_relay_3
# icon:
# "on": mdi:radiator
# "off": "text:"
# color:
# "on": [255, 255, 255]
# - entity: binary_sensor.heating_fireplace_fire
# icon:
# "on": mdi:fireplace
# "off": "text:"
# color:
# "on": [255, 255, 255]
# - entity: delete
# - entity: delete
# - entity: delete
cards:
- type: cardGrid
title: Kuchyňa / Obývačka
entities:
- name: Kuchyňa
entity_id: light.kitchen
icon: ceiling-light
- name: Stôl
entity_id: light.dining_table
icon: ceiling-light
- name: Gauč
entity_id: light.living_room
icon: ceiling-light
- name: TV
entity_id: light.tv_light
icon: led-strip-variant
- name: (Stôl)
entity_id: light.dining_table_ambilight
icon: ceiling-light-multiple-outline
- name: (Gauč)
entity_id: light.living_room_ambilight
icon: ceiling-light-multiple-outline
- type: cardGrid
title: Romanko
entities:
- name: Svetlo
entity_id: switch.office_r_light
icon: wall-sconce-flat
- name: LED pásik
entity_id: light.office_r_desk_strip
icon: led-strip-variant
- entity_id: delete
- name: Monitor
entity_id: light.office_r_display_lamp
icon: monitor-star
- name: (Monitor)
entity_id: light.office_r_display_lamp_ambilight
icon: monitor-star
- name: Whitebox
entity_id: switch.whitebox
- type: cardGrid
title: Von
entities:
- name: Terasa
entity_id: light.patio_light
icon: lightbulb-group
- name: Terasa
entity_id: switch.patio_relay
icon: power-socket-fr
- name: Vzadu
entity_id: switch.outside_light_back
icon: light-flood-down
- name: Z. domček
entity_id: switch.shed_light
icon: wall-sconce-flat
# state_template: '{{ is_state("binary_sensor.shed_status", "off") }}'
- name: Z. domček
entity_id: switch.shed_socket
icon: power-socket-fr
# state_template: '{{ is_state("binary_sensor.shed_status", "off") }}'
- name: Záhrada
entity_id: switch.garden_light
icon: light-flood-down
# state_template: '{{ is_state("binary_sensor.shed_status", "off") }}'
- type: cardGrid
title: Brána
entities:
- name: Otvoriť
entity_id: button.gate_open
icon: gate-open
- name: Zatvoriť
entity_id: button.gate_close
icon: gate
- name: Automatizácia
entity_id: navigate.card_gate_automation
- type: cardGrid
title: Závlaha
entities:
- name: A1
entity_id: switch.irrigation_valve_a1
icon: valve
- name: A2
entity_id: switch.irrigation_valve_a2
icon: valve
- name: A3
entity_id: switch.irrigation_valve_a3
icon: valve
- name: A4
entity_id: switch.irrigation_valve_a4
icon: valve
- name: A5
entity_id: switch.irrigation_valve_a5
icon: valve
- name: Automatizácia
entity_id: navigate.card_irrigation_automation
- type: cardThermo
title: Kúrenie
thermo_entity_id: climate.bt_trv_office_r
# - type: cardQR
# title: Guest Wifi
# qr_text: "WIFI:T:WPA;S:LAB;P:slniecko;;"
# # qrCode: "URL:https://www.johndoe.com/"
# # entities:
# # - entity_id: delete
# # - entity_id: iText.LAB
# # name: Name
# # icon: wifi
# # - entity_id: iText.slniecko
# # name: Password
# # icon: key
- type: cardEntities
title: Zwift
entities:
- name: Svetlo
entity_id: light.basement_light
icon: lightbulb-multiple
- name: LED
entity_id: light.exercise_room
icon: led-strip-variant
- name: Ventilátor
entity_id: light.exercise_room_fan
icon: fan
- name: Automatizácia
entity_id: navigate.card_exercise_automation
- type: cardEntities
title: Automatizácia
id: card_exercise_automation
hidden: true
entities:
- name: Start
entity_id: automation.zwift_enable_fan
- name: End
entity_id: automation.zwift_disable_fan
- type: cardEntities
title: Automatizácia
id: card_gate_automation
hidden: true
entities:
- name: Auto-otváranie
entity_id: switch.gate_auto_open
- name: Auto-zatváranie
entity_id: switch.gate_auto_close
- type: cardEntities
title: Automatizácia
id: card_irrigation_automation
hidden: true
entities:
- name: Ráno
entity_id: automation.irrigation_morning
- name: Terasa
entity_id: automation.irrigation_patio
- name: Rast trávy
entity_id: automation.irrigation_grow_grass
time:
- platform: homeassistant
@@ -240,12 +462,12 @@ switch:
on_turn_on:
# show a light on the panel when we swich on the light
# - lambda: 'id(nspanel).send_custom_command("pageType~popupLight~[TITLE TO SHOW ON SCREEN]~[ENTITY NAME]");'
- lambda: 'id(nspanel_id).send_custom_command("pageType~popupLight~Light 1~light.bed_light");'
on_turn_off:
# send to screensaver when switch off the light
- mqtt.publish:
topic: $panel_recv_topic
payload: '{"CustomRecv":"event,sleepReached,cardGrid"}'
- lambda: 'id(nspanel_id).send_display_command("pageType~popupLight~Light 1~light.bed_light");'
# on_turn_off:
# # send to screensaver when switch off the light
# - mqtt.publish:
# topic: $panel_recv_topic
# payload: '{"CustomRecv":"event,sleepReached,cardGrid"}'
- platform: gpio
name: ${name} Relay 2
@@ -254,12 +476,12 @@ switch:
number: 19
on_turn_on:
# show a light on the panel when we swich on the light
- lambda: 'id(nspanel_id).send_custom_command("pageType~popupLight~Light 2~light.bed_light2");'
on_turn_off:
# send to screensaver when switch off the light
- mqtt.publish:
topic: $panel_recv_topic
payload: '{"CustomRecv":"event,sleepReached,cardGrid"}'
- lambda: 'id(nspanel_id).send_display_command("pageType~popupLight~Light 2~light.bed_light2");'
# on_turn_off:
# # send to screensaver when switch off the light
# - mqtt.publish:
# topic: $panel_recv_topic
# payload: '{"CustomRecv":"event,sleepReached,cardGrid"}'
# Turn screen power on/off. Easy way to configure the screen power control, but this should not be used from HA, as all components must be re-initialized afterwards. For lights, names of lights etc. this practically means that the state must change once to happen.
- platform: gpio
@@ -300,6 +522,11 @@ sensor:
- platform: template
id: room_temperature_id
text_sensor:
- platform: homeassistant
id: name_day
entity_id: sensor.nameday_sk
# esp32_ble_tracker:
# scan_parameters:
# duration: 1min

View File

@@ -2,13 +2,15 @@ substitutions:
device: nspanel-fireplace
name: Fireplace NSPanel
name_short: Fireplace
comment: "Fireplace NSPanel"
area: Living Room / Kitchen
comment: "${area}, Fireplace | NSPanel"
panel_recv_topic: "tele/${device}/RESULT"
panel_send_topic: "cmnd/${device}/CustomSend"
tft_url: !secret tft_url
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
on_boot:
then:

View File

@@ -2,13 +2,16 @@ substitutions:
device: nspanel-office-j
name: Office J NSPanel
name_short: Office J
comment: "Office J NSPanel"
area: Office J
comment: "${area} | NSPanel"
panel_recv_topic: "tele/${device}/RESULT"
panel_send_topic: "cmnd/${device}/CustomSend"
tft_url: !secret tft_url
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
on_boot:
then:

View File

@@ -2,13 +2,16 @@ substitutions:
device: nspanel-office-r
name: Office R NSPanel
name_short: Office R
comment: "Office R NSPanel"
area: Office R
comment: "${area} | NSPanel"
panel_recv_topic: "tele/${device}/RESULT"
panel_send_topic: "cmnd/${device}/CustomSend"
tft_url: !secret tft_url
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
on_boot:
then:
@@ -20,6 +23,8 @@ esp32:
board: nodemcu-32s
framework:
type: esp-idf
wifi:
use_address: 10.17.241.212
external_components:
- source:
@@ -30,6 +35,9 @@ external_components:
- source: github://pr#7942
components: adc
refresh: 0s
- source: github://pr#8325
components: mqtt
refresh: 0s
- source: components
packages:
@@ -174,6 +182,7 @@ mqtt:
username: !secret mqtt_username
password: !secret mqtt_password
discovery: false
idf_send_async: true
nspanel_lovelace:
id: nspanel_id

View File

@@ -2,13 +2,15 @@ substitutions:
device: nspanel-patio
name: Patio NSPanel
name_short: Patio
comment: "Patio NSPanel"
area: Living Room / Kitchen
comment: "${area}, Patio | NSPanel"
panel_recv_topic: "tele/${device}/RESULT"
panel_send_topic: "cmnd/${device}/CustomSend"
tft_url: !secret tft_url
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
on_boot:
then:

View File

@@ -1,10 +1,12 @@
substitutions:
device: office-r
name: Office R
comment: "MS Teams presence"
area: Office R
comment: "${area} | MS Teams presence"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
platformio_options:
board_build.flash_mode: dio
@@ -15,8 +17,8 @@ esp32:
variant: esp32c3
framework:
type: esp-idf
# version: 5.1.2
# platform_version: 6.5.0
version: 5.3.1
platform_version: 6.9.0
packages:
common: !include common/common.yaml

View File

@@ -1,10 +1,12 @@
substitutions:
device: patio
name: Patio
comment: "Outside, Patio: On the back yard"
area: Outside
comment: "${area}, Patio | On the back yard"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
on_boot:
# - priority: 600.0
@@ -29,8 +31,8 @@ esp32:
board: m5stack-atom
framework:
type: esp-idf
# version: 5.1.2
# platform_version: 6.5.0
version: 5.3.1
platform_version: 6.9.0
packages:
common: !include common/common.yaml

View File

@@ -1,10 +1,12 @@
substitutions:
device: rf433
name: RF433 Bridge
comment: "Ground floor, Kitchen: RF433 Gateway"
area: Living Room / Kitchen
comment: "${area}, Fireplace | RF433 Gateway"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp8266:

View File

@@ -1,18 +1,20 @@
substitutions:
device: shed
name: Shed
comment: "Outside, Shed: Irrigation B"
area: Outside
comment: "${area}, Shed | Irrigation B"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp32:
board: m5stack-atom
framework:
type: esp-idf
# version: 5.1.2
# platform_version: 6.6.0
version: 5.3.1
platform_version: 6.9.0
packages:
common: !include common/common.yaml

View File

@@ -2,12 +2,14 @@ substitutions:
device: socket-01
device_id: socket_01
name: Socket 01
area: Bedroom
comment: "${area} | TV Socket"
current_res: "0.00290"
voltage_div: "940"
comment: "First floor, Bedroom: TV"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp8266:

View File

@@ -2,12 +2,14 @@ substitutions:
device: socket-02
device_id: socket_02
name: Socket 02
area: Bedroom
comment: "${area} | Bug Repelent Socket"
current_res: "0.00290"
voltage_div: "940"
comment: "First floor, Bedroom: Repelent"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp8266:

View File

@@ -2,6 +2,8 @@ substitutions:
device: socket-03
device_id: socket_03
name: Socket 03
area: Bedroom
comment: "${area} | SPARE Socket"
max_power: "3450"
# <2020
current_res: "0.00290"
@@ -11,12 +13,11 @@ substitutions:
# current_res: "0.00117"
# voltage_div: "755"
# cf1_pin: GPIO04
comment: "First floor, Room R: Socket"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp8266:
board: esp01_1m

View File

@@ -1,10 +1,12 @@
substitutions:
device: staircase-light
name: Staircase Light
comment: "Staircase"
area: Staircase
comment: "${area} | Light"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp8266:

View File

@@ -1,10 +1,12 @@
substitutions:
device: tft
name: TFT
comment: "Desk TFT Display"
area: DEV
comment: "${area} | Desk TFT Display"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
platformio_options:
board_build.flash_mode: dio
@@ -15,18 +17,18 @@ esp32:
variant: ESP32C3
framework:
type: esp-idf
version: 5.1.2
platform_version: 6.5.0
version: 5.3.1
platform_version: 6.9.0
packages:
common: !include common/common.yaml
external_components:
- source:
type: git
url: https://github.com/clydebarrow/esphome
ref: fd15094c0860df23d532881df36cfd16c7da1091 #previous commit - wont be needed in the future
components: [ lvgl ]
# external_components:
# - source:
# type: git
# url: https://github.com/clydebarrow/esphome
# ref: fd15094c0860df23d532881df36cfd16c7da1091 #previous commit - wont be needed in the future
# components: [ lvgl ]
logger:
logs:
@@ -110,6 +112,7 @@ display:
cs_pin: 7
dc_pin: 8
reset_pin: 10
invert_colors: false
lambda: |-
it.fill(Color::BLACK);
it.print(0, 0, id(b612_12), id(my_white), TextAlign::TOP_LEFT, "HELLO WORLD!");

View File

@@ -1,10 +1,12 @@
substitutions:
device: tv-light
name: TV Light
comment: "Ground floor, Living room: TV Rack Light"
area: Living Room / Kitchen
comment: "${area}: TV Rack Light"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp8266:

View File

@@ -1,10 +1,12 @@
substitutions:
device: vehicle-honda-pcx125
name: Vehicle Honda PCX125
comment: "BEACON | Honda PCX125"
area: Outside
comment: "${area}, Beacon | Honda PCX125"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
on_loop:
then:

View File

@@ -1,10 +1,12 @@
substitutions:
device: vehicle-suzuki-dl650
name: Vehicle Suzuki DL650
comment: "BEACON | Suzuki DL650"
area: Outside
comment: "${area}, Beacon | Suzuki DL650"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
on_loop:
then:

View File

@@ -1,10 +1,12 @@
substitutions:
device: vehicle-toyota-auris-ts
name: Vehicle Toyota Auris TS
comment: "BEACON | Toyota Auris TS"
area: Outside
comment: "${area}, Beacon | Toyota Auris TS"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
on_loop:
then:
@@ -34,8 +36,8 @@ esp32:
board: m5stack-atom
framework:
type: esp-idf
# version: 5.1.2
# platform_version: 6.5.0
version: 5.3.1
platform_version: 6.9.0
external_components:
- source: components

View File

@@ -1,10 +1,12 @@
substitutions:
device: vehicle-toyota-yaris-cross
name: Vehicle Toyota Yaris Cross
comment: "BEACON | Toyota Yaris Cross"
area: Outside
comment: "${area}, Beacon | Toyota Yaris Cross"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
on_loop:
then:

View File

@@ -1,10 +1,12 @@
substitutions:
device: waterproof-socket
name: Waterproof Socket
comment: "Hardened remote controlled socket"
area: Basement
comment: "${area} | Hardened remote controlled socket"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
esp8266:

View File

@@ -1,10 +1,12 @@
substitutions:
device: well
name: Well
comment: "Outside, Well: Irrigation A"
area: Outside
comment: "${area}, Well | Irrigation A"
esphome:
name: mcu-${device}
area: ${area}
comment: ${comment}
# friendly_name: mcu-well
# on_boot:
@@ -24,8 +26,8 @@ esp32:
board: m5stack-atom
framework:
type: esp-idf
# version: 5.1.2
# platform_version: 6.6.0
version: 5.3.1
platform_version: 6.9.0
packages:
common: !include common/common.yaml

108
nspanel/sk.json Normal file
View File

@@ -0,0 +1,108 @@
{
"none": "Žiady",
"unknown": "Neznámy",
"preset_mode": "Prednastavený režim",
"swing_mode": "Režim oscilácie",
"fan_mode": "Režim ventilátora",
"activity": "Aktivita",
"away": "Preč",
"boost": "Boost",
"comfort": "Komfort",
"eco": "Eko",
"home": "Domov",
"sleep": "Spánok",
"cool": "Chladenie",
"cooling": "Chladí",
"dry": "Sušenie",
"drying": "Suší",
"fan": "Ventilátor",
"heat": "Kúrenie",
"heating": "Kúri",
"heat_cool": "Kúrenie/Chladenie",
"idle": "V kľude",
"auto": "Automatický",
"fan_only": "Len ventilátor",
"on": "Zapnuté",
"off": "Vypnuté",
"currently": "Aktuálne",
"state": "Stav",
"action": "Akcia",
"lock": "Zamknúť",
"unlock": "Odomknúť",
"paused": "Pozastavené",
"active": "Aktívne",
"activate": "Aktivovať",
"press": "Stlačiť",
"run": "Spustiť",
"speed": "Rýchlosť",
"brightness": "Jas",
"color": "Farba",
"color_temp": "Teplota farby",
"above_horizon": "Nad horizontom",
"below_horizon": "Pod horizontom",
"position": "Pozícia",
"tilt_position": "Náklon",
"start": "Štart",
"pause": "Pauza",
"cancel": "Zrušiť",
"finish": "Dokončiť",
"arm_home": "Arm (doma)",
"arm_away": "Arm (mimo domov)",
"arm_night": "Arm (noc)",
"arm_vacation": "Arm (dovolenka)",
"arm_custom_bypass": "Arm (bypass)",
"disarm": "Vypnúť zabezpečenie",
"disarming": "Vypínanie zabezpečenia",
"disarmed": "Zabezpečenie vypnuté",
"arming": "Zabezpečuje sa",
"pending": "Čekanie",
"triggered": "Poplach",
"armed_away": "Zabezpečené (mimo domov)",
"armed_home": "Zabezpečené (doma)",
"armed_night": "Zabezpečené (noc)",
"armed_vacation": "Zabezpečené (dovolenka)",
"armed_custom_bypass": "Zabezpečené (bypass)",
"not_home": "Mimo domov",
"start_cleaning": "Začať upratovať",
"return_to_base": "Späť na základňu",
"docked": "Zaparkované",
"turn_on": "Zapnúť",
"turn_off": "Vypnúť",
"month_january": "Január",
"month_jan": "Jan",
"month_february": "Február",
"month_feb": "Feb",
"month_march": "Marec",
"month_mar": "Mar",
"month_april": "Apríl",
"month_apr": "Apr",
"month_may": "Máj",
"month_june": "Jún",
"month_jun": "Jun",
"month_july": "Júl",
"month_jul": "Jul",
"month_august": "August",
"month_aug": "Aug",
"month_september": "September",
"month_sep": "Sep",
"month_october": "Október",
"month_oct": "Okt",
"month_november": "November",
"month_nov": "Nov",
"month_december": "December",
"month_dec": "Dec",
"dow_sunday": "Nedela",
"dow_sun": "Ne",
"dow_monday": "Pondelok",
"dow_mon": "Po",
"dow_tuesday": "Utorok",
"dow_tue": "Ut",
"dow_wednesday": "Streda",
"dow_wed": "St",
"dow_thursday": "Štvrtok",
"dow_thu": "Št",
"dow_friday": "Piatok",
"dow_fri": "Pi",
"dow_saturday": "Sobota",
"dow_sat": "So"
}