Premium Only Content

AC Diversion Load, Part 5
Reworked the PL code to work with the positive/negative power readings that were unlocked in the previous video.
It's amazing what knowing the actual power and direction of flow makes in the code. Before, it was a guessing game and now it's a simple computation.
This is my first time working with "conditional values" in PL along with logic expressions in actions. The Vera controllers use the Lua programming language and PL uses a Lua-like syntax as well. On thing that's "missing" is you can't have assignment expressions, like a=b+c. Instead, you need to make a condition called "a" and determine it's value as the result of (b+c). Then you can use the value in "a" as a variable in other expressions. I like to keep expressions simple and compute just one thing at a time. This helps as you can see the intermediate results.
The key to this computation was to keep everything in floating point. My original code was integer-based and had a problem when it kept ignoring small ~1 watt changes in power. Over time those small changes would build up and until there was a big change of 7 or more watts, nothing would happen. With the floating point code, you keep accumulating the changes and once that rounds up or down to a different number, a change is made.
The other key point is to have only ONE variable tracking the dimmer setting. Before I had tried to use a counter to handle incrementing/decrementing the dimmer setting, then writing that counter value to the dimmer. This was before I figured out the "conditional values" and was an easy way to add or subtract numbers in a variable. However, this created a problem in that the counter and the dimmer could get out of sync. Moving to just having a device property that follows the dimmer setting solved that issue. With only one copy, it can't get out of sync. It also allows manually adjusting the dimmer to see how the code reacts.
Also tried to incorporate features into the code to reduce Z-Wave network traffic as well as spread that and the CPU load out in time. This should help reduce bottlenecks and synchronization issues. For example, the time delay between getting the power sample and then acting on any changes allows all the computations to take place before the logic that makes changes runs.
Hardware:
In-wall dimmer: https://amzn.to/3qughPz
Ceramic heat lamp https://amzn.to/3jpdcP8
HEM Gen5 https://amzn.to/3iEgf4i
More to come, seeing what other features are possible with this code...
Subscribe for more content like this
Comment, rate, share & click the bell icon
And as always, thanks for watching
Intro/Outro:
Louisiana Fairytale by Austin Rogers
https://web.archive.org/web/20170402222425/http://drfiddle.com/show_tune.php?id=94
-
50:39
The Connect: With Johnny Mitchell
11 hours ago $3.42 earnedInside The War For Tijuana: How Mexican Cartels Turned Tijuana Into World's Most VIOLENT City
20.8K3 -
12:34
TimcastIRL
10 hours agoWaPo Staffers QUIT Over Bezos’ Change To Opinion Section, Liberal Media MELTING DOWN
88.3K55 -
24:55
MYLUNCHBREAK CHANNEL PAGE
1 day agoThe Sumerian King's List
102K37 -
1:37:51
Man in America
14 hours agoIs Trump Using Gold to Dismantle the City of London Banking Cartel? w/ Eric Yeung
50.7K9 -
33:50
The Why Files
8 days agoCryptids Vol. 3: The Antarctic Cover-up | Predators Beneath the Ice
121K137 -
27:11
Stephen Gardner
14 hours ago🔥Trump Zelensky Meeting ends in IMPEACHMENT | MUSK shares major dirt on Joe Rogan Podcast
127K285 -
2:40:23
Jewels Jones Live ®
3 days agoTRUMPARENCY | A Political Rendezvous - Ep. 112
115K31 -
1:13:14
Michael Franzese
13 hours agoEmergency Livestream: Zelenskyy vs Trump, DOGE, Epstein Files, Elon Musk
133K96 -
1:32:06
The Quartering
14 hours agoZelensky Comes CRAWLING BACK, Fed Ex Jet BURSTS Into Flames, Elon's Psycho Ex & More
158K172 -
6:49
Russell Brand
1 day ago"HE'S A RUSSIAN PLANT!" CNN Loses It ON AIR!
226K270