To może i ja dorzucę swoje 4 grosze:
Popełniłem termometr na espeasy - obsługuje 2 zestawy na raz, tj. kolumnę i potstila.
Dodatkowo pokazuje ilość alkoholu jaki został w kegu (w zależności od temperatury wsadu i jego ilości) oraz "moc pary" w zależności od temperatury w głowicy.
Dla zainteresowanych "rules" z formułami:
On System#Boot do
timerSet,1,10
endon
On Rules#Timer=1 do
// Obliczenia dla kolumny rektyfikacyjnej
TaskValueSet,3,2,((-0.0124*[KOL_TZ#T]^3))+(3.5525*[KOL_TZ#T]^2)-(340.4741*[KOL_TZ#T])+10921.88
TaskValueSet,3,3,[KEG#ILOSC]*[KEG#PROCENT]/100
TaskValueSet,3,4,((-0.0129*[KOL_TG#T]^3+3.261*[KOL_TG#T]^2-276.3426*[KOL_TG#T]+7923.564))
// obliczenia dla potstila
TaskValueSet,4,2,((-0.0124*[PLA_KEG_WSAD#T]^3))+(3.5525*[PLA_KEG_WSAD#T]^2)-(340.4741*[PLA_KEG_WSAD#T])+10921.88
TaskValueSet,4,3,[PLASZCZ#ILOSC]*[PLASZCZ#PROCENT]/100
TaskValueSet,4,4,((-0.0129*[POTSTIL_GLOWICA#T]^3+3.261*[POTSTIL_GLOWICA#T]^2-276.3426*[POTSTIL_GLOWICA#T]+7923.564))
timerSet,1,10
endon
Objaśnienia (kolumna)
KOL_TZ#T - temperatura w kegu
KEG#ILOSC - ilość wsadu w litrach
KOL_TG#T - temperatura głowicy
Objaśnienia (kolumna)
PLA_KEG_WSAD#T - temperatura w kegu
PLASZCZ#ILOSC - ilość wsadu w kegu
POTSTIL_GLOWICA#T - temperatura na głowicy
Wartości zapisywane są w dummydevice a następnie prezentowane na wyświetlaczu lcd.
Dodatkowo popełniłem 2 podstrony do szybkiego podglądu (wgrane na esp), przez które zapisuje ilości wsadu w litrach i zapisuje temperatury dnia:
Dla kolumny:
<!DOCTYPE html>
<head>
<meta name="viewport" content="width=width=device-width, initial-scale=1">
<STYLE>
td { border: 2px solid black; }
* {font-family:sans-serif; font-size:20pt;}
. button {margin:3px; padding:3px 8px; background-color:#EEE; color:#FFF; text-decoration:none; border-radius:3px}
</STYLE>
<tr>
<td><b><a href="
http://192.168.1.216/kol.esp"><input type="button" value="KOLUMNA" /></a></b></td>
</tr>
<meta http-equiv="refresh" content="10">
<table border="1" bordercolor="FFCC00" style="background-color:FFFFCC" width="80%" cellpadding="3" cellspacing="3">
<tr>
<td>GLOWICA:</td>
<td>[KOL_TG#T]*C</td>
</tr>
<tr>
<td>KOLUMNA:</td>
<td>[KOL_TK#T]*C</td>
</tr>
<tr>
<td>ZBIORNIK:</td>
<td>[KOL_TZ#T]*C</td>
</tr>
<tr>
<td>WSAD W KEGU</td>
<td>[KEG#ILOSC] litrow</td>
</tr>
<tr>
<td>PROCENT W KEGU</td>
<td>[KEG#PROCENT]%</td>
</tr>
<tr>
<td>OBJETOSC ALKU W KEGU</td>
<td>[KEG#OBJETOSC] litrow</td>
</tr>
<tr>
<td>PROCENT/MOC PARY</td>
<td>[KEG#PROC_PARA] %</td>
</tr>
<tr>
<td>TEMP DNIA GLOWICA</td>
<td>[DANE#KOL_TEMP_DNIA_GLOWICA] *C</td>
</tr>
<tr>
<td>TEMP DNIA KOLUMNA</td>
<td>[DANE#KOL_TEMP_DNIA_KOLUMNA] *C</td>
</tr>
</table>
<br/>
<a href="
http://192.168.1.216/kol.esp?cmd=TaskValueSet,5,1,[KOL_TG#T]"><input type="button" value="Temp glowicy -> Temp dnia" /></a>
<a href="
http://192.168.1.216/kol.esp?cmd=TaskVa ... ,0"><input type="button" value="Resetuj" /></a>
<br/>
<a href="
http://192.168.1.216/kol.esp?cmd=TaskValueSet,5,2,[KOL_TK#T]"><input type="button" value="Temp kolumny-> Temp dnia" /></a>
<a href="
http://192.168.1.216/kol.esp?cmd=TaskVa ... ,0"><input type="button" value="Resetuj" /></a>
<br/>
WSAD [litry] :<br/>
<a href="
http://192.168.1.216/kol.esp?cmd=TaskVa ... 28"><input type="button" value="28" /></a>
<a href="
http://192.168.1.216/kol.esp?cmd=TaskVa ... 30"><input type="button" value="30" /></a>
<a href="
http://192.168.1.216/kol.esp?cmd=TaskVa ... 32"><input type="button" value="32" /></a>
<a href="
http://192.168.1.216/kol.esp?cmd=TaskVa ... 34"><input type="button" value="34" /></a>
<a href="
http://192.168.1.216/kol.esp?cmd=TaskVa ... 36"><input type="button" value="36" /></a>
<br/>
<a href="
http://192.168.1.216/kol.esp?cmd=TaskVa ... 38"><input type="button" value="38" /></a>
<a href="
http://192.168.1.216/kol.esp?cmd=TaskVa ... 40"><input type="button" value="40" /></a>
<a href="
http://192.168.1.216/kol.esp?cmd=TaskVa ... 42"><input type="button" value="42" /></a>
<a href="
http://192.168.1.216/kol.esp?cmd=TaskVa ... 44"><input type="button" value="44" /></a>
<a href="
http://192.168.1.216/kol.esp?cmd=TaskVa ... 46"><input type="button" value="46" /></a>
</body>
</html>
Dla potstila:
<!DOCTYPE html>
<head>
<meta name="viewport" content="width=width=device-width, initial-scale=1">
<STYLE>
td { border: 1px solid black; }
* {font-family:sans-serif; font-size:20pt;}
. button {margin:3px; padding:3px 8px; background-color:#6fa8dc; color:#FFF; text-decoration:none; border-radius:3px}
</STYLE>
<tr>
<td><b>POT-STILL:</b></td>
</tr>
<meta http-equiv="refresh" content="5">
<table border="1" bordercolor="f44336" style="background-color:FFFFCC" width="80%" cellpadding="0" cellspacing="0">
<tr>
<td>GLOWICA:</td>
<td>[POTSTIL_CHLODNICA#T][*C]</td>
</tr>
<tr>
<td>ZBIORNIK PARA:</td>
<td>[TZ_PLASZCZ_KEG_PARA#T] [*C]</td>
</tr>
<tr>
<td>ZBIORNIK CIECZ:</td>
<td>[PLASZCZ_WSAD#T] [*C]</td>
</tr>
<tr>
<td>WSAD W KEGU</td>
<td>[PLASZCZ#ILOSC] [L]</td>
</tr>
<tr>
<td>PROCENT W KEGU</td>
<td>[PLASZCZ#PROCENT] [%]</td>
</tr>
<tr>
<td>OBJETOSC ALKU W KEGU</td>
<td>[PLASZCZ#OBJETOSC] [L]</td>
</tr>
<tr>
<td>PROCENT/MOC PARY</td>
<td>[PLASZCZ#PROC_PARA] [%]</td>
</tr>
</table>
WSAD [litry] :<br/>
<a href="
http://192.168.1.216/ps.esp?cmd=TaskVal ... 28"><input type="button" value="28" /></a>
<a href="
http://192.168.1.216/ps.esp?cmd=TaskVal ... 30"><input type="button" value="30" /></a>
<a href="
http://192.168.1.216/ps.esp?cmd=TaskVal ... 32"><input type="button" value="32" /></a>
<a href="
http://192.168.1.216/ps.esp?cmd=TaskVal ... 34"><input type="button" value="34" /></a>
<a href="
http://192.168.1.216/ps.esp?cmd=TaskVal ... 36"><input type="button" value="36" /></a>
<br/>
<a href="
http://192.168.1.216/ps.esp?cmd=TaskVal ... 38"><input type="button" value="38" /></a>
<a href="
http://192.168.1.216/ps.esp?cmd=TaskVal ... 40"><input type="button" value="40" /></a>
<a href="
http://192.168.1.216/ps.esp?cmd=TaskVal ... 42"><input type="button" value="42" /></a>
<a href="
http://192.168.1.216/ps.esp?cmd=TaskVal ... 44"><input type="button" value="44" /></a>
<a href="
http://192.168.1.216/ps.esp?cmd=TaskVal ... 46"><input type="button" value="46" /></a>
</body>
</html>
Na zdrowie
nocnymarek