Pulse Meter Sensor¶
The pulse meter sensor allows you to count the number and frequency of pulses on any pin. It is intended to be a drop-in replacement for integration sensor, but offering better resolution. It measures the time between rising edges on a pin, for each pulse it outputs the frequency in pulses/min.
# Example configuration entry
sensor:
- platform: pulse_meter
pin: 12
name: "Pulse Meter"
Configuration variables:¶
pin (Required, Pin): The pin to count pulses on.
name (Required, string): The name of the sensor.
internal_filter (Optional, Time): If a pulse shorter than this time is detected, it’s discarded and no pulse is counted. Defaults to
13us
. For S0 pulse meters that are used to meter power consumption 50-100 ms is a reasonable value.internal_filter_mode (Optional, string): Determines how the internal filter is applied. One of
EDGE
andPULSE
. Defaults toEDGE
. InEDGE
mode subsequent rising edges are compared and if they fall into an interval lesser than the internal filter value, the last one is discarded. InPULSE
mode the rising edge is discarded if any further interrupts are detected before the internal_filter time has passed. In other words, a high pulse must be at least internal_filter long to be counted. This is useful if you are detecting long pulses that may bounces before and/or after the main pulse.timeout (Optional, Time): If we don’t see a pulse for this length of time, we assume 0 pulses/sec. Defaults to
5 min
.total (Optional, ID): An additional sensor that outputs the total number of pulses counted.
All other options from Sensor.
Converting units¶
The sensor defaults to units of “pulses/min”. You can change this by using Sensor Filters. For example, if you’re using the pulse meter with a photodiode to count the light pulses on a power meter that outputs 1000 pulses per kWh, you can use the following to output instantaneous usage in kW:
# Example configuration entry
sensor:
- platform: pulse_meter
pin: 12
unit_of_measurement: 'kW'
name: 'Electricity Usage'
filters:
- multiply: 0.06
Counting total pulses¶
When the total sensor is configured, pulse_meter also reports the total number of pulses measured. When used on a power meter, this can be used to measure the total consumed energy in kWh.
# Example configuration entry
sensor:
- platform: pulse_meter
pin: 12
unit_of_measurement: 'kW'
name: 'Electricity Usage'
internal_filter: 100ms
accuracy_decimals: 3
filters:
- multiply: 0.06
total:
name: "Electricity Total"
unit_of_measurement: "kWh"
accuracy_decimals: 3
filters:
- multiply: 0.001
(Re)Setting the total pulse count¶
Using this action, you are able to reset/set the total pulse count. This can be useful
if you would like the total
sensor to match what you see on your meter you are
trying to match.
on_...:
then:
- pulse_meter.set_total_pulses:
id: pulse_meter_id
value: 12345
Note
This value is the raw count of pulses, and not the value you see after the filters are applied.