Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

INVT iMars MG5KTL #267

Open
thaibacgiang opened this issue Nov 24, 2024 · 20 comments
Open

INVT iMars MG5KTL #267

thaibacgiang opened this issue Nov 24, 2024 · 20 comments
Labels
enhancement New feature or request

Comments

@thaibacgiang
Copy link

Description

I am using Imars MG5KTL inverter with monitoring on solarman, please help me put this device on home assistant, thank you

Reproduction Steps

I am using Imars MG5KTL inverter with monitoring on solarman, please help me put this device on home assistant, thank you

Log

I am using Imars MG5KTL inverter with monitoring on solarman, please help me put this device on home assistant, thank you

Version

v24.11.2

@thaibacgiang thaibacgiang added the bug Something isn't working label Nov 24, 2024
@davidrapan davidrapan added enhancement New feature or request and removed bug Something isn't working labels Nov 25, 2024
@davidrapan davidrapan changed the title I am using Imars MG5KTL inverter with monitoring on solarman, please help me put this device on home assistant, thank you INVT iMars MG5KTL Nov 25, 2024
@davidrapan
Copy link
Owner

Try already present profile for different INVT inverter and if it does not work you have to contact your manufacturer to give you modbus documentation for your model.

@thaibacgiang
Copy link
Author

Try already present profile for different INVT inverter and if it does not work you have to contact your manufacturer to give you modbus documentation for your model.

I contacted the provider and they sent me the API but I don't know how to use it. Can you help me?

@davidrapan
Copy link
Owner

I don't know what do you mean by "API".

@thaibacgiang
Copy link
Author

I don't know what do you mean by "API".

means the manufacturer sent me the API

@davidrapan
Copy link
Owner

For what? Be specific.

@thaibacgiang
Copy link
Author

For what? Be specific.

Currently, no developer has put that Imars inverter device into hass for monitoring! Now they send me the API to develop and put it into hass for monitoring, similar to LUXpower

@davidrapan
Copy link
Owner

This integration focus is on direct communication with the inverter via modbus using solarman protocol (cloud-free).

@thaibacgiang
Copy link
Author

This integration focus is on direct communication with the inverter via modbus using solarman protocol (cloud-free).

Yes! Now I want to connect the inverter to the hass for convenient monitoring and real-time updates.

@davidrapan
Copy link
Owner

I'm afraid we don't understand each other.

Anyway, maybe it's worth the shot to just try install this integration and configure device w/ invt_xd-tl.yaml profile. Maybe your device uses the same register addresses. 😉

@thaibacgiang
Copy link
Author

invt_xd-tl.yaml

how to put it in the options config? i searched but can't find the invt_xd-tl.yaml option

@davidrapan
Copy link
Owner

It's not yet part of released version. You can manually copy the file from repository to appropriate folder of your installation.

@brainstormi
Copy link

Testing invt_xd-tl integration for this model (MG5TKL-2M and stick LSW-3) doesn't seems to work due to some wrong modbus addresses, unfortunately I was not able to find in Internet any documentation regarding this model. Here it's the log

2024-11-29 12:16:48.483 DEBUG (MainThread) [custom_components.solarman.discovery] discover
2024-11-29 12:16:48.483 DEBUG (MainThread) [custom_components.solarman.discovery] _discover_all: Broadcasting on 10.69.1.254
2024-11-29 12:16:48.483 DEBUG (MainThread) [custom_components.solarman.discovery] _discover
2024-11-29 12:16:48.485 DEBUG (MainThread) [custom_components.solarman.discovery] _discover: [10.69.1.254, E8FDF849C3B0, 888888888]
2024-11-29 12:16:48.523 DEBUG (MainThread) [custom_components.solarman.parser] Defaults for update_interval: 5, code: 3, min_span: -1, max_size: 125, digits: 6
2024-11-29 12:16:48.523 DEBUG (MainThread) [custom_components.solarman.api] {'connections': {('mac', 'XX:XX:XX:XX:XX:XX')}, 'identifiers': {('solarman', 888888888)}, 'serial_number': 888888888, 'manufacturer': 'Invt', 'model': 'XD-TL', 'name': 'Inverter'}
2024-11-29 12:16:48.523 DEBUG (MainThread) [custom_components.solarman] async_setup: coordinator.async_config_entry_first_refresh
2024-11-29 12:16:48.523 DEBUG (MainThread) [custom_components.solarman.api] [888888888] Scheduling 4 query requests. #0
2024-11-29 12:16:48.523 DEBUG (MainThread) [custom_components.solarman.api] [888888888] Querying 03 ~ 14342 - 14393 | 0x3806 - 0x3839 # 052 ...
2024-11-29 12:16:48.523 INFO (MainThread) [custom_components.solarman.api] [888888888] Connecting to 10.69.1.254:8899
2024-11-29 12:16:48.525 DEBUG (MainThread) [custom_components.solarman.api] [888888888] SENT: a5 17 00 10 45 f4 00 91 13 18 a3 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 38 06 00 34 a9 7c 5c 15
2024-11-29 12:16:48.579 DEBUG (MainThread) [custom_components.solarman.api] [888888888] RECD: a5 13 00 10 15 f4 95 91 13 18 a3 02 01 be 50 44 35 d3 0f 00 00 e1 51 05 32 01 83 02 c0 f1 2c 15
2024-11-29 12:16:48.579 DEBUG (MainThread) [custom_components.solarman.api] [888888888] Querying 03 ~ 14342 - 14393 | 0x3806 - 0x3839 # 052 failed, attempts left: 4 [IllegalDataAddressError: The data address received in the request is not an allowable address for the server. ]
2024-11-29 12:16:48.780 DEBUG (MainThread) [custom_components.solarman.api] [888888888] SENT: a5 17 00 10 45 f5 00 91 13 18 a3 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 38 06 00 34 a9 7c 5d 15
2024-11-29 12:16:48.829 DEBUG (MainThread) [custom_components.solarman.api] [888888888] RECD: a5 13 00 10 15 f5 96 91 13 18 a3 02 01 be 50 44 35 d3 0f 00 00 e1 51 05 32 01 83 02 c0 f1 2e 15
2024-11-29 12:16:48.829 DEBUG (MainThread) [custom_components.solarman.api] [888888888] Querying 03 ~ 14342 - 14393 | 0x3806 - 0x3839 # 052 failed, attempts left: 3 [IllegalDataAddressError: The data address received in the request is not an allowable address for the server. ]
2024-11-29 12:16:49.231 DEBUG (MainThread) [custom_components.solarman.api] [888888888] SENT: a5 17 00 10 45 f6 00 91 13 18 a3 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 38 06 00 34 a9 7c 5e 15
2024-11-29 12:16:49.279 DEBUG (MainThread) [custom_components.solarman.api] [888888888] RECD: a5 13 00 10 15 f6 97 91 13 18 a3 02 01 bf 50 44 35 d3 0f 00 00 e1 51 05 32 01 83 02 c0 f1 31 15
2024-11-29 12:16:49.279 DEBUG (MainThread) [custom_components.solarman.api] [888888888] Querying 03 ~ 14342 - 14393 | 0x3806 - 0x3839 # 052 failed, attempts left: 2 [IllegalDataAddressError: The data address received in the request is not an allowable address for the server. ]
2024-11-29 12:16:49.880 DEBUG (MainThread) [custom_components.solarman.api] [888888888] SENT: a5 17 00 10 45 f7 00 91 13 18 a3 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 38 06 00 34 a9 7c 5f 15
2024-11-29 12:16:49.929 DEBUG (MainThread) [custom_components.solarman.api] [888888888] RECD: a5 13 00 10 15 f7 98 91 13 18 a3 02 01 bf 50 44 35 d4 0f 00 00 e1 51 05 32 01 83 02 c0 f1 34 15
2024-11-29 12:16:49.929 DEBUG (MainThread) [custom_components.solarman.api] [888888888] Querying 03 ~ 14342 - 14393 | 0x3806 - 0x3839 # 052 failed, attempts left: 1 [IllegalDataAddressError: The data address received in the request is not an allowable address for the server. ]
2024-11-29 12:16:50.730 DEBUG (MainThread) [custom_components.solarman.api] [888888888] SENT: a5 17 00 10 45 f8 00 91 13 18 a3 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 38 06 00 34 a9 7c 60 15
2024-11-29 12:16:50.779 DEBUG (MainThread) [custom_components.solarman.api] [888888888] RECD: a5 13 00 10 15 f8 99 91 13 18 a3 02 01 c0 50 44 35 d5 0f 00 00 e1 51 05 32 01 83 02 c0 f1 38 15
2024-11-29 12:16:50.779 DEBUG (MainThread) [custom_components.solarman.api] [888888888] Querying 03 ~ 14342 - 14393 | 0x3806 - 0x3839 # 052 failed, attempts left: 0, aborting. [IllegalDataAddressError: The data address received in the request is not an allowable address for the server. ]
2024-11-29 12:16:50.779 DEBUG (MainThread) [custom_components.solarman.api] [888888888] Fetching failed. [Previous State: Disconnected (-1)]
2024-11-29 12:16:50.779 INFO (MainThread) [custom_components.solarman.api] [888888888] Disconnecting from 10.69.1.254:8899
2024-11-29 12:16:50.780 DEBUG (MainThread) [custom_components.solarman.coordinator] Finished fetching Inverter data in 2.257 seconds (success: False)
2024-11-29 12:16:50.780 DEBUG (MainThread) [custom_components.solarman.coordinator] async_shutdown

@davidrapan
Copy link
Owner

This is unfortunate, but maybe it would be worth trying some of the other profiles too?

Try to contact iNVT and ask them for modbus rtu documentation.

@brainstormi
Copy link

brainstormi commented Nov 29, 2024

I tested with all of them without luck. Just requested the info to iNVT too although I don't have big hopes. In parallel I'm trying to run a register scan with pysolarmanv5 just out of curiosity, although I can't get it completed due to different timeouts in the middle of the process.

@davidrapan
Copy link
Owner

Yes, too many requests in really short time and the logger will stop responding for a moment...

@brainstormi
Copy link

brainstormi commented Dec 6, 2024

A little update just in case it's useful for somebody. Vendor obviously didn't reply me, but I found in Internet some images (no text format, sorry) about reg addresses for INVT IMars models like this one. I tried to check some of these regs with pysolarmanv5 and my Inverter randomly, and seems to work for the few that I tried and could make sense to me. I attached here for documentation purposes:

INVT-IMars-parameters-address-1
INVT-IMars-parameters-address-2
INVT-IMars-parameters-address-3
INVT-IMars-parameters-address-4
INVT-IMars-parameters-address-5
INVT-IMars-parameters-address-6
INVT-IMars-parameters-address-7

@brainstormi
Copy link

Not sure if the values collected with this adress mapping would be totally correct. For example for LCD language I get and 'I' from Italian although it's configure in Spanish in my device and IP address gateway appears as empty... hitting again a wall.

@davidrapan
Copy link
Owner

I would start with voltage, current and power values as those containing info don't have to be that straight forward. 😉

@brainstormi
Copy link

brainstormi commented Dec 13, 2024

Those values are properly defined and working in the doc attached in my previos post:
voltage -> U phase voltage (0x1698)
current -> U phase current (0x1699)
power -> Input Power (0x16A2... 2 regs, only 0x16A3 populated)
Output Power (0x16A4... 2 regs, only 0x16A5 populated)

@davidrapan
Copy link
Owner

It's not about which reg are populated when it uses 2 but which are higher and lower bytes. 😉 Those "unpopulated" are higher bytes and will be used w/ number > 32767.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants