Skip to content

Commit 3cd1e77

Browse files
Fixes media_player and fan attributes
1 parent 99b0c61 commit 3cd1e77

File tree

4 files changed

+20
-24
lines changed

4 files changed

+20
-24
lines changed

custom_components/smartir/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
_LOGGER = logging.getLogger(__name__)
2020

2121
DOMAIN = 'smartir'
22-
VERSION = '1.17.11'
22+
VERSION = '1.17.12'
2323
MANIFEST_URL = (
2424
"https://raw.githubusercontent.com/"
2525
"smartHomeHub/SmartIR/{}/"

custom_components/smartir/fan.py

+6-8
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@
77
import voluptuous as vol
88

99
from homeassistant.components.fan import (
10-
FanEntity, PLATFORM_SCHEMA,
11-
DIRECTION_REVERSE, DIRECTION_FORWARD,
12-
SUPPORT_SET_SPEED, SUPPORT_DIRECTION, SUPPORT_OSCILLATE,
13-
ATTR_OSCILLATING)
10+
FanEntity, FanEntityFeature,
11+
PLATFORM_SCHEMA, DIRECTION_REVERSE, DIRECTION_FORWARD)
1412
from homeassistant.const import (
1513
CONF_NAME, STATE_OFF, STATE_ON, STATE_UNKNOWN)
1614
from homeassistant.core import callback
@@ -110,17 +108,17 @@ def __init__(self, hass, config, device_data):
110108
self._direction = None
111109
self._last_on_speed = None
112110
self._oscillating = None
113-
self._support_flags = SUPPORT_SET_SPEED
111+
self._support_flags = FanEntityFeature.SET_SPEED
114112

115113
if (DIRECTION_REVERSE in self._commands and \
116114
DIRECTION_FORWARD in self._commands):
117115
self._direction = DIRECTION_REVERSE
118116
self._support_flags = (
119-
self._support_flags | SUPPORT_DIRECTION)
117+
self._support_flags | FanEntityFeature.DIRECTION)
120118
if ('oscillate' in self._commands):
121119
self._oscillating = False
122120
self._support_flags = (
123-
self._support_flags | SUPPORT_OSCILLATE)
121+
self._support_flags | FanEntityFeature.OSCILLATE)
124122

125123

126124
self._temp_lock = asyncio.Lock()
@@ -147,7 +145,7 @@ async def async_added_to_hass(self):
147145
#If _direction has a value the direction controls appears
148146
#in UI even if SUPPORT_DIRECTION is not provided in the flags
149147
if ('direction' in last_state.attributes and \
150-
self._support_flags & SUPPORT_DIRECTION):
148+
self._support_flags & FanEntityFeature.DIRECTION):
151149
self._direction = last_state.attributes['direction']
152150

153151
if 'last_on_speed' in last_state.attributes:

custom_components/smartir/manifest.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
"codeowners": ["@smartHomeHub"],
77
"requirements": ["aiofiles>=0.6.0"],
88
"homeassistant": "2024.10.0",
9-
"version": "1.17.11",
9+
"version": "1.17.12",
1010
"updater": {
11-
"version": "1.17.11",
12-
"releaseNotes": "-- Implements asynchronous device file loading",
11+
"version": "1.17.12",
12+
"releaseNotes": "-- Fixes media_player and fan attributes",
1313
"files": [
1414
"__init__.py",
1515
"climate.py",

custom_components/smartir/media_player.py

+10-12
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@
99
from homeassistant.components.media_player import (
1010
MediaPlayerEntity, PLATFORM_SCHEMA)
1111
from homeassistant.components.media_player.const import (
12-
SUPPORT_TURN_OFF, SUPPORT_TURN_ON, SUPPORT_PREVIOUS_TRACK,
13-
SUPPORT_NEXT_TRACK, SUPPORT_VOLUME_STEP, SUPPORT_VOLUME_MUTE,
14-
SUPPORT_PLAY_MEDIA, SUPPORT_SELECT_SOURCE, MEDIA_TYPE_CHANNEL)
12+
MediaPlayerEntityFeature, MediaType)
1513
from homeassistant.const import (
1614
CONF_NAME, STATE_OFF, STATE_ON, STATE_UNKNOWN)
1715
import homeassistant.helpers.config_validation as cv
@@ -112,26 +110,26 @@ def __init__(self, hass, config, device_data):
112110

113111
#Supported features
114112
if 'off' in self._commands and self._commands['off'] is not None:
115-
self._support_flags = self._support_flags | SUPPORT_TURN_OFF
113+
self._support_flags = self._support_flags | MediaPlayerEntityFeature.TURN_OFF
116114

117115
if 'on' in self._commands and self._commands['on'] is not None:
118-
self._support_flags = self._support_flags | SUPPORT_TURN_ON
116+
self._support_flags = self._support_flags | MediaPlayerEntityFeature.TURN_ON
119117

120118
if 'previousChannel' in self._commands and self._commands['previousChannel'] is not None:
121-
self._support_flags = self._support_flags | SUPPORT_PREVIOUS_TRACK
119+
self._support_flags = self._support_flags | MediaPlayerEntityFeature.PREVIOUS_TRACK
122120

123121
if 'nextChannel' in self._commands and self._commands['nextChannel'] is not None:
124-
self._support_flags = self._support_flags | SUPPORT_NEXT_TRACK
122+
self._support_flags = self._support_flags | MediaPlayerEntityFeature.NEXT_TRACK
125123

126124
if ('volumeDown' in self._commands and self._commands['volumeDown'] is not None) \
127125
or ('volumeUp' in self._commands and self._commands['volumeUp'] is not None):
128-
self._support_flags = self._support_flags | SUPPORT_VOLUME_STEP
126+
self._support_flags = self._support_flags | MediaPlayerEntityFeature.VOLUME_STEP
129127

130128
if 'mute' in self._commands and self._commands['mute'] is not None:
131-
self._support_flags = self._support_flags | SUPPORT_VOLUME_MUTE
129+
self._support_flags = self._support_flags | MediaPlayerEntityFeature.VOLUME_MUTE
132130

133131
if 'sources' in self._commands and self._commands['sources'] is not None:
134-
self._support_flags = self._support_flags | SUPPORT_SELECT_SOURCE | SUPPORT_PLAY_MEDIA
132+
self._support_flags = self._support_flags | MediaPlayerEntityFeature.SELECT_SOURCE | MediaPlayerEntityFeature.PLAY_MEDIA
135133

136134
for source, new_name in config.get(CONF_SOURCE_NAMES, {}).items():
137135
if source in self._commands['sources']:
@@ -196,7 +194,7 @@ def media_title(self):
196194
@property
197195
def media_content_type(self):
198196
"""Content type of current playing media."""
199-
return MEDIA_TYPE_CHANNEL
197+
return MediaType.CHANNEL
200198

201199
@property
202200
def source_list(self):
@@ -275,7 +273,7 @@ async def async_play_media(self, media_type, media_id, **kwargs):
275273
if self._state == STATE_OFF:
276274
await self.async_turn_on()
277275

278-
if media_type != MEDIA_TYPE_CHANNEL:
276+
if media_type != MediaType.CHANNEL:
279277
_LOGGER.error("invalid media type")
280278
return
281279
if not media_id.isdigit():

0 commit comments

Comments
 (0)