github / NPM repositorys from every User developing with the SDK

Because NEEO offers a SDK for the Public development of Drivers to be Supported with itself. And not everybody whant to search the Web for a NEEO Supported Driver by themselves. I would like to start a listing of every SDK driver available.
Visit the following link to find a Overview of the current Available (and discovered Drivers). Please feel Free to enter new discovered ones or selfmade Drivers.

As new entries will follow i will edit this Post and add the new Devices. If possible make a short reply and Mention me about a new Device.
All Bugs and Errors should be discussed in an other Topic or (the better way) directly over at the GitHub Page.

You can find the SDK on GitHub over here: or go to the Examples over here: The SDK Documentation is available under the following link:

Also Helpfull Links to get started with the Drivers are the following Topics from Niels de Klerk :

Node.js Starter Guide:

API Examples:



To Run multiple Drivers it is required to Change the Port of each individual Driver used. This must be fixed from NEEO in the Main SDK Code. They are allready working on a better solution!

For a quick overview of the actual availability of developed Drivers here is a short list:


Lurton Electronics Cassata Wireless Devices
Enigma2 Receivers
Blustream HDBASET Matrix
Athom Homey
TP-Link Smart WiFi Plugs (HS100 & HS110)
LIFX Smart Bulbs
Onkyo AVRs
Sony Bravia TVs
Logitech Squeezebox
openHAB Binding and Transport
Denon AVR
Belkin WeMo Switch



To Keep this Topic clean and only add Drivers, please Open a Topic for the Discussion of one of the Drivers!

If you like to Setup such a driver and have no clue how to do it, maybe this guide help you:

If you have questions about the usage of drivers, just reply in the other Topic, please not within here!

75replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • Thank you so much Markus Mahr !

  • I see Onkyo AVRs on the list here.  Does this mean in order to use the NEEO with my Onkyo receiver I need to drop these drivers in somewhere?  The use for my NEEO is in my home theater and it's powered by a 9.2 channel Onkyo AVR.  I want to make sure I know exactly what I need to do when I get this thing out of the box to work in the theater.

    • Carl Vannest The first used Commends with NEEO are allways IR-Signals. Only if you want to not take usage of the IR-Signal you were able to implement such Drivers with the Use OF a Raspberry Pi and Install such a SDK Driver to Use the TCP/IP control for your AVR or any other written or selfwritten Driver.

      NEEO should Support your AVR also without the loading of such a Driver, but then uses the IR Function to controll it.

    • Carl Vannest As Markus said, the SDK drivers are very much optional extras.

      Most devices are supported out of the box with IR drivers and you will have your Neeo setup very quickly to control your devices.

      If you want to get network control of your devices then at the moment you will have to delve into the the SDK and run a raspberry pi or similar.

      in time, some of these drivers will be migrated into the core Neeo code and will run on the brain.


      hope that makes sense.

  • I've added my three drivers, I have split them into seperate drivers for each device.


    Denon AVR - TCP Control

    Belkin WeMo Swtich - TCP Control

    Sky Q STB - TCP Control

    Like 2
    • Bruce Hartley, thanks for making this driver available. Would this be compatible with Marantz AVRs such as the NR-1604? Denon and Marantz seem to be using a similar TCP command set. 


    • Markus Marbach I don't know. 

      I guess you could try it. 

      Maybe tweak it I requires ?

    • Awesome mate, will give it a go whenever my combo arrives and wife approves my man cave hours. :)

    • Markus Marbach Bruce Hartley they useing nearly the same Code, but there are also some Differences. IF i find some Time in the next couple of days i can build a Marantz Driver to Support both the Old and the new Marantz line. If i don't find the Time, maybe somebody is faster then i am.

      Like 1
    • Markus Mahr Bruce Hartley has anyone if you had time to look into the Marantz AVR IP driver? I've received my combo this week and will be spending some time to set up a nodejs server on my Synology NAS. Hopefully I get the time approved by my wife so I can have a go at this. I might get a copy of Bruce's Denon AVR driver as a starting point. Any thoughts or gotchas I need to be aware of?

    • Markus Marbach I have shortly looking into it, but doesn't do any coding in this direction.

  • It looks like the Lutron Caseta driver in the file could be easily ported over to work with RA2 or potentially Homeworks

    Like 2
  • RA 1 and RA 2 are very different.  The RA 1 compatibility is going to be IR based.  But RA 2 and Homeworks respond to telnet commands in pretty much the same manner as Caseta.  Once I get my Neeo, I'll play around with your SDK.

    Like 3
  • FYI - added my WOL and Global Cache/ITACH/SimpleBlaster ones

    Like 1
  • Has anyone come across documentation for LG OLED TV's IP control commands? I know it's doable but I can't find any documentation on it. The manual for my TV, OLED65C7P, lists the RS232 protocol but not IP commands.

    Like 1
  • Humayun


    While not your specific TV, but mine ;) I think the commands are going to be pretty much the same,

    The 19MB manual starting on page 33 of the pdf!

    Like 2
    • Nick H Thanks Nick! I'm going to try and build a driver for the LG OLED TVs. Will post back if I have success. 

    • Humayun Hasan you might want to have a look at this node module:

    • Tom Schneider thanks! This will help get me started. Looks like I may not have to develop the communication functions. Just need to define the buttons and commands to map to this package. 

    • Nick H BTW, I was able to connnect to my C7 TV and have it respond to commands as documented in the E6 manual. I also looked at the E7 manual and the IP commands don't seem to have changed. But this was all done from telnet. Still have to create the NEEO driver. 

      Like 1
  • Humayun Hasan cool. Let me know.  I'd check it out too (I know the new series doesn't have the 3D) but mine does so if you include that it'd be cool

    • Nick H It shouldn't be a problem to include all known commands once I get comfortable with the NEEO SDK and getting the drivers to run. It looks like there are two ways to communicate with the the LG OLEDS. One is with using the LG Web OS API and the other is using telnet commands that are documented in the TV manuals. I don't know if there are advantages for using one approach over the other. I will start a separate thread for LG OLED IP Control and document progress there though it may be slow in the beginning.

  • Any tips for how to run the drivers as a background process on the Raspberry Pi using systemd? I got the Lutron Caseta driver working but only by launching it from the command line. I tried to replicate how the homebridge project is configured but I'm afraid I'm hitting my limits here. 

    What I'm looking for is the executable command and path to put in a .service file for systemd to use. 'npm start' works from command prompt but not when I use it in the .service file. 

    I've installed npm and neeo_sdk packages globally. 

    • Humayun Hasan this here should help you find the right code:

      Like 1
      • Patrick@NEEO
      • Community Manager
      • Patrick
      • 3 yrs ago
      • 1
      • Reported - view

      Humayun Hasan I can not give you a definitive guide since I have my notes on my desktop at home about 9000km away, but I did that by adding a new service. I hope I can recall enough to give you some hints to get that going. 

      So let's say the service is called example, first you need to create that service file:

      sudo nano /etc/init.d/example

      I then copied the contents from here. You need to edit the first lines, especially the variables, dir, cmd, user. Should look something like this:

      # Provides: EXAMPLE
      # Required-Start:    $remote_fs $syslog
      # Required-Stop:     $remote_fs $syslog
      # Default-Start:     2 3 4 5
      # Default-Stop:      0 1 6
      # Short-Description: Start daemon at boot time
      # Description:       Enable service provided by daemon.
      ### END INIT INFO
      cmd="node app.js"

      Save that, and then change the rights so you can execute it:

      sudo chmod 755 /etc/init.d/example

      You can then activate the service with that command:

      sudo update-rc.d example defaults


      You should now be able to start and stop the service with these commands:

      sudo service example start
      sudo service example stop
      sudo service example restart


      EDIT: I guess the guide  Markus Mahr posted would work fine too.

      Like 1
    • Markus Mahr Patrick  Thanks for the helpful tips! I'm actually using systemd on my Raspberry Pi instead of init.d but the information you provided pointed me in the right direction. I was able to get the Lutron driver running as a background process (executable command is 'node index.js' with absolute paths defined for both the node binary and the driver index.js) but the driver itself has an issue connecting to the Lutron hub as a system daemon.  I'll check with the driver's author. One step forward!

      Like 1
    • Humayun Hasan Try , we use it all the time at work to start node projects.

      Like 2
  • Markus Mahr  Would the TP-Link drivers listed above work for the HS105?

    • Laura Horak should work, since it is using the same software. but i don't have one to test it.

      Like 1
    • Markus Mahr Awesome, thanks! Is there a how to set up the SDK for dummies guide anywhere? I'm still a n00b but would love to learn :)

    • Laura Horak actually i don't see a guide available for setting Up everything. Also i personnally don't have the Time to write one. But if you want to test it first, this Topic should help.

      If you whant to Setup a RasperriPi you should ggogle for Install node.js 6 on rasperry and then follow the Guide from the Topic to install the SDK on the Raspberry. This should help. Also you can google how to Install nmp packages and use the installation handle for the TP-Link nmp package. Then you only need to insert the IP Adress of one of your devices to test it. If it runs, you need to code a few (copy and paste) line to get every 5 working!

      Like 1
  • Added my driver to control Octava HDMI switches using RS232

    Like 1
  • Is anyone setup to create drivers for other users? I would be willing to pay for an IP based Tivo driver as well as a ip driver for my WebOS LG TV. Both devices already have NPM packages, I just don't have the time or skills to do this myself.

    Like 1
  • I may take a look at the tivo driver when I get back from vacation. 

  • Neato Botvac Connected

    Just in case somebody with actual coding/node.js skills wants to continue: I have some basic code to control a Neato Botvac Connected (start/stop for now):

    Existing node.js Botvac Connected module:

    Short video of my basic code test:

    Like 1
  • If someone is interessted howTo run such drivers, i write a short guide to do it with an RaspberryPi, it can be found here:

  • Hi all,

    I have just started a GitHub repo to develop the integration with Xiaomi Smart Home Gateway. It uses zigbee to connect to devices but there is also a LAN interface that my Home Assistant is using to integrate with...

    I have added it to the spreadsheet, give me a shout if anyone else is interested in helping out develop or test...



    Like 2
  • Xiaomi is already integrated in openhab and there's already a transport and binding for NEEO to connect to Openhab.  Maybe easier than developing yourself?

    • Frederik Vancoillie only if he want to use open hub. If he wants the full xiaomi interface for NEEO, he can check the open hub implementation, but must put some work in it. Or did I miss understood something?

      Like 1
  • Markus Mahr Openhab already has a binding for Xiaomi which controls all of it's functions. Also there is a transport (binding but with complete 2 way control) which lets you control all the openhab bindings from a NEEO remote. If a binding is already witten for Openhab you can map it to the Neo, completely by UI. Have a look here.

    • Frederik Vancoillie yeah, I know about that, but if you don't want open hab, then you need to write own SDK driver for direct communication.

      Like 1
  • Markus Mahr True, also, maybe it's better to have drivers once it all gets integrated in the brain.  For me personally I already use Openhab for other stuff so it makes sense to use the bindings in NEEO.

    • Frederik Vancoillie Yes, then of course it makes sense. But if you don't use the Openhub Software it is a little bit heavy to just control your Xiaomi lamps, right?

      Like 1
    • Markus Mahr I run it on a raspberry pi 2 and 3, the 3 also runs openmediavault.  Load is under 25 % on the 2 and 35 % on the 3.  Still, it taxes the system more than it would only running NEEO SDK.  I really like Openhab though and the NEEO transport is working quite well for me.  I like how flexible this remote is and will become even more in the future.

    • Frederik Vancoillie Markus Mahr Jonas Olofsson

      Just to add to the discussion.  The CPU usage really depends on how many things you have defined in openHAB (and mapped to NEEO) and how noisy those things are (ie how often they update state).  The latest version has reduced the transport CPU usage by quite a bit, has support for the newest firmware changes (power state, timings) and is much more stable (survives IP address changes, power outages, etc) - soon it will support older OH1 bindings and virtual things/items.  The development has been ongoing and the community support has been very active/awesome (even got one of the OH admins to purchase a NEEO based on how well it controls openHAB).

      Like 1
  • Markus Mahr I've started writing a LIRC driver, feel free to add it to the driver list. It's still proof of concept though...


    Like 1
    • Markus Zehnder You can add the Driver Yourself. No need that i do it. ;-)

  • Markus Mahr I'm working on a Home Assistant ( ) driver. It has basic functionality at the moment and it would be good to get some feedback from anyone who tries it out in the thread linked below.

    I'd also welcome feedback from other developers working with the SDK as my Node js is rusty and some of the issues listed on the github readme might be easily fixed by something I've overlooked.



    Planet NEEO Topic:


    (Also I've also added it to the list of drivers.)

    Like 2
  • I added one, for the NVIDIA Shield TV (2017 version, with no IR), without IR... via adb ! (shared with the freebox, but easy to separate, will create two repos when I have some spare time)

    Like 1
    • Morgan Fromentin 

      really nice. i made yesterday a similar remote for firetv also by adb. Didn´t see your driver at this time. You can add decription for all android devices wich support network adb mode

      • Aaron Ranson
      • Consumer
      • Aaron_Ranson
      • 2 yrs ago
      • Reported - view

      Morgan Fromentin  Björn Müsing  hi, I had a question for you. coding is only a hobby of mine so my knowledge is minimal. In your shieldcontroller, your code:

      if (-1 !== stdout.indexOf(config.shield.ip)) {
                      exec('sudo adb shell '+config.shield.mapping[actionName], (err, stdout, stderr) => {
                          if (err) {


      I understand how this works... I think... If no "ip" is connected to the adb it would return an index of -1. My question is would there have been a way to check if the stdout string == my ip constant (declared earlier in the code)? This was the direction I was taking and was running into errors. I eventually stumbled across your code which solved this issue, but was wondering if there was a solution with the direction I was headed.

      Sorry if I am not very clear....

    • Morgan Fromentin 

      Thank you for the great driver. I notice a small delay when pressing a button.

      Is it possible add 2 different Shields?

    • Aaron Ranson The thing is that the "sudo adb devices" command actually returns more than just the ip of the connected devices. So, to be sure the IP is effectively in the list, I just test its presence in the list, in the returned string. Clear enough ?

      Like 1
    • Niels Feenstra Sadly yes, there is a delay, that is because I use the "adb" solution to communicate with the shield. This is a debug tool provided from NVIDIA to developers just to test and debug their app, but in our cas, this is the only way to comunicate with the Shield without buying any extra stuff - like a FLICIRC -. Still waiting for the bluetooth support from NEEO.

      And no, for now, it's not possible to add 2 shields, sorry.

      • Aaron Ranson
      • Consumer
      • Aaron_Ranson
      • 2 yrs ago
      • Reported - view

      Morgan Fromentin thanks for the reply. Yeah, I kind of figured that out after playing around with the code a bit. Despite my fire TV being the only listed connected device, I was returning an array index value of 26 or something. I assumed there was more to it than I could see that was being returned. Playing around with it more, I could see it wasn't strictly ip returning. 


      I just stuck with your solution and it works great now.


  • Added another Freebox V6 Player driver for NEEO Remote with advanced features. All remote commands are supported, capabilities: Power, Volume, Special (Menu, Back), Channel Zapper, Color Buttons, Controlpad, Numpad. Support for power status detection (Standby/On) to improve the user experience in recipes. UDP driver in progress.

    GitHub: Freebox V6 Player driver for NEEO Remote


    Have fun :)


  • New: Fibaro HomeCenter Scenes driver for NEEO Remote now available on GitHub and NPM.

    Ability to load only scenes declared as visible in the Home Center (HCLite / HC2). All scenes can be used in all recipes or added as Shortcut in device.

    Supports multiple controllers simultaneously. The application adds the data to a local cache to ensure proper operation even when restarting the brain or NodeJs server.

    GitHub: Fibaro HomeCenter Scenes driver for NEEO Remote



    Like 1
Like21 Follow