Experimental Next-Gen Rules Engine Documentation 1 of : Introduction

Thanks, once I get the Actions documented I’ll look at Templates next. The more I’m learning the more I’m excited about the ERE. If we can fill some of the gaps (Member of triggers) and get Yannick to work on his ERE UI again this is going to be awesome! Node Red ain’t got nothing on us. :smiley:

It isn’t super clear to me yet what Templates are. My first thought was to build a version of lewie’s library as a template so we don’t have to download and separately maintain it. It would be pretty freaking awesome if all those convenience methods were just there for those who want them.

I like the idea of using some of the DPs as templates too. Especially the more stand alone ones like Time of Day or Motion Sensor Timer.

I feel like I’m starting to understand how this works from a scripting perspective. It’s now more just the tedium at this point of documenting each and every thing that people will want to/need to do to transfer their Rules from Rules DSL and finding more JS native ways to do some things and work arounds for things that are lacking.

The lack of global variables is a big hole right now that is unique to PaperUI created Rules. Without them timers and storeStates/restoreStates are all but useless. I can only do so much with Item metadata. I know that isn’t a problem for regular JSR223 Rules.

ERE Rules don’t use up threads in the Rules threadpool, right? Do you know of any limit or problems if we flip the usual recommendation and push using sleeps instead of Timers? Of course there is the Expire based timers, but that will increasingly become awkward as there remain fewer and fewer critical 1.x bindings like that. And because each Rule lives in isolation it means the code that occurs when the Expire timer goes off will be completely separate from the Rule(s) that set the timer. I’ve thought about giving it a go to build a 2.x version of it but I can’t figure out how that would work as a 2.x binding. I don’t want to have to create a separate Thing or Channel for each Item that needs to Expire.

I’m rambling. Thanks for feeding me all this good info. It has been a tremendous help.

1 Like