hoffmation-base 0.1.1 → 0.1.5
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/.eslintrc.js +27 -27
- package/.github/workflows/npm-publish.yml +50 -0
- package/.prettierrc.js +9 -9
- package/LICENSE +21 -21
- package/index.js +1 -1
- package/models/connectionCallbacks.ts +13 -13
- package/models/daytime.ts +3 -3
- package/models/deviceConfig.ts +8 -8
- package/models/dimmerSettings.ts +5 -5
- package/models/iTemperaturDataPoint.ts +9 -9
- package/models/lampSettings.ts +5 -5
- package/models/ledSettings.ts +19 -19
- package/models/logLevel.ts +9 -9
- package/models/persistence/BasicRoomInfo.ts +3 -3
- package/models/persistence/DailyMovementCount.ts +3 -3
- package/models/persistence/RoomDetailInfo.ts +4 -4
- package/models/persistence/temperaturDataPoint.ts +12 -12
- package/models/persistence/todaysCount.ts +3 -3
- package/models/rooms/RoomBase.ts +357 -357
- package/models/rooms/RoomSettings/RoomSettings.ts +159 -159
- package/models/rooms/RoomSettings/hmIPRoomSettings.ts +53 -53
- package/models/rooms/RoomSettings/iRoomDefaultSettings.ts +17 -17
- package/models/rooms/RoomSettings/readme.md +17 -17
- package/models/rooms/RoomSettings/zigbeeRoomSettings.ts +51 -51
- package/models/rooms/iRoomImportEnforcer.ts +3 -3
- package/models/rooms/readme.md +11 -11
- package/models/temperaturSettings.ts +22 -22
- package/models/timeCallback.ts +90 -90
- package/package.json +1 -1
- package/server/config/config-readme.md +19 -19
- package/server/config/iConfig.ts +53 -53
- package/server/config/private/mainConfig.json +64 -64
- package/server/devices/DeviceInfo.ts +66 -66
- package/server/devices/Griffe.ts +31 -31
- package/server/devices/Heizgruppen.ts +91 -91
- package/server/devices/Rollos.ts +48 -48
- package/server/devices/deviceUpdater.ts +72 -72
- package/server/devices/devices.ts +189 -189
- package/server/devices/groups/fensterGroup.ts +175 -175
- package/server/devices/groups/heatGroup.ts +32 -32
- package/server/devices/groups/lampenGroup.ts +88 -88
- package/server/devices/groups/praesenzGroup.ts +182 -182
- package/server/devices/groups/smokeGroup.ts +16 -16
- package/server/devices/groups/sonosGroup.ts +33 -33
- package/server/devices/groups/tasterGroup.ts +48 -48
- package/server/devices/groups/waterGroup.ts +16 -16
- package/server/devices/hmIPDevices/Fenster.ts +114 -114
- package/server/devices/hmIPDevices/FensterPosition.ts +5 -5
- package/server/devices/hmIPDevices/TuerPosition.ts +4 -4
- package/server/devices/hmIPDevices/hmIpBewegung.ts +126 -126
- package/server/devices/hmIPDevices/hmIpDevice.ts +90 -90
- package/server/devices/hmIPDevices/hmIpDeviceType.ts +14 -14
- package/server/devices/hmIPDevices/hmIpGriff.ts +143 -143
- package/server/devices/hmIPDevices/hmIpHeizgruppe.ts +172 -172
- package/server/devices/hmIPDevices/hmIpHeizung.ts +69 -69
- package/server/devices/hmIPDevices/hmIpLampe.ts +119 -119
- package/server/devices/hmIPDevices/hmIpPraezenz.ts +99 -99
- package/server/devices/hmIPDevices/hmIpRoll.ts +133 -133
- package/server/devices/hmIPDevices/hmIpTaster.ts +82 -73
- package/server/devices/hmIPDevices/hmIpTherm.ts +19 -19
- package/server/devices/hmIPDevices/hmIpTuer.ts +115 -115
- package/server/devices/hmIPDevices/hmIpWippe.ts +55 -55
- package/server/devices/iDeviceUpdater.ts +4 -4
- package/server/devices/iIoBrokerDevice.ts +44 -44
- package/server/devices/iTaster.ts +6 -0
- package/server/devices/{hmIPDevices/hmIpTaste.ts → taste.ts} +84 -72
- package/server/devices/wledDevice.ts +124 -124
- package/server/devices/zigbee/ZigbeeActuator.ts +113 -113
- package/server/devices/zigbee/zigbeeAquaraVibra.ts +171 -171
- package/server/devices/zigbee/zigbeeAquaraWater.ts +94 -94
- package/server/devices/zigbee/zigbeeBlitzShp.ts +77 -77
- package/server/devices/zigbee/zigbeeDevice.ts +115 -115
- package/server/devices/zigbee/zigbeeDeviceType.ts +13 -13
- package/server/devices/zigbee/zigbeeHeimanSmoke.ts +99 -99
- package/server/devices/zigbee/zigbeeIkeaSteckdose.ts +31 -31
- package/server/devices/zigbee/zigbeeIlluActuator.ts +37 -37
- package/server/devices/zigbee/zigbeeIlluDimmer.ts +165 -165
- package/server/devices/zigbee/zigbeeIlluLampe.ts +33 -33
- package/server/devices/zigbee/zigbeeIlluLedRGBCCT.ts +137 -137
- package/server/ioBroker/connection.ts +1655 -1655
- package/server/ioBroker/ioBroker.main.ts +99 -99
- package/server/ioBroker/socketIOAuthInfo.ts +5 -5
- package/server/ioBroker/socketIOConnectOptions.ts +6 -6
- package/server/ioBroker/socketIOLogging.ts +29 -29
- package/server/ioBroker/socketIOVisCommand.ts +11 -11
- package/server/services/HTTPSOptions.ts +14 -14
- package/server/services/Sonos/OwnSonosDevices.ts +9 -0
- package/server/services/Sonos/mp3-server.ts +75 -75
- package/server/services/Sonos/polly-service.ts +100 -100
- package/server/services/Sonos/sonos-service.ts +194 -199
- package/server/services/Telegram/telegram-Commands.ts +237 -215
- package/server/services/Telegram/telegram-service.ts +171 -171
- package/server/services/Telegram/telegramMessageCalback.ts +11 -11
- package/server/services/calendar/muell-tonne.ts +82 -83
- package/server/services/calendar/m/303/274ll-service.ts +147 -146
- package/server/services/dbo/persist.ts +125 -125
- package/server/services/https-service.ts +71 -71
- package/server/services/log-service.ts +69 -69
- package/server/services/news-service.ts +81 -81
- package/server/services/settings-service.ts +15 -15
- package/server/services/time-callback-service.ts +223 -223
- package/server/services/utils/ringstorage.ts +24 -24
- package/server/services/utils/utils.ts +52 -52
- package/server/services/weather/weather-alert.ts +7 -7
- package/server/services/weather/weather-current.ts +26 -26
- package/server/services/weather/weather-daily.ts +22 -22
- package/server/services/weather/weather-feelsLike.ts +6 -6
- package/server/services/weather/weather-hourly.ts +17 -17
- package/server/services/weather/weather-item.ts +6 -6
- package/server/services/weather/weather-minutes.ts +4 -4
- package/server/services/weather/weather-service.ts +277 -277
- package/server/services/weather/weather-temp.ts +8 -8
- package/tsconfig.json +58 -58
|
@@ -1,215 +1,237 @@
|
|
|
1
|
-
import TelegramBot from 'node-telegram-bot-api';
|
|
2
|
-
import { Devices } from '../../devices/devices';
|
|
3
|
-
import { TelegramService } from './telegram-service';
|
|
4
|
-
import { TelegramMessageCallback } from './telegramMessageCalback';
|
|
5
|
-
import { Griffe } from '../../devices/Griffe';
|
|
6
|
-
import { Heizgruppen } from '../../devices/Heizgruppen';
|
|
7
|
-
import { Rolladen } from '../../devices/Rollos';
|
|
8
|
-
import { ZigbeeAquaraVibra } from '../../devices/zigbee/zigbeeAquaraVibra';
|
|
9
|
-
import { ZigbeeDeviceType } from '../../devices/zigbee/zigbeeDeviceType';
|
|
10
|
-
import { RoomBase } from '../../../models/rooms/RoomBase';
|
|
11
|
-
import { SonosService } from '../Sonos/sonos-service';
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
return
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
return
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
return
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
return
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
return
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
return
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
1
|
+
import TelegramBot from 'node-telegram-bot-api';
|
|
2
|
+
import { Devices } from '../../devices/devices';
|
|
3
|
+
import { TelegramService } from './telegram-service';
|
|
4
|
+
import { TelegramMessageCallback } from './telegramMessageCalback';
|
|
5
|
+
import { Griffe } from '../../devices/Griffe';
|
|
6
|
+
import { Heizgruppen } from '../../devices/Heizgruppen';
|
|
7
|
+
import { Rolladen } from '../../devices/Rollos';
|
|
8
|
+
import { ZigbeeAquaraVibra } from '../../devices/zigbee/zigbeeAquaraVibra';
|
|
9
|
+
import { ZigbeeDeviceType } from '../../devices/zigbee/zigbeeDeviceType';
|
|
10
|
+
import { RoomBase } from '../../../models/rooms/RoomBase';
|
|
11
|
+
import { SonosService } from '../Sonos/sonos-service';
|
|
12
|
+
import { HmIpDeviceType } from "/server/config/private/server/devices/hmIPDevices/hmIpDeviceType";
|
|
13
|
+
import { HmIpTaster } from "/server/config/private/server/devices/hmIPDevices/hmIpTaster";
|
|
14
|
+
|
|
15
|
+
export class TelegramCommands {
|
|
16
|
+
private static devices: Devices;
|
|
17
|
+
|
|
18
|
+
public static initialize(pDevices: Devices): void {
|
|
19
|
+
TelegramCommands.devices = pDevices;
|
|
20
|
+
TelegramService.addMessageCallback(
|
|
21
|
+
new TelegramMessageCallback(
|
|
22
|
+
'AlarmStop',
|
|
23
|
+
/\/stop_alarm/,
|
|
24
|
+
async (m: TelegramBot.Message): Promise<boolean> => {
|
|
25
|
+
if (m.from === undefined) return false;
|
|
26
|
+
RoomBase.clearAllAlarms();
|
|
27
|
+
TelegramService.sendMessage(
|
|
28
|
+
[m.from.id],
|
|
29
|
+
'Alle ausgelösten Wasser-/Rauchmelder und Eindringlingsalarme wurden gestoppt.',
|
|
30
|
+
);
|
|
31
|
+
return true;
|
|
32
|
+
},
|
|
33
|
+
'Eine Möglichkeit bei Fehlalarm den Alarm abzuschalten',
|
|
34
|
+
),
|
|
35
|
+
);
|
|
36
|
+
TelegramService.addMessageCallback(
|
|
37
|
+
new TelegramMessageCallback(
|
|
38
|
+
'AwayModeStart',
|
|
39
|
+
/\/away_mode_start/,
|
|
40
|
+
async (m: TelegramBot.Message): Promise<boolean> => {
|
|
41
|
+
if (m.from === undefined) return false;
|
|
42
|
+
RoomBase.startAwayMode();
|
|
43
|
+
TelegramService.inform('Der Abwesenheitsmodus ist initiiert');
|
|
44
|
+
return true;
|
|
45
|
+
},
|
|
46
|
+
'Eine Möglichkeit die Alarmanlage scharfzuschalten',
|
|
47
|
+
),
|
|
48
|
+
);
|
|
49
|
+
TelegramService.addMessageCallback(
|
|
50
|
+
new TelegramMessageCallback(
|
|
51
|
+
'NightAlarmMode',
|
|
52
|
+
/\/nightalarm_mode_start/,
|
|
53
|
+
async (m: TelegramBot.Message): Promise<boolean> => {
|
|
54
|
+
if (m.from === undefined) return false;
|
|
55
|
+
RoomBase.startNightAlarmMode();
|
|
56
|
+
TelegramService.inform('Der Nachtmodus ist initiiert');
|
|
57
|
+
return true;
|
|
58
|
+
},
|
|
59
|
+
'Alarmanlage für die Nacht scharf schalten',
|
|
60
|
+
),
|
|
61
|
+
);
|
|
62
|
+
TelegramService.addMessageCallback(
|
|
63
|
+
new TelegramMessageCallback(
|
|
64
|
+
'AlarmModesEnd',
|
|
65
|
+
/\/alarm_modes_end/,
|
|
66
|
+
async (m: TelegramBot.Message): Promise<boolean> => {
|
|
67
|
+
if (m.from === undefined) return false;
|
|
68
|
+
RoomBase.endAlarmModes();
|
|
69
|
+
TelegramService.sendMessage([m.from.id], 'Der Abwesenheitsmodus ist deaktiviert.');
|
|
70
|
+
return true;
|
|
71
|
+
},
|
|
72
|
+
'Alarmanlage nach Abwesenheit/Nacht entschärfen',
|
|
73
|
+
),
|
|
74
|
+
);
|
|
75
|
+
TelegramService.addMessageCallback(
|
|
76
|
+
new TelegramMessageCallback(
|
|
77
|
+
'LastMovements',
|
|
78
|
+
/\/check_movement/,
|
|
79
|
+
async (m: TelegramBot.Message): Promise<boolean> => {
|
|
80
|
+
if (m.from === undefined) return false;
|
|
81
|
+
TelegramService.sendMessage(
|
|
82
|
+
[m.from.id],
|
|
83
|
+
`Im Folgenden sind die letzten Bewegungen\n${RoomBase.getLastMovements()}`,
|
|
84
|
+
);
|
|
85
|
+
return true;
|
|
86
|
+
},
|
|
87
|
+
'Gibt die letzten Bewegungen inkl. ihrer Uhrzeit aus.',
|
|
88
|
+
),
|
|
89
|
+
);
|
|
90
|
+
TelegramService.addMessageCallback(
|
|
91
|
+
new TelegramMessageCallback(
|
|
92
|
+
'TelegramTest',
|
|
93
|
+
/\/test/,
|
|
94
|
+
async (m: TelegramBot.Message): Promise<boolean> => {
|
|
95
|
+
if (m.from === undefined) return false;
|
|
96
|
+
TelegramService.sendMessage([m.from.id], 'Hallo, ich bin der HoffMation Bot.');
|
|
97
|
+
return true;
|
|
98
|
+
},
|
|
99
|
+
'Eine Möglichkeit die Verknüpfung mit dem HoffMation Bot zu testen',
|
|
100
|
+
),
|
|
101
|
+
);
|
|
102
|
+
|
|
103
|
+
TelegramService.addMessageCallback(
|
|
104
|
+
new TelegramMessageCallback(
|
|
105
|
+
'RolloObenCheck',
|
|
106
|
+
/\/check_rollo/,
|
|
107
|
+
async (m: TelegramBot.Message): Promise<boolean> => {
|
|
108
|
+
if (m.from === undefined) return false;
|
|
109
|
+
TelegramService.sendMessage([m.from.id], Rolladen.getRolladenPosition());
|
|
110
|
+
return true;
|
|
111
|
+
},
|
|
112
|
+
'Gibt die Positionen der Rollos aus, warnt über offene Rollos und nennt die nächsten Fahrten',
|
|
113
|
+
),
|
|
114
|
+
);
|
|
115
|
+
|
|
116
|
+
TelegramService.addMessageCallback(
|
|
117
|
+
new TelegramMessageCallback(
|
|
118
|
+
'FensterCheck',
|
|
119
|
+
/\/check_fenster/,
|
|
120
|
+
async (m: TelegramBot.Message): Promise<boolean> => {
|
|
121
|
+
if (m.from === undefined) return false;
|
|
122
|
+
TelegramService.sendMessage([m.from.id], Griffe.getGriffPosition());
|
|
123
|
+
return true;
|
|
124
|
+
},
|
|
125
|
+
'Gibt die Positionen der Fenstergriffe aus und warnt somit über offene Fenster',
|
|
126
|
+
),
|
|
127
|
+
);
|
|
128
|
+
|
|
129
|
+
TelegramService.addMessageCallback(
|
|
130
|
+
new TelegramMessageCallback(
|
|
131
|
+
'HeizungCheck',
|
|
132
|
+
/\/check_temperatur/,
|
|
133
|
+
async (m: TelegramBot.Message): Promise<boolean> => {
|
|
134
|
+
if (m.from === undefined) return false;
|
|
135
|
+
TelegramService.sendMessage([m.from.id], Heizgruppen.getInfo());
|
|
136
|
+
return true;
|
|
137
|
+
},
|
|
138
|
+
'Gibt die Namen und aktuellen Werte sämtlicher Heizgruppen aus (aktuelle Temperatur, Soll Temperatur, Ventilstellung).',
|
|
139
|
+
),
|
|
140
|
+
);
|
|
141
|
+
|
|
142
|
+
TelegramService.addMessageCallback(
|
|
143
|
+
new TelegramMessageCallback(
|
|
144
|
+
'HeizungError',
|
|
145
|
+
/\/temperatur_error/,
|
|
146
|
+
async (m: TelegramBot.Message): Promise<boolean> => {
|
|
147
|
+
if (m.from === undefined) return false;
|
|
148
|
+
TelegramService.sendMessage([m.from.id], Heizgruppen.getProblems());
|
|
149
|
+
return true;
|
|
150
|
+
},
|
|
151
|
+
'Zeigt Differenzen zwischen Heizungen und den jeweiligen Heizgruppen auf',
|
|
152
|
+
),
|
|
153
|
+
);
|
|
154
|
+
|
|
155
|
+
TelegramService.addMessageCallback(
|
|
156
|
+
new TelegramMessageCallback(
|
|
157
|
+
'HeizungCheckOne',
|
|
158
|
+
/\/check_1_temperatur.*/,
|
|
159
|
+
async (m: TelegramBot.Message): Promise<boolean> => {
|
|
160
|
+
if (m.from === undefined) return false;
|
|
161
|
+
TelegramService.sendMessage([m.from.id], await Heizgruppen.getSpecificInfo(m.text));
|
|
162
|
+
return true;
|
|
163
|
+
},
|
|
164
|
+
`Gibt den Verlauf der in \\"\\" übergebenen Heizgruppe aus.`,
|
|
165
|
+
/\/check_1_temperatur/,
|
|
166
|
+
),
|
|
167
|
+
);
|
|
168
|
+
|
|
169
|
+
TelegramService.addMessageCallback(
|
|
170
|
+
new TelegramMessageCallback(
|
|
171
|
+
'AllRolloDown',
|
|
172
|
+
/\/all_rollo_down/,
|
|
173
|
+
async (m: TelegramBot.Message): Promise<boolean> => {
|
|
174
|
+
if (m.from === undefined) return false;
|
|
175
|
+
RoomBase.setAllRolloOfFloor(-1, 0);
|
|
176
|
+
TelegramService.sendMessage([m.from.id], `Es werden alle Rollos heruntergefahren`);
|
|
177
|
+
return true;
|
|
178
|
+
},
|
|
179
|
+
`Fährt alle rollos runter`,
|
|
180
|
+
),
|
|
181
|
+
);
|
|
182
|
+
|
|
183
|
+
TelegramService.addMessageCallback(
|
|
184
|
+
new TelegramMessageCallback(
|
|
185
|
+
'VibrationSensitivity',
|
|
186
|
+
/\/set_vibration_sensitivity/,
|
|
187
|
+
async (m: TelegramBot.Message): Promise<boolean> => {
|
|
188
|
+
if (m.from === undefined) return false;
|
|
189
|
+
for (const id in Devices.Zigbee) {
|
|
190
|
+
const d = Devices.Zigbee[id];
|
|
191
|
+
if (d.deviceType === ZigbeeDeviceType.ZigbeeAquaraVibra) {
|
|
192
|
+
(d as ZigbeeAquaraVibra).setSensitivity(2);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
TelegramService.sendMessage([m.from.id], 'Abgeschlossen');
|
|
196
|
+
return true;
|
|
197
|
+
},
|
|
198
|
+
`Setzt alle Vibrationsensoren auf High`,
|
|
199
|
+
),
|
|
200
|
+
);
|
|
201
|
+
|
|
202
|
+
TelegramService.addMessageCallback(
|
|
203
|
+
new TelegramMessageCallback(
|
|
204
|
+
'AllButtonAssignments',
|
|
205
|
+
/\/get_all_button_assignments/,
|
|
206
|
+
async (m: TelegramBot.Message): Promise<boolean> => {
|
|
207
|
+
if (m.from === undefined) return false;
|
|
208
|
+
const response: string[] = ['These are the assignments for all buttons'];
|
|
209
|
+
for (const id in Devices.hmIP) {
|
|
210
|
+
const d = Devices.hmIP[id];
|
|
211
|
+
if (d.deviceType === HmIpDeviceType.HmIpTaster) {
|
|
212
|
+
response.push((d as HmIpTaster).getTastenAssignment());
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
TelegramService.sendMessage([m.from.id], response.join('\n'));
|
|
216
|
+
return true;
|
|
217
|
+
},
|
|
218
|
+
`Setzt alle Vibrationsensoren auf High`,
|
|
219
|
+
),
|
|
220
|
+
);
|
|
221
|
+
|
|
222
|
+
TelegramService.addMessageCallback(
|
|
223
|
+
new TelegramMessageCallback(
|
|
224
|
+
'SonosTest',
|
|
225
|
+
/\/perform_sonos_test/,
|
|
226
|
+
async (m: TelegramBot.Message): Promise<boolean> => {
|
|
227
|
+
if (m.from === undefined) return false;
|
|
228
|
+
SonosService.speakTestMessageOnEachDevice();
|
|
229
|
+
TelegramService.sendMessage([m.from.id], 'Testnachricht gesprochen --> Führe weiteren Test durch');
|
|
230
|
+
SonosService.checkAll();
|
|
231
|
+
return true;
|
|
232
|
+
},
|
|
233
|
+
`Spiele eine kurze Nachricht auf allen Sonos Geräten um diese zu identifizieren`,
|
|
234
|
+
),
|
|
235
|
+
);
|
|
236
|
+
}
|
|
237
|
+
}
|