hn / ginlong-solis

Solis inverter ESP8266 data logger, S3 WiFi stick reverse engineering and ESPhome firmware
90 stars 16 forks source link

Meter EnergyP value, value read from smart meter #42

Closed air-fuel-ratio closed 4 months ago

air-fuel-ratio commented 4 months ago

How do i get the inverters Meter EnergyP value to read? This value which appears on the inverters LCD screen looks like the value being read from the acr10r-d16te smart meter. modbus documented here: https://www.acrelenergy.com/uploads/file/single-phase-acr10r-d16te-manual.pdf.

The inverters "Internal EPM" mode is set to consumption monitoring.

Inverter model: S5-GR1P5K

[02:40:15][I][app:100]: ESPHome version 2024.4.2 compiled on Jul 8 2024, 00:32:24

[02:40:15][C][wifi:408]: Local MAC: [redacted] [02:40:15][C][wifi:413]: SSID: [redacted] [02:40:15][C][wifi:416]: IP Address: 10.0.2.119 [02:40:15][C][wifi:419]: BSSID: [redacted] [02:40:15][C][wifi:421]: Hostname: [redacted] [02:40:15][C][wifi:423]: Signal strength: -53 dB ▂▄▆█ [02:40:15][C][wifi:427]: Channel: 1 [02:40:15][C][wifi:428]: Subnet: 255.255.255.0 [02:40:15][C][wifi:429]: Gateway: 10.0.2.1 [02:40:15][C][wifi:430]: DNS1: 10.0.2.1 [02:40:15][C][wifi:431]: DNS2: 0.0.0.0

[02:40:15][C][logger:167]: Level: DEBUG [02:40:15][C][logger:169]: Log Baud Rate: 115200 [02:40:15][C][logger:170]: Hardware UART: UART0 [02:40:15][C][uart.arduino_esp8266:118]: UART Bus: [02:40:15][C][uart.arduino_esp8266:119]: TX Pin: GPIO12 [02:40:15][C][uart.arduino_esp8266:120]: RX Pin: GPIO14 [02:40:15][C][uart.arduino_esp8266:122]: RX Buffer Size: 256 [02:40:15][C][uart.arduino_esp8266:124]: Baud Rate: 9600 baud [02:40:15][C][uart.arduino_esp8266:125]: Data Bits: 8 [02:40:15][C][uart.arduino_esp8266:126]: Parity: NONE [02:40:15][C][uart.arduino_esp8266:127]: Stop bits: 1 [02:40:15][C][uart.arduino_esp8266:131]: Using software serial

[02:40:16][C][modbus:145]: Send Wait Time: 300 ms [02:40:16][C][modbus:146]: CRC Disabled: NO [02:40:16][C][modbus.number:083]: modbus.numberModbus Number 'Limit output power' [02:40:16][C][modbus.number:083]: modbus.number Icon: 'mdi:percent' [02:40:16][C][modbus.number:083]: modbus.number Unit of Measurement: '%' [02:40:16][C][modbus_controller.select:009]: modbus_controller.selectModbus Controller Select 'Working Mode' [02:40:16][C][modbus_controller.select:009]: modbus_controller.select Icon: 'mdi:cog-outline' [02:40:16][C][modbus_controller.binary_sensor:009]: Modbus Controller Binary Sensor 'Working status Normal' [02:40:16][C][modbus_controller.binary_sensor:009]: Modbus Controller Binary Sensor 'Working status Initializing' [02:40:16][C][modbus_controller.binary_sensor:009]: Modbus Controller Binary Sensor 'Working status Grid off' [02:40:16][C][modbus_controller.binary_sensor:009]: Device Class: 'problem' [02:40:16][C][modbus_controller.binary_sensor:009]: Modbus Controller Binary Sensor 'Working status Fault to stop' [02:40:16][C][modbus_controller.binary_sensor:009]: Device Class: 'problem' [02:40:16][C][modbus_controller.binary_sensor:009]: Modbus Controller Binary Sensor 'Working status Standby' [02:40:16][C][modbus_controller.binary_sensor:009]: Modbus Controller Binary Sensor 'Working status Derating' [02:40:16][C][modbus_controller.binary_sensor:009]: Modbus Controller Binary Sensor 'Working status Limitating' [02:40:16][C][modbus_controller.binary_sensor:009]: Modbus Controller Binary Sensor 'Working status Grid surge' [02:40:16][C][modbus_controller.binary_sensor:009]: Device Class: 'problem' [02:40:16][C][modbus_controller.binary_sensor:009]: Modbus Controller Binary Sensor 'Working status Fan fault' [02:40:16][C][modbus_controller.binary_sensor:009]: Device Class: 'problem' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Active Power' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Device Class: 'power' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor State Class: 'measurement' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Unit of Measurement: 'W' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Accuracy Decimals: 0 [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Total DC output power' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Device Class: 'power' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor State Class: 'measurement' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Unit of Measurement: 'W' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Accuracy Decimals: 0 [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Total energy' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Device Class: 'energy' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor State Class: 'total_increasing' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Unit of Measurement: 'kWh' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Accuracy Decimals: 0 [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Energy this month' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Device Class: 'energy' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor State Class: 'total_increasing' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Unit of Measurement: 'kWh' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Accuracy Decimals: 0 [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Energy last month' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Device Class: 'energy' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor State Class: 'total_increasing' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Unit of Measurement: 'kWh' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Accuracy Decimals: 0 [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Energy today' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Device Class: 'energy' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor State Class: 'total_increasing' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Unit of Measurement: 'kWh' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Accuracy Decimals: 1 [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Energy last day' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Device Class: 'energy' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor State Class: 'total_increasing' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Unit of Measurement: 'kWh' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Accuracy Decimals: 1 [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'DC voltage 1' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Device Class: 'voltage' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor State Class: 'measurement' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Unit of Measurement: 'V' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Accuracy Decimals: 1 [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'DC current 1' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Device Class: 'current' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor State Class: 'measurement' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Unit of Measurement: 'A' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Accuracy Decimals: 1 [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'DC voltage 2' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Device Class: 'voltage' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor State Class: 'measurement' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Unit of Measurement: 'V' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Accuracy Decimals: 1 [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'DC current 2' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Device Class: 'current' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor State Class: 'measurement' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Unit of Measurement: 'A' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Accuracy Decimals: 1 [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'AC voltage' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Device Class: 'voltage' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor State Class: 'measurement' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Unit of Measurement: 'V' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Accuracy Decimals: 1 [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Inverter temperature' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Device Class: 'temperature' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor State Class: 'measurement' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Unit of Measurement: '°C' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Accuracy Decimals: 1 [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensorModbus Controller Sensor 'Grid frequency' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Device Class: 'frequency' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor State Class: 'measurement' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Unit of Measurement: 'Hz' [02:40:16][C][modbus_controller.sensor:010]: modbus_controller.sensor Accuracy Decimals: 2 [02:40:16][C][modbus_controller.text_sensor:012]: Modbus Controller Text Sensor 'Product model'

[02:40:16][C][modbus_controller.text_sensor:012]: Modbus Controller Text Sensor 'DSP software version'

[02:40:16][C][modbus_controller.text_sensor:012]: Modbus Controller Text Sensor 'LCD software version'

[02:40:16][C][modbus_controller.text_sensor:012]: Modbus Controller Text Sensor 'Country standard code'

[02:40:16][C][modbus_controller.text_sensor:012]: Modbus Controller Text Sensor 'Inverter SN'

[02:40:16][C][modbus_controller.text_sensor:012]: Modbus Controller Text Sensor 'inverter_rtc'

[02:40:16][C][modbus_controller.text_sensor:012]: Modbus Controller Text Sensor 'Inverter type definition'

[02:40:16][C][homeassistant.time:010]: Home Assistant Time:

[02:40:16][C][factory_reset.button:011]: Factory Reset Button 'Restart with factory default settings'

[02:40:16][C][restart.button:017]: Restart Button 'Reboot device' [02:40:16][C][captive_portal:088]: Captive Portal:

[02:40:16][C][mdns:116]: Hostname: [redacted] [02:40:16][C][ota:096]: Over-The-Air Updates: [02:40:16][C][ota:097]: Address: [redacted].local.lan:8266 [02:40:16][C][ota:100]: Using Password. [02:40:16][C][ota:103]: OTA version: 2. [02:40:16][C][api:139]: API Server: [02:40:16][C][api:140]: Address: [redacted].local.lan:6053 [02:40:16][C][api:142]: Using noise encryption: YES [02:40:16][C][wifi_signal.sensor:009]: WiFi Signal 'WiFi Signal' [02:40:16][C][wifi_signal.sensor:009]: Device Class: 'signal_strength' [02:40:16][C][wifi_signal.sensor:009]: State Class: 'measurement' [02:40:16][C][wifi_signal.sensor:009]: Unit of Measurement: 'dBm' [02:40:17][C][wifi_signal.sensor:009]: Accuracy Decimals: 0

[02:40:17][C][modbus_controller:299]: Address: 0x01

air-fuel-ratio commented 4 months ago

Since the inverter reads from the smart meter, should I be looking modbus addresses from the inverter or be looking into modbus communication to the smart meter?