node-red-contrib-alice 3.0.1 → 3.0.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/CHANGELOG.md CHANGED
@@ -1,13 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## v3.0.3 — новые режимы и события из актуального протокола УДЯ
4
+
5
+ Списки нод приведены в соответствие с текущей документацией умного дома Яндекса. Изменения только аддитивные — существующие флоу работают без перенастройки.
6
+
7
+ ### Нода Mode
8
+
9
+ - Новые типы режимов: **Dishwashing** (`dishwashing`) — режимы мытья посуды и **Ventilation mode** (`ventilation_mode`) — режимы вентиляции.
10
+ - Пресет `cleanup_mode` дополнен режимами `wet_cleaning`, `dry_cleaning`, `mixed_cleaning` (влажная/сухая/смешанная уборка).
11
+ - В пул ручного добавления режимов добавлены `wet_cleaning`, `dry_cleaning`, `mixed_cleaning`, `intensive`, `glass`, `pre_rinse`, `supply_air`, `extraction_air`.
12
+
13
+ ### Нода Event
14
+
15
+ - Новый тип события: **Food level** (`food_level`, события `empty`/`low`/`normal`) — уровень корма для кормушек `pet_feeder`.
16
+ - У `water_level` добавлено событие `empty`.
17
+
3
18
  ## v3.0.0 — WebSocket вместо MQTT (миграция с Yandex IoT Core)
4
19
 
5
20
  ### ⚠️ Зачем обновляться
6
21
 
7
22
  Яндекс закрывает сервис **Yandex IoT Core**, через который версии 2.x получали команды Алисы:
8
23
 
9
- - **1 ноября 2026** — брокер переходит в read-only: голосовые команды и управление из приложения на версиях 2.x **перестанут работать** (состояния и датчики продолжат отправляться — они идут по HTTPS);
10
- - **1 декабря 2026** — сервис отключается полностью.
24
+ - **1 ноября 2026** — голосовые команды и управление из приложения на версиях 2.x **перестанут работать** (состояния и датчики продолжат отправляться);
25
+ - **1 декабря 2026** — Yandex IoT Core отключается: с этого момента полноценно работают **только версии 3.0.0 и новее**.
11
26
 
12
27
  Версия 3.0.0 от IoT Core не зависит. **Обновитесь до 1 ноября 2026.**
13
28
 
package/README.md CHANGED
@@ -20,8 +20,8 @@ Integration of Node-RED with Yandex Smart Home. Connect any device from Node-RED
20
20
 
21
21
  Яндекс закрывает сервис **Yandex IoT Core**, через который версии 2.x получали команды Алисы (MQTT):
22
22
 
23
- - **1 ноября 2026** — брокер переходит в режим read-only: голосовые команды («Алиса, включи свет») и управление из приложения **перестанут работать** на версиях 2.x. Отправка состояний и датчиков продолжит работать (она идёт по HTTPS).
24
- - **1 декабря 2026** — сервис отключается полностью.
23
+ - **1 ноября 2026** — голосовые команды («Алиса, включи свет») и управление из приложения **перестанут работать** на версиях 2.x. Отправка состояний и датчиков продолжит работать.
24
+ - **1 декабря 2026** — Yandex IoT Core отключается: с этого момента полноценно работают **только версии 3.0.0 и новее**.
25
25
 
26
26
  Начиная с **версии 3.0.0** плагин не зависит от IoT Core: команды доставляются по WebSocket (`wss://ws.nodered-home.ru`, исходящее подключение на стандартный порт 443 вместо 8883 — проще за файрволами и прокси).
27
27
 
@@ -85,8 +85,8 @@ npm install node-red-contrib-alice@latest
85
85
 
86
86
  Yandex is shutting down **Yandex IoT Core**, the MQTT service that versions 2.x rely on for receiving Alice commands:
87
87
 
88
- - **November 1, 2026** — the broker becomes read-only: voice commands and app control **will stop working** on 2.x. Sending states and sensor data will keep working (it goes over HTTPS).
89
- - **December 1, 2026** — the service shuts down completely.
88
+ - **November 1, 2026** — voice commands and app control **will stop working** on 2.x. Sending states and sensor data will keep working.
89
+ - **December 1, 2026** — Yandex IoT Core shuts down: from that point on, **only versions 3.0.0 and newer** work fully.
90
90
 
91
91
  Starting with **version 3.0.0** the plugin no longer depends on IoT Core: commands are delivered over WebSocket (`wss://ws.nodered-home.ru`, outgoing connection on standard port 443 instead of 8883 — friendlier to firewalls and proxies).
92
92
 
@@ -33,6 +33,7 @@
33
33
  { value: "smoke", label: "Smoke"},
34
34
  { value: "gas", label: "Gas"},
35
35
  { value: "battery_level", label: "Battery level"},
36
+ { value: "food_level", label: "Food level"},
36
37
  { value: "water_level", label: "Water level"},
37
38
  { value: "water_leak", label: "Water leak"}
38
39
  ]
@@ -65,8 +66,11 @@
65
66
  case "battery_level":
66
67
  $("#node-input-eventslist").editableList('addItems',["low","normal"]);
67
68
  break;
69
+ case "food_level":
70
+ $("#node-input-eventslist").editableList('addItems',["empty","low","normal"]);
71
+ break;
68
72
  case "water_level":
69
- $("#node-input-eventslist").editableList('addItems',["low","normal"]);
73
+ $("#node-input-eventslist").editableList('addItems',["empty","low","normal"]);
70
74
  break;
71
75
  case "water_leak":
72
76
  $("#node-input-eventslist").editableList('addItems',["dry","leak"]);
@@ -42,7 +42,10 @@
42
42
  };
43
43
  switch (val) {
44
44
  case 'cleanup_mode':
45
- this.modes = ['auto','eco','express','normal','quiet']
45
+ this.modes = ['auto','dry_cleaning','eco','express','mixed_cleaning','normal','quiet','wet_cleaning']
46
+ break;
47
+ case 'dishwashing':
48
+ this.modes = ['auto','eco','express','glass','intensive','pre_rinse','quiet']
46
49
  break;
47
50
  case 'coffee_mode':
48
51
  this.modes = ['americano','cappuccino','double_espresso','espresso','latte']
@@ -68,6 +71,9 @@
68
71
  case 'thermostat':
69
72
  this.modes = ['auto','cool','dry','fan_only','heat','preheat']
70
73
  break;
74
+ case 'ventilation_mode':
75
+ this.modes = ['auto','supply_air','extraction_air']
76
+ break;
71
77
  case 'work_speed':
72
78
  this.modes = ['auto','fast','max','medium','min','slow','turbo']
73
79
  break;
@@ -135,6 +141,7 @@
135
141
  <select id="node-input-instance" style="width: 70%;">
136
142
  <option value="cleanup_mode">Cleanup mode</option>
137
143
  <option value="coffee_mode">Coffee mode</option>
144
+ <option value="dishwashing">Dishwashing</option>
138
145
  <option value="multicooker_mode">Multicooker Mode</option>
139
146
  <option value="tea_mode">Tea Mode</option>
140
147
  <option value="fan_speed">Fan speed</option>
@@ -143,6 +150,7 @@
143
150
  <option value="program">Program</option>
144
151
  <option value="swing">Swing Mode</option>
145
152
  <option value="thermostat">Thermostat</option>
153
+ <option value="ventilation_mode">Ventilation mode</option>
146
154
  <option value="work_speed">Work speed</option>
147
155
  </select>
148
156
  </div>
@@ -185,6 +193,14 @@
185
193
  <option value="express">express</option>
186
194
  <option value="normal">normal</option>
187
195
  <option value="quiet">quiet</option>
196
+ <option value="wet_cleaning">wet_cleaning</option>
197
+ <option value="dry_cleaning">dry_cleaning</option>
198
+ <option value="mixed_cleaning">mixed_cleaning</option>
199
+ <option value="intensive">intensive</option>
200
+ <option value="glass">glass</option>
201
+ <option value="pre_rinse">pre_rinse</option>
202
+ <option value="supply_air">supply_air</option>
203
+ <option value="extraction_air">extraction_air</option>
188
204
  <option value="horizontal">horizontal</option>
189
205
  <option value="stationary">stationary</option>
190
206
  <option value="vertical">vertical</option>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-red-contrib-alice",
3
- "version": "3.0.1",
3
+ "version": "3.0.3",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "start": "npm run build && node-red",
@@ -33,6 +33,7 @@
33
33
  { value: "smoke", label: "Smoke"},
34
34
  { value: "gas", label: "Gas"},
35
35
  { value: "battery_level", label: "Battery level"},
36
+ { value: "food_level", label: "Food level"},
36
37
  { value: "water_level", label: "Water level"},
37
38
  { value: "water_leak", label: "Water leak"}
38
39
  ]
@@ -65,8 +66,11 @@
65
66
  case "battery_level":
66
67
  $("#node-input-eventslist").editableList('addItems',["low","normal"]);
67
68
  break;
69
+ case "food_level":
70
+ $("#node-input-eventslist").editableList('addItems',["empty","low","normal"]);
71
+ break;
68
72
  case "water_level":
69
- $("#node-input-eventslist").editableList('addItems',["low","normal"]);
73
+ $("#node-input-eventslist").editableList('addItems',["empty","low","normal"]);
70
74
  break;
71
75
  case "water_leak":
72
76
  $("#node-input-eventslist").editableList('addItems',["dry","leak"]);
@@ -42,7 +42,10 @@
42
42
  };
43
43
  switch (val) {
44
44
  case 'cleanup_mode':
45
- this.modes = ['auto','eco','express','normal','quiet']
45
+ this.modes = ['auto','dry_cleaning','eco','express','mixed_cleaning','normal','quiet','wet_cleaning']
46
+ break;
47
+ case 'dishwashing':
48
+ this.modes = ['auto','eco','express','glass','intensive','pre_rinse','quiet']
46
49
  break;
47
50
  case 'coffee_mode':
48
51
  this.modes = ['americano','cappuccino','double_espresso','espresso','latte']
@@ -68,6 +71,9 @@
68
71
  case 'thermostat':
69
72
  this.modes = ['auto','cool','dry','fan_only','heat','preheat']
70
73
  break;
74
+ case 'ventilation_mode':
75
+ this.modes = ['auto','supply_air','extraction_air']
76
+ break;
71
77
  case 'work_speed':
72
78
  this.modes = ['auto','fast','max','medium','min','slow','turbo']
73
79
  break;
@@ -135,6 +141,7 @@
135
141
  <select id="node-input-instance" style="width: 70%;">
136
142
  <option value="cleanup_mode">Cleanup mode</option>
137
143
  <option value="coffee_mode">Coffee mode</option>
144
+ <option value="dishwashing">Dishwashing</option>
138
145
  <option value="multicooker_mode">Multicooker Mode</option>
139
146
  <option value="tea_mode">Tea Mode</option>
140
147
  <option value="fan_speed">Fan speed</option>
@@ -143,6 +150,7 @@
143
150
  <option value="program">Program</option>
144
151
  <option value="swing">Swing Mode</option>
145
152
  <option value="thermostat">Thermostat</option>
153
+ <option value="ventilation_mode">Ventilation mode</option>
146
154
  <option value="work_speed">Work speed</option>
147
155
  </select>
148
156
  </div>
@@ -185,6 +193,14 @@
185
193
  <option value="express">express</option>
186
194
  <option value="normal">normal</option>
187
195
  <option value="quiet">quiet</option>
196
+ <option value="wet_cleaning">wet_cleaning</option>
197
+ <option value="dry_cleaning">dry_cleaning</option>
198
+ <option value="mixed_cleaning">mixed_cleaning</option>
199
+ <option value="intensive">intensive</option>
200
+ <option value="glass">glass</option>
201
+ <option value="pre_rinse">pre_rinse</option>
202
+ <option value="supply_air">supply_air</option>
203
+ <option value="extraction_air">extraction_air</option>
188
204
  <option value="horizontal">horizontal</option>
189
205
  <option value="stationary">stationary</option>
190
206
  <option value="vertical">vertical</option>