Last active
August 28, 2024 07:45
-
-
Save adlerweb/3b406c642749c394ab0d929b66d7154f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
esphome: | |
name: smlgw | |
friendly_name: smlgw | |
esp32: | |
board: esp32-c3-devkitm-1 | |
# Enable logging | |
logger: | |
level: WARN | |
# Enable Home Assistant API | |
api: | |
encryption: | |
key: "secret" | |
ota: | |
password: "secret" | |
platform: esphome | |
wifi: | |
ssid: !secret wifi_ssid | |
password: !secret wifi_password | |
output_power: 8.5 | |
uart: | |
id: uart_bus | |
tx_pin: 2 | |
rx_pin: 3 | |
baud_rate: 9600 | |
sml: | |
id: mysml | |
uart_id: uart_bus | |
text_sensor: | |
#My device reports two firmware versions | |
#As this would report them squentially this | |
#would massively spam the logs | |
#- platform: sml | |
# name: "Firmware" | |
# obis_code: "1-0:0.2.0" | |
- platform: sml | |
name: "Hardware-Version" | |
obis_code: "1-0:96.50.1" | |
sensor: | |
- platform: sml | |
name: "Gebäudestrom Bezug" | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:1.8.0" | |
unit_of_measurement: kWh | |
accuracy_decimals: 4 | |
device_class: energy | |
state_class: total_increasing | |
filters: | |
- multiply: 0.0001 | |
- platform: sml | |
name: "Gebäudestrom Einspeisung" | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:2.8.0" | |
unit_of_measurement: kWh | |
accuracy_decimals: 4 | |
device_class: energy | |
state_class: total_increasing | |
filters: | |
- multiply: 0.0001 | |
- platform: sml | |
name: "Spannung L1" | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:32.7.0" | |
unit_of_measurement: V | |
id: u_l1 | |
accuracy_decimals: 2 | |
device_class: voltage | |
state_class: measurement | |
filters: | |
- multiply: 0.1 | |
- platform: sml | |
name: "Spannung L2" | |
id: u_l2 | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:52.7.0" | |
unit_of_measurement: V | |
accuracy_decimals: 2 | |
device_class: voltage | |
state_class: measurement | |
filters: | |
- multiply: 0.1 | |
- platform: sml | |
name: "Spannung L3" | |
id: u_l3 | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:72.7.0" | |
unit_of_measurement: V | |
accuracy_decimals: 2 | |
device_class: voltage | |
state_class: measurement | |
filters: | |
- multiply: 0.1 | |
- platform: sml | |
name: "Strom L1" | |
id: i_l1 | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:31.7.0" | |
unit_of_measurement: A | |
accuracy_decimals: 2 | |
device_class: current | |
state_class: measurement | |
filters: | |
- multiply: 0.01 | |
- platform: sml | |
name: "Strom L2" | |
id: i_l2 | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:51.7.0" | |
unit_of_measurement: A | |
accuracy_decimals: 2 | |
device_class: current | |
state_class: measurement | |
filters: | |
- multiply: 0.01 | |
- platform: sml | |
name: "Strom L3" | |
id: i_l3 | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:71.7.0" | |
unit_of_measurement: A | |
accuracy_decimals: 2 | |
device_class: current | |
state_class: measurement | |
filters: | |
- multiply: 0.01 | |
- platform: sml | |
name: "Wirkleistung L1" | |
id: p_l1 | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:36.7.0" | |
unit_of_measurement: W | |
accuracy_decimals: 0 | |
device_class: power | |
state_class: measurement | |
filters: | |
- multiply: 1 | |
- platform: sml | |
name: "Wirkleistung L2" | |
id: p_l2 | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:56.7.0" | |
unit_of_measurement: W | |
accuracy_decimals: 0 | |
device_class: power | |
state_class: measurement | |
filters: | |
- multiply: 1 | |
- platform: sml | |
name: "Wirkleistung L3" | |
id: p_l3 | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:76.7.0" | |
unit_of_measurement: W | |
accuracy_decimals: 0 | |
device_class: power | |
state_class: measurement | |
filters: | |
- multiply: 1 | |
- platform: sml | |
name: "Gebäude Wirkleistung" | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:16.7.0" | |
unit_of_measurement: W | |
accuracy_decimals: 0 | |
device_class: power | |
state_class: measurement | |
filters: | |
- multiply: 1 | |
- platform: sml | |
name: "Netzfrequenz" | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:14.7.0" | |
unit_of_measurement: Hz | |
accuracy_decimals: 1 | |
device_class: frequency | |
state_class: measurement | |
filters: | |
- multiply: 0.1 | |
- platform: sml | |
name: "Phasenwinkel L2-L1" | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:81.7.1" | |
unit_of_measurement: ° | |
accuracy_decimals: 0 | |
state_class: measurement | |
- platform: sml | |
name: "Phasenwinkel L3-L1" | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:81.7.2" | |
unit_of_measurement: ° | |
accuracy_decimals: 0 | |
state_class: measurement | |
- platform: sml | |
name: "Phasenverschiebung L1" | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:81.7.4" | |
unit_of_measurement: ° | |
accuracy_decimals: 0 | |
state_class: measurement | |
- platform: sml | |
name: "Phasenverschiebung L2" | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:81.7.15" | |
unit_of_measurement: ° | |
accuracy_decimals: 0 | |
state_class: measurement | |
- platform: sml | |
name: "Phasenverschiebung L3" | |
sml_id: mysml | |
server_id: "000000_your_device_id" | |
obis_code: "1-0:81.7.26" | |
unit_of_measurement: ° | |
accuracy_decimals: 0 | |
state_class: measurement | |
- platform: template | |
name: "Scheinleistung L1" | |
id: s_l1 | |
unit_of_measurement: "VA" | |
device_class: apparent_power | |
state_class: measurement | |
lambda: |- | |
return (id(u_l1).state) * (id(i_l1).state); | |
accuracy_decimals: 0 | |
update_interval: 15s | |
- platform: template | |
name: "Scheinleistung L2" | |
id: s_l2 | |
unit_of_measurement: "VA" | |
device_class: apparent_power | |
state_class: measurement | |
lambda: |- | |
return (id(u_l2).state) * (id(i_l2).state); | |
accuracy_decimals: 0 | |
update_interval: 15s | |
- platform: template | |
name: "Scheinleistung L3" | |
id: s_l3 | |
unit_of_measurement: "VA" | |
device_class: apparent_power | |
state_class: measurement | |
lambda: |- | |
return (id(u_l3).state) * (id(i_l3).state); | |
accuracy_decimals: 0 | |
update_interval: 15s | |
- platform: template | |
name: "Gebäude Scheinleistung" | |
id: s_total | |
unit_of_measurement: "VA" | |
device_class: apparent_power | |
state_class: measurement | |
lambda: |- | |
return (id(s_l1).state) + (id(s_l2).state) + (id(s_l3).state); | |
accuracy_decimals: 0 | |
update_interval: 15s | |
- platform: template | |
name: "Blindleistung L1" | |
id: q_l1 | |
unit_of_measurement: "VAr" | |
device_class: reactive_power | |
state_class: measurement | |
lambda: |- | |
float s = id(s_l1).state; | |
float p = id(p_l1).state; | |
return sqrt(pow(s, 2) - pow(p, 2)); | |
accuracy_decimals: 0 | |
update_interval: 15s | |
- platform: template | |
name: "Blindleistung L2" | |
id: q_l2 | |
unit_of_measurement: "VAr" | |
device_class: reactive_power | |
state_class: measurement | |
lambda: |- | |
float s = id(s_l2).state; | |
float p = id(p_l2).state; | |
return sqrt(pow(s, 2) - pow(p, 2)); | |
accuracy_decimals: 0 | |
update_interval: 15s | |
- platform: template | |
name: "Blindleistung L3" | |
id: q_l3 | |
unit_of_measurement: "VAr" | |
device_class: reactive_power | |
state_class: measurement | |
lambda: |- | |
float s = id(s_l3).state; | |
float p = id(p_l3).state; | |
return sqrt(pow(s, 2) - pow(p, 2)); | |
accuracy_decimals: 0 | |
update_interval: 15s | |
- platform: template | |
name: "Gebäude Blindleistung" | |
id: q_total | |
unit_of_measurement: "VAr" | |
device_class: reactive_power | |
state_class: measurement | |
lambda: |- | |
return (id(q_l1).state) + (id(q_l2).state) + (id(q_l3).state); | |
accuracy_decimals: 0 | |
update_interval: 15s | |
- platform: template | |
name: "Leistungsfaktor L1" | |
id: pf_l1 | |
unit_of_measurement: "" | |
device_class: power_factor | |
state_class: measurement | |
lambda: |- | |
return (id(p_l1).state) / (id(s_l1).state); | |
accuracy_decimals: 2 | |
update_interval: 15s | |
- platform: template | |
name: "Leistungsfaktor L2" | |
id: pf_l2 | |
unit_of_measurement: "" | |
device_class: power_factor | |
state_class: measurement | |
lambda: |- | |
return (id(p_l2).state) / (id(s_l2).state); | |
accuracy_decimals: 2 | |
update_interval: 15s | |
- platform: template | |
name: "Leistungsfaktor L3" | |
id: pf_l3 | |
unit_of_measurement: "" | |
device_class: power_factor | |
state_class: measurement | |
lambda: |- | |
return (id(p_l3).state) / (id(s_l3).state); | |
accuracy_decimals: 2 | |
update_interval: 15s | |
- platform: template | |
name: "Gebäude Leistungsfaktor" | |
unit_of_measurement: "" | |
device_class: power_factor | |
state_class: measurement | |
lambda: |- | |
return ((id(pf_l1).state) + (id(pf_l2).state) + (id(pf_l3).state))/3; | |
accuracy_decimals: 2 | |
update_interval: 15s |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment