Tiny web app (sinatra) to control shades (curtains, drapes) via hardware control
Ruby Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
public
shades
test
views
.gitignore
.ruby-gemset
.ruby-version
GPIO.sh
Gemfile
Gemfile.lock
LICENSE
README.md
app.rb
config.ru
run_app.rb
settings.yml
shade.rb
write_packet.rb

README.md

remote_shade_control_app

Tiny web app (sinatra) to control shades (curtains, drapes) via hardware control.

Configure the file via the settings.yml:

production:
    shades:
      - name: "Living Room"
        id: "living_room"
        shade_type: "SomfyShade"
        channel: "2"
        raise_up_time: 30 minutes before
        lower_down_time: 30 minutes after

Shades may have additional settings, see the specific shades libraries for details.

To run the test suite:

ruby test/test.rb

To run the server:

ruby run_app.rb

The settings file uses Chronic for parsing, so it understands all kinds of statements like:

1 hour before
30 minutes after

To fully automate the app, the /auto URL should be "pinged" regularly. Easiest is to set a crontab that will hit the URL every minute. Add this to your /etc/crontab to run every minute:

* *     * * *   root    curl http://localhost/auto

Screenshot:

Remote Shade Control