Replies: 9 comments 16 replies
|
Example log entry which could add a bit more detail
|
|
Hi @HACS-bank, I'm very sorry for your DHCP. ESPectre’s internal traffic generator targets always the device’s default gateway, whatever its IP address is on your network. destination.sin_addr.s_addr = manager->gateway_addr_;This applies to both ping and DNS mode, so switching to DNS would still target your router unless AdGuard is also your default gateway. The startup log already reports the destination in the What ESPectre needs is incoming Wi-Fi traffic to extract CSI from received packets. Ping requests and DNS queries trigger replies, which provide that incoming traffic. The bandwidth is fairly small: in ping mode, each request contains an 8-byte ICMP header with no extra payload. Including the IPv4 header, that is 28 bytes per request and reply. At 100 requests per second, this works out to approximately 5,600 bytes/second per device in both directions combined, excluding Wi-Fi overhead, acknowledgments, and retransmissions. Across 10 panels, however, that still means around 1,000 requests and 1,000 replies per second for the router to handle. For your setup, I would try external traffic mode. It disables the internal generator and lets another machine supply the incoming traffic. Add this to your existing csi_traffic_mode: external
csi_target_pps: 100Then use tools/espectre_traffic_generator.py. Set python3 tools/espectre_traffic_generator.py startThe script sends UDP packets to port 5555, which the devices consume without sending an application reply. This removes the repeated ping/DNS exchanges with the gateway and reduces traffic on the devices’ Wi-Fi links. You can run it on a machine that can reach the panels, including a suitable Python environment on your Home Assistant host. Multicast is also available through the default group This should reduce the router’s role in generating replies, and the traffic on your network. |
|
next experiment: removing all bluetooth, ibeacon and BLE takes the image down from 99% to 76% |
|
next experiment: reduce pps from 100 to 10 until a better router is available - family report needing to restart the router every 4 hours or so when working from home |
|
|
First experiment with Total image size: 1385511 bytes (.bin may be padded larger) |
|
All panels configured with
The experiment continues! I am no longer looking at v2 now that v3rc2 is available |
|
After changing some settings, the panel does not seem to respond any better ... but then I restarted the panel, and hey presto it works as desired. |

Uh oh!
There was an error while loading. Please reload this page.
I am trialling 3.0.0-rc1 on NSpanel-Easy with Home Assistant ... here are my first notes based on deploying onto 10 NSpanel units, with climate control, iBeacon, bluetooth_proxy and BLE scanning also enabled (yes, I am deliberately pushing the envelope)
I disabled router DHCP and moved the service to the AdGuard app on my Home Assistant and all was well for a week or so
I theorize that the additional load caused by out-of-the-box ESPectre is causing trouble! I will try changing from ping to dns (which is handled by AdGuard) to see if it helps. it would be helpful if ESPectre gave a log entry to confirm what it is hammering - maybe it already does, I didn't search the logs yet
However the ESPectre process starts very early in the boot sequence and is not shut for the upload, which means that the TFT upload has barely enough RAM and runs very slowly, sometimes failing. it would be helpful if ESPectre waited for a bit before starting to give everything else some time, and preferably it should somehow delay start if the panel needs to upgrade itself (or unload - if the panel upgrades, it will reboot, to there is no need to worry about reloading)
Here is my typical panel definition
All reactions