Vue-dom is a web front end for home automation software (currently only support Jeedom).
- 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).
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
.
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.
Vue-dom is maintained under the semantic versioning guidelines.
See the releases on this repository for changelog.
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.
- Nioc - Initial work
See also the list of contributors to this project.
This project is powered by the following components:
- VueJS (MIT)
- Bulma (MIT)
- Oruga UI (MIT)
- Font Awesome (Font Awesome Free License)
- axios (MIT)
- normalizr (MIT)
- Chart.js (MIT)
- Pinia (MIT)
- date-fns (MIT)
- TinyDuration (MIT)
- Video.js (Apache License)
- D3.js (ISC)
- vue-draggable-next (MIT)
This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details