
KODI driver now in beta [1.3.8]
KODI IP driver for NEEO.
This will be a full featured kodi driver for NEEO. This driver is in an early beta stage so expect issue. I kindly request to only report crashes including crashlogs, Features will come later.
Remove the device you are using from NEEO before using this new version. I still make a lot of changes with every version to find the sweet spot.
The driver state: Early BETA
Features
- Discovering KODI instances.
- Wake on Lan as POWER ON command.
- Browse through movies and recent Movies. (add the Movie Library as shortcut).
- Browse through TV Shows and recent episodes. (add the TV Shows Library as shortcut).
- Browse through PVR TV Stations and Radio Stations. (add the PVR Library as shortcut).
- Browse through Music Albums, recent Albums and Music Video's. (add the Music Library as shortcut).
- Large Now playing cover image. (add the <Now Playing Cover (large)> Image as shortcut).
- Small Now playing cover image. (add the <Now Playing Cover (Small)> Image as shortcut).
- Now playing label. (add the Label as shortcut).
- Volume Slider. (add the Slider as shortcut).
- When EPG is available the broadcasted title is shown on TV Channels.
- All known API commands are exposed as buttons.
- Button to update Audio Library.
- Button to update Video Library.
- Content aware controlls.
Caviats
- Kodi password must be set to nothing or to "kodi". Username/Password is not being handled.
- Kodi 17.x on Android is not supported because it lacks Zeroconf, alternatives are using KODI 18 or use LibreElec.
- The "kodi Player" driver is NOT complete. use it for fun or show of but please Don't add bug reports for that. It's mainly unusable at this point.
Getting Started
These instructions will get you a copy of the project up and running on your local machine.
Prerequisites
You will need a copy of Node.js (v6) installed, see http://nodejs.org On windows you need either Bonjour SDK or iTunes installed for MDNS discovery.
Installing
Download or clone the github files to a directory of your choosing. Extract the files. Use your computers console and go to the path where the files are extracted and Install the package using NPM.
npm install
Running the driver
Use your computers console and go to the path where the files are extracted, Start the driver with NPM.
npm start
Running the driver the old way or for debugging.
Use your computers console and go to the path where the files are extracted, Edit the file Debug_NEEO_DRIVER-KODI.js to your pesonal setup, then Start the Debug_NEEO_DRIVER-KODI.js file with node.
node Debug_NEEO_DRIVER-KODI.js
or use in Visual Studio Code
KODI Settings
In Kodi make sure to enable the following settings:
- "Announce services to other systems", (not posible on kodi v17.x on android, Upgrade to kodi v18 Beta)
- "Allow remote control via HTTP", (Used for grabbing images)
- "Allow remote control from applications on other systems".
- set Kodi User/Password to either kodi/kodi or leave the password blank (default).
Usefull links
- NEEO - Official NEEO website.
- Planet NEEO - Official NEEO community website.
- KODI - Official KODI website.
- NEEO-SDK - NEEO SDK github.
- NEEO-SDK Docs - Detailed SDK documentation.
Authors
ToDo:
- ability to add credentials.
Releases
Version 1.3.8
- Added Music Queue.
- Added Movies in progress.
- Fixed issue not showing cover art when other kodi webservice is used.
- Fixed showing listitems x times.
- Devices need to be re-added. sorry.
- Fixed list error when kodi didn't report any items.
- Rewriting browsing service for Player
- Added generic Library Directory while still having the generic Movies, Music, etc..
- Fixed content aware controls being dependant on english language.
- Added disconnected message to listview.
- Added SUBTITLE and AUDIO (Language) Buttons.
- Removed unused code.
- Fixed lists limited to 64 items.
- Added PLAY PAUSE button for handeling play pause in Player, is mapped to OK button.
- Added Player Components. (only debug mode as it's not working properly yet.)
Version 1.2.2
- Reconnect when connection is lost.
Version 1.2.1
- Removed Module node-arp, Using native Kodi RPC call.
- Removed Module node-kodi, Using purpose build websocket connector.
- Improved discovery time from 8 Seconds to 3.
- Removed Module request.
- Bugfix: Recent movies returns actual count to list.
- Bugfix: list limit could exceed item count.
- Bugfix: Empty list were cousing an issue.
Version 1.2.0
- Converted all connection methods to use websocket.
- Added now playing image, Small.
- Added now playing image, Large.
- Added now playing label.
- Added volume slider.
Version 1.1.4
- Added websocket connection.
Version 1.1.3
- Reworked the way itemlists are build. now steps of 64 items are fetched.
- Code cleaning.
- Fixed images.
Version 1.1.2
- fixed reacurring filter issue
Version 1.1.1
- NPM start fix
Version 1.1.0
As all basic features are now working i've updated to 1.1.0.
- Fixed an endless discovery bug when a device got offline
- Fixed a WOL bug.
- Added PVR TV stations. Shows a list of TV channels and if EPG info is availeble also the current broadcast title.
- Added PVR Radio stations. Shows a list of Radio channels and if EPG info is availeble also the current broadcast title.
- Added contentaware buttons of Channel UP and Channel Down.
- Added Recent Albums
Version 1.0.12
- Added support fot Music albums and tracks.
- Added Preloading Music albums.
- Added Library cache and background fetching. (especially nice with huge libraries.)
- Added support for Music Videos.
Version 1.0.11
- Changed SDK-CLI Start method.
Version 1.0.10
- added movie filters: All, Watched, Unwatched.
Version 1.0.9
- added genre to movie list. just to play around, might change.
Version 1.0.8
- Changed code to use NEEO CLI, Remove old files first!
- Added a debugging file for use with IDE. Debug_NEEO_DRIVER-KODI.js
- Removed Circular dependancies, Thanks to Michael Kohler
- Fixed promise.resolve issues.
Version 1.0.7
- Changed the way to obtain the MAC address.
Version 1.0.6
- Added content aware controlls. i.e. using cursor in movie to skip.
Version 1.0.5
- Added Discovery logging to troubleshoot.
- removed IP in index.
- restructuring code.... (Still ongoing, could take a while)
- Starting to implement content aware buttons to behave like normal ir Remote or Key's
Version 1.0.4
- Fixed "ENTER" -> "CURSOR ENTER"
- Fixed Button controlls.
- Added Connection banner in KODI.
- Added Offline discovery.
- Automatically reconnect.
- Rewritten WOL, (POWER ON)
- Automatically connect to KODI instance when POWER ON command is send. (maximum boot duration supported is 5 Minutes).
- Manual connect to KODI instance when any command is send. (Command is not queued except for Power ON and Power Off).
- restructured Commands.
- Cleaned NEEO Controller.
- Added logo_NEEO_Twitter to images.
- Removed discovery from browserService-Movie.
- Removed discovery from browserService-TVShow.
- Added timer configuration in KODI Controller.
Version 1.0.3
- Rewritten BrowserService for TV Shows
Version 1.0.2
- Restructured discovery process.
- Restructured controller for Kodi.
- Rewritten BrowserService for Movies.
- Added BrowserService for music
- Added BrowserService for pvr
- Added BrowserService for TV Shows
-
Niels de Klerk What happens when you leave the BRAINS ip blunk in the Debug_NEEO_DRIVER-KODI.js ? Can it be auto discovered?
Eman.
-
Niels de Klerk I absolute love this integration. It is working now like it should with such a Remote. Also THe update Library and the Start and Stop of Movies and TV shows, fast and enjoyable way of using KODI with NEEO!
During my usage, i don't found any Issues, but if so i will inform about it.
Only thing tricking me was the fact that shortcuts get vertical scrolling on the app and horizontal at the remote. This needs a fix! Patrick
-
Niels de Klerk I here by want to report back that one should not use very long HDMI cables while using the HDMI-cec module. After the initial tests I reconnected the device with a short cable (1M) and now everything is perfect! Although there are no CEC settings in LibreELEC, things are handled automatically during the power status. (TV <-----> AMP <------> LibreELEC)
One more thing though, I searched around for the best streamer for this project and I found this : https://www.youtube.com/watch?v=9afK9BEWpkM but as usual it's sad you can't get hold of one! 😞
But to keep with the trend I ordered one of these : LG UBK80 4K Ultra HD HDR Blu-ray / DVD / CD Player with High Resolution to be used for playing the physical discs and the lot!
-
I have just pushed the driver to version 1.2.1
Version 1.2.1
- Removed Module node-arp, Using native Kodi RPC call.
- Removed Module node-kodi, Using purpose build websocket connector.
- Improved discovery time from 8 Seconds to 3.
- Removed Module request.
- Bugfix: Recent movies returns actual count to list.
- Bugfix: list limit could exceed item count.
- Bugfix: Empty list were cousing an issue.
-
Niels de Klerk If I may ask, how do you install this one? Looks like the link you posted is for Homey!
I found it ===> https://github.com/nklerk/neeo_driver-kodi
Eman.
-
Niels de Klerk Found an Issue:
When Kodi isn't useg for a while, the Driver get's sleepy (maybe timeout also from Kodi side) means when is use the Kodi just as shortcuts to browse my lists and update the library (which works fine now) then the following is happening:
Open a list rescans for active kodi and reconnect, but if only the update button is pressed, then nothign happen until i do an list open (which checks if kodi is still reachable i guess).
Can you let the driver check the same befor using any command?
-
Niels de Klerk - I know you don't work for Neeo but ;-)
(I expect your response will be faster).
I am shamelessly thieving your hard work to write a driver for Plex. Actually a few hours later I am already able to authenticate with plex.tv ; get a list of local servers and connect to them.
Your code is super easy to follow (at least for me) - so thanks for that !
I've never used Kodi (plex guy here - each to their own!) - so forgive me if my question is dumb.
With Plex I need to do two bits of device discovery. 1) The server(s) - which is fine and I have working. The second is the 'client' that you actually want to play out the content on.
So ideally (at least it seems like this to me) - I would have two enable discovery calls. Except Neeo don't support that.
How did you get around this with your Kodi driver? it looks like every Kodi server is also a client - is that right?
Any suggestions?
Thank you!
David
-
David Hall said:
I am shamelessly thieving your hard work to write a driver for Plex.Perfect, Love it ;-)
David Hall said:
So ideally (at least it seems like this to me) - I would have two enable discovery calls. Except Neeo don't support that.NEEO does supports discovery, I'm using that in my kodi driver. I return a new promise with timeout of 3 Seconds. In that time I start the discovery and respond the devices that I found within that time. you need to have a unique ID, I chose to use the mac address of a kodi instance.
function discovered() { console.log("Discovered devices requested by NEEO."); discover(); return new Promise(function(resolve, reject) { setTimeout(() => { console.log("Responding discovered devices to NEEO."); let kodi = []; for (let devideId in kodiDB) { kodi.push({ id: kodiDB[devideId].mac, name: kodiDB[devideId].name, reachable: kodiDB[devideId].reachable }); } resolve(kodi); }, NEEO_DRIVER_SEARCH_DELAY); }); }
-
Jacob Wiqvist said:
Absolutely fantastic. The installation guide definitely needs some improvements. But now it works for me.I only document the absolute minimum. reason is that every system is different, its more visible where users are having issues to run drivers.
Jacob Wiqvist said:
I manage to get right of the windows login screen and got Kodi start when windows starts. Still some problem with the start menu shows when Kodi is running.This is possibly due to a kodi setting, check the "Windowed fullscreen" option, settings -> display. set the option Off. and it will not happen.
Jacob Wiqvist said:
This driver gave me a lot of ides to AWR driver. What do you think of creating IP driver for most common AWRs, Ea. Maranz, Onkyo, Yammha, Pionner and so on. If I provide the graphics? I have some interesting ideas. I think a lot of people would be really happy if someone did that.Done! neeo_driver-onkyo
I'm not interested in writing drivers I can not benefit myself, have to be picky in what I do and don't code. When/If I change to another AVR, chances are that I will write a driver for that to. Abviously Pioneer, Maranz, etc can sponsor me ;-)
-
Jacob Wiqvist said:
I also have a bug to report but that maybe is NEEO problem or related to me doing something wrong.
When I start the driver on NEEO remote or NEEEO app and return to the “home screen” of NEEO, there is no Recipe running.
But maybe it is related to me changing the step “Kodi (HTPC) Power on” to “Movie and Media Power ON toggle” with is the IR command from NEEO bridge (MCE) to my (htpc antec fusion 430) HTPC Case?This is most probably due to your recipe, this must contain Power On and Power Off otherwise it won't show as active.
-
Jacob Wiqvist said:
On thet note What HTPC do you use and how do you control it?I just switched to a Minix neo u9-h running LibreElec (Linux with kodi) and am using my own driver. The driver is running on a raspberry pi.
I used to use a Intel NUC 6. Perfect picture quality. but doesn't support HEVC and 10bit Video. so I gone to minix as I unfortunately don't have a unlimited budget to buy another NUC.