Openhab , habridge , fauxmo, MQTT?

I am building wifi switches using D1 Esp8266 boards programmed in arduino . I want them to connect to my amazon echos

Im getting confused on all these different things and options. I think i can just program the ESP8266’s with a arduino wemo emulator code and that will work with alexa . Other then that there are all these things like openhab , habridge , MQTT etc

If i use openhab and habridge which have the possiblilty of using fauxmo alexa script or built in hue emulator do i need to program my 8266 devices with a alexa emulator ? or will my 8266 devices just go thru openhab or habridge as a bridge to Alexa ?

Also why would i want a MQTT Broker ?Whats the difference between MQTT and Openhab .It seems like it basically does the same thing but OpenHab can do more

Sorry for all the questions.Once i get a handle on it i will be good to go.

My understanding the typical approach (I don’t integrate with Alexa) so the following could be wrong.

I believe the typical approach is the latter. Your devices integrate with OH and OH exposes those to Alexa through the Hue Emulation bridge.

MQTT is a messaging bus. Period. End of story. You can send messages to a topic and/or subscribe for messages from a topic.

openHAB is an integration bus that supports:

  • connecting to over 150 home automation technologies and APIs (e.g. zwave, rfxcom, Nest, KNX, etc).
  • provides an abstraction layer so one can work with all these technologies in a uniform manner
  • provides the ability to write rules and define behaviors that allow you to, for example, cause a zwave motion sensor to cause a zwave light to turn on, but only if you are home and it is between the hours of 22:00 and 06:00.
  • provides the ability to persist and restore historic data from your sensors and actuators
  • provides a choice of several dash board user interfaces for administration and users

It’s like saying a piece of paper is basically the same thing as a computer. You can write words in both right?

They are two different things with two vastly different purposes but MQTT is a very good companion to openHAB.

In fact, one approach to what you are trying to achieve taken by many on this forum is to implement MQTT on your ESP8266s as the way to integrate them with OH.

Thanks , that clears up some things . So as long as i can get MQTT on my Wemos8266 devices i can send a message to openhab say to turn on light and the openhab will emulate it and send it to alexa . If im making a wifi switch is the hue emulator ok to use or should it i use like fauxmo to emulate a wemo switch. Somethings on the switch may not be lights .The difference i believe in the two emulator protocols i think is dimming. Is it possible to use the fauxmo code in openhab?

Technically if i just used the fauxmo code on the devices it would remove a extra step but if im thinking correctly theres a great benefit to openhab in that i wont have different things in different apps so everything can be controlled from one interface.

Right now i installed openhab , mosquitto and influxdb on a raspberry pi2 .

Not having used any of these I’ll be off no help with the questions.

Appreciate that this is a bit of a zombie thread, but it still comes up in search results, so thought I’d add my $0.02.

The original fauxmo library was based upon emulation of a WeMo switch. That would probably show up if you add the bindings for WeMo in OpenHab. That library supports on/off only. Alexa sees them as sockets.

The newer versions go beyond a simple switch and enable brightness settings by emulating a Hue bridge. I’ve used these for a few devices, mainly LED strings with MOSFETs. Whilst Alexa will detect the device using whatever name (or names) you assign in the sketch, OpenHab will want to authenticate against the bridge before it can read the config. There is no authentication support in the sketch, so I don’t think you’ll be able to control this with OpenHab.

I don’t think there’s anything stopping you from running FauxMo as a Hue bridge (for 1-100 settings via Alexa) and implementing MQTT on the same device. That might be the best way forwards.