Controlling VPD

H.A.F.

a.k.a. Rusty Nails
For the most part my attention to room design is what allows me to do this with such little gear.
Probably matches your personality to get into that aspect and go with it right? I have always had a garden of some size, even if it was tomatoes on a porch in an apartment. I think that drew me to the organic aspect. I can grow other stuff besides weed, on purpose! :ROFLMAO:
 

PuffTheMagic

Super Active Member
how does one know what vpd your garden is @? they have a meter for that?

what is a good VPD controller ? not the highest priced , limited funds
I build these little "environment sensors" out of BME280 temp,humidity,pressure sensors and esp8266 based dev boards. The dev boards are flashed with a firmware called Tasmota which is huge in the home automation scene. The firmware knows how to talk to the sensor and the sensor values get streamed on your network via MQTT. The sensors are pricey but they are the most accurate on the market, Tasmota works with other sensors. In all, you can make one of these for $10-15. You just need to solder 4 wires between the sensor and dev board, no extra components are needed. The dev board is power with a usb 5v charger. First boot after flashing Tasmota it broadcasts an AP which you connect to on your phone and the configure it to attach to your normal wifi.

VPD can be calculated pretty easy:

air_temp = BME280.Temperature
leaf_temp = air_temp - 2
rh = BME280.Humidity
asvp = 610.78 * 2.718281828459045 ** ( air_temp / ( air_temp + 238.3 ) * 17.2694) / 1000
lsvp = 610.78 * 2.718281828459045 ** ( leaf_temp / ( leaf_temp + 238.3 ) * 17.2694) / 1000
lvpd = lsvp - ( asvp * rh / 100 )

My "VPD controller" is a server running Home Assistant. All my lights and fans are on smart switches that are available within Home Assistant and I have automation rules that say things like: If the lights are on in tent 1 and the VPD is > 1.2 turn fan duct fan on. That pulls in air with lower RH and the VPD comes down. If you have humidifiers and dehumidifiers and heaters you can set up some pretty complicated rules for which "strategy" you to use to manipulate the VPD.
 
I build these little "environment sensors" out of BME280 temp,humidity,pressure sensors and esp8266 based dev boards. The dev boards are flashed with a firmware called Tasmota which is huge in the home automation scene. The firmware knows how to talk to the sensor and the sensor values get streamed on your network via MQTT. The sensors are pricey but they are the most accurate on the market, Tasmota works with other sensors. In all, you can make one of these for $10-15. You just need to solder 4 wires between the sensor and dev board, no extra components are needed. The dev board is power with a usb 5v charger. First boot after flashing Tasmota it broadcasts an AP which you connect to on your phone and the configure it to attach to your normal wifi.

VPD can be calculated pretty easy:

air_temp = BME280.Temperature
leaf_temp = air_temp - 2
rh = BME280.Humidity
asvp = 610.78 * 2.718281828459045 ** ( air_temp / ( air_temp + 238.3 ) * 17.2694) / 1000
lsvp = 610.78 * 2.718281828459045 ** ( leaf_temp / ( leaf_temp + 238.3 ) * 17.2694) / 1000
lvpd = lsvp - ( asvp * rh / 100 )

My "VPD controller" is a server running Home Assistant. All my lights and fans are on smart switches that are available within Home Assistant and I have automation rules that say things like: If the lights are on in tent 1 and the VPD is > 1.2 turn fan duct fan on. That pulls in air with lower RH and the VPD comes down. If you have humidifiers and dehumidifiers and heaters you can set up some pretty complicated rules for which "strategy" you to use to manipulate the VPD.
EzPz.
 

treefarmercharlie

🍆
Admin
VPD can be calculated pretty easy:

air_temp = BME280.Temperature
leaf_temp = air_temp - 2
rh = BME280.Humidity
asvp = 610.78 * 2.718281828459045 ** ( air_temp / ( air_temp + 238.3 ) * 17.2694) / 1000
lsvp = 610.78 * 2.718281828459045 ** ( leaf_temp / ( leaf_temp + 238.3 ) * 17.2694) / 1000
lvpd = lsvp - ( asvp * rh / 100 )
Thanks for this! I’ve been thinking about calculating VOD so I can display it on my control panel but have been too lazy to search for the calculation. I’m going to play around with this today.
 

treefarmercharlie

🍆
Admin
asvp = 610.78 * 2.718281828459045 ** ( air_temp / ( air_temp + 238.3 ) * 17.2694) / 1000
lsvp = 610.78 * 2.718281828459045 ** ( leaf_temp / ( leaf_temp + 238.3 ) * 17.2694) / 1000
lvpd = lsvp - ( asvp * rh / 100 )
Can you explain what you are doing in these lines of code?

For "asvp" it looks like you are taking 1,660.272175186216 (610.78 * 2.718281828459045) and then multiplying it to the result of air temp divided by the sum of air temp + 238.3 * 17.2694 divided by 1000. Then you are doing the same for lsvp, but using the leaf temp, and then you are calculating the VPD by subtracting the sum of asvp * rh divided by 1000 from lsvp. Is that correct?
 

PuffTheMagic

Super Active Member
Can you explain what you are doing in these lines of code?

For "asvp" it looks like you are taking 1,660.272175186216 (610.78 * 2.718281828459045) and then multiplying it to the result of air temp divided by the sum of air temp + 238.3 * 17.2694 divided by 1000. Then you are doing the same for lsvp, but using the leaf temp, and then you are calculating the VPD by subtracting the sum of asvp * rh divided by 1000 from lsvp. Is that correct?
2.718281828459045 <- this is e, Euler's constant
and ** is python notation for raise to the power

so that part of the equation is.... (610.78 * e ^ A) / 1000

Its explained better here:
 

treefarmercharlie

🍆
Admin
2.718281828459045 <- this is e, Euler's constant
and ** is python notation for raise to the power

so that part of the equation is.... (610.78 * e ^ A) / 1000

Its explained better here:
Thanks for the info, I've actually been having a coworker help me figure this out since my coding knowledge is more outdated and I'm used to a proprietary language that is similar to C++. He is writing it for me in C# so I can just plop his block of code into mine and have it do the conversion for me.
 
Top