Skip to content

Commit bd31c8a

Browse files
committed
merge stage into master
1 parent d09da03 commit bd31c8a

File tree

173 files changed

+20916
-7680
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

173 files changed

+20916
-7680
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ npm-debug.log
66
.SyncTrash
77
storage/*
88
.idea
9+
.history
910
node_modules
1011
blub
1112
*.gitignore

CHANGELOG.md

Lines changed: 239 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,242 @@
1+
#10.10.2018 v2.3.8
2+
Features:
3+
* remove uploaded room images
4+
* new base modules added that combine or enhance functionalities of already well known modules, which are working without Alpca JS.
5+
These new modules can be find and configured in SHUI under the Automation menu (gear wheel):
6+
* Hazard Notification (combination from Leakage Protection and Fire Protection modules, ready for more)
7+
* Rules (combination of If>Then (simple mode) and Logical Rule (expert mode) modules)
8+
* Scenes (enhancement of Light Scene module)
9+
* Schedules (enhancement of Scheduled Scene module)
10+
* Security (refactored and scheduling enhanced)
11+
* Heating (enhanced Climate Control module)
12+
* transformation added that will optionally transform LogicalRules/IfThen into Rules, LightScene into Scene, ScheduledScene into Schedules instances and deactivate all source instances - so the transformation can be rolled back easily (using http://IP:8083/ZAutomation/api/v1/modules/transform/reverse will remove the transformation flag from all modules)
13+
14+
Changes:
15+
* node id to vdev of zway devices added
16+
* add remove location image api
17+
* add prepareHTTPResponse function to AutomationModule.js
18+
* ignore list of restore/backup functions refactored
19+
* ZAutomation history API removed (now it comes from the module itself)
20+
* storage function enhanced to remove not existing and cleared filenames from list
21+
* add PNG and GIF to img type check
22+
* QR-Code isn't stored on z-way-server anymore, it's generated on demand in UI instead (Devices > Mobile > Add)
23+
* add restriction to QR code API - admin can request all QR codes, users can only request their own
24+
* logical helper functions from Rules moved and centralized into AutomationModule.js, so also other modules can use them
25+
* postfix.json updated (changed or added):
26+
* added:
27+
* Steinel XLED home 2
28+
* Steinel Senor-Switched Outdoor LightScene
29+
* Foxx Project Door/Window Sensor
30+
* Foxx Project Flood Sensor
31+
* Everspring/TechniSat RM1
32+
* Heiman Smart Smoke Sensor
33+
* Aeotec NanoMote One
34+
* Aeotec NanoMote Quad
35+
* Aeotec TriSensor
36+
* TKBHome single/dual wall switch
37+
* TKBHOME single/dual dimmer switch
38+
* TKB Home Energy Plug In Switch
39+
* Everspring Plug
40+
* Popp Power Plug
41+
* MCO Home Fan Coil Thermostat (2-pipe) V3.0
42+
* MCO Home CO2 Monitor
43+
* Qubino 3-Phase Smart Meter
44+
* Qubino Smart Plug
45+
46+
* changed:
47+
* Philio 4 in 1 Multisensor
48+
* Philio Relay Insert Blind
49+
* Philio Double Relay Insert 2*1.5 kW with Metering Function
50+
* Foxx Project Smart Switch Gen5
51+
* POPP Flood / Water Leakage Sensor
52+
* TKBHome two channel switch TZX7
53+
* TKB Plug Dimmer
54+
* Qubino Smart Meter
55+
* Qubino Flush Thermostats
56+
* Qubino On/Off thermostat
57+
* Aeotec Home Energy Meter - Gen5
58+
* PAN16 Smart Energy Plug In Switch
59+
* Everspring Lamp Holder
60+
* Poly Control Dana Lock V3
61+
* OOMI Door Window Sensor
62+
* MCO Home - Water Heating Thermostat with humidity sensor
63+
* MCO Home - Electrical Heating Thermostat with humidity sensor
64+
* Sensative Strips Comfort / Drips
65+
* Hank Flood Sensor
66+
67+
Fixes:
68+
* ZWave v2.3.0
69+
* update of failed status in zway vdevs fixed
70+
* thermostat min/max fixed
71+
* Public Z-Wave API with Expert UI fixed
72+
* postfix update fixed
73+
* Object.keys() error if cc.data is null fixed
74+
* download URL of skins fixed
75+
* Cannot select none image for room fixed
76+
* icon upload and add uppercase extension (GIF,PNG,JPG,JPEG) support fixed
77+
* missing transformation of main_sensor during update leads to indexOf undefined error - fixed
78+
79+
Modules:
80+
* ZWave v2.3.0
81+
* Gas Alarm (V7) 0x12 support added
82+
* new alarm type - gas added
83+
* to not polute the global namespace area a var was added to postfix logic
84+
* Optimized a bit the F/W update code and added support of 40196 bootloader for upgrade UZB 5.07->5.27
85+
* HTTPDevice v2.2.0
86+
* enhancement: can set method GET/POST for update command
87+
* helper fixed
88+
* DeviceHistory v2.0.0
89+
* new api HistoryAPI added (moved from ZAutomation and AutomationController to module)
90+
* BindDevices v1.0.2
91+
* sensorMultilevel support added
92+
* MailNotifier v1.2.0
93+
* change logic to handle also different mail adresses in e-mail outgoing
94+
* BatteryPolling v2.2.0
95+
* notifications support module added
96+
* MobileAppSupport v1.2.7
97+
* table of undefined bug fixed
98+
99+
#23.03.2018 v2.3.7
100+
Features:
101+
* Added emulateOff postfix to Sensor Binary
102+
* support for wifiplugs added (TP-Link HS100, TP-Link HS110, EDIMAX SP1101, EDIMAX SP2101)
103+
* allow probeType postfix in ZWave module
104+
* IP-address api added
105+
106+
Changes:
107+
* Set thermostat value only if they are not equal * this will prevent ClimateControl app to set values twice
108+
* add ip address to qrcode
109+
* stored QR code is removed, now it is only produced in UI temporarely against successful authorization
110+
* module categories "system" and "wifiplug" added
111+
* rework the ZAutomation/api/v1/icons/upload API to return a name
112+
* language files refactored
113+
* postfix.json updated (changed or added):
114+
* added:
115+
* Popp Z-Weather
116+
* Z-Wave.me Dimmer
117+
* Danfoss Hydronic Controller 10
118+
* Aeotec RGBW Bulb
119+
* Aeotec Dual Nano Switch with Meter
120+
* Aeotec Indoor Siren Gen5
121+
* Aeotec Door Window Sensor 6
122+
* Aeotec Dual Nano Switch
123+
* Aeotec Water Sensor 6
124+
* Secure 7 Day Programmable Thermostat
125+
* Secure Temperature Sensor
126+
* Secure Wall Thermostat with LCD Display
127+
* Secure Z-Wave controlled Boiler Actuator (2 Channels)
128+
* Secure Receiver with Relay SSR303
129+
* Philio Smart Dimmer Socket PAD02
130+
* Philio Double Relay Insert 2*1.5 kW with Metering Function
131+
* OOMI Mote
132+
* OOMI Plug
133+
* OOMI Range Extender
134+
* OOMI In-Wall Switch
135+
* OOMI In-Wall Dimmer
136+
* OOMI Colorstripe
137+
* OOMI WATERSENSOR
138+
* OOMI Multisensor
139+
* Everspring Temperature and Humidity Sensor
140+
* Everspring Wall Plug Dimmer
141+
* Everspring ST812 Flood Detector
142+
* Everspring SE812 Indoor Siren
143+
* Devolo Alarmsirene
144+
* Devolo Luftfeuchtemelder
145+
* Devolo Wassermelder
146+
* Devolo Bewegungsmelder
147+
* Devolo Funkschalter
148+
* Devolo Radiator Thermostat
149+
* Devolo Rauchmelder
150+
* Devolo KFOB
151+
* Devolo Wall Plug 2.0
152+
* TKBHOME single/dual dimmer switch
153+
* SCHWAIGER * 4 in 1 Multi Sensor Outdoor IP43
154+
* Fibaro Door/Window Sensor G5 * RU
155+
* Fibaro Single Switch * 1*2.5 kW
156+
* Fibaro Heat Controller
157+
* MCO Home PM2.5 Sensor
158+
* MCO Home Water Heating Thermostat with humidity sensor
159+
* MCO Home CO2 Monitor
160+
* MCO Home Glass Touch Switch (4 Buttons) British Standard
161+
* MCO Home Glass Touch Switch (2 Buttons) British Standard
162+
* MCO Home Glass Touch Switch (1 Button)
163+
* MCO Home Glass Touch Switch (2 Buttons)
164+
* MCO Home * Electrical Heating Thermostat with humidity sensor
165+
* Sensative Stripe Multisensor Drip
166+
* BeNext Wall Plug with Dimmer Function
167+
* Hank Four-Key Scene Contoller
168+
* Hank One-Key Scene Contoller
169+
* Hank Flood Sensor
170+
* Hank Motion Sensor
171+
* Hank Smart Plug
172+
* NEO Coolcam Door / Window Sensor
173+
* NEO Coolcam Motion Sensor
174+
* NEO Coolcam Siren
175+
* Steinel Indoor Light
176+
* Steinel Motion Sensor
177+
* changed:
178+
* Fibaro Double Relay Switch FGS-222
179+
* Fibaro Door/Window Sensor G5
180+
* Fibaro Dimmer 2
181+
* Danfoss Hydronic Controller 5
182+
* Devolo Door/Window Contact
183+
* Aeotec Nano Switch 1 Relay
184+
* Aeotec Range Extender 6
185+
* Aeotec Door Window Sensor 6
186+
* Aeotec Recessed Door G5
187+
* Aeotec Multisensor Gen 6
188+
* Qubino On/Off thermostat
189+
* Qubino Flush Thermostat
190+
* Qubino Relay Insert 1*2,3 kW
191+
* Qubino PWM Thermostat
192+
* TKB Plug Dimmer French
193+
* WiDom Universal Double Switch
194+
* Philio 4 in 1 Multisensor
195+
* Philio PST02-5B Motion Sensor
196+
* Philio Motionsensor
197+
* Philio Relay Insert Blind
198+
* Philio Double Relay Insert 2x1,5KW
199+
* Philio PAN16 Smart Energy Plug In Switch
200+
201+
Fixes:
202+
* Fix not working time-zone set via shui
203+
* remote triggered on Z-Way startup
204+
* fix setDefaultLang function
205+
* allow probeType postfix in ZWave module
206+
* save probeType in vdevInfo
207+
208+
Modules:
209+
* TP-Link HS100 v1.0.0
210+
* added to support this wifi plug
211+
* TP-Link HS110 v1.0.0
212+
* added to support this wifi plug
213+
* EDIMAX SP1101 v1.0.0
214+
* added to support this wifi plug
215+
* EDIMAX SP2101 v1.0.0
216+
* added to support this wifi plug
217+
* Sonos v1.2.3:
218+
* fixes
219+
* icon changed
220+
* MobileAppSupport v1.2.5:
221+
* bugfix catches undefined-error occurred during adding first mobile device
222+
* bugfix removing mobile device deletes LOCAL widget
223+
* update IOS token
224+
* remove devices manually
225+
* ScheduledScene v2.2.0:
226+
* can start scene many times in day
227+
* defined default times: 00:00 and 12:00
228+
* devices on new path, as example switch: this.config.devices.switches
229+
* compatibility with old config
230+
* Bugfix: Dimmers, Lock and scenes didn't run.
231+
* IfThen v2.5.1:
232+
* allow negative values for multilevel sensors
233+
* LightScene v1.1.1:
234+
* icon changed
235+
* AutoLock v1.2:
236+
* added switchBinary support and checkbox Don't send Lock command if doorlock already closed
237+
* TamperAutoOff v1.1.0:
238+
* fix to SETDATA
239+
1240
#04.10.2017 v2.3.6
2241
Changes:
3242
* show more logs on ZWaveBinding error

README.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Z-Way Home Automation Engine v2.3.6
1+
Z-Way Home Automation Engine v2.3.8
22
====================================
33

44
# Introduction #
@@ -12,12 +12,11 @@ Z-Way Home Automation Engine v2.3.6
1212
For a better integration during running developments, please use [Home Automation develop branch](https://github.com/Z-Wave-Me/home-automation/tree/develop) for your pull requests.
1313

1414
## New complete Documentation:
15-
* [Z-Way Essentials](https://github.com/Z-Wave-Me/Z-Way-Manual/raw/3.0/ZWayManual.pdf) (PDF)
15+
* [Z-Way Essentials](https://new.z-wave.me/essentials) (PDF Download)
1616

1717
## Home Automation Documentation's :
1818
* https://github.com/Z-Wave-Me/home-automation/wiki
19-
* [old Z-Wave.Me Developers Documentation](https://github.com/Z-Wave-Me/Z-Way-Manual/raw/master/zwayDev.pdf) (PDF)
20-
* see also documentations on [http://razberry.z-wave.me](http://razberry.z-wave.me/index.php?id=5) for more information
19+
* see also documentations on [https://z-wave.me/support/](https://z-wave.me/support/) for more information
2120

2221
## API Documentation:
2322
#### ZAutomation:
@@ -32,13 +31,13 @@ For a better integration during running developments, please use [Home Automatio
3231

3332
## Available Z-Way Server Downloads:
3433
Downloads are available for Raspbian (POPP Hub 1, also complete images), Debian, Ubuntu, Voyage, Dune HD Plugin (mips), Windows
35-
* http://razberry.z-wave.me/z-way-server/
34+
* https://storage.z-wave.me/z-way-server/
3635

3736
## Current changelog's:
3837
* [Home Automation changelog](https://github.com/Z-Wave-Me/home-automation/blob/master/CHANGELOG.md)
3938
* [Smart Home UI changelog](https://github.com/Z-Wave-Me/zwave-smarthome/blob/master/README.md)
4039
* [Expert UI changelog](https://github.com/Z-Wave-Me/ExpertUI/blob/master/README.md)
41-
* [Full z-way-server changelog on http://razberry.z-wave.me](http://razberry.z-wave.me/z-way-server/ChangeLog)
40+
* [Full z-way-server changelog on https://z-wave.me](https://storage.z-wave.me/z-way-server/ChangeLog)
4241

4342
## Z-Wave.Me - Developer Console (App Store)
4443
Create an account and upload your own z-way home automation apps, share them with a special group or verify them for public access.
@@ -53,5 +52,4 @@ You can also find a list of all [currently published apps](https://developer.z-w
5352
## Disscussion platforms:
5453
* https://forum.z-wave.me/ (discussions available in en/de/ru/fr/it/cn, posts about: RaZberry, Z-Uno ...)
5554
* http://www.zwave.de/forum (de)
56-
* http://www.z-wave.info/forum (en)
57-
55+
* http://www.z-wave.info/forum (en)

Utils.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,3 +315,42 @@ function retBoolean(boolean) {
315315
return false;
316316
}
317317
};
318+
319+
/*
320+
* find the smallest not assigned value (integer) of a specific key within array objects
321+
*/
322+
function findSmallestNotAssignedIntegerValue (array, key) {
323+
var value = 1,
324+
maxValue = null,
325+
listValues = [];
326+
327+
listValues = array.map(function(entry) {
328+
return Number.isInteger(entry[key])? entry[key] : parseInt(entry[key],10);
329+
});
330+
331+
maxValue = Math.max.apply(null, listValues);
332+
333+
for (var i = 1; i <= maxValue; i++) {
334+
if (listValues.indexOf(i) < 0) {
335+
value = i;
336+
break;
337+
} else if (i == maxValue) {
338+
value = i + 1;
339+
}
340+
}
341+
342+
return value;
343+
};
344+
345+
/*
346+
* transform the publicKey into usual dsk format: xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
347+
*/
348+
function transformPublicKeyToDSK (publicKey) {
349+
var dsk = '';
350+
351+
if (_.isArray(publicKey) && publicKey.length > 0) {
352+
dsk = publicKey.map(function(x, i, a) { if (i % 2 == 0) return x * 256 + a[i + 1]; }).filter(function(x) { return x != undefined; }).map(function(x) { return ("00000" + x).slice(-5); }).slice(0, 8).join('-');
353+
}
354+
355+
return dsk;
356+
}

0 commit comments

Comments
 (0)