我写了一个家庭自动化脚本,用于控制灯光,科迪音乐和电视。除了关掉电视外,我还能正常工作。我已经将我的keyboard.xml文件映射到kodi中以识别" CECToggleState",这很好用,但我想在python脚本中触发它。
过去,可以导入xbmc模块,然后使用命令" xbmc.executebuiltin()
"运行内置的kodi函数,例如" CECToggleState
"。 xbmc模块已被kodi模块取代。我看过一些例子,建议" kodi.executebuiltin()
"可以使用,但kodi模块似乎并没有真正支持" executebuiltin
"。当我尝试在python中运行此命令时,我收到一条错误:
"AttributeError: 'module' object has no attribute 'executebuiltin'"
任何人都可以确认这是真的,还是提供了取代此命令的内容?或者,有没有人知道一个很好的替代方案来获得相同的效果 - 即发送"电视关闭"通过HDMI CEC以编程方式命令?
答案 0 :(得分:1)
import xbmc
xbmc.executebuiltin('XBMC.CECToggleState()')
这适用于我在Isengard的python插件。 关闭电视使用:
xbmc.executebuiltin('XBMC.CECStandby()')
或开启:
xbmc.executebuiltin('XBMC.CECActivateSource()')
答案 1 :(得分:0)
你必须写xbmc.executebuitin("XBMC.CECToggleState()")
,而不是kodi.executebuitin("XBMC.CECToggleState()")
,请将你的kodi从isengard升级到稳定版本(即Kyrpton)。