Self hosted devices are not updating

stepankuklis
Posts: 18
Joined: Fri Nov 24, 2023 12:43 pm

Post

Hello, I'm using the current docker setup from your github. I noticed the devices are not updating, in the logs I can see:

Code: Select all

[2023-11-24 12:00:02] console.CRITICAL: Error thrown while running command "supla:dispatch-cyclic-tasks". Message: "Argument 1 passed to SuplaBundle\Command\Cyclic\SynchronizeEspUpdatesCommand::insertUpdate() must be of the type array, string given, called in /var/www/cloud/src/SuplaBundle/Command/Cyclic/SynchronizeEspUpdatesCommand.php on line 51" {"exception":"[object] (TypeError(code: 0): Argument 1 passed to SuplaBundle\\Command\\Cyclic\\SynchronizeEspUpdatesCommand::insertUpdate() must be of the type array, string given, called in /var/www/cloud/src/SuplaBundle/Command/Cyclic/SynchronizeEspUpdatesCommand.php on line 51 at /var/www/cloud/src/SuplaBundle/Command/Cyclic/SynchronizeEspUpdatesCommand.php:69)","command":"supla:dispatch-cyclic-tasks","message":"Argument 1 passed to SuplaBundle\\Command\\Cyclic\\SynchronizeEspUpdatesCommand::insertUpdate() must be of the type array, string given, called in /var/www/cloud/src/SuplaBundle/Command/Cyclic/SynchronizeEspUpdatesCommand.php on line 51"} []
If I unregister from mine, and temporarily register to yours cloud-hosted, the devices are updated.
Some of the devices are already installed and will be quite a hassle to reregister just for updates so I would very much prefer to fix this. Could you recommend some troubleshooting steps?
thank you
User avatar
pzygmunt
Posts: 19512
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

stepankuklis
Posts: 18
Joined: Fri Nov 24, 2023 12:43 pm

Post

Hello, my cloud is not directly reachable, only through a VPN.
Could you please use more words with your answer? Is this the requirement for supla to work?
I would love behaviour like for example unifi controller - it downloads updates from the internet and the applies them when I order it to the devices.
thank you
User avatar
pzygmunt
Posts: 19512
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

Your private cloud must be registered to be able to synchronize the update database. The server must be accessible from the Internet to be registered.
stepankuklis
Posts: 18
Joined: Fri Nov 24, 2023 12:43 pm

Post

Thank you for the clarification. I'm not happy with this and I don't understand why you chose such a design. I don't see any technical reason for this arrangement. Do you publish somewhere a list of IPs from where you need access to my private cloud? I'm not comfortable with exposing to the wild internet.
Or is it one time verification and then I can close the outside access?
User avatar
pzygmunt
Posts: 19512
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

You can only make your instance available to the world for verification purposes, but remember that Supla also offers integration with other solutions such as Google Home or Alexa. If you hide your instance, such integrations will not work. I can also provide you with SQL with the latest updates, but this is a one-time solution that will allow you to access the current day's updates and will not update itself.
stepankuklis
Posts: 18
Joined: Fri Nov 24, 2023 12:43 pm

Post

One-time access is fine. One last question regarding this topic:
We require HTTPS connection.
I have self signed cert, is this problem in this scenario?
User avatar
pzygmunt
Posts: 19512
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

The certificate must be valid. You can use lets encrypt.
stepankuklis
Posts: 18
Joined: Fri Nov 24, 2023 12:43 pm

Post

My instance is now registered and I got confirmation from CLI. How should I proceed with FW updates on devices?
User avatar
pzygmunt
Posts: 19512
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

1. Switch the device to configuration mode.
2. Connect to his WiFi network
3. Open http://192.168.4.1
4. Select "Firmware update" to "YES"
5. Restart your device

Return to “Help”