Added a few new Services

This commit is contained in:
Gregg 2020-10-28 20:05:46 -05:00
parent c7f762da5f
commit edac6df4b5
2 changed files with 26 additions and 1 deletions

View File

@ -130,6 +130,7 @@ struct HapCharList {
HAPCHAR( Manufacturer, 20, PR ); HAPCHAR( Manufacturer, 20, PR );
HAPCHAR( Model, 21, PR ); HAPCHAR( Model, 21, PR );
HAPCHAR( MotionDetected, 22, PR+EV ); HAPCHAR( MotionDetected, 22, PR+EV );
HAPCHAR( Mute, 11A, PW+PR+EV );
HAPCHAR( Name, 23, PR ); HAPCHAR( Name, 23, PR );
HAPCHAR( NitrogenDioxideDensity, C4, PR+EV ); HAPCHAR( NitrogenDioxideDensity, C4, PR+EV );
HAPCHAR( ObstructionDetected, 24, PR+EV ); HAPCHAR( ObstructionDetected, 24, PR+EV );
@ -149,6 +150,9 @@ struct HapCharList {
HAPCHAR( RotationDirection, 28, PR+PW+EV ); HAPCHAR( RotationDirection, 28, PR+PW+EV );
HAPCHAR( RotationSpeed, 29, PR+PW+EV ); HAPCHAR( RotationSpeed, 29, PR+PW+EV );
HAPCHAR( Saturation , 2F, PR+PW+EV ); HAPCHAR( Saturation , 2F, PR+PW+EV );
HAPCHAR( SecuritySystemAlarmType , 8E, PR+EV );
HAPCHAR( SecuritySystemCurrentState , 66, PR+EV );
HAPCHAR( SecuritySystemTargetState , 67, PW+PR+EV );
HAPCHAR( SerialNumber, 30, PR ); HAPCHAR( SerialNumber, 30, PR );
HAPCHAR( ServiceLabelIndex, CB, PR ); HAPCHAR( ServiceLabelIndex, CB, PR );
HAPCHAR( ServiceLabelNamespace, CD, PR ); HAPCHAR( ServiceLabelNamespace, CD, PR );

View File

@ -209,6 +209,18 @@ namespace Service {
OPT(StatusLowBattery); OPT(StatusLowBattery);
}}; }};
struct LockMechanism : SpanService { LockMechanism() : SpanService{"45","LockMechanism"}{
REQ(LockCurrentState);
REQ(LockTargetState);
OPT(Name);
}};
struct Microphone : SpanService { Microphone() : SpanService{"112","Microphone"}{
REQ(Mute);
OPT(Name);
OPT(Volume);
}};
struct MotionSensor : SpanService { MotionSensor() : SpanService{"85","MotionSensor"}{ struct MotionSensor : SpanService { MotionSensor() : SpanService{"85","MotionSensor"}{
REQ(MotionDetected); REQ(MotionDetected);
OPT(Name); OPT(Name);
@ -233,7 +245,16 @@ namespace Service {
OPT(Name); OPT(Name);
}}; }};
struct ServiceLabel : SpanService { ServiceLabel() : SpanService{"47","ServiceLabel"}{ struct SecuritySystem : SpanService { SecuritySystem() : SpanService{"7E","SecuritySystem"}{
REQ(SecuritySystemCurrentState);
REQ(SecuritySystemTargetState);
OPT(Name);
OPT(SecuritySystemAlarmType);
OPT(StatusFault);
OPT(StatusTampered);
}};
struct ServiceLabel : SpanService { ServiceLabel() : SpanService{"CC","ServiceLabel"}{
REQ(ServiceLabelNamespace); REQ(ServiceLabelNamespace);
}}; }};