Completed adding all Characteristic structures for all HAPCharType

To do: Create special-handling code for ProgrammableSwitchEvent Characteristic (according to HAP, it has read permission, but must always return a null).  Consider adding special flag to PR+EV
This commit is contained in:
Gregg 2020-10-29 07:21:25 -05:00
parent 118626ce83
commit 0f2c3afbf0
2 changed files with 46 additions and 6 deletions

View File

@ -142,7 +142,7 @@ struct HapCharList {
HAPCHAR( PM10Density, C7, PR+EV ); HAPCHAR( PM10Density, C7, PR+EV );
HAPCHAR( PositionState, 72, PR+EV ); HAPCHAR( PositionState, 72, PR+EV );
HAPCHAR( ProgramMode, D1, PR+EV ); HAPCHAR( ProgramMode, D1, PR+EV );
HAPCHAR( ProgrammableSwitchEvent, 73, PR+EV ); HAPCHAR( ProgrammableSwitchEvent, 73, PR+EV ); // this characteristic requires specical handling
HAPCHAR( RelativeHumidityDehumidifierThreshold, C9, PR+PW+EV ); HAPCHAR( RelativeHumidityDehumidifierThreshold, C9, PR+PW+EV );
HAPCHAR( RelativeHumidityHumidifierThreshold, CA, PR+PW+EV ); HAPCHAR( RelativeHumidityHumidifierThreshold, CA, PR+PW+EV );
HAPCHAR( RemainingDuration, D4, PR+EV ); HAPCHAR( RemainingDuration, D4, PR+EV );

View File

@ -377,28 +377,55 @@ namespace Characteristic {
CREATE_CHAR(CurrentVerticalTiltAngle,int,0); CREATE_CHAR(CurrentVerticalTiltAngle,int,0);
CREATE_CHAR(CurrentHumidifierDehumidifierState,uint8_t,1); CREATE_CHAR(CurrentHumidifierDehumidifierState,uint8_t,1);
CREATE_CHAR(CurrentDoorState,uint8_t,1); CREATE_CHAR(CurrentDoorState,uint8_t,1);
CREATE_CHAR(CurrentFanState,uint8_t,1);
CREATE_CHAR(CurrentHeatingCoolingState,uint8_t,0);
CREATE_CHAR(CurrentHeaterCoolerState,uint8_t,1);
CREATE_CHAR(CurrentRelativeHumidity,double,0);
CREATE_CHAR(CurrentTemperature,double,0); CREATE_CHAR(CurrentTemperature,double,0);
CREATE_CHAR(CurrentTiltAngle,int,0);
CREATE_CHAR(FilterLifeLevel,double,0);
CREATE_CHAR(FilterChangeIndication,uint8_t,0);
CREATE_CHAR(FirmwareRevision,char *,""); CREATE_CHAR(FirmwareRevision,char *,"");
CREATE_CHAR(HardwareRevision,char *,"");
CREATE_CHAR(HeatingThresholdTemperature,double,16);
CREATE_CHAR(HoldPosition,boolean,false); CREATE_CHAR(HoldPosition,boolean,false);
CREATE_CHAR(Hue,double,0); CREATE_CHAR(Hue,double,0);
CREATE_CHAR(Identify,boolean,false); CREATE_CHAR(Identify,boolean,false);
CREATE_CHAR(InUse,uint8_t,0);
CREATE_CHAR(IsConfigured,uint8_t,0);
CREATE_CHAR(LeakDetected,uint8_t,0);
CREATE_CHAR(LockCurrentState,uint8_t,0);
CREATE_CHAR(LockPhysicalControls,uint8_t,0);
CREATE_CHAR(LockTargetState,uint8_t,0);
CREATE_CHAR(Manufacturer,char *,""); CREATE_CHAR(Manufacturer,char *,"");
CREATE_CHAR(Model,char *,""); CREATE_CHAR(Model,char *,"");
CREATE_CHAR(MotionDetected,boolean,false);
CREATE_CHAR(Mute,boolean,false);
CREATE_CHAR(Name,char *,""); CREATE_CHAR(Name,char *,"");
CREATE_CHAR(NitrogenDioxideDensity,double,0); CREATE_CHAR(NitrogenDioxideDensity,double,0);
CREATE_CHAR(ObstructionDetected,boolean,false); CREATE_CHAR(ObstructionDetected,boolean,false);
CREATE_CHAR(On,boolean,false); CREATE_CHAR(PM25Density,double,0);
CREATE_CHAR(OccupancyDetected,uint8_t,0);
CREATE_CHAR(OutletInUse,boolean,false); CREATE_CHAR(OutletInUse,boolean,false);
CREATE_CHAR(On,boolean,false);
CREATE_CHAR(OzoneDensity,double,0); CREATE_CHAR(OzoneDensity,double,0);
CREATE_CHAR(PM10Density,double,0); CREATE_CHAR(PM10Density,double,0);
CREATE_CHAR(PM25Density,double,0);
CREATE_CHAR(PositionState,uint8_t,2); CREATE_CHAR(PositionState,uint8_t,2);
CREATE_CHAR(ProgramMode,uint8_t,0);
CREATE_CHAR(ProgrammableSwitchEvent,uint8_t,0);
CREATE_CHAR(RelativeHumidityDehumidifierThreshold,double,50);
CREATE_CHAR(RelativeHumidityHumidifierThreshold,double,50);
CREATE_CHAR(RemainingDuration,uint32_t,60);
CREATE_CHAR(ResetFilterIndication,uint8_t,0);
CREATE_CHAR(RotationDirection,int,0); CREATE_CHAR(RotationDirection,int,0);
CREATE_CHAR(RotationSpeed,double,0); CREATE_CHAR(RotationSpeed,double,0);
CREATE_CHAR(Saturation,double,0); CREATE_CHAR(Saturation,double,0);
CREATE_CHAR(SecuritySystemAlarmType,uint8_t,0);
CREATE_CHAR(SecuritySystemCurrentState,uint8_t,3);
CREATE_CHAR(SecuritySystemTargetState,uint8_t,3);
CREATE_CHAR(SerialNumber,char *,""); CREATE_CHAR(SerialNumber,char *,"");
CREATE_CHAR(ServiceLabelIndex,uint8_t,1);
CREATE_CHAR(ServiceLabelNamespace,uint8_t,1);
CREATE_CHAR(SlatType,uint8_t,0); CREATE_CHAR(SlatType,uint8_t,0);
CREATE_CHAR(SmokeDetected,uint8_t,0); CREATE_CHAR(SmokeDetected,uint8_t,0);
CREATE_CHAR(StatusActive,boolean,true); CREATE_CHAR(StatusActive,boolean,true);
@ -408,10 +435,23 @@ namespace Characteristic {
CREATE_CHAR(StatusTampered,uint8_t,0); CREATE_CHAR(StatusTampered,uint8_t,0);
CREATE_CHAR(SulphurDioxideDensity,double,0); CREATE_CHAR(SulphurDioxideDensity,double,0);
CREATE_CHAR(SwingMode,uint8_t,0); CREATE_CHAR(SwingMode,uint8_t,0);
CREATE_CHAR(TargetDoorState,uint8_t,1); CREATE_CHAR(TargetAirPurifierState,uint8_t,1);
CREATE_CHAR(TargetFanState,uint8_t,1);
CREATE_CHAR(TargetTiltAngle,int,0);
CREATE_CHAR(SetDuration,uint32_t,60);
CREATE_CHAR(TargetHorizontalTiltAngle,int,0);
CREATE_CHAR(TargetHumidifierDehumidifierState,uint8_t,0);
CREATE_CHAR(TargetPosition,uint8_t,0); CREATE_CHAR(TargetPosition,uint8_t,0);
CREATE_CHAR(TargetDoorState,uint8_t,1);
CREATE_CHAR(TargetHeatingCoolingState,uint8_t,0);
CREATE_CHAR(TargetRelativeHumidity,double,0);
CREATE_CHAR(TargetTemperature,double,16);
CREATE_CHAR(TemperatureDisplayUnits,uint8_t,0); CREATE_CHAR(TemperatureDisplayUnits,uint8_t,0);
CREATE_CHAR(TargetVerticalTiltAngle,int,0);
CREATE_CHAR(ValveType,uint8_t,0);
CREATE_CHAR(Version,char *,""); CREATE_CHAR(Version,char *,"");
CREATE_CHAR(VOCDensity,double,0); CREATE_CHAR(VOCDensity,double,0);
CREATE_CHAR(Volume,uint8_t,0);
CREATE_CHAR(WaterLevel,double,0);
} }