Almost all the affects of the change in naming from XBMC to Kodi have been realized at this point except for a few small areas. One of those areas is using the on-box API to send commands into Kodi or automate certain actions.
In my case I was trying to automatically play a file as soon as my Kodi player boots. To do that you simply place a file with the right content in the right place.
My System Details:
- Hardware: Raspberry Pi 2 /w Edimax EW-7811UTC AC600 Wifi Adapter
- Software: OpenELEC v6.0.3 (Kodi 15.2 Isengard)
Specifically, create a file called autoexec.py in the /storage/.kodi/userdata/ directory.
import xbmc xbmc.executebuiltin( "PlayMedia(smb://192.168.1.20/usenet/Baby_Stream.strm)" ) xbmc.executebuiltin( "PlayerControl(repeat)" )
If you’re trying to test the script on the CLI via ssh by using the python interpreter you might notice that calls to import the xbmc module fail.
OpenELEC:~ # python Python 2.7.3 (default, Feb 29 2016, 21:17:05) [GCC 4.9.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import xbmc Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named xbmc >>>
This is expected because the xbmc module is not exposed to the default python path.
Testing your Script:
In order to test your script try having Kodi send it through it’s python namespace using the kodi-send command:
OpenELEC:~ #kodi-send -a "RunScript(/storage/.kodi/userdata/autoexec.py)"
Quick and easy automation in Kodi. To see other functions that can be called either via kodi-send or automated in xbmc.executebuiltin statements, check Kodi’s official docs on the subject.