Source code for miio.integrations.lumi.gateway.radio

"""Xiaomi Gateway Radio implementation."""

import click

from .gatewaydevice import GatewayDevice


[docs] class Radio(GatewayDevice): """Radio controls for the gateway."""
[docs] def get_radio_info(self): """Radio play info.""" return self._gateway.send("get_prop_fm")
[docs] def set_radio_volume(self, volume): """Set radio volume.""" return self._gateway.send("set_fm_volume", [volume])
[docs] def play_music_new(self): """Unknown.""" # {'from': '4', 'id': 9514, # 'method': 'set_default_music', 'params': [2, '21']} # {'from': '4', 'id': 9515, # 'method': 'play_music_new', 'params': ['21', 0]} raise NotImplementedError()
[docs] def play_specify_fm(self): """play specific stream?""" raise NotImplementedError() # {"from": "4", "id": 65055, "method": "play_specify_fm", # "params": {"id": 764, "type": 0, # "url": "http://live.xmcdn.com/live/764/64.m3u8"}} return self._gateway.send("play_specify_fm")
[docs] def play_fm(self): """radio on/off?""" raise NotImplementedError() # play_fm","params":["off"]} return self._gateway.send("play_fm")
[docs] def volume_ctrl_fm(self): """Unknown.""" raise NotImplementedError() return self._gateway.send("volume_ctrl_fm")
[docs] def get_channels(self): """Unknown.""" raise NotImplementedError() # "method": "get_channels", "params": {"start": 0}} return self._gateway.send("get_channels")
[docs] def add_channels(self): """Unknown.""" raise NotImplementedError() return self._gateway.send("add_channels")
[docs] def remove_channels(self): """Unknown.""" raise NotImplementedError() return self._gateway.send("remove_channels")
[docs] def get_default_music(self): """seems to timeout (w/o internet).""" # params [0,1,2] raise NotImplementedError() return self._gateway.send("get_default_music")
[docs] def get_music_info(self): """Unknown.""" info = self._gateway.send("get_music_info") click.echo("info: %s" % info) free_space = self._gateway.send("get_music_free_space") click.echo("free space: %s" % free_space)
[docs] def get_mute(self): """mute of what?""" return self._gateway.send("get_mute")
[docs] def download_music(self): """Unknown.""" raise NotImplementedError() return self._gateway.send("download_music")
[docs] def delete_music(self): """delete music.""" raise NotImplementedError() return self._gateway.send("delete_music")
[docs] def download_user_music(self): """Unknown.""" raise NotImplementedError() return self._gateway.send("download_user_music")
[docs] def get_download_progress(self): """progress for music downloads or updates?""" # returns [':0'] raise NotImplementedError() return self._gateway.send("get_download_progress")
[docs] def set_sound_playing(self): """stop playing?""" return self._gateway.send("set_sound_playing", ["off"])
[docs] def set_default_music(self): """Unknown.""" raise NotImplementedError()
# method":"set_default_music","params":[0,"2"]}