diff --git a/characteristic/selected_camera_recording_configuration.go b/characteristic/selected_camera_recording_configuration.go new file mode 100644 index 00000000..ec51f0d9 --- /dev/null +++ b/characteristic/selected_camera_recording_configuration.go @@ -0,0 +1,18 @@ +// THIS FILE IS AUTO-GENERATED +package characteristic + +const TypeSelectedCameraRecordingConfiguration = "209" + +type SelectedCameraRecordingConfiguration struct { + *Bytes +} + +func NewSelectedCameraRecordingConfiguration() *SelectedCameraRecordingConfiguration { + char := NewBytes(TypeSelectedCameraRecordingConfiguration) + char.Format = FormatTLV8 + char.Perms = []string{PermRead, PermWrite, PermEvents} + + char.SetValue([]byte{}) + + return &SelectedCameraRecordingConfiguration{char} +} diff --git a/characteristic/supported_audio_recording_configuration.go b/characteristic/supported_audio_recording_configuration.go new file mode 100644 index 00000000..3dd077e1 --- /dev/null +++ b/characteristic/supported_audio_recording_configuration.go @@ -0,0 +1,18 @@ +// THIS FILE IS AUTO-GENERATED +package characteristic + +const TypeSupportedAudioRecordingConfiguration = "207" + +type SupportedAudioRecordingConfiguration struct { + *Bytes +} + +func NewSupportedAudioRecordingConfiguration() *SupportedAudioRecordingConfiguration { + char := NewBytes(TypeSupportedAudioRecordingConfiguration) + char.Format = FormatTLV8 + char.Perms = []string{PermRead, PermEvents} + + char.SetValue([]byte{}) + + return &SupportedAudioRecordingConfiguration{char} +} diff --git a/characteristic/supported_camera_recording_configuration.go b/characteristic/supported_camera_recording_configuration.go new file mode 100644 index 00000000..b083e8f2 --- /dev/null +++ b/characteristic/supported_camera_recording_configuration.go @@ -0,0 +1,18 @@ +// THIS FILE IS AUTO-GENERATED +package characteristic + +const TypeSupportedCameraRecordingConfiguration = "205" + +type SupportedCameraRecordingConfiguration struct { + *Bytes +} + +func NewSupportedCameraRecordingConfiguration() *SupportedCameraRecordingConfiguration { + char := NewBytes(TypeSupportedCameraRecordingConfiguration) + char.Format = FormatTLV8 + char.Perms = []string{PermRead, PermEvents} + + char.SetValue([]byte{}) + + return &SupportedCameraRecordingConfiguration{char} +} diff --git a/characteristic/supported_video_recording_configuration.go b/characteristic/supported_video_recording_configuration.go new file mode 100644 index 00000000..5ef7c4c7 --- /dev/null +++ b/characteristic/supported_video_recording_configuration.go @@ -0,0 +1,18 @@ +// THIS FILE IS AUTO-GENERATED +package characteristic + +const TypeSupportedVideoRecordingConfiguration = "206" + +type SupportedVideoRecordingConfiguration struct { + *Bytes +} + +func NewSupportedVideoRecordingConfiguration() *SupportedVideoRecordingConfiguration { + char := NewBytes(TypeSupportedVideoRecordingConfiguration) + char.Format = FormatTLV8 + char.Perms = []string{PermRead, PermEvents} + + char.SetValue([]byte{}) + + return &SupportedVideoRecordingConfiguration{char} +} diff --git a/gen/metadata.json b/gen/metadata.json index f1f237df..ef548bd0 100644 --- a/gen/metadata.json +++ b/gen/metadata.json @@ -2711,6 +2711,59 @@ "MaximumValue": 100, "MinimumValue": 0 } + }, + { + "Format": "tlv8", + "UUID": "00000205-0000-1000-8000-0026BB765291", + "Properties": [ + "read", + "cnotify", + "uncnotify" + ], + "Name": "Supported Camera Recording Configuration", + "Permissions": [ + "securedRead" + ] + }, + { + "Format": "tlv8", + "UUID": "00000206-0000-1000-8000-0026BB765291", + "Properties": [ + "read", + "cnotify", + "uncnotify" + ], + "Name": "Supported Video Recording Configuration", + "Permissions": [ + "securedRead" + ] + }, + { + "Format": "tlv8", + "UUID": "00000207-0000-1000-8000-0026BB765291", + "Properties": [ + "read", + "cnotify", + "uncnotify" + ], + "Name": "Supported Audio Recording Configuration", + "Permissions": [ + "securedRead" + ] + }, + { + "Format": "tlv8", + "UUID": "00000209-0000-1000-8000-0026BB765291", + "Properties": [ + "read", + "write", + "cnotify", + "uncnotify" + ], + "Name": "Selected Camera Recording Configuration", + "Permissions": [ + "securedRead" + ] } ], "Version": "1.0", @@ -3318,6 +3371,16 @@ ], "Name": "Input Source", "UUID": "000000D9-0000-1000-8000-0026BB765291" + }, + { + "RequiredCharacteristics": [ + "00000205-0000-1000-8000-0026BB765291", + "00000206-0000-1000-8000-0026BB765291", + "00000207-0000-1000-8000-0026BB765291", + "00000209-0000-1000-8000-0026BB765291" + ], + "Name": "Camera Recording Management", + "UUID": "00000204-0000-1000-8000-0026BB765291" } ] } \ No newline at end of file diff --git a/service/camera_recording_management.go b/service/camera_recording_management.go new file mode 100644 index 00000000..46ea1476 --- /dev/null +++ b/service/camera_recording_management.go @@ -0,0 +1,36 @@ +// THIS FILE IS AUTO-GENERATED +package service + +import ( + "github.com/brutella/hc/characteristic" +) + +const TypeCameraRecordingManagement = "204" + +type CameraRecordingManagement struct { + *Service + + SupportedCameraRecordingConfiguration *characteristic.SupportedCameraRecordingConfiguration + SupportedVideoRecordingConfiguration *characteristic.SupportedVideoRecordingConfiguration + SupportedAudioRecordingConfiguration *characteristic.SupportedAudioRecordingConfiguration + SelectedCameraRecordingConfiguration *characteristic.SelectedCameraRecordingConfiguration +} + +func NewCameraRecordingManagement() *CameraRecordingManagement { + svc := CameraRecordingManagement{} + svc.Service = New(TypeCameraRecordingManagement) + + svc.SupportedCameraRecordingConfiguration = characteristic.NewSupportedCameraRecordingConfiguration() + svc.AddCharacteristic(svc.SupportedCameraRecordingConfiguration.Characteristic) + + svc.SupportedVideoRecordingConfiguration = characteristic.NewSupportedVideoRecordingConfiguration() + svc.AddCharacteristic(svc.SupportedVideoRecordingConfiguration.Characteristic) + + svc.SupportedAudioRecordingConfiguration = characteristic.NewSupportedAudioRecordingConfiguration() + svc.AddCharacteristic(svc.SupportedAudioRecordingConfiguration.Characteristic) + + svc.SelectedCameraRecordingConfiguration = characteristic.NewSelectedCameraRecordingConfiguration() + svc.AddCharacteristic(svc.SelectedCameraRecordingConfiguration.Characteristic) + + return &svc +}