jayme-github / fritzbox_smarthome_exporter

AVM FRITZ!Box Home Automation / Smart Home exporter for Prometheus
GNU General Public License v3.0
42 stars 12 forks source link

Add metric for humidity of DECT 440 #9

Closed CokaColaOase closed 2 years ago

CokaColaOase commented 2 years ago

Great work, thank you! Would it be possible that you add a metric for the humidity sensor in the DECT 440 buttons? That would help me a lot. Thanks!

jayme-github commented 2 years ago

AIUI there currently is no support in fritzctl for that, see: https://github.com/bpicode/fritzctl/pull/237 That would need to be merged and tested (in a fork, potentially. As the project is unfortunately archived) before the exporter can support that.

CokaColaOase commented 2 years ago

Thanks for the prompt reply. I'm quite new to github, but AIUI the user who made that pull request made his own fork and added the humidity parameters there. Would this be helpful? mkalus/fritzctl

jayme-github commented 2 years ago

Yes, that's a good starting point but as I don't own such a device I can't verify the work done there.

Can you, by chance, post a device list here with a DECT 440 paired? A command like fritzctl --loglevel=debug manifest export > /dev/null (the last fritzctl release binary is fine) should print a line containing the devicelist XML (something like this https://github.com/bpicode/fritzctl/blob/master/testdata/devicelist_fritzos06.83.xml). You may want to change the identifier attributes and <name>...</name> fields of the devices before posting (but please leave the rest intact.

MatthiasFraass commented 2 years ago

That seems to work:

<device identifier="FOOFAA" id="25" functionbitmask="1048864" fwversion="05.21" manufacturer="AVM" productname="FRITZ!DECT 440">
    <present>1</present><txbusy>0</txbusy>
    <name>Taster Wohnzimmer</name><battery>100</battery><batterylow>0</batterylow>
    <temperature><celsius>200</celsius><offset>0</offset></temperature>
    <humidity><rel_humidity>38</rel_humidity></humidity>
    <button identifier="FOOFAA-1" id="5000"><name>Taster Wohnzimmer: Oben rechts</name><lastpressedtimestamp>1643351645</lastpressedtimestamp></button>
    <button identifier="FOOFAA-3" id="5001"><name>Taster Wohnzimmer: Unten rechts</name><lastpressedtimestamp>1642844240</lastpressedtimestamp></button>
    <button identifier="FOOFAA-5" id="5002"><name>Taster Wohnzimmer: Unten links</name><lastpressedtimestamp>1642791540</lastpressedtimestamp></button>
    <button identifier="FOOFAA-7" id="5003"><name>Taster Wohnzimmer: Oben links</name><lastpressedtimestamp>1642763963</lastpressedtimestamp></button>
</device>

The has the right values.

CokaColaOase commented 2 years ago

Mine looks quite the same:

<devicelist version="1" fwversion="7.29">    
    <device identifier="FIZZ BUZZ" id="22" functionbitmask="1048864" fwversion="05.21" manufacturer="AVM" productname="FRITZ!DECT 440">
        <present>1</present><txbusy>0</txbusy>
        <name>Taster Bad</name>
        <battery>100</battery><batterylow>0</batterylow>
        <temperature><celsius>175</celsius><offset>0</offset></temperature>
        <humidity><rel_humidity>54</rel_humidity></humidity>
        <button identifier="FIZZ BUZZ-1" id="5008"><name>Taster Bad: Oben rechts</name><lastpressedtimestamp>1643533662</lastpressedtimestamp></button>
        <button identifier="FIZZ BUZZ-3" id="5009"><name>Taster Bad: Unten rechts</name><lastpressedtimestamp></lastpressedtimestamp></button>
        <button identifier="FIZZ BUZZ-5" id="5010"><name>Taster Bad: Unten links</name><lastpressedtimestamp></lastpressedtimestamp></button>
        <button identifier="FIZZ BUZZ-7" id="5011"><name>Taster Bad: Oben links</name><lastpressedtimestamp></lastpressedtimestamp></button>
    </device>   
</devicelist>

While you are at it, could you please also add the battery value to the output?

jayme-github commented 2 years ago

I've just released v0.3.0-rc.1. Please give it a try and let me know if it works for you.

CokaColaOase commented 2 years ago

I pulled the new image and have now the humidity values and battery charge levels available where I need them. Works for me perfectly, thank you so much!

jayme-github commented 2 years ago

I pulled the new image and have now the humidity values and battery charge levels available where I need them. Works for me perfectly, thank you so much!

Happy to hear, thanks for testing.

MatthiasFraass commented 2 years ago

It worked instantly and you even have standardized the battery level. Thank you very much!