hoffmation-base 3.0.0-alpha.46 → 3.0.0-alpha.47

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.
@@ -44,4 +44,8 @@ export interface iLogSettings {
44
44
  * Whether to log debug messages for trilateration calculations
45
45
  */
46
46
  debugTrilateration?: boolean;
47
+ /**
48
+ * Whether to send telegram messages on "HOST Unreach" of Dachs
49
+ */
50
+ alertDachsUnreachable?: boolean;
47
51
  }
@@ -53,7 +53,7 @@ class Dachs {
53
53
  flatten: true,
54
54
  };
55
55
  this.config = modifiedOptions;
56
- this.client = new lib_1.DachsHttpClient(this.config.connectionOptions);
56
+ this.client = new lib_1.DachsHttpClient(this.config.connectionOptions, this.log.bind(this));
57
57
  this.warmWaterSensor = new dachsTemperatureSensor_1.DachsTemperatureSensor(this.config.roomName, 'ww', 'Water Temperature');
58
58
  this.heatStorageTempSensor = new dachsTemperatureSensor_1.DachsTemperatureSensor(this.config.roomName, 'hs', 'Heat Storage Temperature');
59
59
  services_1.Utils.guardedInterval(this.loadData, this.config.refreshInterval, this);
@@ -135,7 +135,7 @@ class Dachs {
135
135
  this.persist();
136
136
  })
137
137
  .catch((error) => {
138
- this.log(models_1.LogLevel.Error, `Error while fetching data: ${error}`);
138
+ this.log(models_1.LogLevel.Error, `Error while fetching data: ${error}`, services_1.LogDebugType.DachsUnreach);
139
139
  });
140
140
  }
141
141
  /** @inheritDoc */
@@ -1,5 +1,7 @@
1
1
  import { AxiosResponse } from 'axios';
2
2
  import { DachsClientOptions, iFlattenedCompleteResponse, KeyListEntityResponse } from '../interfaces';
3
+ import { LogDebugType } from '../../../services';
4
+ import { LogLevel } from '../../../../models';
3
5
  /**
4
6
  * axios HTTP Client Class
5
7
  * - with some prepared fetch functions for data
@@ -8,10 +10,11 @@ import { DachsClientOptions, iFlattenedCompleteResponse, KeyListEntityResponse }
8
10
  * @class
9
11
  */
10
12
  export declare class DachsHttpClient {
13
+ private readonly _logger;
11
14
  private options;
12
15
  private readonly url;
13
16
  private axiosInstance;
14
- constructor(options: DachsClientOptions);
17
+ constructor(options: DachsClientOptions, _logger: (level: LogLevel, message: string, logDebugType?: LogDebugType) => void);
15
18
  /**
16
19
  * Takes every key and add the key to the get parameter list
17
20
  * @param {string[]} keys - Array of request keys
@@ -41,8 +41,9 @@ const models_1 = require("../../../../models");
41
41
  * @class
42
42
  */
43
43
  class DachsHttpClient {
44
- constructor(options) {
44
+ constructor(options, _logger) {
45
45
  var _a;
46
+ this._logger = _logger;
46
47
  this.options = options;
47
48
  //combine parameter to baseUrl
48
49
  //check http prefix
@@ -61,7 +62,7 @@ class DachsHttpClient {
61
62
  this.axiosInstance.interceptors.response.use((response) => {
62
63
  return response;
63
64
  }, (error) => {
64
- services_1.ServerLogService.writeLog(models_1.LogLevel.Error, `DachsHttpClient: ${error.message}`);
65
+ this._logger(models_1.LogLevel.Error, `DachsHttpClient: ${error.message}`, services_1.LogDebugType.DachsUnreach);
65
66
  });
66
67
  }
67
68
  /**
@@ -89,7 +90,7 @@ class DachsHttpClient {
89
90
  fetchByKeys(...keys) {
90
91
  return new Promise((resolve, reject) => {
91
92
  this.axiosInstance
92
- .get("/getKey" + this.urlBuilder(keys))
93
+ .get('/getKey' + this.urlBuilder(keys))
93
94
  .then((res) => {
94
95
  if (!res.data)
95
96
  reject('No data received');
@@ -117,7 +118,7 @@ class DachsHttpClient {
117
118
  setKeys(data) {
118
119
  return new Promise((resolve, reject) => {
119
120
  this.axiosInstance
120
- .post("/setKeys", Object.entries(data)
121
+ .post('/setKeys', Object.entries(data)
121
122
  .map(([key, value]) => `${key}=${value}`)
122
123
  .join('&'))
123
124
  .then((res) => {
@@ -8,5 +8,6 @@ export declare enum LogDebugType {
8
8
  SkipUnchangedMovementState = 6,
9
9
  DaikinSuccessfullControlInfo = 7,
10
10
  EuroHeaterValveLogging = 8,
11
- Trilateration = 9
11
+ Trilateration = 9,
12
+ DachsUnreach = 10
12
13
  }
@@ -13,4 +13,5 @@ var LogDebugType;
13
13
  LogDebugType[LogDebugType["DaikinSuccessfullControlInfo"] = 7] = "DaikinSuccessfullControlInfo";
14
14
  LogDebugType[LogDebugType["EuroHeaterValveLogging"] = 8] = "EuroHeaterValveLogging";
15
15
  LogDebugType[LogDebugType["Trilateration"] = 9] = "Trilateration";
16
+ LogDebugType[LogDebugType["DachsUnreach"] = 10] = "DachsUnreach";
16
17
  })(LogDebugType || (exports.LogDebugType = LogDebugType = {}));