[App][Pro] ESP Easy (Firmware for ESP32, NodeMCU, Wemos...)

I created an app for communicating with ESP Easy firmware for development boards like the NodeMCU v3 and Wemos D1. You can use this combination to easily build your own sensors, switches and actuators and interface then with Homey.

The app should support the latest release 2.* version of the firmware, you can find those on their Github page. I currently run release mega-20200608.

You can install the app from the Homey app store

I maintain a Github Wiki page that contains a lot of information and step-by-step instructions to help get you started. It’s available at: Home · Joolee/nl.joolee.homey.espeasy Wiki · GitHub

I will need a lot of support from you guys to add extra devices, languages and boards to the app. Please make yourself known here if you can send me crash-logs and other data for your set-up.

8 Likes

Link is broken :frowning:

Squashing some last bugs, I needed the topic ID for my manifest :sweat_smile:

1 Like

Fixed :slight_smile:

@Joolee Cool! thanks for making this app :+1:

Was woring with the Homeyduino, but ran into a bug that you cannot add 2 temperatur sensors.
And it doesnt seem like someone is going to fix that.

Are there going to be options to add 2 DS18B20 temp sensors in the ESPEasy app?

I don’t see why not. Devices are all added separately in my app so If you can attach two of those to your ESP unit, you can add them in my app.

I don’t have support for them yet though but you can help me with that:
Set up the ESP unit in my app so you can see that it’s receiving events, wait a few minutes for temperature updates to come in and send me a crash report from the app settings page. You can make an issue on Github with the content of the /json page and the crash report ID.

I just added support for a simple switch input device in version 1.1.1. You can test it on: https://homey.app/a/nl.joolee.homey.espeasy/test/

In theory, it should be easy now for me to add additional input devices. Which ones should I add first?

Also, I’m looking for people that can provide me information about their set-ups.

Adding extra sensor devices is indeed pretty easy. I just added support for all environmental sensor plugins installed on my test-device like the famous DS18b20 temperature sensor.
Version 1.2 is in testing: https://homey.app/a/nl.joolee.homey.espeasy/test/

Okay it works great.

Got 4 Temp sensors at 12 bit running :slight_smile:
Also works on Insights,

Feature requests:
Add wifi signal strength to insigths, to see when my garden wifi drops.
And also send me a notification on that if signal goes below certain level.

Also, the pairing wizard was not extremely clear.
On the second step i was waiting for an event, until i found out i had to do something :stuck_out_tongue:
Maybe make the text more clear there.
Or add manual on the GIT readme.
Also adding the IDX later to the sensor was not directly clear on how to do so.
But i am also new to ESP Easy so that might also have been the problem.

Allw orks now for me. Thanks,
Time to make som Pool automation flows :smiley:

App version:
1.3.0
Firmware:ESP_Easy_mega_20200608_normal_ESP8266_4M1M
Device esp8266 ESP12E (nodemcu clone)

I will add the feature request for Wifi strength. Shouldn’t be too hard and I need to add a bunch of flow cards any way so to get a notification on changes should work then :slight_smile:

Can you recommend a better text for the pairing wizard? I can’t think of anything to make it more clear.

I have been thinking about the pairing os sensors and how to make that better. I am now using the default devices list view from Homey but I will probably need to make my own with some better descriptions: I made a Github issue

/Edit: would this be better?

What confused me was the Waiting for device events.

Sounded like something automatic will happen, and that you are able to click next.
While you shouldnt be able until you have the first event.

But this one is already better than before :slight_smile:

Maybe make it a more step by step:
"To enable readout of the ESP-Easy you have to configure Homey as a autorized controller inside the ESP_Easy webpage.

Go ot IPLINK
Note:…

Enter the following settings in the controller TAB:

SETTINGS

LOGO

Please configue…

When all is correcrtly entered Homey will receive an event to continue."

Something like that?
I was new to esp easy so with this text you immediately understand what the controller tab does. (who has time to read that wiki? :stuck_out_tongue: )

Those are good suggestions! I will change the pairing process for units some time soon as I found a few other tweaks I can use while making the pairing pages for other device types.

I added Wifi strength in the test but I’m getting some weird warnings every time I trigger a flowcard (even though it does seem to work) so I’m hesitant to release it like this.
Warning I’m getting is: ‘invalid_flow_card_id’. I’ll test some more with this to try and find out what the problem is. Maybe I’ll change the name of the capabilities, I read that if they start with “meter_”, they automagically get some flowcards. That won’t be compatible with current users though…

Can you please tell me how you did get it work?
Should I leave the following fields empty? Even when I fill in username and password the app is still waiting for an activity.

Thank for your help.

You should put the URL provided in the pairing screen into the “Controller Publish” field:
api/app/nl.joolee.homey.espeasy/?i=%ip%&m=%mac%&t=%tskname%&x=%id%&k=%valname%&v=%value%

The ESP device will unfortunately only send events when a device has something to say and has the controller enabled.
If you don’t have any devices on the devices page (yet), you can test it by adding a “Generic - System info” device. It will send an event to controllers every minute. Like so:

But you can also just click Next. You don’t have to wait for events :slight_smile:

I will put the URL in the readme as well.

I have done so but I do not understand why the app still telling : “Waiting on activity” .
The following info is entered:

You don’t need to enter any controller credentials. You make a Controller so the ESP device knows how to send information to Homey. Homey accepts that information without any credentials.

You need some devices in the “devices” tab in the ESP unit configuration. Otherwise, it won’t send any events to Homey. You can add a “Generic - System info” device if you don’t have anything else. Like you see in my screenshot.

@Luccie_007 I added the WiFi strength in version 1.4.0, it’s now in testing:

Also fixed the Humidity reporting for environment devices and a bunch of other bugs.

wifi strength works :slight_smile:

Now next issue.
I added an lux meter on the analog input, which is not neceeserely supported by ESP Easy.
But you can choose: Analog input Internal.
Than it shows my value from 0 til 1024. So that works.

but i cannot add it to Homey,

2 problems:
Envirement doesnt support the analog input i guess?

If i then fake another light sensor on IDX3, it wont add that one, as it says my controller is not assigned (but it is). but that might not be a bug as the sensor os not there.
But i wanted to trick homey by adding a fake light sensor, and then changing IDX in the esp easy :slight_smile:

Also tried to trick homey with an already added temp sensor, allocating that to IDX4,
Add it to homey. and then set temp back to IDX1 and assign analog input to IDX 4.
But get the following then:
Invalid device type of “Analog input - internal” for controller 1, IDX 4

Anyway to add universal devices via analog input? And assign the type of connected sensor in homey?

PS:
Im alos looking ofr somethin to tell me if the ESP easy didnt update its values (aka is offline) is there some type of flow you have in mind to do this?
Because the values received last stay alive in homey if i unplug power, (which might enable a flow when checking against the old values)

Maybe add (Last Seen as a When or Then flowcard if under X minutes all is okay)

You can’t add Analog input devices yet. It shouldn’t be too hard to add them so I’ll look into that tomorrow.

As for the updated values; I want to find out if I can use date/time in Homey tags. Otherwise, I will add a tag that roughly shows how many minutes ago the last value was received.