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

Hi @zenofmud,
I came across your flow and wanted to use it. It would solve quite a lot of my problems, but I did not get it running so far. I have to admit that I am close to beginner level.

My hardware: Rpi 3 with Buster
I installed sqlite with:
sudo apt-get install sqlite3 nmap
typing in sqlite3 I get:
SQLite version 3.27.2 2019-02-25 16:06:06

I installed node-red-node-sqlite

cat .node-red/package.json
{
"name": "node-red-project",
"description": "A Node-RED Project",
"version": "0.0.1",
"dependencies": {
"node-red-contrib-amazon-echo": "~0.1.8",
"node-red-contrib-bigtimer": "~2.2.5",
"node-red-contrib-ibm-watson-iot": "^0.2.8",
"node-red-contrib-play-audio": "^2.3.2",
"node-red-dashboard": "~2.16.3",
"node-red-node-openweathermap": "~0.2.1",
"node-red-node-ping": "0.0.16",
"node-red-node-random": "^0.1.3",
"node-red-node-serialport": "^0.8.6",
"node-red-node-smooth": "^0.1.0",
"node-red-node-sqlite": "~0.3.7"

The start of node-red gives: (sorry some German language in it)

Start Node-RED

Once Node-RED has started, point a browser at http://192.168.1.24:1880
On Pi Node-RED works better with the Firefox or Chrome browser

Use node-red-stop to stop Node-RED
Use node-red-start to start Node-RED again
Use node-red-log to view the recent log output
Use sudo systemctl enable nodered.service to autostart Node-RED at every boot
Use sudo systemctl disable nodered.service to disable autostart on boot

To find more nodes and example flows - go to http://flows.nodered.org

Starting as a systemd service.
21 Sep 07:10:03 - [info]
Willkommen bei Node-RED!

21 Sep 07:10:03 - [info] Node-RED Version: v0.20.8
21 Sep 07:10:03 - [info] Node.js Version: v10.16.3
21 Sep 07:10:03 - [info] Linux 4.19.66-v7+ arm LE
21 Sep 07:10:04 - [info] Paletten-Nodes werden geladen
21 Sep 07:10:08 - [info] Dashboard version 2.16.3 started at /ui
21 Sep 07:10:09 - [info] Einstellungsdatei: /home/pi/.node-red/settings.js
21 Sep 07:10:09 - [info] Kontextspeicher: 'default' [ module=memory]
21 Sep 07:10:09 - [info] Benutzerverzeichnis: /home/pi/.node-red
21 Sep 07:10:09 - [warn] Projekte inaktiviert: editorTheme.projects.enabled=fals e
21 Sep 07:10:09 - [info] Flow-Datei: /home/pi/.node-red/flows_node-red.json
21 Sep 07:10:09 - [info] Server wird jetzt auf http://127.0.0.1:1880/ ausgefĂŒhrt .
21 Sep 07:10:10 - [warn]

Die Datei mit den Datenflowberechtigungsnachweisen wird mit einem vom System gen erierten SchlĂŒssel verschlĂŒsselt.
Wenn der vom System generierte SchlĂŒssel aus irgendeinem Grund verloren geht, we rden Ihre Berechtigungsnachweise
Die Datei kann nicht wiederhergestellt werden. Sie mĂŒssen sie löschen und erneut eingeben.
Ihre Berechtigungsnachweise.
Sie sollten Ihren eigenen SchlĂŒssel mit Hilfe der Option 'credentialSecret' in
Ihre Einstellungsdatei. Node-RED wird dann Ihre Berechtigungsnachweise erneut ve rschlĂŒsseln.
Datei mit dem ausgewĂ€hlten SchlĂŒssel beim nĂ€chsten Deployen einer Änderung verwe nden.

21 Sep 07:10:10 - [info] Flows starten
21 Sep 07:10:10 - [info] Flows gestartet
(node:5254) MaxListenersExceededWarning: Possible EventEmitter memory leak detec ted. 11 open listeners added. Use emitter.setMaxListeners() to increase limit
(node:5254) MaxListenersExceededWarning: Possible EventEmitter memory leak detec ted. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
21 Sep 07:10:10 - [info] [sqlitedb:f82c5e83.786c98] opened /home/pi/esp8266.db o k
21 Sep 07:10:10 - [info] [sqlitedb:f82c5e83.786c98] opened /home/pi/esp8266.db o k
21 Sep 07:10:10 - [info] [sqlitedb:f82c5e83.786c98] opened /home/pi/esp8266.db o k
21 Sep 07:10:10 - [info] [sqlitedb:f82c5e83.786c98] opened /home/pi/esp8266.db o k
21 Sep 07:10:10 - [info] [sqlitedb:f82c5e83.786c98] opened /home/pi/esp8266.db o k
21 Sep 07:10:10 - [info] [sqlitedb:f82c5e83.786c98] opened /home/pi/esp8266.db o k
21 Sep 07:10:10 - [info] [sqlitedb:f82c5e83.786c98] opened /home/pi/esp8266.db o k
21 Sep 07:10:11 - [info] [mqtt-broker:a5691d87.838e18] Verbindung zum Broker mqt t://192.168.1.24:1883 hergestellt.

On the Dash Board I only get

ET Display Home v0.1.13

ESPeasy current release: (click to download)

Tasmota current release: (click to download)

Node Name Node Status Version RSSI Uptime Last boot cause Free RAM IP

I have repeated my installation several times, with varius version starting from the lates, but also older ones, like in this trial, the result is always the same, including the warning (node:5254) MaxListenersExceededWarning: Possible EventEmitter memory leak detected

Any ideas?

thanks, Floriano

  1. did you create the tables (Step 2 on the Initilization tab)?
  2. is anything showing up in the debug panel?

I have to admit, I have not tried it on Buster but will check it out today.

I tried to do step 2, but nothing happens, besides confirming the injection.
This is the debug info
21.9.2019, 08:31:56node: 3ee8806c.295bf8

msg : Object

object

_msgid: "7fe715a6.08497c"

topic: ""

payload: string

192.168.1.24

rc: object

code: 0

if I trz to update the nodes I get:
21.9.2019, 08:35:52node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 08:35:52node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 08:35:52node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 08:35:52node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 08:35:52node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 08:35:52node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 08:35:52node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 08:35:52node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 08:35:52node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 08:35:52node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 08:35:52node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 08:35:52node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 08:35:52node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 08:35:52node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 08:35:52node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 08:35:52node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 08:35:52node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 08:35:57node: 26d82629.904c8a

msg : Object

and finaly after a few minutes this
{ topic: "", _msgid: "f646f00a.ae75e", esp_release: "mega-20190903", tas_release: "6.6.0", etdh_version: "v0.1.9" }

21.9.2019, 08:36:35node: 48d6a76.c0ec658msg : Object

{ _msgid: "f2d66594.217448", topic: "", payload: "http://192.168.48.30/json", url: "http://192.168.48.30/json", error: object }

21.9.2019, 08:37:52node: 48d6a76.c0ec658msg : Object

{ topic: "", payload: "http://192.168.1.30/json", _msgid: "ffad582.8fed1a8", url: "http://192.168.1.30/json", error: object }

this is strange, because I do not have the 192.168.48.30 network

That is typical of a network error - a 5 minute delay for a TCP timeout. You tried to reach out to that network which, as you said, doesn't exist.

Oops! that is my network. Let me see where I left that around...(check back in an hour. I just got in from moving dirt in my yard and I need a quick shower)

Ok, the only place the 192.168.48.30 is referenced is in two inject nodes on the Update the 'nodes' db tab but they won't trigger unless you have pressed them. They were there for testing on my network and they can be removed.
27%20AM

I haven't finish installing buster and NR but I'm working on that now.

Thanks a lot for your help!

Indeed I had tried this button once, I have deleted both of them now as you suggested.

I looked a bit deeper in the "Update the nodes" TAB. Here I get the debug messages "Nicht-http-Transport angefordert" from. I assume this means that the format of the IPs given to the "GET the data from the IP" Node are not correct. As far as I can judge the output of the "pass only nmap line" and "get the IP and build msg.url" node is creating the problem. I enabled the debug node of "get the IP and build msg.url" and deployed. If my little understanding is correct, I should only get valid IPs at this point? Actually the Input to the "Get the data from the IP node looks like that:

msg : Object
object
topic: ""
payload: "Licht_Garten_3.lan (http://192.168.1.107/json)"
_msgid: "6ed52c26.ff6574"
url: "Licht_Garten_3.lan (http://192.168.1.107/json)"

(lots of similar Inputs like this follow)

Ok, I've just flashed a SD card with Buster and installed NR sqlite3 and nmap and in NR I installed node-red-dashboard and node-red-node-sqlite. On the 'Initilization' tab I ran the STEP 2 inject node to build the tables.

In the dashboard I clicked the UPDATE DEVICES button and it found all my devices.

Please try this: on the Update the 'nodes' tab turn on the debugs indicated in this image:
58%20PM
and remove the indicated link. Set the debug to display current flow and then press the `Press to manually run - automatically runs every hour' inject button.

Then copy the debug output and paste it into a reply.

Ok, I am using your latest version now which I have just loaded after deleting the other one I have played with before: ET_Display_Home_v019.json

Node-RED

21.9.2019, 13:59:16node: bc31ad93.ee7298msg : Object

{ topic: "", _msgid: "293ea764.acc1d8", payload: "192.168.1.24↔", rc: object }

21.9.2019, 13:59:16node: 94425be8.368088msg : Object

{ topic: "", _msgid: "652fb625.99da08", esp_release: "mega-20190903", tas_release: "6.6.0", etdh_version: "v0.1.9" }

21.9.2019, 13:59:34node: bc31ad93.ee7298msg : Object

{ topic: "", _msgid: "ffebf6f0.e1eed8", payload: "192.168.1.24↔", rc: object }

21.9.2019, 13:59:34node: 94425be8.368088msg : Object

{ topic: "", _msgid: "38952618.b3512a", esp_release: "mega-20190903", tas_release: "6.6.0", etdh_version: "v0.1.9" }

21.9.2019, 14:01:27node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:27node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:27node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:28node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:28node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:28node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:28node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:28node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:28node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:28node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:28node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:28node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:28node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:28node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:28node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:28node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:28node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:28node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:28node: GET the data from the IPmsg : string[32]

"Nicht-http-Transport angefordert"

21.9.2019, 14:01:28node: 2dd9bf37.712148

msg : Object

object

_msgid: "e2e2abd6.f06008"

topic: ""

payload: "Starting Nmap 7.70 ( https://nmap.org ) at 2019-09-21 14:01 -03↔Nmap scan report for 192.168.1.1↔Host is up (0.00071s latency).↔MAC Address: B0:4E:26:A6:55:0D (Tp-link Technologies)↔Nmap scan report for FOSCAM_WLAN.lan (192.168.1.12)↔Host is up (0.10s latency).↔MAC Address: E8:AB:FA:64:53:91 (Shenzhen Reecam Tech.Ltd.)↔Nmap scan report for red-node-hole (192.168.1.22)↔Host is up (0.11s latency).↔MAC Address: B8:27:EB:D0:62:D1 (Raspberry Pi Foundation)↔Nmap scan report for 192.168.1.30↔Host is up (0.041s latency).↔MAC Address: 68:37:E9:94:9C:C4 (Amazon Technologies)↔Nmap scan report for Mobil_Florian.lan (192.168.1.50)↔Host is up (0.057s latency).↔MAC Address: 94:0E:6B:E2:8E:F2 (Huawei Technologies)↔Nmap scan report for Mobil_Sabine.lan (192.168.1.60)↔Host is up (0.023s latency).↔MAC Address: 94:0E:6B:E2:8F:46 (Huawei Technologies)↔Nmap scan report for DLink_Repeater.lan (192.168.1.90)↔Host is up (0.10s latency).↔MAC Address: 10:BE:F5:05:E8:CE (D-Link International)↔Nmap scan report for..."

rc: object

21.9.2019, 14:01:28node: 838a88e3.fec97msg : Object

{ _msgid: "e2e2abd6.f06008", topic: "", payload: object }

Is this what you expected me to send?

sort of, I only expected the last two which look fine.
Is this on your home network?
Do you have any firewall rules setup?
(oops, I'll be back in a few, I have to try and get my 2 1/2 yr old granddaughter down for a nap

I am not aware of any rules, I havenÂŽt set up any, yes it is at home
Take your time, there are other important things in life

It was a batle but my boring monotone story finaly lulled her to :sleeping:

How many espeasy devices do you have runing?

I have only Tasmotas, I guess about 10, but that is my problem, I have not installed them, so I am trying to get an overview

Ohh, this flow is designed to find the ones that are active on your network. If there are none running you won't see anything.

they are all powered up, and partialy I can see them in the debug window, like the 192.168.1.107

Hmmm, so if you enter that IP in a browser window, you get to the tasmota configuration page?
I need to install it on one of my wemos d1 mini's amd see if it picks it up.

But never mind, it would have been an nice and easy way if it worked, knowing the IPs and the deails in a small sheet. I now just run manualy through the address range and if I find one, I just copy the data and put it in an Excel sheet.
Thanks for your efforts.
Floriano

yes, for example if I enter 192.168.1.107/in I will get

Sonoff Basic Modul

Garten_3

Tasmota Version 6.5.0(release-sonoff)
Build-Datum & -Uhrzeit 2019.03.19 12:30:37
Core-/SDK-Version 2_3_0/1.5.3(aec24ac9)
Laufzeit 3T17:36:31
Anz. Flash Schreibzugriffe 817 at 0xF5000
Anzahl StartvorgÀnge 120
Grund fĂŒr Neustart Software/System restart
Name [friendly name] 1 Garten_3
AP1 SSID (RSSI) PAWSF-EXT (40%)
Hostname Garten_3-3248
IP-Adresse 192.168.1.107
Gateway 192.168.1.1
Subnetzmaske 255.255.255.0
DNS-Server 192.168.1.22
MAC-Adresse 84:F3:EB:A7:6C:B0
MQTT Host 192.168.1.24
MQTT Port 1883
MQTT-Benutzer Hom
MQTT client DVES_A76CB0
MQTT topic Garten_3
MQTT group topic sonoffs
MQTT full topic cmnd/Garten_3/
MQTT Fallback-Topic cmnd/DVES_A76CB0_fb/
Emulation keine
mDNS-Ermittlung deaktiviert
ESP Chip ID 10972336
Flash Chip ID 0x14405E
Realer Flash Speicher 1024kB
Ges. Flash Speicher 1024kB
Ben. Flash Speicher 508kB
Verf. Flash Speicher 492kB
Freier Arbeitsspeicher 14kB

My only problem is that I do not know them all and I have to search for them

There might have been a change with the Tasmota. Someone else checked it for me originally, so I'm going to load a device with it and test it out.