Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. My Project
  3. Efergy e2 power meter

Efergy e2 power meter

Scheduled Pinned Locked Moved My Project
33 Posts 9 Posters 12.7k Views 11 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G gtortone

    @korttoma

    Hi,
    you need to connect RFM12b module to Arduino following this schematic (you can avoid to connect IRQ line...)

    http://jeelabs.net/attachments/download/331/jlpcb-128.pdf

    after this cabling you need to connect RFM12b DATA pin to Arduino D3 pin (you can select a different pin but modify
    code accordingly...)

    only after this you can use the Mysensors-Efergy-e2 sketch (https://github.com/gtortone/MySensors-Efergy-e2) to get
    RF data;

    I tested my code with cheap RF modules (I received them some days ago) but the performance of these modules are very
    poor... I will try to do other work on cheap RF modules in the future...

    Thanks !

    korttomaK Offline
    korttomaK Offline
    korttoma
    Hero Member
    wrote on last edited by
    #10

    @gtortone thanks for the clarification on the wiring of the RFM12b.

    In what way was the performance of cheap RF radio poor? Is the range just bad or does it miss transmissions? The first cheap radios I got also had poor reception, this is why I upgraded to the RXB6 from my earlier post. Can you share the code you used with the cheap RF radios maybe my RXB6 module performs better?

    • Tomas
    G 1 Reply Last reply
    0
    • korttomaK korttoma

      @gtortone thanks for the clarification on the wiring of the RFM12b.

      In what way was the performance of cheap RF radio poor? Is the range just bad or does it miss transmissions? The first cheap radios I got also had poor reception, this is why I upgraded to the RXB6 from my earlier post. Can you share the code you used with the cheap RF radios maybe my RXB6 module performs better?

      G Offline
      G Offline
      gtortone
      wrote on last edited by gtortone
      #11

      @korttoma

      Hi, I have these modules:
      http://www.banggood.com/433Mhz-RF-Transmitter-With-Receiver-Kit-For-Arduino-ARM-MCU-Wireless-p-74102.html?rmmds=search

      the range is only few centimeters... I will try to do some antenna tuning but I don't expect any significative improvement.

      If you want to try with your RXB6 module the code is always the same, you have only to remove the configuration code lines related to RFM12b configuration;

      korttomaK 1 Reply Last reply
      1
      • G gtortone

        @korttoma

        Hi, I have these modules:
        http://www.banggood.com/433Mhz-RF-Transmitter-With-Receiver-Kit-For-Arduino-ARM-MCU-Wireless-p-74102.html?rmmds=search

        the range is only few centimeters... I will try to do some antenna tuning but I don't expect any significative improvement.

        If you want to try with your RXB6 module the code is always the same, you have only to remove the configuration code lines related to RFM12b configuration;

        korttomaK Offline
        korttomaK Offline
        korttoma
        Hero Member
        wrote on last edited by korttoma
        #12

        @gtortone that is the same useless junk I got from e-bay at first, range is terrible.

        This gives me some hope to get this working with the RXB6. I will test this as son as I can (might be a few weeks until I can).

        • Tomas
        M 1 Reply Last reply
        0
        • korttomaK Offline
          korttomaK Offline
          korttoma
          Hero Member
          wrote on last edited by korttoma
          #13

          Hi @gtortone ,
          I finally found some time to hock up the RFM12B. Seems to be almost working. I just get the value "inf" for current. Do I have some datatype problem or maybe it should be calculated differently my Efergy engage hub?
          I'm using a Arduino Pro Mini 3.3V

          Attached the serial print.0_1484211281663_efergyLog.txt

          I should see values around 100W most of the time and some smaller down to 30W.

          Edit: It seems like it might be payload[6] that is equal to 255 at 100W and 254 at under 40W that is causing problems with the calculation.

          Edit2: Took 3 samples at around 30W, 60W and 100W. 0_1484220204136_efergyLog2.txt I need to find something so that I could test higher values to so I could figure out the formula to use.

          • Tomas
          G 2 Replies Last reply
          0
          • korttomaK korttoma

            Hi @gtortone ,
            I finally found some time to hock up the RFM12B. Seems to be almost working. I just get the value "inf" for current. Do I have some datatype problem or maybe it should be calculated differently my Efergy engage hub?
            I'm using a Arduino Pro Mini 3.3V

            Attached the serial print.0_1484211281663_efergyLog.txt

            I should see values around 100W most of the time and some smaller down to 30W.

            Edit: It seems like it might be payload[6] that is equal to 255 at 100W and 254 at under 40W that is causing problems with the calculation.

            Edit2: Took 3 samples at around 30W, 60W and 100W. 0_1484220204136_efergyLog2.txt I need to find something so that I could test higher values to so I could figure out the formula to use.

            G Offline
            G Offline
            gtortone
            wrote on last edited by gtortone
            #14

            Hi @korttoma,
            happy to read that you are getting "reasonable" values from RFM12B !!

            but I agree that in your case the decoding protocol needs some refinements...
            just a question: your line voltage is 110 or 240 ?

            take into account that from Efergy current sensor you get the value of "current" and
            not "power" than for 30W expected value from data is (V/30) [Ampere]...

            1 Reply Last reply
            0
            • korttomaK korttoma

              Hi @gtortone ,
              I finally found some time to hock up the RFM12B. Seems to be almost working. I just get the value "inf" for current. Do I have some datatype problem or maybe it should be calculated differently my Efergy engage hub?
              I'm using a Arduino Pro Mini 3.3V

              Attached the serial print.0_1484211281663_efergyLog.txt

              I should see values around 100W most of the time and some smaller down to 30W.

              Edit: It seems like it might be payload[6] that is equal to 255 at 100W and 254 at under 40W that is causing problems with the calculation.

              Edit2: Took 3 samples at around 30W, 60W and 100W. 0_1484220204136_efergyLog2.txt I need to find something so that I could test higher values to so I could figure out the formula to use.

              G Offline
              G Offline
              gtortone
              wrote on last edited by
              #15

              Hi @korttoma,
              take a look to this decoding based on your collected data for 30W, 60W and 100W;

              everything seems to be ok !!

              Regards,
              Gennaro

              p.s. I checked in your profile that you live in Finland and power voltage is 220/240 V :-)

              • bytes #1: 0x09 fixed value
              • bytes #2: 0X50 fixed value
              • bytes #3: 0x2E fixed value
              • bytes #4: 0x40 fixed value
              • bytes #5: current MSB
              • bytes #6: current LSB
              • bytes #7: exponent
              • bytes #8: CRC
              • current detected = ((MSB << 8) + LSB / 65535) / pow(2, (255-exponent))

              30 W = 0.13 A (@220V)

              9 - 0x09
              80 - 0x50
              46 - 0x2E
              64 - 0x40

              71 - 0x47
              172 - 0xAC
              254 - 0xFE
              184 - 0xB8

              0x47AC = 18348

              current = 18348 / 65535 / pow(2, 1) = 0.139 A

              60 W = 0.26 A (@220V)

              9 - 0x09
              80 - 0x50
              46 - 0x2E
              64 - 0x40

              69 - 0x45
              29 - 0x1D
              255 - 0xFF
              40 - 0x28

              0x451D = 17693

              current = 17693 / 65535 / pow(2, 0) = 0.269 A

              100 W = 0.45 A (@220V)

              9 - 0x09
              80 - 0x50
              46 - 0x2E
              64 - 0x40

              112 - 0x70
              163 - 0xA3
              255 - 0xFF
              217 - 0xD9

              0x70A3 = 28835 (10)

              current = 28835 / 65535 / pow(2, 0) = 0.439 A

              1 Reply Last reply
              0
              • korttomaK Offline
                korttomaK Offline
                korttoma
                Hero Member
                wrote on last edited by korttoma
                #16

                Thanks @gtortone your formula seems to work. I just need to find a way to test higher values.

                I almost had the same formula but I did not have the "65535". Could you explain where you got this value from?

                -- S --
                9
                80
                46
                64
                76
                204
                254
                221
                -- E --
                abc_value = 19660current = 0.15A - power = 34.50 W
                23701 TSF:MSG:SEND,9-9-0-0,s=9,c=1,t=17,pt=2,l=2,sg=0,ft=0,st=OK:34
                OK = 4 - short pk = 0 - long pk = 0 - crc bad = 0
                -- S --
                9
                80
                46
                64
                71
                173
                255
                186
                -- E --
                abc_value = 18349current = 0.28A - power = 64.40 W
                29693 TSF:MSG:SEND,9-9-0-0,s=9,c=1,t=17,pt=2,l=2,sg=0,ft=0,st=OK:64
                OK = 5 - short pk = 0 - long pk = 0 - crc bad = 0
                -- S --
                9
                80
                46
                64
                115
                51
                255
                108
                -- E --
                abc_value = 29491current = 0.45A - power = 103.50 W
                35688 TSF:MSG:SEND,9-9-0-0,s=9,c=1,t=17,pt=2,l=2,sg=0,ft=0,st=OK:103
                OK = 6 - short pk = 0 - long pk = 0 - crc bad = 0
                
                • Tomas
                G 1 Reply Last reply
                0
                • korttomaK korttoma

                  Thanks @gtortone your formula seems to work. I just need to find a way to test higher values.

                  I almost had the same formula but I did not have the "65535". Could you explain where you got this value from?

                  -- S --
                  9
                  80
                  46
                  64
                  76
                  204
                  254
                  221
                  -- E --
                  abc_value = 19660current = 0.15A - power = 34.50 W
                  23701 TSF:MSG:SEND,9-9-0-0,s=9,c=1,t=17,pt=2,l=2,sg=0,ft=0,st=OK:34
                  OK = 4 - short pk = 0 - long pk = 0 - crc bad = 0
                  -- S --
                  9
                  80
                  46
                  64
                  71
                  173
                  255
                  186
                  -- E --
                  abc_value = 18349current = 0.28A - power = 64.40 W
                  29693 TSF:MSG:SEND,9-9-0-0,s=9,c=1,t=17,pt=2,l=2,sg=0,ft=0,st=OK:64
                  OK = 5 - short pk = 0 - long pk = 0 - crc bad = 0
                  -- S --
                  9
                  80
                  46
                  64
                  115
                  51
                  255
                  108
                  -- E --
                  abc_value = 29491current = 0.45A - power = 103.50 W
                  35688 TSF:MSG:SEND,9-9-0-0,s=9,c=1,t=17,pt=2,l=2,sg=0,ft=0,st=OK:103
                  OK = 6 - short pk = 0 - long pk = 0 - crc bad = 0
                  
                  G Offline
                  G Offline
                  gtortone
                  wrote on last edited by
                  #17

                  Hi @korttoma,

                  the value 65535 or 32768 often is used as multiplier from sensor that send metric;
                  usually when you have to send a "small" float value (temperature, current) you can send it as integer
                  multiplied by a big constant instead of sending it with a float value converted in binary...

                  I just refined my formula with this that is more close to formula I found for my Efergy using a small
                  constant:

                  current = 18348 / 32768 / pow(2, 255-254 + 1) = 0.139 A
                  current = 17693 / 32768 / pow(2, 255-255 + 1) = 0.269 A
                  current = 28835 / 32768 / pow(2, 255-255 + 1) = 0.439 A

                  1 Reply Last reply
                  0
                  • korttomaK Offline
                    korttomaK Offline
                    korttoma
                    Hero Member
                    wrote on last edited by
                    #18

                    Hi @gtortone I'm working on finalizing this node and I'm having some trouble with stability. The node stays alive from a few minutes to 30min and then stops communicating.

                    What kind of decoupling capacitors are you using in your setup?
                    I now have 2 pc 0.1uF, 2 pc 47uF and one 0.33uF.

                    I use a HLK-PM03, a Pro Mini 3.3, and the NRF24L01+

                    Debugging output don't give me much to go in since it just stops responding.

                    • Tomas
                    G 1 Reply Last reply
                    0
                    • korttomaK korttoma

                      Hi @gtortone I'm working on finalizing this node and I'm having some trouble with stability. The node stays alive from a few minutes to 30min and then stops communicating.

                      What kind of decoupling capacitors are you using in your setup?
                      I now have 2 pc 0.1uF, 2 pc 47uF and one 0.33uF.

                      I use a HLK-PM03, a Pro Mini 3.3, and the NRF24L01+

                      Debugging output don't give me much to go in since it just stops responding.

                      G Offline
                      G Offline
                      gtortone
                      wrote on last edited by
                      #19

                      @korttoma

                      Hi,
                      at the moment I'm defining some things in order to use RFM69 modules...
                      in the past, on my NRF24L01+ I was using 10 uF capacitor but I had same problems of "stop responding"...

                      korttomaK 2 Replies Last reply
                      0
                      • G gtortone

                        @korttoma

                        Hi,
                        at the moment I'm defining some things in order to use RFM69 modules...
                        in the past, on my NRF24L01+ I was using 10 uF capacitor but I had same problems of "stop responding"...

                        korttomaK Offline
                        korttomaK Offline
                        korttoma
                        Hero Member
                        wrote on last edited by korttoma
                        #20

                        @gtortone My node has now been running for more then 40min since I added the 0.1uF and 0.33uF tantalum caps. I'm hoping this will be the solution for me since I have no tools to debug any disturbance like this.

                        EDIT: It failed again :(

                        • Tomas
                        1 Reply Last reply
                        0
                        • korttomaK Offline
                          korttomaK Offline
                          korttoma
                          Hero Member
                          wrote on last edited by
                          #21

                          Tried exchanging the NRF24L01+ with an RFM69 but it does not seem to work at all with this setup. Might be because the RFM69 is using the same frequency as the RFM12B or maybe I can not have the 2 in the same node because they are related.

                          • Tomas
                          1 Reply Last reply
                          0
                          • G gtortone

                            @korttoma

                            Hi,
                            at the moment I'm defining some things in order to use RFM69 modules...
                            in the past, on my NRF24L01+ I was using 10 uF capacitor but I had same problems of "stop responding"...

                            korttomaK Offline
                            korttomaK Offline
                            korttoma
                            Hero Member
                            wrote on last edited by
                            #22

                            @gtortone did you have any chance to look at the "stop responding" issue of this device?

                            I tried to add some more debug prints to your code today but if I add them to the wrong places the efergy receive function stops working and receives only 0 value. I guess it messes with the timing.

                            • Tomas
                            G 1 Reply Last reply
                            0
                            • korttomaK korttoma

                              @gtortone did you have any chance to look at the "stop responding" issue of this device?

                              I tried to add some more debug prints to your code today but if I add them to the wrong places the efergy receive function stops working and receives only 0 value. I guess it messes with the timing.

                              G Offline
                              G Offline
                              gtortone
                              wrote on last edited by
                              #23

                              @korttoma Hi, I just returned to play with Efergy and Arduino. I realized that debug messages on UART reset the micro. Now I'm skipping (with a #define DEBUG and #ifdef) all debug messages and it seems to work fine. But take into account that now I'm not using any radio module... just to test the firmware.

                              1 Reply Last reply
                              0
                              • korttomaK Offline
                                korttomaK Offline
                                korttoma
                                Hero Member
                                wrote on last edited by korttoma
                                #24

                                :D What a coincidence. I returned to this project today also. Now trying to set this up as an Ethernet GW with local sensor without NRF radio. I still have to share the SPI bus with the Ethernet module though. I'll let you know how it goes.

                                I think I did try removing the serial prints earlier but I'm not sure..

                                • Tomas
                                1 Reply Last reply
                                0
                                • korttomaK Offline
                                  korttomaK Offline
                                  korttoma
                                  Hero Member
                                  wrote on last edited by
                                  #25

                                  The ethernet GW approach performs even worse than your original solution. I get one or 2 measurements and then nothing. Still responds to ping but no communication with the controller.
                                  I don't know how to debug this since it just stops working. Is there by any chance anything in the code that consumes memory?

                                  • Tomas
                                  1 Reply Last reply
                                  0
                                  • A Offline
                                    A Offline
                                    ailiev
                                    wrote on last edited by
                                    #26

                                    Hi All,

                                    First of all, great work man!

                                    I was wondering do you know if we need to have established link between the wireless sensor and the receiver?

                                    I only have the wireless sensor so I was wondering if I can use this without the receiver?

                                    Any thoughts?

                                    korttomaK 1 Reply Last reply
                                    0
                                    • A ailiev

                                      Hi All,

                                      First of all, great work man!

                                      I was wondering do you know if we need to have established link between the wireless sensor and the receiver?

                                      I only have the wireless sensor so I was wondering if I can use this without the receiver?

                                      Any thoughts?

                                      korttomaK Offline
                                      korttomaK Offline
                                      korttoma
                                      Hero Member
                                      wrote on last edited by
                                      #27

                                      @ailiev it "works" without the receiver but for me the node fails after about 1h so I gave up. I could try again now with the new MySensors 2.2.0 lib to see if it makes any difference (when I find some time).

                                      • Tomas
                                      1 Reply Last reply
                                      0
                                      • S Offline
                                        S Offline
                                        shifaz
                                        wrote on last edited by
                                        #28

                                        Hi,

                                        I have been trying to receive the efergy signal using RFM69 and so far it's a dead end. I'm unable to receive any data on the RFM69 module.

                                        Since you guys talked about RFM69 module here, I thought you might have some insight to share.

                                        gohanG 1 Reply Last reply
                                        0
                                        • S shifaz

                                          Hi,

                                          I have been trying to receive the efergy signal using RFM69 and so far it's a dead end. I'm unable to receive any data on the RFM69 module.

                                          Since you guys talked about RFM69 module here, I thought you might have some insight to share.

                                          gohanG Offline
                                          gohanG Offline
                                          gohan
                                          Mod
                                          wrote on last edited by
                                          #29

                                          @shifaz I think you need the RFM12B to receive the data you want

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          24

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.1k

                                          Posts


                                          Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular