WVC inverter MQTT Data logging for all versions of inverters

Just opened mt WVC700R3. The chip is the same as that I have. 4463
Sorry about the picture
2020-01-18-110933

do you have a full image of hc-12

:star_struck:

yes I managed to recover the data:


as you can see the weather is cloudy / rainy since 2 days. it’s less beautiful than you but I only have a 180w panel for testing. I would invest if it is successful lol
I display altitude and azimuth for the next project to make a solar tracker :wink:

it’s look like the same 4463 as i use (Page Not Found - Aliexpress.com)

Good question : is the second IC is rectangular ?

2 Likes

Nice dashboard.

1 Like

It was dificult to take a picture with the microscope.


if you have an osciloscope you can read the serial signal between GND and Rx
The Rx is the signal that HC-12 transmit to the air wirelessly

noramly it must working .

One important thing: it is the Modem (Master) which questions the WVC (Slave). By the code F2 (departure), 4005 (MicroInverter ID), 65 (question), FD0808F6 (Modem ID) mine : F2400565FD0808F6
You must adapt the code according to the new R3 protocol (WVC ID on 8 octets …)

Plus inject DC voltage to simulate panel, otherwise the wvc will remain silent !

i built a solar tracker maybe 10 years ago i do not use it anymore as i have 16 - 285w solar panels now… it was a pretty easy tracker 4 photosensitive led and IC that determines voltage difference between “sides” and a timed delay relay that was set at every 30 minutes to allow adjustment of position. you must have quite abit of sun still according to your output --as the most I get now on a brightest day clearest day is 1500 - 2000 (lux) … on a sunny day in summer it be closer to 100000 … but in a months time it be up above 30000 on sunny day

Simple and efficient :slightly_smiling_face:

I would like to limit the number of panels because there is not enough space. According to the various studies I hope to gain 2 panels with the tracker, for 8 installed. But I’m not there yet, I have other projects in progress;)

i found an old Arduino Modem simulate code :

//ModemTx:       F2 40 05 65 FD 08 08 F6 (id modem:FD 08 08 F6  id wvc300:4005)
    //===================================
//=              SETUP              =
//===================================
void setup()   {
  Serial.begin(9600);
  } // FIN DE SETUP

//===================================
//=              LOOP               =
//===================================
void loop() {
  byte codeDmdMesure[] = {0xF2, 0x40, 0x08, 0x65,//DEBUT du message //0x19,0x00,0x57,0x01,0x0A,0x00,0x17,0x01,0xAE
                          0xFD, 0x08, 0x08, 0xF6  //FIN ID modem
                         };
  Serial.write(codeDmdMesure, sizeof(codeDmdMesure));
  //Serial.print("\n");   // retour à la ligne

  delay (5000);

} // FIN DE LOOP

After upload sketch in the Arduino, connect :

@SuperNinja Quick question: Are you sure that the protocol is the same for WVC700R3?

thumbsup

1 Like

i’m not sure : @Anson_Guo said :

your ID is 40 00 01 68 . It’s matches with WVC-600 ! Try :
@thalesmaia EDIT : Thanks to @stephen

  byte codeDmdMesure[] = {0xF2, 0xFB, 0x05, 0x40, 0x00, 0x01, 0x68, 0x65};

curious do you still have your wvc modem?
wondering if you could serial sniffer it on your windows computer and running the factory software. as you say to get a response from your Inverter is:
F2 , 4005 ( MicroInverter ID), 65 (question)" , FD0808F6
but when I use the factory modem and my bash script i send in the reverse f2(modem)(inverter)65
\xf2\xfb\x05\x11\x84\x01\x68\x65
and the the response back is f2(modem)(inverter)(Data)65

I am just curious if the pic 16f7x on the modem are doing some translation

this is my protocole of (old) R2 :
image

the serial sniffer get :

In red : the Modem request : F2 4005 65 FD0808F6
F2, Inverter, 65, Modem

In Blue : the Wvc response : F2 4005 75 FD08 xx xx xx xx xx xx xx xx xx FD0808F6
F2, Inverter, 75, FD 08 (First 2 octets of Modem), Data, Modem,

@stephen : thank you for your work, effectively, the last protocol R3 seem to be different :
the R3 Modem request : F2 FB05 11840168 65
F2, modem, inverter, 65

Surely it is he who transmits the measurements to the HC-12. I wonder if I buy a recent R3 Inverter, if it will be able to communicate with my old Modem R2 ? @Anson_Guo an idea ?

@stephen if i read your inverter ID : 1184 0168 , it does not belong to any of the 3 categories (2000XXXX, 4000XXXX or 6000XXXX). Which inverter do you have : 1200w (120volt ) version ? Strange it not begin with 6000xxxx ?

so when you serial sniff between the wvc software and wvc modem this is your send packet to the modem from your computer:

F2 4005 65 FD0808F6

or is the above the send packet from the WVC modem to the inverter

I wanted to know if there was difference between what goes into the modem then what leaves the modem …

no my inverters still uses the r2 modem that you use. the 1400w and the 700w uses the newer r3… so mine still uses the 4 character ID… the work around according to Anson is to add 0000 or FFFF to the ID to work with the new R3 modem… so this leads me to believe that the transmission protocol are the same between the wvc modem and inverter… or 0000 and FFFF are triggers to change protocols on the newer R3 modem. maybe 0000 is trigger for your protocol of inverter ID first and FFFF is for my protocol of modem ID first

from the above example: \xf2\xfb\x05\x11\x84\x01\x68\x65
my modem would be : xfb\x05\x11\x84 – FB 05 11 84
and my inverter would be: \x01\x68\ – 01 68

  1. The Wvc-Modem send : F2 4005 65 FD0808F6 to WVC Inverter. (this is what leave the modem)
    I made wireless meteo devices with same HC-12 , and use WVC-modem to request values by sending alternatively F2 2CAF 65 FD0808F6


  2. The WVC Inverter respond to wvc-modem : F2 4005 75 FD08 xx xx xx xx xx xx xx xx xx FD0808F6 (this is what goes into the modem)

if i resume :
Me: Modem R2 : FD0808F6 ---------- You : Modem R2 : FB051184
Me: Inverter R2 : 4005 ----------You : Inverter R3 : 0168

i send : F2 FB051184 0168 65 -------- You send : F2 4005 65 FD0808F6
it would seem that the wvc-Modem adapts the “request message” according to the wvc-inverter version …

do you have hc-12 sniffing the signal that leaves the modem… I be curious if the modem converts the request… or passes it directly through unchanged - what format was sent from the computer to modem if you know…

the 0168 is thalesmaia Id my inverter Id is actually cb98… i was going to do that once my hc12 arrived… or if that did not work then then i would attach a serial reader right on the modem and read it directly the rx/tx going to the hc-12, but but I wanted to do non intrusively first before moving on to physically getting it from the modem.


look at this picture : this is exactely what HC-12 sniffing. In red what leaving from Modem , in Blue What goes into the Modem (from Inverter)

i don’t know what is transmit between PC ↔ wvc-Modem. It’s RS232 signal (thanks to COM port to USB adaptor). The goal for me is to do without the Modem because I have to leave my PC on 24 hours a day.
I connected an HC-12 to a raspberrypi and I manage the signal with Node-Red. I have a more complete dashboard. (With Arduino it works too.)

you mean : 4000 0168 that’s Thalesmaia said

look a little higher how to connect the HC12 to an arduino. With a simple Serial.read you will sniff the messages which will be exchanged between Modem ↔ Inverter

I understand what your are doing with your pi… but I was wondering if the wvc modem did any conversions… that all – as it would help understand the thinking behind the developers at WVC. because people are a creature of habit…

I went a different route then you. i just used the manufactures hardware – i have my wvc modem connected to my OpenWrt router ( pi) and I wrote a bash script to send, receive and process the info from it…

My OpenWrt router is an all in one base station of everything - basically my whole home operation is run from this single 2 core 1.30ghz cpu 1 gig memory bpi-r1 router with a large hard drive on it ( well other then my Kodi box in the living room that has kodi , mycroft AI and weewx ( handles my weather station) )…

but no worries when ever my hc-12 comes I will figure it out soon enough

I was thinking - if you feel generous , could you provide the code you used for your dummy WVC inverter. I was thinking i might use it with “emontx shield” and build an addon device for some solar panels that are not WCV inverters