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.
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.
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.
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/
Got 4 Temp sensors at 12 bit running
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
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
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
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
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
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? )
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.
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:
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.
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
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.