EnOcean Link  1.14.0.0
Middleware to Connect EnOcean easily to other Projects
eoEEP_D230xx.h
Go to the documentation of this file.
1 /******************************************************************************
2  DISCLAIMER
3 
4  THIS SOFTWARE PRODUCT ("SOFTWARE") IS PROPRIETARY TO ENOCEAN GMBH, OBERHACHING,
5  GERMANY (THE "OWNER") AND IS PROTECTED BY COPYRIGHT AND INTERNATIONAL TREATIES OR
6  PROTECTED AS TRADE SECRET OR AS OTHER INTELLECTUAL PROPERTY RIGHT. ALL RIGHTS, TITLE AND
7  INTEREST IN AND TO THE SOFTWARE, INCLUDING ANY COPYRIGHT, TRADE SECRET OR ANY OTHER
8  INTELLECTUAL PROPERTY EMBODIED IN THE SOFTWARE, AND ANY RIGHTS TO REPRODUCE,
9  DISTRIBUTE, MODIFY, DISPLAY OR OTHERWISE USE THE SOFTWARE SHALL EXCLUSIVELY VEST IN THE
10  OWNER. ANY UNAUTHORIZED REPRODUCTION, DISTRIBUTION, MODIFICATION, DISPLAY OR OTHER
11  USE OF THE SOFTWARE WITHOUT THE EXPLICIT PERMISSION OF OWNER IS PROHIBITED AND WILL
12  CONSTITUTE AN INFRINGEMENT OF THE OWNER'S RIGHT AND MAY BE SUBJECT TO CIVIL OR
13  CRIMINAL SANCTION.
14 
15  THIS SOFTWARE IS PROVIDED BY THE OWNER "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
16  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
17  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN PARTICULAR, THE OWNER DOES NOT WARRANT
18  THAT THE SOFTWARE SHALL BE ERROR FREE AND WORKS WITHOUT INTERRUPTION.
19 
20  IN NO EVENT SHALL THE OWNER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  ******************************************************************************/
27 
28 #if !defined(eoEEP_D230_H__INCLUDED_)
29 #define eoEEP_D230_H__INCLUDED_
30 
33 #include "eoD2EEProfile.h"
129 typedef enum
131 {
144 } MSR_COMMANDS;
145 
147 typedef enum
148 {
185 } MSR_CHANNELS;
186 
188 typedef enum
189 {
193  MSR_1_SECOND = 0x01,
195  MSR_2_SECOND = 0x02,
197  MSR_5_SECOND = 0x03,
212 } MSR_TIME_VALUES; //MSR because of the submitter
213 
215 typedef enum
216 {
233 } MSR_REPORT_TIME_VALUES; //MSR because of the submitter
234 
236 typedef enum
237 {
243 
245 typedef enum
246 {
251 } MSR_INIT_SEQU;
252 
254 typedef enum
255 {
271 
273 typedef enum
274 {
286 
288 typedef enum
289 {
307 
309 typedef enum
310 {
318 
320 typedef enum
321 {
339 
341 typedef enum
342 {
344  MSR_VALUE_W = 0x00,
346  MSR_VALUE_WH = 0x01,
354  MSR_VALUE_M3 = 0x05,
360 
362 typedef enum
363 {
373 
375 typedef enum
376 {
383 } MSR_PROTOCOL;
384 
386 typedef enum
387 {
397 
399 {
400 private:
401  uint8_t cmd;
402  bool IsChannel31()
403  {
404  return ((msg.data[1] & 0x1F) == 0x1F);
405  }
406 public:
407  eoReturn SetType(uint8_t type);
408  eoReturn Parse(const eoMessage &msg);
413  eoEEP_D230xx(uint16_t size = 10);
414  virtual ~eoEEP_D230xx();
415 
416  virtual eoReturn GetValue(CHANNEL_TYPE type, float &value, uint8_t index);
417 
418  virtual eoReturn GetValue(CHANNEL_TYPE type, uint32_t &value, uint8_t index);
419  virtual eoReturn SetValue(CHANNEL_TYPE type, uint32_t value, uint8_t index);
420  virtual eoReturn SetValue(CHANNEL_TYPE type, float value, uint8_t index);
421 
422  virtual eoReturn SetCommand(uint8_t cmd);
423 };
426 #endif // !defined(EA_259BDE62_FE41_490e_8B3E_427A72922C4A__INCLUDED_)
7 Preset value
Definition: eoEEP_D230xx.h:164
5 Meter 2 units
Definition: eoEEP_D230xx.h:160
9 Factor of number of pulses
Definition: eoEEP_D230xx.h:168
3 Heating controls status response
Definition: eoEEP_D230xx.h:137
3 Value in dm3/h
Definition: eoEEP_D230xx.h:352
7 1000 seconds
Definition: eoEEP_D230xx.h:232
1 Current value in W, accumulated value in kWh
Definition: eoEEP_D230xx.h:325
2 0.01
Definition: eoEEP_D230xx.h:369
7 Digital counter
Definition: eoEEP_D230xx.h:358
4 30 seconds
Definition: eoEEP_D230xx.h:226
0 No fault
Definition: eoEEP_D230xx.h:257
4 Temperature sensor error
Definition: eoEEP_D230xx.h:265
13 Meter error code
Definition: eoEEP_D230xx.h:178
1 Set heating controls output
Definition: eoEEP_D230xx.h:133
1 Valve normally open
Definition: eoEEP_D230xx.h:241
7 Meter status query
Definition: eoEEP_D230xx.h:141
8 200 seconds
Definition: eoEEP_D230xx.h:207
6 Accumulated value in m3
Definition: eoEEP_D230xx.h:335
uint8_t type
Type.
Definition: eoProfile.h:69
5 Valve error
Definition: eoEEP_D230xx.h:267
virtual eoReturn GetValue(CHANNEL_TYPE type, float &value, uint8_t index)
Gets the Value as Floating point.
4 Current value in m3/h, accumulated value in m3
Definition: eoEEP_D230xx.h:331
MSR_ERROR_CODE
Enums for Status/Error.
Definition: eoEEP_D230xx.h:254
MSR_METER_UNITS
Enums for Meter units.
Definition: eoEEP_D230xx.h:320
eoMessage msg
helper function to convert bits
Definition: eoProfile.h:302
2 3 seconds
Definition: eoEEP_D230xx.h:222
uint8_t * data
Data Pointer.
Definition: eoAbstractMessage.h:51
3 10 seconds
Definition: eoEEP_D230xx.h:224
Message Class for communication.
Definition: eoMessage.h:47
MSR_COMMANDS
Command enums for D2-30-xx profiles.
Definition: eoEEP_D230xx.h:130
0 No fault
Definition: eoEEP_D230xx.h:291
3 Value in m3/h
Definition: eoEEP_D230xx.h:350
1 SML (Smart Message Language)
Definition: eoEEP_D230xx.h:380
0 1
Definition: eoEEP_D230xx.h:365
7 100 seconds
Definition: eoEEP_D230xx.h:205
MSR_REPORT_TIME_VALUES
Enums for Minimum auto reporting intervals.
Definition: eoEEP_D230xx.h:215
6 50 seconds
Definition: eoEEP_D230xx.h:203
2 Supply temperature
Definition: eoEEP_D230xx.h:154
6 Set meter configuration
Definition: eoEEP_D230xx.h:139
eoReturn Parse(const eoMessage &msg)
Parses a msg using learned in Profile from Device.
1 Run init sequence
Definition: eoEEP_D230xx.h:250
3 Meter 2, Accumulated value
Definition: eoEEP_D230xx.h:395
6 300 seconds
Definition: eoEEP_D230xx.h:230
1 Value in Wh
Definition: eoEEP_D230xx.h:346
virtual eoReturn SetCommand(uint8_t cmd)
1 Meter 1, Accumulated value
Definition: eoEEP_D230xx.h:391
MSR_METER_ERROR_CODE
Enums for Status/Error.
Definition: eoEEP_D230xx.h:288
3 0.001
Definition: eoEEP_D230xx.h:371
1 General error
Definition: eoEEP_D230xx.h:278
MSR_CHANNELS
Channel enums.
Definition: eoEEP_D230xx.h:147
1 MBUS
Definition: eoEEP_D230xx.h:312
7 Digital counter
Definition: eoEEP_D230xx.h:337
1 0.1
Definition: eoEEP_D230xx.h:367
0 No action
Definition: eoEEP_D230xx.h:248
4 Bus shortcut
Definition: eoEEP_D230xx.h:299
MSR_METER_BUS_TYPE
Enums for Meter bus type.
Definition: eoEEP_D230xx.h:309
12 Error codes for Heating controls status response if Heating channel is 31
Definition: eoEEP_D230xx.h:174
The class to handle EEP D230 profiles.
Definition: eoEEP_D230xx.h:398
MSR_INIT_SEQU
Enums for running init sequence.
Definition: eoEEP_D230xx.h:245
10 1000 seconds
Definition: eoEEP_D230xx.h:211
3 Accumulated value in kWh
Definition: eoEEP_D230xx.h:329
11 Error codes for Heating controls status response
Definition: eoEEP_D230xx.h:172
1 Return temperature
Definition: eoEEP_D230xx.h:152
2 Meter 2, Current value
Definition: eoEEP_D230xx.h:393
6 Unknown protocol or configuration mismatch
Definition: eoEEP_D230xx.h:303
3 5 seconds
Definition: eoEEP_D230xx.h:197
2 S0
Definition: eoEEP_D230xx.h:314
1 1 second
Definition: eoEEP_D230xx.h:220
2 Supply temperature error
Definition: eoEEP_D230xx.h:280
eoReturn
contains all the return values from different functions
Definition: eoApiDef.h:40
8 Meter reading report/status response
Definition: eoEEP_D230xx.h:143
6 Value in dm3
Definition: eoEEP_D230xx.h:356
1 General error
Definition: eoEEP_D230xx.h:259
10 Primary Address
Definition: eoEEP_D230xx.h:170
6 Temperature sensor and Valve error
Definition: eoEEP_D230xx.h:269
0 Auto detect
Definition: eoEEP_D230xx.h:378
5 Current value in dm3/h, accumulated value in dm3
Definition: eoEEP_D230xx.h:333
2 Heating controls status query
Definition: eoEEP_D230xx.h:135
MSR_VALUE_UNITS
Enums for Meter units.
Definition: eoEEP_D230xx.h:341
5 Value in m3
Definition: eoEEP_D230xx.h:354
16 The current common return temperature (Heating Channel=31)
Definition: eoEEP_D230xx.h:184
8 Preset value
Definition: eoEEP_D230xx.h:166
EnOcean Equipment Profiles.
Definition: eoD2EEProfile.h:96
3 D0
Definition: eoEEP_D230xx.h:316
4 10 seconds
Definition: eoEEP_D230xx.h:199
2 2 seconds
Definition: eoEEP_D230xx.h:195
eoReturn SetType(uint8_t type)
eoEEP_D230xx(uint16_t size=10)
MSR_TIME_VALUES
Enums for PWM signal intervals.
Definition: eoEEP_D230xx.h:188
5 Communication timeout
Definition: eoEEP_D230xx.h:301
2 Bus unconfigured
Definition: eoEEP_D230xx.h:295
CHANNEL_TYPE
Definition: eoChannelEnums.h:169
0 Supply temperature of the unit
Definition: eoEEP_D230xx.h:150
2 Value in kWh
Definition: eoEEP_D230xx.h:348
3 Return temperature
Definition: eoEEP_D230xx.h:156
0 Meter 1, Current value
Definition: eoEEP_D230xx.h:389
MSR_FACTOR_PULSES
Enums for factor of number of pulses.
Definition: eoEEP_D230xx.h:362
5 20 seconds
Definition: eoEEP_D230xx.h:201
14 Meter channel index
Definition: eoEEP_D230xx.h:180
1 1 second
Definition: eoEEP_D230xx.h:193
0 No auto reporting
Definition: eoEEP_D230xx.h:218
MSR_VALUE_SELECTION
Enums for Value selection.
Definition: eoEEP_D230xx.h:386
6 Number of pulses
Definition: eoEEP_D230xx.h:162
3 Channel not available
Definition: eoEEP_D230xx.h:263
0 No fault
Definition: eoEEP_D230xx.h:276
0 Valve normally closed
Definition: eoEEP_D230xx.h:239
MSR_CONNECTED_VALVE
Enums for type of connected valve.
Definition: eoEEP_D230xx.h:236
Deprecated typo.
Definition: eoEEP_D230xx.h:176
2 Init sequence running
Definition: eoEEP_D230xx.h:261
3 Return temperature error
Definition: eoEEP_D230xx.h:282
MSR_ERROR_CODE_CH31
Enums for Status/Error if HCH = 31.
Definition: eoEEP_D230xx.h:273
0 Value in W
Definition: eoEEP_D230xx.h:344
3 Error on both sensors
Definition: eoEEP_D230xx.h:284
15 Value selection
Definition: eoEEP_D230xx.h:182
0 Local default/no change
Definition: eoEEP_D230xx.h:191
3 Bus unconnected
Definition: eoEEP_D230xx.h:297
1 General error
Definition: eoEEP_D230xx.h:293
4 Meter 1 units
Definition: eoEEP_D230xx.h:158
MSR_PROTOCOL
Enums for D0 protocol.
Definition: eoEEP_D230xx.h:375
7 Bus initialisation running
Definition: eoEEP_D230xx.h:305
5 100 seconds
Definition: eoEEP_D230xx.h:228
9 500 seconds
Definition: eoEEP_D230xx.h:209
0 No reading
Definition: eoEEP_D230xx.h:323
2 DLMS (Device Language Message Specification)
Definition: eoEEP_D230xx.h:382
2 Current value in W, accumulated value in Wh
Definition: eoEEP_D230xx.h:327