Skip to content
Arduino library for the TR-064 protocol, most commonly used by the Fritz!Box router API
Branch: master
Clone or download

Arduino-TR-064-SOAP-Library Build Status

Arduino library to facilitate the use of the TR-064 protocol (definition and description), most commonly used by Fritz!Box.

This library has been developed on an ESP8266 and tested on an ESP32.

To get started, I recommend to check out the examples folder, the Wiki and the instructable.

If you still have question please don't hesistate to open an issue here on Github. If you made something cool with this library please provide it as an example. Please create a pull request (or, if you don't know how, an issue) to do that.

Installation and usage

Simply go to Tools → Manage Libraries... in the Arduino IDE and search for TR-064. Press install. The examples can then also be found in the IDE under Examples → TR-064 SOAP Library.

Don't forget that you also need to add the board you are using to the IDE;

Example board URLs Please note, that these might not be the best options and can change at any time. If in doubt, do your own research :)

Known routers with TR-064 interface

If you know more/have tested a device not on the list, please let me know!

  • Almost all Fritz!Box routers.
    Tested devices (click to expand)
    • Fritz!Box FON WLAN 7360
    • Fritz!Box 7490 (tested by Dirk Kaben)
    • Fritz!Box 7580
    • Fritz!Box 7590
    • Fritz!Box 5490 (not finally confirmed, tested by Paul760)
    • FRITZ!DECT 200 (tested by Oliver-André Urban)
    • FRITZ!DECT 210 (test by Thorsten Godau)
  • Some ZyXEL routers (eg. VMG4325, VMG8324, VMG8324-B10A and VMG4380, see page 29)
  • Please let me know if you tested a device not in this list by creating an issue



Help is very welcome! For example:

  • Please let me know if you came up with a cool use-case (I'd love to add more examples, see also list at the end of this file)
  • Let me know if you tested it on hardware not listed here (i.e. other microcontroller and other routers)
  • If you have any suggestions on how to improve the library code itself (I'm not particularily good with C++). I moved the TODO's mostly into the issue section on Github, or check out the list below.
  • Contributions to the Wiki are also very welcome!

Some of the old issues are:


  • Add yield()'s (where sensible)
  • Do some (better) error-handeling
    • Return proper errors
  • Reduce occasional crashes (should be fixed, but please report if still encountered)
  • Should some of the calls of the examples be included into the library?


  • Add yield()'s (where sensible)
  • Try to find a way to externalize the settings (WIFI etc)
  • Add a few more nice examples
    • turning on/off (guest) wifi
    • read out connection speed
    • alternate WPS button
    • emergency dial-up to relatives or emergency services
    • recognize when devices (like washing machines) are done (along the lines of this
    • Start devices through e.g. telegram messages (e.g. coffee machine, washing machine, ...)
  • WhoIsHomeIndicator
    • Add nice GUI/Website to configure/manage the users/LEDs/MACs/known devices
    • Known Bug: After a few hours the known devices "freeze", needs restart (might be fixed, but please report if still encountered)
  • Extend doorbell example to also send telegram messages :)

You can’t perform that action at this time.