Wednesday, June 27, 2018

Microwave Trouble: Sometimes a Stupid Question is Just What You Needed

Several times now I've mentioned my microwave oven in passing. It's given me a couple of problems over the years: I managed to explode a coffee cup and the liquid got into the turntable motor, and the entire control board went belly up on me. The turntable motor was easy; I just got a new part and replaced it. The control board was harder, that took a call to GE because I wasn't sure which of the four boards was acting up. I couldn't find a schematic on the darn board to isolate it.

The idea I had was to use the best appliances in the kitchen I could and then not have to ever replace them. The fridge has failed twice; the freezer several times, the range once, the dishwasher four or five. Most of the repairs were done by a real GE repairman using real GE parts except the freezer that had a piece of crap defrost timer in it. So much for the idea of getting top-of-the-line appliances.

But, don't misunderstand, I'm not rich and wasn't rich when I got them. I caught a good sale, the prices were much, much lower then and I had just sold my old house. I was also naive about the actual quality of appliances.

The microwave was working fine with a little fan noise and then the noise got really loud. It still worked, but you couldn't stay in the kitchen with it. Obviously, the bearings in it had failed. Right? Not so, the stupid squirrel cage blower had expanded, rubbed against the fan enclosure and started to get ripped apart. Nice.

Of course, I had to take it apart to find this out. This microwave is a ZSC2001FSS02 and looks like this:

I really like this oven. It's microwave as well as a halogen heated convection oven. It'll do three big baked potatoes in around 15 minutes without waiting for it to heat up. After I got it out of the cabinet and took the lid off to tell what was making all the noise, I looked for the part. No stinking luck; well sort of no luck.

The GE parts web site didn't even list a part number for the blower. It simply wasn't there. Sears listed a part number, but it was shown as "Not Available". Partsdirect showed the number and said the factory didn't supply it anymore. I used the part number and searched for about an hour and couldn't find one. Being a resourceful desert dweller, I went looking for the manufacturer since the name was right on the label, Oh Sung and the part was OBB-2009X1 or maybe m051004.3R. Once again, no luck.

I did find the manufacturer, but I really didn't want to spend a week exchanging emails and then maybe a month getting something from them. So, I went looking for a replacement squirrel cage to put in since the existing motor was working fine. The fan looked like this:

See why it was making noise? Ignore the grease, I didn't bother cleaning it up for the picture. When I pulled the blower assembly apart and looked at the actual squirrel cage, it was worse than I thought:

I found the missing pieces inside the blower cover. I had no luck at all finding a replacement for this. The only squirrel cages I found were for HVAC systems and such and they were waaay too large to do me any good.

OK, fine. I'll get something similar from a different microwave and somehow make it work. I switched over to ebay and started looking. There were a a lot of microwave blowers of different styles and sizes. None of them mentioned how big they were, just the various part numbers from the microwaves they were supposed to fit. It was sort of a order-something-to-see-if-it-works kind of thing. I hate that since it could take a long time and cost a lot of money in mistakes.

But, I did it anyway. I ordered a blower from a GE Advantium Microwave Oven that looked similar to the one I had in the squirrel cage construction:

And, that was a mistake. I took it apart and the squirrel cage was the same diameter, but longer and wouldn't fit inside the old housing. The old housing mount wasn't plastic like this one, it was sheet metal:

So, I just tried to mount the new(er) housing in the same place:

That didn't work out well. See how it protruded above the top of the cabinet? Here look from the side:

At this point I was ready to cut a hole in the microwave cover and just let it stick through.

The fans were longer and wouldn't fit inside the old squirrel enclosure and the new enclosure wouldn't fit inside the oven. The next try involved making room inside the old housing for the fans to stick out through the squirrel cage cover. I had to use the new motor because the shaft was longer to handle the longer squirrel cages. There was enough room and the fans would only stick out about a quarter inch, so why not?

About an hour later I had the modification done and now I could mount the new motor to the old metal brackets and put the thing in place except, the new motor was wired differently. The new motor had six wires and the old one had five. I actually hooked it up though to see what would happen (yes, I was that disgusted by then) and the new motor wouldn't start turning. I could get it going by giving it a push, but it wouldn't start on it's own. The start capacitor was wired differently. These motors all have similar wiring, so I should be able to wire it to match ... somehow.

The plug for the motor was one of those that one could remove the pins and rearrange them, but I couldn't figure out how to do it. Yes, I tried the good old paper clip and small screwdriver trick, but the method evaded me. So, I'm sitting there, on the floor, scratching my head and considering just cutting the wires and using some heat shrink and solder to rearrange them when my girlfriend piped up, "This may be a stupid question, but couldn't you just take the rod out of the new motor and put it in the old one?"

Advice to all men, never, ever tell them that they asked a stupid question. The minute I heard it I said, "No, because it's actually part of the armature and it would destroy the armature to try and get the rod ..." I trailed off because I realized that she didn't have a clue that the shaft was integral to the armature, and she really meant to switch the armature. Crap, why didn't I think of that.

I took the motors both apart; switched the armatures; installed the old housing (with the fan holes modified); the old motor and its correct wiring and newly installed armature with longer ends and it worked like a charm. These motors are mass produced for various companies around the world. The windings in the stator are sometimes different to get two or more speeds, but you can choose to use only one speed if you want. The armatures are all the same and you can move them around as needed. In this case, I needed the longer shaft on the armature combined with the windings from the old stator to match the wiring in the microwave. Really glad she was over watching me flail around.

Never ever tell a woman that she had a stupid idea. Her simple suggestion was exactly the thing I needed to get this to work.

I'm on the watch out for a truly suitable replacement, but don't have the pressure of a dead microwave hanging over me. I may contact the manufacturer for help in sourcing parts to see if I can get any help there. They may even have metal squirrel cages for these, and that would eliminate the problem forever. Failing that, I may go to an appliance store and prowl through their supplies to see what I can turn up. Or a junk yard.

And, what did I learn from this experience?

Mostly, I learned to listen.

Thursday, June 14, 2018

Local Power Politics: APS, AZCC and Things to Think About.

In my last political (well sorta) post I described how the local power company APS is organized and regulated by our Arizona Corporate Commission (AZCC) <link>. After that post and a few I did on local social media, I got a couple of requests to put this stuff all in one place. Well, I have a place to put it, and I'm getting tired of posting it over and over again, so here is my collection of gripes about our own AZCC and the power company APS. I decided to post this stuff on the blog because it related very directly with my efforts to keep the power bill as low as possible and the pitfalls, stumbling blocks and walls along the way.

I'm linking them all together on the (newly added) subject of 'Power Company' over on the top right of this page. Just scroll down to the 'P' and click on it.

The idea is that I can just put up a blog post, and then use a link to expand on my findings or thoughts easily without having to type them in all over again. Clever right? It also means that I can hit and run on social media. That means I can just slap a link on there and go off to the next place and do the same. There's a lot of social media sites that discuss this kind of thing out there.

No, I'm not a social activist, I'm a customer that is tired of getting raked over by politicians and corporations that are supposed to exist in our best interest.

Therefore, here are three 'Dockets' and one 'Announcement' that are recent and directly impact me and my neighbors in this area. They're real and verifiable. I try to put in links for the various items so people can double check me. Some of the text is my opinion, feel free to comment.

AZCC Docket # E-01345A-18-0111 - In the matter of the application of Arizona Public Service Company for approval of its Rate Rider RCP.

Last month (May, 2018) APS applied to the AZCC for a modification of the "rcp export rider for new on-site solar." This is currently being heard by the commission with no decision yet.

But, what the heck is this?

They invent names and acronyms to make it easier to describe things, but it also complicates reading this stuff to the point where people just give up and wander away. Resource Comparison Proxy (RCP) is a complicated series of observations to gather data, then calculations to show how much APS should be paying solar customers, people with solar that produce an excess of power and return it to APS.

What this is, is if your solar was installed after the cut off date, September 1, 2017, they want to change what they are allowing (as credits) for your excess power. Currently it's shown as $0.12900/kWh, almost 13 cents for each kWh you don't use and give to APS, and they want to lower it to $0.116 a little over a cent less.

They actually claim that it should be zero, but they're not going for that yet.
"... the avoided transmission and distribution capacity cost credit to be applied to the RCP should actually be 0%."
They already charge much more to supply power than they pay for it from the excess solar people provide, and now they want to lower that payment (actually credit). This is a decrease of over 10% to them. Essentially they're asking for a 10% decrease in what they agreed to just last fall in the last rate increase decision.

Yes, it's all above board and public in AZCC Docket #E-01345A-18-0111 and it's supporting documentation, but how many have heard about it? Is the news going nuts on this? Have you received any mail about it?

But wait you say, just last year APS agreed not to file for another rate increase until much later. That's completely true, but they're not asking for a rate increase, they're asking for a modification to a rider on your bill. See how it's done? You pay more, but they didn't do it, it's a rider on your bill. When you call them about it, they tell you it was approved by the AZCC.

Why aren't the solar companies complaining about this? Actually, the solar association has filed a response, they're angry that APS is attempting an end run around other agreements. For whatever good it will do.

Those that have solar already are managing to skate past it right now, but APS will be back before the AZCC soon. Those that are getting new solar will be impacted severely by the new rules, so this is a concern that everyone should be interested in.

E-01345A-18-0003 - In the matter of the application by Arizona Public Service Company to Implement Tax Expense Adjustor Mechanism.

This docket is actually in our (the customer) favor. When President Trump's tax changes came into effect, it lowered APS's tax rate to 21%, and they saved money. Someone realized, then insisted that APS revise their bill to reflect the savings instead of keeping it as a windfall. This was done under dockets #E-01345A-16-0036 and E-01345A-16-0123. The amount is a tiny percentage per kilowatt hour, but amounted to about $10 on my last bill.

The adjustment rate is supposed to be $.004258 per kWh, so the more you use, the more you get deducted from your bill. I question why they are paying it back by the kWh, it was a percentage decrease in taxes, why wasn't it a percentage decrease in our bill? When I looked closely at the docket, it was clear that they decided to play tax games with the requirement and deducted for various other things. They got to keep a heck of a lot of this windfall against their own expenses. One could also make a pretty clear case for discrimination; they get windfall money, then when caught, return it to their biggest customers by returning it based on how big their bill was. Our own APS sticking its hands in our pocket again. (actually, I may use that line in a complaint to the AZCC)

However, this also helps disguise the credit for money APS is saving in taxes as something APS is doing for us. It's not them giving us something, it's them not stealing something else from us. They even called it "TEAM" for Tax Expense Adjustor Mechanism, and shows up on the bill as "Tax Expense Adjustor."

"On April 27, 2018, APS filed a request for a Four Corners SCR Adjustment to allow recovery of an annual revenue requirement of $67.5 million. APS estimates that the average residential monthly bill impact would be an increase of approximately two percent. A copy of the request is available from APS, and at the Arizona Corporation Commission's eDocket website (, for public inspection in the above-referenced docket numbers"
The item above and the quote was one of those inclusions in the bill that we all toss out while looking to see how much they gouged us this month. What it's referring to is the pollution lowering devices called "Selective Catalytic Reduction" that they are installing at the Four Corners Power Plant. That particular power plant is coal fired and was cited for pollution. It's a long story beyond this author's willingness to write about right now. 

But, quoting directly from the AZCC filing:
 "(SCR Adjustment) to permit recovery of a $67.5 million annual revenue requirement."
You certainly see what is going on, the clue should have been "recovery." They want to pass the 67 million dollar per year cost of this stuff to their customers. Another quote from the same document:

"That would equate to an approximate 2% customer base rate bill impact. Additionally, APS requests that the SCR Adjustment become effective as soon as possible, but no later than January 1, 2019"
Yes, you read it right, they want to add another 'fee' to the bill to cover this and this one is a straight 2% increase in the base rate. Ever wonder why the base rate applies to all customers. This should give you a hint. You can read it yourself at <link>. It's also on the public record at the AZCC site under the unassuming name: "Motion/Request - Miscellaneous," but I suppose that's a little less noticeable than, "Motion to Screw Our Customers into Paying for Our Mistakes." The link to the document there is <link>.

AZCC Docket # E-01345A-18-0002 - In the matter of the formal complaint against Arizona Public Service Company filed by Stacey Champion and other Arizona Public Service Company customers

This docket is a direct complaint from a group of citizens against APS's latest rate increase (and fees of course). The dockets that the rate increase was approved were E-01345A-16-0036 AND E-01345A-16-0123. These two dockets were combined because they related to the same things. Eventually, they excluded existing solar, customers for the most part (more on that below), but most of us don't have solar, so the latest rate increase (and fees) from APS is directly impacting us; this also has significant impact on any new solar installations.

Stacey Champion, the named complainant, and a group of several hundred people gathered from a web campaign filed this, but as everyone suspects, APS is dealing in an underhanded fashion with the public and the AZCC. Want some facts to look up for verification? APS used the upcoming 2018 election as leverage against the Corporation Commission in writing and they did it on the public record. The following is a quote I copied and pasted:
"Unfortunately, APS is concerned that delay will only push this matter closer to the November 2018 election, which risks distorting this process and increasing customer confusion."
Which means: There's an election coming up and you guys may not get our funding if you don't end this now in our favor. Or maybe, if the complaint isn't decided soon, the voters may notice and vote against you. At any rate, it's pretty clearly a threatening statement. You want to see where they said this, go look at it on the state web site at this <link>. I think it's on page three.  Fortunately, Stacey Champion's lawyer noticed what they were doing and put this in the response:
"As for the November 2018 election, it is irrelevant to this proceeding and APS' professed concern that it "risks distorting this process and increasing customer confusion" should not trump Ms. Champion's right to due process."

Basically, Stacey's lawyer said, "We see what you're doing, and it's bullshit." If you want to read this it's at this <link>.This one is on page 4.

I also ran across the following part of a sentence when reading through an APS response to Stacey's complaint. I cut and pasted this right out of the document on the AZCC web site at <link>.
"(iii) an agreement with the solar industry to resolve a multi-year, otherwise intractable dispute regarding distributed generation that included a confidential agreement to avoid undermining the rate settlement through ballot initiatives, legislation, or advocacy at the ACC, "

What this means is that the solar industry in this state got together with APS and agreed that the solar folk wouldn't put up a ballot initiative, sponsor legislation or lobby the Corporate Commission. Since it is confidential, we don't get to see what the Solar companies got in return for GIVING APS FREE REIGN ON THIS RATE INCREASE.

Excuse my language, WHAT THE HECK??

We were all sold down the road by a secret agreement between APS and the Solar Industry ...

Yeah, this really makes me want to talk to a solar company in this state.

Now, if you do actually read this far, think about it a bit. Here is publicly held documentation that APS is using the upcoming election as a tool against the Corporation Commission and they entered into a secret agreement with the solar industry to shut them up. Now act accordingly. I suggest you visit Stacey Champion's site, read the documentation and contribute to the effort. Stacey is taking on APS for us, and they're driving her down with legal fees. If she has to withdraw because she can't afford it, that's the end of the effort to get this back for a rehearing.

You can also file a complaint directly with the AZCC in support of Stacey's docket. Heres how to complain:

 What you have to do is go to

And file a complaint.

You MUST state that you're commenting on the existing docket number E-01345A-18-0002 in the first line so they can see what you're doing. I started mine off with:

"In support of Docket Number: E-01345A-18-0002 It appears that APS did not deal in good faith with its ratepayers, the Corporation Commission or the public in general. "

The "In support" part means you agree with Stacey Campbell that APS is a bunch of thieves, and it also shows up in a listing of the documents filed on this docket. You also have to fill out all the blanks in the form to identify yourself as a customer of APS so you will be taken seriously. At the bottom of the form is a space to type in exactly what you think about this.

We have elected representatives in the state legislature, time to actually use them and see what happens, so here are the two for District 1. I'm listing their web pages so you can get to the mail facility easily.

David Stringer is at:

and Noel Campbell is at:

State Senator Karen Fann is at:

Just click on their email address and let them know what you think about this.

Sorry this is so long, but I wanted to get the actual links in so you can see for yourself what I have seen.

I really hope I made you angry.

Oh, one other thing: the spam will really be flying on this post, so be warned: talking about how great your solar plan is, sales blurbs or obnoxious comments will be deleted without remorse.

Wednesday, June 13, 2018

Supercooling in the Desert: May 22, 2018 a day that will live in infamy !

This is the day I got clobbered by APS (my power company)

Look just before 8PM (20:00); see that bunch of spikes? My peak billing period lasts until 8, and something was sucking power before the period ended ! Let me expand the little piece that shows the problem:

That little period from about 7:24 to 8:00PM was the clothes dryer.

Yes, just a little before the end of my peak period a guest started the dryer to do some clothes. It wasn't their fault, they didn't know that the fascist power company would be watching to see if such a thing happened.

The peaks run as high as 7.4 kW, and it was doing this for a little over a half hour. The APS chart shows it like this:

And it was almost impossible to find. I looked for quite a while before I noticed it. I put the arrow on there to show you the tiny little green area that resulted. It shows up a little better on a single day chart:

That minor little slope up in the green area is where the meter saw the dryer running. It's recorded as "usage 3.18" during the 7-8PM hour. In theory, this should be my high 'demand' number that is calculated into my bill for the month.

I guess I should do a little calculating to see how this works to help me understand and avoid it even more stringently in the future. Let's look at the detail portion of my bill first:

So, the demand number wound up being 3.17 and is used as a multiplier in several items in billing. Here's the rate sheet for the plan I'm on:

So, my 'On-Peak Demand Charge' is 17.438 * 3.17 for $55.28. But, there's nothing on my bill that says that. Guess what? To make it more complicated and harder to understand, they actually split the $17 charge into two components and calculate them separately. From their tarif sheet again:

Notice how the two numbers, $4.000 and $13.438 add up to the $17.438 they call the 'On-Peak Demand Charge'. OK, fine, I have a calculator and can punch in numbers like anyone else. 4.000 * 3.17 = 12.68 and 13.438 * 3.17 = 42.60, and they add up to the 55.28 I got above. So I should see:

Delivery On-Peak Charge 12.68
Generation On-Peak Charge 42.60

Or something similar on the bill, and indeed I do. Sort of:

Demand charge on-peak - delivery $12.40
Demand charge on-peak - generation $41.66

If you look at the bill, you'll see them on there. The sum of the two charges is $54.06 which is darn close to my initial $55.28. The reason for the difference is that APS made a mistake in the original rate change request and has to use the demand number to one significant digit and they can't round, so the actual demand number they get to use in this case is 3.1kW. That's on the bill also, so I don't even have to do the truncation itself:

Your billed on-peak demand in kW 3.1

That's a good thing because rounding would have put me up to 3.2 and would be paying even more.

Now, I got the cost all figured out, the dryer running cost me some amount, but how much extra based on past performance. To get that, I'm going to look at last month to see; taken from last month's bill:

Your billed on-peak demand in kW 1.5
Demand charge on-peak - delivery $6.00
Demand charge on-peak - generation $20.16

That stuff totals up to $26.16, so my dryer cost me $27.90 last month because I didn't keep it under control. It's actually a little bit higher because the rate per kW during peak is higher ($0.08683 vs $0.05230), but that's only 3 cents per kw, and the dryer only uses 7.5 kW at around a 50% duty cycle for 3.75 kW or $0.32 extra. I'm willing to ignore that.

Now is the appropriate time to talk about how APS gets that demand number. As I mentioned in another post, they average each hour and compare it to the maximum hour during the billing cycle. That gives me 5 vulnerable periods each day: 3-4, 4-5, 5-6, 6-7, 7-8. So, the dryer kicked on and sucked power in bursts like all electrical heating appliances and those bursts pulled 7.5 kW for a short period. The bursts were roughly half the time, so it worked out, on average, to the 3.17 kW number that APS measured. It would be too much to read if I did all the calculations, but you see what I mean. That 3.17 was the highest reading so far that month, so it kept it and continued to look for a higher hour; fortunately, it didn't find one, and that's how the month's bill came to be. Next post I'm going into how to read our smart meter so folk can actually see what is coming. Unless one goes to the trouble of doing what I've done, you can't catch it real time and stop it; you can only see the what's already happened.

This is not going to break me, but it does lose me some bragging rights. Because I didn't keep control, I'm out about 28 bucks. Be warned though, if the hot water heater had kicked on, and the stove was running, this would have been a monetary disaster. Thank goodness it was only the clothes dryer and that close to the end of peak !

There you are, an example of how power can get out of control no matter what you do and how much attention you pay to it. Something will slip in and get you from time to time. Overall though, keeping tabs on my power has saved me thousands over the years. This post is also good for folk that don't completely understand how that 'Demand Billing' stuff actually works, and how to tell if you're messing up.

The parts to prevent this from happening to me again are already on order.

Previous post in this series is <link> then next is <nothing yet>

Sunday, June 10, 2018

Wrapping Up The Water Heater Monitor (and control)

For the present, I'm going to claim that (as the British say) the water heater monitor is, "All done and dusted." There's a few tiny items I'll mention that I may do in the future to make is a little easier for other folk to understand, but it does what I set out to do with it.

It monitors the temperature at the top and bottom of the tank, the power usage of the entire system and controls the power applied to the internal heating element. I save the data on my house data base and can chart anything I want. It has been a cool project that I got to use new things on and implement some software that I haven't dealt with yet.

To measure the temperature I made a couple of sensors out of discrete 18B20 temperature sensors and installed them under the insulation against the tank at the top and bottom. No, I wasn't going to drill into the tank to install them, and I wasn't going to tap into the existing sensors that drive the tank. Tapping into the existing sensors might break them and drilling into the tank would have been a disaster. I want this thing to be capable of working if the new electronics ever fail.

Here's one of the sensors:

I thought about using one of the 18B20 sensors that are enclosed in a waterproof stainless steel enclosure, but I wanted as much sensitivity as possible and jamming the sensor up against the tank and securing it with metal tape seemed like the best way to do it.  It was a bit of a pain getting through the insulation to the tank, and the tank itself was covered with a high density insulation as well. I didn't dig into the tank coating; I just secured the sensor to the top of it. This made my reading low as compared to the temperature of the water inside, but if necessary in the future, I can correct for that by adding a little to the reading in the code.

With two sensors, the PZEM-004 power monitor, power supply and control wire for 220VAC power to the heating element, I ran into a little problem with available connectors for power ground and the sensors. After considering electrical tape, hot glue, shrink tubing and such, I just soldered some more power, ground and sensor connectors on the XBee shield I used.

Those three vertical black things are where I tap off and supply the various power and signals. I'm going to have to remember this trick in the future. It turned out to be a really convenient way to get extra connections. I even put the pull up resistor that one-wire devices need in there. You can barely see the 4.7K resistor in there between the rows of connections.

But, you ask, what did you discover after all this work? Well, I discovered how annoying working on a step stool over the top of a working solar hot water system is. Up, down, dropping things, wires too short to reach, taking it apart, putting it back together, all were inconvenient. It probably added several hours of pure frustration to the process, but all of us folk that do this around the house should be used to that ... right?

Here's a chart of actual operation that I pulled today:

In this the solar is running at around 80 watts and then reaches temperature and shuts off. The top of the tank was at 129F and the bottom at 118F for a differential of 11 degrees over the height of the tank. The actual water temperature measured at a nearby faucet was 138F, so it looks like the tank coating was keeping 9F of temperature away. To me, that's OK since I understand what is going on.

I also caught this where I turned on the dishwasher after the sun went down:

You can clearly see where I turned on the dishwasher and the cold (well tepid) water came into the bottom of the tank. Then a little later the rinse cycles of the dishwasher removed some more hot water from the tank. The temperature at the top of the tank didn't drop that much though, only down to 127F. It wasn't even enough to turn on the heating element (it was dark outside). Here's the entire chart for the same period:

Ok, it's a mess. That's because the power being used is only 3-10 watts and that auto expands to cover most of the chart. But, you can see that it isn't using 80 watts circulating the solar or over 4000 watts running the heating element, and that the grid power was available by the green line at the bottom.

That means that I ran the dishwasher a full cycle with hot water and didn't pay anything for heating the water since it was still hot from the solar cycle during the day. I've seen this several times now; the dishwasher, shower, various faucets, don't use enough to cause the heating element to turn on. Especially since the incoming water is probably close to 100F already during the day.  Hang on a minute, I'll go measure the water temperature coming into the house right now.

It was 89.6F. So, the incoming water is 90F and the solar will take it up to 138 making the differential only 48 degrees or so. It will show up as 129 on the graph due to the loss I described above, but that's a known thing. As a matter of fact, the heating element hasn't come on at all in the last 72 hours. I can't show you a graph to prove it because I've had the thing taken apart too many times. I may post an update later after a few days of operation. But, as a consolation, let's take a look at the cooling rate of the water heater:

Here is a period between cycles of the solar heat running. The bottom temperature is affected by the solar running, so it is higher than the incoming water temperature; the heat transfer coils are at the bottom. That makes the bottom temperature drop at the beginning. The top temperature  drifts down over time at a reasonable rate of about a degree every hour that decreases to less than a degree every two hours when it gets around 125F or so. This thing will keep 80 gallons of hot water all night this time of year. I'll have to wait a few months to see what it does in colder weather. If it gets too cold, the heating element will turn on and raise it back up anyway.

Which brings up a point I didn't realize until I did this. The temperature for solar heated water is 138 degrees. I set that back when I got the heater and it is controlled by a differential controller separate from all the other stuff. The electrical heater is set lower; how much lower I don't know yet. I'll experiment a bit to find out, but I suspect it's about 10 degrees or so. That's why the mains power isn't used much. The solar keeps the water above the temperature where the heating element kicks in. I don't know where that control is, but it's worth looking for at some point.

Software wise, it wasn't particularly hard to put together. I used the arduino library for one-wire sensors like I did for my room temperature sensor project. What I did was to read the sensors, then read the power, then send the data using timers. Since the water isn't changing very fast due to the nature of water and the mass of 80 gallons, I only read it every minute. I read the power every 15 seconds. The report is sent every 30 seconds right now, but that may change in the future when the new wears off the project. In the remaining CPU cycles, I watch the XBee for incoming items.

I only respond to the time signal and a command to turn on the mains power. The mains power was easy, I just picked a digital pin on the arduino and set it high to turn on the 100 amp solid state relay in the box. I watch the time for obvious reasons, I turn off the mains power at noon (soon to be 3 PM) to avoid the peak period charges. It doesn't get to turn back on until 8PM.

I used the timeAlarm library for the arduino to handle both timers and alarms. Timers control the readings and report while alarms turn the mains power on and off.

See how previous projects where I used time and various libraries are paying off? As one works with this stuff it gets easier to put things together and create something new.

It didn't work first try though. Most of it did, but the darn thing quit sending data every day at noon when it turned off the mains power to the heater. The problem turned out to be that 'on' has one less letter than 'off', and I was overflowing the buffer that I build the JSON report string in. That simple little problem took almost a day to isolate. I kept trying to blame it on the pin controlling the SSR.

There you are, the most comprehensive water heater controller I've ever seen. Probably more than I'll ever actually need.

But, exactly what I wanted.

Edit: I just put the code in Github so you can take a look if you want to.