Open Bonbon604 opened 1 year ago
Please post a debug verbose output and your Fritzbox version.
Sorry I'm very new at esp and also in programming. What is the debug verbose output? 😬 Here is my fritzbox version:
Please Read: https://github.com/Aypac/Arduino-TR-064-SOAP-Library/wiki https://github.com/Aypac/Arduino-TR-064-SOAP-Library/wiki/How-to-debug
DEBUG_VERBOSE ///< Print all messages
Can you check if you get anything if you visit http://192.168.178.1:49000/tr64desc.xml in your browser?
yes, i got an xml. What should I search for?
Can you post the first couple of lines? And to be sure, what version do this library do you have installed?
1.2.2 is installed the library works fine with esp32 but not with esp8266 :(
Ok, the XML seems fine. The note that it only works on esp32 is very helpful, then I have an idea what direction to investigate into. I looked at the code; what surprises me is, that these lines:
[TR064][initServiceURLs] 0 readServiceName: @ readServiceUrl:
seem to indicate, that the XML is faulty (which does not seem the case) or some other error retrieving it (which from your comment could have something to do with the wifi
library difference between ESP8266 and ESP32.
However, if that was the case, it should stop after finding a single empty one. But it does not - which eventually leads to the µC crashing, because it can only hold a max of 100 lines.
So why two questions we have to figure out:
xmlTakeParam
return empty results? Does it get empty input to begin with?xmlTakeParam
return the proper 'false' flag? I have to see when I can find the time to investigate this further.
In the meantime, you can execute the commands without loading the xml.
// without loading available services through init() you have to set the url // you find the url in the XML file http://192.168.178.1:49000/tr64desc.xml
Example in caller.ino if(connection.state()<0){ // connection.init(); } connection.action("X_VoIP:1", "X_AVM-DE_DialNumber", params, 1, req, 0, "/upnp/control/x_voip");
Hello, I have got exactly the same problem as Bonbon604 described (even with a different fritzbox): 1) I am using a WEMOS Lolin D1 mini. 2) the Fritzbox dumps:
3) the WEMOS replies (using VERBOSE):
23:03:01.997 -> Initialize TR-064 connection
23:03:01.997 ->
23:03:02.078 -> [TR064][httpRequest] prepare request to URL: http://192.168.1.10:49000/tr64desc.xml
23:03:02.078 -> [TR064][httpRequest] GET...
23:03:02.078 -> [TR064][httpRequest] Response code: 200
23:03:02.112 -> [TR064][initServiceURLs] get the Stream
23:03:02.112 -> [TR064][initServiceURLs] 0 readServiceName: @ readServiceUrl:
23:03:02.112 -> [TR064][initServiceURLs] 1 readServiceName: @ readServiceUrl:
23:03:02.112 -> [TR064][initServiceURLs] 2 readServiceName: @ readServiceUrl:
23:03:02.112 -> [TR064][initServiceURLs] 3 readServiceName: @ readServiceUrl:
23:03:02.112 -> [TR064][initServiceURLs] 4 readServiceName: @ readServiceUrl:
...
23:03:02.675 -> [TR064][initServiceURLs] 99 readServiceName: @ readServiceUrl:
23:03:02.675 -> [TR064][initServiceURLs] 100 readServiceName: �?�?�?$�?
��?|�� @ readServiceUrl:
23:03:02.675 -> [TR064][initServiceURLs] 101 readServiceName: @ readServiceUrl:
23:03:02.675 -> [TR064][initServiceURLs] 102 readServiceName: @ readServiceUrl:
23:03:02.708 -> [TR064][initServiceURLs] 103 readServiceName: @ readServiceUrl:
23:03:02.708 -> [TR064][initServiceURLs] 104 readServiceName: � @�4
23:03:02.708 -> �?t� @����t� @�� @ @ readServiceUrl:
23:03:02.708 -> [TR064][initServiceURLs] 105 readServiceName: 4
23:03:02.708 -> �?t� @����t� @�� @�Fatal exception 28(LoadProhibitedCause):
23:03:02.708 -> epc1=0x4000e149, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000100, depc=0x00000000
23:03:02.740 ->
23:03:02.740 -> --------------- CUT HERE FOR EXCEPTION DECODER ---------------
23:03:02.740 ->
23:03:02.740 -> Exception (28):
23:03:02.740 -> epc1=0x4000e149 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000100 depc=0x00000000
23:03:02.740 ->
23:03:02.740 -> >>>stack>>>
23:03:02.740 ->
23:03:02.740 -> ctx: cont
23:03:02.740 -> sp: 3ffffd60 end: 3fffffd0 offset: 0190
23:03:02.740 -> 3ffffef0: 3ffe91ff 00004040 3fffff60 4020553b
23:03:02.740 -> 3fffff00: 00000000 00000001 3fffff60 402058f8
23:03:02.775 -> 3fffff10: 3fff1fcc 00000100 3ffe85dc 00000013
23:03:02.775 -> 3fffff20: 3ffe91ff 3ffefcc4 3fffff60 00000013
23:03:02.775 -> 3fffff30: 3ffe91ff 3ffefcc4 3fffff60 40205ca6
23:03:02.775 -> 3fffff40: 00000069 0000000a 3fffff60 3ffefcc4
23:03:02.775 -> 3fffff50: 00000069 3ffefcdc 3ffef1c8 402043c2
23:03:02.775 -> 3fffff60: 3fff1fcc 0013403f 80000000 00000000
23:03:02.775 -> 3fffff70: 006d006f 00000000 00000000 002e002f
23:03:02.808 -> 3fffff80: 00000000 00000000 001c001f 00000000
23:03:02.808 -> 3fffff90: 3ffef1ec 00000001 00000064 40206531
23:03:02.808 -> 3fffffa0: 4020446e 3ffef1c8 3ffef1c8 3ffefd50
23:03:02.808 -> 3fffffb0: 3fffdad0 00000000 3ffefd24 402065f0
23:03:02.808 -> 3fffffc0: feefeffe feefeffe 3fffdab0 40100d4d
23:03:02.808 -> <<<stack<<<
23:03:02.808 ->
23:03:02.808 -> --------------- CUT HERE FOR EXCEPTION DECODER ---------------
23:03:02.854 ->
23:03:02.854 -> ets Jan 8 2013,rst cause:2, boot mode:(3,6)
23:03:02.854 ->
23:03:02.854 -> load 0x4010f000, len 3424, room 16
...
4) the Fritzbox indicates correct connection to it on Wifi level
I have tested several programs (c't, Reichelt, the examples in this repository), but all show the same problem. Also the former version of this library, the same. Finally I discovered, that the program stops working (with the above results) a the function call of the "connection.init();" in line 93 of "DECT_Caller". When it scans the reply from the fritzbox (see point 2), it seems not be able to find the information in the tags. Maybe there is no stream to be scanned...?
How can I discover the issue? Is there a hardware which has been proven to work with this library and a fritz.box 7490?
Any help to get a running system would be appreciated.
Thanks Andreas
I'm actually working on debugging this right now. I think I found the issue actually. With a bit of luck I can upload a fixed version in a bit. Looks like I messed up the pointers to the http stream when integrating the PR for https.
Can you test with the commit d4324bd on the develop branch? I think it should fix this issue.
Hello Aypac, thanks for your fast reaction and support. I will try this tomorrow and provide you feedback on the result. Just for curiosity: I am using the http (not https) URL to get the xml stream. Has you error been in the part for the http or in the one for https? BR Andreas
Hi, tested it today and got a different log (VERBOSE):
/after Reset/
[TR064][initServiceURLs] getting the service detect page
[TR064][httpRequest] prepare request to URL: 192.168.1.10:49000/tr64desc.xml
[TR064][httpRequest] GET...
[TR064][httpRequest] Response code: 200
[TR064][initServiceURLs]
/after Button pressed/
Seems to be a step further, but stuck at another point.
BR Andreas
Thanks TritonX!
I hope I can find some time soon to further debug this. It seemed to be working for me on an ESP8266. I've never gotten [TR064][initServiceURLs] initServiceUrls failed: could not connect
, but I can still see if I can figure out what's going on for you.
RE your question: I'm actually not sure anymore if this was actually caused by the switch to https (as that should only be on develop and not on master 1.2.2). On develop the problem was that you need to switch to a different library/pointer when using https. And there was a mistake in using the right pointer, which also affected the http method. But to be honest, I had started working on release 1.3.0 with a few additional features (among them https) and at this point, I'd rather make that work than try to fix 1.2.x versions.
Hi Rene, thanks for answering. I am also using a ESP8266 (actually the original Wemos Lolin D1 mini). No problem, I can also use the version 1.3, if you will release this soon in the future. Til then, what was your working combination? (ESP8266, Version 1.2.2?, http or https?, ...) I could try to use the same, than it should work. Thanks in advance, Andreas
Also to repeat what @saak2820 said (because there seem to be at least three people with this problem right now):
The code causing an error here is actually somewhat optional and just supposed to make it a bit easier to use. It is looking up the URLs for the serviceType/command for you.
To fix this, you can comment out the connection.init();
line, which means, you'll need figure out the URL yourself. You do this by searching the XML (http://192.168.178.1:49000/tr64desc.xml) for the command (e.g. X_AVM-DE_DialNumber
) and find the associated controlURL (e.g. /upnp/control/x_voip
), then add it to the command like @saak2820 shows:
connection.action("X_VoIP:1", "X_AVM-DE_DialNumber", params, 1, req, 0, "/upnp/control/x_voip");
Hi, I tried your suggestion to not use the init(), created a direct call like:
String tr064_service = "urn:dslforum-org:service:X_VoIP:1"; String call_params[][2] = {{"NewX_AVM-DE_PhoneNumber", "**610"}}; tr064_connection.action(tr064_service, "X_AVM-DE_DialNumber", call_params, 1, "/upnp/control/x_voip");
and got the following result (VERBOSE):
It seems, that the ESP sent out the request correctly. But the phone did not ring. I made the "Wählhilfe" phone my own phone with number **610 and the test in the fritzbox let the phone ring. How can I check, whether the request was correctly received in the fritzbox? In the log I can see that the ESP was connected and then disconnected. (all settings in the fritzbox were made as suggested)
Thank you Andreas
Try a different number like **9 (Round call)
Hi saak2820, thanks for your tip, I tried it and no ringing. What I don't understand is the link from the number to be entered in the code (here **9) to the Phone which must be chosed in the "Wählhilfe" and the suggestion, to use in Wählhilfe a phone which does not exist (e.g. from TAE2). Maybe here is the problem to be found? Thanks for any support Andreas
Hi Triton
The dummy telephone must be assigned to the dialler (Wählhilfe) as described. The TR-064 dialling command is basically nothing more than a mouse click on a telephone number in the GUI. By the way, it is irrelevant what is written under "Forward ring to"! What is decisive is what is specified as the telephone number in the TR-064 dialling command. and instead of the broadcast call, the X_AVM-DE_DialNumber command can call any call number that is otherwise allowed: the speed dialling number of an internal call group (group call): e.g. 799. However, you can also specify your own grouping in the dial command: e.g. 611#612#614
Hi Saak2820, I understood the idea now and could verify it by mouse click to a test phone number in the phone book. this prooved me that the "Wählhilfe" works as it should. Thank you for the info. Nevertheless, the output at the serial monitor looks similar to the one I posted above. Is there a possibilty to check if the TR064 communication is working well? The phones are still not ringing... BR Andreas
Hi Rene, any idea by when you plan to release the 1.3.0? Not to hurry you, just to know how to proceed with my own development. Thank you Andreas
Hi Andreas/ @TritonX , just to summarize the previous discussion: the version 1.2.2 with the init commented out works for you, right? So the only bug for you at this point is, that you need to manually specify the URLs, right? I think I should be able to fix that relatively soon. Would be great if you could then also test it on your side, before I release it as 1.3.0.
Hi Rene, The init commented out did solve the problem that I do not have anymore the empty print-out as I showed above. But the Fritzbox is not reacting on the commands (with the manually specified URLs). I have no means to check if the box receives and understands the commands, or if it stops already before. I could verify the Fritzbox preparation (Wählhilfe) successfully by clicking the phone in the Fritzbox Phonebook. This should not be the problem. Yes, will test your version 1.3.0 as you will provide it.
BR Andreas
I think the best thing for you to check is to send the command manually and see if it works then. I just wrote a manual for you: https://github.com/Aypac/Arduino-TR-064-SOAP-Library/wiki/How-to-create-your-first-own-API-call#debug--test-requests-manually
Please check out dd04576e = latest version on develop. I think it should fix your problems - if your call is actually valid (which I cannot test as I do not have DECT phones). Please try the Internet_Stats.ino
example. If that one works, but your code does not, please try the manual debugging from my previous post.
Hi Rene, thanks for the well made description of the manual fritzbox request. I tried this and generated the required authcode from the nonce received. My fritzbox answers still "unauthenticated". I tried this with a dedicated fritzbox user, but also with my normal administrative account for the fritzbox. I checked all settings in the box accordingly. My fritzbox uses the actual version 07.29. Do you have any idea, what in the box could prevent it from providing authentication? Here the answer of the second request, which should be autenticated:
Thank you Andreas
PS: I am using the Mesh function of the fritzbox. can this be an issue using TR-064? The manual access I did was made via LAN.
Hi Andreas,
I don't think the mesh function shouldn't cause trouble. Works fine for me. I also did the manual request via wired LAN.
Just to be sure, you filled all four fields in the URL? Realm, username (uid), password (pw) and nonce (sn)? E.g.
realm=F!Box%20SOAP-Auth&uid=admin&pw=superS3cret!&sn=597F3C98597A26CC.
And in you request you put your correct values into <Nonce>
, <Realm>
, <UserID>
, and the code from the last line of that website in the <Auth>
tag?
(Please check the wiki again, I tried to clarify a few points).
Hi Rene, I tried it again, step by step according to your manual. I also did use another fritzbox 7430 instead, gave a user the rights according to your wiki - the same behavior: no authentication. There must be something fundamentally wrong or missing in my trials. the answer to the second request with nonce and authentication is the follow: I am using firefox. is there something to adapt or to be changed? I added the complete xml text from the first (and after that request) the second window in the body window of firefox. Sorry to bother you with this, but I am lost. But your support helps to also learn about it!
Thanks again, BR Andreas
Hi Rene, same issues in my tries, I use an Fritz!Box 7590 running Fritz!OS 7.50
Additional Info, I have an other TR064 based sketch on ESP8266 running, which works fine. This older sketch I made about one year ago with an older Version of the TR064 Library. Now I intended to extend the App, therefore I switched to the newer version of the Library, also switching the Arduino IDE to version 2.0.
Going back to the older Version ins no option because I lost the old environment completely due to a stolen laptop and an crashed backup.
Strange. I tried making the wiki a bit better still.
But I'm not sure this is the right path. Let's maybe take a step back. With the latest version on develop, does the init work again and do regular requests (like getting the external IP address, general device info, etc) work for both of you? What microcontroller?
I tested it both on ESP8266 and ESP32 on my side, and it works for me with an FB 5590.
If either of you are available from now until 18h, we could have a quick chat, maybe with TeamViewer or something to see if I can tell what's the problem.
Hello Rene,
I would be able to do a Teamviewer Chat at about 17:00.
My Configuration
MacBook Pro M2, MacS Ventura IDE Arduino IDE 2.0
Device Wemos Mini D1 (ESP8266)
TR064 Library installed 1.2.3 Fritz!Box 7590 Fritz!OS 7.50
I tried the following sketch, init still not working, neither connection.init nor connection.action. ... connectToWifi();
Serial.println("Initialize TR-064 connection"); connection.debug_level = connection.DEBUG_VERBOSE; connection.init();
String params[][2] = {{}}; String req[][2] = {{"NewTotalAssociations", ""}}; connection.action("WLANConfiguration:1", "GetTotalAssociations", params, 0, req, 1,"/upnp/control/wlanconfig1"); int numDev = (req[0][1]).toInt(); Serial.println(numDev);
Serial.println(req[0][0]); Serial.println(req[0][1]); Serial.println(req[1][0]); Serial.println(req[1][1]); …
Debug Output
15:22:37.533 -> [TR064][initServiceURLs] getting[TR064][initServiceURLs]
Am 23.03.2023 um 14:41 schrieb René Vollmer @.***>:
After almost two hours of debugging with Günter, we figured out two hardware-specific problems (he uses a WEMOS ESP, while I use NodeMCU):
http.begin(*wifiClient, _ip.c_str(), _port, url.c_str());
, but on his it needs it as one string: http.begin(*wifiClient, "https://" + _ip + _port + url);
.So in conclusion this is because the exact implementation of the Wifi
and http
libraries is different on different versions and pieces of hardware. I don't know what the "clean" solution is here. I'm afraid if I revert to the "old" way, it might fix it for the two of you, but not for others.
Maybe I'll just add both options and then add a flag for manual switching. But that doesn't seem very elegant.
Very open for suggestions!
Update:
So I implemented this on develop -> fa504367 with a flag to toggle between the two modes. To toggle this, set in the void setup()
:
// Shall we use the old (false) or new (true) method for doing HTTP requests.
// If you encounter problems, you can try toggling this.
connection.useStreamingForXML = false;
Please let me know if this works for you!
Update2: seems like something is wrong - it doesn't compile on CI (it did on my computer).
Hallo Rene,
Erst mal vielen Dank für die Unterstützung !
Ich hab mal mit der neuen Version getestet, das Ergebnis sieht gut aus, aber ... beim Compile gab es einen Fehler "control reaches end of non-void function“, resultiert wohl aus meinen Compiler Settings, ich hab dann mal ein return eingefügt, dann lief der Compile durch.
/Users/guenter/Documents/Arduino/libraries/TR064/src/tr064.cpp: In member function 'bool TR064::action_raw(const String&, const String&, String (*)[2], int, const String&)': /Users/guenter/Documents/Arduino/libraries/TR064/src/tr064.cpp:413:53: error: control reaches end of non-void function [-Werror=return-type] 413 | String serviceName = cleanOldServiceName(service); | ^ cc1plus: some warnings being treated as errors
bool TR064::action_raw(const String& service, const String& act, String params[][2],
…
// Send the http-Request
if (url != "") {
return httpRequest(url, xml, soapaction, true);
} else {
if (_state >= TR064_STATUS_SERVICES) {
return httpRequest(_services[_servicePrefix + serviceName], xml, soapaction, true);
} else {
deb_println("[TR064][action_raw]
//--SC return false;
Die Funktion initServiceURLs lief dann fehlerlos durch, ich hatte connection.useStreamingForXML = false; vor dem connection.init gesetzt.
Auch die action zur Abfrage der mit der Box verbundenen Devices funktionierte nun auch. Ich werde heute gegen mal weiter testen, wenn ich dann nochmals auf die Nase falle, melde ich mich
Wie schon gesagt, besten Dank für den grossartigen Support ! Gruss Günter
Am 24.03.2023 um 02:44 schrieb René Vollmer @.***>:
So I implemented this on develop https://github.com/Aypac/Arduino-TR-064-SOAP-Library/tree/develop with a flag to toggle between the two modes. To toggle this, set in the void setup():
// Shall we use the old (false) or new (true) method for doing HTTP requests. // If you encounter problems, you can try toggling this. connection.useStreamingForXML = false; Please let me know if this works for you!
— Reply to this email directly, view it on GitHub https://github.com/Aypac/Arduino-TR-064-SOAP-Library/issues/62#issuecomment-1482135932, or unsubscribe https://github.com/notifications/unsubscribe-auth/A6B4BYYLPXNW5RHR2A6MPLDW5T36JANCNFSM6AAAAAAUVX6C4I. You are receiving this because you are subscribed to this thread.
@g-Schroeder Super! Ja, das hatte ich schon im CI gesehen (siehe update2 in der Nachricht oben (ich denke das update hast du nicht per mail bekommen)), keine Idee, was da schief gelaufen ist. Aber klasse, dass es so einfach zu fixen war und jetzt läuft. hab den fix auch gerade noch mal schnell hier auf dem develop branch eingepflegt (ich konnte es nicht selber testen, aber CI beschwert sich nicht mehr).
@TritonX @saak2820 @Bonbon604
So in conclusion it seems this error happened for you (and not me) because the exact implementation of the Wifi and http libraries is different on different versions and pieces of hardware. It appears that the current version on the develop branch should be fixing your problems. The way it works is with a flag to toggle between the two modes (for now I have not found a way to do this automatically). To toggle this, set in the setup()
function of your script:
// Shall we use the old (false) or new (true) method for doing HTTP requests.
// If you encounter problems, you can try toggling this.
connection.useStreamingForXML = false;
Please let me know if this works for you!
Hi,
I'm glad you found a solution. Well done. Did you remember that there is a 2nd method for begin() in the htttpClient class? Maybe it works with that. And you only have to change one function call.
bool begin(WiFiClient &client, const String& host, uint16_t port, const String& uri = "/", bool https = false);
bool begin(WiFiClient &client, const String& url); https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.h
Hey Karsten,
that's indeed one of the two changes I did:
if (useStreamingForXML) {
http.begin(*wifiClient, _ip.c_str(), _port, url.c_str(), nossl);
} else {
http.begin(*wifiClient, fullurl);
}
Hello Aypac, many thanks for the steps forward. I have tested your last software with the following results. I added directly after the beginning of the setup function the setting: connection.useStreamingForXML = false;
Here the results with the different HTTP(S):
1) HTTPS and port 49443 ==> now connection
19:30:51.643 -> Initialize TR-064 connection
19:30:51.643 ->
19:30:51.767 -> [TR064][initServiceURLs] getting the service detect page
19:30:51.767 -> [TR064][httpRequest] prepare request to URL: https://192.168.1.10:49443/tr64desc.xml
19:30:51.767 -> [TR064][httpRequest] GET with SOAPACTION: ''
19:30:52.828 -> [TR064][httpRequest] HTTP response code: -1
19:30:52.828 -> [TR064][httpRequest] HTTP ERROR, message: 'connection failed'
19:30:52.828 -> [TR064][httpRequest] HTTP error, trying again in 1s.
19:30:53.829 -> [TR064][httpRequest] prepare request to URL: https://192.168.1.10:49443/tr64desc.xml
19:30:53.829 -> [TR064][httpRequest] GET with SOAPACTION: ''
19:30:54.657 -> [TR064][httpRequest] HTTP response code: -1
19:30:54.657 -> [TR064][httpRequest] HTTP ERROR, message: 'connection failed'
19:30:54.657 -> [TR064][httpRequest] HTTP error, giving up.
19:30:54.657 -> [TR064][initServiceURLs]~~~~~~~[TR064][action]~~~~~~~
19:30:54.690 -> [TR064][action] with extraction
19:30:54.690 -> [TR064][cleanOldServiceName] searching for prefix in servicename: urn:dslforum-org:service:WANIPConnection:1
19:30:54.734 -> [TR064][action_raw]
19:30:54.815 -> ~~~~~~~[TR064][action]~~~~~~~
19:30:54.815 -> [TR064][action] with extraction
19:30:54.815 -> [TR064][cleanOldServiceName] searching for prefix in servicename: urn:dslforum-org:service:WANIPConnection:1
19:30:54.815 -> [TR064][action_raw]
19:30:54.938 -> ~~~~~~~[TR064][action]~~~~~~~
19:30:54.938 -> [TR064][action] with extraction
19:30:54.938 -> [TR064][cleanOldServiceName] searching for prefix in servicename: urn:dslforum-org:service:WANIPConnection:1
19:30:54.938 -> [TR064][action_raw]
2) HTTPSInsec and port 49443 ==> now connection
19:29:12.733 -> Initialize TR-064 connection
19:29:12.733 ->
19:29:12.813 -> [TR064][initServiceURLs] getting the service detect page
19:29:12.813 -> [TR064][httpRequest] prepare request to URL: https://192.168.1.10:49443/tr64desc.xml
19:29:12.858 -> [TR064][httpRequest] GET with SOAPACTION: ''
19:29:13.964 -> [TR064][httpRequest] HTTP response code: -1
19:29:13.964 -> [TR064][httpRequest] HTTP ERROR, message: 'connection failed'
19:29:13.964 -> [TR064][httpRequest] HTTP error, trying again in 1s.
19:29:14.965 -> [TR064][httpRequest] prepare request to URL: https://192.168.1.10:49443/tr64desc.xml
19:29:14.965 -> [TR064][httpRequest] GET with SOAPACTION: ''
19:29:16.067 -> [TR064][httpRequest] HTTP response code: -1
19:29:16.067 -> [TR064][httpRequest] HTTP ERROR, message: 'connection failed'
19:29:16.067 -> [TR064][httpRequest] HTTP error, giving up.
19:29:16.067 -> [TR064][initServiceURLs]~~~~~~~[TR064][action]~~~~~~~
19:29:16.103 -> [TR064][action] with extraction
19:29:16.103 -> [TR064][cleanOldServiceName] searching for prefix in servicename: urn:dslforum-org:service:WANIPConnection:1
19:29:16.103 -> [TR064][action_raw]
3) HTTP and port 49000 ==> in HTTP it works in principle: the Uptime request does not authenticate, the request for number of connected devices does (see sections below)
19:36:05.406 -> Initialize TR-064 connection 19:36:05.406 -> 19:36:05.492 -> [TR064][initServiceURLs] getting the service detect page 19:36:05.492 -> [TR064][httpRequest] prepare request to URL: http://192.168.1.10:49000/tr64desc.xml 19:36:05.492 -> [TR064][httpRequest] GET with SOAPACTION: '' 19:36:05.531 -> [TR064][httpRequest] HTTP response code: 200 19:36:05.531 -> [TR064][initServiceURLs] Searching the XML for serviceType 19:36:05.564 -> 22 - 13328 19:36:05.564 -> 865 - 1145 19:36:05.564 -> [TR064][xmlTakeParamsFull] found request parameter: servicetype => urn:dslforum-org:service:DeviceInfo:1 19:36:05.564 -> [TR064][xmlTakeParamsFull] found request parameter: controlurl => /upnp/control/deviceinfo 19:36:05.597 -> [TR064][initServiceURLs] 1 urn:dslforum-org:service:DeviceInfo:1 => /upnp/control/deviceinfo 19:36:05.597 -> ---------------------------------------------------------------------------------------------------------------------------- 19:36:05.597 -> [TR064][xmlTakeParamsFull] found request parameter: servicetype => urn:dslforum-org:service:DeviceConfig:1 19:36:05.597 -> [TR064][xmlTakeParamsFull] found request parameter: controlurl => /upnp/control/deviceconfig 19:36:05.631 -> [TR064][initServiceURLs] 2 urn:dslforum-org:service:DeviceConfig:1 => /upnp/control/deviceconfig 19:36:05.631 -> ---------------------------------------------------------------------------------------------------------------------------- 19:36:05.631 -> [TR064][xmlTakeParamsFull] found request parameter: servicetype => urn:dslforum-org:service:Layer3Forwarding:1 19:36:05.664 -> [TR064][xmlTakeParamsFull] found request parameter: controlurl => /upnp/control/layer3forwarding 19:36:05.664 -> [TR064][initServiceURLs] 3 urn:dslforum-org:service:Layer3Forwarding:1 => /upnp/control/layer3forwarding
...
19:36:06.894 -> [TR064][initServiceURLs] Found 35 services in total.
19:36:06.894 -> #################################################################################################################
19:36:06.894 -> ~~~~~~~[TR064][action]~~~~~~~
19:36:06.894 -> [TR064][action] with extraction
19:36:06.894 -> [TR064][cleanOldServiceName] searching for prefix in servicename: urn:dslforum-org:service:WANIPConnection:1
19:36:06.926 -> [TR064][httpRequest] prepare request to URL: http://192.168.1.10:49000/upnp/control/wanipconnection1
19:36:06.926 -> [TR064][httpRequest] Posting XML with SOAPACTION: 'urn:dslforum-org:service:WANIPConnection:1#GetStatusInfo'
19:36:06.926 -> [TR064][httpRequest] ---------------------------------
19:36:06.926 -> <?xml version="1.0"?>
...
19:36:08.515 -> ~~~~~~~[TR064][action]~~~~~~~
19:36:08.515 -> [TR064][action] with extraction
19:36:08.515 -> [TR064][cleanOldServiceName] searching for prefix in servicename: urn:dslforum-org:service:Hosts:1
19:36:08.548 -> [TR064][httpRequest] prepare request to URL: http://192.168.1.10:49000/upnp/control/hosts
19:36:08.548 -> [TR064][httpRequest] Posting XML with SOAPACTION: 'urn:dslforum-org:service:Hosts:1#GetHostNumberOfEntries'
19:36:08.548 -> [TR064][httpRequest] ---------------------------------
19:36:08.548 -> <?xml version="1.0"?>
==> What could be the reason why HTTPS(Insec) is not working (I copied the certificate from the FB in the .h file)? ==> Why do not all services got authenticated?
I also tried it with my other FB 7430, an there it behaves similar, but a bit different of which TR064 actions got authenticated and others not.
At least a step foreward that I got access via TR064 to my FB. Any further hint on which issue could cause the remaining problems is welcome.
Thanks again BR Andreas
Hello Rene, I tried the DECT-Call example to realize a doorbell (which was my initial project ;-) ), and it works now! Many thanks for your great support - and off course also thanks to Günter! I have to use HTTP, HTTPS is still not working (as I described in my recent post above). In the function "callWahlhilfe()", I try to call individual DECT phones instead of doing a round-call (need this as not all phones shall ring...) Enhancing the array params and changing the parameter "nParam" in the function call does not work:
Do I need to re-call each phone number individually or does it in principle work with the concatenated XML and I just do a mistake?
Thanks in advance for your support, best regards, Andreas
Hello Andreas,
Try this
String params[][2] = {{"NewX_AVM-DE_PhoneNumber", "**#614#610#611#612#613"}}; connection.action("urn:dslforum-org:service:X_VoIP:1","X_AVM-DE_DialNumber", params, 1, req, 0, "/upnp/control/x_voip");
Try this works on my 7590, took it from the AVM-Documentation
Greetings Günter
Am 02.04.2023 um 12:16 schrieb TritonX @.***>:
Hello Rene, I tried the DECT-Call example to realize a doorbell (which was my initial project ;-) ), and it works now! Many thanks for your great support - and off course also thanks to Günter! I have to use HTTP, HTTPS is still not working (as I described in my recent post above). In the function "callWahlhilfe()", I try to call individual DECT phones instead of doing a round-call (need this as not all phones shall ring...) Enhancing the array params and changing the parameter "nParam" in the function call does not work: https://user-images.githubusercontent.com/25125329/229346850-dad383b3-bc2c-4c5f-905f-2c79efd8e371.png Do I need to re-call each phone number individually or does it in principle work with the concatenated XML and I just do a mistake?
Thanks in advance for your support, best regards, Andreas
— Reply to this email directly, view it on GitHub https://github.com/Aypac/Arduino-TR-064-SOAP-Library/issues/62#issuecomment-1493288817, or unsubscribe https://github.com/notifications/unsubscribe-auth/A6B4BY3GCUYHEXVKDPJTPVDW7FGW7ANCNFSM6AAAAAAUVX6C4I. You are receiving this because you were mentioned.
sorry, wring string, should be "**614#610#611#612#613" Günter
Hi Günter, that worked fine, thank you!
Regards Andreas
Great to hear, thanks for the feedback. That https doesn't work is sad, but not that surprising - I have not tested it carefully yet. I'll add the trick with the multiple number to the wiki.
After nearly two years i gave TR064 a try again. It stopped working for me after the 7.25 update (see issue #45).
Yesterday i updated my Fritzbox 7590 to 7.55, I'm using a ESP8266 12-E with the 1.2.3 devel branch.
After my own code didn't work (Exeption 28 problems), i tried the example code DECT_caller. I get this error messages
using #define TR_PROTOCOL 0:
Initialize TR-064 connection
pm open,type:2 0
[TR064][httpRequest] HTTP ERROR, message: 'connection failed'
[TR064][httpRequest] HTTP error, trying again in 1s.
[TR064][httpRequest] HTTP ERROR, message: 'connection failed'
[TR064][httpRequest] HTTP error, giving up.
[TR064][initServiceURLs]
using #define TR_PROTOCOL 1:
Initialize TR-064 connection
pm open,type:2 0 [TR064][httpRequest] HTTP ERROR, message: 'connection failed' [TR064][httpRequest] HTTP error, trying again in 1s.
using #define TR_PROTOCOL 2:
Initialize TR-064 connection
pm open,type:2 0
[TR064][httpRequest] HTTP ERROR, message: 'connection failed'
[TR064][httpRequest] HTTP error, trying again in 1s.
[TR064][httpRequest] HTTP ERROR, message: 'connection failed'
[TR064][httpRequest] HTTP error, giving up.
[TR064][initServiceURLs]
I can connect to http://192.168.10.143:49000/tr64desc.xml and https://192.168.10.143:49443/tr64desc.xml.
But i don't see X_AVM-DE_DialNumber in tr64desc.xml file:
I tried all three possible connection.action types:
connection.action("X_VoIP:1", "X_AVM-DE_DialNumber", params, 1, req, 0);
connection.action("urn:dslforum-org:service:X_VoIP:1", "X_AVM-DE_DialNumber", params, 1, req, 0);
connection.action("X_VoIP:1", "X_AVM-DE_DialNumber", params, 1, req, 0, "/upnp/control/x_voip");
TR_ROOT_CERT is stored in credentials.h Btw. the cert text contains this "...AN4X/z/2zs4e//6tN...". If i put the cert text into the sketch file, the text after "2zs4e//" is greyed out. Seems it needs some escape sequences for the double slashes.
Any idea how to fix my http/https connection problem?
Hi JimKnopf,
Did you try to fiddle around with the option
connection.useStreamingForXML = false;
In my case this did the trick. As the connection.init();
did not work in my case, i got the phones ringing by
connection.action("X_VoIP:1","X_AVM-DE_DialNumber", params, 1, req, 0, "/upnp/control/x_voip“);
Greetings Günter
Am 01.06.2023 um 17:42 schrieb JimKnopfIoT @.***>:
After nearly two years i gave TR064 a try again. It stopped working for me after the 7.25 update (see issue #45 https://github.com/Aypac/Arduino-TR-064-SOAP-Library/issues/45).
Yesterday i updated my Fritzbox 7590 to 7.55, I'm using a ESP8266 12-E with the 1.2.3 devel branch.
After my own code didn't work (Exeption 28 problems), i tried the example code DECT_caller. I get this error messages
using #define TR_PROTOCOL 0:
Initialize TR-064 connection
pm open,type:2 0 [TR064][httpRequest] HTTP ERROR, message: 'connection failed' [TR064][httpRequest] HTTP error, trying again in 1s. [TR064][httpRequest] HTTP ERROR, message: 'connection failed' [TR064][httpRequest] HTTP error, giving up. [TR064][initServiceURLs] initServiceUrls failed. [TR064][action_raw] You need to init the library or specify a serviceURL! [TR064][action] Request failed
Initialize TR-064 connection
pm open,type:2 0 [TR064][httpRequest] HTTP ERROR, message: 'connection failed' [TR064][httpRequest] HTTP error, trying again in 1s. [TR064][httpRequest] HTTP ERROR, message: 'connection failed' [TR064][httpRequest] HTTP error, giving up. [TR064][initServiceURLs] initServiceUrls failed. [TR064][action_raw] You need to init the library or specify a serviceURL! [TR064][action] Request failed
using #define TR_PROTOCOL 1:
Initialize TR-064 connection
pm open,type:2 0 [TR064][httpRequest] HTTP ERROR, message: 'connection failed' [TR064][httpRequest] HTTP error, trying again in 1s.
using #define TR_PROTOCOL 2:
Initialize TR-064 connection
pm open,type:2 0 [TR064][httpRequest] HTTP ERROR, message: 'connection failed' [TR064][httpRequest] HTTP error, trying again in 1s. [TR064][httpRequest] HTTP ERROR, message: 'connection failed' [TR064][httpRequest] HTTP error, giving up. [TR064][initServiceURLs] initServiceUrls failed. [TR064][action_raw] You need to init the library or specify a serviceURL! [TR064][action] Request failed
I can connect to http://192.168.10.143:49000/tr64desc.xml and https://192.168.10.143:49443/tr64desc.xml.
But i don't see X_AVM-DE_DialNumber in tr64desc.xml file:
1 0 226 154 7 55 105823 154.07.55 urn:dslforum-org:device:InternetGatewayDevice:1 l AVM www.avm.de FRITZ!Box 7590 FRITZ!Box 7590 7590 - avm www.avm.de uuid:7 image/gif 118 119 8 /ligd.gif urn:dslforum-org:service:DeviceInfo:1 urn:DeviceInfo-com:serviceId:DeviceInfo1 /upnp/control/deviceinfo /upnp/control/deviceinfo /deviceinfoSCPD.xml urn:dslforum-org:service:DeviceConfig:1 urn:DeviceConfig-com:serviceId:DeviceConfig1 /upnp/control/deviceconfig /upnp/control/deviceconfig /deviceconfigSCPD.xml urn:dslforum-org:service:Layer3Forwarding:1 urn:Layer3Forwarding-com:serviceId:Layer3Forwarding1 /upnp/control/layer3forwarding /upnp/control/layer3forwarding /layer3forwardingSCPD.xml urn:dslforum-org:service:LANConfigSecurity:1 urn:LANConfigSecurity-com:serviceId:LANConfigSecurity1 /upnp/control/lanconfigsecurity /upnp/control/lanconfigsecurity /lanconfigsecuritySCPD.xml urn:dslforum-org:service:ManagementServer:1 urn:ManagementServer-com:serviceId:ManagementServer1 /upnp/control/mgmsrv /upnp/control/mgmsrv /mgmsrvSCPD.xml urn:dslforum-org:service:Time:1 urn:Time-com:serviceId:Time1 /upnp/control/time /upnp/control/time /timeSCPD.xml urn:dslforum-org:service:UserInterface:1 urn:UserInterface-com:serviceId:UserInterface1 /upnp/control/userif /upnp/control/userif /userifSCPD.xml urn:dslforum-org:service:X_AVM-DE_Storage:1 urn:X_AVM-DE_Storage-com:serviceId:X_AVM-DE_Storage1 /upnp/control/x_storage /upnp/control/x_storage /x_storageSCPD.xml urn:dslforum-org:service:X_AVM-DE_WebDAVClient:1 urn:X_AVM-DE_WebDAV-com:serviceId:X_AVM-DE_WebDAVClient1 /upnp/control/x_webdav /upnp/control/x_webdav /x_webdavSCPD.xml urn:dslforum-org:service:X_AVM-DE_UPnP:1 urn:X_AVM-DE_UPnP-com:serviceId:X_AVM-DE_UPnP1 /upnp/control/x_upnp /upnp/control/x_upnp /x_upnpSCPD.xml urn:dslforum-org:service:X_AVM-DE_Speedtest:1 urn:X_AVM-DE_Speedtest-com:serviceId:X_AVM-DE_Speedtest1 /upnp/control/x_speedtest /upnp/control/x_speedtest /x_speedtestSCPD.xml urn:dslforum-org:service:X_AVM-DE_RemoteAccess:1 urn:X_AVM-DE_RemoteAccess-com:serviceId:X_AVM-DE_RemoteAccess1 /upnp/control/x_remote /upnp/control/x_remote /x_remoteSCPD.xml urn:dslforum-org:service:X_AVM-DE_MyFritz:1 urn:X_AVM-DE_MyFritz-com:serviceId:X_AVM-DE_MyFritz1 /upnp/control/x_myfritz /upnp/control/x_myfritz /x_myfritzSCPD.xml urn:dslforum-org:service:X_VoIP:1 urn:X_VoIP-com:serviceId:X_VoIP1 /upnp/control/x_voip /upnp/control/x_voip /x_voipSCPD.xml urn:dslforum-org:service:X_AVM-DE_OnTel:1 urn:X_AVM-DE_OnTel-com:serviceId:X_AVM-DE_OnTel1 /upnp/control/x_contact /upnp/control/x_contact /x_contactSCPD.xml urn:dslforum-org:service:X_AVM-DE_Dect:1 urn:X_AVM-DE_Dect-com:serviceId:X_AVM-DE_Dect1 /upnp/control/x_dect /upnp/control/x_dect /x_dectSCPD.xml urn:dslforum-org:service:X_AVM-DE_TAM:1 urn:X_AVM-DE_TAM-com:serviceId:X_AVM-DE_TAM1 /upnp/control/x_tam /upnp/control/x_tam /x_tamSCPD.xml urn:dslforum-org:service:X_AVM-DE_AppSetup:1 urn:X_AVM-DE_AppSetup-com:serviceId:X_AVM-DE_AppSetup1 /upnp/control/x_appsetup /upnp/control/x_appsetup /x_appsetupSCPD.xml urn:dslforum-org:service:X_AVM-DE_Homeauto:1 urn:X_AVM-DE_Homeauto-com:serviceId:X_AVM-DE_Homeauto1 /upnp/control/x_homeauto /upnp/control/x_homeauto /x_homeautoSCPD.xml urn:dslforum-org:service:X_AVM-DE_Homeplug:1 urn:X_AVM-DE_Homeplug-com:serviceId:X_AVM-DE_Homeplug1 /upnp/control/x_homeplug /upnp/control/x_homeplug /x_homeplugSCPD.xml urn:dslforum-org:service:X_AVM-DE_Filelinks:1 urn:X_AVM-DE_Filelinks-com:serviceId:X_AVM-DE_Filelinks1 /upnp/control/x_filelinks /upnp/control/x_filelinks /x_filelinksSCPD.xml urn:dslforum-org:service:X_AVM-DE_Auth:1 urn:X_AVM-DE_Auth-com:serviceId:X_AVM-DE_Auth1 /upnp/control/x_auth /upnp/control/x_auth /x_authSCPD.xml urn:dslforum-org:service:X_AVM-DE_HostFilter:1 urn:X_AVM-DE_HostFilter-com:serviceId:X_AVM-DE_HostFilter1 /upnp/control/x_hostfilter /upnp/control/x_hostfilter /x_hostfilterSCPD.xml urn:dslforum-org:service:X_AVM-DE_USPController:1 urn:X_AVM-DE_USPController-com:serviceId:X_AVM-DE_USPController1 /upnp/control/x_uspcontroller /upnp/control/x_uspcontroller /x_uspcontrollerSCPD.xml urn:dslforum-org:device:LANDevice:1 LANDevice - FRITZ!Box 7590 AVM www.avm.de LANDevice - FRITZ!Box 7590 LANDevice - FRITZ!Box 7590 7590 - avm www.avm.de uuid: AVM TR-064 urn:dslforum-org:service:WLANConfiguration:1 urn:WLANConfiguration-com:serviceId:WLANConfiguration1 /upnp/control/wlanconfig1 /upnp/control/wlanconfig1 /wlanconfigSCPD.xml urn:dslforum-org:service:WLANConfiguration:2 urn:WLANConfiguration-com:serviceId:WLANConfiguration2 /upnp/control/wlanconfig2 /upnp/control/wlanconfig2 /wlanconfigSCPD.xml urn:dslforum-org:service:WLANConfiguration:3 urn:WLANConfiguration-com:serviceId:WLANConfiguration3 /upnp/control/wlanconfig3 /upnp/control/wlanconfig3 /wlanconfigSCPD.xml urn:dslforum-org:service:Hosts:1 urn:LanDeviceHosts-com:serviceId:Hosts1 /upnp/control/hosts /upnp/control/hosts /hostsSCPD.xml urn:dslforum-org:service:LANEthernetInterfaceConfig:1 urn:LANEthernetIfCfg-com:serviceId:LANEthernetInterfaceConfig1 /upnp/control/lanethernetifcfg /upnp/control/lanethernetifcfg /ethifconfigSCPD.xml urn:dslforum-org:service:LANHostConfigManagement:1 urn:LANHCfgMgm-com:serviceId:LANHostConfigManagement1 /upnp/control/lanhostconfigmgm /upnp/control/lanhostconfigmgm /lanhostconfigmgmSCPD.xml urn:dslforum-org:device:WANDevice:1 WANDevice - FRITZ!Box 7590 AVM www.avm.de WANDevice - FRITZ!Box 7590 WANDevice - FRITZ!Box 7590 7590 - avm www.avm.de uuid: AVM TR-064 urn:dslforum-org:service:WANCommonInterfaceConfig:1 urn:WANCIfConfig-com:serviceId:WANCommonInterfaceConfig1 /upnp/control/wancommonifconfig1 /upnp/control/wancommonifconfig1 /wancommonifconfigSCPD.xml urn:dslforum-org:service:WANDSLInterfaceConfig:1 urn:WANDSLIfConfig-com:serviceId:WANDSLInterfaceConfig1 /upnp/control/wandslifconfig1 /upnp/control/wandslifconfig1 /wandslifconfigSCPD.xml urn:dslforum-org:device:WANConnectionDevice:1 WANConnectionDevice - FRITZ!Box 7590 AVM www.avm.de WANConnectionDevice - FRITZ!Box 7590 WANConnectionDevice - FRITZ!Box 7590 7590 - avm www.avm.de uuid: AVM TR-064 urn:dslforum-org:service:X_AVM-DE_WANMobileConnection:1 urn:X_AVM-DE_WANMobileConnection-com:serviceId:X_AVM-DE_WANMobileConnection1 /upnp/control/x_wanmobileconn /upnp/control/x_wanmobileconn /x_wanmobileconnSCPD.xml urn:dslforum-org:service:WANDSLLinkConfig:1 urn:WANDSLLinkConfig-com:serviceId:WANDSLLinkConfig1 /upnp/control/wandsllinkconfig1 /upnp/control/wandsllinkconfig1 /wandsllinkconfigSCPD.xml urn:dslforum-org:service:WANEthernetLinkConfig:1 urn:WANEthernetLinkConfig-com:serviceId:WANEthernetLinkConfig1 /upnp/control/wanethlinkconfig1 /upnp/control/wanethlinkconfig1 /wanethlinkconfigSCPD.xml urn:dslforum-org:service:WANPPPConnection:1 urn:WANPPPConnection-com:serviceId:WANPPPConnection1 /upnp/control/wanpppconn1 /upnp/control/wanpppconn1 /wanpppconnSCPD.xml urn:dslforum-org:service:WANIPConnection:1 urn:WANIPConnection-com:serviceId:WANIPConnection1 /upnp/control/wanipconnection1 /upnp/control/wanipconnection1 /wanipconnSCPD.xml http://192.168.10.143 I tried all three possible connection.action types: connection.action("X_VoIP:1", "X_AVM-DE_DialNumber", params, 1, req, 0); connection.action("urn:dslforum-org:service:X_VoIP:1", "X_AVM-DE_DialNumber", params, 1, req, 0); connection.action("X_VoIP:1", "X_AVM-DE_DialNumber", params, 1, req, 0, "/upnp/control/x_voip");
TR_ROOT_CERT is stored in credentials.h Btw. the cert text contains this "...AN4X/z/2zs4e//6tN...". If i put the cert text into the sketch file, the text after "2zs4e//" is greyed out. Seems it needs some escape sequences for the double slashes.
Any idea how to fix my http/https connection problem?
— Reply to this email directly, view it on GitHub https://github.com/Aypac/Arduino-TR-064-SOAP-Library/issues/62#issuecomment-1572295041, or unsubscribe https://github.com/notifications/unsubscribe-auth/A6B4BYZ6FO4B6QMEWALYD3LXJCZ43ANCNFSM6AAAAAAUVX6C4I. You are receiving this because you were mentioned.
Hi JimKnopf
Please Read: https://github.com/Aypac/Arduino-TR-064-SOAP-Library/wiki https://github.com/Aypac/Arduino-TR-064-SOAP-Library/wiki/How-to-debug
DEBUG_VERBOSE ///< Print all messages
Also activate httpClient Debugging
Thanks @saak2820 @g-Schroeder
it's working now (again).
I had multiple mistakes in my setup. Working config now is in setup section:
tr064_connection.useStreamingForXML = false;
tr064_connection.init();
delay(1800);
String tr064_service = "urn:dslforum-org:service:X_VoIP:1";
String call_params[][2] = {{"NewX_AVM-DE_PhoneNumber", "**613"}};
String dial_number = {{"X_AVM-DE_DialNumber"}};
String req[][2] = {{}};
tr064_connection.action(tr064_service,dial_number,call_params, 1);
delay(5000);
tr064_connection.action(tr064_service, "X_AVM-DE_DialHangup");
Serial.print("**613 wurde benachrichtigt, gehe in den DeepSleep");
ESP.deepSleep(0);
My loop section is empty. I spend a lot of time to find out that i changed the phone number in "Wählhilfe". 2 Years ago, when it stops working i changed this internal phone number from 2 to 613. But **613 was also the phone that should be called if the doorbell rings.
Hi,
does anyone know what coud be the issue? It happens in line "connection.init();"
Exception 28: LoadProhibited: A load referenced a page mapped with an attribute that does not permit loads Decoding 9 results 0x40205d7f: String::reserve(unsigned int) at C:\Users\me\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.1\cores\esp8266/WString.cpp line 192 (discriminator 4) 0x402060a8: String::concat(char const*, unsigned int) at C:\Users\me\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.1\cores\esp8266/WString.cpp line 353 0x40100cc2: umm_free at C:\Users\me\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.1\cores\esp8266\umm_malloc/umm_malloc.cpp line 688 : (inlined by) umm_free at C:\Users\me\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.1\cores\esp8266\umm_malloc/umm_malloc.cpp line 667 0x40204aea: operator+(String&&, String const&) at C:\Users\me\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.1\cores\esp8266/WString.h line 404 : (inlined by) TR064::initServiceURLs() at C:\Users\me\Documents\Arduino\libraries\TR064\src/tr064.cpp line 129 0x40207308: esp_delay__delay(long unsigned int):: > at C:\Users\me\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.1\cores\esp8266/coredecls.h line 69 : (inlined by) esp_delay__delay(long unsigned int):: > at C:\Users\me\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.1\cores\esp8266/coredecls.h line 78 : (inlined by) __delay at C:\Users\me\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.1\cores\esp8266/core_esp8266_wiring.cpp line 39 0x40201a2f: setup at C:\Users\me\Documents\Arduino\home-indicator/home-indicator.ino line 159 0x40206dc8: loop_wrapper() at C:\Users\me\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.1\cores\esp8266/core_esp8266_main.cpp line 255 0x40100fed: cont_wrapper at C:\Users\me\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.1\cores\esp8266/cont.S line 81