💬 Power Meter Pulse Sensor
-
One (probably stupid) question about the batter powered option: Since sensor cannot keep track of real time power usage as it sleeps most of the time, would it be possible to do the math on the controller side and get "5min delay real time power usage"?
By dividing number of pulses since last transmission, is that basically what this sensor is doing when not being powered by batteries?I could experiment with 2min delay f.eks, and see how batteries hold. If dht22 temp sensors works over a year with 5min transmission time, i hope 2min delay in pulse meter can hold 6mnt or something?
Another thing is that the electrical box is all metal, and there is a lot of electricity around the sensor so radio could struggle (I guess a repeater would definitively help) -
Is it only me that is getting a compile error?
Error: call of overloaded 'set(volatile long unsigned int&)' is ambiguous
send(wattMsg.set(watt)); \ Send watt value to gwerror: call of overloaded 'set(volatile long unsigned int&)' is ambiguous
send(pcMsg.set(pulseCount)); \ Send pulse count value to gwfollowed by all the possible candidates of .set arguments
-
Is it only me that is getting a compile error?
Error: call of overloaded 'set(volatile long unsigned int&)' is ambiguous
send(wattMsg.set(watt)); \ Send watt value to gwerror: call of overloaded 'set(volatile long unsigned int&)' is ambiguous
send(pcMsg.set(pulseCount)); \ Send pulse count value to gwfollowed by all the possible candidates of .set arguments
-
BTW, is there a way to have the pulse meter running on gateway? I got stuck because at startup it asks the controller the last count value and since the controller is not yet connected it just doesn't work.
-
BTW, is there a way to have the pulse meter running on gateway? I got stuck because at startup it asks the controller the last count value and since the controller is not yet connected it just doesn't work.
@gohan How about
#define MY_TRANSPORT_WAIT_READY_MS 2000This will start up your code so you won't miss any pulses until controller is ready.
You may ask for the last known Value in presentation(), then it will be fetched as soon as the controller is really there after startup. This could/should be combined with a bool pcReceived, so you may decide to either add the value received from controller to the counts the node meassured in between or just use the received value (starting from second time value is received from controller). -
I think I found a problem: the WATT calculation is returning values over 172000 watts and since I put 10000 as the max value, it was not sending anything. I double checked my energy meter and indeed it is 1000 pulses per KWH and this is what I set in sketch
-
Here is the log I get from node
7230 TSF:MSG:READ,0-0-250,s=1,c=2,t=24,pt=0,l=7,sg=0:1682675 rece Received last pulse count from gw:1682675 11817 TSF:MSG:SEND,250-250-0-0,s=1,c=1,t=17,pt=5,l=4,sg=0,ft=0,st=OK:528 Watt:528 Watt:197065 21820 TSF:MSG:SEND,250-250-0-0,s=1,c=1,t=24,pt=5,l=4,sg=0,ft=0,st=OK:1682677 21913 TSF:MSG:SEND,250-250-0-0,s=1,c=1,t=18,pt=7,l=5,sg=0,ft=0,st=OK:1682.6770 Watt:196807 36824 TSF:MSG:SEND,250-250-0-0,s=1,c=1,t=24,pt=5,l=4,sg=0,ft=0,st=OK:1682679 36917 TSF:MSG:SEND,250-250-0-0,s=1,c=1,t=18,pt=7,l=5,sg=0,ft=0,st=OK:1682.6790 Watt:197368 51827 TSF:MSG:SEND,250-250-0-0,s=1,c=1,t=24,pt=5,l=4,sg=0,ft=0,st=OK:1682681 51920 TSF:MSG:SEND,250-250-0-0,s=1,c=1,t=18,pt=7,l=5,sg=0,ft=0,st=OK:1682.6810 Watt:196850Am I the only one using this sketch?