kbr / fritzconnection

Python-Tool to communicate with the AVM Fritz!Box by the TR-064 protocol and the AHA-HTTP-Interface
MIT License
303 stars 59 forks source link

Include DSL line errors into the status #117

Closed Schmidsfeld closed 2 years ago

Schmidsfeld commented 2 years ago

This CR adds the values for LOF, FEC, CRC and HEC as well as the information about error seconds to fritzstatus. All new values start with the error or str_error prefix. This information is similar to the errors tab in the fritzbox interface. Together with the already implemented noise_margin and attenuation this allows for complete monitoring of the DSL line quality.

Some Additional information: Errors greatly impact the DSL performance. Some (rare) errors are normal, but an increased error number indicates a problem with the DSL line itself. LOF errors means line went down foa a sort period of time, but did not requiring a resync FEC errors could be corrected in the router with the additional Forward Error Correction information CRC errors could not be corrected by the router. The IP packages were lost and have to be retransmitted.
HEC The header information did not match the data. The DSL frame had to be retransmitted by the ATU

The effective line speed is reduced due to LOF, CRC and HEC errors (but not FEC). Additionally UDP packages might be lost for CRC and LOF errors, e.g. resulting in blocky video streams.

kbr commented 2 years ago

Sorry to redo the merge. The str-methods seem to miss the string-formatting for a human readable representation. Just the tuples are returned as is.

Schmidsfeld commented 2 years ago

Sorry i missed the error, I tested with the print method - thus missed the wrong type cast...

Will resubmit after some testing of the fixed version