Page 1 of 1

QT websockets

PostPosted: Sat Feb 16, 2019 9:17 am
by TheHogNL
From firmware 5.0.4 the original Toon resources also include libraries for QT5 websockets!

To use the libraries install them when having the VPN running with "opkg install libqt5websockets5" (I will probably add an option to the update-script to install this for you soon).

After this you can use the library in your qml code with "import QtWebSockets 1.0"
From there just use the docs at https://doc.qt.io/qt-5/qtwebsockets-qmlmodule.html and the examples at https://doc.qt.io/qt-5/qtwebsockets-examples.html

Using websockets in your qml code would allow your Toon to be externally controlled. Much more possibilities then the current ones using the /happ_thermstat (and other) urls which only supports a few commands.

For example, the use case where a forum members wants to put a doorbell-camera picture on the Toon when someone is ringing the phone could now be implemented easily. Much more ideas are welcome!

Re: QT websockets

PostPosted: Sat Feb 16, 2019 10:59 am
by Toonz
I can now finally have a realtime status on Toon of the status of the klikaan/klikuit lights in the bedrooms (controlled via domoticz on a raspberry Pi)
No need for sending http requests to domoticz anymore every 5 seconds to query the status of the lights.

Re: QT websockets

PostPosted: Sat Feb 16, 2019 11:03 am
by Toonz
It is also a perfect solution for someone to write a comprehensive mobile app to control the Toon remotely (using a companion app on Toon itself).
Basically everything is possible now, far beyond the options of the official mobile app from Quby :-)
Develop our own API?

Re: QT websockets

PostPosted: Sat Feb 16, 2019 12:01 pm
by hvxl
Works like a charm. And it avoids my web server logs from filling up with all those poll requests!

Re: QT websockets

PostPosted: Tue Feb 19, 2019 9:47 am
by Toonz
great stuff. By any change, did they also complie an UdpSocket class?
handy for sending discovery packets

Re: QT websockets

PostPosted: Tue Apr 09, 2019 11:53 am
by WickedMaster
Toonz wrote:It is also a perfect solution for someone to write a comprehensive mobile app to control the Toon remotely (using a companion app on Toon itself).
Basically everything is possible now, far beyond the options of the official mobile app from Quby :-)
Develop our own API?


Me and RoadXY are trying to make use of QT websockets for the app we're currently working on. Any help is welcome!

Re: QT websockets

PostPosted: Tue Apr 09, 2019 12:06 pm
by RoadXY
Yes, any help is appreciated

Re: QT websockets

PostPosted: Tue Apr 09, 2019 12:15 pm
by Toonz
a lot you can find in the QT documentation : https://doc.qt.io/qt-5/qml-qtwebsockets-websocket.html including sample code.
The WebSockets allow you to receive/send from/to a Toon QML app directly without making user of the lighttpd webserver.
Do you have already ideas about functionality you want to build?
Exactly what type of help is requested?

Re: QT websockets

PostPosted: Tue Apr 09, 2019 12:23 pm
by WickedMaster
At this point we're looking for a possibility to change/add programs from the app. Eventually we want to do everything with websockets in the app. So, also changing the temperature, fetching information etc.. This is currently done by using HTTP requests. But, changing/adding programs, doesn't seem to be able by using HTTP post/requests.

It would be helpful if someone can assist us with setting up a new QML app/module for the Toon, so that we have a base to lean on. We've got no experience with developing apps for the Toon itself.

Re: QT websockets

PostPosted: Tue Apr 09, 2019 12:37 pm
by RoadXY
By programs we mean the heating schedule

Re: QT websockets

PostPosted: Tue Apr 09, 2019 12:48 pm
by Toonz
That is not so straight forward. We can also look into modifying the quby schedule programming app for this (use websockets there)

Re: QT websockets

PostPosted: Wed Oct 16, 2019 10:33 am
by oepi-loepi
Toonz wrote:I can now finally have a realtime status on Toon of the status of the klikaan/klikuit lights in the bedrooms (controlled via domoticz on a raspberry Pi)
No need for sending http requests to domoticz anymore every 5 seconds to query the status of the lights.


Did you manage to use the Websockets for this and could you share the Toon and Domoticz code? I now have the doorbell camera, my Onkyo receiver control, washing dryer status and waching machine status on the Toon but all by pulling Domoticz status. Websockets will be much neater.

Re: QT websockets

PostPosted: Wed Oct 16, 2019 11:33 am
by Toonz
oepi-loepi wrote:Did you manage to use the Websockets for this and could you share the Toon and Domoticz code? I now have the doorbell camera, my Onkyo receiver control, washing dryer status and waching machine status on the Toon but all by pulling Domoticz status. Websockets will be much neater.


Ha, good call, I completely forgot about this. Current domoticzboard app is not using it.
I will have a look at it after I finished the new Fileinfo app (is almost finished on a Toon 2 but I still have to check the gui elements and performance on a Toon 1).

Re: QT websockets

PostPosted: Wed Oct 16, 2019 12:23 pm
by oepi-loepi
Toonz wrote:Ha, good call, I completely forgot about this. Current domoticzboard app is not using it.
I will have a look at it after I finished the new Fileinfo app (is almost finished on a Toon 2 but I still have to check the gui elements and performance on a Toon 1).


Well it seems it should be integrated in the newest beta of Domoticz https://github.com/domoticz/domoticz/co ... 34ca617dc0. However i have newer worked with it so a good example would be very nice. Maybe some other forum member has tried?