Esphomelib - library to greatly simplify Home Assistant integration with ESP32

I’m not sure we’ll ever find it out.
Congratulations, that notification bugged me all the way between 0.88 and 0.89 so I was really happy to upgrade :\

is there any way to know which version of ESPHome I’m running on? I can’t find anywhere to see it.

I’m running ESPHome in Docker. I’ve told Portainer to recreate the container by pulling the latest image. When that didn’t seem to work I deleted the container and deleted the image to force it to pull the latest image.

here is my docker run command:

sudo docker run -d --name="esphome" --restart=unless-stopped -p 6052:6052 -p 6123:6123 -v /home/finity/docker/esphome:/config ottowinter/esphomeyaml:latest /config dashboard

When ever I go to the dashboard I always see a link to “ESPHome 1.10.1 Documentation” in the bottom right corner. And when I try to upload to a device with the version i’m running now (which should be 1.12.1 based on using the “:latest” tag in the pull command) I always get the following message in the upload terminal screen:

So either my docker run command isn’t really pulling the “latest” image or I’m missing a step in converting my configuration files to the latest version. I thought that if I pulled a new version and just hit “upload” it would automatically re-compile based on the new version before it uploaded the file to the device. Am I wrong about that assumption?

I get the latest version by issuing
esphome blah.yaml clean
pip2 install -U esphome
esphome blah.yaml run

To find out the used version call
esphome blah.yaml version

To find out what version your node was compiled with open its integration or get it on start of
esphome blah.yaml logs

You can use ouroboros which auto updates all docker images automatically, below is the docker-compose file. It has also integration with various notification apps

more info see here.

  ouroboros:
    container_name: ouroboros
    hostname: ouroboros
    image: pyouroboros/ouroboros
    environment:
      - CLEANUP=true
      - INTERVAL=300
      - LOG_LEVEL=info
      - SELF_UPDATE=true
      #- IGNORE=mongo influxdb postgres mariadb
      - TZ=Europe/Brussels
      - NOTIFIERS="tgram://botid/chatid"
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

I believe the correct docker is esphome/esphome.

Ottowinter/esphomeyaml is no longer updated.

1 Like

ahh…that could explain it.

I just tried it and it worked. Thanks! :+1:

I just installed ESPHome for the first time a couple of months ago so I’m not sure where I got the old docker config from. Unless it has changed recently since then and I just missed it.

I’m using docker so that won’t do it for me. thanks tho.

Thanks for the reply but I really dislike the idea of automatic updates. Especially for HA with all the potential breaking changes.

@finity if you read the docker-compose example above you can see that you have an option to add docker critical containers on the ‘ignore’ list so that those does not get updated automatically.

indeed, rpi config below

   esphome:
     container_name: esphome
     image: esphome/esphome-armhf
     ports:
       - "6052:6052" 
     volumes:
       - /opt/docker/esphome/config/:/config:rw

Docs rule

Yeah, but I dislike the idea of automatic un-prompted updates in general. It would be pointless to use it if I then just selected to ignore everything. :slightly_smiling_face: And it wouldn’t have helped in this case anyway since I was using the wrong image.

Nothing against your suggestion tho. It just isn’t my thing.

Why, yes they do. But it helped to know that I wasn’t even using the correct docker image to prompt me to look for a possible newer one. Sometimes you don’t know what you don’t know to be able to find out what you don’t know. Ya know? :wink:

Absolutely! :wink:

I have seen, that you add mpr121 to esp home. Perfect. But is there some option to change treshold value (sensitivity) for sensors?

Hi @OttoWinter, hi the rest of the home assistant community,

I’m trying to get the remote transmitter to send some 433Mhz signals, but my ESP32 doesn’t send a single signal …

Hardware: ESP-WROOM-32, Arduino Uno, STX882, SRX882 and FS1000A sender and receiver

The RF Modules work on the Uno, they are not the problem. I’m sniffing with the Uno and when I’m trying to send the signal via the ESP32 (both senders tried) nothing happens on the serial monitor of the Arduino IDE. When I’m using the stock remote control of the power plugs, the codes are shown in the serial monitor, so the sniffer works too. That’s the code from my ESPHome Dashboard:

esphome:
  name: 433_bridge
  platform: ESP32
  board: nodemcu-32s

wifi:
  ssid: '****'
  password: '****'

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

remote_transmitter:
  pin: GPIO17
  carrier_duty_percent: 100%

switch:
  - platform: remote_transmitter
    id: burotv_an
    rc_switch_type_a:
      group: '01111'
      device: '10000'
      state: True
      protocol:
        pulse_length: 314
  - platform: remote_transmitter
    id: burotv_aus
    rc_switch_type_a:
      group: '01111'
      device: '10000'
      state: False
      protocol:
        pulse_length: 314
  - platform: template
    name: Büro TV
    optimistic: True
    assumed_state: True
    turn_on_action:
      - switch.turn_on: burotv_an
     turn_off_action:
       - switch.turn_on: burotv_aus

The log:

[23:25:36][C][wifi:371]: WiFi:
[23:25:36][C][wifi:253]:   SSID: [redacted]
[23:25:36][C][wifi:254]:   IP Address: ****
[23:25:36][C][wifi:256]:   BSSID: [redacted]
[23:25:36][C][wifi:257]:   Hostname: '433_bridge'
[23:25:36][C][wifi:261]:   Signal strength: -72 dB ▂▄▆█
[23:25:36][C][wifi:262]:   Channel: 11
[23:25:36][C][wifi:263]:   Subnet: ****
[23:25:36][C][wifi:264]:   Gateway: ****
[23:25:36][C][wifi:265]:   DNS1: ****
[23:25:36][C][wifi:266]:   DNS2: ****
[23:25:36][C][switch.template:063]: Template Switch 'Büro TV'
[23:25:36][C][switch.template:063]:   Assumed State: YES
[23:25:36][C][switch.template:064]:   Restore State: NO
[23:25:36][C][switch.template:065]:   Optimistic: YES
[23:25:36][C][logger:142]: Logger:
[23:25:37][C][logger:143]:   Level: DEBUG
[23:25:37][C][logger:144]:   Log Baud Rate: 115200
[23:25:37][C][logger:145]:   Hardware UART: UART0
[23:25:37][C][remote.transmitter:074]: Remote Transmitter...
[23:25:37][C][remote.transmitter:075]:   Channel: 0
[23:25:37][C][remote.transmitter:076]:   Clock divider: 80
[23:25:37][C][remote.transmitter:077]:   Pin: GPIO17 (Mode: OUTPUT)
[23:25:37][C][remote.transmitter:088]:   Transmitter 'burotv_an'
[23:25:37][C][remote.transmitter:088]:   Transmitter 'burotv_aus'
[23:25:37][C][api:101]: API Server:
[23:25:37][C][api:102]:   Address: 433_bridge.local:6053
[23:25:37][C][ota:127]: Over-The-Air Updates:
[23:25:37][C][ota:128]:   Address: 433_bridge.local:3232

I tried multiple GPIOs, f.e. GPIO 1, 26, 27, …I also tried if the GPIO26 is basically working, made a script in esphome with a relais and I was able to control it, so at least the GPIO26 works fine.

I hope somebody here can help me, because in discord nobody answers … I’ve got the feeling, that there is a simple mistake in my config of the ESP, but I cant find anybody with the same problem in the www.

@OttoWinter thank you for developing ESP Home its brilliant ! . Have integrated all my sonoff kit . so simple

I have an M5 stack core https://www.m5stack.com/ with an ILI9341 display . I can setup the wifi and the buttons as binary sensors , but cannot get the display to work. This device would be awesome in HA . Is this display type supported ?

1 Like

can anyone verify that the HC-SR04 Ultrasonic Sensor component is now working correctly in the latest release version of ESPHome (V1.12.2)?

I have two more nodeMCU devices to switch to ESPHome and one of them is a US sensor and there was another thread that said they weren’t working in v1.12.1.

bump for @OttoWinter?

Cylra,

Did you ever get your HX711 working? I’m trying to have the device report in lbs, but am unsure what to do for the calibration. I tried entering the value that came in for 0lbs (with nothing on scale, and the output for a known value in lbs. And while it reports “0 lbs” for an unloaded scale, it reports -140 lbs for a loaded scale.

Here is what my sensor in ESPHome looks like

sensor:
  - platform: hx711
    name: "HX711 Value"
    dout_pin: D2
    clk_pin: D3
    gain: 128
    update_interval: 1s
    unit_of_measurement: lb
    filters:
      - lambda: |-
          auto first_mass = 0.0; 
          auto first_value = 8398500;
          auto second_mass = 208.5;
          auto second_value = 20620000;
          return map(x, first_value, second_value, first_mass, second_mass);

Could you please show me what you did?

Hi,

You are ahead of me :-), as I didnt finish my project. I did some experiments with calibration but I guess I was using a arduino sketch instead of esphome, but I could’nt find it (have to search again). But what was a real pain is to discover that I needed a “wheatstone bridge” and had just bought the hx711 and a two load cells. Then, I had that Eureka moment and remembered that I had a bathroom scale with a failing display that I could just strip and use the cells and that bridge!
So… how did you wired your hx711 and how many cells are you using? My first guess is that your negative reading is due to incorrect wiring.

I think the ESPHome component just doesn’t work properly. I tested my setup with Arduino IDE and it works perfectly. I ended up writing a custom component with a working HX711 library. I’ll share it soon.

@OttoWinter

1st, great job on this add-on. Lets us Noobs get in on the action easily. Thank you.

Currently on Hassio 93.2, ESPhome 1.13.2, using a ESP8266 NodeMCU using this controller/motor kit.

https://www.amazon.com/gp/product/B075WTSGK6/ref=ppx_yo_dt_b_asin_title_o05_s01?ie=UTF8&psc=1

I am am using your stepper component. I have a TB6600 stepper motor controller that functions like the a4988 with pulse and direction. So I used your a4988 platform and changed the pins in my configuration to match my wiring between the NodeMCU and TB6600. Everything works great. I can send a target and the motor rotates to the proper position with the correct rotation direction. SUPER…

But I am having one issue. Say my current position is 150 steps. IF I input a negative target (say -100), the motor will rotate in the proper direction until it gets to the “0” step and will not continue to the -100 step. (Like I said above, if I am at step 200 and input step 100, motor rotates the correct direction to the target) I looked at the source code for the stepper component and it appears to address negative targets correctly, but I am not a hard core coder either.

I can make the current situation function for my application, but it would be nice to be able to go to negative step positions.