KinCony MB ESP32 Battery Monitor board configure yaml for ESPhome - Printable Version +- Smart Home Automation Forum (https://www.kincony.com/forum) +-- Forum: Technical Support (https://www.kincony.com/forum/forumdisplay.php?fid=20) +--- Forum: KC868-M16 / M1 / MB / M30 (https://www.kincony.com/forum/forumdisplay.php?fid=50) +--- Thread: KinCony MB ESP32 Battery Monitor board configure yaml for ESPhome (/showthread.php?tid=3975) |
KinCony MB ESP32 Battery Monitor board configure yaml for ESPhome - admin - 12-21-2023 MB_HA_INA226.txt (Size: 11.36 KB / Downloads: 152) esphome: name: mb platform: ESP32 board: esp32dev # Example configuration entry i2c: - id: bus_a sda: 15 scl: 4 scan: true frequency: 400kHz - id: bus_b sda: 5 scl: 16 scan: true frequency: 400kHz # Example configuration entry ethernet: type: LAN8720 mdc_pin: GPIO23 mdio_pin: GPIO18 clk_mode: GPIO17_OUT phy_addr: 0 sensor: - platform: ina226 address: 0x40 i2c_id: bus_a shunt_resistance: 0.01 ohm current: name: "INA226 Current-1" id: current_1 power: name: "INA226 Power-1" bus_voltage: name: "INA226 Bus Voltage-1" id: voltage_1 shunt_voltage: name: "INA226 Shunt Voltage-1" max_current: 15A update_interval: 5s - platform: ina226 address: 0x41 i2c_id: bus_a shunt_resistance: 0.01 ohm current: name: "INA226 Current-2" id: current_2 power: name: "INA226 Power-2" bus_voltage: name: "INA226 Bus Voltage-2" id: voltage_2 shunt_voltage: name: "INA226 Shunt Voltage-2" max_current: 15A update_interval: 5s - platform: ina226 address: 0x42 i2c_id: bus_a shunt_resistance: 0.01 ohm current: name: "INA226 Current-3" id: current_3 power: name: "INA226 Power-3" bus_voltage: name: "INA226 Bus Voltage-3" id: voltage_3 shunt_voltage: name: "INA226 Shunt Voltage-3" max_current: 15A update_interval: 5s - platform: ina226 address: 0x43 i2c_id: bus_a shunt_resistance: 0.01 ohm current: name: "INA226 Current-4" id: current_4 power: name: "INA226 Power-4" bus_voltage: name: "INA226 Bus Voltage-4" id: voltage_4 shunt_voltage: name: "INA226 Shunt Voltage-4" max_current: 15A update_interval: 5s - platform: ina226 address: 0x44 i2c_id: bus_a shunt_resistance: 0.01 ohm current: name: "INA226 Current-5" id: current_5 power: name: "INA226 Power-5" bus_voltage: name: "INA226 Bus Voltage-5" id: voltage_5 shunt_voltage: name: "INA226 Shunt Voltage-5" max_current: 15A update_interval: 5s - platform: ina226 address: 0x45 i2c_id: bus_a shunt_resistance: 0.01 ohm current: name: "INA226 Current-6" id: current_6 power: name: "INA226 Power-6" bus_voltage: name: "INA226 Bus Voltage-6" id: voltage_6 shunt_voltage: name: "INA226 Shunt Voltage-6" max_current: 15A update_interval: 5s - platform: ina226 address: 0x46 i2c_id: bus_a shunt_resistance: 0.01 ohm current: name: "INA226 Current-7" id: current_7 power: name: "INA226 Power-7" bus_voltage: name: "INA226 Bus Voltage-7" id: voltage_7 shunt_voltage: name: "INA226 Shunt Voltage-7" max_current: 15A update_interval: 5s - platform: ina226 address: 0x47 i2c_id: bus_a shunt_resistance: 0.01 ohm current: name: "INA226 Current-8" id: current_8 power: name: "INA226 Power-8" bus_voltage: name: "INA226 Bus Voltage-8" id: voltage_8 shunt_voltage: name: "INA226 Shunt Voltage-8" max_current: 15A update_interval: 5s - platform: ina226 address: 0x40 i2c_id: bus_b shunt_resistance: 0.1 ohm current: name: "INA226 Current-9" id: current_9 power: name: "INA226 Power-9" bus_voltage: name: "INA226 Bus Voltage-9" id: voltage_9 shunt_voltage: name: "INA226 Shunt Voltage-9" max_current: 15A update_interval: 5s - platform: ina226 address: 0x41 i2c_id: bus_b shunt_resistance: 0.01 ohm current: name: "INA226 Current-10" id: current_10 power: name: "INA226 Power-10" bus_voltage: name: "INA226 Bus Voltage-10" id: voltage_10 shunt_voltage: name: "INA226 Shunt Voltage-10" max_current: 15A update_interval: 5s - platform: ina226 address: 0x42 i2c_id: bus_b shunt_resistance: 0.01 ohm current: name: "INA226 Current-11" id: current_11 power: name: "INA226 Power-11" bus_voltage: name: "INA226 Bus Voltage-11" id: voltage_11 shunt_voltage: name: "INA226 Shunt Voltage-11" max_current: 15A update_interval: 5s - platform: ina226 address: 0x43 i2c_id: bus_b shunt_resistance: 0.01 ohm current: name: "INA226 Current-12" id: current_12 power: name: "INA226 Power-12" bus_voltage: name: "INA226 Bus Voltage-12" id: voltage_12 shunt_voltage: name: "INA226 Shunt Voltage-12" max_current: 15A update_interval: 5s - platform: ina226 address: 0x44 i2c_id: bus_b shunt_resistance: 0.01 ohm current: name: "INA226 Current-13" id: current_13 power: name: "INA226 Power-13" bus_voltage: name: "INA226 Bus Voltage-13" id: voltage_13 shunt_voltage: name: "INA226 Shunt Voltage-13" max_current: 15A update_interval: 5s - platform: ina226 address: 0x45 i2c_id: bus_b shunt_resistance: 0.01 ohm current: name: "INA226 Current-14" id: current_14 power: name: "INA226 Power-14" bus_voltage: name: "INA226 Bus Voltage-14" id: voltage_14 shunt_voltage: name: "INA226 Shunt Voltage-14" max_current: 15A update_interval: 5s - platform: ina226 address: 0x46 i2c_id: bus_b shunt_resistance: 0.01 ohm current: name: "INA226 Current-15" id: current_15 power: name: "INA226 Power-15" bus_voltage: name: "INA226 Bus Voltage-15" id: voltage_15 shunt_voltage: name: "INA226 Shunt Voltage-15" max_current: 15A update_interval: 5s - platform: ina226 address: 0x47 i2c_id: bus_b shunt_resistance: 0.01 ohm current: name: "INA226 Current-16" id: current_16 power: name: "INA226 Power-16" bus_voltage: name: "INA226 Bus Voltage-16" id: voltage_16 shunt_voltage: name: "INA226 Shunt Voltage-16" max_current: 15A update_interval: 5s font: - file: "gfonts://Roboto" id: roboto size: 20 display: - platform: ssd1306_i2c i2c_id: bus_a model: "SSD1306 128x64" address: 0x3C lambda: |- it.printf(0, 0, id(roboto), "Monitor"); it.printf(0, 20, id(roboto), "V1: %.1fV", id(voltage_1).state); it.printf(0, 40, id(roboto), "A1: %.1fA", id(current_1).state); # Enable logging logger: # Enable Home Assistant API api: #external_components: # - source: # type: git # url: https://github.com/hzkincony/esphome-universal-tcp # ref: v1.0.0 #universal_tcp: # id: universal_tcp1 # local_port: 8888 # esp32 will listen on this port #interval: # - interval: 5s # then: # - lambda: !lambda |- # auto current = value_accuracy_to_string(id(current_1).state, 2); # auto voltage = value_accuracy_to_string(id(voltage_1).state, 2); # id(universal_tcp1).send_string_data("RELAY-GET_energy-255,1," + current + "," + voltage + ",OK"); # delay(28); # current = value_accuracy_to_string(id(current_2).state, 2); # voltage = value_accuracy_to_string(id(voltage_2).state, 2); # id(universal_tcp1).send_string_data("RELAY-GET_energy-255,2," + current + "," + voltage + ",OK"); # delay(28); # current = value_accuracy_to_string(id(current_3).state, 2); # voltage = value_accuracy_to_string(id(voltage_3).state, 2); # id(universal_tcp1).send_string_data("RELAY-GET_energy-255,3," + current + "," + voltage + ",OK"); # delay(28); # current = value_accuracy_to_string(id(current_4).state, 2); # voltage = value_accuracy_to_string(id(voltage_4).state, 2); # id(universal_tcp1).send_string_data("RELAY-GET_energy-255,4," + current + "," + voltage + ",OK"); # delay(28); # current = value_accuracy_to_string(id(current_5).state, 2); # id(universal_tcp1).send_string_data("RELAY-GET_energy-255,5," + current + "," + voltage + ",OK"); # delay(28); # current = value_accuracy_to_string(id(current_6).state, 2); # voltage = value_accuracy_to_string(id(voltage_6).state, 2); # id(universal_tcp1).send_string_data("RELAY-GET_energy-255,6," + current + "," + voltage + ",OK"); # delay(28); # current = value_accuracy_to_string(id(current_7).state, 2); # voltage = value_accuracy_to_string(id(voltage_7).state, 2); # id(universal_tcp1).send_string_data("RELAY-GET_energy-255,7," + current + "," + voltage + ",OK"); # delay(28); # current = value_accuracy_to_string(id(current_8).state, 2); # voltage = value_accuracy_to_string(id(voltage_8).state, 2); # id(universal_tcp1).send_string_data("RELAY-GET_energy-255,8," + current + "," + voltage + ",OK"); # delay(28); # current = value_accuracy_to_string(id(current_9).state, 2); # voltage = value_accuracy_to_string(id(voltage_9).state, 2); # id(universal_tcp1).send_string_data("RELAY-GET_energy-255,9," + current + "," + voltage + ",OK"); # delay(28); # current = value_accuracy_to_string(id(current_10).state, 2); # voltage = value_accuracy_to_string(id(voltage_10).state, 2); # id(universal_tcp1).send_string_data("RELAY-GET_energy-255,10," + current + "," + voltage + ",OK"); # delay(28); # current = value_accuracy_to_string(id(current_11).state, 2); # id(universal_tcp1).send_string_data("RELAY-GET_energy-255,11," + current + "," + voltage + ",OK"); # delay(28); # current = value_accuracy_to_string(id(current_12).state, 2); # voltage = value_accuracy_to_string(id(voltage_12).state, 2); # id(universal_tcp1).send_string_data("RELAY-GET_energy-255,12," + current + "," + voltage + ",OK"); # delay(28); # current = value_accuracy_to_string(id(current_13).state, 2); # voltage = value_accuracy_to_string(id(voltage_13).state, 2); # id(universal_tcp1).send_string_data("RELAY-GET_energy-255,13," + current + "," + voltage + ",OK"); # delay(28); # current = value_accuracy_to_string(id(current_14).state, 2); # voltage = value_accuracy_to_string(id(voltage_14).state, 2); # id(universal_tcp1).send_string_data("RELAY-GET_energy-255,14," + current + "," + voltage + ",OK"); # delay(28); # current = value_accuracy_to_string(id(current_15).state, 2); # voltage = value_accuracy_to_string(id(voltage_15).state, 2); # id(universal_tcp1).send_string_data("RELAY-GET_energy-255,15," + current + "," + voltage + ",OK"); # delay(28); # current = value_accuracy_to_string(id(current_16).state, 2); # voltage = value_accuracy_to_string(id(voltage_16).state, 2); # id(universal_tcp1).send_string_data("RELAY-GET_energy-255,16," + current + "," + voltage + ",OK"); RE: KinCony MB ESP32 Battery Monitor board configure yaml for ESPhome - jhobson - 06-29-2024 Not a flame, but It's a shame that this wasn't developed as a 'smaller' version, able to monitor 4 x 12V batteries in total (i.e. up to 48V), with support for:
This would make it a great option for use in remote sites for monitoring things like solar panels connected to 1 or 2 Victron - SmartSolar Charge Controller (MPPT) via the COM ports, making sure equipment / room temperature and humidty is within tolerances and rebooting if anything freezes up. Even add some capability to add some CT clamps (including 'small' ones...not just 50A / 100A etc) to monitor loads drawing Power / Energy ! As an observation, having this as a 16 channel version is overkill and in turns leads to the price being too high (USD$200 / AUD$300), at which point it becomes cheaper to just buy a bunch of ESP32-S3 (or the new ESP32-C6 with Thread+Matter+802.11ax - AUD$10ea), a BME680, a relay, CSE7766 etc solder it all up and 3D print a case. ??? RE: KinCony MB ESP32 Battery Monitor board configure yaml for ESPhome - admin - 06-29-2024 thanks for suggestion. if you want monitor DC voltage. you can see KinCony MB board: DC energy meter board: https://www.kincony.com/esp32-battery-monitor.html |