iobroker.alarm 3.0.3 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/admin/index_m.html +1 -0
- package/admin/words.js +12 -0
- package/io-package.json +26 -2
- package/main.js +37 -61
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -153,6 +153,9 @@ Beinhaltet die Informationen für die "anderen" Alarmkreise 1 + 2.
|
|
|
153
153
|
|
|
154
154
|
## Changelog
|
|
155
155
|
|
|
156
|
+
#### 3.1.0 (26.04.2022)
|
|
157
|
+
* (misanorot) added speech delay
|
|
158
|
+
|
|
156
159
|
#### 3.0.3 (31.01.2022)
|
|
157
160
|
* (misanorot) changed burgle concept, added silent alarm at sharp inside, fixed little issues
|
|
158
161
|
|
package/admin/index_m.html
CHANGED
|
@@ -913,6 +913,7 @@ function getName(obj) {
|
|
|
913
913
|
<th data-name="enabled" style="width: 50px" data-type="checkbox" class="header translate">active</th>
|
|
914
914
|
<th data-name="name" data-type="text" class="header translate">Name</th>
|
|
915
915
|
<th data-name="name_id" data-type="text" class="header translate">Object-ID</th>
|
|
916
|
+
<th data-name="speech_delay" data-type="number" class="header translate">speech_delay</th>
|
|
916
917
|
<th data-buttons="edit" style="width: 40px" class="header"></th>
|
|
917
918
|
<th data-name="opt_say_one" style="width: 40px" data-type="checkbox" class="header">1</th>
|
|
918
919
|
<th data-name="opt_say_two" style="width: 40px" data-type="checkbox" class="header">2</th>
|
package/admin/words.js
CHANGED
|
@@ -43,6 +43,18 @@ systemDictionary = {
|
|
|
43
43
|
'es': 'alarma silenciosa aguda en el interior',
|
|
44
44
|
'pl': 'cichy alarm ostry w środku',
|
|
45
45
|
'zh-cn': '静音报警尖锐内部'},
|
|
46
|
+
'speech_delay': {
|
|
47
|
+
'en': 'delay (sec)',
|
|
48
|
+
'de': 'Verzögerung (Sek.)',
|
|
49
|
+
'ru': 'задержка (сек)',
|
|
50
|
+
'pt': 'atraso (s)',
|
|
51
|
+
'nl': 'vertraging (sec)',
|
|
52
|
+
'fr': 'délai (sec)',
|
|
53
|
+
'it': 'ritardo (sec)',
|
|
54
|
+
'es': 'retraso (seg)',
|
|
55
|
+
'pl': 'opóźnienie (sek)',
|
|
56
|
+
'zh-cn': '延迟(秒)'
|
|
57
|
+
},
|
|
46
58
|
'disabled': { 'en': 'disabled', 'de': 'deaktiviert', 'ru': 'отключен', 'pt': 'Desativado', 'nl': 'invalide', 'fr': 'désactivée', 'it': 'Disabilitato', 'es': 'discapacitado', 'pl': 'wyłączone', 'zh-cn': '残'},
|
|
47
59
|
'donat': {'en': "I'm not a professional developer and this is a private project, the development takes place in my spare time, if you want to support this you can thank me with a donation under PayPal. You are also welcome to send me feature requests for future versions of the adapter.",
|
|
48
60
|
'de': 'Ich bin kein professioneller Entwickler und dies ist ein privates Projekt, die Entwicklung findet in meiner Freizeit statt, wenn Sie dies unterstützen möchten, können Sie sich mit einer Spende unter PayPal bei mir bedanken. Sie können mir auch gerne Funktionsanfragen für zukünftige Versionen des Adapters senden.',
|
package/io-package.json
CHANGED
|
@@ -1,9 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "alarm",
|
|
4
|
-
"version": "3.0
|
|
4
|
+
"version": "3.1.0",
|
|
5
5
|
"news": {
|
|
6
|
-
"3.0
|
|
6
|
+
"3.1.0": {
|
|
7
|
+
"en": "added speech delay",
|
|
8
|
+
"de": "Sprachverzögerung hinzugefügt",
|
|
9
|
+
"ru": "добавлена задержка речи",
|
|
10
|
+
"pt": "atraso de fala adicionado",
|
|
11
|
+
"nl": "spraakvertraging toegevoegd",
|
|
12
|
+
"fr": "délai de parole ajouté",
|
|
13
|
+
"it": "aggiunto ritardo del discorso",
|
|
14
|
+
"es": "retardo de voz añadido",
|
|
15
|
+
"pl": "dodano opóźnienie mowy",
|
|
16
|
+
"zh-cn": "增加语音延迟"
|
|
17
|
+
},
|
|
18
|
+
"3.0.5": {
|
|
19
|
+
"en": "fixed pushover issue",
|
|
20
|
+
"de": "Pushover-Problem behoben",
|
|
21
|
+
"ru": "исправлена проблема с отталкиванием",
|
|
22
|
+
"pt": "problema de pushover corrigido",
|
|
23
|
+
"nl": "probleem met pushover opgelost",
|
|
24
|
+
"fr": "problème de pushover fixe",
|
|
25
|
+
"it": "risolto il problema del pushover",
|
|
26
|
+
"es": "problema de empuje fijo",
|
|
27
|
+
"pl": "naprawiony problem pushover",
|
|
28
|
+
"zh-cn": "修复了俯卧撑问题"
|
|
29
|
+
},
|
|
30
|
+
"3.0.4": {
|
|
7
31
|
"en": "changed burgle concept, added silent alarm at sharp inside, fixed little issues",
|
|
8
32
|
"de": "Einbruchkonzept geändert, stiller Alarm bei scharf Innen hinzugefügt, kleine Probleme behoben",
|
|
9
33
|
"ru": "изменена концепция взломов, добавлена бесшумная сигнализация при проникновении внутрь, исправлены мелкие недочеты",
|
package/main.js
CHANGED
|
@@ -63,6 +63,7 @@ let activated = false,
|
|
|
63
63
|
burgle = false;
|
|
64
64
|
|
|
65
65
|
let timer = null,
|
|
66
|
+
speech_timeout = null,
|
|
66
67
|
silent_timer = null,
|
|
67
68
|
siren_inside_timer = null,
|
|
68
69
|
timer_notification_changes = null,
|
|
@@ -102,6 +103,7 @@ function startAdapter(options) {
|
|
|
102
103
|
schedule_reset.cancel();
|
|
103
104
|
clearInterval(timer);
|
|
104
105
|
clearTimeout(silent_timer);
|
|
106
|
+
clearTimeout(speech_timeout);
|
|
105
107
|
clearTimeout(siren_timer);
|
|
106
108
|
clearInterval(silent_interval);
|
|
107
109
|
clearInterval(silent_contdown);
|
|
@@ -285,6 +287,7 @@ function disable(){
|
|
|
285
287
|
if(log)adapter.log.info(`${A.log_deact}`);
|
|
286
288
|
adapter.setState('status.activated_with_warnings', false, true);
|
|
287
289
|
adapter.setState('status.activation_failed', false, true);
|
|
290
|
+
adapter.setState('status.activated', false, true);
|
|
288
291
|
if(A.send_activation) messages(`${A.log_deact}`);
|
|
289
292
|
disableStates();
|
|
290
293
|
}else if (inside) {
|
|
@@ -830,12 +833,28 @@ function messages(content){
|
|
|
830
833
|
adapter.sendTo(ele, 'send', {'text':content, 'user': A.user, 'chatId': A.chatID});
|
|
831
834
|
} else {
|
|
832
835
|
adapter.log.debug(`Send message to ${ele}, message: ${content}`);
|
|
833
|
-
adapter.sendTo(ele,
|
|
836
|
+
adapter.sendTo(ele, content);
|
|
834
837
|
}
|
|
835
838
|
});
|
|
836
839
|
}
|
|
837
840
|
}
|
|
838
841
|
|
|
842
|
+
function speechOutput(id, message, time) {
|
|
843
|
+
let delay;
|
|
844
|
+
time = parseInt(time);
|
|
845
|
+
if (Number.isInteger(time)) {
|
|
846
|
+
delay = time;
|
|
847
|
+
} else {
|
|
848
|
+
delay = 0;
|
|
849
|
+
}
|
|
850
|
+
adapter.log.debug(`speech output instance: ${id}: ${message}, delay ${delay}s`);
|
|
851
|
+
speech_timeout = setTimeout(() => {adapter.setForeignState(id, message, (err)=>{
|
|
852
|
+
if(err) adapter.log.warn(err);
|
|
853
|
+
});
|
|
854
|
+
}, delay * 1000);
|
|
855
|
+
}
|
|
856
|
+
|
|
857
|
+
|
|
839
858
|
function sayit(message, opt_val){
|
|
840
859
|
const tts_instance = A.sayit;
|
|
841
860
|
if(night_rest && A.opt_night_silent) return;
|
|
@@ -845,114 +864,72 @@ function sayit(message, opt_val){
|
|
|
845
864
|
switch (opt_val) {
|
|
846
865
|
case 1:
|
|
847
866
|
if(ele.opt_say_one){
|
|
848
|
-
|
|
849
|
-
adapter.setForeignState(ele.name_id, message, (err)=>{
|
|
850
|
-
if(err) adapter.log.warn(err);
|
|
851
|
-
});
|
|
867
|
+
speechOutput(ele.name_id, message, ele.speech_delay);
|
|
852
868
|
}
|
|
853
869
|
break;
|
|
854
870
|
case 2:
|
|
855
871
|
if(ele.opt_say_two){
|
|
856
|
-
|
|
857
|
-
adapter.setForeignState(ele.name_id, message, (err)=>{
|
|
858
|
-
if(err) adapter.log.warn(err);
|
|
859
|
-
});
|
|
872
|
+
speechOutput(ele.name_id, message, ele.speech_delay);
|
|
860
873
|
}
|
|
861
874
|
break;
|
|
862
875
|
case 3:
|
|
863
876
|
if(ele.opt_say_three){
|
|
864
|
-
|
|
865
|
-
adapter.setForeignState(ele.name_id, message, (err)=>{
|
|
866
|
-
if(err) adapter.log.warn(err);
|
|
867
|
-
});
|
|
877
|
+
speechOutput(ele.name_id, message, ele.speech_delay);
|
|
868
878
|
}
|
|
869
879
|
break;
|
|
870
880
|
case 4:
|
|
871
881
|
if(ele.opt_say_four){
|
|
872
|
-
|
|
873
|
-
adapter.setForeignState(ele.name_id, message, (err)=>{
|
|
874
|
-
if(err) adapter.log.warn(err);
|
|
875
|
-
});
|
|
882
|
+
speechOutput(ele.name_id, message, ele.speech_delay);
|
|
876
883
|
}
|
|
877
884
|
break;
|
|
878
885
|
case 5:
|
|
879
886
|
if(ele.opt_say_five){
|
|
880
|
-
|
|
881
|
-
adapter.setForeignState(ele.name_id, message, (err)=>{
|
|
882
|
-
if(err) adapter.log.warn(err);
|
|
883
|
-
});
|
|
887
|
+
speechOutput(ele.name_id, message, ele.speech_delay);
|
|
884
888
|
}
|
|
885
889
|
break;
|
|
886
890
|
case 6:
|
|
887
891
|
if(ele.opt_say_six){
|
|
888
|
-
|
|
889
|
-
adapter.setForeignState(ele.name_id, message, (err)=>{
|
|
890
|
-
if(err) adapter.log.warn(err);
|
|
891
|
-
});
|
|
892
|
+
speechOutput(ele.name_id, message, ele.speech_delay);
|
|
892
893
|
}
|
|
893
894
|
break;
|
|
894
895
|
case 7:
|
|
895
896
|
if(ele.opt_say_seven){
|
|
896
|
-
|
|
897
|
-
adapter.setForeignState(ele.name_id, message, (err)=>{
|
|
898
|
-
if(err) adapter.log.warn(err);
|
|
899
|
-
});
|
|
897
|
+
speechOutput(ele.name_id, message, ele.speech_delay);
|
|
900
898
|
}
|
|
901
899
|
break;
|
|
902
900
|
case 8:
|
|
903
901
|
if(ele.opt_say_eigth){
|
|
904
|
-
|
|
905
|
-
adapter.setForeignState(ele.name_id, message, (err)=>{
|
|
906
|
-
if(err) adapter.log.warn(err);
|
|
907
|
-
});
|
|
902
|
+
speechOutput(ele.name_id, message, ele.speech_delay);
|
|
908
903
|
}
|
|
909
904
|
break;
|
|
910
905
|
case 9:
|
|
911
906
|
if(ele.opt_say_nine){
|
|
912
|
-
|
|
913
|
-
adapter.setForeignState(ele.name_id, message, (err)=>{
|
|
914
|
-
if(err) adapter.log.warn(err);
|
|
915
|
-
});
|
|
907
|
+
speechOutput(ele.name_id, message, ele.speech_delay);
|
|
916
908
|
}
|
|
917
909
|
break;
|
|
918
910
|
case 10:
|
|
919
911
|
if(ele.opt_say_nine_plus){
|
|
920
|
-
|
|
921
|
-
adapter.setForeignState(ele.name_id, message, (err)=>{
|
|
922
|
-
if(err) adapter.log.warn(err);
|
|
923
|
-
});
|
|
912
|
+
speechOutput(ele.name_id, message, ele.speech_delay);
|
|
924
913
|
}
|
|
925
914
|
break;
|
|
926
915
|
case 0:
|
|
927
916
|
if(ele.opt_say_zero){
|
|
928
|
-
|
|
929
|
-
adapter.setForeignState(ele.name_id, message, (err)=>{
|
|
930
|
-
if(err) adapter.log.warn(err);
|
|
931
|
-
});
|
|
917
|
+
speechOutput(ele.name_id, message, ele.speech_delay);
|
|
932
918
|
}
|
|
933
919
|
break;
|
|
934
920
|
case 11:
|
|
935
921
|
if(ele.opt_say_count){
|
|
936
|
-
|
|
937
|
-
adapter.setForeignState(ele.name_id, message, (err)=>{
|
|
938
|
-
if(err) adapter.log.warn(err);
|
|
939
|
-
});
|
|
922
|
+
speechOutput(ele.name_id, message, ele.speech_delay);
|
|
940
923
|
}
|
|
941
924
|
break;
|
|
942
925
|
case 12:
|
|
943
926
|
if(ele.opt_say_fire){
|
|
944
|
-
|
|
945
|
-
adapter.setForeignState(ele.name_id, message, (err)=>{
|
|
946
|
-
if(err) adapter.log.warn(err);
|
|
947
|
-
});
|
|
927
|
+
speechOutput(ele.name_id, message, ele.speech_delay);
|
|
948
928
|
}
|
|
949
929
|
break;
|
|
950
930
|
case 13:
|
|
951
931
|
if(ele.opt_say_water){
|
|
952
|
-
|
|
953
|
-
adapter.setForeignState(ele.name_id, message, (err)=>{
|
|
954
|
-
if(err) adapter.log.warn(err);
|
|
955
|
-
});
|
|
932
|
+
speechOutput(ele.name_id, message, ele.speech_delay);
|
|
956
933
|
}
|
|
957
934
|
break;
|
|
958
935
|
default:
|
|
@@ -990,10 +967,8 @@ function alarmFlash() {
|
|
|
990
967
|
}
|
|
991
968
|
|
|
992
969
|
function disableStates() {
|
|
993
|
-
adapter.setState('status.sharp_inside_activated', false, true);
|
|
994
|
-
adapter.setState('status.state', 'deactivated', true);
|
|
995
970
|
adapter.setState('status.deactivated', true, true);
|
|
996
|
-
adapter.setState('status.
|
|
971
|
+
adapter.setState('status.state', 'deactivated', true);
|
|
997
972
|
adapter.setState('status.state_list',0, true);
|
|
998
973
|
adapter.setState('homekit.CurrentState', 3, true);
|
|
999
974
|
adapter.setState('homekit.TargetState', 3, true);
|
|
@@ -1079,7 +1054,7 @@ function inside_begins(){
|
|
|
1079
1054
|
adapter.setState('homekit.CurrentState', 0, true);
|
|
1080
1055
|
adapter.setState('homekit.TargetState', 0, true);
|
|
1081
1056
|
adapter.setState('use.list', 2, true);
|
|
1082
|
-
adapter.setState('status.activated',
|
|
1057
|
+
adapter.setState('status.activated', false, true);
|
|
1083
1058
|
adapter.setState('status.deactivated', false, true);
|
|
1084
1059
|
}
|
|
1085
1060
|
}
|
|
@@ -1094,6 +1069,7 @@ function inside_ends(off){
|
|
|
1094
1069
|
if(log)adapter.log.info(`${A.log_warn_deact}`);
|
|
1095
1070
|
if(A.send_activation_inside) messages(`${A.log_warn_deact}`);
|
|
1096
1071
|
sayit(A.text_warn_end, 0);
|
|
1072
|
+
adapter.setState('status.sharp_inside_activated', false, true);
|
|
1097
1073
|
disableStates();
|
|
1098
1074
|
}
|
|
1099
1075
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_from": "github:misanorot/ioBroker.alarm",
|
|
3
|
-
"_id": "iobroker.alarm@3.0
|
|
3
|
+
"_id": "iobroker.alarm@3.1.0",
|
|
4
4
|
"_inBundle": false,
|
|
5
5
|
"_integrity": "",
|
|
6
6
|
"_location": "/iobroker.alarm",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"#USER",
|
|
23
23
|
"/"
|
|
24
24
|
],
|
|
25
|
-
"_resolved": "github:misanorot/ioBroker.alarm#
|
|
25
|
+
"_resolved": "github:misanorot/ioBroker.alarm#36b35d2c702a772800e90b8f1dff9ac40df55933",
|
|
26
26
|
"_spec": "misanorot/ioBroker.alarm",
|
|
27
27
|
"_where": "/opt/iobroker",
|
|
28
28
|
"author": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"@alcalzone/release-script": "^1.1.1",
|
|
44
44
|
"@fimbul/mithotyn": "^0.21.0",
|
|
45
45
|
"@fimbul/wotan": "^0.21.1",
|
|
46
|
-
"@iobroker/testing": "^
|
|
46
|
+
"@iobroker/testing": "^2.5.4",
|
|
47
47
|
"chai": "^4.2.0",
|
|
48
48
|
"chai-as-promised": "^7.1.1",
|
|
49
49
|
"copyfiles": "^2.2.0",
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"test:package": "mocha test/package --exit",
|
|
81
81
|
"test:unit": "mocha test/unit --exit"
|
|
82
82
|
},
|
|
83
|
-
"version": "3.0
|
|
83
|
+
"version": "3.1.0"
|
|
84
84
|
}
|