目标 目标
使用 Jeedom 命令在我的网络上启用或禁用 Wi-Fi,更具体地说,在个人资料(我女儿的个人资料)上启用或禁用 Wi-Fi 访问。

重要: 本教程分为两部分
根据您想要做什么和/或了解Synology API的使用以及Synology-API插件如何工作,您有两个选项:
- 要么你读了 第一 部分 这向你解释了,一步一步地以最教学的方式可能你做什么。
- 要么你直接读 第2 部分 谁将为您提供,交钥匙您的设备的瓦片,与已经编程的命令和信息
硬件、软件
- 要激活配置文件上的WiFi,您需要一个Synology路由器(我使用RT2600ac)并安装安全访问应用程序(免费)
- 在 Jeedom 侧,您需要称为 Jeedom-Synology 的链接。 Synology-API 的
![]()
在 Safe Access 中创建配置文件
安全访问是由Synology开发的智能且特别高效的管理,它集成了自1.2版以来的路由器操作系统SRM。
此应用程序允许您为每个家庭成员创建配置文件,然后将其设备分配给每个家庭成员(平板电脑,电话,计算机…)。 然后为每个人定义互联网时间表,授权或禁止的网站类型。 人们甚至可以定义互联网时间的『配额』。

在这个配置文件管理中,我们可以暂停(=剪切的互联网)或恢复(=激活互联网访问),这里将处理这两个状态。
![]()

第1部分: 教学美德的完整解释,一步一步
向 Syno 发送订单
查找要发送到路由器的命令
Synology-API 是 Jeedom 和 Synology 设备(Router 或 NAS)之间对话的绝佳工具,但您仍然需要使用 API 来发送这些命令。
到目前为止,Synology尚未记录其API(而不是我们感兴趣的API),因此我们必须尝试找到必须使用的API以及应用于它的方法以及可能与API一起发送的参数。
SRM接口(用于路由器)和DSM接口(用于Diskstation NAS)与设备交互,因此当我们单击按钮以发送命令时,我们必须查看浏览器发送的命令。
我用FireFox做了这个教程,但是所有的浏览器都配备了类似的工具。
登录到路由器,然后按F12以获得控制台,打开网络选项卡。 你应该有下面的屏幕。

右边是浏览器和路由器之间的对话。
在这个阶段,manip包括:
- 启动安全访问,并在屏幕上显示按钮

- 清除正确的屏幕(用小篮子)
- 点击 点击

- 暂停查询显示,以避免被过多行污染
- 点击右边的行,对应于刚刚出现的命令

若要识别正确的查询,如果有多行,请在右侧打开『查询』选项卡,并查看所使用的方法。 如果是 Set,则可能是对服务器的请求。
在这一点上,我们拥有所有必要的信息来创建我们的Jeedom订单。
以下是应该指出的:
- API 名称: SYNO.SafeAccess.AccessControl.ConfigGroup
- 要使用的方法: 设置 设置
两个参数:
- config_group _id=3 (这与我想使用的个人资料的id相对应,所以我女儿在我的示例中的个人资料)
- 暂停=true (意思是停顿)
可以进行相同的操作来获取对应于按钮的命令。
但你已经明白了,只有暂停参数会改变,这会给 暂停=false.
添加订单到 Jeedom
要从 Syno 发送命令,您必须在 Synology-API 插件中添加操作命令。
- 启动 Synology-API 并点击 + 启动向导

- 在 使用 API, 选择 SafeAccess.AccessControl.ConfigGroup, 请注意,名称开头的SYNO被删除。
- 在 要使用的方法, 选择 设置 设置
- 在其他设置中,添加 &config _group _id=3&pause=true 注意不要忘记&在开始时。
- 点击 Launch Query。

助理回答: 请求发送并成功执行! 这是因为它奏效了,Syno回答说请求被执行了。
就在下面,向导建议保存这个命令,以便能够直接或通过场景重用它。 填写表单并验证订单的添加

您可以保存第二个命令以恢复 Wifi。 在这个例子中,我有一个"WiFi"命令组,它有两个命令,一个要剪切,一个用于恢复连接。


使用这些"Action"命令
像所有的 Jeedom 操作命令一样,这些命令可以用于所有场景或屏幕。
请注意,即使您的 SRM 或 DSM 接口没有立即更新,它们也会立即正确执行。
从 Syno 中恢复信息
查找要发送到路由器的命令
根据先前查询的原则,Syno可以询问信息。 为了尊重 Jeedom 语言,我们将这些查询称为『信息命令』。
继续当前的例子,我们将质疑Syno,以确定配置文件『我的女儿』,即暂停模式下的ID3是否被激活。
查找此信息的操作与之前的解释相同,有必要『跟踪』打开安全访问时出现的请求,即当接口质疑服务器以检索此信息时。
我马上给你答案,你必须用:
- API : SafeAccess.AccessControle.ConfigGroup
- 要使用的方法: 获取 获取

此请求返回以下回复:

- Id2对应于我的整个Lan,Id3对应于『我女儿』的个人资料。
- 『暂停』字段将回答 假 的 当互联网被激活和 真实 的 当互联网被关闭时。
- 我勾选倒数第二盒,点击Save。

在 Jeedom 中使用信息
添加后,info命令被添加到API列表中

我重命名我们的两个订单,使它更简单。

在仪表板上,我的两个小部件还不错。

改进 Widget(v1)
告诉我们是否启用Wi-Fi的信息不是布尔,而是字符串。 假 的 或 真实 的, 有必要为此破解一个 Jeedom 部件,下面是我提议创建一个 Widget 的:

我选择做两个测试:
- 值 值# = "true" 显示图标 maison-man337 icon_green
- 值 值# == "true" 显示图标 jeedomapp-lock-ferme icon_red
改进 Widget(v2)
我离开了上一段,因为它具有解释小部件的教学美德,但从那时起,我已经将Wifi小部件集成到插件中。
只需从 info 命令中选择 Synologyapi/WifiOnOff 部件,它给出 Wi-Fi 的状态:

将 Wifi Cmd 和 Wifi Info 合并为 Wifi
可以创建一个虚拟来合并包含命令(Wifi Cmd)和包含反馈的设备(Wifi Info)。 但是该插件能够合并两个设备,以便在同一个设备上拥有Jeedom命令和信息。
所有你需要做的就是跟随融合向导。

这样创建的设备包含两个命令和一个信息:
![]()
以下是根据Wifi状态得出的结果


两个按钮都可以工作,图标显示连接的状态。
奖金 : 更新Wi-Fi状态
指示WiFi状态的绿色或红色图标可以通过多种方式更新:
- 要么自动由一个cron,每分钟,例如
- 无论是手动点击瓷砖的右上角,它都会启动一个『刷新』
- 或在状态更改后自动
最后一个选项将在这里详细介绍。
只要让Jeedom在每次按下其中一个控制按钮后启动『刷新』。
要实现这一点,请单击象征每个命令的齿轮的小图标。
![]()
在配置选项卡中,单击 添加 添加 在这个区块上:

然后拿起Wifi设备的Refresh命令


为两个订单执行此操作(WiFi杯和Wi-Fi恢复)
第2部分: 直接导入设备模型
如果你没有计算机科学家的灵魂,不想了解你在做什么,直接使用第二部分,这给你的设备模型。
因此,您将直接获得将预先编程的命令和信息,即使是小部件也包含在内,从而立即为您提供干净和可用的瓷砖。
导入设备模型
Synology-API插件集成了一个导入功能,您只需点击按钮即可。 导入模型, 仅以相关合成设备的名义:
![]()
对于这个"WiFi"设备,这里是要导入的JSON文件。
- http://jeedom.sigalou-domotique.fr/documentssigalou/Wifi.json
- 或者用zip格式: http://jeedom.sigalou-domotique.fr/documentssigalou/Wifi.zip
一旦导入了 widget,它就会启动并运行。
请注意,在提供的模板中,组 ID 为 2,如果您有另一个 ID,则必须更改它。


为了更新小部件,必须添加它 第一部分的奖金,遵循此链接 在每次按下按钮后添加刷新

