Files
aqhomecontrol/aqhome/msg/node/m_value.h

47 lines
1.8 KiB
C

/****************************************************************************
* This file is part of the project AqHome.
* AqHome (c) by 2025 Martin Preuss, all rights reserved.
*
* The license for this file can be found in the file COPYING which you
* should have received along with this file.
****************************************************************************/
#ifndef AQH_M_VALUE_H
#define AQH_M_VALUE_H
#include <aqhome/api.h>
#include <aqhome/ipc2/message.h>
#include <gwenhywfar/debug.h>
#define AQH_MSG_VALUE_TYPE_TEMP 1
#define AQH_MSG_VALUE_TYPE_HUMIDITY 2
#define AQH_MSG_VALUE_TYPE_DOOR 3
#define AQH_MSG_VALUE_TYPE_MOTION 6
#define AQH_MSG_VALUE_TYPE_CO2 7
#define AQH_MSG_VALUE_TYPE_TVOC 8
AQHOME_API AQH_MESSAGE *AQH_ValueMessage_new(uint8_t destAddr, uint8_t srcAddr, uint8_t code,
uint16_t msgId, uint8_t valueId, uint16_t value, uint16_t denom);
AQHOME_API uint32_t AQH_ValueMessage_GetUid(const AQH_MESSAGE *msg);
AQHOME_API uint16_t AQH_ValueMessage_GetMsgId(const AQH_MESSAGE *msg);
AQHOME_API uint8_t AQH_ValueMessage_GetValueId(const AQH_MESSAGE *msg);
AQHOME_API uint8_t AQH_ValueMessage_GetValueType(const AQH_MESSAGE *msg);
AQHOME_API uint16_t AQH_ValueMessage_GetValueNom(const AQH_MESSAGE *msg);
AQHOME_API uint16_t AQH_ValueMessage_GetValueDenom(const AQH_MESSAGE *msg);
AQHOME_API const char *AQH_ValueMessage_GetValueTypeName(const AQH_MESSAGE *msg);
AQHOME_API const char *AQH_ValueMessage_GetValueAsWindowStateString(const AQH_MESSAGE *msg);
AQHOME_API const char *AQH_ValueMessage_GetValueTypeUnits(const AQH_MESSAGE *msg);
AQHOME_API double AQH_ValueMessage_GetValue(const AQH_MESSAGE *msg);
AQHOME_API void AQH_ValueMessage_DumpToBuffer(const AQH_MESSAGE *msg, GWEN_BUFFER *dbuf, const char *sText);
#endif