Rv tank level sensor / voltage monitoring

good evening, i am going to start by saying i am very HAS new! i am working on integrating has in my rv and i am working on figuring out how to monitor the holding tank levels. after some actual testing filling the tanks and emptying them i have discovered the current sensors use 7vdc and as the tanks fill up the voltage decreases from 7vdc to 2.3vdc is the lowest reading i read over my 4 tanks. each tank has 4 probes installed, a common, a probe at 1/4, 1/2 and full as the water level increases the voltage decreases. can anyone recommend a sensor of some kind. i have 4 sensors in total

I see the same question on boating forums. Tank level sensors seem to be a pain point for both RV’ers and boaters. Lots of tanks to monitor, and the prices on off-the-shelf gear are stupid expensive.

I’m thinking of going with ultrasonic sensors and ESPHome. I’ve done that for the heating oil tank in my house and it works great, although admittedly the house doesn’t move much.

I’m not a fan of those four-sensor units, which only give empty, one-quarter, half, three-quarters and full. They work fine, but it seems sort of primitive not to have better precision than that.

Mopeka makes water tank and propane sensors (I have both) that work well with HA and aren’t too expensive. With the water tank sensor I have installed, it works well until the tank gets low, then it tends to go haywire. I suspect that the flex of the tank is part of it, as the propane sensors seems to work great all the time. Even so, I still find it more useful than the built-in sensors.

First problem is the tanks are very difficult to get to second honestly I doesn’t really matter to me exactly where they are is fine if there half full I’m going to dump them.

So, you just need to monitor voltages and a simple voltage divider will do just that.

There is a ton of documentation and resources regarding monitoring voltage with esp bostds. Just type it in a search box and then your almost there.

Ok so I have managed to get the Shelly uni working to see the voltage of my tank sensors. The tank sensors use 7vdc. My issue i cannot seem to find anything on is when the tanks are full they show there lowest voltage range for example my fresh tank is full it shows 3.25 when it’s empty it shows 6.88 vdc. How can I edit a gauge preferably to read backwards?

First of all, providing details, code, pics, etc. Any of these you can provide are much more helpful than explaining things. So, this is the entity provided from the Shelly that shows voltage? You have 2 entities correct? Also, what guage are you talking about? Again, this is why actual information is needed, we arent mind readers here. Is this the HA guage card? An entity from shelly? Third party add-on from HACS? Idk what your talking about.

How about just don’t respond if your going to be condescending. As I stated originally I’m very new to this.

Thats perfectly fine but this isnt unique to HA, Esphome or even Shelly. This is an every day life concept. Just as if this was a car problem, a home wring problem or even a problem with your lawn, the person helping you needs to know specifics. We arent there with you and know what youve done or what you’re talking about. We dont have some special access into your brain so, you need to be specific, provide details, pictures and facts.

Condescending? Give me a break. There isnt exactly a line of people waiting to untangle the mess they’ve read so, either take the advice, get your emotions in check and lets figure this out or worry about hurt feelings and get nowhere.

Ive used many Shelly products but not the uni. I quickly read the specifications and user manual to see if there were any configuration options in the Shelly app which there dont seem to be any atleast that helps here.

If you can shed light on the HA entities that were discovered from the Uni, that will answer a lot of questions and get yourself an inverted guage or however you want to display it.

So I guess that makes you the HAS God and I am suppose to kiss your back side for helping me figure it out. Get off your high horse guy.

tank voltage divider
What about a voltage divider to bring the 7V down to 3V that the ADC pins on an ESP32 can read.

I think you are getting overly offended here. I’ve read his posts multiple times, I don’t see anything condescending. Just another person trying to help with little information.

@Fallingaway24 please do not respond, it won’t make this situation any better. Thanks.

This isn’t the way to help people. Again I’ve asked you repeatedly just remove yourself and yet here you still are.

I’ve read about this several places but I think it’s over my head how to make it work and write the code. It seems like it would be the perfect solution though.

My last response was my first reply to you. I’m not sure what you mean, unless you’re mistaking me for Fallingaway24.


Saying “first of all” does not mean the person is being condescending… It’s a synonym for “first”, “first off”, “firstly”, or “foremost”. Your knee jerk reaction was to assume they were being condescending to you.

Please, when people reply, do not assume they are being condescending. Many people on these forums are not native English speakers, things may come across as offensive when they aren’t intended to be.

Last and but not least, even if someone is being “mean” to you, do not reply in kind. Just flag the person and move on.

Thanks

I did flag him and I asked him to leave. Then he writes a whole reply about how he’s the only only that’s willing to help me so I should just deal with him but your right I took that wrong. Thanks for listening


Using common resistors available 220Kohm and 75Kohm the 7V dc would read as 2.83V.

  - platform: adc
    pin: GPIO32
    name: Sensor1
    id: Sensor1_voltage
    accuracy_decimals: 2
    update_interval: 60s
    attenuation: 12dB

  - platform: adc
    pin: GPIO33
    name: Sensor2
    id: Sensor2_voltage
    accuracy_decimals: 2
    update_interval: 60s
    attenuation: 12dB

You would set up the ESP32 with gpio32 for 1st sensor then next sensor would be GPOP33. Do same for all 4 sensors with 4 voltage dividers. All GNDs connect to same GND. If you only need to know when 1/5 full then just use one sensor.
You could then display the voltages whatever way you wanted to show the tank fullness. You just need to be able to access to the positive and negative terminals on the probes.

That’s fantastic ok I understand most of that. The voltage dividers are the resistors correct? So the way it’s wired from the factory is a common on the 7vdc+ to all four of the tank sensors. There fresh, two grey tanks and one black. So each tank gets a common 7vdc supplied to a physical probe sensor in the bottom of the tank. Then there’s are 3 more probes one at the bottom one at half way then one at top so as the tank fills the liquid connects those probes the odd part for me is the voltage decreases as the tank gets fuller if that makes since.

Just to make it clear at the tank u have the three wires however where they run to you one have two wires the sensors/probes all connect to a single wire to come back.

1 Like

That looks even simpler. Only 2 sensor (2 ADC pins needed). Yes the voltage divider is just made of resistors. I used 220K and 150K resistors to keep the current very low. This should bring the current down to microamps. Can’t go much higher or it will be more sensitive to the load from the ESP. I imagine in a RV you want to use as little power as possible. Later you can use deep sleep to reduce the power usage further. All GNDs must be common