Skip to content

Conversation

@OvisMaximus
Copy link
Contributor

  • Macro Engine re-implemented, gpio library changed to a file system based one.
    • macros can call other macros.
    • the default delay can be set on a per macro basis.
    • lirc and gpio act as servants which provide call and validation of macro steps
    • breaking change: the macro format has to be changed. see test/fixtures/config.json
    • macros can provide and rely on virtual state.
    • development on mac/windows/linux is possible again since wiring-pi isnt necessary anymore
    • when run as a service, it doesn't has to be run as root anymore, group membership in gpio is sufficient.

open: automatic resolving of virtual state dependency e.g. user triggers "Watch Bluray", blu-ray needs projector on, projector on needs lowered screen.

"name": "all off",
"defaultDelay": 20,
"sequence": [
[ "call", "lights off"],
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe that if this was called macro it would be more intuitive.

Copy link
Contributor Author

@OvisMaximus OvisMaximus Jan 1, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

since the sequence is just a property of the macro, but not the macro itself, it would lead to less intuitive expressions on the code side. Although I see your point, I'd suggest to keep it.

"lirc_web": "./app.js"
},
"config": {
"test_env": true
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be set to false by default?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as far as I have understood, this is applied only on calls of the script section. There we only have test calls and this default is exactly what we need.

@alexbain
Copy link
Owner

Sorry for the delay. I took some time today and read through this. I appreciate how you refactored the macro engine, I do think this is a cleaner separation than how it was before. I also believe this could be a good step towards supporting additional communication protocols (http, zwave) as I'd mentioned in an earlier comment.

I'll attempt to run this on my raspberryPi, updating my macros to match the new standard, when I get some time.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants