14
README.md
14
README.md
@@ -1,5 +1,7 @@
|
|||||||
# NSPanel Custom with HA Blueprint
|
# NSPanel Custom with HA Blueprint
|
||||||
[](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgithub.com%2FBlackymas%2FNSPanel_HA_Blueprint%2Fblob%2Fmain%2Fnspnael_blueprint.yaml)
|
|
||||||
|
|
||||||
|
[](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgithub.com%2FBlackymas%2FNSPanel_HA_Blueprint%2Fblob%2Fmain%2Fnspanel_blueprint.yaml)
|
||||||
|
|
||||||
This project allows you to configure your complete NSPanel via a Blueprint with UI.
|
This project allows you to configure your complete NSPanel via a Blueprint with UI.
|
||||||
### *That means you don't have to customize any code or change any lines in the code.*
|
### *That means you don't have to customize any code or change any lines in the code.*
|
||||||
@@ -11,10 +13,13 @@ The goal was to create a version that allows everyone to use the NSpanel fully l
|
|||||||
|
|
||||||
📕 Full documentation and installation is available here [NSPanel Configuration, Setup and HowTo](https://github.com/Blackymas/NSPanel_HA_Blueprint/wiki).
|
📕 Full documentation and installation is available here [NSPanel Configuration, Setup and HowTo](https://github.com/Blackymas/NSPanel_HA_Blueprint/wiki).
|
||||||
|
|
||||||
🚀 How to create "Issues" when I have a problem [WIKI HowTo](https://github.com/Blackymas/NSPanel_HA_Blueprint/wiki/Welcome-to-the-NSPanel_HA_Blueprint-WIKI).
|
🚀 How to create "Issues" when I have a problem [WIKI HowTo](https://github.com/Blackymas/NSPanel_HA_Blueprint/wiki/Welcome-to-the-NSPanel_HA_Blueprint-WIKI)
|
||||||
|
|
||||||
ℹ️ Version v2.0.0
|
⭐ All Feature Requests can be found here [All Feature Request](https://github.com/Blackymas/NSPanel_HA_Blueprint/labels/new%20feature%20request)
|
||||||
|
|
||||||
|
🎉 Roadmap Roadmap can be found here [Roadmap](https://github.com/Blackymas/NSPanel_HA_Blueprint/labels/roadmap)
|
||||||
|
|
||||||
|
🙋 WE ARE LOOKING FOR YOU! _**We are always looking for people who would like to support this project. We are looking for help with "programming new features, writing documentation or translating documentation to EN. If you are interested then please contact us :)**_
|
||||||
|
|
||||||
## NSPanel:
|
## NSPanel:
|
||||||

|

|
||||||
@@ -161,3 +166,4 @@ Marcfager: https://github.com/marcfager/nspanel-mf
|
|||||||
lovejoy77: https://github.com/lovejoy777/NSpanel
|
lovejoy77: https://github.com/lovejoy777/NSpanel
|
||||||
|
|
||||||
Hellis81: https://github.com/Hellis81/NS-panel
|
Hellis81: https://github.com/Hellis81/NS-panel
|
||||||
|
|
||||||
|
|||||||
@@ -11,8 +11,10 @@
|
|||||||
# ## usage of secrets-file ## -> comment in ###### Change ME ######
|
# ## usage of secrets-file ## -> comment in ###### Change ME ######
|
||||||
# device_name: "nspanel-name" # Wird im Blueprint benötigt!
|
# device_name: "nspanel-name" # Wird im Blueprint benötigt!
|
||||||
# wifi_ssid: !secret nspanel_wifi_ssid # add in your esphome secrets file.
|
# wifi_ssid: !secret nspanel_wifi_ssid # add in your esphome secrets file.
|
||||||
# wifi_password: !secret nspanel_wifi_password # add in your esphome secrets file.
|
# wifi_password: !secret nspanel_wifi_password # add in your esphome secrets file. -> per default this is also used for ota_password and web_password
|
||||||
# ota_password: !secret nspanel_ota_password # add in your esphome secrets file.
|
# ota_password: !secret nspanel_ota_password # add in your esphome secrets file. - manual change in code required to activate
|
||||||
|
# web_password: !secret nspanel_web_password # add in your esphome secrets file. - manual change in code required to activate
|
||||||
|
# api_password: !secret nspanel_api_password # add in your esphome secrets file. - manual change in code required to activate
|
||||||
# nextion_update_url: !secret nspanel_update_url # add in your esphome secrets file. Example: "http://"HOME ASSISTANT IP":8123/local/nspanel/nspanel.tft"
|
# nextion_update_url: !secret nspanel_update_url # add in your esphome secrets file. Example: "http://"HOME ASSISTANT IP":8123/local/nspanel/nspanel.tft"
|
||||||
|
|
||||||
# ## static ip config ##
|
# ## static ip config ##
|
||||||
@@ -22,6 +24,11 @@
|
|||||||
# dns: "10.0.0.138"
|
# dns: "10.0.0.138"
|
||||||
# domain: ".local"
|
# domain: ".local"
|
||||||
|
|
||||||
|
##### if you rename this file to .nspanel_esphome.yaml then you can activate nested config
|
||||||
|
##### use the ADVANCED CONFIG-Section as device configuration
|
||||||
|
##### https://esphome.io/guides/configuration-types.html#yaml-insertion-operator
|
||||||
|
# <<: !include .nspanel_esphome.yaml
|
||||||
|
|
||||||
##### END OF ADVANCED CONFIGURATION ##############################################################
|
##### END OF ADVANCED CONFIGURATION ##############################################################
|
||||||
|
|
||||||
##### WIFI SETUP #####
|
##### WIFI SETUP #####
|
||||||
@@ -36,7 +43,7 @@ wifi:
|
|||||||
# subnet: ${subnet}
|
# subnet: ${subnet}
|
||||||
# dns1: ${dns}
|
# dns1: ${dns}
|
||||||
# domain: ${domain}
|
# domain: ${domain}
|
||||||
# Enable fallback hotspot (captive portal) in case wifi connection fails
|
##### Enable fallback hotspot (captive portal) in case wifi connection fails
|
||||||
ap:
|
ap:
|
||||||
ssid: "${device_name}"
|
ssid: "${device_name}"
|
||||||
password: ${wifi_password}
|
password: ${wifi_password}
|
||||||
@@ -62,11 +69,15 @@ web_server:
|
|||||||
port: 80
|
port: 80
|
||||||
auth:
|
auth:
|
||||||
username: admin
|
username: admin
|
||||||
password: ${ota_password}
|
password: ${wifi_password}
|
||||||
|
##### advanced config - change to use web_password #####
|
||||||
|
# password: ${web_password}
|
||||||
|
|
||||||
##### OTA PASSWORD #####
|
##### OTA PASSWORD #####
|
||||||
ota:
|
ota:
|
||||||
password: ${ota_password}
|
password: ${wifi_password}
|
||||||
|
##### advanced config - change to use ota_password #####
|
||||||
|
# password: ${ota_password}
|
||||||
safe_mode: true
|
safe_mode: true
|
||||||
reboot_timeout: 3min
|
reboot_timeout: 3min
|
||||||
num_attempts: 3
|
num_attempts: 3
|
||||||
@@ -105,6 +116,8 @@ button:
|
|||||||
|
|
||||||
##### START - API CONFIGURATION #####
|
##### START - API CONFIGURATION #####
|
||||||
api:
|
api:
|
||||||
|
##### advanced config - activate to use api_password #####
|
||||||
|
# password: ${api_password}
|
||||||
services:
|
services:
|
||||||
|
|
||||||
##### SERVICE TO UPDATE THE HMI FILE #####
|
##### SERVICE TO UPDATE THE HMI FILE #####
|
||||||
|
|||||||
@@ -1757,12 +1757,16 @@ action:
|
|||||||
message: "{{ time }}"
|
message: "{{ time }}"
|
||||||
|
|
||||||
##### NSPanel boot init - Humidity #####
|
##### NSPanel boot init - Humidity #####
|
||||||
- delay:
|
- if:
|
||||||
milliseconds: "{{ delay_value }}"
|
- condition: template
|
||||||
- service: "{{ command_text_printf }}"
|
value_template: '{{ humidity is match "sensor." and states(humidity).state != "unavailable" }}'
|
||||||
data:
|
then:
|
||||||
component: home.humidity_state
|
- delay:
|
||||||
message: "{{ states(humidity) |round(0) }}%"
|
milliseconds: "{{ delay_value }}"
|
||||||
|
- service: "{{ command_text_printf }}"
|
||||||
|
data:
|
||||||
|
component: home.humidity_state
|
||||||
|
message: "{{ states(humidity) |round(0) }}%"
|
||||||
|
|
||||||
##### NSPanel boot init - Hotwater #####
|
##### NSPanel boot init - Hotwater #####
|
||||||
- if:
|
- if:
|
||||||
@@ -1784,9 +1788,10 @@ action:
|
|||||||
##### NSPanel boot init - Outdoor Temp #####
|
##### NSPanel boot init - Outdoor Temp #####
|
||||||
- variables:
|
- variables:
|
||||||
outdoor_temp: >-
|
outdoor_temp: >-
|
||||||
{%- if outdoortemp is match "sensor." -%} {{ states(outdoortemp) |round(0) }}
|
{%- if outdoortemp is match "sensor." and states(outdoortemp).state != "unavailable" -%} {{ states(outdoortemp) |round(0) }}
|
||||||
{%- elif weather == "Default" -%} {{state_attr(ha_weather,"temperature") | round(0)}}
|
{%- elif weather == "Default" and state_attr(ha_weather, "temperature") != None -%} {{state_attr(ha_weather,"temperature") | round(0)}}
|
||||||
{%- elif weather == "AccuWeather" -%} {{state_attr(accuweather_value,"temperature") | round(0)}}
|
{%- elif weather == "AccuWeather" and state_attr(accuweather_value, "temperature") != None -%} {{state_attr(accuweather_value,"temperature") | round(0)}}
|
||||||
|
{%- else -%} 0
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
- delay:
|
- delay:
|
||||||
milliseconds: "{{ delay_value }}"
|
milliseconds: "{{ delay_value }}"
|
||||||
@@ -3094,17 +3099,21 @@ action:
|
|||||||
message: "{{ time }}"
|
message: "{{ time }}"
|
||||||
|
|
||||||
##### NSPanel Humidity #####
|
##### NSPanel Humidity #####
|
||||||
- delay:
|
- if:
|
||||||
milliseconds: "{{ delay_value }}"
|
- condition: template
|
||||||
- service: "{{ command_text_printf }}"
|
value_template: '{{ humidity is match "sensor." and states(humidity).state != "unavailable" }}'
|
||||||
data:
|
then:
|
||||||
component: home.humidity_state
|
- delay:
|
||||||
message: "{{ states(humidity) |round(0) }}%"
|
milliseconds: "{{ delay_value }}"
|
||||||
|
- service: "{{ command_text_printf }}"
|
||||||
|
data:
|
||||||
|
component: home.humidity_state
|
||||||
|
message: "{{ states(humidity) |round(0) }}%"
|
||||||
|
|
||||||
##### NSPanel Hotwater #####
|
##### NSPanel Hotwater #####
|
||||||
- if:
|
- if:
|
||||||
- condition: template
|
- condition: template
|
||||||
value_template: '{{ hotwatertemp is match "sensor." }}'
|
value_template: '{{ hotwatertemp is match "sensor." and states(hotwatertemp).state != "unavailable" }}'
|
||||||
then:
|
then:
|
||||||
- delay:
|
- delay:
|
||||||
milliseconds: "{{ delay_value }}"
|
milliseconds: "{{ delay_value }}"
|
||||||
@@ -3121,9 +3130,10 @@ action:
|
|||||||
##### NSPanel Outdoor Temp #####
|
##### NSPanel Outdoor Temp #####
|
||||||
- variables:
|
- variables:
|
||||||
outdoor_temp: >-
|
outdoor_temp: >-
|
||||||
{%- if outdoortemp is match "sensor." -%} {{ states(outdoortemp) |round(0) }}
|
{%- if outdoortemp is match "sensor." and states(outdoortemp).state != "unavailable" -%} {{ states(outdoortemp) |round(0) }}
|
||||||
{%- elif weather == "Default" -%} {{state_attr(ha_weather,"temperature") | round(0)}}
|
{%- elif weather == "Default" and state_attr(ha_weather, "temperature") != None -%} {{state_attr(ha_weather,"temperature") | round(0)}}
|
||||||
{%- elif weather == "AccuWeather" -%} {{state_attr(accuweather_value,"temperature") | round(0)}}
|
{%- elif weather == "AccuWeather" and state_attr(accuweather_value, "temperature") != None -%} {{state_attr(accuweather_value,"temperature") | round(0)}}
|
||||||
|
{%- else -%} 0
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
- delay:
|
- delay:
|
||||||
milliseconds: "{{ delay_value }}"
|
milliseconds: "{{ delay_value }}"
|
||||||
@@ -4461,9 +4471,10 @@ action:
|
|||||||
- variables:
|
- variables:
|
||||||
hvac_mode: "{{ states(climate) }}"
|
hvac_mode: "{{ states(climate) }}"
|
||||||
outdoor_temp: >-
|
outdoor_temp: >-
|
||||||
{%- if outdoortemp is match "sensor." -%} {{ states(outdoortemp) |round(0) }}
|
{%- if outdoortemp is match "sensor." and states(outdoortemp).state != "unavailable" -%} {{ states(outdoortemp) |round(0) }}
|
||||||
{%- elif weather == "Default" -%} {{state_attr(ha_weather,"temperature") | round(0)}}
|
{%- elif weather == "Default" and state_attr(ha_weather, "temperature") != None -%} {{state_attr(ha_weather,"temperature") | round(0)}}
|
||||||
{%- elif weather == "AccuWeather" -%} {{state_attr(accuweather_value,"temperature") | round(0)}}
|
{%- elif weather == "AccuWeather" and state_attr(accuweather_value, "temperature") != None -%} {{state_attr(accuweather_value,"temperature") | round(0)}}
|
||||||
|
{%- else -%} 0
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
heating_state: >-
|
heating_state: >-
|
||||||
{%- if hvac_mode == "off" -%} {{ off_mui }}
|
{%- if hvac_mode == "off" -%} {{ off_mui }}
|
||||||
|
|||||||
Reference in New Issue
Block a user