Everything Smart Home has released the EP1 for preorder

Followup to this post:

They just released the sensor for sale preorder..

Note: it does use ESPHome and it looks like there are drivers in the works thanks to @jonathanb

Or you might spin up HomeAssistant and use the Hubitat Bridge (HADB) to expose the device to HE.

$94 Canadian for a kit, then $52 for shipping.

Great idea, but too rich for my frugal wallet.


Yeah was $68 + $27 USD shipping to the US, pre-ordered 2 for testing (and to support EST) - already have a couple FP1's onhand which work well. Those are $50 USD.

1 Like

12v pir, temp sensor, nodemcu... About 20 quid.

Not for me, but horses/courses.

1 Like

Has anyone made a driver for this EP1 mmwave motion sensor? I don't have HA only HE.

1 Like

Have the pre-orders been delivered to buyers?

I've had my 10 units for months. I just tried setting them up tonight, and haven't been able to get the actual entities work yet.

You can flash firmware configured for 1) Home Assistant, or 2) SmartThings. The ESPHome driver in HPM has specific support for this device.

When using the EP1 in HA-mode, the ESPHome driver in HE can communicate, but no entities appear.

When using the EP1 in ST-mode, the ESPHome driver cannot communicate, but interestingly-enough the EP1 then has its own UI you can access, like Tasmota.

If I figure this out, I'll report back.

btw temp and illuminance do report right out the box.

1 Like

I ordered the most recent release cycle, and it's in route in the US Customs last I checked. From UK.

1 Like

How do you get HE to even capture the device? ZigBee and zwave seem like none starters.

1 Like

No offense but if you don't know this is a Wi-Fi based sensor, you might be in over your head.

Yeah I know that. I'm just saying it's not as obvious as ZigBee and zwave. Just trying to find out how to get this to pair without smart things or HA. I can't find any instructions. Plus you don't have to be a dick about it. Just asking the question.

1 Like

For anyone reading this here in this thread, it's a rather simple process of configuring via the browser applet in the EP1 documentation. This allows you to upgrade the code/firmware, and configure Wi-Fi.

From there, you would download the ESPHome drivers from HPM.

Not being a dick. I was merely pointing out that if there's any question whatsoever as to whether this device uses Zigbee, Z-Wave, or Wi-Fi, even after making the purchase, then said individual would really do well for themselves to take a deep-dive into the product documentation and perhaps watch any number of the super helpful YouTube videos from the creator, and other reviewers.

I finally got the PC to recognize the ep1, but now I having to figure out how to get the sensors to detect right with the custom driver the other guy made, Only showing illumination and tempature currently. YAY. :-/

1 Like

The package in HPM has been updated now and works with HE custom driver with debug on. Thanks to the developer!!! :star_struck:


How ever did you get this to work?
Mine works in HA, but cannot get it to connect to HE:

1 Like

I had the same problem (no entities and therefore no state info) and have now got it working.


In case anyone else is trying to get it working, the problem (at least in my case) was in the ParseKeys function in the driver. It was trying to search for parts of strings to identify which type of entity it's being told about, but nothing matched because it was expecting them to contain an underscore and none of them do. Maybe something changed in the firmware since the driver was written.

To fix it I just made it match exact strings instead, so my ParseKeys function now looks like this:

void parseKeys(final Map message) {
    if (logEnable) { log.debug "ESPHome entity: ${message}" }
    if (state.entities == null) { state.entities = [:] }
    final long key = message.key as long

    switch (message.objectId) {
        case 'illuminance':
            // Illuminance Sensor
            state.entities['illuminance'] = key
        case 'mmwave':
            // Millimeter wave radar sensor
            state.entities['mmwave'] = key
        case 'occupancy':
            // Occupancy Sensor
            state.entities['occupancy'] = key
        case 'pir':
            // Passive Infrared Sensor
            state.entities['pir'] = key
        case 'temperature':
            // Temperature Sensor
            state.entities['temperature'] = key
        case 'humidity':
            // Humidity Sensor
            state.entities['humidity'] = key
        case 'esp32_status_led':
            // ESP32 Status LED
            state.entities['status_led'] = key
        case 'everything-presence-one_safe_mode':
            // Safe mode switch
            state.entities['safe_mode'] = key
        case 'mmwave_distance':
            // Millimeter wave radar sensor distance
            state.entities['mmwave_distance'] = key
        case 'mmwave_led':
            // Millimeter wave radar sensor LED
            state.entities['mmwave_led'] = key
        case 'mmwave_off_latency':
            // Millimeter wave radar sensor off latency
            state.entities['mmwave_off_latency'] = key
        case 'mmwave_on_latency':
            // Millimeter wave radar sensor on latency
            state.entities['mmwave_on_latency'] = key
        case 'mmwave_sensitivity':
            // Millimeter wave radar sensor sensitivity
            state.entities['mmwave_sensitivity'] = key
        case 'mmwave_sensor':
            // Millimeter wave radar sensor switch
            state.entities['mmwave_switch'] = key
        case 'restart_everything-presence-one':
            // Restart everything switch
            state.entities['restart'] = key
        case 'uart_presence_output':
        case 'uart_target_output':
            // ignore
            log.warn "ESPHome entity not supported: ${message}"

Not claiming it's perfect or even "correct", just saying it seems to have worked for me.

I just found another issue. It wouldn't use the DHCP reservation I set for it so it kept changing IP address every time it rebooted so the driver lost the connection with it.

After investigating it looks like the MAC address the router shows in the DHCP reservations list isn't the right one so it was treating it like any other DHCP client without a reservation.

Documenting my fix here as much for my own benefit as anything as I'm bound to forget what I did :grinning:

I ran:

arp -a <ip address of sensor>

Which gave me a different MAC address to the one shown in my router's reservations. Updated the DHCP reservation on the router to use the new MAC address and now it seems to work.

All this could be something to do with my network setup though so it might not be the same for anyone else.

I moved my EP1 back to Home Assistant from ST and installed the ESPHome HE driver.

Had the same issue and just removed the leading underscores from the driver code.

Working fine now and reporting it's states.

Great, thanks for confirming.