[RELEASE] Official XBMC boblight Addon - Printable Version
+- Kodi Community Forum (http://forum.kodi.tv)
+-- Forum: Support (/forumdisplay.php?fid=33)
+--- Forum: Add-on Support (/forumdisplay.php?fid=27)
+---- Forum: Service Add-ons (/forumdisplay.php?fid=152)
+---- Thread: [RELEASE] Official XBMC boblight Addon (/showthread.php?tid=116331)
[RELEASE] Official XBMC boblight Addon - Memphiz - 2011-12-06 23:11
XBMC boblight Addon pre-Eden/Eden:
This is the official XBMC boblight addon for using the open source ambilight clone ( http://code.google.com/p/boblight/ ) from within XBMC.
(It does NOT work with the old boblight from http://blogger.xs4all.nl/loosen)
Its available in the official XBMC Repo (services). Development can be followed here GitHub
For now the XBMC boblight addon supports the following plattforms:
Windows, Linux and OSX. Since June 2nd 2012 its also available on iOS (thx to davilla for fixing the ctypes module). Since 2.0.11 it works on android (arm only for now).
Though the required boblightd daemon (the server part of boblight) is only available on linux at the moment. It is not needed to run the server on the same mashine as the client (XBMC with addon in that case). I for example have the server running on my openwrt router and connect to the daemon via lan (boblight is connected to it via usb2rs232 adapter). So i can use boblight from within linux,osx and windows on my HTPC (for deving purposes mostly ).
You can access the addons settings as usual like with any other addon aswell. It is located in the services subcategory.
Beside that you can access the settings during video playback. For this just put the file script.xbmc.boblight.keymap.xml found HERE into your "userdata/keymaps" folder.
You can access the settings during playback by hitting the key "b" or "B". (Note: a former keymapping to that key will be overwritten by this keymap file. If there is a
conflict you just can change the mapped key to something else).
Meaning of the settings
* Saturation and value are multipliers for HSV color space: http://en.wikipedia.org/wiki/HSL_and_HSV
* Speed is a factor for a first order lowpass filter, it goes from 0 to 100, the higher you set it the faster the lights react.
Autospeed adjusts the speed on top of that based on how fast the colors are changing, it kind of sucks to be honest.
* Interpolation is a setting for a boblightd output device, when it's on it will interpolate between the last two writes of a client, I suggest turning it off in the xbmc addon.
* Pixels below the threshold value will be considered as black pixels, it goes from 0 to 255, I suggest setting it to something like 10.
First of all the following clarification: This addon only provides the client. You still need to run the boblightd - daemon somewhere in your network (either on the same mashine as XBMC or on any other mashine in your network, where your boblight hardware is connected to).
For this addon to be working you need a library for communicating with the boblightd - daemon. It should get automagically downloaded for you on the first run of the addon for Windows and OSX. If it doesn't ask you for the automatic download - disable and reenable the addon - this should get you going. Linux users should have installed the library libboblight.so.
goto the projects site http://code.google.com/p/boblight/ and download the source code. Then compile and install the library by issueing the following commands (without the $'s):
This will install the libboblight.so library into /usr/lib - where the boblight addon will find it.
1. Currently boblight is only driven when the videoplayer is running. We hope to be able to extend it to the menu and even music playback in the future- though this will need major changes in the XBMC core so it wouldn't be the near future .
2. You can define a static light which is used whenever the videoplayer is not running.
3. You can choose between 2 presets (fast and slow) which only differ in the reaction speed and smoothness of the light changes. Maybe in the future there will be some more presets - according to the feedback users.
4. You can use custom defined boblight settings (saturation, value, speed, interpolation, threshold, autospeed).
5. It has 2 seperated sets of settings. Movie and MusicVideo. It is able to use the appropriate setting when it detects a Movie or a MusicVideo. The detection is based on the video library (content option).
6. Both sets can be used to switch between 2 different settings by using the "Override used category" feature. This allows for switching between these settings when no library is used or Movie and MusicVideo aren't the wanted decision rules.
Possible hardware solutions
1. Using an arduino and a TLC5940 pwm controller - http://code.google.com/p/tlc5940arduino/
2. Use my custom hardware which is based on the first one without arduino. It needs slightly adapted arduino firmware. Find everything here: Custom Boblight - The Memphiz Way. For powering the Atmel (not the lights - only the board logic) i use this usb2TTL5V converter Lipoly (any other TTL converter will work as long as it has a 5V levels including 5V VCC output).
3. Use an amblone hardware like described here
4. HowTo build multichannel adalight here
5. There are many more possibilitys - use google...
Calculator for boblight.conf and others
With this tool you are able to generate boblight and adalight (and maybe others) config files based on your led setup. Thx to Hansaplast.
Boblight Config Maker
- [feature] - enable android support
- [feature] - add setting for disableing boblight for 3d content
- [fix] custom category detection
- [fix] custom category settings
- [fix] work around UTF8 encoding problems for dialogs
- [updated] language files from Transifex
- [fix] for the newly added categories livetv, tvshow and files the category override didn't work
- [fix] xbmc always returns the video player content "files" even if no video is playing - workaround
this and fix static boblight during audio playback that way
- [changed] use correct string ID range
- [language] added dutch translations - thx to georgehenze
- [feature] added a new preset categories used for tvshows, livetv and files (everything outside of the movie database)
- [feature] for all categories there is a new preset "disabled" which basically disables boblight. This allows to
watch live-tv without boblight and movies with - without needing to change the addon settings - thx to georgehenze for
those 2 features
- [fix] recover if boblightd is disconnected while movie is playing - by amet
- [fix] - race condition which could lead to boblight turn on after movie stop if static light is not enabled
- [add] - option for disabling/enabling the initial color blink
- [add] - option for disabling/enabling any user notifications (connection lost and so on)
- [fix] activate static light when playing audio
- [fix] close download dialog once we finished/failed
- [fix] - catch exceptions during libboblight download and add a toast for suggesting a check of the fs permissions
- compleate rewrite of the addon, it uses xbmc.Monitor class to monitor for changes in addon settings, player start/stop and others
- fixed the lib downloading code on win32
- changed icon to something we own the copyright for
- ping boblightd and reconnect if connection is lost
- initial version
- Lunatixz - 2011-12-07 08:22
can you explain how you are running the daemon on openwrt... would this work on dd-wrt since they are both open source linux...
My XBMC is setup on a win7 pc... but I have a router running dd-wrt... would this work? can you explain how to setup the daemon...
I have a amblone system which runs on arduino mega, I have the boblight pde installed just waiting for the daemon
- Memphiz - 2011-12-07 09:15
Lunatixz Wrote:can you explain how you are running the daemon on openwrt... would this work on dd-wrt since they are both open source linux...
not sure if dd-wrt allows you to install something? I thought they have a fixed partition only?
- Memphiz - 2011-12-07 10:01
Well i've had another look. DD-WRT unfortunatly is not that open source as OpenWRT - it has more a commercial touch (though it is of course free). I didn't find a HowTo on building packages for it. But the wiki states, that OpenWRT packages might be compatible.
Well i'll try to get boblightd into official OpenWRT tree first. When OpenWRT buildbots start building it on a nightly base - you can try if you get it into your dd-wrt then. This might need some weeks i think.
Beside that you already should double check that your router has an USB port and that your amblone is compatible with boblightd and it has a usb2rs232 adapter on it which has drivers on ddwrt (see USB to Serial on http://www.dd-wrt.com/wiki/index.php/USB#USB_drivers for supported adapters).
- Lunatixz - 2011-12-07 11:05
Memphiz Wrote:Well i've had another look. DD-WRT unfortunatly is not that open source as OpenWRT - it has more a commercial touch (though it is of course free). I didn't find a HowTo on building packages for it. But the wiki states, that OpenWRT packages might be compatible.
My router has a usb... and as far as i know my amblone supports boblightd since the pwm pins are the same... and there is code for the micro controller on boblightd's git...
Look forward to getting it working...thanks for the response...
- snipah - 2011-12-07 12:11
had the "old" version running with the boblightd & boblight-X11 and wanted to switch to the addon now.
The old version was started with following lines in /etc/rc.local
I removed all this lines after installation of the script, but log says, that boblight can't connect to boblightd. In the addon the remote boblightd-option is not activated and you wrote, boblightd is not needed by the script.
My question: Do I still need the old 'boblight.conf' in /etc? I guess the addons pulls the host-address for boblightd from this file.
Can I delete to boblight.conf-file? If so, how are the ligihts defined?
libboblight.so is in /usr/lib/ ....
Guess I found out: In boblight.conf the [global] section has to be commented out/ deleted, while the lights still have to be defined in this file. Correct?
- Memphiz - 2011-12-07 12:32
- no incorrect. Leave the boblight.conf as is - but put the "su - xbmc -c "boblightd -f"" back in.
snipah Wrote:and you wrote, boblightd is not needed by the script.
Where did i write that? So i can fix this in the first post ...
- Clumsy - 2011-12-07 13:29
Is there a quick way to setup a toggle button for the addon? I personally use boblight only maybe 20% of the time I actually use xbmc, mostly when I watch movies and switch to my projector. So at the moment I use lirc with irexec to toggle boblight-X11 on, when I need it. If a toggle feature isn't supported I guess this counts as a feature request - ideally I would have a skin button in the OSD, but a button mapping would wpork as well I guess.
- snipah - 2011-12-07 13:52
Memphiz Wrote:- no incorrect. Leave the boblight.conf as is - but put the "su - xbmc -c "boblightd -f"" back in.
At least I understood it that way:
Memphiz Wrote:Though the required boblightd daemon (the server part of boblight) is only available on linux at the moment. It is not needed to run the server on the same mashine as the client (XBMC with addon in that case). I for example have the server running on my openwrt router and connect to the daemon via lan (boblight is connecte to it via usb2rs232 adapter). So i can use boblight from within linux,osx and windows on my HTPC (for deving purposes mostly ).
I already started the boblightd via rc.local and it works but I thought I could get rid of the deamon
Does this plugin cause less processor load than the X11-Version?
- Memphiz - 2011-12-07 18:41
snipah Wrote:At least I understood it that way:
No this should only mean that the daemon doesn't need to run on the same mashine (for example for XBMC on windows - there is no boblightd for windows).
I'll change it that there is still the need of a deamon, but it doesn't need to run on the same mashine (but somewhere else in the network)...
I can't answer the question about the CPU load compared to boblight-X11 ...
- Memphiz - 2011-12-07 18:47
Clumsy Wrote:Is there a quick way to setup a toggle button for the addon? I personally use boblight only maybe 20% of the time I actually use xbmc, mostly when I watch movies and switch to my projector. So at the moment I use lirc with irexec to toggle boblight-X11 on, when I need it. If a toggle feature isn't supported I guess this counts as a feature request - ideally I would have a skin button in the OSD, but a button mapping would wpork as well I guess.
Not possible with the current addon api ... lets talk about that after eden again
- snipah - 2011-12-07 21:04
...how do I reconnect the addon to boblightd after s3? When entering s3 I'm killing boblightd and later restart it on resume...but the script doesn't reconnect.
Before I also startet boblight-X11 with the script and that still works, but I want to use your addon after resume...
- Memphiz - 2011-12-07 21:09
Lunatixz Wrote:My router has a usb... and as far as i know my amblone supports boblightd since the pwm pins are the same... and there is code for the micro controller on boblightd's git...
You can track the ticket i've made to the openwrt guys here:
- Memphiz - 2011-12-07 21:10
snipah Wrote:...how do I reconnect the addon to boblightd after s3? When entering s3 I'm killing boblightd and later restart it on resume...but the script doesn't reconnect.
Could you post a xbmc.log when resuming please?
- snipah - 2011-12-07 21:36
Sure! Log is located here as a zip-file: LINK!
boblight-log posts this after resume: