ThingerSmartConfig and ThingerWebConfig

Regarding these two codes, the ones used to quickly and neatly link a device to the existing Wi-Fi network in a place, I have a very interesting unknown.
What happens if after some time of using the device, the Wi-Fi network changes? (that is your username / password) Do I have to reload the scketch to get the configuration screen instance again? Thanks

Respecto a éstos dos códigos, que sirven para vincular de una forma rápida y prolija un dispositivo a la red wifi existente en el lugar, surge una incógnita muy interesante.
Que pasa si luego de algún tiempo de utilizar el dispositivo, cambia la red wifi ? (o sea su usuario / contraseña) Tengo que volver a cargar el scketch para volver a tener la instancia de pantalla de configuración? Gracias

Hi,

Nope when the device cannot connect to any wifi network shows its wifi setup network, so you can set it up again, so no there is no need at all to upload anything else, an easy way to try it is to connect a device to your phone wifi hotspot and turn it off, the device should show the wifi network, what it doesnt is to try to connect again to stored wifi network, if it gets the configuration mode, doesnt try to connect again.

Hope this helps.

That’s right, you’re right. But I can’t get it to work with these two programs, and I don’t know why…
If it works for me the way you say the “Autoconnect” that comes with the WiFiManager library… but not with this one from Alvaro…
Will it be possible to mix the two libraries? something like connecting with autoconnect to the internet and then with another part of the program to the Thinger platform? Will it be possible?
Gracias EGA saludos

Hi,

Why cannot you achieve that? Please share your whole experience (even the serial console debug output), all related details you can provide us are helpful to understand what’s going on.

Saludos :wink:

I spent all this weekend trying to connect my board (my boards) to Thinger and I couldn’t. I have reached the point of reloading the NodeMcu firmware in case the problem was there, but it didn’t work either. I have formatted the notebook in case it was a port or configuration problem, and it didn’t work either.
It’s strange that I can connect using the library thinger.io/esp8266, but I can’t do it with the smartconfig or webconfig… I’ve already done all the possible combinations of libraries and their versions… I kept changing those of thinger, those of ESP hardware, those of wifimanager, in all its possible combinations, but nothing…
I will continue “playing” and see what happens, I will leave news as soon as I have them.
Saludos!

UPGRADE
Through the DEBUG I can see the following… there is something with the connection to the platform…

Blockquote
”çþ[NETWORK] Starting connection…
[NETWORK] Connecting to network Battion
[NETWORK] Connected to WiFi!
[NETWORK] Getting IP Address…
[NETWORK] Got IP Address: 192.168.0.44
[NETWORK] Connected!
[_SOCKET] Connecting to iot.thinger.io:25202
[_SOCKET] Using secure TLS/SSL connection: yes
[_SOCKET] Error while connecting!

Blockquote

SOLVED – SOLUCIONADO !

Con la siguiente frase en la primera línea:
#define DISABLE_TLS

Todo bien, pero si realmente algún dia requiero SSL para algún cliente / proyecto?

Hi,

This issue in ThingerWebConfig.h was reported in this post a few months ago.

I don’t understand why the developers haven’t fixed this bug yet. Maybe it would be something simple to fix, but they prefer to leave the library with bugs.

It seems that they are more concerned with technical issues of the platform than with the average user.
We started using Thinger.io because of features like the Arduino-Thinger library, but these bugs that affect the user hamper the experience of using the platform.

I hope they fix the bug soon, otherwise we’ll have to research other service possibilities.

1 Like

Exactly!
A few months ago I saw the same problem in another user and I see that it has not been solved.
I hope the solution will come soon…

1 Like

@alvarolb @JorgeTrincado se podrá revisar un poco el código de éstas dos librerías? Gracias!

Apparently, their attention is focused on the big customers with high volume of devices. And small customers, who don’t have the resources or technical knowledge to work around these bugs, may not be the priority right now.

Do you have 1500 devices to register on the Thinger.io platform? If yes, maybe they will answer your question.

You know what’s interesting, how can you implement 1500 products in several customers’ homes without a resource like ThingerWebConfig.h that uses WiFiManager to get the SSIDs and passwords of the router/modems? You won’t. WiFiManager is the only implementation that helps you with this.
Soon, you can even register the 1500 products on the Thinger.io platform, but you can’t make it possible to install them in the customer’s home. Isn’t it great!?

That’s why we’ve been here for months asking for bugs in ThingerWebConfig.h to be fixed and for ESP-32 compatibility to be implemented.

I consider ThingerWebConfig.h the main functionality of the Arduino-Thinger library, because only it has flexibility and allows the subsequent registration of SSIDs and router/modem passwords on the devices.
Only Make users know the SSIDs and passwords of router/modems in advance and can register them in the code.
Companies do not know their customers’ SSIDs and passwords in advance, so they need to use ThingerWebConfig.h/WiFiManager.

Curious, how easy it is to understand, no?

It seems that only Thinger.io platform users identify this “problem”.

1 Like

Hi @George_Santiago, I can understand your frustration, but please, take into account that Thinger.io is not only the Arduino Library (hope it could be that easy). There are several protocols and devices that does not require WebConfig, i.e., Sigfox, Lora Devices, comercial MQTT products, Linux, etc. Our priority right now is to better support clients with huge deployments. Moreover, such clients pay for support and integrations that later are available to the community. So, if you need priority support, there are options for it in our pricing page. If we do not attend such customers, rest assured that Thinger.io cannot be supported with small clients.

In this forum, we try to do our best to create a community around Thinger.io, and provide some basic support. All your inputs are so valuable and noted in the internal Thinger.io TODO. So, all issues will be fixed sooner or later. You can also contribute. If you have a working workaround, you can help us by making a pull request to the client library with the changes you did, so, they can be reviewed and tested sooner. I think it takes less time than guessing what Thinger.io is doing and why WebConfig is not still fixed.

2 Likes

Thanks for the quick response, @alvarolb

As I recall, it was the first manifestation about the reported issues with ThingerWebConfig.h . And that’s exactly what the community wanted: Some clarification on the problem.

I understand the reasons given and the priorities listed.

But, you see, some problems that affect the small user, affect the large users even more. Example: If a feature is released that allows you to register 1500 devices in Thinger.io, how will the company install these devices (Arduino, ESP8266, ESP32) in the homes of several customers without ThingerWebConfig.h, since it does not know the SSIDs and IDs of the router/modens in advance? I leave the reflection.

I really like the Thinger.io platform, and I didn’t want to have to switch to another platform. Thinger.io’s success reflects on the success of companies that choose Thinger.io as their platform. I chose Thinger.io because of its community (and the developers’ attention in responding to posts), documentation and, above all, because of the Arduino-Thinger library. I believe that other customers have chosen it for the same reason, such as @inelint .

Finally, thank you for your attention and clarification.

1 Like

Es excelente tu comentario @George_Santiago .
Y coincido. Thinger tiene muchísimos pequeños clientes que basan sus soluciones en cosas simples justamente como la librería web/smart config. Y thinger.io también llama la atención satisfactoriamente por su sencillez y flexibilidad. Por eso muchos novatos se vuelcan aqui (y aún yo me considero novato) Pero los novatos son los que van a mantener vivo a thinger en el futuro inexorablemente, como así hacerlo crecer…

1 Like

Hi,

I’ve tested and for sure there is a bug with the webconfig library, hard coding the user and password works without issues.

@George_Santiago I published a solution months ago (ESP32 OTA tested, for the ESP8266 I guess something similar can be easily done), even better than the official one due it keeps trying to connect to the configured wifi (if it has one) in setup/configuration mode, if you do not want to use it is up to you.

In my humble opinion, not always the oficial library will be the best one, if you can assemble a code with the specialized libraries, will be better due each one has the effort centered on its particular development, the wifimanager version attached to thinger was the lastest available once, but it has not the post versions improvements.

Hope this helps.

Summarizing the topic that I started, I can say the following:

  • The problem that exists in the libraries with TLS/SSL is solved with #define DISABLE_TLS in the first line of the program.
  • It solved many things for me using the most up-to-date versions of everything involved. Thinger, WiFi Manager, ESP8266.
  • When there are changes in Wi-Fi networks, the ESP-Touch app is a very good help, I will definitely use it…

In this post, I modified the ThingerWebConfig.h code and managed to connect on the Private Server, but from what I remember, I think it didn’t work for the Public Server. I would have to do more testing.

With thing.set_state_listener (link) it is possible to create a logic to change the SSID and password of the router/modem if necessary.
I used a push button to trigger WiFiManager’s restconfig function.

1 Like

Hi @George_Santiago and @inelint can you please take a review of new Arduino library branch for testing the Webconfig?! Here it is the link:

Thanks!

2 Likes