分页: 1 / 7

[插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周二 7月 04, 2017 11:49
DT27
原版最新版插件不支持后期手动添加虚拟开关设备,而且不支持单个开关多中操作。
而旧版又不能学习后自动新建设备。
所以修改了新版插件,既能够自动创建设备,又支持多段开关等。

安装方法:
Domoticz版本要求3.8xxx以上,broadlink版本0.5。
首先安装broadlink模块,直接运行下面命令安装:

代码: 全选

sudo pip3 install broadlink==0.5
插件四个文件打包:
BroadlinkRM2.zip
(12.7 KiB) 已下载 3863 次
把压缩包中的四个文件放到domoticz/plugins/BroadlinkRM2/目录中,BroadlinkRM2目录没有就建一个。
文件放进去后先不要重启Domoticz,继续看使用方法。

使用方法:
①首先,如果你你需要多段开关,需要编辑plugin.py,按下方方法编辑,添加插件后,会自动创建一个多段开关。
在114行中插入下方代码,按中文提示修改成你需要的多端开关,也可以不修改,创建后再编辑。注意代码缩进,一个缩进是四个空格。

代码: 全选

if ( 10 not in Devices):
        Options =   {   "LevelActions"  :"||||" ,  #多段开关有几个动作就写几个|
                        "LevelNames"    :"Off|Up|Down|Mode|On" , #多段开关各动作名称
                        "LevelOffHidden":"false",
                        "SelectorStyle" :"0"
                     }
        Domoticz.Device(Name="多段开关名字",  Unit=10, TypeName="Selector Switch", Switchtype=18, Image=12, Options=Options, Used=1).Create()
屏幕快照 2017-07-04 11.48.12.jpg
屏幕快照 2017-07-04 11.48.12.jpg (63.63 KiB) 查看 116420 次
②如果不需要多段开关,直接重启Domoticz:

代码: 全选

sudo service domoticz.sh restart
③在硬件中选择“Broadlink RM2 with Kodi Remote”并添加相关IP跟mac地址。"Folder to store ini files:"是存放开关配置文件的目录,建议直接放到插件目录里,树莓派中目录是"/home/pi/domoticz/plugins/BroadlinkRM2"。需要显示设备内置温度数据的话,“Get Temperature Device:”选择True,第一次用该插件建议把Debug也设为True,方便出现问题时查错,稳定后记得关掉,减轻domoticz压力。
屏幕快照 2017-07-04 11.20.42.jpg
屏幕快照 2017-07-04 11.20.42.jpg (78.61 KiB) 查看 116420 次
④添加后,查看Domoticz日志有没有什么错误,有错误请跟帖提出。正常的话,开关中会出现名为"RMPro - Command"的多段开关,另一个“RMPro - Remote”是为Kodi准备的,不需要用。

如果日志里出现类似
Module Import failed: ' Name: pyaes'
或者
Module Import failed: ' Name: broadlink‘
的错误,运行下面几条命令(不一定哪条好用,Python版本要改成你自己的),然后重启domoticz试试。

代码: 全选

sudo cp -r /usr/local/lib/python3.4/dist-packages/Crypto/ /usr/lib/python3.4/

代码: 全选

sudo cp -r /usr/local/lib/python3.4/dist-packages/broadlink /usr/lib/python3.4/

代码: 全选

sudo cp -r /usr/local/lib/python3.4/dist-packages/broadlink-0.5-py3.4.egg/broadlink /usr/lib/python3.4/

代码: 全选

sudo cp -r /usr/local/lib/python3.4/dist-packages/pyaes /usr/lib/python3.4/

⑤学习遥控按键,点击Learn按钮,这时RM设备的指示灯应该常亮,按下遥控按键,如果学习到按键指示灯会马上灭掉,Domoticz日志中也会显示出相应信息,其中就有按键的编码信息,如果学习的是多段开关中的按键,直接把编码信息保存下来。如果学习的是独立开关的编码,按下Save按钮,插件会自动创建一个开关,还会在domoticz/plugins/BroadlinkRM2/目录中自动创建一个类似BroadlinkRM2-5-2.ini的配置文件,该文件的文件名中5是BroadlinkRM2插件的硬件IDX(硬件列表中查看),2是刚自动创建的开关的unit(设备列表中查看),所有配置文件第一个数字都是一样的,都是BroadlinkRM2硬件的IDX。
⑥多段开关及普通开关配置文件修改方法:多段开关是在插件添加时自动创建的,配置文件需要自己建,文件名规则“BroadlinkRM2-5-10.ini”,其中的5是BroadlinkRM2硬件的IDX,10是多段开关的unit。

多段开关BroadlinkRM2-5-10.ini文件示例:

代码: 全选

[DEFAULT]
hardwareid = 5
pluginkey = BroadlinkRM2
pluginname = RMPro
customname = 
unit = 10
pluginfolder = /home/pi/domoticz/plugins/BroadlinkRM2/

[Device]
mac = B4430DC739EC
host = 192.168.123.230
[LearnedCode]
Off = 26007a002710290f0d2a2810290f0d2b0d2b0d2b0d2b0d2b0d2b27ec290e290f0d2a290f290f0d2b0d2b0d2b0d2b0d2b0d2b28ec2810290e0e2a2710290f0e2a0d2b0d2b0d2b0d2b0d2b28ec280f290f0d2a290f290f0d2b0d2b0d2b0d2b0d2b0d2b28eb290f290e0e2a2810290e0e2a0d2b0d2b0d2b0d2b0d2b29000d050000000000000000000000000000
10 = 26007a00280f290f0d2a2810290f290f0d2b0d2b0d2b0d2b280f29eb280f290f0d2a290f290f290f0d2b0d2b0d2b0d2a290f29ec280f290f0d2a290f290f290e0e2a0d2b0d2b0d2b281029eb280f2a0e0d2b280f290f290f0d2b0d2b0d2b0d2b280f2aea290f290e0e2a280f290f290f0d2b0d2b0d2b0d2b281029000d050000000000000000000000000000
20 = 26008200280f290f0d2a290f290f290f0d2b0d2b0d2b280f290f0e0001062810290e0d2b280f290f290f0d2b0d2b0d2b280f2a0e0e000107290e2a0e0d2b280f290f290f0d2b0d2b0d2b280f2a0e0e000106290f290f0d2a2810290f290e0e2a0d2b0d2b290f290f0d000107290f290e0e2a280f2a0e290f0e2a0d2b0d2b2810290f0d000d05000000000000
30 = 26009c00280f290f0d2a290f290f0d2b0d2b0d2b0d2a290f0e2a0d000106290f290e0e2a2810290f0d2a0e2a0e2a0e2a28100e2a0c000108290f290e0e2a2810290e0e2a0e2a0e2a0d2b28100e2a0d0001062810290e0e2a2810290e0e2a0d2b0d2b0d2b290f0e2a0d000106290f290e0e2a280f290f0e2a0c2c0d2b0d2b290f0d2b0d000107280f290f0d2a290f290f0d2b0d2b0c2c0d2b27110d2a0e000d05000000000000000000000000
40 = 26007a002710290f0d2a2810290f0d2b0d2b0d2b0d2b0d2b0d2b27ec290e290f0d2a290f290f0d2b0d2b0d2b0d2b0d2b0d2b28ec2810290e0e2a2710290f0e2a0d2b0d2b0d2b0d2b0d2b28ec280f290f0d2a290f290f0d2b0d2b0d2b0d2b0d2b0d2b28eb290f290e0e2a2810290e0e2a0d2b0d2b0d2b0d2b0d2b29000d050000000000000000000000000000
普通开关的ini文件是学习按键后点击Save按钮自动创建的,但是其中只有学习到的一个编码,开跟关动作需要两个编码,需要修改ini文件。
普通开关BroadlinkRM2-5-4.ini示例:

代码: 全选

[DEFAULT]
pluginname = RMPro
customname = 客厅灯
pluginkey = BroadlinkRM2
hardwareid = 5
pluginfolder = /home/pi/domoticz/plugins/BroadlinkRM2/
unit = 4

[Device]
mac = B4430DC739EC
host = 192.168.123.230

[LearnedCode]
On = 7800d000081a081a091a1909091a1909081a1a08091a081a081b081a081a0919091a19091a091909081a091a081a081b081a081a0800010a091a081a081a1a09081a1a08091a1909091a081a081a091a081a081a081a1a0919091a09081a081b081a081a081a091a0800010a0919091a081a1a09081a1a08091a1909081a0919091a081b071a091a081a1a0919091a09081a081a081b081a081a081b0800010a081b081a081a1a09081a190909191a09081a091a081a09190919091a09191a0919091a09081a081a091a081a081a091a080005dc0000000000000000
Off = 7800d000081a081a091a1909091a1909081a1a08091a081a081b081a081a0919091a19091a091909081a091a081a081b081a081a0800010a091a081a081a1a09081a1a08091a1909091a081a081a091a081a081a081a1a0919091a09081a081b081a081a081a091a0800010a0919091a081a1a09081a1a08091a1909081a0919091a081b071a091a081a1a0919091a09081a081a081b081a081a081b0800010a081b081a081a1a09081a190909191a09081a091a081a09190919091a09191a0919091a09081a081a091a081a081a091a080005dc0000000000000000

先吃午饭,哪里不清楚的直接回帖提问。

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周三 7月 05, 2017 23:09
wzcx
学习,标记一下先。 :D :D :D

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周二 7月 11, 2017 00:43
landelini
2017-07-11 00:31:03.347 Error: (BroadlinkRM2) failed to load 'plugin.py', Python Path used was '/home/pi/domoticz/plugins/BroadlinkRM2/:/usr/lib/python3.4/:/usr/lib/python3.4/plat-arm-linux-gnueabihf:/usr/lib/python3.4/lib-dynload'.
2017-07-11 00:31:03.347 Error: (RM2 pro) Module Import failed, exception: 'IndentationError'
2017-07-11 00:31:03.347 Error: (RM2 pro) Import detail: File: /home/pi/domoticz/plugins/BroadlinkRM2/plugin.py, Line: 1826592800, offset: 121
2017-07-11 00:31:03.347 Error: (RM2 pro) Error Line ' if ( 254 not in Devices ):


这是什么原因

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周二 7月 11, 2017 07:31
DT27
landelini 写了: 周二 7月 11, 2017 00:43 2017-07-11 00:31:03.347 Error: (BroadlinkRM2) failed to load 'plugin.py', Python Path used was '/home/pi/domoticz/plugins/BroadlinkRM2/:/usr/lib/python3.4/:/usr/lib/python3.4/plat-arm-linux-gnueabihf:/usr/lib/python3.4/lib-dynload'.
2017-07-11 00:31:03.347 Error: (RM2 pro) Module Import failed, exception: 'IndentationError'
2017-07-11 00:31:03.347 Error: (RM2 pro) Import detail: File: /home/pi/domoticz/plugins/BroadlinkRM2/plugin.py, Line: 1826592800, offset: 121
2017-07-11 00:31:03.347 Error: (RM2 pro) Error Line ' if ( 254 not in Devices ):


这是什么原因
你改代码了吗?这错误是因为缩进。
Python请注意代码缩进,一个缩进是四个空格。

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周四 7月 20, 2017 22:25
twtsse03
楼主,遇到跟楼上类似问题了,我没改脚本,直接拷贝进去的,添加了执行权限。在domoticz根目录下执行的sudo domoticz,不是用服务起的进程。因为按照步骤重启service后,我的web页面没有你截图里的添加ip之类信息的框,只有上面三个框


2017-07-20 21:51:13.989 Error: () failed to load 'plugin.py', Python Path used was ':/usr/lib/python3.4/:/usr/lib/python3.4/plat-arm-linux-gnueabihf:/usr/lib/python3.4/lib-dynload'.
2017-07-20 21:51:13.989 Error: (rm) Module Import failed, exception: 'ImportError'
2017-07-20 21:51:13.989 Error: (rm) Module Import failed: ' Name: plugin'

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周五 7月 21, 2017 08:57
DT27
twtsse03 写了: 周四 7月 20, 2017 22:25 楼主,遇到跟楼上类似问题了,我没改脚本,直接拷贝进去的,添加了执行权限。在domoticz根目录下执行的sudo domoticz,不是用服务起的进程。因为按照步骤重启service后,我的web页面没有你截图里的添加ip之类信息的框,只有上面三个框


2017-07-20 21:51:13.989 Error: () failed to load 'plugin.py', Python Path used was ':/usr/lib/python3.4/:/usr/lib/python3.4/plat-arm-linux-gnueabihf:/usr/lib/python3.4/lib-dynload'.
2017-07-20 21:51:13.989 Error: (rm) Module Import failed, exception: 'ImportError'
2017-07-20 21:51:13.989 Error: (rm) Module Import failed: ' Name: plugin'
添加ip之类的框要你在下拉列表里选择BroadlinkRM2后才能出来。

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周五 7月 21, 2017 10:09
twtsse03
是选了BroadlinkRM2没有出来后面的框

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周五 7月 21, 2017 11:05
DT27
twtsse03 写了: 周五 7月 21, 2017 10:09 是选了BroadlinkRM2没有出来后面的框
清空浏览器离线数据,或者换浏览器。

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周五 7月 21, 2017 11:56
twtsse03
DT27 写了: 周五 7月 21, 2017 11:05
twtsse03 写了: 周五 7月 21, 2017 10:09 是选了BroadlinkRM2没有出来后面的框
清空浏览器离线数据,或者换浏览器。
试过,ie也不行

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周五 7月 21, 2017 13:08
DT27
twtsse03 写了: 周五 7月 21, 2017 11:56
DT27 写了: 周五 7月 21, 2017 11:05
twtsse03 写了: 周五 7月 21, 2017 10:09 是选了BroadlinkRM2没有出来后面的框
清空浏览器离线数据,或者换浏览器。
试过,ie也不行
不显示选项就是缓存问题啊,日志里有错误吗,直接重启,看看启动时日志有没有错误

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周五 7月 21, 2017 23:05
twtsse03
DT27 写了: 周五 7月 21, 2017 13:08
twtsse03 写了: 周五 7月 21, 2017 11:56
DT27 写了: 周五 7月 21, 2017 11:05

清空浏览器离线数据,或者换浏览器。
试过,ie也不行
不显示选项就是缓存问题啊,日志里有错误吗,直接重启,看看启动时日志有没有错误
晚上回来,给树莓插上电就好了不是之前的电脑。。。

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周六 7月 22, 2017 20:21
twtsse03
楼主大大,没有create device怎么排查

domoticz是3.8版本,python3.4
图片

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周六 7月 22, 2017 23:15
showphi
楼主,有没有群晖套件中心手动安装domoticz版本的博联插件?群晖里套件python2.7和python3我都安装了,但是在/usr/lib下只有python2.7目录,是否一定要python3,是否还有其他需要修改?

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周日 7月 23, 2017 06:59
DT27
twtsse03 写了: 周六 7月 22, 2017 20:21 楼主大大,没有create device怎么排查

domoticz是3.8版本,python3.4
图片
新版没有create device。所有开关都是自动创建的。然后修改对应ini文件即可。

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周日 7月 23, 2017 07:00
DT27
showphi 写了: 周六 7月 22, 2017 23:15 楼主,有没有群晖套件中心手动安装domoticz版本的博联插件?群晖里套件python2.7和python3我都安装了,但是在/usr/lib下只有python2.7目录,是否一定要python3,是否还有其他需要修改?
domoticz插件系统基于Python3,你看下domoticz启动时的日志。

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周一 7月 24, 2017 17:07
fjj252630
在建好按键以后,按下按键,日志里发出如下错误命令, 哪位大神帮忙看一下啊!!! :(

2017-07-22 19:17:18.326 Error: (RM2) 'onCommand' failed 'NoOptionError'.
2017-07-22 19:17:18.326 Error: (RM2) ----> Line 219 in /home/pi/domoticz/plugins/BroadlinkRM2/plugin.py, function onCommand
2017-07-22 19:17:18.326 Error: (RM2) ----> Line 365 in /home/pi/domoticz/plugins/BroadlinkRM2/plugin.py, function genCommandOther
2017-07-22 19:17:18.326 Error: (RM2) ----> Line 765 in /usr/lib/python3.4/configparser.py, function get

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周一 7月 24, 2017 17:31
fjj252630
应该是这地方的问题,应该把7改成On
[LearnedCode]
7 = 2600280100012994163517111613153714361834161215121636151217111513151216121512161215121612161215131535173516121613141216111612161217351711163517111612163516121600029315121710161217101612161215131512171016371512161116121611161216131511161216121512171016121710161217121511171116121710161116361612170003150700020400012b911735181016111835153617341711171017351711161215121613151117111512190f151316121512163517351611161216111612161216111636163715351612161116361612150002941512151217121512151216111612161217121412161116121611181016131511171117111512161116361637161016121611171117111611163717341536161218000d05

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周五 8月 04, 2017 13:07
覆雨翻云
楼主好,我在群晖里下装了domoticz,在http://www.jadahl.com/ 下载domoticz的群晖套件,能不能用这个插件??

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周五 8月 04, 2017 15:04
DT27
覆雨翻云 写了: 周五 8月 04, 2017 13:07 楼主好,我在群晖里下装了domoticz,在http://www.jadahl.com/ 下载domoticz的群晖套件,能不能用这个插件??
插件不区分平台,通用的,不同的只是目录。

Re: [插件]RM2 RMPro 插件 BroadlinkRM2 v3(增强版)

发表于 : 周六 8月 05, 2017 00:10
不二是呆呆
如何修改ini文件,打不开啊