v3.0 not discovered by Alexa

Issue #58 new
GeneBean created an issue

If I use v2.3.0 of this repo with Arduino Core 2.3.0 for the ESP8266 my nodeMCU 1.0 (esp-12E) module is discovered by the Alexa app. If I update to the 3.0 version of this repo my device is never found nor is anything other than the wifi connection and free heap shown in the serial console.

In both cases I was using the provided example sketch and only changed my wifi creds and the plug name.

I did try adding #define DEBUG_FAUXMO_VERBOSE true to the 3.0 version of the sketch but it didn't change a thing.

Comments (95)

  1. Daniele Testa

    Same here. Not working with my esp8266 on version 3. I see that the lib switched from emulating WeMo to emulating Philipps Hue? Does that mean that I manually have to enable the Philipps Hue skill for Alexa before this works? If so, that should be mentioned in the documentation, because now it's not. In any case, I am also unable to enable that skill, because when trying to enabling it in the Alexa app, it just forwards me to the Philipps page and wants me to login. After logging in, it searches for some "philipps bridge" which if (of course) can not find and there is no way to skip that step.

  2. Adam Byers

    I'm wondering if the switch to the Hue protocol means that a Hue bridge is required now. That seems to be the only way to add Hue devices to Alexa is via a bridge (excepting v1 Hue devices). Kind of sad that this isn't in the documentation and the move to a method that requires another device in the chain.

  3. Daniele Testa

    Adam, I think the code is emulating a Hue Bridge, but I am not sure. I also think it's weird that they would switch to a completely new protocol all of sudden without any deeper documentation on what's going on. They should have created a completely new project instead of just updating the version number to 3. They claim that the Hue API is easier to use as the API is openly documented and adds additional features as dimming etc. I ended up just creating a super simple REST API together with an Alexa skill. Much better than having this crap break between versions.

  4. Adam Byers

    Hello Daniele, After some head banging last night (some hints in other threads lead me to this) I found that (if you're using the Arduino IDE) if you switch to the 2.3.0 ESP8266 board version it discovered just fine. Showed up a some kind of Hue bulb. The dimming even worked. So, I think the issue is between the latest Fauxmo code and the latest ESP8266 core for Arduino.

  5. Daniele Testa

    Ok, that's cool. I might give it another try. However, this kind of proves my point. If a software can break because of changes in the framework, it's most likely not good code. Not following framework guidelines etc. Having to be afraid that everything will stop working every time the software gets a new version or the frameworks gets an update is not very pleasant. Also, if the newest version of the framework breaks the code, why haven't this been noticed and fixed? Is nobody using this code? Is nobody maintaining it? This bug was reported 2 months ago with no response.

  6. Luca Inox

    Hello Daniele and Others, we are all on the same boat. This is my enviroment: Arduino IDE 1.8.7 - Echo Dot Mini 3rd generation - ESP8266 2.3.0 or 2.4.2 - fauxmoESP 3.02 - ==> device never discovered by Alexa.

  7. Rycoviac

    You have to fall back to ESP8266 2.3 in your boardmanager. Had this problem yesterday. Now it works fine for me with my Echo Dot 2nd generation.

  8. Stefan Grünwald

    One issue I found on trying to get it running is, that enable is by default true but I think it should be false. So you have to call fauxmo.enable(false); and fauxmo.enable(true);

    Now it works again with my Echo Dot. But I'm still not able to detect it using my Echo Spot.

  9. Luca Inox

    Stefan are you using an echo dot 3rd generation? It seems to me that 3rd generation echo devices are not supported (yet).

  10. Daniele Testa

    Luca, wouldn't that be very odd? The code is suppose to emulate a Philipps Hue device, which even has an "open" API. Why would support for Hue break in 3rd generation? If that is true, it's just absurd.

  11. Luca Inox

    Daniele, many people here claim that using framework 2.3.0 the code works with echo dot 2nd generation. I have a 3rd generation device and i was not able to see my wemos D1 mini discovered by Alexa. I only loaded the basic example provided with the library just fixing the minor bug file name "credentials.sample.h".

  12. Andrew D

    Changing from lwIP variant "v2 lower memory" to "v2 higher bandwidth" in the arduino ide allowed my "devices" to be discovered when they were not before. Hope this helps others.

  13. Luca Inox

    Andrew D please can you tell us about your enviroment? ESP8266 Framework version number, Arduino IDE version, echo generation etc. and also where to find that lwIP variant parameter?

  14. Andrew D

    2.5.0-dev, but also tried and succeeded with 2.4.0 framework. Ide 1.8.5.
    echo dots v1 and v2. The LwiP variant parameter is found under "Tools->Lwip Variant" (when an esp8266 board is selected)

  15. Luca Inox

    sorry nothing for me the only difference is echo dot v3 i tried to follow exactly your enviroment.

  16. Stuckey

    I have a Philips Hue Bridge v1.0 talking to three Philips bulbs. Having this bridge device will not help with the ESP8266 emulating Hue. The Hue bridge is a bridge between Ethernet and the Philips bulbs, which speak 2.4-GHz Zigbee, not 802.11, so the ESP2866 will not see the Hue bridge at all, except possibly as a (negligible) source of interference. I do wonder if HAVING a Philips Hue bridge, which has been around here for years and in use with Amazon Echo, precludes finding another thing (ESP8266 emulating Hue) that wants to be Hue. Not worth deconstructing and shutting down the existing Philips infrastructure here to find out; I'll find another way in.

    My current problem: the compiler error message: 'class fauxmoESP; has no member named 'onMessage'

    working on how to get 2.3.0 going.

  17. Carlos Yz

    Stuckey, the function call is different in 2.4.4 and 3.02 examples: 2.4.4 :

     fauxmo.onSetState([](unsigned char device_id, const char * device_name, bool state) 
    

    3.0.2

    fauxmo.onSetState([](unsigned char device_id, const char * device_name, bool state, unsigned char value) 
    

    and onMessage function exists only in version 2.4.4 and below causing the error, in my case

  18. Peter Feerick

    With v2.4.2 of the ESP8266 Arduino Core, I was able to get a ESP8266 'Witty' module working perfectly so far by setting the lwIP option to 'v1.4 Higher Bandwidth'. 'v2 Higher Bandwith' made the difference between the ESP8266 being discoverable by the Echo Dot Gen2, but would make the ESP8266 crash if I issued a voice command which asked for a specific brightness to be set. Simply on and off commands were fine, but soon as I asked for a specific brightness it would crash and the WDT would trigger a reset. 'v1.4 Higher Bandwidth' seems to have resolved that, and it is working great so far. Thanks for pointing that out as a possibility... I thought my new echo dot was going to be about as useful as a hockey puck! :D

  19. Rob Janssen (RobIII)

    Same here. Works fine on an Arduino Uno, Wemos d1 mini doesn't work (not v2.x nor 3.x). Echo dot v2.

  20. Luca Inox

    I tried to replicate your steps but no success. So i want to enumerate here what i did to find if i misunderstood your post. My enviroment is Echo Dot gen 3, Arduino IDE 1.8.7, ESP8266 library 2.4.2, FauxmoESP 3.0.2, board selection: Wemos D1 mini ( v2 lower memory). First i edited the src file templates.h in FAUXMO_DESCRIPTION_TEMPLATE i deleted this block "<iconList>" "<icon>" "<mimetype>image/png</mimetype>" "<height>48</height>" "<width>48</width>" "<depth>24</depth>" "<url>hue_logo_0.png</url>" "</icon>" "<icon>" "<mimetype>image/png</mimetype>" "<height>120</height>" "<width>120</width>" "<depth>24</depth>" "<url>hue_logo_3.png</url>" "</icon>" "</iconList>" i replaced FAUXMO_DEVICE_JSON_TEMPLATE[] with the block you published.

    Then i edited fauxmoESP.cpp

    char match[] = {"POST /api"}; char match[] = {"GET /api"};

    Then i edited the fauxmoESP_Basic.ino #include "credentials.sample.h" fauxmo.enable(true); (i deleted fauxmo.enable(false); and again fauxmo.enable(true);)

    i left fauxmo.addDevice("light 1"); and deleted fauxmo.addDevice("light 2");

    Compiled everything successfully. Asked "Alexa find devices"..Alexa replays "ok...it will last 20 seconds, activate home automation skill...) then Alexa "No device found". What i did wrong???

  21. Stuckey

    If you have a Philips Hue Bridge on your network, Alexa will not discover your fauxmo devices. The solution is simple: 1) Disconnect power from your Philips Hue Bridge; 2) Tell Alexa to discover devices (fauxmo will be found, with the name you have given it; 3) Plug in your Philips Hue bridge. Now, Alexa will recognize your new device AND your Philips Hue lights will work normally; 4) If you decide to change the name of your fauxmo, you don't need to go though this again. Just tell Alexa to discover, she'll say no new devices, and in a minute or two, your new device name will be recognized. I'm using kakopappa's irdevkit.ino version found at https://gist.github.com/kakopappa/02299a8ceec0aaaad3ea3bd7f2af8066

    Works well. I can get four button-push commands out of it to a single device using the four binary states of 1) Command on while state is off; 2) Command off while state is on; 3) Command on while state is on; and 4) Command off while state is off. Right now, I'm using only three of these for a Somfy 3-button handheld remote.

  22. Arpad

    I apologize. I saved my post for the wrong issue. I'm going to copy it to #66, where it belongs. I'll also delete them from here, so Luca Inox's notes are also related to the other issue.

  23. Arpad

    There is a separate issue about the 3rd gen echo dot. (#66) Stuckey, you always link projects, that emulate Belkin. This backdoor is closed in the 3rd generation echo dot (And maybe in some 2nd gen firmware). The discovery is working perfectly, the Alexa even able to turn the light on, but after that it connects to the Belkin WEB API, and tries to get a confirmation about the device status (not from the device itself). As the result, Alexa will complain, and won't be able to control the light. (It means, you won't be able to turn the light off anymore.) You can see the connection to Belkin, and the actual message when you use the Alexa app. So please, don't offer different Belkin emulators to 3rd gen owners. For us, the last chance before writing (or using) Alexa skills is the Hue emulation. And this is what the fauxmo 3.0 was designed for.

  24. miscmail23

    Hi Stuckey, it works ok in Wemos D1, but Alexa 3rd gen still not be able to discover it. Thanks anyway..

  25. Felix Hauser

    Well, I'm kind of stuck as well. I've downgraded the ESP8266 library to the 2.3 version, but then I cannot upload the sketch to my NodeMCU 0.9 module. The error by upload is:

    espcomm_upload_mem failed

    with the latest ESP8266 library, I could upload to the board without problem and the sketch was running, but no device detected.

    Any hints?

    UPDATE: I've just tried on a D1 Mini and it works like a charm.

  26. Logiciels Andro

    Thank's to Stuckey and miscmail 23, the sketch works very well with DOT v3 and v2 with a single device. Do you think it's possible to manage more than one ?

  27. Peter Feerick

    When you have problems like that @FelixHauser , check / try lowering the serial baud rate - it might be too high - 115200 is pretty much guaranteed to always work... but the higher 912600 baud can fail with some hardware.

  28. Stuckey

    And you can improve the odds of successful operation by switching clock speed from 80 to 160 MHz in the IDE Tools/CPU Frequency

    SMc

  29. Xose Pérez repo owner

    The latest version in dev branch works with gen1 and gen3 devices. Can you guys test it?

  30. Adam Byers

    Arduino IDE v1.8.8 with ESP8266 library v2.4.2 and Faxmo v3.1.0 seems to be working fien with 2nd gen devices. No discovery issues like I reported before.

  31. Franck Bouquin

    Thanks to Andrew D, by compiling with lwIP variant "v2 lower memory" to "v2 higher bandwidth" Alexa detects correctly my devices.

    With "v2 lower memory" it was working with only one addDevice call.

    I investigated a little with Resllet (https://restlet.com/modules/client/?utm_source=DHC) And by sending GET request to http://MY_ESP32_IP/api/lights I can see in the FauxmoESP logs that the response is well prepared but never arrives on my computer. I don't have enough time to really understand the cause. But thanks to Andrew D, it works now fine with my Echo Spot

  32. Peter Wenzel

    Hi All,

    I have tried everything but cannot get Alexa to discover my device using the basic example code and ONLY changing the credentials file. Here's what I'm using

    ESP8266 v2.4.2, v2 higher bandwidth, Faxmo v3.1.0, Alexa Gen 3 Device

    Can anyone help? I've spent far too long banging my head on the table on this...

  33. Peter Wenzel

    Daniele - looks like this code was uploaded 24 hours ago; just tried and ran into an error on compile.

    I think others have gotten FauxmoESP on Alexa Gen 3 so fingers crossed with a little trouble shooting I can as well (and perhaps help others avoid future problems!).

  34. Peter Feerick

    @wenzelpi I'm using a 2nd generation Echo Dot, but I found setting lwIP to v1.4 Higher Bandwidth to be the most reliable. When I set it to v2 Higher Bandwith the Wemos stopped crashing on discovery, but would then crash when I tried to use set brightness commands.

    For a 3rd Gen device, are you using the set port syntax that was added specifically for 3rd gen? (copied from the fauxmoESP_Basic example)

    fauxmo.setPort(80); // This is required for gen3 devices
    
  35. Peter Wenzel

    @pfeerick , thanks for the note. Yep, I have the post syntax added in setting the port to 80 as you indicated. I am running the basic example and ONLY changing the credentials file, all else is staying as is.

    Pete

  36. Peter Wenzel

    update: because they are cheap and easy to return (and I'm determined to get this working) I bought a 2nd Gen Echo Dot, unplugged all my Gen 3 Echo Dots, and reran. No luck :(. Here's what the serial monitor shows....

    16:58:43.764 -> [WIFI] Connecting to --------- .............. 16:58:45.146 -> [WIFI] STATION Mode, SSID: -------, IP address: 192.168.1.147 16:58:50.160 -> [MAIN] Free heap: 46648 bytes [this repeats on forever]

    To reconfirm my setup: ESP8266 v2.4.2, v1.4 higher bandwidth, Faxmo v3.1.0, Alexa Gen 3 Device and / or Gen 2 Device (they are connected to the 2.4Ghz band on my network), Arduino IDE 1.8.8, NodeMCU ESP-12E

    Suggestions for how to troubleshoot? Thanks in advance!

  37. Peter Feerick

    Well, damn. ESP8266 v2.4.2, lwIP v1.4 Higher Bandwidth, Arduino 1.8.7, Fauxmo v3.1.0, and either a Digistump Oak (ESP12F) or Wemos ESP8266 works just fine with my gen2 Echo Dot(s) (I bought two a few weeks ago as they were on sale). Also on 2.4Ghz WiFi. And the Dots run through discovery and find the boards just fine. You could try the ESP8266 Arduino 2.5.0 betas, as they worked for me also, or perhaps try uncommenting the DEBUG_FAUXMO define on line 37 of the header file, and see what extra info that gives you? Maybe something weird is going on with your router? https://bitbucket.org/xoseperez/fauxmoesp/src/f60c46d80f9b8a400319ab8af9af2957eeb276aa/src/fauxmoESP.h#lines-37 .

  38. Peter Wenzel

    Damn is right. Extremely frustrating. Update - I bought another router online just for the hell of it (free returns on Amazon)....set everything up, tried to discover devices and....IT WORKED! Thanks Peter F for the idea. I then hard reset my current router but for some reason it still won't discover devices. I have the Linksys EA6350. Any idea what default settings on a router might block Alex from discovering devices?

  39. Stuckey

    That router, as I recall, has remote management only via a Linksys portal/server. It also has an attached-device cache that must be cleared periodically if you have many users passing through.

    A GREAT router is the ASUS RT-AC86U. Strong RF performance, good monitoring tools. Always connects to my ESP devices and STAYS connected. Previous router would spontaneously disconnect my ESPs and I would have to reboot them every few days.

    Another tidbit: if you have a Philips Hue hub, shut it down temporarily while discovering your ESPs. Power Philips back up once your ESPs are discovered and everybody will he working fine, no conflicts.

    Also, you can change the name of your ESP anytime without rediscovering. Alexa will figure it out.

    I built a 3-button version that presses any of 3 buttons on a Somfy Glydea motorized drapery controller, is posted to github under Somfy something. Interestingly, Alexa is fine with my saying any of: “close the drapes” “open the drapes” “turn on the drapes” “turn off the drapes,” but change drapes to draperies or curtains or garage or garage door and the only commands that work are off and on. Say, “ Alexa, open the draperies,” and Miss Smartypants says, “Draperies doesn’t support that.”

    They call her AI. I call her AS, artificial stupidity. 😉

    Stuckey

  40. Peter Wenzel

    thanks Stuckey, very helpful. And yes, completely agree, I've only been mildly impressed with Alex.

    I will check that router out! I suppose then there's really no way to use my current router then :(...

  41. Peter Feerick

    Glad that's working for you. Only thing I could suggest is see if there is anything about enabling UPnP support, and perhaps somehow whitelisting ports 80, 1900, 1901 for the internal network if it has an overly excitable firewall. And enabling anything related to UDP also. I've also heard great things about the ASUS, so if that helps ;) lol... artificially stupid... I'll remember that one for future!

  42. Andy Droid

    I'm using. fauxmoESP version 3.1.0 Wemo D1 mini Arduino IDE version 1.8.8 Echo dot gen3 Was having this problem as well, locking at the example fauxmoEXP_Basic

    fauxmo.setPort(80); // required for gen3 devices fauxmo.enable(true);

    many examples don't I have tried don't include this. and also fauxmo.onMessage(callback);

    is not used. one last thing it to change Changing from lwIP variant "v2 lower memory" to "v2 higher bandwidth" in the tools menu of the arduino ide . my board is LOLINE(WEMOS) D1 R2 & mini Now working

  43. Peter Feerick

    The example distributed with the library only started including fauxmo.setPort(80); as of the 17th of Dec 2018, when Xose said he started getting gen3 support working.

    The onMessage parameter has been depreciated (i.e. invalid) since v2.3.0 (2017-11-08) but is unfortunately still referenced by sites like the Adafruit guide for using their Featherwing boards with Alexa.

    It's great to know you have support working though Andy, means the changes Xose made are working ;)

  44. Tony Baz

    I tried with Arduino IDE 1.8.8 and the latest FauxmoESP 3.10 and with different variations with lwap and still not device discovery. My Alexa is Echo Show Gen1. Anyone had success with Echo Show?

  45. Stuckey

    If you have Philips Hue hub, unplug it during discovery. That was my prob.

    Also try irdevkit.ino; watching serial port gives you some feedback re what’s happening on boot up.

    Stuckey

  46. Tony Baz

    I turned off all my smart devices and still no luck. I have uploaded the irdevkit.ino as suggested by Stuckey, please find below the result:

    192.168.1.1, port 1900 192.168.1.1, port 1900 192.168.1.1, port 1900 192.168.1.1, port 1900 192.168.1.144, port 50374 192.168.1.144, port 50374

    .1 is my router .144 is the Echo Show

    Not much info to interpret what is going on?

  47. Tony Baz

    I run wireshark to understand bit, the SSDP protocol is sent via multicast on 239.255.255.250 from the echo unit. I think something needs to be enabled on the router to allow the multicast to replicate. I'm not sure the esp8266 is getting the search packet. Any idea?

  48. Stuckey

    Tony – You might be on to something. In my experience, the fauxmo ESP8266 works better with some routers than others for some reason, whereas everything else I own doesn’t seem to care which router it connects with/through. This suggests to me that ESP8266WiFi.h or another WiFi-essential element may be doing something a little differently than your typical WiFi client.

    My previous router was a Buffalo Tech unit based on DD-WRT Linux. My newer, current router is an ASUS RT-AC68U, which may also have some DD-WRT or OpenWRT/Linux roots. Discovering my fauxmo ESP8266 with the older Buffalo was quirky/iffy, and once connected, it would seldom remain connected for more than 2-3 days for reasons unknown to me. With theRT-AC68U, it has remained connected since I switched it on (1-2 weeks now).

    If you have a newer or at least different router you can try, it’s worth a shot.

  49. Tony Baz

    Thanks Stuckey, something is not yet completed in the library, all my smart devices detected and no problem, except my ESP8266, I ordered the ESP32, hopefully better, I will let you know the result once received. My router is Cisco and I looked at its config, nothing to be added. I also discovered that the laptop is initiating the multicast discovery process and not the Echo Show. Maybe if Xose can give us more logic on how he came up with his library. Is he following the SSDP protocol as defined? Also I heard some changes in the Alexa API, not sure if he is using the new framework.

  50. Giovanni Roberto Mariani

    After several attemps I succeeded in finding my devices after I disabled the firewall of my router. I'm using vodafone station revolution.

  51. Peter Feerick

    There is a chance that the problem is more deeply seated in the ESP8266 Arduino core. There was a recent issue (https://github.com/esp8266/Arduino/issues/5487) where it was mentioned that requirements such as the need for regular calls to MDNS.update() weren't documented properly when using Multicast DNS... so it would not surprise me if things like discovery of ESP8266 and even ESP32 aren't the most reliable depending on your network environment. This should all be fixed when 2.5.0 is released, but there is no guarantee this is the culprit here. I would think it's more something to do the with firewalls, the ports being used, and maybe UPnP.

  52. Tony Baz

    Everyone, the multicast is sent no issue with the network and I'm able to sniff everything via wireshark. The library itself is missing parts. I have smart bulbs purchased recently based on esp8266, they are discovered like a charm and I'm able from Alexa Echo to control them.

  53. Peter Feerick

    @tonybaz I get where you're going comparing the smart bulbs based on esp8266 with an ESP8266 using this library, but that's still like comparing oranges to lemons... yes, they are both fruit (just as both are using an ESP8266), but an orange ain't a lemon... and an ESP8266 programmed with the Espressif RTOS SDK is not the same as one programmed with the ESP8266 Arduino core, and there are then all the differences with how functionality is implemented in the core, let alone what the 'sketch' author done in the code. For example, v2.4.0 of the core changed over to using v2 of the lightweight TCP/IP stack (lwIP) by default... which even now, in v2.5.0-beta3, can cause some issues with some sketches, meaning you manually switch to the v1.4 stack. Doesn't mean there is something 'wrong' or 'missing' in the library, it just means until more is known... that's too far a leap to base anything on. Now, you mentioned earlier the laptop is initiating the discovery process... er... are you sure? If you tell your Echo to 'discover devices'... then it should be initiating discovery, not your laptop...

  54. Tony Baz

    Hi Peter, very much enlightening. I agree with the way things are configured; I need to learn more about the RTOS.

    Now for the discovery mechanism, you have to do it from the app "Smart Home/devices/Discover". The app discover the device and sign up with Alexa Cloud the detected new device, then a unique ID would be assigned to the new device in your account. Now when you home Echo interacts with the device, it is through this unique ID. I could be wrong, but if anyone has better explanation, please let me know. Not much on Alexa SDK, all high level API programming language. But this is the conclusion that I was able to get from sniffing packets and I think the most accurate explanation.

  55. Peter Feerick

    In my case, with an Echo Dot, I can do discovery by simply saying "Alexa, discover devices". AFAIK, the process is then sending the different queries for different protocols for the different devices Alexa supports - i.e. Phillips Hue, Nest, Roomba. Depending on what response the Alexa device gets, determines what it thinks it can control, and what options it registers on your account for that device.

    There is another library - Espalexa - (which I haven't tried... only just come across it) that might be worth a try. It is interesting to note on the readme for that library that it is advisable to use v2.3.0 or 2.5.0 (beta atm) and NOT to use 2.4.x of the ESP8266 Arduino core (unless you patch a file) ... due to a bug in v2.4.x 🤦 So maybe try the library as is, and if that makes no difference, try the patch, and then see if it makes any difference to fauxmoesp...

  56. Tony Baz

    Still same issue, no progress even with the Espalexa. Now, I start to doubt if my Echo Show acts differently than the dot.

  57. Giovanni Roberto Mariani

    Have you checked your network? In my case router firewall blocked discovery. Using Espalexa and esp8266 everyting worked at first try.

  58. Tony Baz

    My network is fine. No issues there. I use the same network to discover devices from 3rd party vendors. All works like a charm.

  59. Rodolphe Coisnard

    Hi, I had some trouble to make my esp8266 been discovered each time by my gen2 or gen3 echos (arduino ide 1.8.8, esp8266 2.5.0, fauxmoESP 3.1.0). Then I found a way to make it happen all the time, by changing line 83

    if(request.indexOf("upnp:rootdevice") > 0 || request.indexOf("device:basic:1") > 0) {
    

    by

    if(request.indexOf("ssdp:discover") > 0 || request.indexOf("upnp:rootdevice") > 0 || request.indexOf("device:basic:1") > 0) {
    

    If it could help

  60. Tony Baz

    Thanks Rodolphe, I modified the library and tried it, still not flying... I will continue digging...

  61. Jack Murphy

    So, as a newbie, I just loaded the current demo code (has fauxmo.setPort(80)) and libraries from Adafruit, and my devices on my Feather HAZZAH was discovered the second time (first time my Dot was offline). I'm using the 1.8.8 IDE (1.8.19.0 from the Windows Store), Board was the "Adafruit Feather HAZZAH ESP 8266", FauxmoESP 3.1.0, 115,200 baud to serial port. Dot Gen3. What did I do right? I came here because my Dot was offline on my first attempt (keeps doing that: any suggestions?).

  62. ed bourne

    also, as a newbie, I just loaded the current demo code, my device is a NodeMCU Amica esp8266 (use the NodeMCU 1.0 (ESP 12E Module). First pass at home didn't work, after scanning this list, I set the lwIP version to v2 Higher Bandwidth (have no idea what this does!) and it worked, I could see "yellow lamp, pink lamp, etc" on my Alexa devices list. I have both Dot v2, and the latest echo plus (2nd Gen). I brought my setup to the office, and .... crickets. The two big differences being that I'm using a dot 3, and I have no idea what the router is setup like at the office. I can't discover the esp8266 on my work environment. Dot 3 works fine, esp8266 works fine (with other things, ie basic web server), just the discovery of the fauxmo devices doesn't work.

  63. Stuckey

    Ed – If any existing Philips Hue hubs at your office, power those down during discovery and then switch them back on after.

    Router might have strange ports blocked, but if Alexa works there, LAN-linked stuff usually will too. Don’t know how big your co is, might try speaking with IT unless they’re gestapo types.

    Stuckey

  64. ed bourne

    Oops said V2, meant V1.4 Higher bandwidth. The router use at my office seems to be the issue. Any idea what ports are used by fauxmo, or what I might look for on the router that is blocking my Alexa from finding the added devices?

  65. Jason Thrasher

    xoseperez: Thanks for all of your work on this project!

    This thread was helpful in getting fauxmoesp working for my D1mini. I’ll report it’s working when writing the firmware using:

    • MacOS 10.13.6
    • Arduino IDE 1.8.9
    • Board Manager: esp8266 2.3.0
    • Library Manager: FauxmoESP 3.1.0
    • board selected: “LOLIN(WEMOS) D1 R2 & mini”
    • lwIP: not set in IDE (not available for this board)
    • device: Amazon Echo v1 (gen 1)

    I did have to unplug my Philips Hue hub. No ports were treated specially on my firewall/router (which is a pfSense).

    I asked Alexa to discover devices, and found I couldn’t use the Alexa app on my phone to connect my ESP8266.

    After it was connected and working, I found I could update to

    • Board Manager: esp8266 2.5.2

    And it continued to work! I didn’t try to initiate the connection routine with esp8266 2.5.2, though it seems the bugs have been worked out, so it’s worth trying.

    -Jason

  66. arul chris

    (ESP8266 D1 mini) was able to add only 3 devices. on adding 4 or + devices as in the example none of the devices was discovered.

    as quote by @Andy Droid changed lwIP variant "v2 lower memory" to "v2 higher bandwidth. and configured 8 devices now Alexa was able to discovered all the eight devices. 😀

  67. Carlos Nascimento

    650/5000

    My project is running with an ESP8266-01 and Arduino UNO.
    When I configure for 4 devices alexa recognizes, but when expelling the project for more devices alexa does not recognize any devices.

    Ja I edited the bibliote line 83 to:

    if (request.indexOf ("ssdp: discover")> 0 || request.indexOf ("upnp: rootdevice")> 0 || request.indexOf ("device: basic: 1")> 0) {

    Arduino IDE 1.8.10
    Board Manager: esp8266 2.6.2
    Library Manager: FauxmoESP 3.1.0
    board selected: “Generic ESP8266 Module”
    lwIP: V2 Higher Bandwidth
    device: Amazon Echo DoT v3 (gen 3)

    12 Relay Design (12 Devices)

    Does anyone have any other suggestions?

  68. Carlos Nascimento

    My project is running with an ESP8266-01 and Arduino UNO.
    When I configure for 4 devices alexa recognizes, but when expelling the project for more devices alexa does not recognize any devices.

    I edited the Liberie line 83 to:

    if (request.indexOf ("ssdp: discover")> 0 || request.indexOf ("upnp: rootdevice")> 0 || request.indexOf ("device: basic: 1")> 0) {

    Arduino IDE 1.8.10
    Board Manager: esp8266 2.6.2
    Library Manager: FauxmoESP 3.1.0
    board selected: “Generic ESP8266 Module”
    lwIP: V2 Higher Bandwidth
    device: Amazon Echo DoT v3 (gen 3)

    12 Relay Design (12 Devices)

    Does anyone have any other suggestions?

  69. Stuckey

    Carlos – Have you tried shutting down the 4 recognized devices plus your Philips Hue hub if you have one, then trying to recognize 1 new device at a time, then switching the others back on?

    I have 2 recognized ESP8266 devices working with Alexa, but had to shut down Philips Hue hub to get either of them to connect. In my system, I have one Echo dot and one fairly old Echo cylinder.

    Best wishes and Merry Christmas, hope you get it figured out,

    Stuckey McIntosh

    Atlanta

  70. Vlad Voinea

    HI guys,

    Could you please help me with 2 issues ?

    Using the latest fauxmoESP/master echo dot 3 correctly discovers an emulated Philips Hue which can be turned ON and OFF using voice commands. But it cannot be controlled from the Alexa app like a normal Smart Home light (toggle it like a button from the app).

    Second issue, I tried to using the fauxmoESP/master-2.4.X (as this one uses Wemo emulation) but I cannot get it working. I updated the discovery response and now my emulated Wemo is found by Alexa but I cannot get it to correctly process SetBinaryState commands.

    I would like to mention that I managed to get the original Fauxmo library to correctly emulate Wemo using a Raspberry Pi.

    Any help would be appreciated.

    Thank you

  71. Carlos Nascimento

    Stuckey - I don't have the Philips Hue hub. I am just running ESP8266 with the fauxmo library.
    Running project in IDE with 4 ESP8266 devices Alexa Recognizes 4 in both versions of ESP8266 board and library. My problem is when in the project I extend the code for more devices. It fails to recognize all devices in the code. There seems to be a device limit that is not very clear.

    I would like to control 12 devices with a single ESP8266, but it is difficult.

  72. Zuriel Hdez

    I have a similar problem, i can upload a code with two devices and work fine.

    But when i edit the same code and upload alexa dont recognize more so i can brake the rule of two devices.

    Carlos Nascimiento, dont change some line in the librarie o similar?

    i hope today review the code more deep, try to find something what can help

    Nice day for everyone

    Regards from Mexico

  73. Stuckey

    Carlos - Could be a 2-bit variable in fauxmo that needs to be a 4-bit variable for your 12-device setup.

    I’ve never looked into the source code for that, but xoseperez might know where to look, or what gives rise to the 4-device limitation.

    SMc

  74. Stuckey

    Carlos – Hope you have your no-more-than-4 issue straightened out. I added 3 more ESP8266 devices to my system yesterday so that in total I have 5, each with a different Alexa-recognized name. I did not encounter any problems adding the 5th device, didn’t have to shut down any other discovered/controllable devices.

    Best regards,

    Stuckey

    Arduino IDE 1.8.9 Board Manager: ? Library Manager: ? board selected: NodeMCU 1.0 (ESP-12E Module) lwIP: V2 Lower Memory device: Amazon Echo v2 + Echo Dot v3

  75. Log in to comment