Home Assistant, ESPHome and JZK ESP-32S

Viktor Petersson
2 min readNov 16, 2019

Long story short, I’ve pimped out my apartment with a lot of Ikea Smart products, such that I can control (and automate) everything from Home Assistant. While I admittedly have a love-hate relationship with Home Assistant, it is generally speaking a pretty impressive software.

One thing I’ve been meaning to do for some time is to log the temperature in various rooms. Since I didn’t want to put a Raspberry Pi in every room, I opted for an ESP32 with a DH22 sensor. While I initially planned to write a simple web server or MQTT client to export the data, I was lucky to run across ESPHome, which does all of this out of the box. Moreover, it also integrates seamlessly with Home Assistant.

As someone who haven’t spent a ton of time with embedded hardware, it took me a little while to get this all working. Most of the time however was spent trying to get my JZK ESP-32S ESP32 to properly read the sensor. Due to very poor documentation for the board, I wasted a lot of time. However, after finding these schematics I was able to get it to work on D25.

For those who bought the JZK ESP-32S ESP32, here is the configuration that I ended up for in ESPHome:

esphome:
name: office
platform: ESP32
board: esp32doit-devkit-v1

wifi:
ssid: "not-my"
password: "wifi-confi"

# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Office Fallback Hotspot"
password: "xxxx"

captive_portal:

# Enable logging
logger:

sensor:
- platform: dht
pin: 25
model: DHT22
temperature:
name: "Office Temperature"
humidity:
name: "Office Humidity"
update_interval: 60s

# Enable Home Assistant API
api:

ota:

Other pro-tip for people new to Home Assistant:

  • Don’t use a Raspberry Pi if you’re doing something beyond very basic. Instead use a virtual machine or similar.
  • Switch to using MySQL instead of the default Sqlite3 database as the backend as it will significantly improve performance.
  • Bonus: Adopt InfluxDB, which you can then consume from Grafana for better visualization.

Originally published at https://blog.viktorpetersson.com on November 16, 2019.

--

--

Viktor Petersson

CEO and Co-founder of @WireLoad / @ScreenlyApp. #DigitalNomad #Entrepreneur #Speaker #Geek #Cloud #DevOps