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 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
 
@@ -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.3",
4
+ "version": "3.1.0",
5
5
  "news": {
6
- "3.0.2": {
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, {'text':content});
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
- adapter.log.debug(`speech output instance: ${ele.name_id}: ${message}`);
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
- adapter.log.debug(`speech output instance: ${ele.name_id}: ${message}`);
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
- adapter.log.debug(`speech output instance: ${ele.name_id}: ${message}`);
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
- adapter.log.debug(`speech output instance: ${ele.name_id}: ${message}`);
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
- adapter.log.debug(`speech output instance: ${ele.name_id}: ${message}`);
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
- adapter.log.debug(`speech output instance: ${ele.name_id}: ${message}`);
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
- adapter.log.debug(`speech output instance: ${ele.name_id}: ${message}`);
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
- adapter.log.debug(`speech output instance: ${ele.name_id}: ${message}`);
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
- adapter.log.debug(`speech output instance: ${ele.name_id}: ${message}`);
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
- adapter.log.debug(`speech output instance: ${ele.name_id}: ${message}`);
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
- adapter.log.debug(`speech output instance: ${ele.name_id}: ${message}`);
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
- adapter.log.debug(`speech output instance: ${ele.name_id}: ${message}`);
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
- adapter.log.debug(`speech output instance: ${ele.name_id}: ${message}`);
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
- adapter.log.debug(`speech output instance: ${ele.name_id}: ${message}`);
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.activated', false, true);
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', true, true);
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",
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#c0dbb5f94a2e68082036829747dd3fc8c1f4615b",
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": "^1.2.5",
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.3"
83
+ "version": "3.1.0"
84
84
  }