KODI driver now in beta [1.3.8]

KODI IP driver for NEEO.

Download

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

Authors

  • Niels de Klerk - Initial work - Github
  • Michael Kohler - Debugging and help
  • NEEO - SDK - Website

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
Reply
259replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • Niels de Klerk , Hello I noticed you mentioned version 1.2.2.a before to Markus Mahr or was that just a one off version to him? Or are there any major changes? Is there any reason to upgrade?

    One more thing though unrelated, I posted about this device here :  https://www.amazon.co.uk/dp/B07D8ZBX4Z/ref=pe_3187911_189395841_TE_3p_dp_1

    What are the chances for it to work with NEEO? I know you don't work with NEEO but you give very helpful advice and prompt (best of service!) 

    And also what tricks do you use when switching to different divices (Kodi  ===> Satellite ===> BLuRay or other) in the same room to avoid powering off the AMP but switching inputs asynchronously? That way it would not confuse a guest user on how things take long to start 

     

    Thank you for your support

     

    Eman.

    Like
  • Emmanuel Serebe said:
    Hello I noticed you mentioned version 1.2.2.a before to Markus Mahr or was that just a one off version to him? Or are there any major changes? Is there any reason to upgrade?

    Markus is only partially using my driver, this resulted in the driver not knowing it was being used, you may update but there's no need to.

     

    Emmanuel Serebe said:
    One more thing though unrelated, I posted about this device here : https://www.amazon.co.uk/dp/B07D8ZBX4Z/ref=pe_3187911_189395841_TE_3p_dp_1
    What are the chances for it to work with NEEO? I know you don't work with NEEO but you give very helpful advice and prompt (best of service!)

     It will probably work with IR. you can already add the device to NEEO to see whether it is included in the device database. (you don't actually have to own a device, you can add any device to NEEO)

     

    Emmanuel Serebe said:
    And also what tricks do you use when switching to different divices (Kodi ===> Satellite ===> BLuRay or other) in the same room to avoid powering off the AMP but switching inputs asynchronously? That way it would not confuse a guest user on how things take long to start

     I don't use any tricks. only thing I did was adding a power off command to the TV recipe so the receiver will be turned off when I start the TV recipe. all others will use the AVR. could you be more specific about the issues you're having?

    Like
  • Niels de Klerk I may found an issue in the programming of the listviews (or it was done by purpose from your side):

    Open up a list shows the view to select what "filter" to be used to show the titles, open one of these leads to the entry correlated to the "Filter" 

    Everything fine till you select back in the top left corner, you don't go back to the selection, this button then closes the whole list. 

    Willed or fault?

    Like
    • Niels de Klerk Overread this? Or just no feedback until know?

      no worrys, just a heads up to keep track at my side!

      Like
    • Markus Mahr sorry, missed it. This is the TR2 behavior. Nothing i can do about that. 

      Like
    • Niels de Klerk OK, that's what I thought as second after reading about the other issues. Thanks for answere!

      Like
  • Niels de Klerk said:
    I don't use any tricks. only thing I did was adding a power off command to the TV recipe so the receiver will be turned off when I start the TV recipe. all others will use the AVR. could you be more specific about the issues you're having?

     It's not much of an issue but at the moment if I start another recipe I don't have the previously used device switch off but with time I will continue trimming them (recipes) and / or add power off where possible to what happens otherwise it's all good for now.

     

    Thank you.

     

    Eman.

    Like
  • Is there a way to run "npm start" in the command prompt as a administrator automatically when computer starts? I tried to creat a batch fil but with no luck. Or is there a other way to auto run need drivers?

    Like
      • David Hall
      • David_Hall
      • 4 yrs ago
      • 1
      • Reported - view

      Jacob Wiqvist runas /user:administrator C:\data\mybatchfile.bat

      Like 1
    • David Hall Jacob Wiqvist  - you may have to nest your batch files (eg batch file 1 calls 2 which runs NPM)

      Like
    • Jacob Wiqvist Yes you can run the driver automatically using rc.local ===> sudo nano /etc/rc.local ====> then paste ====>  "su pi -c 'node /home/pi/node_modules/neeo_driver-kodi/Debug_NEEO_DRIVER-KODI.js  < /dev/null &'  "    just before "fi " (observe the spacings) withou quotes then press control X then Y then Enter then reboot and you will have the driver started!

       

      Edit : Don't forget to edit the Debug_NEEO_DRIVER-KODI.js with your particulars 

       

      Eman.

      Like
    • Emmanuel Serebe Sory way to comlicated for me. I ned mor exact instructions. You know my directorys in windows. The Kodi driver is in: c:\neeo_kodi\, and the json is in: C:\Program Files\nodejs. Also I have RasperyPi3 and I asume your comands is for runing on Pi? But at the moment I want to run it on the HTPC with kodi, and in the future I want to get a way from a Pi and only use NEEO, Plejd and Philips Hue. To many systems at the moment. ;-). And when the Pi craches it is hell with the family complaining.

      Like
  • I cant belive how much hassle it is to install a driver. This can be the road map for this from neeo side.

     

    https://youtu.be/zexaHd83tos

     

    I  have about 30 minutes until I leave for work. Hope it gets solved 

    Like
    • Jacob Wiqvist it will get slowly better with baby steps at a time.

      Like
    • Niels de Klerk Nils after trying to folow th RaspberryPi instructions ( https://planet.neeo.com/t/18kj94 ) I think I broke something with your kodi driver. Now when I trye to start Kodi with the comand "cd c:\neeo_kodi" and "npm start" nothing is happening", and Kodi does not say that the driver is running. And in NEEO app the kodi recipe is ofcorse not runing. Back to scuare on. I also broke my homeBridge so now my my homekit cant se any homebridg even tho it is runing acording to the raspberrypie. https://www.youtube.com/watch?v=SGzkUgTgpa4 I feel like this.

      Like
    • Jacob Wiqvist Hi buddy , If you have a RPI and cleanly installed the NEEO SDK then

      download the MobaXterm on your Windows desktop and SSH into your raspberry PI

      1. If you drill down into the user pi folder  /home/pi .............there will a folder => node_modules

      2. Now in the terminal type = cd /home/pi/node_modules and the press enter

      3. type => git clone https://github.com/nklerk/neeo_driver-kodi.git

      4. type => cd /home/pi/node_modules/neeo_driver-kodi    then enter

      5. type => npm install

      When the installation is finished,  On the left side of MobaXterm look for the Debug_NEEO_DRIVER-KODI.js  file inside the neeo_driver-kodi right click and edit with the built in text editor. change the IP address and port to that of your BRAIN, save and close

      6. Back to terminal and type :

       sudo nano /etc/rc.local    (careful not to damage this file)

      Use the arrow keys on your keyboard to insert the script after creating a space before  fi  by pressing  the Enter key

      The script :      su pi -c 'node /home/pi/node_modules/neeo_driver-kodi/Debug_NEEO_DRIVER-KODI.js  < /dev/null &'

      Then on you keyboard  ctlr + X   then Y then Enter

      7. Sudo reboot

       

      8. The driver should be now running

       

      Am sorry I haven't done the Windows version

       

      Eman.

      Like
    • Emmanuel Serebe Big thank you for the help every thing worked to stage 6: 

      What am I doing wrong here. Inthe wrong folder?

      Great tool by the way. Cant see the port number of the brain in the iOs app? Tip?

       

      Like
      • Aaron Ranson
      • Consumer
      • Aaron_Ranson
      • 4 yrs ago
      • Reported - view

      Jacob Wiqvist put a space after nano I believe. nano is the text editor. 

      Like
    • Aaron Ranson Is this right? And thank you. so frustrating that a space can change everything.

      ctr-x and y works but an error aper when pressing enter?

      Like
    • Jacob Wiqvist The default port was 6336. Until Niels de Klerk shows us what tricks to change it. And you terminal window should be like the image below: 

       

      Eman.

      Like
    • Jacob Wiqvist sudo nano /etc/rc.local   ======>     Edit file  then  ====>  ctlr + X    read the text on the bottom if you agree with the changes press Y then Enter.

       

      Eman

      Like
    • Emmanuel Serebe Edit what file? Any way does not seem to work?

      Like
    • Jacob Wiqvist The information I posted earlier still applies.  Just go back upwards you will see my recent posts.  For running the driver automatically on boot . I corrected the mistake / typo  ===> sudo nano /etc/rc.local   and insert the script exactly as in the image I posted then ctlr + X    read the text on the bottom if you agree with the changes press Y then Enter.

      Then sudo reboot. The driver will start automatically!

       

      Eman.

      Like
    • Emmanuel Serebe I think I have checked every singel row. Only thing that I can se differ is that your printf is purple and my is gray?

      Like
    • Jacob Wiqvist ctlr +X and see what happens. If all good press Y then Enter and reboot

       

      Eman.

      Like
    • Emmanuel Serebe I hade to delete the device in NEEO bridge and add it again. And now it works! 

       

      Big big big thanks for all the help!

      Like
    • Jacob Wiqvist Cool man, now enjoy! and a big thank you to Niels de Klerk  for all that hard work.

       

      Eman.

      Like
    • Emmanuel Serebe I can't get the driver to run all of a sudden. tried to go therew the guid again but now I get error messages. What have I done?

       

      The driver is not recognized by Kodi. It was during my optimization of start up and shut down time. I turn on and of the recipe about 20 times and then all of a sudden it stoped working. And then I went in to the Terminal to re do the hole Instalation of NEEO driver. And now it stoped working?

       

      "saveError"? Why?

      Can any one see what went wrong this time:

        

      Like
    • Jacob Wiqvist hi, to reinstall find the neeo_driver-kodi using MobaXterm and delete it. 2 . edit the /etc/rc.local and cut the script you pasted in it be for and paste it in text file on your desktop. Save the file and reboot the PI. On return reinstall the driver as before! That will fix it. One more thing check your router for BRAIN'S IP. It may have changed!

       

      Eman.

      Like
    • Emmanuel Serebe But the script was still there. I will reboot now and follow the instructions.

      Like
    • Emmanuel Serebe Thank you again. After almost a day with no actual results It si for now fixed.

      All hardware starts.

      All software starts 

      Windows auto login

      Kodi starts in fullscreen without start menu showing.

      Kodi driver connects

       

      Only homebridge that I can't get running. 

      Once again A big big thank you.

      Like
  • Niels de Klerk Hi have a question for you (that I won't delete this time) regarding list. You seem to be most familiar with the sdk and list around here. I almost have my pandora player driver where I want it but I am having trouble with two issues.

    1: Can we set the SDK so when the hard menu button is pressed it will pull up the browser list? If I add the getter function to an if statement matching the menu mapping, would this work?

    2: Is there a way when the action function is called to have the remote return to recipe screen automatically? Currently, when a an item is selected from the list it remains on the list browser until we back out of it. I was thinking it might be cleaner to change the station and have it return to a slide.

    Like
    • Aaron Ranson no not currently possible. Have a look at GitHub. There is an issue raised for new functionality. Best is to join the discussion there as the devs are there to.

      Like
    • Aaron Ranson 

      For 2 - check out https://github.com/NEEOInc/neeo-sdk/issues/111 which is what you are asking. Feel from to add 1 to that as well..

      Like
      • Aaron Ranson
      • Consumer
      • Aaron_Ranson
      • 4 yrs ago
      • Reported - view

      Tim Roberts Niels de Klerk

      Thanks, I briefly looked over github in the past but a lot of it was over my head and a bit intimidating back then so I kind of forgot about it. I will go check it out again.

      Like
      • Aaron Ranson
      • Consumer
      • Aaron_Ranson
      • 4 yrs ago
      • Reported - view

      Niels de Klerk Tim Roberts Do you know of any other repos out there using the directory feature? I have been running into some issues with my code and was hoping to see some implementation outside of the neeo example and kodi driver to try and learn. I have tinkered with mine the last few days with no success.

      Like
    • Aaron Ranson in the next branch there is a player example that also includes a static list. For the rest I don’t think there are any yet.

       I’m in the process of recoding the way I am using the feature, making it far more easy to understand. Keep an eye on that. The code is currently not publicly available but will be soon™️.

      what part are you having trouble with?

      Like 1
    • Aaron Ranson 

      I just completed implementing it into my openHAB driver - however, that's a custom built SDK using java (not node.js) and isn't much help to you.  As Niels de Klerk mentioned, the next branch of the sdk examples github has a file browser and a music player example apps that utilize the feature.  Please note the file browser one works but the music player example does not (still a work in progress for NEEO) - but you can see the code used.  Of the two, the file browser one is much more straight forward in implementation (and variety).

      Like 1
      • Aaron Ranson
      • Consumer
      • Aaron_Ranson
      • 4 yrs ago
      • Reported - view

      Niels de Klerk When studying the file browser example, the devicebuilder info was in the index file. My controller.js file had my functions as:

      function PandGetter(deviceId, params) {
        console.log('browse called with', {
          deviceId,
          params,
          });

        return BrowserService.browse(params)
        .catch((error) => {
          console.error('FILEBROWSER_LIST_BUILD_ERROR', {
            function: '_browse',
            error
          });

          throw error;
        });
      }

      function PandAction(deviceId, params) {
        console.log('action called with', {
          deviceId,
          params,
        });
        exec(params.actionIdentifier, (err, stdout, stderr) => {
          if (err) {
          console.log(err);
          return;
          }
      });
        BrowserService.action(deviceId, params.actionIdentifier);
      }

      module.exports = {
          onButtonPressed, ..... etc
        browse: {
          getter: PandGetter,
          action: PandAction
        }
      };

       

      This worked great. The driver I am working on was originally written similar to one of the neeo examples where where the index file only contains the controller module export. Within controller file is my device builder information, but instead of individual functions it is written as:

      const controller{

      onButtonPressed: function(){

      .......etc etc.

      },

      };

      const devicebuilderinfo = neeoapi.builddevice('whatever')

      ....etc etc

      module.exports = devicebuilderinfo;

       

      If I remove the directory information it works fine. I just can't seem to figure out how to implement it this way. I can go back and rearrange the code so similar to the example, but I am trying to understand why I can't get it working instead of just changing it and moving on. 

       

      https://github.com/amr024/pandorapi2

      Here is the actual code if you want, but please excuse the mess. I have a lot of cleaning up to do with it. Its also a bit of a mess as I am learning as I get through each step 😁

      Like
    • Aaron Ranson 

      Looks like your export is wrong (you are exporting an object with a driver and another object with two functions) - only export the driver itself (as in remove the object and only show exports=PandDriver)

      However - I really caution against this approach.  A "controller" should simply handle interactions and not be responsible for creating a driver.  I'd personally switch it back around (where the index.js creates the driver that uses the controller).  Makes it easier to understand, scopes the code correctly and makes things simpler to modify in the future...

      Like 1
    •  ,  is correct. Please note that the SDKv2 catches all exceptions and are not visible. 

      In visual studio code enable the debug option to view all exceptions. This way you cam still find bugs.

      Like 1
      • Aaron Ranson
      • Consumer
      • Aaron_Ranson
      • 4 yrs ago
      • Reported - view

      Tim Roberts Thanks for the help from both of you. I really do appreciate it as I attempt to learn this. I find it very interesting, but sometimes pretty frustrating.

      I understand your explanation Tim and will probably revert back to the index file containing the driver. I will work on it a bit more tonight before making the switch though. I am assuming since I removed the export that linked getter to Pandgetter that I need to rename my browse: function to just browse: getter() since that is what the driver is looking for?

      Like
    • Aaron Ranson 

      Must admit - didn't look at that until now.  What you wrote definitely won't work (in fact, not even sure what will happen).  What is happening is that in this line:

      .addDirectory({ name: 'STATION_DIRECTORY', label: 'Stations' }, controller.browse)

      You are passing the controller.browse variable to addDirectory.  The SDK expects that variable to be in the form of 

      browser: { getter: function(deviceid,params) {}, setter: function(deviceid,params) {} }

      However - your code defines the "browse" variable as a simple function (you called Pandgetter) and then defines it (again) as another function (you called Pandaction).

      Take a look at BrowseController.js in the file browser example - you'll see (near the top) how browse is defined (although they use ES6 syntax - your's would be like what I showed above).

      Like 1
      • Aaron Ranson
      • Consumer
      • Aaron_Ranson
      • 4 yrs ago
      • Reported - view

      Tim Roberts Excellent! This explained it perfectly for me and broke it down nicely. Thank you again. Working great now!

      Like
  • Hi all, I’m rewriting a lot of background code for the list view. Making less complicated and easier to adopt the upcoming player component. Next update will take some time without much of a difference to functionality

    Like 1
    • Niels de Klerk Wow man! I just watched the Your video of v1.3 That's cool!

       

      Eman.

      Like
    • Emmanuel Serebe thanks!

      It still really needs a lot of work, on my driver and on the Neeo SDK, but the foundation is there ;-)

      Like
  • May it would be nice if someone can build a docker image? So everyone can use it with just a few ENV variables? Anyone is familiar with building docker images?

    Like
    • vistalba I’ve done that. Multicast DNS won’t work from inside a docker image. Without discovery functionality (brain discovery and kodi discovery) it wouldn’t make sense.

      Like
      • vistalba
      • vistalba
      • 4 yrs ago
      • Reported - view

      Niels de Klerk There are some ways to get docker work with mDNS. One of them is use "--net=host" so the network adapter from the host is used directly.

      As I know also a possibility is to give a ENV variable to specify the address that is advertised (the outside IP from the host). In this case it should also be possible to discover...? Or I'm wrong?

      Or maybe let the user configure the correct IP also with an ENV variable. Then no mDNS is needed. Right?

      Like
    • vistalba that would work for incoming connections. With the driver it’s all outgoing. Feel free to try though, I’m not a docker genius so it could still work, but I couldn’t get it to. 

      I personally don’t believe changing environment settings or editing files is the way to go.

      the way I see it, a user should only search, then select a driver and click on a install button to use a driver. NEEO is well aware that drivers need to be made more easy to install and use. Different steps are being made to achieve this. I don’t know what they envision to be the endpoint though.

      I may be spoiled by other products in this regard. I still use the “old way” to run my driver as I don’t understand the new way 🤫. 

      Like
  • Niels, have you talkad to NEEO about integrating your driver in to NEEO brain? Or is that even possible?

    Like
  • Niels, great job. This is really cool. 

    How can I get menu (stop, pause movie, change subtitles, video options, etc) when I am watching movie!?   

    Like
    • Ani Sky pressing the ok button should show the lower bar with these options. more or less the same as with a ir Remote. does this help?

      Like
      • Ani Sky
      • Ani_Sky
      • 3 yrs ago
      • Reported - view

      Niels de Klerk 

      Hi, nothing happens when I press central button while watching movie.

      Like
    • Ani Sky I assume you have the listview open? Does the ok button work when you close the listview?

      Like
      • Ani Sky
      • Ani_Sky
      • 3 yrs ago
      • Reported - view

      Niels de Klerk Thanks for help. I am watching movie in fullscreen and when I press central button nothing happens. In log I can see button press event. So there is problem with Kodi?

      Like
      • Ani Sky
      • Ani_Sky
      • 3 yrs ago
      • Reported - view

      Ani Sky Can you add in future releases menu button anyway.

      Like
    • Ani Sky the menu button should show the contextual menu when selecting an item, a movie for instance. Could you verify the driver version for me? It’s found in the package.json file.

      i can’t image it’s kodi nor can I imagine it’s my driver so it could be both lol.

      Like
  • Hello,

    I'm trying to install this great add-on on my Synology NAS, but getting this error:

    Error: getaddrinfo ENOTFOUND neeo-xxxxxxxxx.local neeo-xxxxxxxxx.local:3000

    I even tried to manually map this host name via hosts file, still no luck.

    Then I removed node.js 8 as manual says I need v6, installed v6 and now it doesn't even start giving error 

    /volume1/@appstore/Node.js_v6/usr/local/lib/node_modules/@neeo/cli/lib/sdkoptions.js:22

      );

      ^

     

    SyntaxError: Unexpected token )

    Like
    • Victor the reason you get the error is because the SDK can’t use mdns to resolve the hostname. I have no clue how to fix that specifically but the workaround is to edit the included debug file and set your brain up there. Then launch the debug file with “node filename.js”

      Like
      • Victor
      • Victor.1
      • 3 yrs ago
      • Reported - view

      Niels de Klerk thanks for answer, I was actually trying to install this: https://github.com/alxbauer/neeo-driver-kodi

      But suddenly I realised that it's not your repo.

      Now I can run it (although I had to install git as well).

      The only problem I have now is I can't detect Kodi, as Android has no Zeroconf, could you please point me to the config file to setup IP manually? Thanks a lot.

      Like
    • Victor Hi Victor, Kodi removed zeroconf from android 17.6 It's available in earlier or later releases. I would suggest using Kodi 18.

      The android APK can be found:

      32Bit: 
      http://mirrors.kodi.tv/snapshots/android/arm/kodi-18.0-Leia_alpha3-armeabi-v7a.apk

      64Bit:
      http://mirrors.kodi.tv/snapshots/android/arm64-v8a/kodi-18.0-Leia_alpha3-arm64-v8a.apk

      Like
      • Victor
      • Victor.1
      • 3 yrs ago
      • Reported - view

      Niels de Klerk Is this the only way? Is it stable? I usually avoid using alpha and beta versions. May I ask if you personally use it?

      Like
    • Victor 

       Please don't tell anyone about the following trick :-)

      edit kodi-controller.js

      after the line "console.log("Discovery: Start");"

      add:

      addKoditoDB({addresses:["192.168.1.2"], port:"9090", fullname:"MyKodiName._xbmc-jsonrpc-h._tcp.local"});
      1. change 192.168.1.2 to your kodi IP
      2. change MyKodiName to a name that would identify your kodi.

      You can add this line for every kodi instance you have.

      I know of one user that had it working like this. I don't like to support fixed IP solutions and thus all my drivers work based on discovery, but then I also know that Kodi is ignorant for just removing zeroconf and just happily say just enter an IP address. zeroconf works perfect on 18 but an alpha certainly will have bugs, I am not hitting any bugs personally but this will most likely differ per user.

      Like
      • Victor
      • Victor.1
      • 3 yrs ago
      • Reported - view

      Niels de Klerk thanks a lot, I'll keep it secret for sure, you can rely on me :)

      It's now working great, except the images. I don't have any images, can you give me a hint how to debug this problem please?
      And as a feature request - could you please consider adding "Movies in progress" option? :) It's handy if you had to interrupt watching and continue later.
      By the way, the TV shows doesn't work too for me, only the Latest series option.

      P.S. Is it expected hard buttons to be ignored during the playback? I can see them logged, but they do nothing.

      Thanks a lot for your hard work, I really like your driver!!!
      Button pressed: 00:00:00:00:00:00 CURSOR LEFT

      Button pressed: 00:00:00:00:00:00 CURSOR UP

      Button pressed: 00:00:00:00:00:00 CURSOR RIGHT

      Button pressed: 00:00:00:00:00:00 CURSOR RIGHT

      Button pressed: 00:00:00:00:00:00 CURSOR ENTER

      Button pressed: 00:00:00:00:00:00 CURSOR ENTER

      Button pressed: 00:00:00:00:00:00 CURSOR UP

      Button pressed: 00:00:00:00:00:00 CURSOR LEFT

      Button pressed: 00:00:00:00:00:00 CURSOR LEFT

      Like
  • Victor said:
    It's now working great, except the images. I don't have any images, can you give me a hint how to debug this problem please?

     Images are loaded from the kodi web interface. Please make sure that it is enabled and has no password set or is set to user/pass kodi/kodi.

    Like
      • Victor
      • Victor.1
      • 3 yrs ago
      • 1
      • Reported - view

      Niels de Klerk I have Chorus2 web interface running on port 8080, login kodi with no password. I can see images if I open it from the browser.

      Like 1
      • Victor
      • Victor.1
      • 3 yrs ago
      • Reported - view

      Victor Ok it was the port. I had 9090 hardcoded as per your instructions, but in fact my port was 8080. Did the debug output in tools.imageToHttp and found the problem.

      Like
    • Victor port 9090 is the kodi PRC port. it can't be changed in the GUI, Only in the advancedsetting.xml. 99% of all users keep it that way.

      I'm using the 9090 because it reports back to my driver. so when you play media it will report on that. also other events send reports to the driver. Most drivers use the web interface and poll for differences but i believe thats not the way to go as it spills a lot of recources.

      Like
  • Victor said:
    P.S. Is it expected hard buttons to be ignored during the playback? I can see them logged, but they do nothing.

     No that’s not expected. The driver should request what UI element is active and act based on that. With an iR driver this is handled by kodi. I have defined some screens and commands. These might not be all. 

    Ok button should open the lower menu.

    Like
      • Victor
      • Victor.1
      • 3 yrs ago
      • Reported - view

      Niels de Klerk Hi! Hope you had a great weekend.

      I found the problem, I have Kodi interface in Russian, therefore, you can't check window labels for english names in this case, so this:

      if ((window.currentwindow.label == "Fullscreen video")

      is always false, as my label will be in Russian language.

      What I did was replacing it with if (window.fullscreen) { 
      (I checked with main menu with no playback, fullscreen is false in this case) and it's almost working now, the only problem is a confusion between the usage of a back button, if I have movies menu open the back button will return me to the main screen first, and only when act as a back button for Kodi interface, that's confusing for me.

      Like
    • Victor Wow thanks! Great find!!!!!

      Ufortunatly this is a huge setback for me and i hope i can find a more definitive solution, as this should have been the way to go with content aware controlls. I really hope i can find a more consistant way of detecting the active UI elements.

      Like
      • Ani Sky
      • Ani_Sky
      • 3 yrs ago
      • Reported - view

      Niels de Klerk This is same problem as I described you few days ago. 

      Victor Thanks, I will try to change as you described to fix

      Like
      • Victor
      • Victor.1
      • 3 yrs ago
      • Reported - view

      Ani Sky Welcome. By the way there is a another problem, if you press OK you'll get a top menu, so you are supposed to use left and right to navigate between it, but it will seek +- 10 mins also at the same time. 

      Like
    • Ani Sky I'm eager to know if it works. Makes sense.

      Like
    • Victor thats probably also because of thes UI issue. as when the player is acrive the left and right buttons represend seek (like with an IR remote) when a menu is shown it should send different commands. Weird thing is that i used the proposed method by kodi. :-(

      Like
      • Ani Sky
      • Ani_Sky
      • 3 yrs ago
      • 1
      • Reported - view

      Niels de Klerk Victor You can't use if (window.currentwindow), instead: if (window.currentwindow.id == 12005) Than it does't rely on language, and it's working for me without any additional problems. I am not familiar with kodi sdk but I think that id is always same. Can you check this statement.

      Like 1
    • Ani Sky thanks!!! Much appreciated. I’ll look into it.

      Like
  • Niels de Klerk is there a way to use continue playback instead of play from start when you choose a movie? 

    Like
  • Hi All,

    I've just published version 1.3.8. Please note you need to remove your currend driver in NEEO and re add it. Might happen again in the future but i try to keep it to a minimum. The driver is still early beta and a lot has changed so while there are many fixes expect many new bugs ;-)

     

    The OP is also updated.

    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.)
    Like
  • This version also includes the SDK Player component (like sonos) that comes with NEEO firmware 0.51.13. It's currently not really suited for KODI. Feel free to play with it using "Debug_NEEO_DRIVER-KODI-PLAYER.js" but please DO NOT request help, features or report bugs on the player driver yet. My focus is on the normal KODI IP driver and i'll switch to the player version when the limitations are lifted and or resolved.

    Like
  • Hi Niels de Klerk , Can you please also make the driver Home Automation friendly and add the option to use the Forward Action commands like say, Play, Pause .......e.tc. Or if it already does how do I go on about it (commands)? I had this : https://github.com/owagner/kodi2mqtt before but the author doesn't support it anymore (sad😞)

    My automation server has this plugin : http://big5.ivanv.com/2.html 

    Am hoping to be able to have the same effect. I hope am not asking to much (arm and leg 😏) 

    Note : the server software and the plugin can be downloaded for tests for 30 days (Windows and Linux)

    Thank you man.

     

    Eman.

    Like
  • Hello Niels de Klerk , don't bother with the above question above. I managed to use Node-RED and back to my automation server. I can now use the data received and do anything with it. It's great the NEEO team added this function (Forward Actions) 😋 I can now power down the whole house with the Power Button!👍

    Eman.

    Like 1
  • Niels de Klerk very nice Work, thx for this.

    I´m running this on my NAS with pm2 and it works very well.

    Like 1
    • Benjamin Wolonkiewicz ill try to install it on my nas also but i have some problems. Which tools do i need more then node.js?

      Like
    • John van Dijk 

      to run all over my NAS it was necessary to install the marked packages in the picture. 

       

      FYI: I'm running it on my OMV 4 NAS. 

      Like
  • Great work Niels de Klerk , thank you! I have a question about the PVR library. The commands work as I see a response from the driver on the command line like "...PVR.BROWSING". It's just that I don't see any TV channels on the remote, the directory is empty and I get a "Try again". I am using a tvheadend server on a Synology NAS and the Kodi Tvheadend client to watch IPTV (m3u-playlist on the server). I guess it has something to do with TVH since eg. browsing the movie library works fine. Take care. 

    Like
  • Hello,
    Do you know when Kodi will appear natively on the device list?
    I bought this remote mainly for Kodi, but I do not have a second to try to understand how to test this beta. I am more in the mechanic than in the info ...
    : D

    Thank you.

    Like
    • David T

      I personally think, that the Driver (as it is now) is very good and stable, but running it on the Brain needs some extra tweaks and also the driver is still missing some features when it comes to the current Kodi release (auto discovery doesn't work as it is not avail in the current V17 Kodi), therefor this will take a while.

      In the Meantime, i like to inform you about this Topic (written by myself):

      https://planet.neeo.com/t/18kj94

      It explains what is neccessary to bring SDK Drivers to life on an rasperryPi. Don't know if you have such a device or if you are willed to give it a try and buy one (doesn't need to be the newest one!)

      If you have any questions runnign the Driver, please feel free to reply in the linked topic and ask them. If you like to have feedback from myself or help, just type an @ followed by my name, maybe i can help you out if you come to an point you don't know what to do.

      Like
      • David T
      • David_T
      • 3 yrs ago
      • Reported - view

      Markus Mahr 

       

      thank you very much, I take note, I will see it more ready during my next vacation, in 3 months. However, I hope that by then, a first version will be available automatically in the list of devices. Do you have an estimated date?

      Like
  • Thank you for this driver! I have a vero 4k and it should be supported natively but this kodi driver is much better. The only problem I have is that I do not know how to run it in the background. It is installed on ubuntu and I now go to the directory with SSH and do "npm start". Then the driver runs. However if I close the SSH window the driver stops ofcourse. I tried to google how to keep running "npm start" in the background but I cannot find it. Does anybody with linux experience know how to do that? 

    Like
    • Tom den Heijer 

      If you are using Ubuntu ====> use rc.local. If you click on someone's name (mine) you see all their posts. I posted how to do that. It's the same as the raspberry PI.

       

      OR : 

      The tool you need : https://mobaxterm.mobatek.net/

       

      Then

      1. If you drill down into the user pi folder  /home/pi .............there will find a folder => node_modules

      2. Now in the terminal type = cd /home/pi/node_modules and the press enter

      3. type => git clone https://github.com/nklerk/neeo_driver-kodi.git

      4. type => cd /home/pi/node_modules/neeo_driver-kodi    then enter

      5. type => npm install

      When the installation is finished,  On the left side of MobaXterm look for the Debug_NEEO_DRIVER-KODI.js  file inside the neeo_driver-kodi right click and edit with the built in text editor. change the IP address and port to that of your BRAIN, save and close

      6. Back to terminal and type :

       sudo nano /etc/rc.local    (careful not to damage this file)

      Use the arrow keys on your keyboard to insert the script after creating a space before  fi  by pressing  the Enter key

      The script :      su pi -c 'node /home/pi/node_modules/neeo_driver-kodi/Debug_NEEO_DRIVER-KODI.js  < /dev/null &'

      Then on you keyboard  ctlr + X   then Y then Enter

      7. Sudo reboot

       

      8. The driver should be now running

       

      For PM2 https://pm2.io/doc/en/runtime/quick-start/?utm_source=pm2&utm_medium=website&utm_campaign=rebranding

      Once installed, where they state pm2.star app ====> point to where the Debug_NEEO_DRIVER-KODI.js      resides.

       

      Eman.

      Like 2
Like23 Follow