Skip to main content

通过 TCP/IP 连接远程控制 SFR 电视电源

项目描述

# sfrtvctl

python 库,也可以在命令行中使用。

总结
==========

命令由 websocket 在端口 7682 上使用子协议 lws-bidirectional-protocol 发送。

根据我们发送的命令类型,有多种数据结构。

发送命令:
经典远程键(音量、电源、确定、返回、暂停、播放、前进、倒带、方向键、数字键盘)
的 BUTTONEVENT 结构 ZAP 结构在 1 个请求中发送通道号。
APP 结构启动解码器的特殊功能(马赛克、电视指南、vod、重播、录制、媒体中心、设置)
SETVOLUME 结构设置音量
KEYBOARD 结构在输入字段内输入时

信息命令(尚未实现):
GETINFO 和 GETVERSION

安装
============

可以使用 `pip <(https://pip.pypa.io/>`_:

::

#安装 sfrtvctl pip install websocket-client
# pip install sfrtvctl

或者,您可以克隆 Git 存储库并运行:

::

# python setup.py install

无需安装即可使用命令行工具:

::

$ python -m sfrtvctl

BUTTONEVENT
==== ========

BUTTONEVENT 采用第二个参数来指定按下的键,如果您指定 NUM,则采用第三个参数。

此处的表恢复 BUTTONEVENT 的每个可能操作:

| 按键(第二个参数)| 说明 |
| ------------------------------ | ------------------------------------- |
| VUP | 提高音量 |
| 电压下降 | 降低音量 |
| 右 | 多向权利|
| 左 | 多向左 |
| 上 | 多向向上 |
| 向下 | 多向向下 |
| 小狗 | 编程 |
| 下载 | 程序下降 |
| 信息 | 当前节目信息 |
| 返回 | 返回键 |
| 好的 | 确定键 |
| 号码 | 一个数字键。为数字取第三个参数 |
| 游戏暂停 | 播放或暂停键 |
| 前进 | 快进键 |
| 倒带 | 快退键 |
| 静音 | 静音键 |
| 电源 | 电源开关键 |

在命令行模式下,这里是一个命令示例:
```sfrtvctl --host 192.168.1.100 BUTTONEVENT VUP``` # 增加音量
```sfrtvctl --host 192.168.1.100 BUTTONEVENT NUMBER 1``` # type 1 on num pad(如果看电视会改变频道)

ZAP
====

ZAP 命令很简单,它只需要一个数字作为第二个参数。

在命令行模式下,这里是一个命令示例:
```sfrtvctl --host 192.168.1.100 ZAP 180``` # 将转到频道 180

APP
===

| 命令 | 说明 |
| ------------- | ---------------------------------- |
| 马赛克 | 马赛克 |
| 电视指南 | 导视电视 |
| 视频点播 | SFR 播放 |
| 重播 | 电视重播 |
| 录音 | 列出录制的节目 |
| 媒体中心 | 媒体中心(usb、网络媒体)|
| 设置 | 解码器设置 |

在命令行模式下,这里是一个命令示例:
```sfrtvctl --host 192.168.1.100 MOSAIC`` # 将显示马赛克

SETVOLUME
==========

SETVOLUME 命令很简单,它只需要一个介于 1 和 100 之间的数字作为设置音量的第二个参数。

在命令行模式下,这里是一个命令示例:
```sfrtvctl --host 192.168.1.100 SETVOLUME 40``` # 将音量设置为 40

KEYBOARD
=========

将发送键盘数据。这个命令有一个特殊的字符来开始搜索,你可以通过传递 SEARCH 作为第二个参数来发送它。要开始输入,您必须先发送 VALUE,然后再发送第三个参数。

| 命令 | 说明 |
| ------------- | ---------------------------------------------------- |
| 搜索 | 开始搜索 |
| 价值 | 在第三个参数中发送键盘键传递 |


在命令行模式下,这里是一个命令示例:
```sfrtvctl --host 192.168.1.100 SEARCH``` # 将开始搜索
``sfrtvctl --host 192.168.1.100 VALUE a``` # 将在一个输入字段


库使用
=============

sfrtvctl 可以作为 Python 3 库导入:

.. code-block:: python

import sfrtvctl

类“远程”的上下文管理远程控制器对象可以
使用 ``with`` 语句构造:

.. code-block:: python

with sfrtvctl.Remote(config) as remote:
# 使用远程对象

构造函数将配置字典作为参数。
必须指定所有配置项。

| 钥匙 | 类型 | 说明 |
|---------|--------|------------------------------ ---------------|
| 主持人 | 字符串 | 解码器的主机名或 IP 地址。|
| 港口| 整数 | TCP 端口号。(默认:``7682``)|
| 超时 | 整数 | 以秒为单位的超时。``0`` 表示没有超时。|

``Remote`` 对象非常简单,你只需要 ``control(key, arg1, arg2)``
方法。有关可以传递的命令的更多详细信息,请参阅上面的表格。
您可以使用同一个“远程”对象多次调用“控制” 。
退出 with 语句时连接会自动关闭。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

sfrtvctl-0.1.2.tar.gz (8.0 kB 查看哈希

已上传 source