Actaris water meter detection using a Cyble sensor

I have had a few people ask me how I monitor my water meter.

The water meter that my utility prefers here in Adelaide Australia is an Actaris TD8. After a bit of research I found a pulse meter that attaches to this meter to provide an output I could use. This was the Cyble Sensor 2w K1.

This allowed me to use a an esp32 to monitor the pulses from my water meter which directly related to 1l of water usage.

I set the esp up with esphome with the following main components.

  • Pull-up resistor on the gpio input and the cyble output.
    Pull up and pull down resistor tutorial
  • A binary sensor to change when the gpio changes
  • A sub component of the binary sensor to turn the led on the esp on for 1s when the binary sensor changes.
  • A l/min sensor using the rate sensor of the esp32
  • An automation in HA to
    • Increment a counter component when the binary sensor changes.
    • Template sensor reads counter.
    • Utility meter uses the template sensor.

I set this up some time ago so have some ideas on how to improve it. One improvement would be to use the esphome call HA service to increment the counter or somehow increment the sensor directly.

Hope this helps.

My relevant esp home code:

switch:
  - platform: gpio
    name: "utilities_water_led"
    pin: GPIO2
    id: gpio2

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO34
      mode: INPUT_PULLUP
      inverted: True
    name: "utilities_water_sensor"
    id: utilities_water_sensor

    on_press:
      then:
        - switch.turn_on: gpio2
        - delay: 1s
        - switch.turn_off: gpio2

sensor:
  - platform: pulse_counter
    pin: 34
    name: "utilities_water_pulsecounter"
    unit_of_measurement: 'l/min'

My relevant automation code:

- id: '1591075845388'
  alias: utilities water meter increment
  description: ''
  trigger:
  - entity_id: binary_sensor.utilities_water_sensor
    from: 'off'
    platform: state
    to: 'on'
  condition: []
  action:
  - data: {}
    entity_id: counter.utilities_gas_meter
    service: counter.increment

My relevant counter, sensor and utility component setup:

###################################################################
# utility_meter
###################################################################

utility_meter:
  utilities_water_meter_daily:
    source: sensor.utilities_water_meter
    cycle: daily

  utilities_water_meter_monthly_all:
    source: sensor.utilities_water_meter
    cycle: monthly

  utilities_water_meter_monthly:
    source: sensor.utilities_water_meter
    cycle: monthly
    tariffs:
      - general
      - irrigation

###################################################################
# Setup template sensors
###################################################################
sensor:
  - platform: template
    sensors:

        utilities_water_meter:
          unit_of_measurement: 'l'
          # device_class: temperature
          value_template: "{{ states('counter.utilities_water_meter') | int }}"

###################################################################
# End template sensors
###################################################################

###################################################################
# counter
###################################################################
counter:
  utilities_water_meter:
    initial: 0
    step: 1
    icon: mdi:cup-water
6 Likes

Thanks alot for sharing. :slight_smile:

Thanks for sharing, does the sensor just physically sit over the water meter?

And how far away from the sensor is your esp32?

My esp32 is on the end of about 10m of bell wire cable that runs though buried conduit I put in for this when I did my irrigation.

You could run an esp on a small solar unit at the meter as this would probably work well. There are some cheap 18650 battery modules that are designed to be used for this and output 5v.
If your not sure about the wireless for your device take a configured esp module out on a usb battery pack and monitor the wireless signal as a sensor. Check out the WiFi signal strength sensor in esphome.

Hi Tim

Thanks for the post very interesting. I have created a circuit with a pull up resistor. The cyble documentation is slightly confusing , it says its a dry switch/reed but also that it sends a pulse. So in my circuit if I touch the two wires between the Arduino/Pullup Resistor to ground , the Arduino triggers. But when i connect the cyble nothing triggers, it doesnt sense a litre even though the cyble is triggering.

Do you have a simplistic circuit diagram please?

Thanks

nige.

I haven’t messed around with any resistors. Setup was pretty straightforward.I have the cyble running for a gas meter, see home-assistant/README-gas.md at add65e993766a9d21494fda81d234bb55cb87c64 · swa72/home-assistant · GitHub. Adapting to a water mater should be easy.

1 Like

I’m wondering if we could recreate the cyble with less expensive components and ESPHome.
Does somebody who owns the cyble has an idea?

I tried recreating it with hall sensors and reed switches. I spent a lot of time with no success. The cyble actually has a 10yr lithium battery in it I think to be able to measure.
I tried the same with my gas meter and had some partial but inconsistent success. I ended up buying the proper one as well.

Connecting the Cyble sensor to Esphome was almost plug and play. I‘m still struggling to read out my power meter on a DYI basis and it’s a pain in the *ss.

I use iotawatt for my power meter. It works great and hasn’t missed a beat since I set it up a couple of years ago.
Before that I used to sense the pulse flashes on the meter with an arduino (pre esp8266 days). I had so much trouble with that I eventually gave up and just bought iotawatt.

Hi Tim,

I am looking to do the same thing - I assume that you havent had trouble with the water provider disconnecting the cyble. From my understanding the display is still readable but I am not sure if the meter reader needs to read the serial number on the meter which would be covered by the cyble.

Anyhow when I get the hardware I will be giving it a shot. Thanks for sharing.

PS - I am a happy IotaWatt user too.

Mine has been in place for a few years now and haven’t had any issues with meter readings.

The display is readable. My install is exposed to the sun and seems to be holding up ok. One day I plan on putting a cover over the meter.

1 Like

Where did you buy the cyble sensor from?

Stratawater in adelaide

Thank you! Emailed them but no response. How much was it? Any issues from the authorities for having it sitting on top of the meter?

It says $71 in their website.

I have had mine on since February 2019 without issue from SA water. You can still read the meter.

1 Like

@tinglis1 Got my sensor hooked up today =)
How did you attach it to the meter? My neighbors has Itron meter, and that has special notches for the sensor hook up. I just taped the sensor on top of my Actaris one, but dont know how long that will last

Mine had a nylon bolt supplied That went in the center.
The water meter had a threaded hole but it was completely full of compacted dust that I had to carefully remove. I issued something with a shaft point and compressed air to clean it out.

image
I think I have circled it on this image. In that image it shows a little plastic cover that needs to be removed to get to it.

When I can get to mine I will double check my advice in this post.

Thank you. That’s what I thought - it had to have a bolt. Just wanted to be sure

@tinglis1 did you have any issues with sensitivity? I am using ESP32 and it triggers with the slightest wind over pins. Maybe have to add a resistor or something