OpenZWave Library
1.6.1914
Toggle main menu visibility
Loading...
Searching...
No Matches
cpp
src
command_classes
Meter.h
Go to the documentation of this file.
1
//-----------------------------------------------------------------------------
2
//
3
// Meter.h
4
//
5
// Implementation of the Z-Wave COMMAND_CLASS_METER
6
//
7
// Copyright (c) 2010 Mal Lansell <openzwave@lansell.org>
8
//
9
// SOFTWARE NOTICE AND LICENSE
10
//
11
// This file is part of OpenZWave.
12
//
13
// OpenZWave is free software: you can redistribute it and/or modify
14
// it under the terms of the GNU Lesser General Public License as published
15
// by the Free Software Foundation, either version 3 of the License,
16
// or (at your option) any later version.
17
//
18
// OpenZWave is distributed in the hope that it will be useful,
19
// but WITHOUT ANY WARRANTY; without even the implied warranty of
20
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
// GNU Lesser General Public License for more details.
22
//
23
// You should have received a copy of the GNU Lesser General Public License
24
// along with OpenZWave. If not, see <http://www.gnu.org/licenses/>.
25
//
26
//-----------------------------------------------------------------------------
27
28
#ifndef _Meter_H
29
#define _Meter_H
30
31
#include "
command_classes/CommandClass.h
"
32
33
namespace
OpenZWave
34
{
35
namespace
Internal
36
{
37
namespace
CC
38
{
42
class
Meter:
public
CommandClass
43
{
44
public
:
45
static
CommandClass
*
Create
(
uint32
const
_homeId,
uint8
const
_nodeId)
46
{
47
return
new
Meter(_homeId, _nodeId);
48
}
49
virtual
~Meter
()
50
{
51
}
52
53
static
uint8
const
StaticGetCommandClassId
()
54
{
55
return
0x32;
56
}
57
static
string
const
StaticGetCommandClassName
()
58
{
59
return
"COMMAND_CLASS_METER"
;
60
}
61
62
// From CommandClass
63
virtual
bool
RequestState
(
uint32
const
_requestFlags,
uint8
const
_instance,
Driver::MsgQueue
const
_queue)
override
;
64
virtual
bool
RequestValue
(
uint32
const
_requestFlags,
uint16
const
_index,
uint8
const
_instance,
Driver::MsgQueue
const
_queue)
override
;
65
virtual
uint8
const
GetCommandClassId
()
const override
66
{
67
return
StaticGetCommandClassId
();
68
}
69
virtual
string
const
GetCommandClassName
()
const override
70
{
71
return
StaticGetCommandClassName
();
72
}
73
virtual
bool
HandleMsg
(
uint8
const
* _data,
uint32
const
_length,
uint32
const
_instance = 1)
override
;
74
virtual
bool
SetValue
(
Internal::VC::Value
const
& _value)
override
;
75
virtual
uint8
GetMaxVersion
()
override
76
{
77
return
5;
78
}
79
80
private
:
81
Meter
(
uint32
const
_homeId,
uint8
const
_nodeId);
82
int32_t GetScale(uint8_t
const
*_data, uint32_t const_length);
83
bool
HandleSupportedReport(
uint8
const
* _data,
uint32
const
_length,
uint32
const
_instance = 1);
84
bool
HandleReport(
uint8
const
* _data,
uint32
const
_length,
uint32
const
_instance = 1);
85
};
86
}
// namespace CC
87
}
// namespace Internal
88
}
// namespace OpenZWave
89
90
#endif
91
CommandClass.h
uint16
unsigned short uint16
Definition
Defs.h:88
uint32
unsigned int uint32
Definition
Defs.h:91
uint8
unsigned char uint8
Definition
Defs.h:85
OpenZWave::Driver::MsgQueue
MsgQueue
Definition
Driver.h:660
OpenZWave::Internal::CC::CommandClass::CommandClass
CommandClass(uint32 const _homeId, uint8 const _nodeId)
Definition
CommandClass.cpp:62
OpenZWave::Internal::CC::Meter
Implements COMMAND_CLASS_METER (0x32), a Z-Wave device command class.
Definition
Meter.h:43
OpenZWave::Internal::CC::Meter::GetMaxVersion
virtual uint8 GetMaxVersion() override
Definition
Meter.h:75
OpenZWave::Internal::CC::Meter::~Meter
virtual ~Meter()
Definition
Meter.h:49
OpenZWave::Internal::CC::Meter::HandleMsg
virtual bool HandleMsg(uint8 const *_data, uint32 const _length, uint32 const _instance=1) override
Definition
Meter.cpp:267
OpenZWave::Internal::CC::Meter::StaticGetCommandClassName
static string const StaticGetCommandClassName()
Definition
Meter.h:57
OpenZWave::Internal::CC::Meter::GetCommandClassName
virtual string const GetCommandClassName() const override
Definition
Meter.h:69
OpenZWave::Internal::CC::Meter::SetValue
virtual bool SetValue(Internal::VC::Value const &_value) override
Definition
Meter.cpp:462
OpenZWave::Internal::CC::Meter::RequestValue
virtual bool RequestValue(uint32 const _requestFlags, uint16 const _index, uint8 const _instance, Driver::MsgQueue const _queue) override
Definition
Meter.cpp:209
OpenZWave::Internal::CC::Meter::StaticGetCommandClassId
static uint8 const StaticGetCommandClassId()
Definition
Meter.h:53
OpenZWave::Internal::CC::Meter::RequestState
virtual bool RequestState(uint32 const _requestFlags, uint8 const _instance, Driver::MsgQueue const _queue) override
Definition
Meter.cpp:178
OpenZWave::Internal::CC::Meter::GetCommandClassId
virtual uint8 const GetCommandClassId() const override
Definition
Meter.h:65
OpenZWave::Internal::CC::Meter::Create
static CommandClass * Create(uint32 const _homeId, uint8 const _nodeId)
Definition
Meter.h:45
OpenZWave::Internal::VC::Value
Base class for values associated with a node.
Definition
Value.h:55
OpenZWave::Internal::CC
Definition
Alarm.cpp:54
OpenZWave::Internal
Definition
Bitfield.cpp:33
OpenZWave
Definition
Bitfield.cpp:31
Generated on
for OpenZWave Library by
1.17.0