Merge branch 'dev' of https://github.com/Blackymas/NSPanel_HA_Blueprint into dev
This commit is contained in:
590
esphome.yaml
590
esphome.yaml
@@ -2,24 +2,51 @@
|
||||
##### START - SUBSTITUTIONS #####
|
||||
#############################################################
|
||||
substitutions:
|
||||
##### GENEREL CONFIG #############################################################################################
|
||||
node_name: nspanel-buero # $node_name
|
||||
device_name: NSPanel Buero # $device_name
|
||||
##### GENEREL CONFIG MOVED TO ESPHOME SECRETS FILE -> PASTE THIS BLOCK AND MODIFY FOR YOUR NEEDS ########
|
||||
##### This way you don't need to modify this file anymore
|
||||
# # Blackymas-NSPanel
|
||||
# nspanel_update_url: 'http://1.2.3.4:8123/local/nspanel/nspanel.tft'
|
||||
# nspanel_ota_password: "OTA-PASSWORD"
|
||||
# nspanel_wifi_password: "WIFI-PASSWORD"
|
||||
# nspanel_web_password: "WEBSERVER-PASSWORD"
|
||||
# nspanel_wifi_ssid: "SSID"
|
||||
# nspanel_node_name: "nspanel01"
|
||||
# nspanel_device_name: "NSPanel01"
|
||||
# nspanel_ip: '1.2.3.4'
|
||||
# nspanel_gateway: '1.2.3.4'
|
||||
# nspanel_subnet: '255.255.255.0'
|
||||
# nspanel_dns: '1.2.3.4'
|
||||
# nspanel_domain: ".lan"
|
||||
# nspanel_hotwater_charge: switch.wwontime
|
||||
# nspanel_ha_heating_system_flame: binary_sensor.ems_boiler_burngas
|
||||
# nspanel_ha_climate_thermostat_target_temp: sensor.xxxx
|
||||
# nspanel_ha_climate_thermostat: climate.xxxxx
|
||||
###### END OF SECRETS BLOCK TO PASTE ####################################################################
|
||||
|
||||
wifi_ssid: !secret wifi_ssid # add in your esphome secrets file.
|
||||
wifi_password: !secret wifi_password # add in your esphome secrets file.
|
||||
ota_password: !secret ota_password # add in your esphome secrets file.
|
||||
# nextion_update_url: !secret nextion_update_url_buero # add in your esphome secrets file.
|
||||
nextion_update_url: "http://192.168.4.250:8123/local/nspanel/buero/nspanel_buero.tft"
|
||||
###### EDIT THE BELOW ENTITIES FOR YOURS... #######################################################################
|
||||
|
||||
|
||||
node_name: !secret nspanel_node_name # $node_name
|
||||
device_name: !secret nspanel_device_name # $device_name
|
||||
ip: !secret nspanel_ip # static ip
|
||||
gw: !secret nspanel_gateway
|
||||
subnet: !secret nspanel_subnet
|
||||
dns: !secret nspanel_dns
|
||||
domain: !secret nspanel_domain
|
||||
|
||||
wifi_ssid: !secret nspanel_wifi_ssid # add in your esphome secrets file.
|
||||
wifi_password: !secret nspanel_wifi_password # add in your esphome secrets file.
|
||||
ota_password: !secret nspanel_ota_password # add in your esphome secrets file.
|
||||
nextion_update_url: !secret nspanel_update_url # add in your esphome secrets file.
|
||||
webserver_password: !secret nspanel_web_password
|
||||
###### EDIT THE BELOW ENTITIES FOR YOURS... #######################################################################
|
||||
|
||||
#ha_weekday: sensor.wochentag ##### Sensor Wochentag generiert in HA (custom_configuration -> nspanel) #####
|
||||
#ha_outdoor_temp: sensor.terrasse_garage_motion_sensor_temperature ##### Temperatur von Bewegungsmelder Outdoor (Zigbee2Mqtt) #####
|
||||
#ha_hotwater_temp: sensor.hotwater_temp ##### Buderus Heizung Warmwasser Temperatur (Integration) #####
|
||||
ha_hotwater_charge: switch.charge
|
||||
ha_heating_system_flame: binary_sensor.flamestatus ##### Buderus Heizung Flamen-Status (Integration) #####
|
||||
ha_climate_thermostat_target_temp: sensor.nspanel_buro_target_temp ##### Climate Thermostat generiert in HA (custom_configuration -> nspanel) #####
|
||||
ha_climate_thermostat: climate.nspanel_buro ##### Climate Thermostat generiert in HA (custom_configuration -> nspanel) #####
|
||||
ha_hotwater_charge: !secret nspanel_hotwater_charge
|
||||
ha_heating_system_flame: !secret nspanel_ha_heating_system_flame ##### Buderus Heizung Flamen-Status (Integration) #####
|
||||
ha_climate_thermostat_target_temp: !secret nspanel_ha_climate_thermostat_target_temp ##### Climate Thermostat generiert in HA (custom_configuration -> nspanel) #####
|
||||
ha_climate_thermostat: !secret nspanel_ha_climate_thermostat ##### Climate Thermostat generiert in HA (custom_configuration -> nspanel) #####
|
||||
#ha_humidity: sensor.kinderzimmer_lea_temperatur_sensor_humidity
|
||||
#########################################
|
||||
#
|
||||
@@ -49,8 +76,8 @@ external_components:
|
||||
|
||||
##### ESP home CONFIG #####
|
||||
esphome:
|
||||
name: $node_name
|
||||
comment: $device_name
|
||||
name: ${node_name}
|
||||
comment: ${device_name}
|
||||
|
||||
##### TYPE OF ESP BOARD #####
|
||||
esp32:
|
||||
@@ -58,15 +85,31 @@ esp32:
|
||||
|
||||
##### WIFI SETUP #####
|
||||
wifi:
|
||||
ssid: $wifi_ssid
|
||||
password: $wifi_password
|
||||
ssid: ${wifi_ssid}
|
||||
password: ${wifi_password}
|
||||
power_save_mode: none
|
||||
manual_ip:
|
||||
static_ip: ${ip}
|
||||
gateway: ${gw}
|
||||
subnet: ${subnet}
|
||||
dns1: ${dns}
|
||||
domain: ${domain}
|
||||
# Enable fallback hotspot (captive portal) in case wifi connection fails
|
||||
ap:
|
||||
ssid: "${device_name}"
|
||||
password: ${wifi_password}
|
||||
|
||||
captive_portal:
|
||||
|
||||
web_server:
|
||||
port: 80
|
||||
auth:
|
||||
username: admin
|
||||
password: ${webserver_password}
|
||||
|
||||
##### OTA (Over the air updates) password #####
|
||||
ota:
|
||||
password: $ota_password
|
||||
password: ${ota_password}
|
||||
safe_mode: true
|
||||
reboot_timeout: 3min
|
||||
num_attempts: 3
|
||||
@@ -116,7 +159,7 @@ uart:
|
||||
###### A reboot button is always useful #####
|
||||
button:
|
||||
- platform: restart
|
||||
name: $device_name Restart
|
||||
name: ${device_name} Restart
|
||||
id: restart_nspanel
|
||||
|
||||
|
||||
@@ -145,19 +188,19 @@ button:
|
||||
api:
|
||||
services:
|
||||
|
||||
##### SERVICE TO UPDATE THE HMI FILE #####
|
||||
##### SERVICE TO UPDATE THE HMI FILE #####
|
||||
- service: upload_tft
|
||||
then:
|
||||
- lambda: 'id(disp1)->upload_tft();'
|
||||
|
||||
##### Service to send a command "printf" directly to the display. Useful for testing #####
|
||||
##### Service to send a command "printf" directly to the display. Useful for testing #####
|
||||
- service: send_command_printf
|
||||
variables:
|
||||
cmd: string
|
||||
then:
|
||||
- lambda: 'id(disp1).send_command_printf("%s", cmd.c_str());'
|
||||
|
||||
##### Service to send a command "text_printf" directly to the display. Useful for testing #####
|
||||
##### Service to send a command "text_printf" directly to the display. Useful for testing #####
|
||||
- service: send_command_text_printf
|
||||
variables:
|
||||
component: string
|
||||
@@ -167,7 +210,7 @@ api:
|
||||
switch.is_on: nextion_init
|
||||
- lambda: 'id(disp1).set_component_text_printf(component.c_str(), "%s", message.c_str());'
|
||||
|
||||
##### Service to send a command "component_value (Dualstate Button)" directly to the display. Useful for testing #####
|
||||
##### Service to send a command "component_value (Dualstate Button)" directly to the display. Useful for testing #####
|
||||
- service: send_command_value
|
||||
variables:
|
||||
component: string
|
||||
@@ -177,7 +220,7 @@ api:
|
||||
switch.is_on: nextion_init
|
||||
- lambda: 'id(disp1).set_component_value(component.c_str(), message);'
|
||||
|
||||
##### Service to send a command "component_value (Dualstate Button)" directly to the display. Useful for testing #####
|
||||
##### Service to send a command "component_value (Dualstate Button)" directly to the display. Useful for testing #####
|
||||
- service: send_command_hide
|
||||
variables:
|
||||
component: string
|
||||
@@ -186,9 +229,7 @@ api:
|
||||
switch.is_on: nextion_init
|
||||
- lambda: 'id(disp1).hide_component(component.c_str());'
|
||||
|
||||
|
||||
|
||||
##### Service to send a command "component_value (Dualstate Button)" directly to the display. Useful for testing #####
|
||||
##### Service to send a command "component_value (Dualstate Button)" directly to the display. Useful for testing #####
|
||||
- service: send_command_font_color
|
||||
variables:
|
||||
component: string
|
||||
@@ -197,7 +238,7 @@ api:
|
||||
- wait_until:
|
||||
switch.is_on: nextion_init
|
||||
- lambda: 'id(disp1).set_component_font_color(component.c_str(), message);'
|
||||
##### Service to send a command "component_value (Dualstate Button)" directly to the display. Useful for testing #####
|
||||
##### Service to send a command "component_value (Dualstate Button)" directly to the display. Useful for testing #####
|
||||
- service: send_command_background_color
|
||||
variables:
|
||||
component: string
|
||||
@@ -229,48 +270,72 @@ api:
|
||||
|
||||
globals:
|
||||
|
||||
##### Save Target Temp #####
|
||||
##### Save Target Temp #####
|
||||
- id: climate_target_temp_val_global
|
||||
type: float
|
||||
restore_value: true
|
||||
initial_value: '12'
|
||||
|
||||
##### Save Thermostat PIC Position #####
|
||||
##### Save Thermostat PIC Position #####
|
||||
- id: climate_slider_val_global
|
||||
type: int
|
||||
restore_value: true
|
||||
initial_value: '0'
|
||||
|
||||
##### Save Display Brightness for NSPanel reboot #####
|
||||
##### Save Display Brightness for NSPanel reboot #####
|
||||
- id: display_brightness_global
|
||||
type: int
|
||||
restore_value: true
|
||||
initial_value: '100'
|
||||
|
||||
##### Save Display DIM Brightness for NSPanel reboot
|
||||
##### Save Display DIM Brightness for NSPanel reboot
|
||||
- id: display_dim_brightness_global
|
||||
type: int
|
||||
restore_value: true
|
||||
initial_value: '10'
|
||||
|
||||
##### Save Display DIM Brightness for NSPanel reboot
|
||||
##### Save Display DIM Brightness for NSPanel reboot
|
||||
- id: sleep_modus_global
|
||||
type: int
|
||||
restore_value: true
|
||||
initial_value: '0'
|
||||
|
||||
##### Save State Heating Room #####
|
||||
##### Save State Heating Room #####
|
||||
- id: heating_room_global
|
||||
type: int
|
||||
restore_value: true
|
||||
initial_value: '0'
|
||||
|
||||
##### Save State HVAC #####
|
||||
##### Save State HVAC #####
|
||||
- id: hvac_mode_global
|
||||
type: int
|
||||
restore_value: true
|
||||
initial_value: '0'
|
||||
|
||||
##### lastclick State #####
|
||||
- id: lastclick_global
|
||||
type: std::string
|
||||
restore_value: no
|
||||
initial_value: ''
|
||||
|
||||
##### lastclick State #####
|
||||
- id: last_click_lightsettings
|
||||
type: std::string
|
||||
restore_value: no
|
||||
initial_value: ''
|
||||
|
||||
##### lastclick State #####
|
||||
- id: last_click_coversettings
|
||||
type: std::string
|
||||
restore_value: no
|
||||
initial_value: ''
|
||||
|
||||
##### lastclick State #####
|
||||
- id: last_click_weathersettings
|
||||
type: std::string
|
||||
restore_value: no
|
||||
initial_value: ''
|
||||
|
||||
#########################################
|
||||
#
|
||||
#
|
||||
@@ -293,32 +358,27 @@ globals:
|
||||
|
||||
binary_sensor:
|
||||
|
||||
###### LEFT BUTTON BELOW DISPLAY TO TOGGLE RELAY#####
|
||||
###### LEFT BUTTON BELOW DISPLAY TO TOGGLE RELAY#####
|
||||
- platform: gpio
|
||||
name: $device_name Left Button
|
||||
name: ${device_name} Left Button
|
||||
pin:
|
||||
number: 14
|
||||
inverted: true
|
||||
# on_click:
|
||||
# - switch.toggle: relay_1
|
||||
# on_click:
|
||||
# - switch.toggle: relay_1
|
||||
|
||||
##### RIGHT BUTTON BELOW DISPLAY TO TOGGLE RELAY #####
|
||||
##### RIGHT BUTTON BELOW DISPLAY TO TOGGLE RELAY #####
|
||||
- platform: gpio
|
||||
name: $device_name Right Button
|
||||
name: ${device_name} Right Button
|
||||
pin:
|
||||
number: 27
|
||||
inverted: true
|
||||
# on_click:
|
||||
# - switch.toggle: relay_2
|
||||
# on_click:
|
||||
# - switch.toggle: relay_2
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##### THERMOSTAT - BUTTON DECREASES CLIMATE TARGET TEMPERATURE IN HA #####
|
||||
##### THERMOSTAT - BUTTON DECREASES CLIMATE TARGET TEMPERATURE IN HA #####
|
||||
- platform: nextion
|
||||
name: $device_name Climate Target DOWN
|
||||
name: ${device_name} Climate Target DOWN
|
||||
page_id: 6
|
||||
component_id: 13
|
||||
internal: true
|
||||
@@ -326,12 +386,12 @@ binary_sensor:
|
||||
- homeassistant.service:
|
||||
service: climate.set_temperature
|
||||
data_template:
|
||||
entity_id: $ha_climate_thermostat
|
||||
entity_id: ${ha_climate_thermostat}
|
||||
temperature: !lambda return id(climate_target_temp_val_global) - 0.5;
|
||||
|
||||
##### THERMOSTAT - BUTTON INCREASES CLIMATE TARGET TEMPERATURE IN HA #####
|
||||
##### THERMOSTAT - BUTTON INCREASES CLIMATE TARGET TEMPERATURE IN HA #####
|
||||
- platform: nextion
|
||||
name: $device_name Climate Target UP
|
||||
name: ${device_name} Climate Target UP
|
||||
page_id: 6
|
||||
component_id: 14
|
||||
internal: true
|
||||
@@ -339,12 +399,12 @@ binary_sensor:
|
||||
- homeassistant.service:
|
||||
service: climate.set_temperature
|
||||
data_template:
|
||||
entity_id: $ha_climate_thermostat
|
||||
entity_id: ${ha_climate_thermostat}
|
||||
temperature: !lambda return id(climate_target_temp_val_global) + 0.5;
|
||||
|
||||
##### THERMOSTAT - BUTTON ON / OFF Heating #####
|
||||
##### THERMOSTAT - BUTTON ON / OFF Heating #####
|
||||
- platform: nextion
|
||||
name: $device_name Heating Room State
|
||||
name: ${device_name} Heating Room State
|
||||
id: heating_room_state
|
||||
page_id: 6
|
||||
component_id: 16
|
||||
@@ -352,86 +412,86 @@ binary_sensor:
|
||||
on_click:
|
||||
- switch.toggle: hvac_mode
|
||||
|
||||
##### Display Brightness - BUTTON DECREASES Brightness #####
|
||||
# - platform: nextion
|
||||
# name: $device_name Brightness DOWN
|
||||
# page_id: 7
|
||||
# component_id: 12
|
||||
# internal: true
|
||||
# on_click:
|
||||
# - number.set:
|
||||
# id: display_brightness
|
||||
# value: !lambda return id(display_brightness_global) - 1;
|
||||
# - lambda: id(disp1).set_component_text_printf("settings.a03", "%i", id(display_brightness_global));
|
||||
# - lambda: id(disp1).send_command_printf("settings.brightslider.val=%i", id(display_brightness_global));
|
||||
##### Display Brightness - BUTTON DECREASES Brightness #####
|
||||
# - platform: nextion
|
||||
# name: $device_name Brightness DOWN
|
||||
# page_id: 7
|
||||
# component_id: 12
|
||||
# internal: true
|
||||
# on_click:
|
||||
# - number.set:
|
||||
# id: display_brightness
|
||||
# value: !lambda return id(display_brightness_global) - 1;
|
||||
# - lambda: id(disp1).set_component_text_printf("settings.a03", "%i", id(display_brightness_global));
|
||||
# - lambda: id(disp1).send_command_printf("settings.brightslider.val=%i", id(display_brightness_global));
|
||||
|
||||
##### Display Brightness - BUTTON INCREASES Brightness #####
|
||||
# - platform: nextion
|
||||
# name: $device_name Brightness UP
|
||||
# page_id: 7
|
||||
# component_id: 13
|
||||
# internal: true
|
||||
# on_click:
|
||||
# - number.set:
|
||||
# id: display_brightness
|
||||
# value: !lambda return id(display_brightness_global) + 1;
|
||||
# - lambda: id(disp1).set_component_text_printf("settings.a03", "%i", id(display_brightness_global));
|
||||
# - lambda: id(disp1).send_command_printf("settings.brightslider.val=%i", id(display_brightness_global));
|
||||
##### Display Brightness - BUTTON INCREASES Brightness #####
|
||||
# - platform: nextion
|
||||
# name: $device_name Brightness UP
|
||||
# page_id: 7
|
||||
# component_id: 13
|
||||
# internal: true
|
||||
# on_click:
|
||||
# - number.set:
|
||||
# id: display_brightness
|
||||
# value: !lambda return id(display_brightness_global) + 1;
|
||||
# - lambda: id(disp1).set_component_text_printf("settings.a03", "%i", id(display_brightness_global));
|
||||
# - lambda: id(disp1).send_command_printf("settings.brightslider.val=%i", id(display_brightness_global));
|
||||
|
||||
##### Display DIM Brightness - BUTTON DECREASES Brightness #####
|
||||
# - platform: nextion
|
||||
# name: $device_name Brightness DIM DOWN
|
||||
# page_id: 7
|
||||
# component_id: 14
|
||||
# internal: true
|
||||
# on_click:
|
||||
# - number.set:
|
||||
# id: display_dim_brightness
|
||||
# value: !lambda return id(display_dim_brightness_global) - 1;
|
||||
# - lambda: id(disp1).set_component_text_printf("settings.a04", "%i", id(display_dim_brightness_global));
|
||||
# - lambda: id(disp1).send_command_printf("settings.dimslider.val=%i", id(display_dim_brightness_global));
|
||||
|
||||
##### Display DIM Brightness - BUTTON INCREASES Brightness #####
|
||||
# - platform: nextion
|
||||
# name: $device_name Brightness DIM UP
|
||||
# page_id: 7
|
||||
# component_id: 15
|
||||
# internal: true
|
||||
# on_click:
|
||||
# - number.set:
|
||||
# id: display_dim_brightness
|
||||
# value: !lambda return id(display_dim_brightness_global) + 1;
|
||||
# - lambda: id(disp1).set_component_text_printf("settings.a04", "%i", id(display_dim_brightness_global));
|
||||
# - lambda: id(disp1).send_command_printf("settings.dimslider.val=%i", id(display_dim_brightness_global));
|
||||
##### Display DIM Brightness - BUTTON DECREASES Brightness #####
|
||||
# - platform: nextion
|
||||
# name: $device_name Brightness DIM DOWN
|
||||
# page_id: 7
|
||||
# component_id: 14
|
||||
# internal: true
|
||||
# on_click:
|
||||
# - number.set:
|
||||
# id: display_dim_brightness
|
||||
# value: !lambda return id(display_dim_brightness_global) - 1;
|
||||
# - lambda: id(disp1).set_component_text_printf("settings.a04", "%i", id(display_dim_brightness_global));
|
||||
# - lambda: id(disp1).send_command_printf("settings.dimslider.val=%i", id(display_dim_brightness_global));
|
||||
|
||||
##### Display DIM Brightness - BUTTON INCREASES Brightness #####
|
||||
# - platform: nextion
|
||||
# name: $device_name Brightness DIM UP
|
||||
# page_id: 7
|
||||
# component_id: 15
|
||||
# internal: true
|
||||
# on_click:
|
||||
# - number.set:
|
||||
# id: display_dim_brightness
|
||||
# value: !lambda return id(display_dim_brightness_global) + 1;
|
||||
# - lambda: id(disp1).set_component_text_printf("settings.a04", "%i", id(display_dim_brightness_global));
|
||||
# - lambda: id(disp1).send_command_printf("settings.dimslider.val=%i", id(display_dim_brightness_global));
|
||||
|
||||
##### Restart NSPanel Button #####
|
||||
##### Restart NSPanel Button #####
|
||||
- platform: nextion
|
||||
name: $device_name Restart
|
||||
name: ${device_name} Restart
|
||||
page_id: 7
|
||||
component_id: 10
|
||||
internal: true
|
||||
on_click:
|
||||
- button.press: restart_nspanel
|
||||
|
||||
##### Sleep Modus NSPanel Button #####
|
||||
##### Sleep Modus NSPanel Button #####
|
||||
- platform: nextion
|
||||
name: $device_name Sleep Modus
|
||||
name: ${device_name} Sleep Modus
|
||||
page_id: 7
|
||||
component_id: 5
|
||||
internal: true
|
||||
on_click:
|
||||
- switch.toggle: sleep_modus
|
||||
|
||||
##### Hotwater Charge #####
|
||||
##### Hotwater Charge #####
|
||||
- platform: nextion
|
||||
name: $device_name Hotwater Charge
|
||||
name: ${device_name} Hotwater Charge
|
||||
page_id: 6
|
||||
component_id: 21
|
||||
on_click:
|
||||
- homeassistant.service:
|
||||
service: switch.toggle
|
||||
data:
|
||||
entity_id: $ha_hotwater_charge
|
||||
entity_id: ${ha_hotwater_charge}
|
||||
|
||||
#########################################
|
||||
#
|
||||
@@ -455,23 +515,33 @@ binary_sensor:
|
||||
|
||||
sensor:
|
||||
|
||||
##### INTERNAL TEMPERATUE SENSOR, ADC VALUE #####
|
||||
##### Uptime #####
|
||||
- platform: uptime
|
||||
name: ${device_name} uptime
|
||||
disabled_by_default: true
|
||||
|
||||
##### WIFI Signal stregth
|
||||
- platform: wifi_signal
|
||||
name: ${device_name} RSSI
|
||||
update_interval: 60s
|
||||
|
||||
##### INTERNAL TEMPERATUE SENSOR, ADC VALUE #####
|
||||
- platform: adc
|
||||
id: ntc_source
|
||||
pin: 38
|
||||
update_interval: 10s
|
||||
attenuation: 11db
|
||||
|
||||
##### INTERNAL TEMPERATUE SENSOR, adc reading converted to resistance (calculation)#####
|
||||
##### INTERNAL TEMPERATUE SENSOR, adc reading converted to resistance (calculation)#####
|
||||
- platform: resistance
|
||||
id: resistance_sensor
|
||||
sensor: ntc_source
|
||||
configuration: DOWNSTREAM
|
||||
resistor: 11.2kOhm
|
||||
|
||||
##### INTERNAL TEMPERATUE SENSOR, resistance to temperature (calculation) #####
|
||||
##### INTERNAL TEMPERATUE SENSOR, resistance to temperature (calculation) #####
|
||||
- platform: ntc
|
||||
name: $device_name Temperature
|
||||
name: ${device_name} Temperature
|
||||
id: temp_nspanel
|
||||
sensor: resistance_sensor
|
||||
calibration:
|
||||
@@ -485,43 +555,43 @@ sensor:
|
||||
- lambda: id(disp1).set_component_text_printf("home.a03", "%.1f°", id(temp_nspanel).state); # onboard temp (thermostat temp) to home page.
|
||||
- lambda: id(disp1).set_component_text_printf("thermostat.a04", "%.1f", id(temp_nspanel).state);
|
||||
|
||||
##### TEMPERATURE Outdoor FROM HA #####
|
||||
# - platform: homeassistant
|
||||
# id: temp_outdoor
|
||||
# entity_id: $ha_outdoor_temp
|
||||
# on_value:
|
||||
# then:
|
||||
# - wait_until:
|
||||
# switch.is_on: nextion_init
|
||||
# - lambda: id(disp1).set_component_text_printf("home.a06", "%.0f°", id(temp_outdoor).state);
|
||||
# - lambda: id(disp1).set_component_text_printf("thermostat.a07", "%.0f°", id(temp_outdoor).state);
|
||||
##### TEMPERATURE Outdoor FROM HA #####
|
||||
# - platform: homeassistant
|
||||
# id: temp_outdoor
|
||||
# entity_id: $ha_outdoor_temp
|
||||
# on_value:
|
||||
# then:
|
||||
# - wait_until:
|
||||
# switch.is_on: nextion_init
|
||||
# - lambda: id(disp1).set_component_text_printf("home.a06", "%.0f°", id(temp_outdoor).state);
|
||||
# - lambda: id(disp1).set_component_text_printf("thermostat.a07", "%.0f°", id(temp_outdoor).state);
|
||||
|
||||
##### HUMIDITY Indoor FROM HA #####
|
||||
# - platform: homeassistant
|
||||
# id: humidity
|
||||
# entity_id: $ha_humidity
|
||||
# on_value:
|
||||
# then:
|
||||
# - wait_until:
|
||||
# switch.is_on: nextion_init
|
||||
# - lambda: id(disp1).set_component_text_printf("home.a04", "%.0f°", id(humidity).state);
|
||||
##### HUMIDITY Indoor FROM HA #####
|
||||
# - platform: homeassistant
|
||||
# id: humidity
|
||||
# entity_id: $ha_humidity
|
||||
# on_value:
|
||||
# then:
|
||||
# - wait_until:
|
||||
# switch.is_on: nextion_init
|
||||
# - lambda: id(disp1).set_component_text_printf("home.a04", "%.0f°", id(humidity).state);
|
||||
|
||||
|
||||
##### THERMOSTAT HOT WATER TEMP FROM HA #####
|
||||
# - platform: homeassistant
|
||||
# id: temp_hotwater
|
||||
# entity_id: $ha_hotwater_temp
|
||||
# on_value:
|
||||
# then:
|
||||
# - wait_until:
|
||||
# switch.is_on: nextion_init
|
||||
# - lambda: id(disp1).set_component_text_printf("home.a07", "%.1f°", id(temp_hotwater).state);
|
||||
# - lambda: id(disp1).set_component_text_printf("thermostat.a08", "%.1f°", id(temp_hotwater).state);
|
||||
##### THERMOSTAT HOT WATER TEMP FROM HA #####
|
||||
# - platform: homeassistant
|
||||
# id: temp_hotwater
|
||||
# entity_id: $ha_hotwater_temp
|
||||
# on_value:
|
||||
# then:
|
||||
# - wait_until:
|
||||
# switch.is_on: nextion_init
|
||||
# - lambda: id(disp1).set_component_text_printf("home.a07", "%.1f°", id(temp_hotwater).state);
|
||||
# - lambda: id(disp1).set_component_text_printf("thermostat.a08", "%.1f°", id(temp_hotwater).state);
|
||||
|
||||
##### THERMOSTAT CLIMATE TARGET TEMPERATURE FROM HA #####
|
||||
##### THERMOSTAT CLIMATE TARGET TEMPERATURE FROM HA #####
|
||||
- platform: homeassistant
|
||||
id: ha_climate_target_temp
|
||||
entity_id: $ha_climate_thermostat_target_temp
|
||||
entity_id: ${ha_climate_thermostat_target_temp}
|
||||
on_value:
|
||||
then:
|
||||
- wait_until:
|
||||
@@ -657,10 +727,10 @@ sensor:
|
||||
id(disp1).send_command_printf("thermostat.a02.pic=%i", mid);
|
||||
id(disp1).send_command_printf("thermostat.a03.pic=%i", right);
|
||||
|
||||
###### TARGET TEMPERATURE GET VALUE FROM NEXTION CIRCLE SLIDER AND SET GLOBAL VARIBLE #####
|
||||
###### TARGET TEMPERATURE GET VALUE FROM NEXTION CIRCLE SLIDER AND SET GLOBAL VARIBLE #####
|
||||
- platform: nextion
|
||||
id: climate_circleslider
|
||||
name: $device_name Climate circleslider
|
||||
name: ${device_name} Climate circleslider
|
||||
variable_name: climateslider
|
||||
internal: true
|
||||
on_value:
|
||||
@@ -733,13 +803,13 @@ sensor:
|
||||
- homeassistant.service:
|
||||
service: climate.set_temperature
|
||||
data_template:
|
||||
entity_id: $ha_climate_thermostat
|
||||
entity_id: ${ha_climate_thermostat}
|
||||
temperature: !lambda return id(climate_target_temp_val_global);
|
||||
|
||||
###### Display Brightness GET VALUE FROM NSPanel SLIDER #####
|
||||
###### Display Brightness GET VALUE FROM NSPanel SLIDER #####
|
||||
- platform: nextion
|
||||
id: brightslider
|
||||
name: $device_name brightness Slider
|
||||
name: ${device_name} brightness Slider
|
||||
variable_name: brightslider
|
||||
internal: true
|
||||
on_value:
|
||||
@@ -752,10 +822,10 @@ sensor:
|
||||
# send text field percentage of current_lightslider_val
|
||||
- lambda: id(disp1).set_component_text_printf("settings.a03", "%i", id(display_brightness_global));
|
||||
|
||||
###### Display DIM Brightness GET VALUE FROM NSPanel SLIDER #####
|
||||
###### Display DIM Brightness GET VALUE FROM NSPanel SLIDER #####
|
||||
- platform: nextion
|
||||
id: dimslider
|
||||
name: $device_name dim brightness slider
|
||||
name: ${device_name} dim brightness slider
|
||||
variable_name: dimslider
|
||||
internal: true
|
||||
on_value:
|
||||
@@ -768,6 +838,17 @@ sensor:
|
||||
# send text field percentage of current_lightslider_val
|
||||
- lambda: id(disp1).set_component_text_printf("settings.a04", "%i", id(display_dim_brightness_global));
|
||||
|
||||
###### Send current page to HA
|
||||
- platform: nextion
|
||||
id: current_page
|
||||
name: "${device_name} Current Page"
|
||||
variable_name: dp
|
||||
update_interval: 1s
|
||||
accuracy_decimals: 0
|
||||
filters:
|
||||
- delta: 1.0
|
||||
- lambda: return int(x);
|
||||
|
||||
|
||||
#########################################
|
||||
#
|
||||
@@ -791,18 +872,31 @@ sensor:
|
||||
|
||||
text_sensor:
|
||||
|
||||
##### ESPhome version used to compile the app #####
|
||||
##### ESPhome version used to compile the app #####
|
||||
- platform: version
|
||||
name: $device_name ESPhome Version
|
||||
name: ${device_name} ESPhome Version
|
||||
disabled_by_default: true
|
||||
|
||||
##### SUN SENSOR FROM HA #####
|
||||
- platform: wifi_info
|
||||
ip_address:
|
||||
name: ${device_name} IP
|
||||
disabled_by_default: true
|
||||
ssid:
|
||||
name: ${device_name} SSID
|
||||
disabled_by_default: true
|
||||
bssid:
|
||||
name: ${device_name} BSSID
|
||||
disabled_by_default: true
|
||||
|
||||
##### SUN SENSOR FROM HA #####
|
||||
- platform: homeassistant
|
||||
id: sun_sun
|
||||
entity_id: sun.sun
|
||||
|
||||
##### last click sensor, the main action variable - push to HA #####
|
||||
##### last click sensor, the main action variable - push to HA #####
|
||||
- platform: nextion
|
||||
nextion_id: disp1
|
||||
<<<<<<< HEAD
|
||||
name: $device_name last click
|
||||
id: disp1_last_click_va
|
||||
# update_interval: 50ms
|
||||
@@ -830,46 +924,104 @@ text_sensor:
|
||||
# id: display_brightness
|
||||
# value: !lambda 'return int(x);'
|
||||
|
||||
=======
|
||||
name: ${device_name} Last Click
|
||||
id: disp1_last_click_nextion
|
||||
update_interval: 50ms
|
||||
component_name: lastclick
|
||||
internal: false
|
||||
filters:
|
||||
- lambda: |-
|
||||
if (strcmp(x.c_str(), id(lastclick_global).c_str()) != 0) {
|
||||
return x;
|
||||
} else {
|
||||
return {};
|
||||
}
|
||||
on_value:
|
||||
then:
|
||||
- globals.set:
|
||||
id: lastclick_global
|
||||
value: !lambda return x;
|
||||
>>>>>>> 629aafbba250e71a90531a9472055b2d2e19ca0c
|
||||
|
||||
##### last click lightsettings page, the main action variable - push to HA #####
|
||||
##### last click lightsettings page, the main action variable - push to HA #####
|
||||
- platform: nextion
|
||||
nextion_id: disp1
|
||||
name: $device_name last click lightsettings
|
||||
name: ${device_name} last click lightsettings
|
||||
id: disp1_last_click_lightsettings
|
||||
update_interval: 50ms
|
||||
component_name: lightsetting
|
||||
internal: false
|
||||
filters:
|
||||
- lambda: |-
|
||||
if (strcmp(x.c_str(), id(last_click_lightsettings).c_str()) != 0) {
|
||||
return x;
|
||||
} else {
|
||||
return {};
|
||||
}
|
||||
on_value:
|
||||
then:
|
||||
- globals.set:
|
||||
id: last_click_lightsettings
|
||||
value: !lambda return x;
|
||||
|
||||
##### last click coversettings page, the main action variable - push to HA #####
|
||||
##### last click coversettings page, the main action variable - push to HA #####
|
||||
- platform: nextion
|
||||
nextion_id: disp1
|
||||
name: $device_name last click coversettings
|
||||
name: ${device_name} last click coversettings
|
||||
id: disp1_last_click_coversettings
|
||||
update_interval: 50ms
|
||||
component_name: coversetting
|
||||
internal: false
|
||||
filters:
|
||||
- lambda: |-
|
||||
if (strcmp(x.c_str(), id(last_click_coversettings).c_str()) != 0) {
|
||||
return x;
|
||||
} else {
|
||||
return {};
|
||||
}
|
||||
on_value:
|
||||
then:
|
||||
- globals.set:
|
||||
id: last_click_coversettings
|
||||
value: !lambda return x;
|
||||
|
||||
##### last click weather page, the main action variable - push to HA #####
|
||||
##### last click weather page, the main action variable - push to HA #####
|
||||
- platform: nextion
|
||||
nextion_id: disp1
|
||||
name: $device_name last click weathersettings
|
||||
name: ${device_name} last click weathersettings
|
||||
id: disp1_last_click_weathersettings
|
||||
update_interval: 50ms
|
||||
component_name: weathersetting
|
||||
internal: false
|
||||
filters:
|
||||
- lambda: |-
|
||||
if (strcmp(x.c_str(), id(last_click_weathersettings).c_str()) != 0) {
|
||||
return x;
|
||||
} else {
|
||||
return {};
|
||||
}
|
||||
on_value:
|
||||
then:
|
||||
- globals.set:
|
||||
id: last_click_weathersettings
|
||||
value: !lambda return x;
|
||||
|
||||
|
||||
|
||||
##### Wochentag SENSOR FROM HA #####
|
||||
# - platform: homeassistant
|
||||
# id: weekday
|
||||
# entity_id: $ha_weekday
|
||||
# on_value:
|
||||
# then:
|
||||
# - wait_until:
|
||||
# switch.is_on: nextion_init
|
||||
# - lambda: id(disp1).set_component_text_printf("home.a02", "%s", id(weekday).state.c_str());
|
||||
##### Wochentag SENSOR FROM HA #####
|
||||
# - platform: homeassistant
|
||||
# id: weekday
|
||||
# entity_id: $ha_weekday
|
||||
# on_value:
|
||||
# then:
|
||||
# - wait_until:
|
||||
# switch.is_on: nextion_init
|
||||
# - lambda: id(disp1).set_component_text_printf("home.a02", "%s", id(weekday).state.c_str());
|
||||
|
||||
##### HEATING System ICON #####
|
||||
##### HEATING System ICON #####
|
||||
- platform: homeassistant
|
||||
entity_id: $ha_heating_system_flame
|
||||
entity_id: ${ha_heating_system_flame}
|
||||
name: "Heating System"
|
||||
id: heating_system
|
||||
on_value:
|
||||
@@ -884,9 +1036,9 @@ text_sensor:
|
||||
id(disp1).send_command_printf("home.a50.pic=%i", symbol);
|
||||
id(disp1).send_command_printf("thermostat.a50.pic=%i", symbol);
|
||||
|
||||
##### Hotwater Charge ICON #####
|
||||
##### Hotwater Charge ICON #####
|
||||
- platform: homeassistant
|
||||
entity_id: $ha_hotwater_charge
|
||||
entity_id: ${ha_hotwater_charge}
|
||||
name: "Hotwater Charge"
|
||||
id: hotwater_charge
|
||||
on_value:
|
||||
@@ -974,16 +1126,24 @@ text_sensor:
|
||||
|
||||
switch:
|
||||
|
||||
##### global variable to keep track on whether the Nextion display is ready or not. Delays initial info from HA to the display #####
|
||||
# ##### Restart switch ######
|
||||
# - platform: restart
|
||||
# name: ${device_name} Restart
|
||||
|
||||
# ##### Restart in safe-mode #####
|
||||
# - platform: safe_mode
|
||||
# name: ${device_name} Restart (Safe Mode)
|
||||
|
||||
##### global variable to keep track on whether the Nextion display is ready or not. Delays initial info from HA to the display #####
|
||||
- platform: template
|
||||
name: $device_name Nextion inited
|
||||
name: ${device_name} Nextion inited
|
||||
id: nextion_init
|
||||
entity_category: config
|
||||
restore_state: false
|
||||
assumed_state: off
|
||||
optimistic: true
|
||||
|
||||
##### UPDATE TFT DISPLAY #####
|
||||
##### UPDATE TFT DISPLAY #####
|
||||
- platform: template
|
||||
name: Update TFT display
|
||||
id: tft_update
|
||||
@@ -992,44 +1152,44 @@ switch:
|
||||
- lambda: id(disp1).upload_tft();
|
||||
- switch.turn_off: tft_update
|
||||
|
||||
##### PHYSICAL SWITCH 1 #####
|
||||
##### PHYSICAL SWITCH 1 #####
|
||||
- platform: gpio
|
||||
name: $device_name Relay 1
|
||||
name: ${device_name} Relay 1
|
||||
id: relay_1
|
||||
pin:
|
||||
number: 22
|
||||
|
||||
##### PHYSICAL SWITCH 2 ######
|
||||
##### PHYSICAL SWITCH 2 ######
|
||||
- platform: gpio
|
||||
name: $device_name Relay 2
|
||||
name: ${device_name} Relay 2
|
||||
id: relay_2
|
||||
pin:
|
||||
number: 19
|
||||
on_turn_off:
|
||||
- globals.set:
|
||||
id: heating_room_global
|
||||
value: '0'
|
||||
- lambda: |-
|
||||
if (id(hvac_mode_global) == 0)
|
||||
{
|
||||
id(disp1).send_command_printf("thermostat.a06.pic=49");
|
||||
} else if (id(hvac_mode_global) == 1) {
|
||||
id(disp1).send_command_printf("thermostat.a06.pic=50");
|
||||
}
|
||||
- lambda: id(disp1).send_command_printf("home.a52.pic=53");
|
||||
- lambda: id(disp1).send_command_printf("thermostat.a52.pic=53");
|
||||
on_turn_on:
|
||||
- globals.set:
|
||||
id: heating_room_global
|
||||
value: '1'
|
||||
- lambda: id(disp1).send_command_printf("thermostat.a06.pic=51");
|
||||
- lambda: id(disp1).send_command_printf("home.a52.pic=66");
|
||||
- lambda: id(disp1).send_command_printf("thermostat.a52.pic=66");
|
||||
# on_turn_off:
|
||||
# - globals.set:
|
||||
# id: heating_room_global
|
||||
# value: '0'
|
||||
# - lambda: |-
|
||||
# if (id(hvac_mode_global) == 0)
|
||||
# {
|
||||
# id(disp1).send_command_printf("thermostat.a06.pic=49");
|
||||
# } else if (id(hvac_mode_global) == 1) {
|
||||
# id(disp1).send_command_printf("thermostat.a06.pic=50");
|
||||
# }
|
||||
# - lambda: id(disp1).send_command_printf("home.a52.pic=53");
|
||||
# - lambda: id(disp1).send_command_printf("thermostat.a52.pic=53");
|
||||
# on_turn_on:
|
||||
# - globals.set:
|
||||
# id: heating_room_global
|
||||
# value: '1'
|
||||
# - lambda: id(disp1).send_command_printf("thermostat.a06.pic=51");
|
||||
# - lambda: id(disp1).send_command_printf("home.a52.pic=66");
|
||||
# - lambda: id(disp1).send_command_printf("thermostat.a52.pic=66");
|
||||
|
||||
##### Switch Climate HVAC Mode #####
|
||||
##### Switch Climate HVAC Mode #####
|
||||
- platform: template
|
||||
device_class: switch
|
||||
name: $device_name hvac Mode
|
||||
name: ${device_name} hvac Mode
|
||||
id: hvac_mode
|
||||
restore_state: true
|
||||
assumed_state: false
|
||||
@@ -1067,9 +1227,9 @@ switch:
|
||||
- lambda: id(disp1).send_command_printf("home.a51.pic=65");
|
||||
- lambda: id(disp1).send_command_printf("thermostat.a51.pic=65");
|
||||
|
||||
##### DISPLAY ALWAYS ON #####
|
||||
##### DISPLAY ALWAYS ON #####
|
||||
- platform: gpio
|
||||
name: $device_name Screen Power
|
||||
name: ${device_name} Screen Power
|
||||
id: screen_power
|
||||
entity_category: config
|
||||
pin:
|
||||
@@ -1078,10 +1238,10 @@ switch:
|
||||
restore_mode: ALWAYS_ON
|
||||
internal: true
|
||||
|
||||
##### Switch Display Sleep Modus #####
|
||||
##### Switch Display Sleep Modus #####
|
||||
- platform: template
|
||||
device_class: switch
|
||||
name: $device_name Sleep Modus
|
||||
name: ${device_name} Sleep Modus
|
||||
id: sleep_modus
|
||||
restore_state: true
|
||||
assumed_state: false
|
||||
@@ -1121,9 +1281,9 @@ switch:
|
||||
|
||||
number:
|
||||
|
||||
##### SCREEN BRIGHTNESS #####
|
||||
##### SCREEN BRIGHTNESS #####
|
||||
- platform: template
|
||||
name: $device_name Display Brightness
|
||||
name: ${device_name} Display Brightness
|
||||
id: display_brightness
|
||||
entity_category: config
|
||||
unit_of_measurement: '%'
|
||||
@@ -1140,9 +1300,9 @@ number:
|
||||
id: display_brightness_global
|
||||
value: !lambda 'return int(x);'
|
||||
|
||||
##### SCREEN BRIGHTNESS DIMMED DOWN #####
|
||||
##### SCREEN BRIGHTNESS DIMMED DOWN #####
|
||||
- platform: template
|
||||
name: $device_name Display Brightness Dimdown
|
||||
name: ${device_name} Display Brightness Dimdown
|
||||
id: display_dim_brightness
|
||||
entity_category: config
|
||||
unit_of_measurement: '%'
|
||||
@@ -1182,7 +1342,7 @@ display:
|
||||
- platform: nextion
|
||||
id: disp1
|
||||
uart_id: tf_uart
|
||||
tft_url: $nextion_update_url
|
||||
tft_url: ${nextion_update_url}
|
||||
on_setup:
|
||||
then:
|
||||
- lambda: id(disp1).send_command_printf("page 9"); ##### CHANGE! - Loading page #####
|
||||
|
||||
1353
esphome_dhcp.yaml
Normal file
1353
esphome_dhcp.yaml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
nspanel_buero.HMI
Normal file
BIN
nspanel_buero.HMI
Normal file
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user