WVC inverter MQTT Data logging for all versions of inverters

Hello everibody!
I have a WVC-300 R3 inverter + 160 W (=2x80W Sharp pannels in series) and I can succesfully retrieve statistics with this command
#send = b’\xf2\xfe\x12\x12\xd6\xe9\x1b\x00\x00\x30\x00\x03\xEB\x65’
#ser.write(send)
That is great!

The problem that I have is that the inverter locks to low power (4-5W) in early morning and stay in that setting even the sun becomes full.
If I disconnect and reconnect the inverter then it is capable to find a much better power point(90-100W).
My question is if is a command to reboot the inverter that I can send remotelly, instead of manually disconnect and reconnect.

from above

Boot control-----------F3 FF FF FF FF FF FF 00 00 03 00 FF FF 66 The same return value 
Shutdown control-------F4 FF FF FF FF FF FF 00 00 03 00 FF FF 67 **The same return value

Hi Stephen, thaks for the quick repply!
I saw your list of commands (posted few times :slight_smile: ) but I am not sure if is applicable to me.
To do ‘Data colection’ I send:
(0xF2) +(8 bytes for modem ID)+(4 bytes for Inverter ID)+(0x65)

In your example for Data collection are needed:
(0xF2) + (6 bytes 0xFF) + (4 bytes 0x00 0x00 0x03 0x00) + (2 bytes 0xFF) + (0x65)

What is the meaning of the (4 bytes 0x00 0x00 0x03 0x00) ? (=Invertor ID?)
What is the meaning of the first 6 0xFF and the last 2 0xFF ? If they correspond to a Modem ID, don’t they have to be all 8 bytes together?

Thanks!

basically swap xf2 — x65 for xf3 — x66 and xf4 — x67

1 Like

Hello Andrei,

Did you get this issue with locking at 4W at the morning when using KDM monitoring software ? I had very same problem when I used it. The frequent (every second) “get” from inverter causing this lockout. I did made a script to shuttdown/power-on at the mornings, but it’s working perfectly just with getting stats every 15 seconds not every second as KDM monitoring software does.

BR,
Vasil

Hello WVC owners!

I purchased an WVC600 last year and only just got around to using it at the weekend. My inverter works fine, but looks nothing like the pictures you show here. For instance it has an external button!

I’ve no idea what the button does…

The unit seems more like the GTB-600 (like this https://www.amazon.co.uk/Elikliv-GTB-600W-Inverter-Converter-Communication/dp/B088GQMKJ2)

Inside, there isn’t any sign of an HC12 device. The ebay seller describes this unit as WIFI ready and you can connect directly with an app - although I don’t have the APP and I don’t see any WIFI hotspot.

maybe it powerline Ethernet version as this description says it is
https://www.amazon.com/Elikliv-Inverter-Converter-System-Communication/dp/B088YP55TR

though this one suggest it is you can get it hc12

https://canada.desertcart.com/products/206799708-elikliv-gtb-600-w-wi-fi-micro-inverter-grid-tie-converter-ip-65-mppt-for-solar-panel-system-w-communication

what the name of the blue circuit board it almost looks like it has an esp8266 attached upright on the outside edge to it but hard to tell

I’ve done some more research. It looks like there is an Android app from this site

http://e.tuya.com/smartlife

which you install (if you dare!). Then you power off the inverter and power back on and press the external button to enable installation mode.

The app should then find the inverter and it then ask to connect to your home wifi network (again if you dare disclose the password to a Chinese app).

Think I’ll need to get back on the roof and take the thing apart again!

Just to add, got it all working and it is using the TUYA protocol/cloud service.

Theres a lot of code on the web for talking to these devices and you can also reflash them with GitHub - ct-Open-Source/tuya-convert: A collection of scripts to flash Tuya IoT devices to alternative firmwares

did anyone ever tried replacing communication module on WVC300 comm-over-power-line inverter to wireless comm module such as HC-12 or JDY-40?

So I got similar inverter SG700MD with ID: 41002663, that you guys are talking about here (actually i have WVC300 with communications over power too)

since mine has a communication over wireless 2.4Ghz over module similar to JDY-40.
I was messing with it. However, there are 128 communication channels. I will figure them out (most likely with Arduino increasing the channel by 1).
But my real question is, what command (more like in what format binary data or hex string) do I need to send to get any response from the inverter?

from linux bash:
echo $’\xf2\x63\x26\x00\x41\x65’ > /dev/ttyUSB0
which sends
$’xf2x63x26x00x41x65’ to the serial port

or in binary format
printf “%b” ‘\xf2\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x26\x63\x65’ > /dev/ttyUSB0
which translates to binary data being sent
printf “%b” ‘\xf2\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x26\x63\x65’ | hexdump -C
00000000 f2 00 00 00 00 00 00 00 00 41 00 26 63 65 |…A.&ce|
0000000e

using the script from github and adding my inverter it to match WVC700 I get the following error:
./wvc /dev/ttyUSB0 wvc.ini 41002663 hc
Using modem 41 00 26 63 at port /dev/ttyUSB0 Using inverter list wvc.ini
virtural port /dev/ttyWVCDUMMY0

Inverter Type WVC700
./wvc: line 71: jq: command not found
./wvc: line 73: [: -eq: unary operator expected
Inverter ID 41002663
Temp
./wvc: line 94: mosquitto_pub: command not found
./wvc: line 101: jq: command not found
VAC
./wvc: line 105: mosquitto_pub: command not found
./wvc: line 110: [: -gt: unary operator expected
./wvc: line 119: jq: command not found

any info is appreciated

jq - lightweight and flexible command-line JSON processor-
is not installed
sudo apt install jq

and mosquitto-clients - Mosquitto command line MQTT clients -is not installed

sudo apt install mosquitto-clients

i installed missing programs, getting further but still getting errors

sudo ./wvc /dev/ttyUSB0 wvc.ini 41002663 hc
[sudo] password for user:
Using modem 41 00 26 63 at port /dev/ttyUSB0 Using inverter list wvc.ini
virtural port /dev/ttyWVCDUMMY0

Inverter Type WVC700
./wvc: line 73: [: -eq: unary operator expected
Inverter ID 41002663
Temp
Error: Connection refused
VAC
Error: Connection refused
./wvc: line 110: [: -gt: unary operator expected
AAC
Error: Connection refused
VDC
Error: Connection refused
ADC
Error: Connection refused
(standard_in) 2: syntax error
(standard_in) 2: syntax error
(standard_in) 2: syntax error
(standard_in) 2: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
Error: Connection refused
Error: Connection refused
(standard_in) 1: syntax error
(standard_in) 1: syntax error

Inverter Type WVC295
no input from inverter cb76

did you install interceptty?

I did install interceptty. Like I mentioned above, I might be on the wrong channel. So I also need to find the correct channel. so I need to know what is the data format that needs to be sent, binary format or hex string?

you can connect a serial adapter to the serial tx & rx by passing all the the intermediary stuff hc12, powerline etc … also I do not think there a a listing for WVC700 try WVC600 or WVC850 instead

also what version of linux are you using some variants need little tweaking to make compatible

inverter is mounted and there is no easy access to it.
I added a listing to the wvc.ini as such “WVC700/41002663/R3”
i am using Kali linux, everything compiled and installed with no problems.

hey @Stephen, after a long time I’ve returned to use your script. I found that serial use inside NodeRed is really unstable. However, I couldn’t found WVC700R3. Is that correct?

the R3 does not matter as it decodes the key directly into a usable value only the R2 uses the table to determine the output value . so you should be fine as long as the wvc.ini configured properly with R3 ID and using HC – you should
use this one

place this in the WVC700/your ID/R3 in the wvc.ini
commandline
wvc /dev/ttyUSB0 /home/user/WVC/wvc.ini fb041185 hc

fb041185 is modem ID for r2 does nothing really when used with R3 and hc 12 but still require

Hello guys,
Congrats for your rich discussion, I’ve been able to communicate with my WVC-700 R3 using an Arduino + HC-12 module in a snap.
Today I discovered the inverter is live even without AC input, just getting DC from the panels.
Although knowing Fortran, Algol, Pascal and some other languages, I’m rather inexperienced with Arduino software, a C-like code. I’m getting the telegrams into byte arrays like this:
11:21:17.859 → F2FE1212D6E91B064008D965 //sent request
11:21:18.937 → 1033000014AC0000ED8 //received answer
Very glad to have found such a valuable info source. Good job!

1 Like