I have several Fibaro Metering Wall Plugs connected to my Homey, works good but I want to use one of them for a more detailed Action depending on currently consumed power.
Problem is that no matter how I setup the Advanced settings, when there is no power consumption on the device it does not report 0W only once and than again when it changed.
Even I set report Interval to 60s it sometimes have “last updated 2h” I want it constantly send it’S current Watt (even it is 0) every minute.
A bit confusing is the naming of the Advanced settings.
At the End I followed the Fibaro manual and tried to set value 14 to 30 in Advanced config:
zw_configuration_value “14,2,30;”
But also that do not give me more frequent reports.
ok, to add to this - now I’m even more confused. The whole Advanced settings seems to be mixed up in the description of the settings. I looked into the drivers code and found they are just extended from the base group but also using the desciption of the base group which make it confusing.
So you have 2 times (11) and two times (12) no 14 and which one is correct?
I figured it out somehow, is worth to fix it? does homey pull fix requests back?
hmm… never worked with the long term records of the device itself. But my f.wallplugs always report their wattage to Homey as it changes. I use that value for various things like turning off chargers or coffeemaker automatically.
Maybe it would help to understand your usecase better. What are you trying to accomplish?
Probably what you want is not possible, maybe only via polling the device.
Just curious, why should you want to now the actual value if it was 0 the last time it was sent, and it did not change? As you said, the value is send as it changes, I have never had this urge, but what is your reason?
The things you found in the drivers, you better mail them to Athom, they are the makers of this App.
Reason why I want to have reporting even with unchanged 0 W was the function I built for it.
I Will change that now because the device in homey behaves different than the device in fibaro homecenter. (coming from there)
I have a Power Meter on my Dishwasher, what I want to achieve is a notification when the dishwasher is done. Because the Dishwasher have a dynamic Program it is not only doable by timer. Sometimes it tage 90 minutes sometimes up to 150 Minutes. In Fibaro it was simple, once the W on the meter >100W I started a Loop checking the last updated power every Minute. When that one was 0W for > 5 Minutes and run time was at least 1h, it considered as done and send teh notification.
Now I need to change it in some way that once it change >100W it need to keep an eye on the timestamp it last changed and if last Changed >5 min AND last reported W is <1W it should consider as done.
That should be easy going. I implemented something very similiar using y F.Wallplug for my laundry washing. Just used timers there. No need to look at timestamps. So I basically have a timer running checking whether the power consumption is below a certain threshold for a specific duration. And if the power goes above the threshold I simply reset the timer.
Funny, I never got it working properly with the HC2, but I did with Homey…
But I have to say that my knowledge of LUA is limited.
You can easily do this with a timer (I prefer the Chronograph app) and a variable.
If…
Power has changed And…
Power is > X Watt
Variable “Dishwasher” is “No” Then…
Start timer
Set variable “Dishwasher” to "Yes
If…
Power has changed And…
Power is < 1 W
Variable “Dishwasher” is “Yes” Then…
Start countdown for 60 s
If…
Countdown has expired And…
Power is < 1 W
Variable “Dishwasher” is “Yes”
Timer is > 1 h Then…
Numerical variable “Dishwasher_Counter” + 1
Start countdown for 60 s Else…
Numerical variable “Dishwasher_Counter” = 0
If…
Variable “Dishwasher_Counter” has changed And…
Numerical variable “Dishwasher_Counter” = 5
Variable “Dishwasher” is “Yes” Then…
Send notification
Set variable “Dishwasher” to “No” (possibly after a delay)
Set numerical variable “Dishwasher_Counter” to 0 (possibly after a delay)
Stop Timer / Set Timer to 0
Reason why I intentionally don’t want to go the timer route is that my Siemens Dishwasher is “ECO Tripple A” and so have some “rest phases”, even it is actually still running it have long periodes where it consume 0 W, those will trigger this scripts as “done”
I checked those periods, depending on how dirty the dishes were, are from 10 Minutes up to 30 Minutes. To put the timer on 30 is not a option, will take to long. But maybe I do a “Initial Block Timer” of 1.5h and only count notification of 1.5h passed after activation.
I will figure out, but thanks alot anyway.
For the wrog named Advanced settings I worte a ticket to Athom with the Info I collected, should be a easy fix.
Wouldn’t happen the same for when the device keeps sending 0W? it will then just send a lot of 0W, that doesn’t change much in the current behaviour, if they are long pauses, but always the same amount, then add a counter (just +1 on a logic value) and if the count that you needed is there, to trigger your third/fourth flow, the same as fantross already shows in his typed flows.
It is just a different kind of thinking with Homey vs Fibaro Home Center
Right, in HC2 I used scripting and the different with the 0W reporting is that actually it’s not real Zero. It Consume and changes, I calculated the diff between each change and if that diff AND the Wattage is < 0.5W It was done. Sometimes there is a change of just 0.2 - 0.4 W but on Homey and the FIbaro plug I do not have this sensitivity because everything <1W is considered 0.
I know this is not very accurate but for my dishwasher it worked out well. But I found another IDea on a Home automation article, most dishwashers have similar cycles and before finishing they go to a very high demanding (1500W >) dry phase for short periode of time. I log now the consumtion to a influx db and have a look If I find this behavior. This would be easy because if it is always X Minutes before done I can just fit the above routine.
My dishwasher also has 0 phases and my flows work perfectly.
What I tried to show above was the behaviour as you described it. These flows do not match my current flows.
In order to create working flows for your dishwasher, you should look at the consumption of the different washing programs and find similarities.
You can either download the consumption values in Insights as a CSV file or you can use an app like SimpleLog or PaperTrails and compare the behavior of the programs in Excel. In Insights you should always use the 1 hour view, because it logs the consumption values every 1 minute. In the 6 hour view, only 5 minute intervals are used, this is not exactly enough.
In my dishwasher there are 3 peaks with a consumption of > 100 W. The first two peaks and the 0 W phase in between are of different lengths depending on the dishwashing program. Between the 2nd and 3rd peak is a relatively long drying phase. At the 3rd and last peak, the remaining water is pumped out again for a short time.
Flow 1 If…
consumption changes And…
consumption > 5 W (start of the dishwashing program) Then…
Start timer “Dishwasher 1” with X minutes (This time must be chosen so that the timer ends after the 2nd peak, in the long drying phase)
Disable Flow 1
Flow 3 (deactivated) If…
consumption changes And…
consumption > 100 W Then…
Set variable “Dishwasher” to “Yes”
Start timer “Dishwasher 2” with X seconds (This time must be chosen so that the timer runs for 1-2 seconds longer than the end of the entire rinse cycle)
Deactivate flow 3 after 5 s
Flow 4 If…
Timer “Dishwasher 2” ends And…
Variable “dishwasher” is “yes.” Then…
Homey says, “Dishes are clean.”
Set variable “Dishwasher” to “Yes” after 5 s
Activate Flow 1 after 60 s