Problem
BL0937-based plugs report occasional large voltage spikes (300–500V) that are
clearly false readings caused by electrical transients when the relay switches.
The actual grid voltage is stable at ~234V.
This has been confirmed by comparing the same BK7238 hardware flashed with
OpenBeken vs ESPHome — ESPHome shows clean readings (230–242V), OpenBeken
shows periodic spikes up to 500V.
What exists today
VCPPublishThreshold reduces MQTT noise but does NOT filter spikes — a 400V
spike still gets published since it exceeds the threshold.
PowerSave 0 is already set, no improvement.
- Flag 25/26 are unrelated.
In an Elektroda forum post (topic3964717, post #20495199) the project author
mentioned "we have a setting to skip large power spikes, it's in the command
docs" — but this command does not appear in the current commands.md or
commands-extended.md.
Request
Add a command like VCPSpikeFilter <maxVoltage> <maxCurrent> <maxPower> that
discards any reading exceeding the specified threshold before publishing or
storing. Values above the threshold would be silently ignored (keeping the
last valid reading).
Example: VCPSpikeFilter 280 16 3600 would discard any voltage reading above
280V on a 230V grid.
Environment
- Chip: BK7238
- Firmware: OpenBeken 1.18.288
- Energy chip: BL0937
Problem
BL0937-based plugs report occasional large voltage spikes (300–500V) that are
clearly false readings caused by electrical transients when the relay switches.
The actual grid voltage is stable at ~234V.
This has been confirmed by comparing the same BK7238 hardware flashed with
OpenBeken vs ESPHome — ESPHome shows clean readings (230–242V), OpenBeken
shows periodic spikes up to 500V.
What exists today
VCPPublishThresholdreduces MQTT noise but does NOT filter spikes — a 400Vspike still gets published since it exceeds the threshold.
PowerSave 0is already set, no improvement.In an Elektroda forum post (topic3964717, post #20495199) the project author
mentioned "we have a setting to skip large power spikes, it's in the command
docs" — but this command does not appear in the current commands.md or
commands-extended.md.
Request
Add a command like
VCPSpikeFilter <maxVoltage> <maxCurrent> <maxPower>thatdiscards any reading exceeding the specified threshold before publishing or
storing. Values above the threshold would be silently ignored (keeping the
last valid reading).
Example:
VCPSpikeFilter 280 16 3600would discard any voltage reading above280V on a 230V grid.
Environment