Friday, February 9, 2018

Grafana: Getting close to having something nice

I spent a few hours getting a Pi 3B running properly for this Grafana project. I actually think it is going to worth the effort. Grafana seems to work well and I have all the code on my own machine.

What I had to do was first set up a usb drive for the machine so I didn't depend on a silly SD card. I went into this with my teeth clamped down because previously it had been a pain to implement <link>. This time, it was a piece of cake.

What the folk did at Raspberry Pi was take the idea of a usb drive seriously. You enable a bit in the configuration, read the SD card you already have running into a file, write it out to the usb drive, plug it in and boot the Pi. OK, it's a little bit more than that, but not much.

I followed the instructions for setting the bit that allows boot from usb drive in the instructions on the Pi site <link> and found out the bit was already set. Then I remembered doing it when I was experimenting before. Then I took out the SD card, stuck it in my laptop and copied an image to a file. Next, I plugged in the usb ssd I already had from last time and copied the image over to it.

I walked across the room and plugged the usb drive into the PI, plugged in the power and went back to the laptop. Putty connected to the Pi on the first try. Notice I didn't say anything about plugging in an SD card?

Nope, the machine is running just fine without an SD card at all. You do realize that this makes the Pi into a full blown computer that you can actually rely on! Yep, this may justify making an enclosure for the combination so it looks pretty on the shelf. Right now it looks a little forlorn over there:

Looks a little strange hanging by its wires doesn't it? Notice the unopened Echo Dot boxes right by it? That's for another project I hope to get to some day.

I created a special user in the database that can only read data from certain tables to protect against the scary "SQL injection" attacks by hackers so my database is OK. I forwarded a port to the machine from my router so it can be seen from outside when I finally trust it enough to do so; I may be ready to show this thing off in a few days.

Then I spent a little time adding a few new items to the Grafana dashboard so I had more things I could check on just by glancing at the display. It looks like this right now:

I have the appliance power usage and battery level of the room temperature sensors charted so I can follow them over time. There's other things I can chart for fun and some other indicators that would be nice to see from time to time, but I think I'll use this arrangement for a while to see how it feels.

This entire project has been a success. I gues it was time for my readers to nudge me again about using some of the public tools. Remember this all started when I wrote about Xively a little while ago <link>. Maybe I'll look at Home Assistant next.

Or maybe I'll just make cool charts for a week or two.

Thursday, February 8, 2018

My Freezer: Right in the middle of installing Grafana

So, I'm installing Grafana on my laptop and pull up a chart that looks like this for my monitored appliances:

What the heck? the freezer in the house is getting hot! About a minute later, an email comes in that I actually check since I'm setting right there and it tells me that the house freezer is over 50 F.

Yes, my freezer sends me email. I set this up about 4 months ago when the door didn't get closed completely and was open for HOURS before I noticed it. It didn't cost me much to replace the stuff that had thawed out, I cooked it instead, but having it happen got me to thinking about alarming that kind of thing. I have a process called '' that I run as a daemon (all the time) that monitors the other processes and many of the devices that are reporting around the house. Things like the XBee coordinator process, the thermostats and the septic tank float are watched for problems and an email is sent every hour that they don't perform up to snuff. I just added code to this process to watch the temperature in the appliances to make sure they were OK.

I got up, walked over to the freezer, put the frozen french fries back on the shelf correctly, and closed the door. Problem solved and crises averted. All the scoffers out there that poo-poo'd me about putting a temperature sensor in the appliances ... No, none of the other folk that are automating and monitoring their houses had disparaging comments, it was neighbors and friends that just let the house react to things and then complain wondered why I bothered with that much work.

Really ?

What was really unexpected though was the aftermath of letting the freezer warm up like that. Take a look at this chart of the aftermath:

I suppressed the other appliances and expanded this to show a little normal operation on both sides. The big deal is how long it took for the freezer to return to normal. Because I left the door open for about two and a half hours the temperature went all the way from below zero up to 63 degrees. Then it took over 24 hours for the thing to get back to normal.

Wow, I gotta pay more attention to that door. What the heck was happening with the power usage during this time?

Here's the power chart for the same period, and I see that shortly after I closed the door the freezer went into a defrost cycle. That's a good thing because there had to be a bunch of ice all over the evaporator coil. The compressor was on trying cool a freezer with an open door and humidity from the house was freezing all over the coil lowering its efficiency. Then the ice maker took off to fill the empty ice bucket that I had emptied of sludge. The compressor ran for the entire 24 hour period getting the internal temperature back down where it should be, but the defrost cycles and ice maker ate some of the energy during this time.

So, the power bill will be a little higher this month, but notice that the freezer only uses around 150 watts. It won't cost me much at all. Once I started watching the appliances, it really impressed me how little power they use. A little Honda generator could power the appliances around my house for an extended power failure. That will almost certainly become a project in the future.

There's a couple of other things I want to point out to readers. First, the reason I left the door open was that I was playing with Grafana and got distracted. Second, the graph I was playing with actually told me something useful: the stupid freezer was getting hot. Third, I was immediately able to research the results of my screw up. What went on with the temperature recovery in the freezer and how that affected my power usage.

That is so stinkin' COOL. (pun intended)

So, I really recommend saving data for some period. I've never gone back more than a few months looking for some change or problem, but as shown here, a couple of weeks can really be valuable. I personally carry years of data, but that doesn't mean I have to; it also slows down my database queries. So, balance your own needs to what you want to do. Over time, you'll work it out.

Also, Grafana allowed me to look at different time frames and data really quickly. It took me just a few minutes to prowl through the data to understand what was going on. I could have done the exact same thing with other charting tools I've tried, but it would have taken me way longer. Man I'm glad they implemented MySQL in this tool.

I probably should go clean the freezer now, but at least it's working.

Tuesday, February 6, 2018

Grafana: Now to get it working on a Raspberry Pi

Last post I talked about how I got Grafana working on my desktop talking to my database. It actually worked pretty well. Unfortunately, the laptop is NOT where I want it to run; I want it to be running on one of my Raspberry Pi machines. Since I have one of the Pi 3b's and, it isn't doing much of anything, I put it there.

Like almost everything related to linux, this was a pain. It seems that since I last played with that little machine, there have been two major updates to the OS. They went from Jessie to Pixel to Stretch. WTF?? Are the folks at Raspberry Pi running out of things to do?

Fine, I downloaded the minimal image of Stretch and wrote it onto an SD card, made a couple of changes to the boot init files to run headless and booted it up. That worked first try. They really did make some improvements in that area. No gritting your teeth and closing your eyes before rebooting; it just worked. Then I went looking for a Raspberry Pi version of Grafana ... Guess what? Grafana doesn't make one !  Fortunately, there's a person out there that took this job on for the rest of us. The github user 'fg2it' has created a github repository that holds Grafana for the various versions of Pi OS's and it's relatively easy to use them --- after you figure out what the heck he is doing. The repository he created is here <link>, and in the instructions he does a cool trick of updating where Grafana is installed from, then used apt-get to install it. I stumbled over that for a while before I got it working. Really, really clever way to do it.

Aside: I ran into instruction after instruction for installing Grafana on the Pi, and almost all of them referenced back to fg2it's repository but, tried to take the credit for all the work. The slimeballs only referenced fg2it in the various commands. You'll see what I mean when you go looking around. Thank you fg2it.

I installed the 'Stretch' version of Grafana on the Pi I had just updated and made the simple changes necessary and it worked. I could log into Grafana and create charts that I copied from the laptop version I had used previously. Everything worked pretty well. Next, I added some more charts and explored a bit. Here's the way it looks right this minute when I load the graphs up on my laptop:

This is produced by Grafana running on a Raspberry Pi displaying on a Windows laptop and getting stored data from a MySQL database running on a QNAP network appliance. Cool !

Yes, since it's only a web page, it works on a phone as well:

You do have to scroll down on the screen to see all four of the charts, but that's the way it should work on a small device.

There's a ton of features I haven't played with yet, and I'll get to some of those over the next few days, but first I want to protect my database and figure out some way of offering this up on the web. It may get complicated since this machine can't be seen from out there.

Also, this machine only has an SD card on it. I had to leave the usb solid state drive out of the installation to get this much running. That will have to change since I've never had good luck with the SD cards. Three - four months and they crap out leaving you with a days work getting it running again.

Note that I have no dependency on any cloud service at all. It's my database, and all the software runs right here in the house.

Take that Xively !

Monday, February 5, 2018

Grafana: So, how well does this thing work?

As it turns out, pretty darn well. For those of you just getting into house control and monitoring, Grafana is a general purpose set of graphing tools. However, its documentation is daunting. They start right off using terms I never heard of and I couldn't tell what I needed to do. So, in typical Dave form, I downloaded it and started playing around.

I actually followed the steps they suggested and had my first graph running in about an hour. Never mind that the data was mixed up and in the wrong order, I actually had a graph I could look at.

Unlike most folk that delve into this tool, I'm using MySQL as a database manager to store my data. Most folk use a time-value series that is faster and smaller than a full blown database manager. But, I started with sqlite and moved to MySQL because I wanted the flexibility that was available. Of course that meant I had to create queries to the data base for gathering data, but they gave me examples to modify and it was somewhat easier.

Once I got the hang of the basics, I added my room temperature sensors as a 'panel' inside a 'dashboard'. This was cool, I could isolate sections of the graph for examination and change the span of time displayed just by clicking. Then I added the chart I look at a lot: outside temperature vs power usage. This is the key chart I use to keep power usage down to a reasonable amount.

I had about five hours into this by now, so I just let it run, updating every minute overnight. It worked fine. First thing when I looked at it, it showed the temperature drop for the night and when the heater kicked on. Nice.

Now, the problem is that I have to make it work for real. By that I mean that I want to be able to get to it from any device I happen to be using. I use a tablet a lot for this kind of thing and occasionally my phone. Haven't made that stuff work yet.

My plan is to install the software on a Raspberry Pi and allow it to be seen outside the house. That means I have to worry about security since there are SQL queries in there that can be messed with. I'm not much worried about someone watching my data to see if I'm home, I live in the middle of nowhere down a dirt road, so getting here is beyond the effort most thieves are willing to invest. Plus, if they make a mistake and I'm home ... shotgun practice!

Since I installed it on my laptop for convenience, I get to start all over again, so I don't want to develop it too much further before getting it set up for real use.

Oh, I also remembered why I haven't looked deeply into this earlier. They only enabled it for use with MySQL last year. Every time I looked before, it wouldn't do the job for me. MySQL seems to work fine now.

Here's a screenshot of the very first panel I made:

Like I said, this took a about five hours to get going, but that included installing it and figuring out how to connect it to my data base. Quite a bit of time was spent playing with colors and text as well, so your mileage may vary.

Nice tool if I can make it work outside the house on a phone. We'll see.

Monday, January 29, 2018

Xively: See I told you so...

Over and over again I've ranted about how I hate cloud storage of data, or reliance on cloud services for control around the house, and again I was justified. Earlier this month Xively (formerly Cosm (formally Pachube)) turned off free access. Never mind that years ago Pachube promised access forever for its early users and promised again when they became Cosm. Xively didn't honor the promise.

So much for promises. Remember the wonderful free service DynDNS that had its software installed on new routers? That went away a while ago and I had to change away from that service, now I get to stop the update process for Xively and pull the data from my local database instead.

At least I'm ready to do the switch, and I wish I had bothered to do it a year ago, but I was lazy. Teach me...

They were pretty nasty about it too. They sent emails to some fraction of their free users, and ignored the rest. Even the users that got the mail only got about two weeks notice and were unable to suck the data off the cloud service in time. The others (like me) found out from friends or just noticed one day that the service (and all their accumulated data) had disappeared from the site.

They couldn't even log in, and mails seemed to disappear into the same black hole as their data.

I don't recommend any product from LogMeIn. For software to avoid, see the Wiki page on the company and avoid all their offerings. The nasty way they did this should be a nice hint for folk.

I'm not going to recommend a replacement because this situation is only going to get worse over time. Hold your own data at someplace that belongs to you, not some profit driven jerks.

Now, where was that charting software I like.

Wednesday, August 23, 2017

Room Temperature Sensor; got to use the 3D printer for real

I used my 3D printer on a real project, the room temperature sensor. I spent a ton of time messing around with various drawing tools and learning a little about slicing software, but didn't actually do anything that could be considered useful. Unless you count a stand for my Star Trek Enterprise that I have on the kitchen window sill:

I got the files for the stand off Thingiverse <link> and just printed it. Thingiverse is wonderful for getting things that other people have worked on, but it isn't the same as coming up with your own idea and stepping through the entire process.

I decided on the basics of an enclosure for the sensor weeks ago, but it took a while to decide on a tool to use to design it, then the actual design process. I tested a couple of enclosure ideas for a few weeks and finally, a couple of days ago, put four more of the sensor electronics together and printed enclosures for all of them. I have five areas of the house being monitored and recorded in my home database that I can chart and examine.

Yes, they follow each other really well over the period charted, but remember, a temperature change of a small amount will make a room feel hot. It's interesting to watch this phenomenon. One room is 75F and the next is 78F, not enough to matter, but it feels really hot in the warmer room. It doesn't help much to put a thermometer in the warmer room so you can see the actual temperature; you just think the thermometer is wrong. Strange.

Here's what the entire assembly looks like on the wall:

It consists of a base plate that you mount to the wall and a cover that slides over the base to protect the wiring. Here's the two pieces before mounting:

Most of the engineers out there could have drawn this up in about 10 minutes, but frankly, this process was tough. Every little item had to be measured and thought out carefully. I had many, many test prints of sections to see if various things actually fit together. I kept running into little unexpected problems. The plastic would be a little too rough in some spots and pieces wouldn't fit together. The model would glue itself to the base of the printer and it flatly refused to come off. I didn't put holes in the sensor PC board and had to come up with a mounting solution for it. How tall EXACTLY should a stand off be for the various pieces?

Most of this stuff was trial and error. Lots of errors. Just look at the pile of various attempts that will go in the trash after I post this:

One thing I discovered towards the end of the project was that I could cut the model and only print part of it. That was a real time saver. I could print the section I was trying to settle on and test it without waiting hours for the printer to finish the entire thing. I didn't read about using this capability anywhere on the web. Lots of folk talked about cutting the model, but didn't mention how it could be used to test a section of it. I guess most folk use 3D printers to make single piece items.

It's surprising how many little things creep up and have to be solved. The battery holder:

was initially a bit of a problem. I didn't want to mount it flat to the base plate because the mounting screws would go through the plastic, so I put in a couple of standoffs for the two screws that go through the holes in the middle of the assembly. Of course, that made it rock on the screws when I messed with the batteries. I solved that by putting in four more standoffs that kept it from moving.

Th circuit board with the electronics on it didn't have holes for mounting screws (oops).

So I had to work out special standoffs that could hold the board in place. Of course I didn't have washers that would fit the standoffs, so I just printed them as part of the base. Here's what the base wound up looking like after I solved these problems:

The battery holder has six standoffs two of them for actual mounting and the others to keep it steady. The standoffs for the PC board have a cutout for the board and I use little washers to hold it down securely:

The little dark spot in the center-left is a moth that was attracted to the heat and became part of one of the sensors. Note to self: close the printer door stupid.

I slid the lid up on one of the sensors so I could show off the construction of the assemblies:

If you zoom in on the picture you'll be able to seee the mounting arrangement more closely. They were simple to install since they only take two #6 drywall screws and the entire device doesn't weigh much.

This project has been a lot of fun over the last couple of years. Yes, YEARS. And it isn't finished yet. I still want to use the sensors to replace the two house thermostats by taking the readings of each room and turning on heat, cool, or just fans to control the internal environment. I want to chart the outside temperature along with the rooms to see how it affects things as the day passes from season to season (notice, I only have two seasons here: nice and too-darn-hot). I may even create outdoor sensors to measure the wall temperature on some of the outside walls. That will prove the insulation effectiveness.

Who knows what I'll do with this in the future.

Tuesday, June 27, 2017

Tractor Hydraulics - Cylinders

I'm still waiting on my valve assembly, but I thought I would write a bit about repairing the cylinders on the tractor. The cylinders are what do the real work of lifting and moving things. The engine turns a hydraulic pump and that shoves high pressure oil down a series of tubes and hoses to extend or retract a rod. The rod is attached to whatever thing on the tractor you want to manipulate.

This is a picture of the tractor with red arrows pointing to the various cylinders visible on one side. These things are awesome; using the power of fluid at high pressure, they can manipulate the various parts around pivots to lift, dig, dump, etc.

They're also the thing that many people won't even attempt to fix themselves. While they will eagerly take on rebuilding an engine, they'll send a cylinder to the shop for someone else to disassemble and fix. This option could be justified if the rod is bent or something actually broke inside, but most of the time it can be repaired on a table in the garage using tools some of us already have, or can borrow. So far, I've rebuilt seven of these things and all of them work fine. No leaks.

First, let's talk about hydraulic shops. There are some really good ones out there that have excellent people doing great work, then there are the shops that I seem to find. There's one guy that is really good and a bunch that can't buckle their own belt. Guess which one usually deals with me? And, these places are expensive. A friend of mine had three cylinders done by Case; it cost him just a little less than $3000. This is under the price of replacement Case cylinders, so it was a better deal than buying new, but sheesh, that would make many folk abandon the tractor. What they did to me was say $300 to $400, but there may be problems, and that will raise the cost. Additionally, I have to take the cylinder off and get it to their shop.

So, they get the cylinder, take it apart and find a 'problem' that cost more than I can afford. I'm left with a cylinder that has most of the parts in a box, and a disabled tractor. No, I'll pull it apart and see what needs to be done. If it needs major work, I'll find a machine shop to do the work, or hunt for a replacement cylinder somewhere.

I'm not going to go into great detail describing how to work on one of these things, there's videos on youtube that cover it for the most part. Additionally, there's the perfect thread for someone attempting this for the first time over at <link>. Instead I'm going to tell you the things that you don't get from the videos and various web sites. There are just some things that they don't mention that I had to find out the hard way.

The single biggest complaint that folk have is that the cylinder leaks. It will leak inside, which causes the cylinder to change positions over time, and it can leak externally which also allows the cylinder to change position, but this time it gets hydraulic fluid all over the place. Both of these problems are fixed the same way, replace the various seals and o-rings in it and put it back in service.

If it's that simple, why don't more people do it themselves and save money? Some of these things are big, heavy, and all the fittings are stuck. You can't just grab a crescent wrench off the table and turn a couple of bolts to get them apart. And, to make it a little more complex, most of them require special wrenches. Here's the ones I had to buy to work on mine:

The two black ones, not the open end next to them.

It takes a LOT of force to open one of these cylinders, so a piece of pipe to use as a cheater bar is necessary to break some things loose. I used a three foot pipe that fits over the various wrenches I used. Let's take a look at what's inside one of these:

I know, it's a bit hard to see, but I wasn't thinking about posting it when I took this picture. Here's a parts diagram of one of my cylinders; they are all basically the same:

Part number 1 is the long silver rod in the picture above. 4 is the external oil seal. 6 - 8 are what's called the 'gland' and they go on the rod, but at the end near the rod mounting pin 3. 9-13 are the piston.

So, assembled the pieces look like the photo above. This is what you'll see when you finally get it out. But first you have to overcome the gland and external oil seal.

My tractor had two styles of glands. The one in the diagram above that is simply tapped into place and another that is threaded and you screw into place. Let's talk about disassembling the tap in one first.

It's really easy to put these things in, but not so when you try to take it out. First you have to unscrew the external oil seal. I talk about this process below. Then the press-in gland removal instructions I found said to drain the cylinder of fluid, then repeatedly tap the piston against the gland by shoving the rod in and then pulling it out, slamming it against the gland until it comes out of the cylinder. That didn't work at all. First, you simply can't get all the fluid out and each time you pull the rod, it hits the fluid inside and stops before hitting the gland. Also, the fluid sprays out one of the fittings and makes a mess.

How did I get it out? First, I unscrewed the external oil seal on the end before disconnecting the end nearest the bucket (more detail below). Then I set it up like this:

Yep, I pulled the Jeep in front of the tractor and hooked the wench up to it. This worked pretty well on all of them but one. That one was really stuck, and I actually pulled the jeep across the ground without getting the piston to come out. To make that sucker give up, I had to get inside the jeep and stand on the brakes so the front wheels weren't turning and run the wench. The two rear wheels weren't enough friction to make it happen. This is the gland, rod and piston from that cylinder:

There's two things that are important. The yellow and rust thing on the right is the external oil seal that holds stuff in, and it is hard to get loose. I used the wrench shown above and a three foot cheater pipe, and still had to hit it with a two pound hammer a couple of times to get it free. Some people use a pipe wrench, and that will work too, but it's really hard to keep the pipe wrench on while applying pressure. You have to get a neighbor to hold the pipe wrench in place while you stand on it and jump up and down. No, a longer wrench won't help; it's just harder to control. If you go the pipe wrench path, be careful not to crush the oil seal. This bugger is easier to break than you might think having just pounded on it with a hammer, but read on.

The other thing is the silver nut on the left. These things are put on with several hundred pounds of torque and are over an inch across. I used an 18 inch crescent wrench with the cheater pipe to free it. But, how did I hold it in place while applying that much pressure? That was easy, just put the rod back on the tractor but not in the cylinder. Then, using the entire tractor as your vise, go for it using the cheater bar to break it loose.

Be careful if you decide to use heat on this nut. It's one of these:

It would be really easy to melt the material inside the nut that helps keep it in place during use, and these nuts are expensive.

That brings up the question of how to torque this thing back on. What I did was to use the cheater bar and crank it down as tight as I could after putting a couple of  SMALL spots of RED Loctite on the threads. They've held well for quite a while now. Same thing with the external oil seal, but don't use a cheater bar on this. Just put the spots of Loctite on the threads then snug it down tight using a wrench. I'll tell you why not to use a cheater bar on it below. Lots of folk will disagree with me on the red Loctite because it's meant to be permanent. You normally have to heat it up to around 400F to get it to let go. However, with the invention of impact drivers and wrenches, mechanics found out that sharp impacts will fracture the bond and let you remove it. Since you'll probably have to hit it with a hammer anyway, that should be enough. Also, nitromethane solvent will soften the Loctite, but that might take several hours. Yes, I had to go through this process and I'll write about that below.

Now for the other kind of cylinder assembly where the gland is screwed in. These are usually larger cylinders that are much heavier and will take some leverage to move around. Sorry, I don't have a good picture of this, the camera wouldn't focus well enough. Here's the rod, gland and piston from one of those cylinders.

Here's what the outside end of it looks like:

The end is actually two pieces; one that screws directly into the cylinder and the other that screws into the first piece. The external oil seal is the bottom piece, it has a seal in the end to keep dust collected on the rod from getting inside as well as a couple of o-rings inside to hold back whatever oil may get to it. The upper one is the actual gland and has packing inside that the oil seal helps keep in place. Both of them are hard to remove, but the external seal is the easiest. The gland was really hard. If you look closely you'll see burn marks where I heated it up to get it loose. I took an acetylene torch and ran it around the outside until I was able to turn it with a wrench and the cheater bar.

The end nut that holds the piston together was not as hard as I expected, I only needed the cheater bar to get it to move.

The reassembly after replacing all the o-rings and seals was pretty easy, but I managed to mess it up. When I put the external seal in place I over-tightened it and broke it:

This was the first cylinder I rebuilt, so I have something of an excuse. I thought that since it was so hard to get off that it should be torqued down and it just crumbled.

Turns out that these are often made from cast iron, not steel. The cast iron just couldn't handle it. Man, was it hard to remove. It was as tight as it could be and had red locktite on it. When I went to replace it I used a chisel and pounded it pretty hard for a while; it finally gave up and turned a little bit. I got a replacement for just a shade under $100. Total rip off, but I couldn't find a used one anywhere.

Now, let's consider the replacement seals. If you go to a dealer, they'll sell you a kit that has the necessary seals and such in it to replace everything. I actually found seal kits for this tractor, but ... $200 for some o-rings?? There had to be a better way. Calling around the various places that serviced hydraulic systems was worthless, they all wanted to sell me the expensive kits or do the job for me. I finally talked to a guy that suggested going to a store that specialized in this kind of thing. I got a hint from the parts guy at a local AutoZone, Martin Fluid Power.

I found Martin Fluid Power on the web and they had a store in town, so I loaded up the first cylinder and went there prepared to show them exactly what I needed. They were great. The guy measured each spot where a seal was supposed to go and gathered up the parts right there in front of me. I took my bag of stuff that cost $25 and went home with it. I just saved myself $175 a cylinder.

What was there originally for packing was called a Vee Pack. This is a specially shaped seal that you combine a number of to fill the space. The orientation of these is important. There are two kinds of basic cylinders: single action and double action. Single action only push one way, they are returned by springs or the weight of what they are moving. Common examples are a floor jacks or the jacks under motor homes. Double action get fluid pressure on both ends to move it in or out. Most cylinders on tractors are double action. The only exception I know of are the swing cylinders on some backhoes, they use two single action cylinder in opposition to swing that big boom around. The Vee Packs are arranged differently in the two types. Here's a picture of mine to supplement the ones in the thread I recommended up top:

See the shape? If you were to cross-section them they would look like a 'V', hence the name Vee Pack. You basically point the open side toward the fluid pressure so they expand a tiny bit and hold back the fluid. What makes it a 'pack' is that it consists of several of these with a special spacer in the middle; some of them point one way and the rest point the other. Out there on the web are some illustrations of this and how they hold back the fluid and move the piston back and forth in the cylinder.

Naturally, being me, I didn't replace them with a normal Vee Pack. I used what they called a Poly Pack. These are high tech materials that work the same way, but survive much much longer. You almost never see Poly Packs on tractors, but for a tiny bit more money, they should last until the tractor wears me out. They look like this:


They have the same action of expanding one edge a tiny bit under pressure to fully seal the cylinder, but the different shape and extra spacer piece in the middle work to decrease friction and wear. The material also helps with friction and keeps the temperature down during use. They work the same, buy enough of them that fit the particular cylinder and fill the space; put half of them facing one way and the other half facing the other. When you lay them out remember the wide end faces the incoming fluid.

I used these on the pistons as well as the interior of the external oil seals. They just work with no hassle at all. Getting the right size may be a tiny hassle, but a good parts man can help with that.

Lastly, a couple of suggestions for doing this. Take a LOT of pictures; this isn't the good old days when you had to have film developed. I didn't take enough, and when I put back one of the cylinders, I messed it up. Here's a picture of the installation showing the hydraulic hose:

Don't see the problem? Let's look a little closer:

Most of you see the problem, but for the ones that haven't messed with a tractor, the answer is, I got the cylinder in upside down. When the cylinder pivots up it will crush the connector. Guess what:

It did. If I had taken a before picture and then actually looked at it, I would not have had to order a new hose. That brings up another point hydraulic hoses.

Hydraulic hoses cost way too much. Well, that is if you go to the places that various folk recommend. There's a place here in Phoenix that everyone touts as being THE place to go for hydraulic hoses. I went there for the first couple of hoses and paid out the nose for them. The next set I went to AutoZone and got them. Frankly, if you don't live in a farming community, AutoZone is a pain because they don't understand pressure and flow well enough to put the hoses together. I talked the parts guy through it and got what I needed, but there's an even better way: go online. There's several places that sell hydraulic hoses online that have great customer service. You call them up describe what you need, maybe send them a picture or two, and they will put together exactly what you need. And, the price is fair.

I don't know if you noticed or not, every single place that I went to wanted to charge me several times what the stuff was actually worth. I fully expect to pay retail, but two hundred dollar seals, undefined labor rates that are under their control, triple the price hoses (or more) just isn't what I want to do. Look online for the stuff, the wait of a few days may save you hundreds of dollars and make an impossible project possible.


When you pry the various things apart and scrape the crud out of the various grooves, be careful with the darn screwdriver:

The rods are heavy and covered with a film of hydraulic fluid. When you handle them, wear gloves that increase the friction between your hands and the rods. This will offer some protection and lessen the chance of dropping it on something soft:

Have fun.