/vue-dom

Web front end for the home automation software Jeedom

Primary LanguageVueGNU Affero General Public License v3.0AGPL-3.0

Vue-dom

license: AGPLv3 GitHub release GitHub downloads GitHub Workflow Status Docker Pulls Docker Image Size (latest by date)

Vue-dom is a web front end for home automation software (currently only support Jeedom).

Key features

  • display rooms with summary,
  • display room with logical equipments,
  • display logical equipments by tags,
  • display info statistics (min, average and max) and history chart,
  • display and start scenarios,
  • display system notifications,
  • ask query (interaction),
  • user authentication with login and password (not stored in application),
  • communicate with your back-end software through JSON-RPC API and websocket, authorized with user API key,
  • reduce data traffic,
  • responsive,
  • progressive web app (offline access).

Check out the live demo (since using mock data, there is no effective action and inconsistencies may occur).

Installation

As a local Apache/Nginx virtual host

For basic use, you just have to:

  • download latest release archive,

  • unarchive in /var/www/vue-dom/,

  • add following lines in Apache virtual hosts /etc/apache2/sites-enabled/default-ssl.conf and /etc/apache2/sites-enabled/000-default.conf, inside <VirtualHost> section:

            alias /vue-dom/ /var/www/vue-dom/
            <Directory /var/www/vue-dom>
                    Options -Indexes -FollowSymLinks -MultiViews -ExecCGI
                    AllowOverride none
                    Order allow,deny
                    allow from all
            </Directory>
    
  • set your back end (Jeedom) url in /var/www/vue-dom/local.js.

As docker container

If you are using Docker, you can pull the Docker image and run with your own url:

docker run -p 80:80 --rm \
-e TITLE="VueDom - Home" \
-e PROVIDER="system: 'jeedom', jsonRpcApiUrl: 'https://192.168.1.50/core/api/jeeApi.php', websocketUrl: 'wss://192.168.1.50/socket/', statisticsPeriod: 86400000, trendPeriod: 7200000, trendThreshold: 0.1," \
-e COMPONENTS="SynologyRouterManager: 'SynologyRouterManager', NetatmoSecurity: 'NetatmoSecurity'," \
--name vue-dom-1 \
nioc/vue-dom:latest

Or run service in a docker-compose.yml file:

version: "3.4"
services:
  vue-dom:
    image: nioc/vue-dom:latest
    ports:
      - "80:80"
    environment:
      TITLE: VueDom - Home
      PROVIDER: "system: 'jeedom', jsonRpcApiUrl: 'https://192.168.1.50/core/api/jeeApi.php', websocketUrl: 'wss://192.168.1.50/socket/', statisticsPeriod: 86400000, trendPeriod: 7200000, trendThreshold: 0.1,"
      COMPONENTS: "SynologyRouterManager: 'SynologyRouterManager', NetatmoSecurity: 'NetatmoSecurity',"

For more advanced use (adding your own component, style, ...), you have to follow the contributing guide and edit Vue code.

Versioning

Vue-dom is maintained under the semantic versioning guidelines.

See the releases on this repository for changelog.

Contributing

If you have a suggestion for a feature you think would enhance this product, please submit a feature request. Pull requests are welcomed. See contributing.

Credits

  • Nioc - Initial work

See also the list of contributors to this project.

This project is powered by the following components:

License

This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details