Page 1 of 12

Python Plugin: Python Plugin Manager

Posted: Friday 23 February 2018 19:25
by ycahome
Hello,

Some thoughts became code.

What if we could use a plugin in order to install other plugins from a list?

So, I did it.


Wiki Link: https://www.domoticz.com/wiki/Python_Plugin_Manager (Thanks to IDANIT)

Compatibility List:
  • Raspberry Pi - Confirmed
  • Ubuntu Debian - Confirmed
  • USERS TO TEST ON DIFFERENT LINUX FLAVORS WANTED
  • Windows - Not Supported

Supported plugins can be found on : https://www.domoticz.com/wiki/Plugins


TO CONTRIBUTE YOUR PLUGINS:
In order to add your plugins to PP-Manager, make a "pull request" with your lines added:
  • Increase version at "...author="ycahome" version="1.5.xx"..." in Line 12
  • Increase version at "...Python Plugin Manager v.1.5.xx..." in Line 14
  • Under 'label="Domoticz Plugin"' in alphabetical order by 'label' and
  • Under 'self.plugindata' in alphabetical order by 'pluginText'





RELEASE NOTES

v.1.5.13

Added: "eQ-3 MAX!" plugin (Thanks to @mvzut)
Added: "SmogTok Air Quality monitor" plugin (Thanks to @smogtok)

v.1.5.9

Fix: Error when no exception files found


v.1.5.8

Fixed: Added "git fetch" before update check to fetch repository details


v.1.5.7

Removed: Daikin Airconditioning (BRP069A42) plugin (already on Domoticz Core)

v.1.5.6


Added: Crow Runner Alarm plugin
Added: Daikin Airconditioning (BRP069A42) plugin
Added: IKEA Tradfri plugin
Added: Life 360 Presence plugin
Added: Pioneer AVR plugin
Added: RAVEn Zigbee energy monitor plugin

v.1.5.5

New: Experimental Feature that parsing all installed plugins (only plugin.py) for specific regex (text patterns)
_____Currently enabled only the "IP Pattern". Scan plugins for IPs on the code in order to avoid data leakage....
______There is a file template (secpoluser.orig). Can be copied to "secpoluser.txt" and include all results that should be excluded.


v.1.5.1

New: Exclusion list file (exceptions.txt) implemented to prevent updates for selected plugins (copy exceptions.orig to exceptions.txt)
Changed: Some restructuring on functions
Fix: Some Bugfixes
Fix: Restructuring Defs

v.1.4.18:

Added: Meteo Alarm EU RSS Reader
Added: Mikrotik RouterOS
Added: Moon Phases

v.1.4.17

Added: Denon/Marantz Amplifier
Added: Disc usage
Added: Dutch earthquakes
Added: Hive Active Heating

v.1.4.10

Added: Xiaomi PM2.5 Sensor
Added: Sony Bravia TV (with Kodi remote)
Changed: Selected (NotifyOnly) is now the default option for auto update



v.1.3.2
-self update on onStop() and every day
-option to update all - daily at 12:00 (all plugins installed from GitHub are candidates)
-logging fixed
-some problems sorted out.

Version 1.2.0 .

Supports:
-self update every 24 hours
-update selected plugin (ad-hoc update) every 24 hours
-more plugins added


FEATURES:
This plugin
  • supports only plugins located on GitHub
  • has a predefined list of plugins to be installed
  • performs plugin installation only if plugin directory not exists
  • performs plugin installation and prompts you to restart Domoticz in order to activate it.
  • Self updates itself on every self.stop() or plugin update
  • option to update selected plugin (ad-hoc update) every 24 hours
  • check for updates for currently installed plugins and notify admin

To install a plugin: select it on "Domoticz Plugin" field and press update


"Auto Update" Options (After every change press "Update")
  • "All": Continuously update all plugins
  • "Selected":Continuously update selected plugin (You should first select desired plugin from "Domoticz Plugin" field)
  • "All (NotifyOnly)": Check all plugins for updates and generate notification email.
  • "Selected (NotifyOnly)":Check selected plugin for updates and generate notification email. (You should first select desired plugin from "Domoticz Plugin" field)


To install another plugin, just select it and press update.


Pending to be implemented:
  • Uninstall plugins
  • standardise execution of a shell file in order to fulfill individual plugin prerequisites
  • check self prerequisites
  • implement scripts for Windows installation



ppManager.JPG
ppManager.JPG (59.86 KiB) Viewed 28260 times



INSTALLATION:
You can download and test it from my GitHub bellow:

https://github.com/ycahome/pp-manager

or you can install and test it from GitHub bellow (git tools required):

go to your plugins folder
and execute

Code: Select all

git clone https://github.com/ycahome/pp-manager.git PP-MANAGER



BEWARE, can be used ONLY ON LINUX SYSTEMS and Raspberry Pi!!!!!!


Waiting for your comments!!!!

Re: Python Plugin: Python Plugin Manager

Posted: Friday 23 February 2018 20:20
by ycahome
G3rard wrote: Saturday 05 August 2017 0:05
You can download the plugin on https://github.com/gerard33/sonos. Instructions on how to setup and use the plugin are also there.
….
Sonos plugin added

Re: Python Plugin: Python Plugin Manager

Posted: Saturday 24 February 2018 10:38
by fkok
Looks Fantastic!!!! :o

Re: Python Plugin: Python Plugin Manager

Posted: Sunday 25 February 2018 12:56
by remb0

Re: Python Plugin: Python Plugin Manager

Posted: Sunday 25 February 2018 17:16
by ycahome
remb0 wrote: Sunday 25 February 2018 12:56 wow great work! definitely something you need when using multiple plugins.

can you add:
https://github.com/ycahome/WAN-IP-CHECKER
https://github.com/Xorfor/Domoticz-Speedtest-Plugin
https://github.com/flatsiedatsie/Mi_Flower_mate_plugin
https://github.com/999LV/NUT_UPS

;)
Thank you!
Mi_Flower_mate_plugin,NUT_UPS are already there
WAN-IP-CHECKER, Domoticz-Speedtest-Plugin will be added on next release together with update functionality

Re: Python Plugin: Python Plugin Manager

Posted: Sunday 25 February 2018 17:32
by EdwinK
Tried it, but no luck when I try to install one of the plugins with it. All devices are gone and I have to uninstall the plugin before they reappear.

Re: Python Plugin: Python Plugin Manager

Posted: Sunday 25 February 2018 18:04
by ycahome
EdwinK wrote: Sunday 25 February 2018 17:32 Tried it, but no luck when I try to install one of the plugins with it. All devices are gone and I have to uninstall the plugin before they reappear.
Will be interesting to have your logs

Re: Python Plugin: Python Plugin Manager

Posted: Sunday 25 February 2018 19:30
by IDANIT
EdwinK wrote: Sunday 25 February 2018 17:32 Tried it, but no luck when I try to install one of the plugins with it. All devices are gone and I have to uninstall the plugin before they reappear.
Same here, domoticz looks like after fresh install. I'm not sure if there have even left any logs...

Re: Python Plugin: Python Plugin Manager

Posted: Sunday 25 February 2018 20:23
by ycahome
Let me say that this plugin is only for Debian based OS and Domoticz installations (although never tested on Raspberry).

The only one requirement has this plugin is "Git tools".

At you at least able to enable debug mode of the plugin?

Re: Python Plugin: Python Plugin Manager

Posted: Sunday 25 February 2018 23:15
by ycahome
Version 1.2.0 released.

Supports:
-self update every 24 hours
-update selected plugin (ad-hoc update) every 24 hours
-more plugins added

Hope you like it more!!

Re: Python Plugin: Python Plugin Manager

Posted: Monday 26 February 2018 20:29
by remb0
raspberry pi latest beta domoticz and up to date raspbian.
after adding pluging I added buienradar. and it say: problems adding hardware.
after that hardwarelist is empty.

Re: Python Plugin: Python Plugin Manager

Posted: Monday 26 February 2018 20:48
by ycahome
2018-02-26 21:46:42.304 Domoticz V3.8153 (c)2012-2017 GizMoCuz
2018-02-26 21:46:42.309 Build Hash: 494fff7, Date: 2017-07-30 13:19:41
2018-02-26 21:46:42.309 Startup Path: /home/pi/domoticz/
2018-02-26 21:46:42.682 Sunrise: 07:09:00 SunSet:18:18:00
2018-02-26 21:46:42.682 EventSystem: reset all events...
2018-02-26 21:46:43.339 PluginSystem: Started, Python version '3.5.3'.
2018-02-26 21:46:43.388 Active notification Subsystems: (0/12)
2018-02-26 21:46:43.393 WebServer(HTTP) started on address: :: with port 8080
2018-02-26 21:46:43.402 Proxymanager started.
2018-02-26 21:46:43.405 Camera: settings (re)loaded
2018-02-26 21:46:43.414 Starting shared server on: :::6144
2018-02-26 21:46:43.421 TCPServer: shared server started...
2018-02-26 21:46:43.421 RxQueue: queue worker started...
2018-02-26 21:46:45.425 Hardware Monitor: Started
2018-02-26 21:46:45.426 I2C_BME280: Worker started...
2018-02-26 21:46:45.453 Pinger: Started
2018-02-26 21:46:45.454 EventSystem: reset all events...
2018-02-26 21:46:45.457 EventSystem: reset all device statuses...
2018-02-26 21:46:45.709 PluginSystem: Entering work loop.
2018-02-26 21:46:46.007 Python EventSystem: Module not found - Trying to initialize.
2018-02-26 21:46:46.012 Python EventSystem: Initalizing event module.
2018-02-26 21:46:46.028 EventSystem: Started
2018-02-26 21:46:47.315 Incoming connection from:
2018-02-26 21:46:48.676 (Wan IP Checker) Initialized version 1.2.2, author 'ycahome'
2018-02-26 21:46:51.187 (PPManager) Initialized version 1.2.15, author 'ycahome'
2018-02-26 21:46:51.250 (Wan IP Checker) Debug log level set to: 'false'.
2018-02-26 21:46:51.263 (PPManager) Debug log level set to: 'false'.
2018-02-26 21:46:51.264 (PPManager) Installation requested for Plugin:Buienradar.nl (Weather lookup)
2018-02-26 21:46:51.264 (PPManager) Plugin Display Name:Buienradar.nl (Weather lookup)
2018-02-26 21:46:51.265 (PPManager) Plugin Author:ffes
2018-02-26 21:46:51.265 (PPManager) Plugin Repository:domoticz-buienradar
2018-02-26 21:46:51.265 (PPManager) Plugin Key:Buienradar
2018-02-26 21:46:51.265 (PPManager) Installing Plugin:domoticz-buienradar
2018-02-26 21:46:51.265 (PPManager) Calling:/usr/bin/git clone -b master https://github.com/ffes/domoticz-buienradar.git Buienradar
2018-02-26 21:46:56.660 (PPManager) Git Error:b"Cloning into 'Buienradar'..."
2018-02-26 21:46:56.661 (PPManager) ---Restarting Domoticz REQUIRED to activate new plugins---
2018-02-26 21:46:59.176 (Wan IP Checker) WAN IP the same. Skipping
2018-02-26 21:47:15.629 (Bedroom) Temp + Humidity + Baro (Bedroom)

© 2012-2018 Domoticz | WWW: Domoticz.co

Strange. My raspi seems to work (2B with 3.8153)

Re: Python Plugin: Python Plugin Manager

Posted: Monday 26 February 2018 20:55
by ycahome
remb0 wrote: Monday 26 February 2018 20:29 raspberry pi latest beta domoticz and up to date raspbian.
after adding pluging I added buienradar. and it say: problems adding hardware.
after that hardwarelist is empty.
Can you delete the plugin and install with the following command (made uppercase the repository-changed also to 1st post):

Code: Select all

git clone https://github.com/ycahome/pp-manager.git PP-MANAGER
Also, after selecting "Buienraar" you press "Update" or "Add"? You should press "Update" button.

This is not a program manager as it should be. Its rather a different use of plugins

Re: Python Plugin: Python Plugin Manager

Posted: Monday 26 February 2018 20:59
by IDANIT
remb0 wrote: Monday 26 February 2018 20:29 raspberry pi latest beta domoticz and up to date raspbian.
after adding pluging I added buienradar. and it say: problems adding hardware.
after that hardwarelist is empty.
So You are third with exactly the same plugin behaviour.

Re: Python Plugin: Python Plugin Manager

Posted: Monday 26 February 2018 21:08
by ycahome
IDANIT wrote: Monday 26 February 2018 20:59 So You are third with exactly the same plugin behaviour.
after selecting plugin to be installed you press "Update" or "Add"? You should press "Update" button.

Re: Python Plugin: Python Plugin Manager

Posted: Monday 26 February 2018 23:05
by ycahome
New version 1.3.2
-self update on onStop() and every day
-option to update all - daily at 12:00 (all plugins installed from GitHub are candidates)
-logging fixed
-some problems sorted out.


Guys, am searching someone to help with raspberry troubleshooting.

Re: Python Plugin: Python Plugin Manager

Posted: Tuesday 27 February 2018 15:08
by remb0
maybe Dnpwwo can help as creator of the python framework?
and maybe joincan join domoticz.slack.com (send me a pm with email)

Re: Python Plugin: Python Plugin Manager

Posted: Wednesday 28 February 2018 10:23
by ycahome
IDANIT wrote: Monday 26 February 2018 20:59
remb0 wrote: Monday 26 February 2018 20:29 raspberry pi latest beta domoticz and up to date raspbian.
after adding pluging I added buienradar. and it say: problems adding hardware.
after that hardwarelist is empty.
So You are third with exactly the same plugin behaviour.
Ok, noticed some strange behavior by myself on my raspberry but :
- cannot find where it comes from
- after restart Domoticz, it works fine.


I will continue to test

BTW a new version is available:
- Notify only feature activated for "selected" and "all" plugin(s) (results sent by email)

Re: Python Plugin: Python Plugin Manager

Posted: Wednesday 28 February 2018 15:23
by IDANIT
I've read somewhere that there are some issues with python 3.5 on Raspbian Stretch.
I've change from 3.5.3 to different Python version (3.4.4) and now everything works fine.
Great Job! Keep it up!
Waiting fo BroadlinkRM2 :D ;)

Re: Python Plugin: Python Plugin Manager

Posted: Wednesday 28 February 2018 15:55
by ycahome
IDANIT wrote: Wednesday 28 February 2018 15:23 I've read somewhere that there are some issues with python 3.5 on Raspbian Stretch.
I've change from 3.5.3 to different Python version (3.4.4) and now everything works fine.
Great Job! Keep it up!
Waiting fo BroadlinkRM2 :D ;)
Seems that BroadlinkRM2 (http://www.domoticz.com/wiki/Plugins/Br ... For_others) is not located on GitHub. Cannot be integrated for now.

Thanks.