/Arduino-TR-064-SOAP-Library

Arduino library for the TR-064 protocol, most commonly used by the Fritz!Box router API

Primary LanguageC++OtherNOASSERTION

IMPORTANT NOTE
My ISP forces me to use a proprietary router without TR064. Additionally, I started mostly using Micropython, so I have a hard time maintaining this code. Therefore I rely on contributions and testing from the community - so YOU. Also, if you feel like maintaining this repo, let me know and we should be able to make you maintainer or even transfer ownership.

Arduino-TR-064-SOAP-Library Build Status

Arduino library to facilitate the use of the TR-064 protocol (my "simple" explanation, the definition and an official 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 6590 Cable (tested by Wolfgang (jipp))
    • 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

Press

TODO

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:

Library

  • Add yield()'s (where sensible)
  • Error-handeling can always be improved
  • 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?

Examples

  • Add yield()'s (where sensible)
  • Add a few more nice examples (work in progress, see branch 'new_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
  • Extend doorbell example to also send telegram messages :)