Python Plugin Store

Python and python framework

Moderator: leecollings

domovincent
Posts: 30
Joined: Friday 18 March 2022 13:55
Target OS: Raspberry Pi / ODroid
Domoticz version: 2026.2
Contact:

Python Plugin Store

Post by domovincent »

I’m excited to announce the release of PyPluginStore! This is a fork of the original Python Plugin Manager (pp-manager),
(Python 3.13+ compatible).

🌟 The Star of the Show: A Brand New Plugin Store UI
We’ve added a responsive web interface right inside the Domoticz Custom menu.
* 1-Click Management: Install, update, or remove plugins effortlessly—no more SSH or manual folder dropping!
* Search & Filter: Snappy type-ahead search and an "Installed" toggle make finding what you need a breeze.
* Direct Repo Links: Check out a plugin’s source code instantly right from its card.
store.png
store.png (116.5 KiB) Viewed 6924 times
🚀 Other Major Upgrades:
* Bulletproof Dependencies: Safely isolates dependencies in a .shared_deps folder without requiring sudo or global pip. Uses uv for blazing-fast installs (if possible).
* Smarter Security: The built-in AST scanner has been overhauled to better catch malicious code while vastly reducing false positives (like ignoring private IPs).
* Auto-Updating: Let the store automatically update your plugins, or just notify you when updates are ready.
* Decoupled Registry: The plugin list syncs dynamically from GitHub every month, meaning you get new plugins in your store without needing to update the manager itself!

📥 Quick Install (Linux/Raspberry Pi):
Simply clone it into your plugins folder as 00-PyPluginStore. (Note: Existing users using 00-PP-MANAGER don't need to rename their folder, the code is fully backwards compatible!)

1 cd domoticz/plugins
2 git clone https://github.com/adrighem/PyPluginStore.git 00-PyPluginStore
3 sudo systemctl restart domoticz.service

Check out the full details and screenshots on the GitHub Repository (https://github.com/adrighem/PyPluginStore).

I'd love to hear your feedback on the new interface. Happy automating! 🏡✨
Domoticz (RPI 5), Z-Wave, 433, MQTT, ANWB-energy. Happy user since 2017
Thorgal789
Posts: 920
Joined: Wednesday 15 August 2018 14:38
Target OS: -
Domoticz version:
Contact:

Re: Python Plugin Store

Post by Thorgal789 »

Ha yes, the first real plugin store ^^.

I can't make return yet, because I don't work on y test machine.

Code: Select all

2026-05-11 17:51:12.279  Error: Store: Windows Platform NOT YET SUPPORTED!!
And the raspbian host is not yet available.

But the interface is clear, I realy like simple UI.
Menno
Posts: 46
Joined: Wednesday 24 July 2019 13:23
Target OS: Linux
Domoticz version: 2026.1
Contact:

Re: Python Plugin Store

Post by Menno »

I installed this, following the instructions.
I don't see a plugin store, nor do I have a "Custom" menu item (only custom icons).
Do I somehow have to enable this menu?
Running 2026.1 on Raspberry Pi.
User avatar
madpatrick
Posts: 889
Joined: Monday 26 December 2016 12:17
Target OS: Linux
Domoticz version: 2026.1
Location: Netherlands
Contact:

Re: Python Plugin Store

Post by madpatrick »

Great initaitive.

I've send a PR with my additions

Maybe remove the word "Domoticz" infornt of every name
Make it easier to read the plugins in the overview
For the install directoory is it also better because it will be a long path
-= HP server GEN11 =- ZwaveJS-=- Domoticz v2026.2 -=- Dashticz =-
-= Checkout https://github.com/MadPatrick for the plugins =-
Thorgal789
Posts: 920
Joined: Wednesday 15 August 2018 14:38
Target OS: -
Domoticz version:
Contact:

Re: Python Plugin Store

Post by Thorgal789 »

Menno wrote: Sunday 31 May 2026 11:15 I don't see a plugin store, nor do I have a "Custom" menu item (only custom icons).
Do I somehow have to enable this menu?
Yes, this tab can be optional, you have it on Settings/User
Menno
Posts: 46
Joined: Wednesday 24 July 2019 13:23
Target OS: Linux
Domoticz version: 2026.1
Contact:

Re: Python Plugin Store

Post by Menno »

Yes, I have the option now.
However, the store remains empty and I see errors in my log:

Code: Select all

2026-06-01 23:35:08.263  Error: Plugin Store: Expected: myVar = Domoticz.Device(Name="myDevice", Unit=0, TypeName="", Type=0, SubType=0, SwitchType=0, Image=0, Options={}, Used=1). Note: Parameter names are case-insensitive.
2026-06-01 23:35:08.263  Error: Plugin Store: Call to function 'CDevice_init' failed, exception details:
2026-06-01 23:35:08.298  Error: Plugin Store: Exception: 'TypeError: 'protected' is an invalid keyword argument for this function'.  No traceback available.
2026-06-01 23:35:08.298  Error: Device creation failed, Device object is not associated with a plugin.
2026-06-01 23:35:08.298  Error: Plugin Store: Expected: myVar = Domoticz.Device(Name="myDevice", Unit=0, TypeName="", Type=0, SubType=0, SwitchType=0, Image=0, Options={}, Used=1). Note: Parameter names are case-insensitive.
2026-06-01 23:35:08.298  Error: Plugin Store: Call to function 'CDevice_init' failed, exception details:
2026-06-01 23:35:08.298  Error: Plugin Store: Exception: 'TypeError: 'protected' is an invalid keyword argument for this function'.  No traceback available.
2026-06-01 23:35:08.298  Error: Device creation failed, Device object is not associated with a plugin.
User avatar
madpatrick
Posts: 889
Joined: Monday 26 December 2016 12:17
Target OS: Linux
Domoticz version: 2026.1
Location: Netherlands
Contact:

Re: Python Plugin Store

Post by madpatrick »

Menno wrote: Monday 01 June 2026 23:41 Yes, I have the option now.
However, the store remains empty and I see errors in my log:

Code: Select all

2026-06-01 23:35:08.263  Error: Plugin Store: Expected: myVar = Domoticz.Device(Name="myDevice", Unit=0, TypeName="", Type=0, SubType=0, SwitchType=0, Image=0, Options={}, Used=1). Note: Parameter names are case-insensitive.
2026-06-01 23:35:08.263  Error: Plugin Store: Call to function 'CDevice_init' failed, exception details:
2026-06-01 23:35:08.298  Error: Plugin Store: Exception: 'TypeError: 'protected' is an invalid keyword argument for this function'.  No traceback available.
2026-06-01 23:35:08.298  Error: Device creation failed, Device object is not associated with a plugin.
2026-06-01 23:35:08.298  Error: Plugin Store: Expected: myVar = Domoticz.Device(Name="myDevice", Unit=0, TypeName="", Type=0, SubType=0, SwitchType=0, Image=0, Options={}, Used=1). Note: Parameter names are case-insensitive.
2026-06-01 23:35:08.298  Error: Plugin Store: Call to function 'CDevice_init' failed, exception details:
2026-06-01 23:35:08.298  Error: Plugin Store: Exception: 'TypeError: 'protected' is an invalid keyword argument for this function'.  No traceback available.
2026-06-01 23:35:08.298  Error: Device creation failed, Device object is not associated with a plugin.
Check out PR #10
https://github.com/adrighem/PyPluginStore/pull/10

This solved for me the issue
You can download the files manually if it has not merged
Or via my forked git until it has been merged in the original git
https://github.com/MadPatrick/PyPluginStore
-= HP server GEN11 =- ZwaveJS-=- Domoticz v2026.2 -=- Dashticz =-
-= Checkout https://github.com/MadPatrick for the plugins =-
User avatar
madpatrick
Posts: 889
Joined: Monday 26 December 2016 12:17
Target OS: Linux
Domoticz version: 2026.1
Location: Netherlands
Contact:

Re: Python Plugin Store

Post by madpatrick »

Hi DomoVincent

Is it possible to add a button "restart Domoticz"
When you install or update a plugin you need to restart domoticz, but this has to be done from the command line

And how do you update the PluginStore plugin from his own menu ?

When a update is avaialble you will get a message.
Is it possible to change the color of the update button of the plugin which can can be updated ?
Now they are al green ;)
2026-06-12 16_20_30-Greenshot.png
2026-06-12 16_20_30-Greenshot.png (23.75 KiB) Viewed 5909 times
-= HP server GEN11 =- ZwaveJS-=- Domoticz v2026.2 -=- Dashticz =-
-= Checkout https://github.com/MadPatrick for the plugins =-
domovincent
Posts: 30
Joined: Friday 18 March 2022 13:55
Target OS: Raspberry Pi / ODroid
Domoticz version: 2026.2
Contact:

Re: Python Plugin Store

Post by domovincent »

Menno wrote: Monday 01 June 2026 23:41 Yes, I have the option now.
However, the store remains empty and I see errors in my log:

Code: Select all

2026-06-01 23:35:08.263  Error: Plugin Store: Expected: myVar = Domoticz.Device(Name="myDevice", Unit=0, TypeName="", Type=0, SubType=0, SwitchType=0, Image=0, Options={}, Used=1). Note: Parameter names are case-insensitive.
2026-06-01 23:35:08.263  Error: Plugin Store: Call to function 'CDevice_init' failed, exception details:
2026-06-01 23:35:08.298  Error: Plugin Store: Exception: 'TypeError: 'protected' is an invalid keyword argument for this function'.  No traceback available.
2026-06-01 23:35:08.298  Error: Device creation failed, Device object is not associated with a plugin.
2026-06-01 23:35:08.298  Error: Plugin Store: Expected: myVar = Domoticz.Device(Name="myDevice", Unit=0, TypeName="", Type=0, SubType=0, SwitchType=0, Image=0, Options={}, Used=1). Note: Parameter names are case-insensitive.
2026-06-01 23:35:08.298  Error: Plugin Store: Call to function 'CDevice_init' failed, exception details:
2026-06-01 23:35:08.298  Error: Plugin Store: Exception: 'TypeError: 'protected' is an invalid keyword argument for this function'.  No traceback available.
2026-06-01 23:35:08.298  Error: Device creation failed, Device object is not associated with a plugin.
Yeah, this was a kindof dumb one on my side. It's fixed now and should be working as expected.
Domoticz (RPI 5), Z-Wave, 433, MQTT, ANWB-energy. Happy user since 2017
domovincent
Posts: 30
Joined: Friday 18 March 2022 13:55
Target OS: Raspberry Pi / ODroid
Domoticz version: 2026.2
Contact:

Re: Python Plugin Store

Post by domovincent »

Another <insert time unit here>, another release. Initial Windows Support was added. Hope you all like it.
Domoticz (RPI 5), Z-Wave, 433, MQTT, ANWB-energy. Happy user since 2017
pfloryann
Posts: 254
Joined: Wednesday 09 January 2019 10:14
Target OS: Raspberry Pi / ODroid
Domoticz version: 2026.3
Location: BlooeSky
Contact:

Re: Python Plugin Store

Post by pfloryann »

It would be nice if the plugin would scan the domoticz plugins folder to check if there are any plugins installed before there are any Python Plugin Store. For example, there are already several plugins installed before, and the Plugin Store does not detect them and offers the possibility of reinstalling them.
Domoticz on Raspberry Pi 4 Debian 13 x64
Zigbee2mqtt and zigbee devices (Xiaomi, Ikea,Tuya, Philips, Osram), Broadlink, Solar power Victron Energy, Yeelight, Xiaomi Purifier Pro, Roborock S5, Gree AC, JBL soundbar, Philips Android Tv
domovincent
Posts: 30
Joined: Friday 18 March 2022 13:55
Target OS: Raspberry Pi / ODroid
Domoticz version: 2026.2
Contact:

Re: Python Plugin Store

Post by domovincent »

:geek: Guess what?

Implemented.
Domoticz (RPI 5), Z-Wave, 433, MQTT, ANWB-energy. Happy user since 2017
User avatar
madpatrick
Posts: 889
Joined: Monday 26 December 2016 12:17
Target OS: Linux
Domoticz version: 2026.1
Location: Netherlands
Contact:

Re: Python Plugin Store

Post by madpatrick »

due the update now some installed plugins are not visible any more as installed
Even after reinstalling
See git issue
-= HP server GEN11 =- ZwaveJS-=- Domoticz v2026.2 -=- Dashticz =-
-= Checkout https://github.com/MadPatrick for the plugins =-
pfloryann
Posts: 254
Joined: Wednesday 09 January 2019 10:14
Target OS: Raspberry Pi / ODroid
Domoticz version: 2026.3
Location: BlooeSky
Contact:

Re: Python Plugin Store

Post by pfloryann »

I have 2 plugins installed for several years, xiaomi-mi-robot-vacuum and broadlink, and they do not appear installed in the Plugin Store, which is what I sent.
Domoticz on Raspberry Pi 4 Debian 13 x64
Zigbee2mqtt and zigbee devices (Xiaomi, Ikea,Tuya, Philips, Osram), Broadlink, Solar power Victron Energy, Yeelight, Xiaomi Purifier Pro, Roborock S5, Gree AC, JBL soundbar, Philips Android Tv
domovincent
Posts: 30
Joined: Friday 18 March 2022 13:55
Target OS: Raspberry Pi / ODroid
Domoticz version: 2026.2
Contact:

Re: Python Plugin Store

Post by domovincent »

I have released a new version of the Plugin Store that should detect all of the local installs that are still alive on github.
If yours aren't detected, then please open an issue on github that contains the folder name, if it's a git clone or a zip install, which github repo it is supposed to be, and how old it is.
Domoticz (RPI 5), Z-Wave, 433, MQTT, ANWB-energy. Happy user since 2017
eddieb
Posts: 431
Joined: Wednesday 04 July 2018 7:48
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Netherlands
Contact:

Re: Python Plugin Store

Post by eddieb »

does not show as menu on older domoticz 2025.1 (build 16682)
RPI4 Beta / Tasmota / ZigBee2MQTT / P1meter / Haier AC MQTTmapper / SolarEdge SE3500H modbus_tcp / IndeVolt SF3000 / Opentherm gateway / Plugwise Anna/Smile / ObserverIP weatherstation thru WuDirect
Feeding ADSB https://adsb.im/home
User avatar
mvveelen
Posts: 721
Joined: Friday 31 October 2014 10:22
Target OS: NAS (Synology & others)
Domoticz version: Beta
Location: Hoorn, The Netherlands
Contact:

Re: Python Plugin Store

Post by mvveelen »

Hi great plugin! I just installed it and saw I had an update for the Volvo plugin and updated via the plugin.

But is it just me or does the "restart Domoticz" button not work?
RPi3b+/RFXCOM rfxtrx433E/Shelly/Sonoff Zigbee Gateway/Philips HUE Lights/Atag Zone One/2 SunnyBoy inverters/AirconWithMe/P1 smartmeter/Domoticz latest Beta
domovincent
Posts: 30
Joined: Friday 18 March 2022 13:55
Target OS: Raspberry Pi / ODroid
Domoticz version: 2026.2
Contact:

Re: Python Plugin Store

Post by domovincent »

Thanks!

About the restart: there is a bit (maybe not enough?) about it in the readme. It requires sudo rights to do the restart on Linux, or system right via domoticz on windows. Read the readme, and let's see if that helps.

If not, open an issue on github and we'll investigate. Maybe documentation needs improvement, or maybe we need to change logging, or maybe there's an actual bug to solve.
Domoticz (RPI 5), Z-Wave, 433, MQTT, ANWB-energy. Happy user since 2017
User avatar
mvveelen
Posts: 721
Joined: Friday 31 October 2014 10:22
Target OS: NAS (Synology & others)
Domoticz version: Beta
Location: Hoorn, The Netherlands
Contact:

Re: Python Plugin Store

Post by mvveelen »

Ah, I see.

In the log I see:

Code: Select all

[2026-06-27T11:01:00] restart requested
[2026-06-27T11:01:00] launching Python restart helper: /usr/bin/python3
[2026-06-27T11:01:00] restart helper started
[2026-06-27T11:01:02] trying command group 1
[2026-06-27T11:01:02] running: sudo -n systemctl restart domoticz.service
[2026-06-27T11:01:02] return code: 1
[2026-06-27T11:01:02] stderr: sudo: een wachtwoord is verplicht
[2026-06-27T11:01:02] trying command group 2
[2026-06-27T11:01:02] running: systemctl restart domoticz.service
[2026-06-27T11:01:02] return code: 4
[2026-06-27T11:01:02] stderr: Failed to restart domoticz.service: Access denied
See system logs and 'systemctl status domoticz.service' for details.
[2026-06-27T11:01:02] trying command group 3
[2026-06-27T11:01:02] running: sudo -n service domoticz restart
[2026-06-27T11:01:02] return code: 1
[2026-06-27T11:01:02] stderr: sudo: een wachtwoord is verplicht
[2026-06-27T11:01:02] trying command group 4
[2026-06-27T11:01:02] running: service domoticz restart
[2026-06-27T11:01:02] return code: 4
[2026-06-27T11:01:02] stderr: Failed to restart domoticz.service: Access denied
Do you think this is an issue I must raise?

Running Domoticz on a NUC with Linux btw.
RPi3b+/RFXCOM rfxtrx433E/Shelly/Sonoff Zigbee Gateway/Philips HUE Lights/Atag Zone One/2 SunnyBoy inverters/AirconWithMe/P1 smartmeter/Domoticz latest Beta
domovincent
Posts: 30
Joined: Friday 18 March 2022 13:55
Target OS: Raspberry Pi / ODroid
Domoticz version: 2026.2
Contact:

Re: Python Plugin Store

Post by domovincent »

mvveelen wrote: Saturday 27 June 2026 14:12 Ah, I see.

In the log I see:
<snip>log

Do you think this is an issue I must raise?

Running Domoticz on a NUC with Linux btw.
No need to raise an issue. The log is clear and I'll improve the store restart logic to be a bit more explicit. This log is correct behaviour by the plugin. And the system prevents the restart as expected because nothing has been setup to allow this.

The README has been updated and now contains extensive documentation on how to allow the restart to succeed: https://github.com/adrighem/PyPluginSto ... art-button

Either implement the sudo or the polkit variant, depending on personal taste or platform support. This is quite technical, but doable. After that, the restart will function as expected.
Domoticz (RPI 5), Z-Wave, 433, MQTT, ANWB-energy. Happy user since 2017
Post Reply