=Description=
==Goal==
Enhance KDE Plasma and apps by exposing various sensors and actuators through the local network, providing seamless integration with Home Assistant (HA) and other smart home platforms. AI systems could also strongly take advantage of this for things such as **voice control**.
By achieving this goal, KDE Plasma will become an even more integral part of users' digital lives, seamlessly integrating with their smart home environments and providing them with enhanced control, automation, and privacy.
==Improvement /change==
The aim is to extend what **KDE Connect** has amazingly done already, by adding functionalities which expose system and application data as sensors and actuators over the local network. Here are some examples of the virtually infinite possibilities:
- Exposing CPU temperature as a **Matter** sensor.
- Providing Wi-Fi, Bluetooth, and other system toggles as Matter toggles.
As a Home Assistant user and fan, here are some extra things that the HA community would most probably love:
- accessing (maybe controlling?) Plasma's **accent color**.
- sensor for current desktop number/name.
- current Plasma **user**.
- sensor for **camera/microphone use** (for example, to automatically turn on a red light indicating the user is "probably" on a call).
- triggering automation for specific Plasma notification
- ...
With the increasing popularity of **smart home** and **AI** technologies, there is a growing need for deeper integration between desktop environments and home automation systems. By making this data and actuators available, KDE can become a central part of users' smart home ecosystems, offering enhanced control and automation capabilities.
==Connection to KDE's Vision==
This goal aligns with KDE's vision of "A world in which everyone has control over their digital life and enjoys freedom and privacy" by:
- Empowering users with greater control over their digital and physical environments.
- Enhancing user privacy by ensuring data is shared locally and securely within the user's home network.
==Impact on KDE==
This initiative will affect multiple parts of KDE, including:
- KDE Plasma: Enhancements to system monitoring and control features.
- KDE Connect: Expansion of its capabilities to support more types of data and control.
- KDE Applications: Potential updates to expose relevant data as sensors/actuators.
- Plasma Mobile: of course, this feature also makes a lot of sense for Plasma Mobile, as a mobile device is an amazing tool for home automation, for tracking location, Wi-Fi usage, etc...
- Community: Attracting new users and developers interested in smart home and AI integration.
==My bias==
Nowadays my 2 main daily tools are probably KDE Connect and Home Assistant, so that's why I feel so strongly about the possibilities with interoperability at that level.
=What it will take=
==Plan==
===Research===
- Investigation on Matter protocol and other standards for this kind of interoperability. The most generic the solution, the better integration.
- Define a roadmap and identify key components and data points to expose.
===Development===
- Extend KDE Connect to support new sensors and actuators.
- Develop APIs and plugins to expose Plasma and app data.
- Implement Matter protocol support for interoperability with HA or whatever smart home platform.
- **Official Home Assistant integration for KDE Plasma**. Work closely with HA community.
==Documentation and Promotion===
- Create comprehensive documentation for developers and users.
- Add easy GUIs for handling what sensors should be open/closed only on localhost, local network...
- Promote the new features through KDE's channels and community outreach.
==Support needed==
- Technical: Developers with experience or willing to dive into KDE Connect, Matter protocol, and HA integration.
- Community Engagement: Users and developers to provide feedback and testing.
- Documentation: Contributors to help with creating documentation and promoting the new features.
=How we know we succeeded=
- User Adoption: Increased use of KDE Plasma in smart home setups.
- Community Feedback: Positive feedback from users and developers.
- Official Integration: Availability of an official HA integration for KDE Plasma.
- Measurable Impact: Enhanced control and automation capabilities for users within their smart home and AI environments.
=Relevant links=
==Related propositions for KDE Goals 2024==
- [T17383 AI/LLM assistant integration](https://phabricator.kde.org/T17383): strongly related, as for nice AI assistant control, sensors and actuators must be available somehow so the AI system can execute commands or read variables.
- [T17373 Smooth inter device interoperability](https://phabricator.kde.org/T17373): related in terms of expanding KDE Connect's reach, but focused more on working between different devices.
- [T17372 Refining and Enriching KDE Plasma: Empowering Users with Convenient and Intuitive Features](https://phabricator.kde.org/T17372): this isn't a new feature, but rather is just making current KDE features reach beyond the computer in an easy manner, with full support from KDE.
- [T17395 Config KDE (and posibbly KDE core apps) via API](https://phabricator.kde.org/T17395): maybe more in name than in content, but maybe this "parametrization" of Plasma could also allow for some feature explained in this task.
==External links==
- [[ https://en.wikipedia.org/wiki/Matter_(standard) | Matter protocol ]]
- [https://www.home-assistant.io/](Home Assistant)
- [https://kdeconnect.kde.org/](KDE Connect)
- [https://plasma-mobile.org/](Plasma Mobile)
=Champions=
//We want this year's goals to be driven by small teams. Who will be this goals champions if selected? If you don't yet have a small team please mention what you are looking for still so others can step up. We believe a goal generally needs someone who can carry the vision of the goal forward, someone who can technically steer it and someone to promote it.//
The team is:
* Visionary lead: XXX //(if there is no one else willing to push for this, I may consider the position but I do not have much time)//
* Technical lead: XXX
* Promotion: @ivangj (me) //(again, if someone thinks that they can lead this part, please propose yourself, I certainly don't think I am the most prepared for this, not even close 😅, help is always needed)//
=I am willing to put work into this=
* @ivangj : I don't have much time in a week (maybe 5 hours?), but I know some Python, Git... I may be able to help out a bit in development, and particularly in promotion and testing.
=I am interested=
* @ivangj