Yio Remote Community

Survived N**O with little lost and now found this

Hi all.

I just found this campaign and remote. I was and still am very pissed with the lack of fulfillment and communication in that other remote project that most people may recognize. I truely believed that open source and standard hardware combined with openness and an active community is the way to go ;).

I backed and wait now for the kit. Let me know if I can help with software or ideas. I’m more then eager to do so. :wink:

Stefan

2 Likes

@Smarx Welcome to the YIO Project. You may as well join our Discord and can easy ask questions and follow the progress there.

If you like to develop or help with certain stuff, it is always welcome to join the growing team. We have open Projects on Github what we would like to integrate to the remote Software, currently there is a lot of enhancements and background shift for the software to evolve. Best is to ask or join and start with a not yet available stuff. but the code is not yet fixed and changes may be happen quite often.

You can look over here for the projects:

additions are also always welcome.

Welcome Stefan!

I also think that open source is the way to go. Hence this project :wink:
Thanks for backing the project!

We are developing the software with Qt. C++ in the backend. If you’re familiar with that, any help is much appreciated! Or if you have ideas, please share!

Marton

Hey marton.

I will definitely have a look on this. My QT knowledge is a bit rusty (did some very early work on the KDE Project and Not touched QT in years).

I’ll have a look into the current architecture and implementation. I’ve not done active large scale development in the last years as my professional focus is shifted to Enterprise Architectures and Multi team Product Management of SaaS Solutions. Getting back to coding will be fun ;).

I can understand the use of C++ on embedded devices and used to do some heavy C and ASM work on microcontrollers. But have you considered to implement. Plugin interface to open up the Frontend processing to other languages ? Having an open action server or UI Plugins that allow for Kia, Python or modern bindings (golang, rust) may open this for more developers.

The choice on Qt was based on that it’s cross platform. Also can utilise openGL for graphic acceleration, which is quite important for me to have a fluid and responsive UI.

I don’t know if Qt could work with what you have mentioned. I am open for all suggestion, but I think QML is quite nice for creating UIs. It’s like CSS and it actually uses javascript.

Let me know if you have any questions! Also check out this guide to get the app running on your computer, if you want to give it a test ride: https://github.com/YIO-Remote/documentation/wiki/development

Yeah.

On the main application QT is a valid choice if cross platform is a concern. Electron and html would be another one which can be responsive as well even on small RPI.

On the integration/Plugin side the restriction to C language can be prohibitive but it should be easy to add other bindings if a plug-in interface is declared via api. Most of these should even be possible with a language neutral API or even Rest interfaces with reasonable latency (UI Plugins require a direct API and possible component binding, Device and Integration plugins can work with rest or bit buffer style APIs and could have many language bindings.

I’ll have a look into the development environment in the next days.

Stefan

I have tested a html based solution but it was nowhere near the performance that Qt gives. Especially on a pi zero. One other thing that we need to keep in mind is not to use too much resources. It’s running on a battery and we have to conserve it as much as we can :slight_smile:

@Smarx great to see you’re thinking along. There’s a plugin system that can be used for integration with 3rd party software. The Homey integration for instance uses a json styled websocket to a nodeJs application running on Homey, This exposes all Homey sided devices and maintain the states etcetra. Besides the plugin system you can use YIO’s API.
What is the specific use case?

I’m currently brainstorming several things. The heavy one would be an integration with ip.broker or mqtt which will allow control of all physical and virtual devices and all devices managed by iobrocker plugins. In my home homematic and direct HIP is the initial layer for most devices and iobrocker allows virtual scenes and integrates most media systems including the status tracking.

Another integration would be direct control of recording timers and EPG (live tv is centralized based on satIP, IPTV and dvbt+ sources all controlled by a failover cluster running tvheadend. I plan to show epg and timer in the remote and allow for simple timer programming but this would require access to the UI. The centralized concepts where the remote itself is the brain of the system is ideal for this.

I was hoping to crack open NEEO for that purpose but I told to many truth facts in the stormy phase prio to rollout which resulted in them forcing me out of the Kickstarter weeks before the shipment. Which after all was a good thing considering their current direction. But that’s OT :wink: