Page 1 of 1

Introducing the ESPEasy-Plugin-Playground

Posted: 25 Jan 2016, 11:27
by Martinus
It looks like we're getting more community contributed development on plugins so it is time to think about some coordination:

- Numbering should be unique to avoid compilation conflicts
- We need a reserved range for default plugins, should be a collection of "most wanted/needed"
- We need a reserved range for optional plugins that you can manually add to the compiled set of plugins.
- We need a reserved range for private plugin development so these numbers will never conflict with public ones

This will be even more important when we decide to provide default firmware bin files. We can't just stuff everything in there because it will not fit the 512k modules in the end. And since they also use RAM, there's also a limit on the 4M modules.

And it would be a waste if we stuff plugins into the default bin that are hardly used.
We will make an exception for plugins currently available, but from here on, we have to decide if a plugin meets the following criteria to be added to the default bin file:

- Is this a very commonly used peripheral, like DHT11/22, Dallas etc. ?
- Stable code or still in development ?
- Does it add a unique measurement, so not just another temperature sensor...
- If we have a choice between similar devices, cheaper sensors are preferred as default
- Is this device easily obtainable (eBay, AliExpress, ..)

We will start building plugins with a different numbering range then the default range. We can easily change it later if needed and add it to the default bin file.

These will be the reserved numbering ranges for plugins:

001-049 default plugins
050-099 future use
100-199 plugin playground (can be in any state from development to stable)
200-255 private plugins


To have more freedom in using and sharing ideas and code, we have added a new repository for plugin development. This repository will be open for github contributors so they will be able to commit without our permission. So it should be a real unofficial playground. We also have some plugins that have limited use or still in development stage and we will publish them in the new repo.

Re: Introducing the ESPEasy-Plugin-Playground

Posted: 25 Jan 2016, 14:22
by costo
@Martinus,
this is a very very interesting development.

I would like to contribute adding plugins so I'm looking for usefull information about how a plugin should be constructed. I understand there are certain variables in a plugin that are common with other modules like f.i. the webserver module.
Offcourse, all the information is inside the source_code but there is a lack of comments that explain and help understanding the use of many variables and routines.
How can we make the sourcecode more accessible for developers of plugins ?

Re: Introducing the ESPEasy-Plugin-Playground

Posted: 25 Jan 2016, 14:31
by tozett
wonderful development...
as a simple user, i hope not to get lost in growing (plugin) solutions.

if you use github, maybe you think of putting there a list of TO-DO/milestones of things the devs further develop/do and wich are open to the community. so one has an overview over solutions and (maybe) different quality of (same) plugins.

i mentioned it somewhere else, but for contributing/using it would be helpful to see whats an known bug, coming featuere, discussion with solution (wiki) etc.. in ONE place, maybe the github issues with labels..

Re: Introducing the ESPEasy-Plugin-Playground

Posted: 30 Jan 2016, 09:02
by tozett
must make a sticky from this here?

Feature-Request: Core-OS and Plugin-Versioning separation

As i played with the PN532 (and your updated core-Version), it would maybe helpful to differentiate the CORE-OS and a separate PLUGINS Version? Over defines? i am no coder, but so one could go back and forth in Plugins-Versions _without_ changing the Core-Version.

a must-have if there are coming more third-party plugins?

also consider to give this version-status of Core and Plugins in the boot-log and Syslog ... VERY helpful for debugging...

(bytheway: a good thing for the build service... you considered and said, there is demand: http://www.esp8266.nu/forum/viewtopic.p ... t=10#p3597)

Re: Introducing the ESPEasy-Plugin-Playground

Posted: 17 Feb 2016, 18:52
by tozett
i searched lastly for the action-event plugin.
ahhhh, its in the playground.
there is a lack of wiki and main page linkage to the playgound.
maybe a short descrition "how to use/integrate/exchange/test" plugins would be helpful.
i will copy this into the normal source and will try to upload.
hope that is all, what to do to get plugins into firmware (actually R078)..
:o

Re: Introducing the ESPEasy-Plugin-Playground

Posted: 18 Feb 2016, 11:13
by Martinus
tozett wrote:there is a lack of wiki and main page linkage to the playgound.
Because the "playground" is unofficial stuff and I don't want to draw to much attention to it. Maybe we can have a wiki list of plugins that are currently in some state of development.

The event action plugin is sort of abandoned, but it was active by mistake in R48. So I decided to move it to the playground for historic reasons.
The plugin takes a lot of resources and is hardly tested. Use at own risk.

Re: Introducing the ESPEasy-Plugin-Playground

Posted: 18 Feb 2016, 11:29
by tozett
ok, thanks for reply.
i had the impression of considering a development towards a ESPeasy sensor-node in different fashions.
maybe... :roll:

for example one simple node, only sensors,
one heavier - with plugins on more ram...
and one de-centralized, with some logik and functions on its own.

and for the part of some logik and timer, switching and more on an ESPeasy itself, the "action-event-plugin" seemed to me a good place for this.
or at least basically, a selfstanding logic on an ESPeasy could only be in the form of a (lean) plugin.

this example of yours is perfect, as it shows such a logic
(i would also recommend for my homeautomation and RFID door :D )
http://www.esp8266.nu/forum/viewtopic.php?p=4304#p4289

as the modular way with plugins on the ESPeasy i thought the "action-event" would be the right place for such logic,
but if it is not, hmmm, who writes this new bugfree "logic-plugin" for my (and others) nfc-door?
:mrgreen:

Re: Introducing the ESPEasy-Plugin-Playground

Posted: 23 Feb 2016, 10:10
by cherowley
Martinus wrote:
To have more freedom in using and sharing ideas and code, we have added a new repository for plugin development. This repository will be open for github contributors so they will be able to commit without our permission. So it should be a real unofficial playground. We also have some plugins that have limited use or still in development stage and we will publish them in the new repo.
Hi!

How do I upload to the playground as I've not used git before and it keeps telling me I don't' have write access when I click to upload a file. It says it'll create a fork?

Thanks!

Re: Introducing the ESPEasy-Plugin-Playground

Posted: 26 Feb 2016, 11:21
by highroller
How do i add one of the playground plugins to my r78 build?

Re: Introducing the ESPEasy-Plugin-Playground

Posted: 26 Feb 2016, 12:45
by cherowley
highroller wrote:How do i add one of the playground plugins to my r78 build?
Hi,

Download the plugin file and drop it in the same directory on your computer as the other plugins are in. Compile as normal and flash. voila!

Re: Introducing the ESPEasy-Plugin-Playground

Posted: 27 Feb 2016, 16:21
by tozett
cherowley wrote:
highroller wrote:How do i add one of the playground plugins to my r78 build?
Hi,

Download the plugin file and drop it in the same directory on your computer as the other plugins are in. Compile as normal and flash. voila!
maybe the dev/admin could put these instructions in the readme.md on github.
here it is hard to find, how to activate plugins... :cry:

Re: Introducing the ESPEasy-Plugin-Playground

Posted: 28 Feb 2016, 18:46
by BerndJ
tozett wrote:..... how to activate plugins...
Hi,

download the .zip file in the playground
unzip it
take yr choice and copy the pxxx file u want to include.
paste it to espeasy.ino in your arduino IDE
compile it

and enjoy

BerndJ

BTW: it would be nice to get the following sites available:
http://www.esp8266.nu/index.php/Plugin105
http://www.esp8266.nu/index.php/Plugin106

also a little bit of introduction regarding playground here:
http://www.esp8266.nu/index.php/Main_Page
or a new one:
http://www.esp8266.nu/index.php/Playground

next:
there is a fork in ESPeasy, solves my pelletstove tank problem, would be nice to include

and if it helpful:
http://www.esp8266.nu/forum/viewtopic.p ... 4532#p4293

Re: Introducing the ESPEasy-Plugin-Playground

Posted: 28 Feb 2016, 19:19
by tozett
tozett wrote:here it is hard to find, how to activate plugins... :cry:
thanks for instructions. i already did it without instructions, but:
my intention for the post was, to push this information to the place, where normal geeks would look for this. at first.
the forum is becoming a jungle, and i guess, not the best place to find all of this small and vaulable information quick as one needs
for testing and having fun with the easy espeasy... :P