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.
  • 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
                                    • J Offline
                                      J Offline
                                      Jens Lauridsen
                                      wrote on last edited by Jens Lauridsen
                                      #30

                                      @gtortone

                                      Any chance that I can see how you wired up the NRF24L01+? I bought the parts back in January 2017 and just found it in a drawer this evening. I assembled everything but the NRF24L01+ and I am a bit stuck right now.

                                      BTW: Great build - I really hope that I will get mine up and running :)

                                      /Jens

                                      1 Reply Last reply
                                      0
                                      • B Offline
                                        B Offline
                                        banda banda
                                        Banned
                                        wrote on last edited by mfalkvidd
                                        #31

                                        Since you guys talked about RFM69 module here, I thought you might have some insight to share. (spam links removed by moderator)

                                        1 Reply Last reply
                                        0
                                        • korttomaK korttoma

                                          @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).

                                          M Offline
                                          M Offline
                                          MaurettoFarmer
                                          wrote on last edited by
                                          #32

                                          @korttoma
                                          I resume an old topic: i'm trying to receive data from Energy2 whith arduino connected to an RXB6. I can't receive any data, and i don't know how to substitute the code block related to RF12 with a correct one for my receiver. Can someone help me? Thanks in advance, Mauro

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


                                          12

                                          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