diff --git a/examples/19-Television/19-Television.ino b/examples/19-Television/19-Television.ino index e8bd94d..f95828a 100644 --- a/examples/19-Television/19-Television.ino +++ b/examples/19-Television/19-Television.ino @@ -38,17 +38,22 @@ struct HKTV : Service::Television { SpanCharacteristic *netflixCurrentVisibility; HKTV() : Service::Television(){ - Serial.print("Init HKTV\n"); // initialization message + + Serial.printf("Init TV\n"); // initialization message active = new Characteristic::Active(); - activeIdentifier = new Characteristic::ActiveIdentifier(1); - configuredName = new Characteristic::ConfiguredName(); - remoteKey = new Characteristic::RemoteKey(); - sleepDiscoveryMode = new Characteristic::SleepDiscoveryMode(1); + activeIdentifier = new Characteristic::ActiveIdentifier(0); + new Characteristic::ConfiguredName("My TV"); +// new Characteristic::PowerModeSelection(); // write-only Characteristic that enables "View TV Settings" on controls screen + new Characteristic::PictureMode(1); + new Characteristic::ClosedCaptions(); + new Characteristic::Brightness(50); + new Characteristic::CurrentMediaState(1); + new Characteristic::RemoteKey(); speaker = new Service::TelevisionSpeaker(); mute = new Characteristic::Mute(); - speakerActive = new Characteristic::Active(); + speakerActive = new Characteristic::Active(1); volume = new Characteristic::Volume(); new Characteristic::VolumeControlType(3); new Characteristic::VolumeSelector(); @@ -57,7 +62,6 @@ struct HKTV : Service::Television { new Characteristic::ConfiguredName("HDMI 1"); new Characteristic::IsConfigured(1); // configured = 1, not configured = 0 new Characteristic::InputSourceType(HDMI); - new Characteristic::Name("HDMI 1"); netflixIdentifier = new Characteristic::Identifier(0); hdmi1CurrentVisibility = new Characteristic::CurrentVisibilityState(0); // 0 shown, 1 hidden @@ -65,17 +69,15 @@ struct HKTV : Service::Television { new Characteristic::ConfiguredName("HDMI 2"); new Characteristic::IsConfigured(1); // configured = 1, not configured = 0 new Characteristic::InputSourceType(HDMI); - new Characteristic::Name("HDMI 2"); - hdmi2Identifier = new Characteristic::Identifier(1); + hdmi2Identifier = new Characteristic::Identifier(10); hdmi2CurrentVisibility = new Characteristic::CurrentVisibilityState(0); // 0 shown, 1 hidden netflix = new Service::InputSource(); new Characteristic::ConfiguredName("NETFLIX"); - new Characteristic::IsConfigured(1); // configured = 1, not configured = 0 - new Characteristic::InputSourceType(APPLICATION); - new Characteristic::Name("Netflix"); - netflixIdentifier = new Characteristic::Identifier(2); +// new Characteristic::IsConfigured(0); // configured = 1, not configured = 0 + netflixIdentifier = new Characteristic::Identifier(4); netflixCurrentVisibility = new Characteristic::CurrentVisibilityState(0); // 0 shown, 1 hidden +// new Characteristic::TargetVisibilityState(0); // 0 shown, 1 hidden addLink(hdmi1); addLink(hdmi2); @@ -114,8 +116,8 @@ void setup() { new Characteristic::FirmwareRevision("0.1"); new Characteristic::Identify(); - new Service::HAPProtocolInformation(); - new Characteristic::Version("1.1.0"); + new Service::HAPProtocolInformation(); + new Characteristic::Version("1.1.0"); new HKTV(); } diff --git a/src/Span.h b/src/Span.h index 80aa80c..c492413 100644 --- a/src/Span.h +++ b/src/Span.h @@ -200,12 +200,11 @@ namespace Service { }}; struct InputSource : SpanService { InputSource() : SpanService{"D9","InputSource"}{ - REQ(ConfiguredName); - REQ(InputSourceType); + OPT(ConfiguredName); + OPT(InputSourceType); REQ(IsConfigured); - REQ(Name); REQ(CurrentVisibilityState); - + OPT(Name); OPT(Identifier); OPT(InputDeviceType); OPT(TargetVisibilityState); @@ -216,7 +215,6 @@ namespace Service { REQ(ProgramMode); REQ(InUse); OPT(RemainingDuration); - OPT(Name); OPT(StatusFault); }}; @@ -334,13 +332,11 @@ namespace Service { struct Television : SpanService { Television() : SpanService{"D8","Television"}{ REQ(Active); REQ(ActiveIdentifier); - REQ(ConfiguredName); - REQ(RemoteKey); - REQ(SleepDiscoveryMode); - + OPT(ConfiguredName); + OPT(RemoteKey); + OPT(SleepDiscoveryMode); OPT(Brightness); OPT(ClosedCaptions); - //OPT(DisplayOrder); OPT(CurrentMediaState); OPT(TargetMediaState); OPT(Name); @@ -350,7 +346,6 @@ namespace Service { struct TelevisionSpeaker : SpanService { TelevisionSpeaker() : SpanService{"113","TelevisionSpeaker"}{ REQ(Mute); - OPT(Active); OPT(Volume); OPT(VolumeControlType);