lumapu / ahoy

Various tools, examples, and documentation for communicating with Hoymiles microinverters
https://ahoydtu.de
Other
953 stars 224 forks source link

Radio statistics for Inverter #1447

Closed technics42 closed 2 months ago

technics42 commented 8 months ago

Platform

ESP8266

Assembly

I did the assebly by myself

nRF24L01+ Module

No response

Antenna

circuit board

Power Stabilization

Elko (~100uF)

Connection picture

Version

0.8.84

Github Hash

f500999

Build & Flash Method

AhoyDTU Webinstaller

Setup

Inverter intervall set to 15 sec.

Debug Serial Log output

No response

Error description

Radio statistics for inverter are showing something like this: Inverter loss rate lost 65526 of 11 595690.91 % DTU loss rate lost 30 of 61 49.18 %

What is the meaning of those values? The first one surely is wrong, regardless of the meaning.

rejoe2 commented 8 months ago

Most likely you have a second DTU running, when Inverter loss rate gets negative (or to high, which in this case is the same)?

The inverter responds back how many requests he received and how many messages have been sent. Then this will be compared with the counts from the AhoyDTU. If the inverter has more sents than requests from DTU side (to be precise: from all DTU's, the first comparison will turn to "negative" (it's calculated as uint16_t variable...)

technics42 commented 8 months ago

Ok, this will be the reason. I always update new version to a second HW and keep it running some time in parallel to the prior version.

So, first value is loss-rate reported by inverter and second one is loss-rate reported by DTU itself.

rejoe2 commented 8 months ago

So, first value is loss-rate reported by inverter and second one is loss-rate reported by DTU itself.

Not exactly. The inverter sends two values, (received and send), which then are compared with what AhoyDTU has counted as send and received... So it's always both sides compared in the loss rates.

technics42 commented 8 months ago

So how exactly are "inverter loss-rate" and "DTU loss-rate" calculated? If the first one is using values from inverter and DTU, this will also be wrong on any restart of DTU, or? (I really want to understand those values)

rejoe2 commented 8 months ago

For details see parseGetLossRate() in Communication.h. Ahoy requests last values from inverter first and uses that as base. So no real problem with restarts...

technics42 commented 8 months ago

Ah, all those losses are calculated by using inverter values and not only getting the values from only the named system.

So, it's always the "receiver's" loss-rate: inv. loss-rate = not rec. msg by inv. / sent msg. by DTU

DTU loss-rate = not rec. msg by DTU / sent msg. by inv.

rejoe2 commented 8 months ago

You are welcome to contribute to the docu...