Documentation: https://esphome.io/
For issues, please go to the issue tracker.
For feature requests, please see feature requests.
Source for esphome.io documentation files.
Home Page: https://esphome.io/
License: Other
Documentation: https://esphome.io/
For issues, please go to the issue tracker.
For feature requests, please see feature requests.
Using Hass.io easyhomeyaml add-on. Any ideas for this error, trying to upload to an nodemcu-esp32s board with the basic .yaml file to my device.
Error loading shared library libstdc++.so.6: No such file or directory (needed by /root/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++)
Error relocating /root/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: _obstack_memory_used: symbol not found
Error relocating /root/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: _Znwj: symbol not found
Error relocating /root/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: _obstack_newchunk: symbol not found
Error relocating /root/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: obstack_free: symbol not found
Error relocating /root/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: _ZdlPvj: symbol not found
Error relocating /root/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: _Znaj: symbol not found
Error relocating /root/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: _obstack_begin: symbol not found
Error relocating /root/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-g++: _ZdaPvj: symbol not found
I was inspired by mqtt-bme280-homie (https://github.com/mhaack/mqtt-bme280-homie/) and wanted to extend it to also work without active wifi/mqtt connection (mhaack/mqtt-bme280-homie#6). What would be the best job for it? For sure esphomeyaml! ✨ 🎇 🎆
Part list:
The total hardware costs are around $5 when ordered directly from the country of origin.
For the font I used five by five licensed under CC BY 4.0 from dafont: https://www.dafont.com/de/fivebyfive.font
esphomeyaml:
name: mqtt-bmp180-oled
platform: ESP8266
board: esp8285
wifi:
ssid: 'xxx'
password: 'xxx'
mqtt:
broker: 'xxx'
username: 'xxx'
password: 'xxx'
# Enable logging
logger:
ota:
password: 'xxx'
i2c:
sda: 0
scl: 2
scan: False
binary_sensor:
- platform: status
name: "mqtt-bmp180-oled Status"
id: status
sensor:
- platform: wifi_signal
name: "mqtt-bmp180-oled WiFi Signal"
update_interval: 60s
id: signal
- platform: bmp085
temperature:
name: "mqtt-bmp180-oled Temperature"
id: temperature
pressure:
name: "mqtt-bmp180-oled Pressure"
id: pressure
update_interval: 60s
switch:
- platform: restart
name: "mqtt-bmp180-oled Restart"
font:
- file: "five.ttf"
id: five8
size: 8
time:
- platform: sntp
id: time
servers:
- 0.pool.ntp.org
display:
- platform: ssd1306_i2c
model: "SSD1306 128x64"
address: 0x3C
lambda: |-
it.printf(0, 10, id(five8), "Temp: %.1f Celsius", id(temperature).value);
it.printf(0, 20, id(five8), "Pressure: %.1f hPa", id(pressure).value);
it.strftime(0, 35, id(five8), "Time: %H:%M", id(time).now());
it.strftime(0, 45, id(five8), "Date: %d.%m.%Y", id(time).now());
it.printf(0, 60, id(five8), "Wifi: %s", id(status).value ? "Online" : "Offline");
it.printf(80, 60, id(five8), "%.1f", id(signal).value);
And the result looks like this:
On Windows, I can't test the docs via docker (using Linux containers).
Running the following command:
docker run --rm -v ${PWD}/..:/data -p 8000:8000 -it ottowinter/esphomedocs
Where ${PWD} is correct.
Image are downloaded, but on execution I get:
make: *** No rule to make target 'webserver'. Stop.
(unfortunately, running the whole python/doxygen/sphinx pipeline isn't working on windows either)
i have a sonoff 4ch pro i have ambede in esphome, and it works.
But, is it possible to make the switch as light-switch, so they work in google assistant or do i have to connect mqtt broker again to get it like the light-switch back again?
If esphomeyaml is not able to upload the firmware to the device then uploading it manually with esptool
could be option. The "alternative upload" is mentioned at a couple of places but no concrete example given.
I think that it might be handy for users to have those information at hand because of
esphome/esphome#121 or because of wired button press pattern to get the device into flash mode. Use the standard settings for an ESP32 don't seem to always work.
https://esphomelib.com/esphomeyaml/guides/automations.html#templates-lambdas
I am following the sample. The name section is very confused to me. The first name name: "Cover End Stop"
There is a double quote , The second name name: Living Room Cover
without the double quote, Any reason there? What rule can I follow?
Good afternoon!
I breaded to make a battery-powered watch with an OLED SSD1306 screen on an ESP 32 that goes into deep sleep. I managed to send the board to sleep, but at the moment when the board falls asleep the screen continues to light. Tell me how you can turn off the screen when the board falls asleep
It would be nice to be able to configure the altitude in metres for air pressure sensors like the BME280 and use that to calculate the air pressure at sea level.
I just found this code snippet that would help:
double bmp_atSealevel(double pressure)
{
return pressure / pow(1.0 - ((float)altitude / 44330.0), 5.255);
}
I created a custom component for this as it needed a 3rd party lib and is working fine here for a while. Is this something you would be interested to have documented here?
I wasn´t sure as it required 3rd party libs...
If you want it i will put something together as a cookbook (or any category you seem fit).
I have successfully flashed a sonoff slampher, but as i used pin GPIO3, from the docs, the device relay was irresponsive.
I changed it to GPIO12, as most other sonoffs and it worked.
Originally it had firmware v1.6.2.
Maybe someone else can test these settings?
Button on GPIO0 did work.
I am creating a sntp_time , So I followed here
https://esphomelib.com/esphomeyaml/components/time.html
But the document is not clearly show how to write yaml code of servers list.' I tried this:
time:
- platform: sntp
id: sntp_time
timezone: UTC-8
servers: 0.pool.ntp.org, 1.pool.ntp.org , 2.pool.ntp.org
// and I got the codes in main.cpp
time::SNTPComponent *sntp_time = App.make_sntp_component();
sntp_time->set_servers("0.pool.ntp.org, 1.pool.ntp.org , 2.pool.ntp.org", "", "");
//The declaration is
void esphomelib::time::SNTPComponent::set_servers(const std::string &server_1, const std::string &server_2, const std::string &server_3)
``
Obviously my Yaml is wrong. I couldn't find a correct sample in this document.
Just wondering if there is a way to add this functionality to initiate the validation process without leaving the edit page. It would be nice, since as a beginner with ESPHome, I find myself constantly editing and validating the yaml to try to solve issues.
I know there may be some challenges with having the validation process with the edit window open, but maybe the validating would run on-top-on the edit window. This way if the validation is unsuccessful, you get to see the results of why, and then you would click the normal close button to close the validation screen and be prompted with the edit screen. If the validation is successful, maybe you could present an upload button.
I'm trying to install the esphome-docs repo on my unraid docker server:
docker run -d --name='esphomedocs' --net='br0' --ip='10.0.0.57' -e TZ="Europe/Berlin" -e HOST_OS="Unraid" -v '/mnt/user/appdata/esphomedocs/':'/data/esphomedocs':'rw' 'esphome/esphome-docs'
69aebf895ccb228653bbf024d5d1c1afde25fc7fc409a3f4a578b2c996315b16
but when i try to start the container it fails and outputs this in its log
make: *** No rule to make target 'webserver'. Stop.
make: *** No rule to make target 'webserver'. Stop.
Is there anything wrong with my docker command there?
(I apologize if this is not supposed to be posted here, please move to correct place if this is not the proper place for posting issues with esphome-docs)
Hello
If I change topics for LWT messages (from nodemcu/status
to nodemcu/state
in this example)
mqtt:
broker: '10.0.0.53'
username: 'hassio'
password: '1234567'
client_id: nodemcu
discovery: true
log_topic: nodemcu/log
birth_message:
topic: nodemcu/state
payload: online
will_message:
topic: nodemcu/state
payload: offline
I do not get modified topics in autodiscovery messages
homeassistant/sensor/nodemcu/bmp180_pressure/config
:
{"unit_of_measurement":"hPa","expire_after":675,"icon":"mdi:gauge","name":"BMP180 Pressure","state_topic":"nodemcu/bmp180_pres","availability_topic":"nodemcu/status","unique_id":"ESPsensorbmp180_pressure","device":{"identifiers":"5ccf7fdc3c1d","name":"nodemcu","sw_version":"esphomelib v1.9.0b1 Nov 3 2018, 15:37:10","model":"PLATFORMIO_NODEMCUV2","manufacturer":"espressif"}}
I could not find an esphomeyaml template that would work with adafruit.io: auto-generated MQTT topics would not be accepted by adafruit.io, and debug messages would go over the 30 msg/min rate limit.
To work around these problems, I had to:
Here is the template, for you to reuse. Replace XXXX by your user name, of course.
esphomeyaml:
name: mqttbme280
platform: ESP8266
board: nodemcuv2
wifi:
ssid: 'XXXXXXX'
password: 'XXXXXXXXXXXXXXXX'
ota:
password: 'XXXXXXXXXXXXXXXX'
mqtt:
broker: 'io.adafruit.com'
username: 'XX<USERNAME>XX'
password: 'XX<APIKEY>XX'
topic_prefix: 'XX<USERNAME>XX/feeds'
birth_message:
will_message:
log_topic:
# Enable verbose logging on serial
logger:
level: VERY_VERBOSE
logs:
spi: INFO
i2c: INFO
i2c:
sda: D6
scl: D5
scan: False
binary_sensor:
- platform: status
name: "BME280 Status"
id: status
internal: True
# note that bme280 is either on address 0x77 or 0x76
sensor:
- platform: bme280
address: 0x76
temperature:
name: "BME280 Temperature"
id: temperature
state_topic: XX<USERNAME>XX/feeds/bme280.temperature
discovery: False
filters: []
pressure:
name: "BME280 Pressure"
id: pressure
state_topic: XX<USERNAME>XX/feeds/bme280.pressure
discovery: False
filters: []
humidity:
name: "BME280 Humidity"
id: humidity
state_topic: XX<USERNAME>XX/feeds/bme280.humidity
discovery: False
filters: []
update_interval: 15s
- platform: wifi_signal
name: "BME280 WiFi Signal"
update_interval: 15s
id: signal
state_topic: XX<USERNAME>XX/feeds/bme280.wifi
filters: []
discovery: False
switch:
- platform: restart
name: "BME280 Restart"
internal: True
For the RGB light component, the docs all link to https://esphomelib.com/esphomeyaml/components/switch/output.html#output, while only the note saying that we can't use GPIO outputs is correctly telling us to use the esp32 ledc // esp8266 pwm component.
Relevant page in the docs:
https://esphomelib.com/esphomeyaml/components/light/rgb.html
In the documentation https://esphomelib.com/esphomeyaml/components/sensor/index.html#on-raw-value shows the exact same information as the on_value automation, maybe a copy paste dub ?
I test Sonoff TH10 with this firmware and have problem.
If set i2c scan to true i see in logs:
[C][i2c:043]: I2C Bus: [C][i2c:044]: SDA Pin: GPIO4 [C][i2c:045]: SCL Pin: GPIO5 [C][i2c:046]: Frequency: 1000 Hz [I][i2c:048]: Scanning i2c bus for active devices... [I][i2c:064]: Found no i2c devices!
If i set sda&scl manually - "Found no i2c devices!" again.
With dallas temperature sensor firmware work's perfectly.
Anyone know solution?
ps sensor tested and work with original firmware :)
https://esphome.io/components/stepper/index.html#stepper-set-target-action
There is a typo under warning:
- stepper:set_target:
Should be:
- stepper.set_target:
Could the docker-file or general documentation be updated to include what ports need to be exposed in an ESPHome docker container (UI version) instead of giving the container network_mode:host?
What new integration would you wish to have?
"RCWL-0516 is a doppler radar microwave motion sensor module which can act as an alternative to a PIR motion sensor"
If possible, provide a link to an existing library for the integration:
Product link:
https://www.aliexpress.com/item/Free-Shipping-Human-body-induction-module-RCWL-0516-microwave-radar-inductive-switch-module-intelligent-sensing-detector/32712700620.html (US $0.49 / piece)
Is your feature request related to a problem? Please describe.
I'm always frustrated when I can't use esphomelib for all of my sensors 😿
I've succesfully flashed a Sonoff Dual R2 and tested the RX and TX pins, so I´d like to inform that they are inverted in the beta docs, that is:
GPIO1 is TX pin
GPIO3 is RX pin
When the router hides the SSID, the device cannot connect to the network?
Hi, thanks for the great doc for a project of that size.
New at ESPHome, I wanted to look which Pin-Names to take for a NodeMCU ESP32, and ran into the trap of confusing a zero with the letter O. With a different font that e.g. uses a slash in the zero, it would be impossible to confuse them for a noob user like me.
Hi, how can you set the display pages with a fig key by taking a gpio from wemos d1 the following code I tried does not work a help please the code here:
- platform: gpio
name: "Pin D7"
pin: D7
on_press:
- display.page.show_next: my_display
- display.page.show_prev: my_display
display:
- platform: ssd1306_i2c
model: "SSD1306 128x64"
address: 0x3C
update_interval: 50ms
id: my_display
pages:
- id: page1
lambda: | -
it.printf (0, 2, id (font), "Relay 1:% s", id (relay_1) .state? "ON": "OFF");
it.printf (73, 2, id (font), "Relay 5:% s", id (relay_5) .state? "ON": "OFF");
it.printf (0, 13, id (font), "Relay 2:% s", id (relay_2) .state? "ON": "OFF");
it.printf (73, 13, id (font), "Relay 6:% s", id (relay_6) .state? "ON": "OFF");
it.printf (0, 25, id (font), "Relay 3:% s", id (relay_3) .state? "ON": "OFF");
it.printf (73, 25, id (font), "Relay 7:% s", id (relay_7) .state? "ON": "OFF");
it.printf (0, 37, id (font), "Relay 4:% s", id (relay_4) .state? "ON": "OFF");
it.printf (73, 37, id (font), "Relay 8:% s", id (relay_8) .state? "ON": "OFF");
it.printf (0, 55, id (font), "Wifi:% s", id (status) .value? "Online": "Offline");
it.printf (102, 55, id (font), "% .1f", id (signal) .value);
- id: page2
lambda: | -
it.strftime (0, 35, id (font), "Time:% H:% M", id (time) .now ());
it.strftime (0, 45, id (font), "Date:% d.% m.% Y", id (time) .now ());
with this code on_press gives me error, of course the code is wrong I just wanted to change page with a key
as reported in the guide https://esphome.io/components/display/index.html
I look forward to your help, thanks
The HDC1080 image is missing in the Sensor Components section.
Tried to create a PR for this to get it back working, but I don't get why it is missing, because here it is:
The image for the DHT12 sensor is available and uses the same locations:
Seems like a server issue 🤷♂️
For bug reports related to the documentation site, please go to https://github.com/esphome/issues
For feature requests related to the documentation site, go to https://github.com/esphome/feature-requests
Thank you!
What new integration would you wish to have?
Apple HomeKit BLE device integration. More particularly, I would like to use the Fibaro Single Switch (HomeKit version) in HASSIO.
BLE is currently not functional in Hassio on the RPi3 and I have a few ESP BLE boards around the house for other functions, so was wondering if this could be implemented.
Product link:
Is your feature request related to a problem? Please describe.
Hope it wasn't something I did wrong, but
https://esphomelib.com/api/sensor/ads1115.html
says
auto *sensor = ads1115->get_sensor("ADS1115 Voltage #1", ADS1115_MUX_P0_N1, ADS1115_PGA_6P144);
but I had to use sensor::ADS1115_MULTIPLEXER_P0_N1
and sensor::ADS1115_GAIN_6P144
instead (i.e. specify the namespace, and the const names are different).
Would it make sense to allow selecting a batch of devices and uploading them one after other? It would make it easier to upgrade or change a snippet of code on all devices.
While I was able to follow the instructions and go for a pio run, I can't use the custom sensor with esphomeyaml - is this by intent, or is the documentation incomplete ?
I believe that the counting total pulses example in the docs has the code starting with pin: 12
indented once too many times
# Example configuration entry
sensor:
- platform: pulse_counter
pin: 12
unit_of_measurement: 'kW'
name: 'Power Meter House'
filters:
- multiply: 0.06 # (60s/1000 pulses per kWh)
total:
unit_of_measurement: 'kWh'
name: 'Energy Meter House'
filters:
- multiply: 0.001 # (1/1000 pulses per kWh)
should be
# Example configuration entry
sensor:
- platform: pulse_counter
pin: 12
unit_of_measurement: 'kW'
name: 'Power Meter House'
filters:
- multiply: 0.06 # (60s/1000 pulses per kWh)
total:
unit_of_measurement: 'kWh'
name: 'Energy Meter House'
filters:
- multiply: 0.001 # (1/1000 pulses per kWh)
2022.10.0
pip
No response
ESP8266
No response
No response
No response
No response
No response
Hi
I was wondering if you could please add the Skywriter: 3D Gesture Sensing Breakout to ESPHOME. The link is here: https://shop.pimoroni.com/products/skywriter?variant=1047423445&gclid=EAIaIQobChMIu5KPyLX84AIVls13Ch1rVwRYEAQYByABEgKvkPD_BwE#description
It would be great to control other devices maybe via MQTT using the Skywriter 3D as it can penetrate through wood and longer distances than other gesture sensors.
Thanks.
Hello.
I have the hassio installed on Intel NUC in docker (Ubuntu 18.04.1 LTS)
I install the addon but when compile gives the following error:
[API] ConnectionError: HTTPConnectionPool(host='api.platformio.org', port=80): Max retries exceeded with url: /v2/lib/search?query=name%3A%22ArduinoOTA%22 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0xb701f5ac>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',)) (incremented retry: max=5, total=1)
The shunt_resistance of 0.1Ohm will not output the correct power. The value of 0.001Ohm will
correct it but the physical resistor is still R100 also 0.1Ohm.
sensor:
max_voltage: 32.0V
max_current: 3.2A
update_interval: 10s
Is there a way to make the automation so the button toggle the light-switch, so i can remove the switch section completly.
binary_sensor:
platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
name: "Sonoff 4CH Button 1"
on_press:
switch.toggle: relay_1
output:
platform: gpio
pin: GPIO12
id: gpio_d1
light:
platform: binary
name: "Køkkenbord"
output: gpio_d1
i have tryed:
-light.toggle: relay_1
-light.toggle: gpio_d1
-switch.toggle: relay_1
-switch.toggle: gpio_d1
but an id: in the light
I would love to see the community grow and create their own sketches. Another way for the community to contribute and collaborate is to add a light effect cookbook section for the light component.
Is there any plans to add more effects (all of them) from the library https://github.com/kitesurfer1404/WS2812FX that you have started using ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.