(02-28-2026, 10:54 AM)Vega Wrote: Completly useless this 1kWh resolution for home usage, will take forever to get a reading. More suitable if you have +100A loads.
Waisted a lot of money for someting what looked nice on paper, next time add the specs and resolutions so we know before we buy.
Despite what admin said, I managed to make software sensor for kWh in ESPhome that is accurate up to 0.001 kWh.
I'm not a programmer, or expert, I used an LLM to make it. But it seems to work fine.
As I stated before, it uses software to calculate kWh instead of hardware components.
Admin can maybe use it in KC software update. Let user decide if they want insensitive 1kWh from hardware or sensitive 1wH from software
The forum doesn't allow me to attach yml file or use more than 1000 characters, so I split the code
Code:
esphome:
name: kinconyn30
friendly_name: KinconyN30
esp32:
board: esp32-s3-devkitc-1
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "redacted"
ota:
- platform: esphome
password: "redacted"
wifi:
networks:
- ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "Kinconyn30 Fallback Hotspot"
password: "redacted"
#ethernet: #Best to choose either wifi or ethernet, both in config active can cause problems
#type: W5500
#clk_pin: GPIO42
#mosi_pin: GPIO43
#miso_pin: GPIO44
#cs_pin: GPIO41
#interrupt_pin: GPIO2
#reset_pin: GPIO1
# Enable fallback hotspot (captive portal) in case wifi connection fails
captive_portal:
uart:
rx_pin: 9
tx_pin: 10
baud_rate: 115200
stop_bits: 1
data_bits: 8
parity: NONE
web_server:
port: 80
text_sensor:
- platform: wifi_info
ip_address:
name: ESP IP Address
id: eth_ip
address_0:
name: ESP IP Address 0
address_1:
name: ESP IP Address 1
address_2:
name: ESP IP Address 2
address_3:
name: ESP IP Address 3
address_4:
name: ESP IP Address 4
dns_address:
name: ESP DNS Address
mac_address:
name: ESP MAC Address
#text_sensor:
#- platform: ethernet_info
#ip_address:
#name: ESP IP Address
#id: eth_ip
#address_0:
#name: ESP IP Address 0
#address_1:
#name: ESP IP Address 1
#address_2:
#name: ESP IP Address 2
#address_3:
#name: ESP IP Address 3
#address_4:
#name: ESP IP Address 4
#dns_address:
#name: ESP DNS Address
#mac_address:
#name: ESP MAC Address
font:
- file: "gfonts://Roboto"
id: roboto
size: 15
i2c:
sda: 18
scl: 17
display:
- platform: ssd1306_i2c
model: "SSD1306 128x64"
address: 0x3C
lambda: |-
it.printf(0, 15, id(roboto), "IP: %s", id(eth_ip).state.c_str());
modbus:
modbus_controller:
- address: 1
update_interval: 5s
