Esphomelib - A comprehensive solution for using ESPs with Home Assistant


What version of home assistant is supported? I just changed to the lastest 64 bit version of hassos.

When I try and upload to an esp8266 get the following errors.

INFO [esphomeyaml.config] Reading configuration…
INFO [esphomeyaml.main] Generating C++ source…
INFO [esphomeyaml.main] Compiling app…
INFO [esphomeyaml.main] Running: platformio run -d /config/esphomeyaml/saltwater
Processing saltwater (platform: espressif8266; board: d1_mini; framework: arduino)

Warning! Library {'requirements': None, 'name': 'ArduinoOTA'} has not been found in PlatformIO Registry.
You can ignore this message, if {'requirements': None, 'name': 'ArduinoOTA'} is a built-in library (included in framework, SDK). E.g., SPI, Wire, etc.
Warning! Library {'requirements': None, 'name': 'ESP8266WiFi'} has not been found in PlatformIO Registry.
You can ignore this message, if {'requirements': None, 'name': 'ESP8266WiFi'} is a built-in library (included in framework, SDK). E.g., SPI, Wire, etc.
Warning! Library {'requirements': None, 'name': 'ESP8266mDNS'} has not been found in PlatformIO Registry.
You can ignore this message, if {'requirements': None, 'name': 'ESP8266mDNS'} is a built-in library (included in framework, SDK). E.g., SPI, Wire, etc.
Warning! Library {'requirements': None, 'name': 'Hash'} has not been found in PlatformIO Registry.
You can ignore this message, if {'requirements': None, 'name': 'Hash'} is a built-in library (included in framework, SDK). E.g., SPI, Wire, etc.
PackageManager: Installing toolchain-xtensa @ ~1.40802.0
Error: Could not find a version that satisfies the requirement ‘~1.40802.0’ for your system ‘linux_aarch64’


The 64 bit hassos is experimental and a number of addons don’t work. Looks like this is one of them.

Go for 32 bit unless you want to be a tester.


I am not able to make RF receiver work. Can someone help me? I am using this receiver.

I am using a rf door sensor. Its not receiving any raw data when i log.


Hey all,

For openness Ive also posted this question at

I thought Id give this esphomeyaml project a go, Im always interested in writing less code when the usecase isnt complex. I followed the instructions and flashed the firmware to both a ESP8266-7 and a nodeMCU v2 and with both i included the option to listen to a GPIO Pin (GPIO16). Alas for both devices I do not see a MQTT event being generated when I raise gpio16 to High, or Low. At first I thought it was my wiring so then I wrote a native arduno example and this works fine…

interestingly the easyhomeyaml firmware gets to this line and then ends… nothing else…

[application:106]: First loop finished successfully!
[ota:139]: Boot seems successful, resetting boot loop counter.

Im sure its something “DUH” as I cant believe something so simple doesnt work…

help :slight_smile:


have you guys tried to use SONOFF RF BRIDGE with this esphomeyaml?

I have a few basec and 4ch pro working fine, but not sure how the RF will work and setup…



Hey all,
With happy bubbles no longer being made/sold, I wanted to turn to the ESP32 and ESPhomelib.

  1. Has anyone successfully used the ESP32 as an alternative to a happy bubble using the BLE tracker?
  2. Also, if I were to setup an ESP32 as an ibeacon, is it possible to change the transmission strength?



Huge thanks to you for this Otto - wonderful work. Just started replacing my home-brew esp code with this as it is so much easier to manage.

One thing that got in my way and might stump others that I couldn’t see in previous comments: my user account wasn’t added to the dialout group (running on Ubuntu 16.04 just for setup purposes) and so had to do ‘sudo usermod -a -G dialout $USER’ before I could do the initial upload. Thought I’d post in case anyone else had same issue.


Sorry - one more from me.

Have hit a problem with OTA. Using NodeMCUs with ESP 12E (or N, which I think is really an E). Can upload via USB fine and can see from log that device connects to wifi and MQTT and starts posting data (from a DHT22).

But when I try to update via OTA I get the message “ERROR [esphomeyaml.espota] No response from the ESP”.

Have tried adding static IP and same response. Doesn’t seem to be a network issue though: .local domains are mapping fine to addresses.

Appreciate any pointers anyone can offer.


I’m intrigued how you got this running on a Synology. Did you have to expose the USB via devices?

Interested in any documentation you can provide.

Thanks :grinning:



I am just having my first contact with Esphomelib and it seems that it may be the solution for what I want to do. But I have some questions though.
I want to do a smart light RGBWW (with white warm and white cool), with fading on and fading off, with transitions too. A gpio for controlling LED power supply would be also nice. It seems that color temperature is something that you are working on, as it is explained in FAQ.
Can you please give some more detail if Esphomelib would be a good solution for what I want to accomplish?


I love ESPhimelib, but there are cheap solutions already for LED lighting - see for example:


Hi, thanks for the tip. In fact I already have one H801 which I flashed quite some sime ago using this instructions. It works, but no fading on, off, and no transitions.
I have never used Espurna (flashed Tasmota to some Sonoffs and NodeMCU though, but never to H801), So I believe, based in what you are saying that Espurna can handle fading On/Off and color temperature (channels balance between W1 and W2 of H801).
Probably I should try Espurna with H801, since the way I flashed it was not the best and it is now outdated.

Some reasons led me to think about using a ESP32 for this porpose:

  1. ESP8266 use software PWM which may cause flickering.
  2. Possibility to use a GPIO to turn On/Off a power supply for the leds, so wasting less energy when light is not in use.
  3. Possibillity to include hardware controls as Switches and rotary encoders for local lights control.
  4. Possibility to change fading speed using input_number (I don`t know if it would be possible with Espurna)

So, I would like to know more what I can do with H801 using Espurna, but I am still wanting to know how far I can go if using Esphomelib.


Are you expecting the device firmware to do fading, brightness etc? Why not get home assistant to do that?


It may be some lack of knowledge, but as far as I know, device firmware has a role in doing fading and brightness and specially transitions. My H801 doesn’t fade and I don’t believe it is just a matter of HA configuration.
On the other hand it would be also nice to have something that fully works even if HA is down.


hi @Keggi

May you try this fix, plz? Changing this line:

val |= uint16_t(this->;read_spi_()) << 8;


val <<=8;
val |= uint16_t(this->read_spi_()); 

in max6675_sensor.cpp seems to fix. (mine was at /.piolibdeps/esphomelib/src/esphomelib/sensor/max6675_sensor.cpp)


Does the line above it need to stay the same?

“uint16_t val = this->read_spi_();”

I changed it as you described, now it just comes back with “nan” on GUI and it logger
"[18:43:53][W][sensor.max6675:088]: Got invalid value from MAX6675Sensor (0xFFFF)

I have verified the sensor is working on an arduino and it gives correct temps. With the original .cpp I was getting temps of 2000-3000 degrees.


Did you ever get this working? I am having the same issue and the suggested fix does not correct it.



It’s working for me. But le me post how this function looks like:

void MAX6675Sensor::read_data_() {

  uint16_t val = this->read_spi_();
  val <<=8;
  val |= uint16_t(this->read_spi_());


This is already fixed in the upcoming release (1.8).


Is there a way to update the .cpp file or is it it a simple copy/paste from the updated .cpp? I tried that and got an error, something about _spi.something directory not found.


You may create a new node and copy the config.