297 lines
8.1 KiB
YAML
297 lines
8.1 KiB
YAML
|
# Loads default set of integrations. Do not remove.
|
||
|
default_config:
|
||
|
|
||
|
# Load frontend themes from the themes folder
|
||
|
frontend:
|
||
|
themes: !include_dir_merge_named themes
|
||
|
|
||
|
automation: !include automations.yaml
|
||
|
script: !include scripts.yaml
|
||
|
scene: !include scenes.yaml
|
||
|
|
||
|
sensor:
|
||
|
- platform: serial
|
||
|
serial_port: /dev/ttyUSB_CH340
|
||
|
baudrate: 9600
|
||
|
|
||
|
template:
|
||
|
sensor:
|
||
|
- name: Temperature
|
||
|
unit_of_measurement: "°C"
|
||
|
state: "{{ states('sensor.serial_sensor').split()[2] | float(default=0) }}"
|
||
|
unique_id: temperature_sensor
|
||
|
- name: Humidity
|
||
|
unit_of_measurement: "%"
|
||
|
state: "{{ states('sensor.serial_sensor').split()[1] | float(default=0) }}"
|
||
|
unique_id: humidity_sensor
|
||
|
|
||
|
modbus:
|
||
|
- name: "SDM230 Smart Meter"
|
||
|
type: serial
|
||
|
baudrate: 9600
|
||
|
bytesize: 8
|
||
|
method: rtu
|
||
|
parity: N
|
||
|
port: /dev/ttyUSB_FT232
|
||
|
stopbits: 1
|
||
|
sensors:
|
||
|
- name: Voltage
|
||
|
unit_of_measurement: Volts
|
||
|
slave: 2
|
||
|
address: 0
|
||
|
input_type: input
|
||
|
data_type: float32
|
||
|
precision: 2
|
||
|
unique_id: "SDM230_Voltage"
|
||
|
- name: Current
|
||
|
unit_of_measurement: Amps
|
||
|
slave: 2
|
||
|
address: 6
|
||
|
input_type: input
|
||
|
data_type: float32
|
||
|
precision: 2
|
||
|
unique_id: "SDM230_Current"
|
||
|
- name: Active_Power
|
||
|
unit_of_measurement: Watts
|
||
|
slave: 2
|
||
|
address: 12
|
||
|
input_type: input
|
||
|
data_type: float32
|
||
|
precision: 2
|
||
|
unique_id: "SDM230_ActivePower"
|
||
|
- name: Apparent_Power
|
||
|
unit_of_measurement: Watts
|
||
|
slave: 2
|
||
|
address: 18
|
||
|
input_type: input
|
||
|
data_type: float32
|
||
|
precision: 2
|
||
|
unique_id: "SDM230_ApparentPower"
|
||
|
- name: Reactive_Power
|
||
|
unit_of_measurement: Watts
|
||
|
slave: 2
|
||
|
address: 24
|
||
|
input_type: input
|
||
|
data_type: float32
|
||
|
precision: 2
|
||
|
unique_id: "SDM230_ReactivePower"
|
||
|
- name: Power_Factor
|
||
|
slave: 2
|
||
|
address: 30
|
||
|
input_type: input
|
||
|
data_type: float32
|
||
|
precision: 2
|
||
|
unique_id: "SDM230_PowerFactor"
|
||
|
- name: Frequency
|
||
|
unit_of_measurement: Hz
|
||
|
slave: 2
|
||
|
address: 70
|
||
|
input_type: input
|
||
|
data_type: float32
|
||
|
precision: 2
|
||
|
unique_id: "SDM230_Frequency"
|
||
|
- name: Import_Active_Energy
|
||
|
unit_of_measurement: kWh
|
||
|
slave: 2
|
||
|
address: 72
|
||
|
input_type: input
|
||
|
data_type: float32
|
||
|
precision: 2
|
||
|
unique_id: "SDM230_ImportActiveEnergy"
|
||
|
- name: Export_Active_Energy
|
||
|
unit_of_measurement: kWh
|
||
|
slave: 2
|
||
|
address: 74
|
||
|
input_type: input
|
||
|
data_type: float32
|
||
|
precision: 2
|
||
|
unique_id: "SDM230_ExportActiveEnergy"
|
||
|
- name: Import_Reactive_Energy
|
||
|
unit_of_measurement: kVARh
|
||
|
slave: 2
|
||
|
address: 76
|
||
|
input_type: input
|
||
|
data_type: float32
|
||
|
precision: 2
|
||
|
unique_id: "SDM230_ImportReactiveEnergy"
|
||
|
- name: Export_Reactive_Energy
|
||
|
unit_of_measurement: kVARh
|
||
|
slave: 2
|
||
|
address: 78
|
||
|
input_type: input
|
||
|
data_type: float32
|
||
|
precision: 2
|
||
|
unique_id: "SDM230_ExportReactiveEnergy"
|
||
|
- name: Total_Active_Energy
|
||
|
unit_of_measurement: kWh
|
||
|
slave: 2
|
||
|
address: 342
|
||
|
input_type: input
|
||
|
data_type: float32
|
||
|
precision: 2
|
||
|
state_class: total_increasing
|
||
|
unique_id: "SDM230_TotalActiveEnergy"
|
||
|
- name: Total_Reactive_Energy
|
||
|
unit_of_measurement: kVARh
|
||
|
slave: 2
|
||
|
address: 344
|
||
|
input_type: input
|
||
|
data_type: float32
|
||
|
precision: 2
|
||
|
unique_id: "SDM230_TotalReactiveEnergy"
|
||
|
|
||
|
http:
|
||
|
# For extra security set this to only accept connections on localhost if NGINX is on the same machine
|
||
|
# Uncommenting this will mean that you can only reach Home Assistant using the proxy, not directly via IP from other clients.
|
||
|
# server_host: 127.0.0.1
|
||
|
use_x_forwarded_for: true
|
||
|
# You must set the trusted proxy IP address so that Home Assistant will properly accept connections
|
||
|
# Set this to your NGINX machine IP, or localhost if hosted on the same machine.
|
||
|
trusted_proxies: 192.168.10.41
|
||
|
|
||
|
# Modpoll for CJ meter
|
||
|
|
||
|
#./modpoll/x86_64-linux-gnu/modpoll -h
|
||
|
#modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator
|
||
|
#Copyright (c) 2002-2021 proconX Pty Ltd
|
||
|
#Visit https://www.modbusdriver.com for Modbus libraries and tools.
|
||
|
#
|
||
|
#Usage: modpoll [OPTIONS] SERIALPORT|HOST [WRITEVALUES...]
|
||
|
#Arguments:
|
||
|
#SERIALPORT Serial port when using Modbus ASCII or Modbus RTU protocol
|
||
|
# COM1, COM2 ... on Windows
|
||
|
# /dev/ttyS0, /dev/ttyS1 ... on Linux
|
||
|
#HOST Host name or dotted IP address when using MDBUS/TCP protocol
|
||
|
#WRITEVALUES List of values to be written. If none specified (default) modpoll reads data.
|
||
|
#General options:
|
||
|
#-m ascii Modbus ASCII protocol
|
||
|
#-m rtu Modbus RTU protocol (default if SERIALPORT contains a /)
|
||
|
#-m tcp MODBUS/TCP protocol (default otherwise)
|
||
|
#-m udp MODBUS UDP
|
||
|
#-m enc Encapsulated Modbus RTU over TCP
|
||
|
#-a # Slave address (1-247 for serial, 0-255 for TCP, 1 is default)
|
||
|
#-r # Start reference (1-65536, 100 is default)
|
||
|
#-c # Number of values to read (1-125, 1 is default), optional for writing (use -c 1 to force FC5 or FC6)
|
||
|
#-t 0 Discrete output (coil) data type
|
||
|
#-t 1 Discrete input data type
|
||
|
#-t 3 16-bit input register data type
|
||
|
#-t 3:hex 16-bit input register data type with hex display
|
||
|
#-t 3:int 32-bit integer data type in input register table
|
||
|
#-t 3:mod 32-bit module 10000 data type in input register table
|
||
|
#-t 3:float 32-bit float data type in input register table
|
||
|
#-t 4 16-bit output (holding) register data type (default)
|
||
|
#-t 4:hex 16-bit output (holding) register data type with hex display
|
||
|
#-t 4:int 32-bit integer data type in output (holding) register table
|
||
|
#-t 4:mod 32-bit module 10000 type in output (holding) register table
|
||
|
#-t 4:float 32-bit float data type in output (holding) register table
|
||
|
#-i Slave operates on big-endian 32-bit integers
|
||
|
#-f Slave operates on big-endian 32-bit floats
|
||
|
#-e Use Daniel/Enron single register 32-bit mode (implies -i and -f)
|
||
|
#-0 First reference is 0 (PDU addressing) instead 1
|
||
|
#-1 Poll only once only, otherwise every poll rate interval
|
||
|
#-l # Poll rate in ms, (1000 is default)
|
||
|
#-o # Time-out in seconds (0.01 - 10.0, 1.0 s is default)
|
||
|
#Options for MODBUS/TCP, UDP and RTU over TCP:
|
||
|
#-p # IP protocol port number (502 is default)
|
||
|
#Options for Modbus ASCII and Modbus RTU:
|
||
|
#-b # Baudrate (e.g. 9600, 19200, ...) (19200 is default)
|
||
|
#-d # Databits (7 or 8 for ASCII protocol, 8 for RTU)
|
||
|
#-s # Stopbits (1 or 2, 1 is default)
|
||
|
#-p none No parity
|
||
|
#-p even Even parity (default)
|
||
|
#-p odd Odd parity
|
||
|
#-4 # RS-485 mode, RTS on while transmitting and another # ms after
|
||
|
|
||
|
# ./modpoll -c 80 -b 9600 -a 1 -1 -p none -t 3 /dev/ttyUSB0
|
||
|
# modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator
|
||
|
# Copyright (c) 2002-2021 proconX Pty Ltd
|
||
|
# Visit https://www.modbusdriver.com for Modbus libraries and tools.
|
||
|
#
|
||
|
#Protocol configuration: Modbus RTU, FC4
|
||
|
#Slave configuration...: address = 1, start reference = 1, count = 80
|
||
|
#Communication.........: /dev/ttyUSB0, 9600, 8, 1, none, t/o 1.00 s, poll rate 1000 ms
|
||
|
#Data type.............: 16-bit register, input register table
|
||
|
|
||
|
#-- Polling slave...
|
||
|
#[1]: 8888
|
||
|
#[2]: 256
|
||
|
#[3]: 0
|
||
|
#[4]: 1
|
||
|
#[5]: 16
|
||
|
#[6]: -30846
|
||
|
#[7]: 5000
|
||
|
#[8]: 3000
|
||
|
#[9]: -31868
|
||
|
#[10]: 3000
|
||
|
#[11]: 6000
|
||
|
#[12]: 257
|
||
|
#[13]: 257
|
||
|
#[14]: 257
|
||
|
#[15]: 0
|
||
|
#[16]: 0
|
||
|
#[17]: 0
|
||
|
#[18]: 0
|
||
|
#[19]: 0
|
||
|
#[20]: 0
|
||
|
#[21]: 500
|
||
|
#[22]: 30
|
||
|
#[23]: -30844
|
||
|
#[24]: 6000
|
||
|
#[25]: 6000
|
||
|
#[26]: 257
|
||
|
#[27]: 0
|
||
|
#[28]: 0
|
||
|
#[29]: 0
|
||
|
#[30]: 0
|
||
|
#[31]: 0
|
||
|
#[32]: 0
|
||
|
#[33]: 0
|
||
|
#[34]: 0
|
||
|
#[35]: 0
|
||
|
#[36]: 769
|
||
|
#[37]: 1135
|
||
|
#[38]: 2288
|
||
|
#[39]: 0
|
||
|
#[40]: 0
|
||
|
#[41]: 2288
|
||
|
#[42]: 0
|
||
|
#[43]: 2288
|
||
|
#[44]: 5216
|
||
|
#[45]: 0
|
||
|
#[46]: 0
|
||
|
#[47]: 865
|
||
|
#[48]: 0
|
||
|
#[49]: 0
|
||
|
#[50]: 865
|
||
|
#[51]: 587
|
||
|
#[52]: 0
|
||
|
#[53]: 0
|
||
|
#[54]: 587
|
||
|
#[55]: 827
|
||
|
#[56]: 999
|
||
|
#[57]: 999
|
||
|
#[58]: 827
|
||
|
#[59]: 1046
|
||
|
#[60]: 0
|
||
|
#[61]: 0
|
||
|
#[62]: 1046
|
||
|
#[63]: 4995
|
||
|
#[64]: 14
|
||
|
#[65]: -25104
|
||
|
#[66]: 0
|
||
|
#[67]: 0
|
||
|
#[68]: 9
|
||
|
#[69]: -13187
|
||
|
#[70]: 0
|
||
|
#[71]: 0
|
||
|
#[72]: 19305
|
||
|
#[73]: -4744
|
||
|
#[74]: 0
|
||
|
#[75]: 0
|
||
|
#[76]: 19228
|
||
|
#[77]: -11734
|
||
|
#[78]: 0
|
||
|
#[79]: 0
|
||
|
#[80]: 0
|
||
|
|