Testing TV functions

This commit is contained in:
Gregg 2021-10-17 22:02:11 -05:00
parent 353749baea
commit f07fa4e9c7
2 changed files with 23 additions and 26 deletions

View File

@ -38,17 +38,22 @@ struct HKTV : Service::Television {
SpanCharacteristic *netflixCurrentVisibility; SpanCharacteristic *netflixCurrentVisibility;
HKTV() : Service::Television(){ HKTV() : Service::Television(){
Serial.print("Init HKTV\n"); // initialization message
Serial.printf("Init TV\n"); // initialization message
active = new Characteristic::Active(); active = new Characteristic::Active();
activeIdentifier = new Characteristic::ActiveIdentifier(1); activeIdentifier = new Characteristic::ActiveIdentifier(0);
configuredName = new Characteristic::ConfiguredName(); new Characteristic::ConfiguredName("My TV");
remoteKey = new Characteristic::RemoteKey(); // new Characteristic::PowerModeSelection(); // write-only Characteristic that enables "View TV Settings" on controls screen
sleepDiscoveryMode = new Characteristic::SleepDiscoveryMode(1); new Characteristic::PictureMode(1);
new Characteristic::ClosedCaptions();
new Characteristic::Brightness(50);
new Characteristic::CurrentMediaState(1);
new Characteristic::RemoteKey();
speaker = new Service::TelevisionSpeaker(); speaker = new Service::TelevisionSpeaker();
mute = new Characteristic::Mute(); mute = new Characteristic::Mute();
speakerActive = new Characteristic::Active(); speakerActive = new Characteristic::Active(1);
volume = new Characteristic::Volume(); volume = new Characteristic::Volume();
new Characteristic::VolumeControlType(3); new Characteristic::VolumeControlType(3);
new Characteristic::VolumeSelector(); new Characteristic::VolumeSelector();
@ -57,7 +62,6 @@ struct HKTV : Service::Television {
new Characteristic::ConfiguredName("HDMI 1"); new Characteristic::ConfiguredName("HDMI 1");
new Characteristic::IsConfigured(1); // configured = 1, not configured = 0 new Characteristic::IsConfigured(1); // configured = 1, not configured = 0
new Characteristic::InputSourceType(HDMI); new Characteristic::InputSourceType(HDMI);
new Characteristic::Name("HDMI 1");
netflixIdentifier = new Characteristic::Identifier(0); netflixIdentifier = new Characteristic::Identifier(0);
hdmi1CurrentVisibility = new Characteristic::CurrentVisibilityState(0); // 0 shown, 1 hidden hdmi1CurrentVisibility = new Characteristic::CurrentVisibilityState(0); // 0 shown, 1 hidden
@ -65,17 +69,15 @@ struct HKTV : Service::Television {
new Characteristic::ConfiguredName("HDMI 2"); new Characteristic::ConfiguredName("HDMI 2");
new Characteristic::IsConfigured(1); // configured = 1, not configured = 0 new Characteristic::IsConfigured(1); // configured = 1, not configured = 0
new Characteristic::InputSourceType(HDMI); new Characteristic::InputSourceType(HDMI);
new Characteristic::Name("HDMI 2"); hdmi2Identifier = new Characteristic::Identifier(10);
hdmi2Identifier = new Characteristic::Identifier(1);
hdmi2CurrentVisibility = new Characteristic::CurrentVisibilityState(0); // 0 shown, 1 hidden hdmi2CurrentVisibility = new Characteristic::CurrentVisibilityState(0); // 0 shown, 1 hidden
netflix = new Service::InputSource(); netflix = new Service::InputSource();
new Characteristic::ConfiguredName("NETFLIX"); new Characteristic::ConfiguredName("NETFLIX");
new Characteristic::IsConfigured(1); // configured = 1, not configured = 0 // new Characteristic::IsConfigured(0); // configured = 1, not configured = 0
new Characteristic::InputSourceType(APPLICATION); netflixIdentifier = new Characteristic::Identifier(4);
new Characteristic::Name("Netflix");
netflixIdentifier = new Characteristic::Identifier(2);
netflixCurrentVisibility = new Characteristic::CurrentVisibilityState(0); // 0 shown, 1 hidden netflixCurrentVisibility = new Characteristic::CurrentVisibilityState(0); // 0 shown, 1 hidden
// new Characteristic::TargetVisibilityState(0); // 0 shown, 1 hidden
addLink(hdmi1); addLink(hdmi1);
addLink(hdmi2); addLink(hdmi2);
@ -114,8 +116,8 @@ void setup() {
new Characteristic::FirmwareRevision("0.1"); new Characteristic::FirmwareRevision("0.1");
new Characteristic::Identify(); new Characteristic::Identify();
new Service::HAPProtocolInformation(); new Service::HAPProtocolInformation();
new Characteristic::Version("1.1.0"); new Characteristic::Version("1.1.0");
new HKTV(); new HKTV();
} }

View File

@ -200,12 +200,11 @@ namespace Service {
}}; }};
struct InputSource : SpanService { InputSource() : SpanService{"D9","InputSource"}{ struct InputSource : SpanService { InputSource() : SpanService{"D9","InputSource"}{
REQ(ConfiguredName); OPT(ConfiguredName);
REQ(InputSourceType); OPT(InputSourceType);
REQ(IsConfigured); REQ(IsConfigured);
REQ(Name);
REQ(CurrentVisibilityState); REQ(CurrentVisibilityState);
OPT(Name);
OPT(Identifier); OPT(Identifier);
OPT(InputDeviceType); OPT(InputDeviceType);
OPT(TargetVisibilityState); OPT(TargetVisibilityState);
@ -216,7 +215,6 @@ namespace Service {
REQ(ProgramMode); REQ(ProgramMode);
REQ(InUse); REQ(InUse);
OPT(RemainingDuration); OPT(RemainingDuration);
OPT(Name);
OPT(StatusFault); OPT(StatusFault);
}}; }};
@ -334,13 +332,11 @@ namespace Service {
struct Television : SpanService { Television() : SpanService{"D8","Television"}{ struct Television : SpanService { Television() : SpanService{"D8","Television"}{
REQ(Active); REQ(Active);
REQ(ActiveIdentifier); REQ(ActiveIdentifier);
REQ(ConfiguredName); OPT(ConfiguredName);
REQ(RemoteKey); OPT(RemoteKey);
REQ(SleepDiscoveryMode); OPT(SleepDiscoveryMode);
OPT(Brightness); OPT(Brightness);
OPT(ClosedCaptions); OPT(ClosedCaptions);
//OPT(DisplayOrder);
OPT(CurrentMediaState); OPT(CurrentMediaState);
OPT(TargetMediaState); OPT(TargetMediaState);
OPT(Name); OPT(Name);
@ -350,7 +346,6 @@ namespace Service {
struct TelevisionSpeaker : SpanService { TelevisionSpeaker() : SpanService{"113","TelevisionSpeaker"}{ struct TelevisionSpeaker : SpanService { TelevisionSpeaker() : SpanService{"113","TelevisionSpeaker"}{
REQ(Mute); REQ(Mute);
OPT(Active); OPT(Active);
OPT(Volume); OPT(Volume);
OPT(VolumeControlType); OPT(VolumeControlType);