iobroker.alarm 3.4.1 → 3.4.3

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
@@ -29,20 +29,22 @@
29
29
  Placeholder for the next version (at the beginning of the line):
30
30
  ### **WORK IN PROGRESS**
31
31
  -->
32
+ ### 3.4.3 (2023-11-05)
33
+ * (misanorot) added silent_alarm (state list) to shortcuts
34
+
35
+ ### 3.4.2 (2023-10-31)
36
+ * (misanorot) added enhancement #170
37
+
32
38
  ### 3.4.1 (2023-10-29)
33
39
  * (misanorot) fixed astro at presence simulation (jsControler 5.x???)
34
40
 
35
41
  ### 3.4.0 (2023-10-03)
36
42
  * (misanorot) fixed #168
37
43
 
38
- ### 3.3.13 (2023-09-19)
39
- * (misanorot) fixed #147
40
-
41
- ### 3.3.12 (2023-06-23)
42
- * (misanorot) fixed select-id popup and little issues on setting pages
44
+ **[older changelogs](CHANGELOG_OLD.md)**
43
45
 
44
- ### 3.3.11 (2023-04-15)
45
- * (misanorot) fixed issue at night rest
46
+ ### 3.3.7 (2023-01-02)
47
+ * (misanorot) fixed issues at presence light trigger
46
48
 
47
49
  ## License
48
50
  MIT License
@@ -1376,7 +1376,7 @@
1376
1376
  data-options="status.state_list;status.activated;status.gets_activated;status.deactivated;status.burglar_alarm;status.silent_alarm;status.siren;status.activation_failed;status.sleep;status.activated_with_warnings;status.enableable;status.sharp_inside_activated;status.siren_inside;info.notification_circuit_changes;status.alarm_flash;status.silent_flash;other_alarms.one_changes;other_alarms.two_changes"
1377
1377
  class=" translate">Name</th>
1378
1378
  <th data-name="trigger_val" style="background: #174475" data-type="select"
1379
- data-options=" ;true;false;deactivated;sharp;sharp_inside;burglary;night_rest;gets_activated;activation_failed;activation_aborted"
1379
+ data-options=" ;true;false;deactivated;sharp;sharp_inside;burglary;night_rest;gets_activated;activation_failed;activation_aborted;silent_alarm"
1380
1380
  class=" translate">Trigger</th>
1381
1381
  <th data-name="name" style="background: #174475" data-type="text" class=" translate">Name</th>
1382
1382
  <th data-name="name_id" style="background: #174475" data-type="text" class=" translate">Object-ID
package/io-package.json CHANGED
@@ -1,8 +1,34 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "alarm",
4
- "version": "3.4.1",
4
+ "version": "3.4.3",
5
5
  "news": {
6
+ "3.4.3": {
7
+ "en": "added silent_alarm (state list) to shortcuts",
8
+ "de": "stumm_alarm (stateliste) zu shortcuts hinzugefügt",
9
+ "ru": "добавлено quiet_alarm (список состояния) на shortcuts",
10
+ "pt": "adicionado silent_alarm (lista de estado) para atalhos",
11
+ "nl": "vertaling:",
12
+ "fr": "added silent_alarm (state list) to shortcuts",
13
+ "it": "aggiunto silent_alarm (elenco di stato) alle scorciatoie",
14
+ "es": "añadido silencio_alarma (lista de estado) a atajos",
15
+ "pl": "dodał cichą listę (listę stanową) do skrótów",
16
+ "uk": "додано безшумний_алматичний список (державний список) для ярликів",
17
+ "zh-cn": "补充沉默:沉默(国家名单)"
18
+ },
19
+ "3.4.2": {
20
+ "en": "added enhancement #170",
21
+ "de": "erweiterung #170",
22
+ "ru": "добавлено улучшение #170",
23
+ "pt": "melhoria adicionada #170",
24
+ "nl": "verbetering #170",
25
+ "fr": "amélioration ajoutée #170",
26
+ "it": "aggiunto miglioramento #170",
27
+ "es": "mejora agregada #170",
28
+ "pl": "dodał także poprawkę #170",
29
+ "uk": "додано підвищення #170",
30
+ "zh-cn": "增援行动170"
31
+ },
6
32
  "3.4.1": {
7
33
  "en": "fixed astro at presence simulation (jsControler 5.x???)",
8
34
  "de": "fester Astro bei Präsenzsimulation (jsControler 5.x?)",
@@ -67,32 +93,6 @@
67
93
  "pl": "trwały problem w nocy",
68
94
  "uk": "виправлено проблему в нічному режимі",
69
95
  "zh-cn": "夜间固定问题休息"
70
- },
71
- "3.3.10": {
72
- "en": "fixed litle speech and presence bug",
73
- "de": "feste litle rede und anwesenheit fehler",
74
- "ru": "исправлена лиловая речь и ошибка присутствия",
75
- "pt": "discurso de linho fixo e bug presença",
76
- "nl": "_",
77
- "fr": "discours fixe et bug de présence",
78
- "it": "discorso fisso e bug di presenza",
79
- "es": "discurso de litio fijo y error de presencia",
80
- "pl": "stałe przemówienie i obecność bugu",
81
- "uk": "виправлений лайт мова і наявність помилок",
82
- "zh-cn": "固定的利词和存在 bug"
83
- },
84
- "3.3.9": {
85
- "en": "fixed issues at burgle log",
86
- "de": "feste probleme bei burgle log",
87
- "ru": "фиксированные вопросы в burgle log",
88
- "pt": "problemas fixos no log de águia",
89
- "nl": "vertaling:",
90
- "fr": "problèmes fixes dans le journal de burgle",
91
- "it": "problemi fissi a log burgle",
92
- "es": "problemas fijos en el registro de burgle",
93
- "pl": "prawidłowe problemy z burgle logiem",
94
- "uk": "виправлені питання в burgle log",
95
- "zh-cn": "堡固定问题"
96
96
  }
97
97
  },
98
98
  "title": "Alarm",
package/main.js CHANGED
@@ -1728,6 +1728,9 @@ class Alarm extends utils.Adapter {
1728
1728
  case 7:
1729
1729
  setVal = 'activation_aborted';
1730
1730
  break;
1731
+ case 8:
1732
+ setVal = 'silent_alarm';
1733
+ break;
1731
1734
  default:
1732
1735
  setVal = val;
1733
1736
  this.log.warn(`Wrong list state at shortcuts: ${val}`);
@@ -1848,95 +1851,95 @@ class Alarm extends utils.Adapter {
1848
1851
  switch (presenceTimers[item].option_presence) {
1849
1852
  case 'time':
1850
1853
  if (presenceTimers[item].presence_time_from == '' || presenceTimers[item].presence_time_to == '') {
1851
- this.log.warn(`Please check the times when configuring attendance: ${presenceTimers[item].name_id}`);
1854
+ this.log.warn(`Please check the times when configuring attendance: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} `);
1852
1855
  return;
1853
1856
  }
1854
1857
  if (this.timeInRange(presenceTimers[item].presence_time_from, presenceTimers[item].presence_time_to) && !presenceTimers[item].wasOn) {
1855
- this.log.debug(`Delay for: ${presenceTimers[item].name_id} starts ${presenceTimers[item].presence_delay}ms, because time is in range.`);
1858
+ this.log.debug(`Delay for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} starts ${presenceTimers[item].presence_delay}ms, because time is in range.`);
1856
1859
  presenceTimers[item].wasOn = true;
1857
1860
  presenceTimers[item].presenceDelayTimer = setTimeout(() => {
1858
- this.log.debug(`Delay for: ${presenceTimers[item].name_id} ends and switch ON ${presenceTimers[item].presence_length}ms.`);
1861
+ this.log.debug(`Delay for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} ends and switch ON ${presenceTimers[item].presence_length}ms.`);
1859
1862
  this.setForeignState(presenceTimers[item].name_id, this.bools(presenceTimers[item].presence_val_on), (err) => {
1860
1863
  if (err) this.log.warn(`Cannot set state: ${err}`);
1861
1864
  });
1862
1865
  presenceTimers[item].presenceLengthTimer = setTimeout(() => {
1863
- this.log.debug(`Switch ON for: ${presenceTimers[item].name_id} ends and switch OFF.`);
1866
+ this.log.debug(`Switch ON for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} ends and switch OFF.`);
1864
1867
  this.setForeignState(presenceTimers[item].name_id, this.bools(presenceTimers[item].presence_val_off), (err) => {
1865
1868
  if (err) this.log.warn(`Cannot set state: ${err}`);
1866
1869
  });
1867
1870
  }, presenceTimers[item].presence_length);
1868
1871
  }, presenceTimers[item].presence_delay);
1869
1872
  } else {
1870
- this.log.debug(`${presenceTimers[item].name_id} was ON or is not in time range`);
1873
+ this.log.debug(`${presenceTimers[item].name} -- ${presenceTimers[item].name_id} was ON or is not in time range`);
1871
1874
  }
1872
1875
  break;
1873
1876
  case 'sunrise':
1874
1877
  if (sunrise && !presenceTimers[item].wasOn) {
1875
- this.log.debug(`Delay for: ${presenceTimers[item].name_id} starts ${presenceTimers[item].presence_delay}ms, by sunrise`);
1878
+ this.log.debug(`Delay for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} starts ${presenceTimers[item].presence_delay}ms, by sunrise`);
1876
1879
  presenceTimers[item].wasOn = true;
1877
1880
  presenceTimers[item].presenceDelayTimer = setTimeout(() => {
1878
- this.log.debug(`Delay for: ${presenceTimers[item].name_id} ends and switch ON ${presenceTimers[item].presence_length}ms.`);
1881
+ this.log.debug(`Delay for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} ends and switch ON ${presenceTimers[item].presence_length}ms.`);
1879
1882
  this.setForeignState(presenceTimers[item].name_id, this.bools(presenceTimers[item].presence_val_on), (err) => {
1880
1883
  if (err) this.log.warn(`Cannot set state: ${err}`);
1881
1884
  });
1882
1885
  presenceTimers[item].presenceLengthTimer = setTimeout(() => {
1883
- this.log.debug(`Switch ON for: ${presenceTimers[item].name_id} ends and switch OFF.`);
1886
+ this.log.debug(`Switch ON for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} ends and switch OFF.`);
1884
1887
  this.setForeignState(presenceTimers[item].name_id, this.bools(presenceTimers[item].presence_val_off), (err) => {
1885
1888
  if (err) this.log.warn(`Cannot set state: ${err}`);
1886
1889
  });
1887
1890
  }, presenceTimers[item].presence_length);
1888
1891
  }, presenceTimers[item].presence_delay);
1889
1892
  } else {
1890
- this.log.debug(`${presenceTimers[item].name_id} was ON or is no sunrise`);
1893
+ this.log.debug(`${presenceTimers[item].name} -- ${presenceTimers[item].name_id} was ON or is no sunrise`);
1891
1894
  }
1892
1895
  break;
1893
1896
  case 'sunset':
1894
1897
  if (sunset && !presenceTimers[item].wasOn) {
1895
- this.log.debug(`Delay for: ${presenceTimers[item].name_id} starts ${presenceTimers[item].presence_delay}ms, by sunset`);
1898
+ this.log.debug(`Delay for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} starts ${presenceTimers[item].presence_delay}ms, by sunset`);
1896
1899
  presenceTimers[item].wasOn = true;
1897
1900
  presenceTimers[item].presenceDelayTimer = setTimeout(() => {
1898
- this.log.debug(`Delay for: ${presenceTimers[item].name_id} ends and switch ON ${presenceTimers[item].presence_length}ms.`);
1901
+ this.log.debug(`Delay for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} ends and switch ON ${presenceTimers[item].presence_length}ms.`);
1899
1902
  this.setForeignState(presenceTimers[item].name_id, this.bools(presenceTimers[item].presence_val_on), (err) => {
1900
1903
  if (err) this.log.warn(`Cannot set state: ${err}`);
1901
1904
  });
1902
1905
  presenceTimers[item].presenceLengthTimer = setTimeout(() => {
1903
- this.log.debug(`Switch ON for: ${presenceTimers[item].name_id} ends and switch OFF.`);
1906
+ this.log.debug(`Switch ON for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} ends and switch OFF.`);
1904
1907
  this.setForeignState(presenceTimers[item].name_id, this.bools(presenceTimers[item].presence_val_off), (err) => {
1905
1908
  if (err) this.log.warn(`Cannot set state: ${err}`);
1906
1909
  });
1907
1910
  }, presenceTimers[item].presence_length);
1908
1911
  }, presenceTimers[item].presence_delay);
1909
1912
  } else {
1910
- this.log.debug(`${presenceTimers[item].name_id} was ON or is no sunset`);
1913
+ this.log.debug(`${presenceTimers[item].name} -- ${presenceTimers[item].name_id} was ON or is no sunset`);
1911
1914
  }
1912
1915
  break;
1913
1916
  case 'light':
1914
1917
  // eslint-disable-next-line no-case-declarations
1915
1918
  const lightVal = await this.getForeignStateAsync(presenceTimers[item].presence_trigger_light).catch((e) => {
1916
- this.log.warn(`Check your light ID ${presenceTimers[item].name_id} in presence config! +++ ${e}`);
1919
+ this.log.warn(`Check your light ID ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} in presence config! +++ ${e}`);
1917
1920
  return;
1918
1921
  });
1919
1922
  if (lightVal.val < presenceTimers[item].presence_light_lux && !presenceTimers[item].wasOn) {
1920
- this.log.debug(`Delay for: ${presenceTimers[item].name_id} starts ${presenceTimers[item].presence_delay}ms, because light value is exceeded`);
1923
+ this.log.debug(`Delay for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} starts ${presenceTimers[item].presence_delay}ms, because light value is not under the limit.`);
1921
1924
  presenceTimers[item].wasOn = true;
1922
1925
  presenceTimers[item].presenceDelayTimer = setTimeout(() => {
1923
- this.log.debug(`Delay for: ${presenceTimers[item].name_id} ends and switch ON ${presenceTimers[item].presence_length}ms.`);
1926
+ this.log.debug(`Delay for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} ends and switch ON ${presenceTimers[item].presence_length}ms.`);
1924
1927
  this.setForeignState(presenceTimers[item].name_id, this.bools(presenceTimers[item].presence_val_on), (err) => {
1925
1928
  if (err) this.log.warn(`Cannot set state: ${err}`);
1926
1929
  });
1927
1930
  presenceTimers[item].presenceLengthTimer = setTimeout(() => {
1928
- this.log.debug(`Switch ON for: ${presenceTimers[item].name_id} ends and switch OFF.`);
1931
+ this.log.debug(`Switch ON for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} ends and switch OFF.`);
1929
1932
  this.setForeignState(presenceTimers[item].name_id, this.bools(presenceTimers[item].presence_val_off), (err) => {
1930
1933
  if (err) this.log.warn(`Cannot set state: ${err}`);
1931
1934
  });
1932
1935
  }, presenceTimers[item].presence_length);
1933
1936
  }, presenceTimers[item].presence_delay);
1934
1937
  } else {
1935
- this.log.debug(`${presenceTimers[item].name_id} was ON or light value is not exceeded`);
1938
+ this.log.debug(`${presenceTimers[item].name} -- ${presenceTimers[item].name_id} was ON or light value is not under the limit.`);
1936
1939
  }
1937
1940
  break;
1938
1941
  default:
1939
- this.log.warn(`Please check presence configuration for: ${presenceTimers[item].name_id}, value: ${presenceTimers[item].option_presence}`);
1942
+ this.log.warn(`Please check presence configuration for: ${presenceTimers[item].name} -- ${presenceTimers[item].name_id} , value: ${presenceTimers[item].option_presence}`);
1940
1943
  }
1941
1944
  }
1942
1945
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.alarm",
3
- "version": "3.4.1",
3
+ "version": "3.4.3",
4
4
  "description": "Your own lttle alarm system",
5
5
  "author": {
6
6
  "name": "misanorot",
@@ -21,7 +21,7 @@
21
21
  "node": ">= 16"
22
22
  },
23
23
  "dependencies": {
24
- "@iobroker/adapter-core": "^3.0.3",
24
+ "@iobroker/adapter-core": "^3.0.4",
25
25
  "node-schedule": "^2.1.1",
26
26
  "suncalc2": "^1.8.1"
27
27
  },
@@ -34,12 +34,12 @@
34
34
  "@iobroker/testing": "^4.1.0",
35
35
  "@tsconfig/node16": "^16.1.1",
36
36
  "@types/chai": "^4.3.6",
37
- "@types/chai-as-promised": "^7.1.6",
37
+ "@types/chai-as-promised": "^7.1.7",
38
38
  "@types/mocha": "^10.0.1",
39
- "@types/node": "^20.8.0",
40
- "@types/proxyquire": "^1.3.29",
39
+ "@types/node": "^20.8.10",
40
+ "@types/proxyquire": "^1.3.30",
41
41
  "@types/sinon": "^10.0.15",
42
- "@types/sinon-chai": "^3.2.9",
42
+ "@types/sinon-chai": "^3.2.11",
43
43
  "chai": "^4.3.10",
44
44
  "chai-as-promised": "^7.1.1",
45
45
  "eslint": "^8.50.0",