sberk42/fritzbox_exporter

[FEATURE] Signal Strength for wifi devices

Opened this issue · 6 comments

Hi, amazing work!

Is it posible to add wireless signal strength on the wireless objects?

Data is published on every wireless connected device:

image

So it would be really nice to graph it so we can find zones with bad signal

FROM:
gateway_host_active{gateway="172.18.124.1",hostname="biglamp",interfacetype="802.11",ipaddress="172.18.124.25",macaddress="xx:xx:xx:xx:xx:xx"} 1

TO:
gateway_host_active{gateway="172.18.124.1",hostname="biglamp",interfacetype="802.11",signalstrength="-51",ipaddress="172.18.124.25",macaddress="xx:xx:xx:xx:xx:xx"} 1

hi,

I guess the value is availabe as
"service": "urn:dslforum-org:service:WLANConfiguration:1",
"action": "X_AVM-DE_GetWLANConnectionInfo",
"result": "X_AVM-DE_SignalStrength"

however having it as label does not make sence since it is not a constant. simply add it to metrics.json and collect it as another metric

This is a cool addition, will try that too. Thanks for your tool!
Could we also get a new metrics.json for 7.50 of FRITZ!OS? Or how can I get that myself?

just upgrade to 7.50 and added it - just use the -test option together with -json-out to create it yourself

just upgrade to 7.50 and added it - just use the -test option together with -json-out to create it yourself

Awesome. Thank you very much! :)

OK, so, I finally found how to add it:

        {
                "service": "urn:dslforum-org:service:WLANConfiguration:1",
                "action": "GetGenericAssociatedDeviceInfo",
                "actionArgument": {
                        "name": "NewAssociatedDeviceIndex",
                        "isIndex": true,
                        "providerAction": "GetTotalAssociations",
                        "value": "TotalAssociations"
                },
                "result": "X_AVM-DE_SignalStrength",
                "promDesc": {
                        "fqName": "wlan_client_signal_strengh",
                        "help": "is client signal strenghs",
                        "varLabels": [
                                "AssociatedDeviceIPAddress",
                                "AssociatedDeviceMACAddress"
                        ]
                },
                "promType": "GaugeValue",
                "cacheEntryTTL": 60
        },

This creates new entries like:

wlan_client_signal_strengh{associateddeviceipaddress="xxxx.11",associateddevicemacaddress="xxxxxx"} 95
wlan_client_signal_strengh{associateddeviceipaddress="xxxx.146",associateddevicemacaddress="xxxxxx"} 77
wlan_client_signal_strengh{associateddeviceipaddress="xxxx.183",associateddevicemacaddress="xxxxxx"} 67

Now working on merging this information on the grafana table Network Devices

great job :-)

unfortunately I can't test it since I no longer use the fritzbox WLAN, but feel free to create a pull request for the resulting metrics.json