Showing posts with label Wireless Pulse Counter. Show all posts
Showing posts with label Wireless Pulse Counter. Show all posts

December 2, 2016

Wireless Pulse Counter 3 (WPC3)

I have updated the firmware to support the Telldus products.
For Telldus products it is needed to convert the received data into Energy and Power consumption.
An example how this is done can be seen in the file wpc-calc.c here.

Another update is the 1-wire support. Now the WPC can communicate to the same 1-wire-devices as the WMS mk3.
  • DS18B20
  • DS18S20
  • DS1820
  • DS18B22
  • DS2450
  • MAX31850K
Of course is the DHT22 also supported.

The new Wireless Pulse Counter 3 (WPC3) is available now in the foogadgets store.

May 3, 2015

How to make the WPC work in Domoticz


Updated 2016-12-04: Updated to reflect Mattias new lua-script.


Here are some short steps to get the WPC working in Domoticz.

1. Enable the X10 protocol.
In Domoticz: Click Setup and then Hardware. Click Set Mode for the RFXtrx433(E). Check the X10 checkbox if not already checked.
The WPC should after this, be shown as a RFXMeter
(In Domoticz you can fully ignore the other type of protocol the WPC transmits. i.e. Temperature/Humidity sensor with ID 4600)

2. Turn on and find the WPC in Domoticz.
In this step, the WPC does not need to be mounted to your electrical meter or Gas meter or whatever you like to count. It just need to be powered on and within range of the RFXtrx433(E)
Click Setup then Devices. Click the button All Devices and locate the RFXMeter sensor in the list. The WPC transmits a signal immediately at power on, and the once every 60 seconds, so it should be found in the list.

3. Add the RFXMeter to your list of Used sensors.
Click the green circle with white arrow pointing to the right, on the right most side of the page.
If it is a blue circle, it is already added to your list of Used sensors.

4. Name your RFXMeter sensor.
Click on the tab Utility in the top. Locate the RFXMeter, and click Edit and give it a name of your choice. This name will be used further down in this list. Also choose Type Energy in the dropdown list (if that is what you like to measure).

5. Add device that show Power consumption [W].
To be able to not only see Energy [Wh] but also see the Power usage [W], please download this excellent lua-script from one of my customers (credit to Mattias Hedström), https://github.com/mrhedstrom/domoticz/blob/master/scripts/lua/script_device_ActualEnergy.lua
To make it work, you need to follow step 5.1 to 5.3 below.

5.1 Create an Electric virtual sensor.
Click Setup and then Hardware. As Type, choose Dummy... Add a name and click Add.
From the newly created Dummy-device, click Create Virtual Sensors. In the drop-down list choose Electric...
Click Setup and then Devices. Click All devices. You should be able to find your newly created Electric virtual sensor. Make note of its idx for later use.

5.2 Modify the script to fit your local settings.
energyCounter: This should be the same string as the name you gave to the RFXMeter in step 4 above.
dummyEnergyMeter: This should be the same string as the name you gave to the Electric Virtual Sensor created in step 5.1
dummyEnergyMeterid: Use the idx integer of the Electric Virtual Sensor created in step 5.1 above.
Now all the software is in place and you should get reports once every minute from the WPC to Domoticz.

5.3 Place the updated script in the Domoticz subfolder <path-to-domoticz>/scripts/lua/

6. Mount your WPC in a secure and light tight fashion onto your Energy meter and enjoy your graphs in Domoticz.


Credit to Mattias Hedström and Patrik Nordelind for helping out making this list.

April 28, 2015

Tellstick DUO firmware with support for the WPC

Yesterday I sent a pull request to Telldus asking to include my code that adds native support for the Wireless Pulse Counter for the Tellstick DUO.
The update contains two parts, The patched firmware for the Tellstick DUO, and the patched telldus-core that runs on the computer where the Tellstick DUO is connected. The Firmware I provide compiled and it is ready for download, whereas the telldus-core software you need to compile yourself.

Of course, despite this code update, you will still need to do at least some calculations on the receiving side.

Firmware

The firmware adds support for the RFXCOM-protocol that is used by the WPC (Protocol description...kind of).
The effect of using this firmware is that the WPC will no longer show up as a thermometer but instead as a RFXmeter device which is made for presenting number of pulses, and not temperature, humidity, wind speed etc. The earlier calculations below will no longer be needed,

 if ( !signbit(temperature) ) {
  i_counts = humidity*4096 + (int)(10.0*temperature);
 } else {
  i_counts = humidity*4096 - (int)(10.0*temperature) + 2048;
 }

The maximum number of counts is also increased from 413,696 to 2^24 (16,777,216).

NOTE! I have only tested this firmware on my own Tellstick DUO.
The same code have been provided to Telldus so that they can include it in the next release of the firmware.
It is also likely to be released in the Tellstick NET firmware as well since the same code can be used. Link to the Telldus ticket.

The already compiled firmware can be downloaded here,
UPDATED: 2015-04-30: I added another check to make sure it is a RFXCOM package and also fixed so that the checksum is kept through the Tellstick.

Software

The telldus-core software also need to be updated. This is the software that interpret the new raw data that comes from the Tellstick DUO when it receives data from a WPC. The Pull request for this can be downloaded here, telldus-core patch.

Calculations

First get to know your energy meter recalculation factor. Find the [imp/kWh] marking on your energy meter. Then divide 1,000 with the number you find.

  Example 1. If it is marked with 10,000imp/kWh the recalculation factor is 1,000/10,000 = 1/10
  Example 2. If it is marked with 500imp/kWh the recalculation factor is 1,000/500 = 2

Once you have the recalculation factor you can use that to calculate the consumed Energy and present Power usage.

Energy [kWh], multiply your received number with the recalculation factor for your energy meter. You will likely want it in [kWh], thus the dividend 1,000.

          Energy = count • (recalculation factor) / 1,000

Power usage [kW] you need to divide the difference in detected pulses with the elapsed time [s].

          Power = ∆ count • (recalculation factor) • 60 • 60 / ∆ t / 1,000

∆ t is given in seconds [s]. Usually the WPC transmit approximately every 60 second, but if one transmission is lost, the ∆ t will be around 120 seconds etc.
The dividend 1,000 is there to get the result in [kW]



August 27, 2014

Troubleshooting the Wireless Pulse Counter

In most cases the Wireless Pulse Counter is just plug and play. But if you do have problems getting readings from your Wireless Pulse Counter, please have a look at this trouble shooting guideline.
I will update this post when needed.

First. Make sure your Tellstick DUO/NET have a firmware equal to, or higher than 12 for DUO or 17 for NET or 79 for RFXtrx433. Here is more information for the Tellsticks, http://developer.telldus.com/blog/2014/04/03/tellduscenter_2.1.2. In this firmware version there has been a correction in the Fineoffset protocol that enables the checksum feature in the protocol. This will ensure that you do not get any false readings.


The WPC does not show up in TelldusCenter (or similar):
  • Make sure that the LED on the WPC is blinking once every minute. The LED blink when it transmit data. Even if it has not detected any blinks.
  • Make sure that the Tellstick blinks at the same time the WPC LED blink. This indicates that the Tellstick have received and decoded the data.

The WPC show up in TelldusCenter (or similar), but the counter value is not changing:
  • Make sure that the "eye" of the WPC can receive pulses. Aim a standard TV-remote to the "eye" and press a button. Make sure that you do this where there is very dim light. The next transmission you get should then be seen as an increased value.
  • If the LED blinks more often than once every minute. If it blinks every 10 seconds or so. Then it is likely that you use a USB power pack that is too "smart" for the WPC. Some of the power packs automatically shut down if there is no load. The WPC draws so little power that some of the power packs thinks that nothing is connected and turns off and on. When it restarts all the time, it will always send the same value.

The WPC show up in TelldusCenter (or similar), but the counter value is unreasonably high:
  • It is likely that there are false detections. This could be due to light coming in from the sides of the WPC and the Electric meter. Use for example styrofoam to make a tight mounting. Cut out a sheet and make a small hole for the WPC "eye" (the phototransistor) and place it all right on top of the LED on the Electric meter.

May 13, 2014

The Wireless Pulse Counter will take over from the old Wireless Energy Meter

EDIT (2014-09-21): I have added RFXMeter compatibility so that the WPC will show up as a RFXMeter and thus be natively supported in Domoticz. Available in WPC sold from this date. Here is an instruction for how you configure it in Domoticz.

EDIT (2014-09-15): Added information about support for the LED-pulse detector from m.nu.


The old Wireless Energy meter serves its purpose, but it has a few shortcomings.

Here is a new product that I call Wireless Pulse Counter (WPC). This is a better name compared to the old Wireless Energy Meter, since it is actually only counting pulses, not energy or liters.



Since it is only counting pulses it is also much more versatile.

  • You can combine the WPC with a reflex detector (TCRT5000) and measure water flow, gas consumption or electric energy consumption if it is of the rotating disk type.
  • You can count the amount of blinks from an Electric energy meter. Both LED and S0 output is supported.
This is how you connect the WPC to a S0 interface. The current through the S0 port need to be limited.
A resistor value of R=330Ω is OK.
The LED-pulse detector from m.nu is very very sensitive. The sensitivity can be reduced by adding a resistor R between S0- and GND on the WPC. A value between 820Ω and 4k7Ω seem to be reasonable values. Lower value => lower sensitivity.

From the counted pulses you can then calculate the consumed water/energy/gas/events etc.

The new WPC will fit perfectly in a plastic box from Hammond, with the dimensions 20x35x50mm. Note! I have not decided on a box with or without flanges as in the pdf.



The power feed is changed to a micro-USB instead of a mini-USB connector. In this way you will very likely already have a power source for it. You can just reuse an old Android-mobile charger to power it.

Most people do not have a soldering station at home. This version comes with screw terminals so that a  soldering station will never be needed.

It is professionally assembled with perfectly soldered components.

Further more, I have changed the protocol to a simpler variant. All credits to Stefan Strömberg at OpenNetHome for this suggestion.
With this new protocol you can drop several packages. Lots of packages. Still, even with only a few packages received, you can trust that they reflect the consumed energy. The solution is utilise the Humidity data field as counter data in the same way as with the temperature data field. In this way it is possible to have an always increasing counter.
It will wrap around, but the maximum counter value will be so big so that there will need to pass several hours of lost packages to mess up the energy logging.

Note that in the normal case you do not loose many packages, so the above text describes the extreme situation.

As soon as I have finished the verification of the hardware, I will make it available in the foogadgets store.

EDIT: It is now available in the web-store foogadgets.tictail.com.