iobroker.poolcontrol 0.3.1 → 0.4.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/main.js CHANGED
@@ -8,6 +8,7 @@ const utils = require('@iobroker/adapter-core');
8
8
  const temperatureHelper = require('./lib/helpers/temperatureHelper');
9
9
  const timeHelper = require('./lib/helpers/timeHelper');
10
10
  const runtimeHelper = require('./lib/helpers/runtimeHelper');
11
+ const statisticsHelper = require('./lib/helpers/statisticsHelper');
11
12
  const pumpHelper = require('./lib/helpers/pumpHelper');
12
13
  const pumpHelper2 = require('./lib/helpers/pumpHelper2');
13
14
  const pumpHelper3 = require('./lib/helpers/pumpHelper3');
@@ -29,12 +30,12 @@ const { createSolarStates } = require('./lib/stateDefinitions/solarStates');
29
30
  const { createGeneralStates } = require('./lib/stateDefinitions/generalStates');
30
31
  const { createTimeStates } = require('./lib/stateDefinitions/timeStates');
31
32
  const { createRuntimeStates } = require('./lib/stateDefinitions/runtimeStates');
33
+ const { createStatisticsStates } = require('./lib/stateDefinitions/statisticsStates');
32
34
  const { createSpeechStates } = require('./lib/stateDefinitions/speechStates');
33
35
  const { createConsumptionStates } = require('./lib/stateDefinitions/consumptionStates');
34
36
  const { createStatusStates } = require('./lib/stateDefinitions/statusStates');
35
37
  const { createControlStates } = require('./lib/stateDefinitions/controlStates');
36
38
  const { createDebugLogStates } = require('./lib/stateDefinitions/debugLogStates');
37
- const { createHardwareStates } = require('./lib/stateDefinitions/hardwareStates');
38
39
 
39
40
  class Poolcontrol extends utils.Adapter {
40
41
  constructor(options) {
@@ -70,6 +71,9 @@ class Poolcontrol extends utils.Adapter {
70
71
  // --- Laufzeitsteuerung ---
71
72
  await createRuntimeStates(this);
72
73
 
74
+ // Statistik-States (Temperaturen)
75
+ await createStatisticsStates(this);
76
+
73
77
  // --- Sprachausgaben ---
74
78
  await createSpeechStates(this);
75
79
 
@@ -91,9 +95,6 @@ class Poolcontrol extends utils.Adapter {
91
95
  // --- DebugLog States ---
92
96
  await createDebugLogStates(this);
93
97
 
94
- // --- Hardware States ---
95
- await createHardwareStates(this);
96
-
97
98
  // --- Migration Helper zuletzt starten ---
98
99
  await migrationHelper.init(this);
99
100
 
@@ -101,6 +102,7 @@ class Poolcontrol extends utils.Adapter {
101
102
  temperatureHelper.init(this);
102
103
  timeHelper.init(this);
103
104
  runtimeHelper.init(this);
105
+ statisticsHelper.init(this);
104
106
  pumpHelper.init(this);
105
107
  pumpHelper2.init(this);
106
108
  pumpHelper3.init(this);
@@ -126,6 +128,9 @@ class Poolcontrol extends utils.Adapter {
126
128
  if (runtimeHelper.cleanup) {
127
129
  runtimeHelper.cleanup();
128
130
  }
131
+ if (statisticsHelper.cleanup) {
132
+ statisticsHelper.cleanup();
133
+ }
129
134
  if (pumpHelper.cleanup) {
130
135
  pumpHelper.cleanup();
131
136
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.poolcontrol",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "Steuerung & Automatisierung für den Pool (Pumpe, Heizung, Ventile, Sensoren).",
5
5
  "author": "DasBo1975 <dasbo1975@outlook.de>",
6
6
  "homepage": "https://github.com/DasBo1975/ioBroker.poolcontrol",
@@ -1,184 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * hardwareStates.js – Bereich für externe Boxen (TempBox, TasterBox usw.)
5
- * Überarbeitete Version: Checkboxen & settings_enabled entfernt
6
- */
7
-
8
- /**
9
- * Erstellt die Objektstruktur für alle Hardware-Boxen (z. B. TempBox, TasterBox).
10
- * Diese Version enthält keine Instanz-Checkboxen oder settings_enabled States mehr.
11
- *
12
- * @param {object} adapter - ioBroker Adapterinstanz
13
- */
14
- async function createHardwareStates(adapter) {
15
- try {
16
- // ------------------------------------------------------
17
- // Oberordner: Hardware
18
- // ------------------------------------------------------
19
- await adapter.setObjectNotExistsAsync('hardware', {
20
- type: 'channel',
21
- common: { name: 'Hardware-Boxen (Sensoren & externe Geräte)' },
22
- native: {},
23
- });
24
-
25
- // ======================================================
26
- // TEMPERATUR-BOX (ESP32)
27
- // ======================================================
28
- await adapter.setObjectNotExistsAsync('hardware.tempbox', {
29
- type: 'channel',
30
- common: { name: 'Temperatur-Box (ESP32)' },
31
- native: {},
32
- });
33
-
34
- // Statusmeldung: Erkennung/Verbindung
35
- await adapter.setObjectNotExistsAsync('hardware.tempbox.status_detected', {
36
- type: 'state',
37
- common: {
38
- name: 'Box-Status',
39
- desc: 'Status der automatischen Erkennung der Temperatur-Box (z. B. verbunden/nicht gefunden)',
40
- type: 'string',
41
- role: 'text',
42
- read: true,
43
- write: false,
44
- def: 'nicht gefunden',
45
- },
46
- native: {},
47
- });
48
-
49
- // LED-Status
50
- await adapter.setObjectNotExistsAsync('hardware.tempbox.status_led', {
51
- type: 'state',
52
- common: {
53
- name: 'LED-Status (TempBox)',
54
- desc: 'Status der blauen LED auf der Temperatur-Box',
55
- type: 'string',
56
- role: 'text',
57
- read: true,
58
- write: false,
59
- def: 'unbekannt',
60
- },
61
- native: {},
62
- });
63
-
64
- // Firmware-Version
65
- await adapter.setObjectNotExistsAsync('hardware.tempbox.fw_version', {
66
- type: 'state',
67
- common: {
68
- name: 'Box-Firmware-Version',
69
- desc: 'Firmware-Version der Temperatur-Box (ESP32)',
70
- type: 'string',
71
- role: 'text',
72
- read: true,
73
- write: false,
74
- def: '',
75
- },
76
- native: {},
77
- });
78
-
79
- // Box-ID
80
- await adapter.setObjectNotExistsAsync('hardware.tempbox.box_id', {
81
- type: 'state',
82
- common: {
83
- name: 'Box-ID (TempBox)',
84
- desc: 'Eindeutige Kennung der Temperatur-Box (z. B. PC-TB-01)',
85
- type: 'string',
86
- role: 'text',
87
- read: true,
88
- write: false,
89
- def: '',
90
- },
91
- native: {},
92
- });
93
-
94
- // Sensorsystem-Status
95
- await adapter.setObjectNotExistsAsync('hardware.tempbox.status_sensors', {
96
- type: 'state',
97
- common: {
98
- name: 'Sensorsystem-Status',
99
- desc: 'Meldung zum Zustand der Temperatursensoren in der TempBox',
100
- type: 'string',
101
- role: 'text',
102
- read: true,
103
- write: false,
104
- def: 'keine Daten',
105
- },
106
- native: {},
107
- });
108
-
109
- // ------------------------------------------------------
110
- // TASTER-BOX (ESP32)
111
- // ------------------------------------------------------
112
- await adapter.setObjectNotExistsAsync('hardware.tasterbox', {
113
- type: 'channel',
114
- common: { name: 'Taster-Box (ESP32)' },
115
- native: {},
116
- });
117
-
118
- // Statusmeldung
119
- await adapter.setObjectNotExistsAsync('hardware.tasterbox.status_detected', {
120
- type: 'state',
121
- common: {
122
- name: 'Box-Status',
123
- desc: 'Status der automatischen Erkennung der Taster-Box (z. B. verbunden/nicht gefunden)',
124
- type: 'string',
125
- role: 'text',
126
- read: true,
127
- write: false,
128
- def: 'nicht gefunden',
129
- },
130
- native: {},
131
- });
132
-
133
- // Firmware-Version
134
- await adapter.setObjectNotExistsAsync('hardware.tasterbox.fw_version', {
135
- type: 'state',
136
- common: {
137
- name: 'Box-Firmware-Version',
138
- desc: 'Firmware-Version der Taster-Box (ESP32)',
139
- type: 'string',
140
- role: 'text',
141
- read: true,
142
- write: false,
143
- def: '',
144
- },
145
- native: {},
146
- });
147
-
148
- // Box-ID
149
- await adapter.setObjectNotExistsAsync('hardware.tasterbox.box_id', {
150
- type: 'state',
151
- common: {
152
- name: 'Box-ID (TasterBox)',
153
- desc: 'Eindeutige Kennung der Taster-Box (z. B. PC-TB-02)',
154
- type: 'string',
155
- role: 'text',
156
- read: true,
157
- write: false,
158
- def: '',
159
- },
160
- native: {},
161
- });
162
-
163
- // Status der Taster
164
- await adapter.setObjectNotExistsAsync('hardware.tasterbox.status_buttons', {
165
- type: 'state',
166
- common: {
167
- name: 'Status der Taster',
168
- desc: 'Textmeldung zum Zustand der Taster (z. B. gedrückt, losgelassen, keine Verbindung)',
169
- type: 'string',
170
- role: 'text',
171
- read: true,
172
- write: false,
173
- def: 'unbekannt',
174
- },
175
- native: {},
176
- });
177
-
178
- adapter.log.debug('[hardwareStates] Hardware-State-Struktur erfolgreich angelegt (bereinigt ohne Checkboxen).');
179
- } catch (err) {
180
- adapter.log.error(`[hardwareStates] Fehler beim Anlegen der Hardware-States: ${err.message}`);
181
- }
182
- }
183
-
184
- module.exports = { createHardwareStates };