Skip to content

Commit

Permalink
Merge branch 'stage' of https://github.com/Z-Wave-Me/ExpertUI
Browse files Browse the repository at this point in the history
# Conflicts:
#	app/lang/language.ru.json
  • Loading branch information
Martin Vach committed Jul 31, 2017
2 parents 9e05db7 + 2218097 commit 0ec3783
Show file tree
Hide file tree
Showing 561 changed files with 68,527 additions and 196,185 deletions.
182 changes: 149 additions & 33 deletions Gruntfile.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,25 @@
module.exports = function (grunt) {
// Application type : default/installer
var pkg = grunt.file.readJSON('package.json');
var app_type = pkg.app_type;
var app_cfg = pkg.type_cfg[pkg.app_type];
var app_version = pkg.v;
var git_message = pkg.v;
var app_rc = (pkg.rc ? pkg.rc + 1 : 0);

if (app_rc) {
app_version += '-RC-' + app_rc;
git_message += '-RC-' + pkg.rc;
}
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
//pkg: grunt.file.readJSON('package.json'),
// Banner
banner: 'Copyright: Z-Wave Europe, Created: <%= grunt.template.today("dd-mm-yyyy HH:MM:ss") %>',
// Clean dir
clean: {
options: {force: true},
build: ["dist/"]
build: [app_cfg.dir + '/']
},
// NG templates
ngtemplates: {
Expand All @@ -28,39 +39,37 @@ module.exports = function (grunt) {
}
},
src: 'app/views/**/*.html',
dest: 'dist/app/js/templates.js'
dest: app_cfg.dir + '/app/js/templates.js'
}
},
// Concat
concat: {
indexhtml: {
src: ['index.tpl.html'],
dest: 'dist/index.html'
},
css: {
src: [
'app/css/main.css'
],
dest: 'dist/app/css/build.css'
dest: app_cfg.dir + '/app/css/build.css'
},
js: {
src: [
// Vendors
'vendor/jquery/jquery-1.11.1.min.js',
'vendor/underscore/underscore-1.8.3/underscore-min.js',
'vendor/cytoscape/cytoscape.js',
'vendor/upload/angular-file-upload-shim.js',
'vendor/cytoscape/cytoscape.min.js',
'vendor/justgagejs/raphael-2.1.4.min.js',
'vendor/justgagejs/justgage.js',
'vendor/upload/angular-file-upload-shim.min.js',
'vendor/alertify/alertify.min.js',
// Angular
'vendor/angular/angular-1.2.14/angular.min.js',
'vendor/upload/angular-file-upload.js',
'vendor/upload/angular-file-upload.min.js',
'vendor/angular/angular-1.2.14/angular-route.min.js',
'vendor/angular/angular-1.2.14/angular-resource.min.js',
'vendor/angular/angular-1.2.14/angular-cookies.min.js',
// Bootstrap
'vendor/bootstrap/bootstrap.min.js',
// XML
'vendor/xml/xml2json.js',
'vendor/xml/xml2json.min.js',
// Z-Wave old ExpertU
'vendor/zwave/pyzw.js',
'vendor/zwave/pyzw_zwave_ui.js',
Expand All @@ -69,11 +78,12 @@ module.exports = function (grunt) {
// APP
'app/app.js',
'app/routes.js',
'dist/app/js/templates.js',
app_cfg.dir + '/app/js/templates.js',
'app/modules/qAllSettled.js',
'app/directives/directives.js',
'app/directives/angular-slider.js',
'app/directives/dir-pagination.js',
'app/directives/double-scroll-bars.min.js',
'app/filters/filters.js',
'app/factories/factories.js',
'app/services/services.js',
Expand All @@ -97,9 +107,10 @@ module.exports = function (grunt) {
'app/controllers/association.js',
'app/controllers/control.js',
'app/controllers/statistics.js',
'app/controllers/routing.js',
'app/controllers/neighbor.js',
'app/controllers/reorganization.js',
'app/controllers/timing.js',
'app/controllers/linkstatus.js',
'app/controllers/controllerinfo.js',
'app/controllers/queue.js',
'app/controllers/interviewcommand.js',
Expand All @@ -120,14 +131,15 @@ module.exports = function (grunt) {
'app/jquery/jquery-app.js'

],
dest: 'dist/app/js/build.js'
dest: app_cfg.dir + '/app/js/build.js'
}
},
json_generator: {
target: {
dest: "app/info.json",
options: {
name: 'Expert UI',
name: app_cfg.name,
version: app_version,
built: '<%= grunt.template.today("dd-mm-yyyy HH:MM:ss") %>',
timestamp: '<%= Math.floor(Date.now() / 1000) %>'
}
Expand All @@ -142,35 +154,50 @@ module.exports = function (grunt) {
'app/images/**',
//'app/views/**',
'app/lang/**'
], dest: 'dist/'
], dest: app_cfg.dir + '/'
},
{src:[ 'storage/**'],dest: 'dist/'},
{expand: true, src: ['app/config.js'], dest: 'dist/app/js/', flatten: true}
/*{src: ['storage/img/**'], dest: 'dist/'},
{src: ['storage/demo/**'], dest: 'dist/'},
{src: ['storage/data/**'], dest: 'dist/'}*/
{src: ['storage/**'], dest: app_cfg.dir + '/'},
{expand: true, src: ['app/config.js'], dest: app_cfg.dir + '/app/js/', flatten: true}
/*{src: ['storage/img/**'], dest: app_cfg.dir + '/'},
{src: ['storage/demo/**'], dest: app_cfg.dir + '/'},
{src: ['storage/data/**'], dest: app_cfg.dir + '/'}*/
]
},
info: {
files: [
{src: ['app/info.json'], dest: 'dist/app/info.json'}
{src: ['app/info.json'], dest: app_cfg.dir + '/app/info.json'}
]
},
fonts: {
files: [
{expand: true, src: ['app/fonts/*'], dest: 'dist/app/fonts/', flatten: true}
{expand: true, src: ['app/fonts/*'], dest: app_cfg.dir + '/app/fonts/', flatten: true}
]
},
angmap: {
files: [
{expand: true, src: ['vendor/angular/angular-1.2.14/angular-cookies.min.js.map'], dest: 'dist/app/js/', flatten: true},
{expand: true, src: ['vendor/angular/angular-1.2.14/angular.min.js.map'], dest: 'dist/app/js/', flatten: true},
{expand: true, src: ['vendor/angular/angular-1.2.14/angular-route.min.js.map'], dest: 'dist/app/js/', flatten: true}
{
expand: true,
src: ['vendor/angular/angular-1.2.14/angular-cookies.min.js.map'],
dest: app_cfg.dir + '/app/js/',
flatten: true
},
{
expand: true,
src: ['vendor/angular/angular-1.2.14/angular.min.js.map'],
dest: app_cfg.dir + '/app/js/',
flatten: true
},
{
expand: true,
src: ['vendor/angular/angular-1.2.14/angular-route.min.js.map'],
dest: app_cfg.dir + '/app/js/',
flatten: true
}
]
},
licence: {
files: [
{src: ['LICENCE.md'], dest: 'dist/LICENCE.md'}
{src: ['LICENCE.md'], dest: app_cfg.dir + '/LICENCE.md'}
]
}
},
Expand All @@ -184,9 +211,9 @@ module.exports = function (grunt) {
files: [
{
expand: true,
cwd: 'dist/app/css/',
cwd: app_cfg.dir + '/app/css/',
src: ['*.css', '!*.min.css'],
dest: 'dist/app/css/',
dest: app_cfg.dir + '/app/css/',
ext: '.css'
}
]
Expand All @@ -199,7 +226,7 @@ module.exports = function (grunt) {
banner: '/* <%= banner %> */'
},
files: {
src: [ 'dist/app/js/templates.js','dist/app/js/config.js','dist/app/js/build.js']
src: [app_cfg.dir + '/app/js/templates.js', app_cfg.dir + '/app/js/config.js', app_cfg.dir + '/app/js/build.js']
}
},
html: {
Expand All @@ -208,9 +235,94 @@ module.exports = function (grunt) {
banner: '<!-- <%= banner %> -->'
},
files: {
src: [ 'dist/index.html']
src: [app_cfg.dir + '/index.html']
}
}
},
htmlbuild: {
dist: {
src: 'index.html',
dest: app_cfg.dir + '/',
options: {
sections: {
dist_head: 'app/views/dist_head.txt'
}
}

}
},
replace: {
dist: {
options: {
patterns: [
{
match: /'app_type': 'default'/g,
replacement: function () {
return '\'app_type\': \'' + app_type + '\'';
}
},
{
match: /'app_type': 'installer'/g,
replacement: function () {
return '\'app_type\': \'' + app_type + '\'';
}
},
{
match: /'dev_host': \[([^\]]+)]/g,
replacement: function () {
return '\'dev_host\': \[\]';
}
},
{
match: 'dev',
replacement: 'live'
},
{
match: 'app_name',
replacement: app_cfg.name
},
{
match: 'app_version',
replacement: app_version
},
{
match: 'app_built',
replacement: '<%= grunt.template.today("dd-mm-yyyy HH:MM:ss") %>'
}
]
},
files: [
{expand: true, flatten: true, src: ['app/config.js'], dest: app_cfg.dir + '/app/js/'}
]
}
},
modify_json: {
file: {
expand: true,
//cwd: 'test/',
src: ['package.json'],
options: {
add: true,
fields: {
"rc": app_rc,
"built": '<%= grunt.template.today("dd-mm-yyyy HH:MM:ss") %>'
},
indent: 2
}
}
},
'release-it': {
options: {
pkgFiles: ['package.json'],
commitMessage: 'Release ' + app_cfg.name + ' ' + git_message,
tagName: '%s',
tagAnnotation: 'Release ' + app_cfg.name + ' ' + git_message,
buildCommand: false
}
},
clean: {
options: {force: true},
build: ['dist/storage/data/docs/']
}
});
// Load the plugin that provides the "uglify" task.
Expand All @@ -226,8 +338,12 @@ module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-string-replace');
grunt.loadNpmTasks('grunt-banner');
grunt.loadNpmTasks('grunt-json-generator');
grunt.loadNpmTasks('grunt-html-build');
grunt.loadNpmTasks('grunt-replace');
grunt.loadNpmTasks('grunt-release-it');
grunt.loadNpmTasks('grunt-modify-json');

// Default task(s).
//grunt.registerTask('default', ['clean','concat','copy','cssmin','string-replace']);
grunt.registerTask('default', ['clean', 'ngtemplates','concat', 'json_generator','copy', 'cssmin','usebanner']);
grunt.registerTask('default', ['clean', 'ngtemplates', 'concat', 'json_generator', 'copy', 'cssmin', 'usebanner', 'htmlbuild', 'replace', 'modify_json', 'clean']);
};
27 changes: 26 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,37 @@ zwave-expertui

This User Interfaces allows to operate a Smart Home Network based on Z-Wave devices. It utilizes the software architecture "Z-Way", certified as Z-Wave Plus Controller.

## v1.3.0
#### New features
- Progress bar in the firmware update tab.
- Thermostat SetPoint has step of 0.5 deg
- Analytics: Zniffer, Background noise, Noise Meter, Zniffer History.
- Settings: Time and date format, Firmware Update, Bug report.
- Network: Statistics visualization, Link status.

#### Changes
- Firmware update: Target ID as select.
- Neighbors: Completely refactored.

#### Fixes
- Switches are duplicated.
- Door lock open status is not shown.
- Not available selection for two dongles.
- The wakeup is shown, but device is mains powered.
- Expert commands with multiple parameters are wrong.
- Water Meters are not shown in the list of Meters question.
- Can't configure second parameter.
- In expert commands SwitchBinary 0 is sent instead of 255.
- In routing table timestamps are not updated.
- When I press Update on motion and tamper th clock is not becoming red.
- F/w update UI is shown, but device don't have FirmwareUpgrade CC.
- Thermostat widget sends wrong command.

## v1.2.0
#### New features
- Notifications page.
- UZB: Button for uploading bootloader/firmware.
- Interview progress bar.
- CIT: network name, time format, firmware update, time zone, busy indicator, interview progressbar, network statitstics, primiscuous mode, bug report.
- Icons in the menu.
- Enhanced display on mobile devices and tablets.
- Spinner indicators.
Expand Down
Loading

0 comments on commit 0ec3783

Please sign in to comment.