Added Characteristic Constants
Added constants to Characteristics that describe states. Example: Characteristic::SecuritySystemTargetState::ARM_STAY
This commit is contained in:
parent
70126cb04f
commit
ead05d8690
|
|
@ -5,8 +5,8 @@
|
|||
|
||||
struct DEV_GarageDoor : Service::GarageDoorOpener { // A Garage Door Opener
|
||||
|
||||
SpanCharacteristic *current; // reference to the Current Door State Characteristic (specific to Garage Door Openers)
|
||||
SpanCharacteristic *target; // reference to the Target Door State Characteristic (specific to Garage Door Openers)
|
||||
Characteristic::CurrentDoorState *current; // reference to the Current Door State Characteristic (specific to Garage Door Openers)
|
||||
Characteristic::TargetDoorState *target; // reference to the Target Door State Characteristic (specific to Garage Door Openers)
|
||||
SpanCharacteristic *obstruction; // reference to the Obstruction Detected Characteristic (specific to Garage Door Openers)
|
||||
|
||||
DEV_GarageDoor() : Service::GarageDoorOpener(){ // constructor() method
|
||||
|
|
|
|||
90
src/Span.h
90
src/Span.h
|
|
@ -408,47 +408,47 @@ namespace Service {
|
|||
|
||||
// Macro to define Span Characteristic structures based on name of HAP Characteristic, default value, and min/max value (not applicable for STRING or BOOL which default to min=0, max=1)
|
||||
|
||||
#define CREATE_CHAR(TYPE,HAPCHAR,DEFVAL,MINVAL,MAXVAL) \
|
||||
struct HAPCHAR : SpanCharacteristic { HAPCHAR(TYPE val=DEFVAL, boolean nvsStore=false) : SpanCharacteristic {&hapChars.HAPCHAR} { init(val,nvsStore,(TYPE)MINVAL,(TYPE)MAXVAL); } };
|
||||
#define CREATE_CHAR(TYPE,HAPCHAR,DEFVAL,MINVAL,MAXVAL,...) \
|
||||
struct HAPCHAR : SpanCharacteristic { __VA_OPT__(enum{) __VA_ARGS__ __VA_OPT__(};) HAPCHAR(TYPE val=DEFVAL, boolean nvsStore=false) : SpanCharacteristic {&hapChars.HAPCHAR} { init(val,nvsStore,(TYPE)MINVAL,(TYPE)MAXVAL); } };
|
||||
|
||||
namespace Characteristic {
|
||||
|
||||
CREATE_CHAR(uint32_t,AccessoryFlags,1,1,1);
|
||||
CREATE_CHAR(uint8_t,Active,0,0,1);
|
||||
CREATE_CHAR(uint8_t,Active,0,0,1,INACTIVE,ACIVE);
|
||||
CREATE_CHAR(uint32_t,ActiveIdentifier,0,0,255);
|
||||
CREATE_CHAR(uint8_t,AirQuality,0,0,5);
|
||||
CREATE_CHAR(uint8_t,AirQuality,0,0,5,UNKNOWN,EXCELLENT,GOOD,FAIR,INFERIOR,POOR);
|
||||
CREATE_CHAR(uint8_t,BatteryLevel,0,0,100);
|
||||
CREATE_CHAR(int,Brightness,0,0,100);
|
||||
CREATE_CHAR(double,CarbonMonoxideLevel,0,0,100);
|
||||
CREATE_CHAR(double,CarbonMonoxidePeakLevel,0,0,100);
|
||||
CREATE_CHAR(uint8_t,CarbonMonoxideDetected,0,0,1);
|
||||
CREATE_CHAR(uint8_t,CarbonMonoxideDetected,0,0,1,NORMAL,ABNORMAL);
|
||||
CREATE_CHAR(double,CarbonDioxideLevel,0,0,100000);
|
||||
CREATE_CHAR(double,CarbonDioxidePeakLevel,0,0,100000);
|
||||
CREATE_CHAR(uint8_t,CarbonDioxideDetected,0,0,1);
|
||||
CREATE_CHAR(uint8_t,ChargingState,0,0,2);
|
||||
CREATE_CHAR(uint8_t,CarbonDioxideDetected,0,0,1,NORMAL,ABNORMAL);
|
||||
CREATE_CHAR(uint8_t,ChargingState,0,0,2,NOT_CHARGING,CHARGING,NOT_CHARGEABLE);
|
||||
CREATE_CHAR(uint8_t,ClosedCaptions,0,0,1);
|
||||
CREATE_CHAR(double,CoolingThresholdTemperature,10,10,35);
|
||||
CREATE_CHAR(uint32_t,ColorTemperature,200,140,500);
|
||||
CREATE_CHAR(uint8_t,ContactSensorState,1,0,1);
|
||||
CREATE_CHAR(uint8_t,ContactSensorState,1,0,1,DETECTED,NOT_DETECTED);
|
||||
CREATE_CHAR(const char *,ConfiguredName,"unnamed",0,1);
|
||||
CREATE_CHAR(double,CurrentAmbientLightLevel,1,0.0001,100000);
|
||||
CREATE_CHAR(int,CurrentHorizontalTiltAngle,0,-90,90);
|
||||
CREATE_CHAR(uint8_t,CurrentAirPurifierState,1,0,2);
|
||||
CREATE_CHAR(uint8_t,CurrentSlatState,0,0,2);
|
||||
CREATE_CHAR(uint8_t,CurrentAirPurifierState,1,0,2,INACTIVE,IDLE,PURIFYING);
|
||||
CREATE_CHAR(uint8_t,CurrentSlatState,0,0,2,FIXED,JAMMED,SWINGING);
|
||||
CREATE_CHAR(uint8_t,CurrentPosition,0,0,100);
|
||||
CREATE_CHAR(int,CurrentVerticalTiltAngle,0,-90,90);
|
||||
CREATE_CHAR(uint8_t,CurrentVisibilityState,0,0,1);
|
||||
CREATE_CHAR(uint8_t,CurrentHumidifierDehumidifierState,1,0,3);
|
||||
CREATE_CHAR(uint8_t,CurrentDoorState,1,0,4);
|
||||
CREATE_CHAR(uint8_t,CurrentFanState,1,0,2);
|
||||
CREATE_CHAR(uint8_t,CurrentHeatingCoolingState,0,0,2);
|
||||
CREATE_CHAR(uint8_t,CurrentHeaterCoolerState,1,0,3);
|
||||
CREATE_CHAR(uint8_t,CurrentHumidifierDehumidifierState,1,0,3,INACTIVE,IDLE,HUMIDIFYING,DEHUMIDIFYING);
|
||||
CREATE_CHAR(uint8_t,CurrentDoorState,1,0,4,OPEN,CLOSED,OPENING,CLOSING,STOPPED);
|
||||
CREATE_CHAR(uint8_t,CurrentFanState,1,0,2,INACTIVE,IDLE,BLOWING);
|
||||
CREATE_CHAR(uint8_t,CurrentHeatingCoolingState,0,0,2,OFF,HEATING,COOLING);
|
||||
CREATE_CHAR(uint8_t,CurrentHeaterCoolerState,1,0,3,INACTIVE,IDLE,HEATING,COOLING);
|
||||
CREATE_CHAR(uint8_t,CurrentMediaState,0,0,5);
|
||||
CREATE_CHAR(double,CurrentRelativeHumidity,0,0,100);
|
||||
CREATE_CHAR(double,CurrentTemperature,0,0,100);
|
||||
CREATE_CHAR(int,CurrentTiltAngle,0,-90,90);
|
||||
CREATE_CHAR(double,FilterLifeLevel,0,0,100);
|
||||
CREATE_CHAR(uint8_t,FilterChangeIndication,0,0,1);
|
||||
CREATE_CHAR(uint8_t,FilterChangeIndication,0,0,1,NO_CHANGE_NEEDED,CHANGE_NEEDED);
|
||||
CREATE_CHAR(const char *,FirmwareRevision,"1.0.0",0,1);
|
||||
CREATE_CHAR(const char *,HardwareRevision,"1.0.0",0,1);
|
||||
CREATE_CHAR(double,HeatingThresholdTemperature,16,0,25);
|
||||
|
|
@ -458,64 +458,64 @@ namespace Characteristic {
|
|||
CREATE_CHAR(uint32_t,Identifier,0,0,255);
|
||||
CREATE_CHAR(uint8_t,InputDeviceType,0,0,6);
|
||||
CREATE_CHAR(uint8_t,InputSourceType,0,0,10);
|
||||
CREATE_CHAR(uint8_t,InUse,0,0,1);
|
||||
CREATE_CHAR(uint8_t,IsConfigured,0,0,1);
|
||||
CREATE_CHAR(uint8_t,LeakDetected,0,0,1);
|
||||
CREATE_CHAR(uint8_t,LockCurrentState,0,0,3);
|
||||
CREATE_CHAR(uint8_t,LockPhysicalControls,0,0,1);
|
||||
CREATE_CHAR(uint8_t,LockTargetState,0,0,1);
|
||||
CREATE_CHAR(uint8_t,InUse,0,0,1,NOT_IN_USE,IN_USE);
|
||||
CREATE_CHAR(uint8_t,IsConfigured,0,0,1,NOT_CONFIGURED,CONFIGURED);
|
||||
CREATE_CHAR(uint8_t,LeakDetected,0,0,1,NOT_DETECTED,DETECTED);
|
||||
CREATE_CHAR(uint8_t,LockCurrentState,0,0,3,UNLOCKED,LOCKED,JAMMED,UNKNOWN);
|
||||
CREATE_CHAR(uint8_t,LockPhysicalControls,0,0,1,CONTROL_LOCK_DISABLED,CONTROL_LOCK_ENABLED);
|
||||
CREATE_CHAR(uint8_t,LockTargetState,0,0,1,UNLOCK,LOCK);
|
||||
CREATE_CHAR(const char *,Manufacturer,"HomeSpan",0,1);
|
||||
CREATE_CHAR(const char *,Model,"HomeSpan-ESP32",0,1);
|
||||
CREATE_CHAR(boolean,MotionDetected,false,0,1);
|
||||
CREATE_CHAR(boolean,Mute,false,0,1);
|
||||
CREATE_CHAR(boolean,Mute,false,0,1,OFF,ON);
|
||||
CREATE_CHAR(const char *,Name,"unnamed",0,1);
|
||||
CREATE_CHAR(double,NitrogenDioxideDensity,0,0,1000);
|
||||
CREATE_CHAR(boolean,ObstructionDetected,false,0,1);
|
||||
CREATE_CHAR(double,PM25Density,0,0,1000);
|
||||
CREATE_CHAR(uint8_t,OccupancyDetected,0,0,1);
|
||||
CREATE_CHAR(uint8_t,OccupancyDetected,0,0,1,NOT_DETECTED,DETECTED);
|
||||
CREATE_CHAR(boolean,OutletInUse,false,0,1);
|
||||
CREATE_CHAR(boolean,On,false,0,1);
|
||||
CREATE_CHAR(double,OzoneDensity,0,0,1000);
|
||||
CREATE_CHAR(uint8_t,PictureMode,0,0,13);
|
||||
CREATE_CHAR(double,PM10Density,0,0,1000);
|
||||
CREATE_CHAR(uint8_t,PositionState,2,0,2);
|
||||
CREATE_CHAR(uint8_t,PositionState,2,0,2,GOING_TO_MINIMUM,GOING_TO_MAXIMUM,STOPPED);
|
||||
CREATE_CHAR(uint8_t,PowerModeSelection,0,0,1);
|
||||
CREATE_CHAR(uint8_t,ProgramMode,0,0,2);
|
||||
CREATE_CHAR(uint8_t,ProgrammableSwitchEvent,0,0,2);
|
||||
CREATE_CHAR(uint8_t,ProgramMode,0,0,2,NONE,SCHEDULED,SCHEDULE_OVERRIDEN);
|
||||
CREATE_CHAR(uint8_t,ProgrammableSwitchEvent,0,0,2,SINGLE_PRESS,DOUBLE_PRESS,LONG_PRESS);
|
||||
CREATE_CHAR(double,RelativeHumidityDehumidifierThreshold,50,0,100);
|
||||
CREATE_CHAR(double,RelativeHumidityHumidifierThreshold,50,0,100);
|
||||
CREATE_CHAR(uint32_t,RemainingDuration,60,0,3600);
|
||||
CREATE_CHAR(uint8_t,RemoteKey,0,0,16);
|
||||
CREATE_CHAR(uint8_t,ResetFilterIndication,0,1,1);
|
||||
CREATE_CHAR(int,RotationDirection,0,0,1);
|
||||
CREATE_CHAR(int,RotationDirection,0,0,1,CLOCKWISE,COUNTERCLOCKWISE);
|
||||
CREATE_CHAR(double,RotationSpeed,0,0,100);
|
||||
CREATE_CHAR(double,Saturation,0,0,100);
|
||||
CREATE_CHAR(uint8_t,SecuritySystemAlarmType,0,0,1);
|
||||
CREATE_CHAR(uint8_t,SecuritySystemCurrentState,3,0,4);
|
||||
CREATE_CHAR(uint8_t,SecuritySystemTargetState,3,0,3);
|
||||
CREATE_CHAR(uint8_t,SecuritySystemAlarmType,0,0,1,KNOWN,UNKNOWN);
|
||||
CREATE_CHAR(uint8_t,SecuritySystemCurrentState,3,0,4,ARMED_STAY,ARMED_AWAY,ARMED_NIGHT,DISARMED,ALARM_TRIGGERED);
|
||||
CREATE_CHAR(uint8_t,SecuritySystemTargetState,3,0,3,ARM_STAY,ARM_AWAY,ARM_NIGHT,DISARM);
|
||||
CREATE_CHAR(const char *,SerialNumber,"HS-12345",0,1);
|
||||
CREATE_CHAR(uint8_t,ServiceLabelIndex,1,1,255);
|
||||
CREATE_CHAR(uint8_t,ServiceLabelNamespace,1,0,1);
|
||||
CREATE_CHAR(uint8_t,SlatType,0,0,1);
|
||||
CREATE_CHAR(uint8_t,ServiceLabelNamespace,1,0,1,DOTS,NUMERALS);
|
||||
CREATE_CHAR(uint8_t,SlatType,0,0,1,HORIZONTAL,VERTICAL);
|
||||
CREATE_CHAR(uint8_t,SleepDiscoveryMode,0,0,1);
|
||||
CREATE_CHAR(uint8_t,SmokeDetected,0,0,1);
|
||||
CREATE_CHAR(uint8_t,SmokeDetected,0,0,1,NOT_DETECTED,DETECTED);
|
||||
CREATE_CHAR(boolean,StatusActive,true,0,1);
|
||||
CREATE_CHAR(uint8_t,StatusFault,0,0,1);
|
||||
CREATE_CHAR(uint8_t,StatusJammed,0,0,1);
|
||||
CREATE_CHAR(uint8_t,StatusLowBattery,0,0,1);
|
||||
CREATE_CHAR(uint8_t,StatusTampered,0,0,1);
|
||||
CREATE_CHAR(uint8_t,StatusFault,0,0,1,NO_FAULT,FAULT);
|
||||
CREATE_CHAR(uint8_t,StatusJammed,0,0,1,NOT_JAMMED,JAMMED);
|
||||
CREATE_CHAR(uint8_t,StatusLowBattery,0,0,1,NOT_LOW_BATTERY,LOW_BATTERY);
|
||||
CREATE_CHAR(uint8_t,StatusTampered,0,0,1,NOT_TAMPERED,TAMPERED);
|
||||
CREATE_CHAR(double,SulphurDioxideDensity,0,0,1000);
|
||||
CREATE_CHAR(uint8_t,SwingMode,0,0,1);
|
||||
CREATE_CHAR(uint8_t,TargetAirPurifierState,1,0,1);
|
||||
CREATE_CHAR(uint8_t,TargetFanState,1,0,1);
|
||||
CREATE_CHAR(uint8_t,SwingMode,0,0,1,SWING_DISABLED,SWING_ENABLED);
|
||||
CREATE_CHAR(uint8_t,TargetAirPurifierState,1,0,1,MANUAL,AUTO);
|
||||
CREATE_CHAR(uint8_t,TargetFanState,1,0,1,MANUAL,AUTO);
|
||||
CREATE_CHAR(int,TargetTiltAngle,0,-90,90);
|
||||
CREATE_CHAR(uint8_t,TargetHeaterCoolerState,0,0,2);
|
||||
CREATE_CHAR(uint8_t,TargetHeaterCoolerState,0,0,2,AUTO,HEAT,COOL);
|
||||
CREATE_CHAR(uint32_t,SetDuration,60,0,3600);
|
||||
CREATE_CHAR(int,TargetHorizontalTiltAngle,0,-90,90);
|
||||
CREATE_CHAR(uint8_t,TargetHumidifierDehumidifierState,0,0,2);
|
||||
CREATE_CHAR(uint8_t,TargetHumidifierDehumidifierState,0,0,2,AUTO,HUMIDIFY,DEHUMIDIFY);
|
||||
CREATE_CHAR(uint8_t,TargetPosition,0,0,100);
|
||||
CREATE_CHAR(uint8_t,TargetDoorState,1,0,1);
|
||||
CREATE_CHAR(uint8_t,TargetHeatingCoolingState,0,0,3);
|
||||
CREATE_CHAR(uint8_t,TargetDoorState,1,0,1,OPEN,CLOSED);
|
||||
CREATE_CHAR(uint8_t,TargetHeatingCoolingState,0,0,3,OFF,HEAT,COOL,AUTO);
|
||||
CREATE_CHAR(uint8_t,TargetMediaState,0,0,2);
|
||||
CREATE_CHAR(double,TargetRelativeHumidity,0,0,100);
|
||||
CREATE_CHAR(double,TargetTemperature,16,10,38);
|
||||
|
|
|
|||
Loading…
Reference in New Issue