I’ve always wanted to publish some apps to Homey Cloud, but unfortunately, Athom requires a brand collaboration in order to publish apps for Homey Cloud. I’ve recently been working on a project that allows community apps to run on Homey Cloud.
NOTE: New installations are currently disabled on request by Athom
Currently, 3 apps are available: HomeWizard Link, HomeWizard Cleaner and Duux Gen2. You can log in with Homey and check it out
It’s free to use, but note that no uptime guarantees can be provided.
If you are a community developer and also want to publish your apps on Homey Cloud, please let me know via DM or reply!
WARNING This project is still in early stage. Apps might get stopped or other bugs may arise. Please report any issues with the cloud service here.
Disclaimer: this project is not affiliated with or endorsed by Athom. Athom cannot provide any support for apps and services from the Homey Cloud Community App Store. Use at your own risk!
I’m not sure why you think this is ok as you’ve said yourself ‘Athom requires a brand collaboration in order to publish apps for Homey Cloud.’ so you are going against the rules. I dont even know how you did this but it obviously requires some kind of unintended hack. I advice you to take this down immediately. Seems you are running the apps in devmode via the CLI?
I have to say that the apps are technically not running on Homey Cloud, but rather on my own infrastructure. I’ve reverse engineered the CLI install flow (using a Homey Cloud, since the CLI allows homey app run for Homey Cloud) and have a wrapper around the homey-app-runner Docker container that starts devkit sessions for each install/Homey and adds multi tenancy so each install barely costs any RAM on the Raspberry Pi. A VPS is used as a network/internet proxy (the code of the apps is modified to use this proxy) to prevent my home IP from being linked to f.e. many login attempts for the manufacturer (e.g. Duux, Homewizard, etc.) server. The VPS is also used as a websocket server to communicate installs to the Pi so that it can install or add the apps. The Vercel function is only a frontend (/api route on there is a rewrite to the VPS domain). The apps themselves run using the homey-app-runner Docker image on a Raspberry Pi inside my house on an isolated network/VLAN (since my VPS only has 1GB RAM shared across many services, while the 2GB Pi is dedicated for running the apps).
The reason I thought a service like this would be fine to offer, is because the apps aren’t running on Homey Cloud infrastructure, but on my own servers. This means that it barely costs any hosting fees (other than the SocketIO connections for each app) for Athom.
Besides this, there are other Github repos available for apps that can be run on Homey Cloud using the same method (f.e. this app also has Homey Cloud support).
I’ll see if I can open source it as well. Currently some secrets like Turso auth token (for the DB) need to be moved to .env still, but when that’s all done, I might be able to open source it and let people use the software on their own infrastructure/Raspberry Pi’s.
The service is now paused, ability to install apps or login has been disabled for now. But would it be OK to offer this now that you know it runs on my own infrastructure?
Although I like your creativity and resourcefullness no it’s not ok. For one you are using our CLI client id and secret which are obviously ment for the CLI and not custom apps. I know more apps misuse this api client but its hard for us to prevent that. If you had asked for a custom api client we would have 100% rejected the idea at that point.
Second it’s still costing us resources even if the apps run in your infrastructure apps can spam our backend. For now we have control over this because we determine which apps are allowed and since they are mostly partners it’s easy for us to contact them and try to get it fixed.
It’s also confusing for users they think it runs in Athom’s cloud but actually is partially runs in yours.
This also is very fragile since our implementation of how dev sessions work can change. Which is very likely now if more people are using this to circumvent app limitations for cloud.
I think the whole reason that we didn’t allow it in the first place should have been an indicator for you as a developer to ask someone internal first instead of just going ahead with it. The other app example you give is just someone saying to run homey app run on cloud which I think is very different from offering a complete infrastructure for this.
So what I meant was “Athom does not allow community apps on the official method, so I built my own service (cloud) to run/install them on Homey Cloud”.
Do you mean the clients that you can create on the Developer Tools? Those only have read only access to some specific resources. They don’t allow devkit sessions to be created. The API clients in the Developer Tools are way too limited for this application, since those only support read only access and device control, but that’s about it.
Yes that’s true. But I have to note that the apps that were offered on the Community Appstore were optimized for Homey Cloud according to the guidelines, and capability state was also cached to prevent unnecessary setCapabilityValue events getting sent (only on actual changes).
I have now fully deleted the project and all associated user data stored in the DB. I’m sorry if this caused any issues or spam.