'ET Display Home' a flow to help manage your ESPeasy, Sonoff/Tasmota and Homie flashed devices (now on GitHub)

Not sure what is happening but I get the info back fine

I'm not sure what you are going to use your devices for, but in my mind ESPeasy has much more flexibility. You should give it a look.

sorry for my late reply, the system does not allow new users to make so many replies on their first day. I was blocked for 15 hours!
As I mentioned I am not a real node red or java script expert. But I tried reading me in the flow a bit.
As I can see you first get the host IP, afterwards you do a network scan, both works here as far as I can see.
The return of the network scan is some text line which as it looks to me is run throug a re expression to filter the IP. The result is fed to a http request. As it looks to me, here the problem starts on my system.
I used the nmap manually now, to get all the living IPs in my network. This way I have now 27 addresses to check, besides some daily electronic gadgets and mobiles most will be Tasmotas.
Thanks to your help, I have the information I needed.

thanks for the hint, I will give ESPeasy a look

Did you take a look at TasmoAdmin ? Centralized control of your tasmota devices, something like this topic, but more features.

Thanks for the hint, I will look at it

Hi

I read through this post and find it very interesting. I have a Raspberry Pi Model B Rev 2, running Raspbian Buster. Also battled to get Sqlite installed, but it is fine now. I installed etdh_v0113.json, and it deploys without errors. The dashboard (see first picture) however does not pick up my Wemos, and Sonoff's, all running ESPEasy.

What I do see is an error on the Update the nodes"Tab, see second picture. The error "Error: connect ECONNREFUSED 192.168.1.145:80 : http://192.168.1.145/json" has the IP of my PI.

Picture 1: Dashboard

Picture 2: Update devices
image

Hi Deon,
thanks for trying this and you have spotted a problem with my instructions and a need for a rewrite of the code (to only have one sqlite node). I just flashed a new SD card and set this up on a Pi model B (version 1) and yes it takes some time to install sqlite because the node-red-node-sqlite has to compile (not to mention how long it takes to do an apt update/upgrade - I'd forgotten that when you do that on a early Pi, you should then go for a five mile walk and then go out for dinner and maybe it will be done :rofl:)

The ECONNREFUSED messages are normal since any device that is not a ESPeasy or Tasmota device won't accept the request (I get 5 of those messages myself)

Anyway. did you configure all the sqlite nodes? I name the database /home/pi/esp8266.db. Once that is done and you go to the Initilization tab and edit the Get and store the IP range function node and change the second line:
payload&".1-150"
to
payload&".1-255"
so scan your entire network. Then press the inject buttons in Step 1 and 2 and let me know what happens.

Looks like Tasmota changed the link to their latest version. To fix this go to the Check for new ESPeasy release tab and in the Tasmota flow, edit the node extract latest version and change the two lines containing
var str = '<a href="/arendst/Sonoff-Tasmota/tree/';
to
var str = '<a href="/arendst/Tasmota/tree/';
deploy and press the update button in the dashboard and it show the latest version.

I'll fix this in the rewrite in a couple weeks.

Hi Paul

I picked up the range and amended it. I take your point on the older PI's. Luckily my main PI running my home system is a 3, so this is just a backup. Anyway I followed your instructions, actually had two line items in the display, but after reset (step 1, and 2) they are gone now, so sorry no screenshot. What I did see, was one Tasmota and and ESPEasy. The Tasmota is just a trial, so not really worried about that. The ESPEasy is the only one left with original firmware. I'm using @Christian-Me Homie (MQTT) firmware. Could that be reason I'm not picking anything up? I'm note sure how you identify the devices, hence the question. Oh, I also did not change any of the sqlite nodes, used it as is.

If you open one of the sqlite nodes, what database is it pointing at?

If you have a device with ESPeasy installed on it, it should show up. This flow isn't usng MQTT at all, it just sends an http request http://the-ip-address/json and the ESPeasy device returns a json object with the devices settings.

It is pointing at /home/pi/esp8266.db, like in your example.

So if you know the address of the ESPeasy device, what do you see in you enter
http://ip-of-espeasy-device/json

What version of espeasy is installed on the device?

Hi Paul

This is what I see, just copied first part of JSON.

{"System":{

"Build":20103,
"Git Build":"",
"System Libraries":"ESP82xx Core 2_4_2, NONOS SDK 2.2.1(cfd48f3), LWIP: 2.0.3 PUYA support",
"Plugins":49,
"Plugin description":" [Normal] [Normal Homie]",
"Local Time":"1970-00-00 00:00:00",
"Unit Number":0,
"Unit Name":"WEMOS01",
"Uptime":1871,
"Last Boot Cause":"Manual reboot",
"Reset Reason":"Hardware Watchdog",
"Load":18.40,
"Load LC":2292,
"CPU Eco Mode":"false",
"Free RAM":14808
},

Kind regards,

Deon du Preez

083-306-8561

Deon,

It is odd that you don't have a "Git Build". If you go to the the ESPeasy main menu ie `http://ip-of-espeasy-device/' Does it show the Git Build there?

Which build are you using?

I think he is using a custom build (actually my build including the latest beta version of the homie plugins)

Ahhh that might be the reason it is not showing up. If the custom build is not returning the json data that the normal build returns then the data will not be there to be picked up by the flow.

hmmm.. But This should not causing any problem. All my firmware builds are "self build"

Thank you for showing me the url. Even workling with ESPEasy for many years now I did not know that this exists. Could be sometimes handy.

This is what it responds for one of my devices. Seems to be correct. Git Build must be empty because I compiled it myself.

{"System":{
"Build":20103,
"Git Build":"",
"System Libraries":"ESP82xx Core 2_4_2, NONOS SDK 2.2.1(cfd48f3), LWIP: 2.0.3 PUYA support",
"Plugins":48,
"Plugin description":" [Normal] [Normal Homie]",
"Local Time":"2019-12-19 13:59:08",
"Unit Number":59,
"Unit Name":"Bewaesserung-2",
"Uptime":2333,
"Last Boot Cause":"Manual reboot",
"Reset Reason":"Hardware Watchdog",
"Load":18.00,
"Load LC":4040,
"CPU Eco Mode":"false",
"Free RAM":13744
},
"WiFi":{
"Hostname":"Bewaesserung-2",
"IP Config":"Static",
"IP Address":"192.168.2.59",
"IP Subnet":"255.255.255.0",
"Gateway":"192.168.2.1",
"STA MAC":"5C:CF:7F:4C:54:71",
"DNS 1":"192.168.2.1",
"DNS 1":"192.168.2.1",
"SSID":"LOL-AP-02",
"BSSID":"FE:1A:67:D6:DA:47",
"Channel":4,
"Connected msec":139986014,
"Last Disconnect Reason":1,
"Last Disconnect Reason str":"(1) Unspecified",
"Number Reconnects":0,
"Force WiFi B/G":"false",
"Restart WiFi Lost Conn":"false",
"Force WiFi No Sleep":"false",
"Periodical send Gratuitous ARP":"false",
"Connection Failure Threshold":0,
"RSSI":-77
},
"nodes":[
{"nr":0,
"name":"ESP_Homie_Test",
"build":20103,
"platform":"ESP Easy Mega",
"ip":"192.168.2.185",
"age":1
},{"nr":4,
"name":"Steckdose01",
"build":147,
"platform":"ESP Easy",
"ip":"192.168.2.54",
"age":1
},{"nr":41,
"name":"Gartenbeleuchtung-1",
"build":20103,
"platform":"ESP Easy Mega",
"ip":"192.168.2.41",
"age":0
},{"nr":58,
"name":"Bewaesserung-1",
"build":20103,
"platform":"ESP Easy Mega",
"ip":"192.168.2.58",
"age":1
},{"nr":59,
"name":"Bewaesserung-2",
"build":20103,
"platform":"ESP Easy Mega",
"ip":"192.168.2.59",
"age":1
},{"nr":63,
"name":"Teichventil",
"build":20103,
"platform":"ESP Easy Mega",
"ip":"192.168.2.63",
"age":0
},{"nr":64,
"name":"Teichpumpe",
"build":20103,
"platform":"ESP Easy Mega",
"ip":"192.168.2.64",
"age":1
}],
"Sensors":[
{
"TaskValues": [
{"ValueNumber":1,
"Name":"uptime",
"NrDecimals":2,
"Value":2333.00
},
{"ValueNumber":2,
"Name":"rssi",
"NrDecimals":2,
"Value":-77.00
},
{"ValueNumber":3,
"Name":"freeheap",
"NrDecimals":2,
"Value":13064.00
},
{"ValueNumber":4,
"Name":"freestack",
"NrDecimals":2,
"Value":3376.00
}],
"DataAcquisition": [
{"Controller":1,
"IDX":0,
"Enabled":"true"
},
{"Controller":2,
"IDX":0,
"Enabled":"false"
},
{"Controller":3,
"IDX":0,
"Enabled":"false"
}],
"TaskInterval":60,
"Type":"Generic - System Info",
"TaskName":"System_Info",
"TaskEnabled":"true",
"TaskNumber":1
},
{
"TaskValues": [
{"ValueNumber":1,
"Name":"time",
"NrDecimals":0,
"Value":10
},
{"ValueNumber":2,
"Name":"number",
"NrDecimals":0,
"Value":8
},
{"ValueNumber":3,
"Name":"runTime",
"NrDecimals":0,
"Value":580
},
{"ValueNumber":4,
"Name":"finished",
"NrDecimals":0,
"Value":3
}],
"DataAcquisition": [
{"Controller":1,
"IDX":0,
"Enabled":"false"
},
{"Controller":2,
"IDX":0,
"Enabled":"false"
},
{"Controller":3,
"IDX":0,
"Enabled":"false"
}],
"TaskInterval":60,
"Type":"Generic - Homie receiver [TESTING]",
"TaskName":"Valves",
"TaskEnabled":"true",
"TaskNumber":2
},
{
"DataAcquisition": [
{"Controller":1,
"IDX":0,
"Enabled":"false"
},
{"Controller":2,
"IDX":0,
"Enabled":"false"
},
{"Controller":3,
"IDX":0,
"Enabled":"false"
}],
"TaskInterval":60,
"Type":"Display - LCD2004",
"TaskName":"LCD",
"TaskEnabled":"true",
"TaskNumber":3
}
],
"TTL":60000
}

Nope, you are not returning the information in the way the normal build does. For instance, the normal builds return a whole section called 'Device' that I get most of the information from.

You might want to flash a device with a standard build and dump the json from it to see the difference from what you create.

I see, Perhaps my fork/pull is an older version of ESPEasy than you are expecting. I not very often doing a pull/rebase of my fork (there were a some stability issues and my builds where working fine so I decided to wait). A rebase and new PR (with a lot of new features and bugfixes of the homie plugins) is on my to do list over the holidays).

All the device data (including the IP) is available by the homie convetion. That's why I didn`t knew about the json over http thing at all. So sorry for @deon-dup you have to wait a little bit longer if you still use my ESPEasy build (perhaps try a recent dev build if there are still produced but this will have some limitations in the homie plugins)

Hi

To the point Chris made, the GIT shows an empty space on all the devices with his firmware. I do however have two ESP’s (1xSonoff, 1xWemos D1 Mini) with mega-20190903 loaded. I re-run your software Paul, but is still does not show up any ESP. I must have something incorrectly setup somewhere else in your code.

PastedGraphic-1.png