Add service calls for enabling/disabling ActiveVoiceAmplifier and SpaceFitSound
This commit is contained in:
		
							parent
							
								
									4839f403e8
								
							
						
					
					
						commit
						97ae0615b3
					
				|  | @ -16,6 +16,8 @@ | ||||||
|   - "soundmode" feature |   - "soundmode" feature | ||||||
|   - "speaker_level" |   - "speaker_level" | ||||||
|   - "rear_speaker_mode" |   - "rear_speaker_mode" | ||||||
|  |   - "space_fit_sound" | ||||||
|  |   - "active_voice_amplifier" | ||||||
| 
 | 
 | ||||||
| ### Changed | ### Changed | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -420,6 +420,22 @@ class SoundbarDevice: | ||||||
|             value=mode.value, |             value=mode.value, | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  |     # ------------ OTHER FUNCTIONS ------------ | ||||||
|  | 
 | ||||||
|  |     async def set_active_voice_amplifier(self, enabled: bool): | ||||||
|  |         await self.set_custom_execution_data( | ||||||
|  |             href="/sec/networkaudio/activeVoiceAmplifier", | ||||||
|  |             property="x.com.samsung.networkaudio.activeVoiceAmplifier", | ||||||
|  |             value=1 if enabled else 0 | ||||||
|  |         ) | ||||||
|  | 
 | ||||||
|  |     async def set_space_fit_sound(self, enabled: bool): | ||||||
|  |         await self.set_custom_execution_data( | ||||||
|  |             href="/sec/networkaudio/spacefitSound", | ||||||
|  |             property="x.com.samsung.networkaudio.spacefitSound", | ||||||
|  |             value=1 if enabled else 0 | ||||||
|  |         ) | ||||||
|  | 
 | ||||||
|     # ------------ SUPPORT FUNCTIONS ------------ |     # ------------ SUPPORT FUNCTIONS ------------ | ||||||
| 
 | 
 | ||||||
|     async def update_execution_data(self, argument: str): |     async def update_execution_data(self, argument: str): | ||||||
|  |  | ||||||
|  | @ -92,6 +92,20 @@ def addServices(): | ||||||
|         SmartThingsSoundbarMediaPlayer.async_set_rear_speaker_mode.__name__, |         SmartThingsSoundbarMediaPlayer.async_set_rear_speaker_mode.__name__, | ||||||
|     ) |     ) | ||||||
| 
 | 
 | ||||||
|  |     platform.async_register_entity_service( | ||||||
|  |         "set_active_voice_amplifier", | ||||||
|  |         cv.make_entity_service_schema({vol.Required("enabled"): bool}), | ||||||
|  |         SmartThingsSoundbarMediaPlayer.async_set_active_voice_amplifier.__name__, | ||||||
|  |     ) | ||||||
|  | 
 | ||||||
|  |     platform.async_register_entity_service( | ||||||
|  |         "set_space_fit_sound", | ||||||
|  |         cv.make_entity_service_schema({vol.Required("enabled"): bool}), | ||||||
|  |         SmartThingsSoundbarMediaPlayer.async_set_space_fit_sound.__name__, | ||||||
|  |     ) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| async def async_setup_entry(hass, config_entry, async_add_entities): | async def async_setup_entry(hass, config_entry, async_add_entities): | ||||||
|     domain_data = hass.data[DOMAIN] |     domain_data = hass.data[DOMAIN] | ||||||
|  | @ -267,6 +281,12 @@ class SmartThingsSoundbarMediaPlayer(MediaPlayerEntity): | ||||||
|     async def async_set_rear_speaker_mode(self, speaker_mode: str): |     async def async_set_rear_speaker_mode(self, speaker_mode: str): | ||||||
|         await self.device.set_rear_speaker_mode(RearSpeakerMode(speaker_mode)) |         await self.device.set_rear_speaker_mode(RearSpeakerMode(speaker_mode)) | ||||||
| 
 | 
 | ||||||
|  |     async def async_set_active_voice_amplifier(self, enabled: bool): | ||||||
|  |         await self.device.set_active_voice_amplifier(enabled) | ||||||
|  | 
 | ||||||
|  |     async def async_set_space_fit_sound(self, enabled: bool): | ||||||
|  |         await self.device.set_space_fit_sound(enabled) | ||||||
|  | 
 | ||||||
|     # This property can be uncommented for some extra_attributes |     # This property can be uncommented for some extra_attributes | ||||||
|     # Still enabling this can cause side-effects. |     # Still enabling this can cause side-effects. | ||||||
|     # @property |     # @property | ||||||
|  |  | ||||||
|  | @ -135,3 +135,33 @@ set_rear_speaker_mode: | ||||||
|           options: |           options: | ||||||
|             - "Rear" |             - "Rear" | ||||||
|             - "Front" |             - "Front" | ||||||
|  | 
 | ||||||
|  | set_active_voice_amplifier: | ||||||
|  |   name: Set active voice amplifier | ||||||
|  |   description: Activates / deactivates the active voice amplifier | ||||||
|  |   target: | ||||||
|  |     device: | ||||||
|  |       integration: samsung_soundbar | ||||||
|  |   fields: | ||||||
|  |     enabled: | ||||||
|  |       name: Enabled / Disabled | ||||||
|  |       required: true | ||||||
|  |       example: true | ||||||
|  |       default: false | ||||||
|  |       selector: | ||||||
|  |         boolean: | ||||||
|  | 
 | ||||||
|  | set_space_fit_sound: | ||||||
|  |   name: Set SpaceFitSound | ||||||
|  |   description: Activates / deactivates the SpaceFitSound | ||||||
|  |   target: | ||||||
|  |     device: | ||||||
|  |       integration: samsung_soundbar | ||||||
|  |   fields: | ||||||
|  |     enabled: | ||||||
|  |       name: Enabled / Disabled | ||||||
|  |       required: true | ||||||
|  |       example: true | ||||||
|  |       default: false | ||||||
|  |       selector: | ||||||
|  |         boolean: | ||||||
		Loading…
	
		Reference in New Issue