diff --git a/.gitignore b/.gitignore
index 6e2501700..9fbbbf552 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+.pio
.pioenvs
.piolibdeps
.clang_complete
diff --git a/README.md b/README.md
index a9369c640..69b2a567a 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,5 @@
# BrewPiLess
- **Note: ALL BPL settings will be gone after upgrading to v3.0**
-
- **Note: re-SETUP is necessary after upgrading to v2.4**
+ **Note: Beer Profile exteds to maximum 10 steps. Your setting might lost. There is an utility, /extra/backup.htm. You can upload this file and use it to backup/restore the settings.**
## Features
* I2C LCD support.
@@ -21,7 +19,8 @@
* Save and resuse of beer profiles.
* Static IP setting.
* Export saved data to csv format by offline log viewer.
- * Brew and calibrate iSpindel. **new!**
+ * Brew and calibrate.
+ * Tilt & Rapt Pill support(ESP32)
# Introduction
This project uses a single ESP8266 to replace RPI and Arduino.
@@ -38,21 +37,80 @@ You will need to run the hardware setup procedure after upgrading to v2.4 from p
## Known issues
* ESP8266 won't restart after saving system configuration.
Sometimes ESP8266 can't restart after a software watchdog timer reset, which is the only way to reset the system by software. It happened on my NodeMcu and D1 mini boards that didn't connect to anything but USB. I have no solution for it.
-* ESP8266 won't start after selecting WiFi network.
- The web server used is ESPAsyncWebServer which uses ESPAsyncTCP. I found that if ESP8266 ever enters SoftAP mode before connecting to the network, the Web server will fail on tcp_bind() and the web service will be unavailable. Not tracing the source code of the LWIP, I just worked around by reseting the system. However, ESP8266 sometimes doesn't reset.
* The page can't be loaded correctly.
It rarely happens after HTTP caching is used, but it does happen especially when Javascript Console is opened. During developing and testing, I found corrupted html/javascript pages. Without the abliity and time to debug or develop the web server and or TCP/IP stack, I decide to live with it.
* Incorrect temperature chart.
The log format before v2.0 is vulnerable. There seems to be some unconsidered conditions that break the log.
+* The gravity caluated by the controller is slightly different from that shown on chart. It is because the formula are derived speratedly. Due to different float precision, the formula is different. The difference should be small, though.
## Version History
+ * 2024/09/16 update
+ * trying ESP32 framework 6.8.1
+ * No password for AP mode by default; workaround for an issue in newer framework.
+ * Add BLE sensor supports(not enabled by default)
+ * 4.4
+ * Settings might be reset, save it before updgrading.
+ * (ESP32) Rapt Pill support
+ * Revise Gravity Device Setting.
+ * Removing confusing calibration temperature of wireless hydrometer
+ * Code revise
+ * update ESP32 framework to 6.3.2
+ * 4.3.1
+ * Auto list device list on page open
+ * Advanced settings for control constants.
+ * Glycol as an option. No more dedicated Glycol build.
+ * Update Filemanager.
+ * 4.3
+ * update ESP32 framework to 5.4.0
+ * update ESP8266 framework to 4.2.0
+ * 4.2.2
+ * Dedicated GLYCOL support binary. Glycol chilling is NOT supported by default.
+ * 4.2.1
+ * [Only web front changes.] Show gravity changes of latest 48H/24H/12H instead of "stable".
+ * 4.2
+ * BMP280 support
+ * Using environment temperature as room/chamber temperature
+ * extend maximum Beer Profile to 10 steps.
+ * experimental Humidity control
+ * Rotating LCD for extra information, like iSpiondel information, Humidity, and pressure.
+ * Dedicated additional iSpindel display of SSD1306 OLED LCD.
+ * New 'Write on buffer full' option for logging to reduce flash writing.
+ * Backup/restore settings
+ * LittleFS replaces SPIFFS for all ESP8266.
+ * LittleFS is default for ESP32.
+ * Partition table for ESP32 has changed. Flash via USB might be necessary.
+
+ * 4.1
+ * "Real" generic HTTP logging.
+ * DHT1x/DHT2x support, for humidity control
+ * Pressure report for Brewfather.app
+ * [ESP32] HTTPS remote logging.
+ * [ESP32] TILT support
+ * Classic frontend is no longer maintained.
+
+ * 4.0r1
+ * Fix lost of WiFi connection after a few days.
+ * 4.0
+ * Arduino Framework 2.2.0
+ * Pressure chart
+ * [Prewssure transducer ADC refined. ADS1115 support.](doc/PresssureMonitor.md)
+ * Display MAC address and Flash related information.
+
+ * v3.6r3
+ * Shorten recovering time. Resolving disconnection in AP mode for WiFi Auto Reconnect.
+
+ * v3.6v2
+ * Bug fixed: system config cann't be saved.
+ * Bug fixed:DHCP service not availbe in AP_STA mode
* v3.6
* update framework to 2.2.0
+ * **4m2m flash layout for All but SONOFF, due to size growth of framework.**
* update OLED library to 4.0 (Not verified by me, but SOMEONE@HBT did report working)
* update to ArduinoJson V6
* add revised LCD page. at /lcd
* SOFF OTA configuraton not longer available for space limit
* Using interrupt for more responsive button operation.
+ * MQTT publish/subscribe, NEW UI only.
* v3.5.1
* fixed iSpindel temperature unit issue
diff --git a/bins/BrewPiLess.v2.6rc.bin b/bins/BrewPiLess.v2.6rc.bin
deleted file mode 100644
index f0678b629..000000000
Binary files a/bins/BrewPiLess.v2.6rc.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v2.6rc.ioexpander.bin b/bins/BrewPiLess.v2.6rc.ioexpander.bin
deleted file mode 100644
index b05ce0306..000000000
Binary files a/bins/BrewPiLess.v2.6rc.ioexpander.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v2.6rc.oled.bin b/bins/BrewPiLess.v2.6rc.oled.bin
deleted file mode 100644
index 2f8c2e2a4..000000000
Binary files a/bins/BrewPiLess.v2.6rc.oled.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v2.6rc.sonoff.bin b/bins/BrewPiLess.v2.6rc.sonoff.bin
deleted file mode 100644
index 8b8b892bc..000000000
Binary files a/bins/BrewPiLess.v2.6rc.sonoff.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v2.6rc.sonoffota.bin b/bins/BrewPiLess.v2.6rc.sonoffota.bin
deleted file mode 100644
index b05ce0306..000000000
Binary files a/bins/BrewPiLess.v2.6rc.sonoffota.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v2.6rc.thorrax.bin b/bins/BrewPiLess.v2.6rc.thorrax.bin
deleted file mode 100644
index c23154cb2..000000000
Binary files a/bins/BrewPiLess.v2.6rc.thorrax.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.1.bin b/bins/BrewPiLess.v3.1.bin
deleted file mode 100644
index b64a349bf..000000000
Binary files a/bins/BrewPiLess.v3.1.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.1.ioexpander.bin b/bins/BrewPiLess.v3.1.ioexpander.bin
deleted file mode 100644
index ea8b76846..000000000
Binary files a/bins/BrewPiLess.v3.1.ioexpander.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.1.newui.bin b/bins/BrewPiLess.v3.1.newui.bin
deleted file mode 100644
index 492674c8d..000000000
Binary files a/bins/BrewPiLess.v3.1.newui.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.1.newui.spanish.bin b/bins/BrewPiLess.v3.1.newui.spanish.bin
deleted file mode 100644
index a7400235e..000000000
Binary files a/bins/BrewPiLess.v3.1.newui.spanish.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.1.oled.bin b/bins/BrewPiLess.v3.1.oled.bin
deleted file mode 100644
index faf4c82d1..000000000
Binary files a/bins/BrewPiLess.v3.1.oled.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.1.ptc.bin b/bins/BrewPiLess.v3.1.ptc.bin
deleted file mode 100644
index 233af4063..000000000
Binary files a/bins/BrewPiLess.v3.1.ptc.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.1.sonoff.bin b/bins/BrewPiLess.v3.1.sonoff.bin
deleted file mode 100644
index 51e015562..000000000
Binary files a/bins/BrewPiLess.v3.1.sonoff.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.1.sonoffota.bin b/bins/BrewPiLess.v3.1.sonoffota.bin
deleted file mode 100644
index f0a8d3c4e..000000000
Binary files a/bins/BrewPiLess.v3.1.sonoffota.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.1.spanish.bin b/bins/BrewPiLess.v3.1.spanish.bin
deleted file mode 100644
index c4d275b15..000000000
Binary files a/bins/BrewPiLess.v3.1.spanish.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.1.thorrax.bin b/bins/BrewPiLess.v3.1.thorrax.bin
deleted file mode 100644
index 483370dd5..000000000
Binary files a/bins/BrewPiLess.v3.1.thorrax.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.2r2.bin b/bins/BrewPiLess.v3.2r2.bin
deleted file mode 100644
index ce21aa5ac..000000000
Binary files a/bins/BrewPiLess.v3.2r2.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.2r2.ioexpander.bin b/bins/BrewPiLess.v3.2r2.ioexpander.bin
deleted file mode 100644
index b4e91a48c..000000000
Binary files a/bins/BrewPiLess.v3.2r2.ioexpander.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.2r2.newui.bin b/bins/BrewPiLess.v3.2r2.newui.bin
deleted file mode 100644
index e0c573528..000000000
Binary files a/bins/BrewPiLess.v3.2r2.newui.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.2r2.newui.portuguesbr.bin b/bins/BrewPiLess.v3.2r2.newui.portuguesbr.bin
deleted file mode 100644
index bd2ba24fb..000000000
Binary files a/bins/BrewPiLess.v3.2r2.newui.portuguesbr.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.2r2.newui.spanish.bin b/bins/BrewPiLess.v3.2r2.newui.spanish.bin
deleted file mode 100644
index 01cd77ab6..000000000
Binary files a/bins/BrewPiLess.v3.2r2.newui.spanish.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.2r2.oled.bin b/bins/BrewPiLess.v3.2r2.oled.bin
deleted file mode 100644
index 79dbf9246..000000000
Binary files a/bins/BrewPiLess.v3.2r2.oled.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.2r2.portuguesbr.bin b/bins/BrewPiLess.v3.2r2.portuguesbr.bin
deleted file mode 100644
index 114a4faa7..000000000
Binary files a/bins/BrewPiLess.v3.2r2.portuguesbr.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.2r2.ptc.bin b/bins/BrewPiLess.v3.2r2.ptc.bin
deleted file mode 100644
index 95f51bc25..000000000
Binary files a/bins/BrewPiLess.v3.2r2.ptc.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.2r2.sonoff.bin b/bins/BrewPiLess.v3.2r2.sonoff.bin
deleted file mode 100644
index 9a5bb8579..000000000
Binary files a/bins/BrewPiLess.v3.2r2.sonoff.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.2r2.sonoffota.bin b/bins/BrewPiLess.v3.2r2.sonoffota.bin
deleted file mode 100644
index 78b4edfb0..000000000
Binary files a/bins/BrewPiLess.v3.2r2.sonoffota.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.2r2.spanish.bin b/bins/BrewPiLess.v3.2r2.spanish.bin
deleted file mode 100644
index 22f897141..000000000
Binary files a/bins/BrewPiLess.v3.2r2.spanish.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.2r2.thorrax.bin b/bins/BrewPiLess.v3.2r2.thorrax.bin
deleted file mode 100644
index cf27d16ea..000000000
Binary files a/bins/BrewPiLess.v3.2r2.thorrax.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.3r1.bin b/bins/BrewPiLess.v3.3r1.bin
deleted file mode 100644
index c6d3437e4..000000000
Binary files a/bins/BrewPiLess.v3.3r1.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.3r1.ioexpander.bin b/bins/BrewPiLess.v3.3r1.ioexpander.bin
deleted file mode 100644
index 2bd3af2db..000000000
Binary files a/bins/BrewPiLess.v3.3r1.ioexpander.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.3r1.newui.bin b/bins/BrewPiLess.v3.3r1.newui.bin
deleted file mode 100644
index 385bbef0c..000000000
Binary files a/bins/BrewPiLess.v3.3r1.newui.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.3r1.newui.portuguesbr.bin b/bins/BrewPiLess.v3.3r1.newui.portuguesbr.bin
deleted file mode 100644
index ad59c6f22..000000000
Binary files a/bins/BrewPiLess.v3.3r1.newui.portuguesbr.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.3r1.newui.spanish.bin b/bins/BrewPiLess.v3.3r1.newui.spanish.bin
deleted file mode 100644
index 622ef53f4..000000000
Binary files a/bins/BrewPiLess.v3.3r1.newui.spanish.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.3r1.oled.bin b/bins/BrewPiLess.v3.3r1.oled.bin
deleted file mode 100644
index c0c95084a..000000000
Binary files a/bins/BrewPiLess.v3.3r1.oled.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.3r1.portuguesbr.bin b/bins/BrewPiLess.v3.3r1.portuguesbr.bin
deleted file mode 100644
index b31c67330..000000000
Binary files a/bins/BrewPiLess.v3.3r1.portuguesbr.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.3r1.ptc.bin b/bins/BrewPiLess.v3.3r1.ptc.bin
deleted file mode 100644
index 6999aa320..000000000
Binary files a/bins/BrewPiLess.v3.3r1.ptc.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.3r1.sonoff.bin b/bins/BrewPiLess.v3.3r1.sonoff.bin
deleted file mode 100644
index dbf396c95..000000000
Binary files a/bins/BrewPiLess.v3.3r1.sonoff.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.3r1.sonoffota.bin b/bins/BrewPiLess.v3.3r1.sonoffota.bin
deleted file mode 100644
index 9da436911..000000000
Binary files a/bins/BrewPiLess.v3.3r1.sonoffota.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.3r1.spanish.bin b/bins/BrewPiLess.v3.3r1.spanish.bin
deleted file mode 100644
index 0c3c81eb5..000000000
Binary files a/bins/BrewPiLess.v3.3r1.spanish.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.3r1.thorrax.bin b/bins/BrewPiLess.v3.3r1.thorrax.bin
deleted file mode 100644
index f9a39675b..000000000
Binary files a/bins/BrewPiLess.v3.3r1.thorrax.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4.bin b/bins/BrewPiLess.v3.4.bin
deleted file mode 100644
index d0f7a6eb8..000000000
Binary files a/bins/BrewPiLess.v3.4.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4.ioexpander.bin b/bins/BrewPiLess.v3.4.ioexpander.bin
deleted file mode 100644
index 83ce24cb6..000000000
Binary files a/bins/BrewPiLess.v3.4.ioexpander.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4.newui.bin b/bins/BrewPiLess.v3.4.newui.bin
deleted file mode 100644
index af535c935..000000000
Binary files a/bins/BrewPiLess.v3.4.newui.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4.newui.oled.portuguese-br.bin b/bins/BrewPiLess.v3.4.newui.oled.portuguese-br.bin
deleted file mode 100644
index fc0f434e0..000000000
Binary files a/bins/BrewPiLess.v3.4.newui.oled.portuguese-br.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4.newui.portuguese-br.bin b/bins/BrewPiLess.v3.4.newui.portuguese-br.bin
deleted file mode 100644
index c9d59946b..000000000
Binary files a/bins/BrewPiLess.v3.4.newui.portuguese-br.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4.newui.spanish.bin b/bins/BrewPiLess.v3.4.newui.spanish.bin
deleted file mode 100644
index 366edf5bc..000000000
Binary files a/bins/BrewPiLess.v3.4.newui.spanish.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4.oled.bin b/bins/BrewPiLess.v3.4.oled.bin
deleted file mode 100644
index a290e36ff..000000000
Binary files a/bins/BrewPiLess.v3.4.oled.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4.portuguese-br.bin b/bins/BrewPiLess.v3.4.portuguese-br.bin
deleted file mode 100644
index b36fc90ea..000000000
Binary files a/bins/BrewPiLess.v3.4.portuguese-br.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4.ptc.bin b/bins/BrewPiLess.v3.4.ptc.bin
deleted file mode 100644
index 801b215ec..000000000
Binary files a/bins/BrewPiLess.v3.4.ptc.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4.sonoff.bin b/bins/BrewPiLess.v3.4.sonoff.bin
deleted file mode 100644
index 3b187d733..000000000
Binary files a/bins/BrewPiLess.v3.4.sonoff.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4.sonoffota.bin b/bins/BrewPiLess.v3.4.sonoffota.bin
deleted file mode 100644
index b81eec41a..000000000
Binary files a/bins/BrewPiLess.v3.4.sonoffota.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4.spanish.bin b/bins/BrewPiLess.v3.4.spanish.bin
deleted file mode 100644
index 83e038367..000000000
Binary files a/bins/BrewPiLess.v3.4.spanish.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4.thorrax.bin b/bins/BrewPiLess.v3.4.thorrax.bin
deleted file mode 100644
index d270cae62..000000000
Binary files a/bins/BrewPiLess.v3.4.thorrax.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4r1.bin b/bins/BrewPiLess.v3.4r1.bin
deleted file mode 100644
index e52131613..000000000
Binary files a/bins/BrewPiLess.v3.4r1.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4r1.newui.bin b/bins/BrewPiLess.v3.4r1.newui.bin
deleted file mode 100644
index c0db20a5f..000000000
Binary files a/bins/BrewPiLess.v3.4r1.newui.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4r1.newui.portuguese-br.bin b/bins/BrewPiLess.v3.4r1.newui.portuguese-br.bin
deleted file mode 100644
index deb5a08d4..000000000
Binary files a/bins/BrewPiLess.v3.4r1.newui.portuguese-br.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4r1.newui.slovak.bin b/bins/BrewPiLess.v3.4r1.newui.slovak.bin
deleted file mode 100644
index 933fbcd8a..000000000
Binary files a/bins/BrewPiLess.v3.4r1.newui.slovak.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4r1.newui.spanish.bin b/bins/BrewPiLess.v3.4r1.newui.spanish.bin
deleted file mode 100644
index 494a8bf32..000000000
Binary files a/bins/BrewPiLess.v3.4r1.newui.spanish.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4r1.oled.bin b/bins/BrewPiLess.v3.4r1.oled.bin
deleted file mode 100644
index a26b0de25..000000000
Binary files a/bins/BrewPiLess.v3.4r1.oled.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4r1.oled.newui.portuguese-br.bin b/bins/BrewPiLess.v3.4r1.oled.newui.portuguese-br.bin
deleted file mode 100644
index 1f4a37d0b..000000000
Binary files a/bins/BrewPiLess.v3.4r1.oled.newui.portuguese-br.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4r1.portuguese-br.bin b/bins/BrewPiLess.v3.4r1.portuguese-br.bin
deleted file mode 100644
index 0715f33ec..000000000
Binary files a/bins/BrewPiLess.v3.4r1.portuguese-br.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4r1.ptc.bin b/bins/BrewPiLess.v3.4r1.ptc.bin
deleted file mode 100644
index d6b6aa169..000000000
Binary files a/bins/BrewPiLess.v3.4r1.ptc.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4r1.slovak.bin b/bins/BrewPiLess.v3.4r1.slovak.bin
deleted file mode 100644
index 2fe13a8f6..000000000
Binary files a/bins/BrewPiLess.v3.4r1.slovak.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4r1.soioexpandernoff.bin b/bins/BrewPiLess.v3.4r1.soioexpandernoff.bin
deleted file mode 100644
index fb13ab2ea..000000000
Binary files a/bins/BrewPiLess.v3.4r1.soioexpandernoff.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4r1.sonoff.bin b/bins/BrewPiLess.v3.4r1.sonoff.bin
deleted file mode 100644
index f311654e9..000000000
Binary files a/bins/BrewPiLess.v3.4r1.sonoff.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4r1.sonoff.esp8285.bin b/bins/BrewPiLess.v3.4r1.sonoff.esp8285.bin
deleted file mode 100644
index 5e5c674e6..000000000
Binary files a/bins/BrewPiLess.v3.4r1.sonoff.esp8285.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4r1.sonoffota.bin b/bins/BrewPiLess.v3.4r1.sonoffota.bin
deleted file mode 100644
index 18d0b01db..000000000
Binary files a/bins/BrewPiLess.v3.4r1.sonoffota.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4r1.sonoffota.esp8285.bin b/bins/BrewPiLess.v3.4r1.sonoffota.esp8285.bin
deleted file mode 100644
index 6fb444aef..000000000
Binary files a/bins/BrewPiLess.v3.4r1.sonoffota.esp8285.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4r1.spanish.bin b/bins/BrewPiLess.v3.4r1.spanish.bin
deleted file mode 100644
index 7bc309928..000000000
Binary files a/bins/BrewPiLess.v3.4r1.spanish.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.4r1.thorrax.bin b/bins/BrewPiLess.v3.4r1.thorrax.bin
deleted file mode 100644
index acd33ed0c..000000000
Binary files a/bins/BrewPiLess.v3.4r1.thorrax.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.5.4m2m.bin b/bins/BrewPiLess.v3.5.4m2m.bin
deleted file mode 100644
index 9bcda11a2..000000000
Binary files a/bins/BrewPiLess.v3.5.4m2m.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.5.4m2m.portuguese-br.bin b/bins/BrewPiLess.v3.5.4m2m.portuguese-br.bin
deleted file mode 100644
index 40cf21d9a..000000000
Binary files a/bins/BrewPiLess.v3.5.4m2m.portuguese-br.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.5.4m2m.slovak.bin b/bins/BrewPiLess.v3.5.4m2m.slovak.bin
deleted file mode 100644
index 7d7b36ffb..000000000
Binary files a/bins/BrewPiLess.v3.5.4m2m.slovak.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.5.4m2m.spanish.bin b/bins/BrewPiLess.v3.5.4m2m.spanish.bin
deleted file mode 100644
index 26f06c961..000000000
Binary files a/bins/BrewPiLess.v3.5.4m2m.spanish.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.5.classic.4m1m.bin b/bins/BrewPiLess.v3.5.classic.4m1m.bin
deleted file mode 100644
index 5a3b1531e..000000000
Binary files a/bins/BrewPiLess.v3.5.classic.4m1m.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.5.classic.4m1m.portuguese-br.bin b/bins/BrewPiLess.v3.5.classic.4m1m.portuguese-br.bin
deleted file mode 100644
index e08e8548d..000000000
Binary files a/bins/BrewPiLess.v3.5.classic.4m1m.portuguese-br.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.5.classic.4m1m.slovak.bin b/bins/BrewPiLess.v3.5.classic.4m1m.slovak.bin
deleted file mode 100644
index a2c2090b2..000000000
Binary files a/bins/BrewPiLess.v3.5.classic.4m1m.slovak.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.5.classic.4m1m.spanish.bin b/bins/BrewPiLess.v3.5.classic.4m1m.spanish.bin
deleted file mode 100644
index a6f8051eb..000000000
Binary files a/bins/BrewPiLess.v3.5.classic.4m1m.spanish.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.5.classic.4m1m.thorrax.bin b/bins/BrewPiLess.v3.5.classic.4m1m.thorrax.bin
deleted file mode 100644
index bf634092d..000000000
Binary files a/bins/BrewPiLess.v3.5.classic.4m1m.thorrax.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.5.sonoff.classic.1m512.bin b/bins/BrewPiLess.v3.5.sonoff.classic.1m512.bin
deleted file mode 100644
index 26a279ac4..000000000
Binary files a/bins/BrewPiLess.v3.5.sonoff.classic.1m512.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.5.sonoff.esp8285.classic.1m512.bin b/bins/BrewPiLess.v3.5.sonoff.esp8285.classic.1m512.bin
deleted file mode 100644
index 96fedaa88..000000000
Binary files a/bins/BrewPiLess.v3.5.sonoff.esp8285.classic.1m512.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.5.sonoff.esp8285.ota.classic.1m64.bin b/bins/BrewPiLess.v3.5.sonoff.esp8285.ota.classic.1m64.bin
deleted file mode 100644
index 06b660b37..000000000
Binary files a/bins/BrewPiLess.v3.5.sonoff.esp8285.ota.classic.1m64.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.5.sonoff.ota.classic.1m64.bin b/bins/BrewPiLess.v3.5.sonoff.ota.classic.1m64.bin
deleted file mode 100644
index 1c6861b23..000000000
Binary files a/bins/BrewPiLess.v3.5.sonoff.ota.classic.1m64.bin and /dev/null differ
diff --git a/bins/BrewPiLess.v3.5.thorrax.newui.4m2m.bin b/bins/BrewPiLess.v3.5.thorrax.newui.4m2m.bin
deleted file mode 100644
index 811d36440..000000000
Binary files a/bins/BrewPiLess.v3.5.thorrax.newui.4m2m.bin and /dev/null differ
diff --git a/bins/README.md b/bins/README.md
deleted file mode 100644
index 9bc2d1594..000000000
--- a/bins/README.md
+++ /dev/null
@@ -1,57 +0,0 @@
-# **Note: ALL BPL settings will be gone after upgrading to v3.0**
-
-# Prebuilt Image
-
-NOTE: If you are upgrading from version prior to v2.3 without glycol option, you will need to run "Device Setup" again. Erase the EEPROM, setup the sensors, and the PINs.
-
-
-NOTE: The images with **newui** use different flash layout(4m2m) which has 2m file space. They are not "compatible" with those(4m) have 3m file space.
- * Online update might not work on changing between those two layout. Flashing by USB is recommended.
- * File system will be reformted after changing. All settings will be gone
-
-NOTE: Due to the size increase of latest framework, all images will use 2m file space after version 3.6. The last version for 4m1m and SONOFF is v3.5.1.
-
-Those images are prebuilt:
-## Default Configuration
- * The Pins are defined as the main page.
- * Two buttons as input
- * 20x4 LCD at any address
- * Tom's frontend instead of classic one
- * framework 1.8.0
- * flash layout 4m2m(2M program/2M file space)
-
-## spainish, Portuguese-br, slovak
- * Default configuration in languages other than English
-
-## classic
- * Default configuration
- * Classic web interface
- * flash layout 4m1m(1M program/3M file space)
-
-
-## sonoff
- * For SONOFF.
- * Sensor on D5, Coolling on D6
- * No rotary encoder. No LCD
- * OTA update **NOT** supported.
- * 512K SPIFFS for logging.
- * classic ui
-
-## sonoffota
- * Same as sonsoff, but
- * 64K SPIFFS for configurations
- * OTA update supported
- * classic ui
-
-## Newer SONOFF/esp8285
- * flash mode is set to DOUT
- * classic ui
-
-## oled
- * Standard options
- * SSD1306 OLED I2C 128x64 instead of 20x4 LCD
- * new ui
-
-## thorrax
- * Thorrax's board, Cooling and heating PIN on D5, D0
- * new ui
diff --git a/doc/BrewNCalibrate.md b/doc/BrewNCalibrate.md
deleted file mode 100644
index ca93cca26..000000000
--- a/doc/BrewNCalibrate.md
+++ /dev/null
@@ -1,26 +0,0 @@
-If this feature is enabled, BPL will record the TILT angles from iSpindel, expect the gravity data from user, and derive formula to calculate the gravity automatically. The procedure to use "Brew and Calibrate" is
-
-0. Setup iSpindel to make it report to BPL.
-1. Get the **Tilt value in water**, and the reading of your hydrometer or the temperature of the water. Also measure the Original Gravity as usual.
-3. Drop iSpindel into the fermenter after carefully sanitizing it.
-4. Start local logging with **"Calibrate iSpindel"** enabled. Enter the _reading of the hydrometer_ in the hydrometer, **or** enter the _temperature_ of the water and the _calibration temperature_ of the hydrometer to let BPL derive the reading.
-![Start Logging](image/log_general.jpg?raw=true)
-5. [Input SG](ManualGravityInput.md), which is the value of Original Gravity. Note: You should usually input the same value as OG. That is, you have to input the same data for OG and SG.( OG is not necessarily the starting SG of current log, so BPL won't automatically add a gravity data for you.)
-![Input SG](image/gravity_input.jpg?raw=true)
-7. Measure SG as usual or more frequently. Input the measured SG.
-
-BPL will derive the formula by the Tilt values and gravity data input. If the number of data pairs is less than 3, then linear(x) formula is used. Second order polynomial(x^2) will be derived if the number of pairs is equal to 3. If 4 or more gravity readings are available, 3 order polynomial will be derived. At the beginning, there should be two readings, 1.0 and OG. Even though you can't expect precise and correct gravity readings from the chart from the beginning, the change of gravity can be deduced by the change of Tilt values.
-
-*Note: The formula coefficients might be different from the value input or calculated. It is due to the precision of float point. The difference of calculated gravity should be within 0.0001. Therefore, it should be fine.*
-
-![](image/ispindel_calibrating.jpg)
-
-If BPL is in calibrating mode, there will be a lower case "f" at the bottom of the legend block. Click the "f" will bring out the calibration points and formula used.
-![](image/ispindel_formula.jpg)
-
-Check the checkbox of "ignore" if that set of data is erroneous. BPL will derive a new formula based on updated data. Press "Apply" to re calculate all gravity based on new formula. Note that at least two set of data should be left "un"-ignored. At least two set of data is necessary to derive a valid formula.
-
-Please note that the maximum number of data set is **21**. Tilt and gravity data set beyond 21 can't be ignored.
-
-***
-[Index](index.md)
diff --git a/doc/PressureMonitor.md b/doc/PressureMonitor.md
deleted file mode 100644
index 1ec71c099..000000000
--- a/doc/PressureMonitor.md
+++ /dev/null
@@ -1,45 +0,0 @@
-**_The feature is not yet verified._**
-
-
-By using a pressure transducer, BPL can read pressure and control the pressure if capping is supported.
-![Pressure Settings](image/pressure-setting.jpg?raw=true)
-
-## Pressure Reading
-The pressure transducers supported is something like this: [Pressure Transducer](http://www.auberins.com/index.php?main_page=product_info&cPath=38&products_id=311). Using other types might be possible, but the output should be linear voltage.
-
-BPL uses the ADC pin, A0, to read the voltage from pressure transducer and converts the reading into pressure. ADC of ESP8266 reads voltage from 0-1.0V, and there are resistors on D1 mini, and NodeMcu, to make ADC input range 0-3.3v. A resistor might be needed to extend the range 0-5v. The resistors and the specification of the pressure transducer together determine the parameters used to convert A0 reading to pressure, in PSI. The formula is
-
-PSI=(A0_Reading - b) * a
-
-Take the pressure transducer I used for example, it
-output: 0.5 - 4.5v linear
-maximum pressure: 80psi (4.5v)
-
-There the output is
-
-| pressure | voltage | A0 reading |
-| ------- | ----- | ----- |
-| 0 | 0.5v | 1023 * 0.5/3.3= 155 |
-| 40 | 2.5v | 1023 * 2.5/3.3= 775 |
-| 80 | 4.5v | 1023 (saturated) |
-
-Given the fact that I don't really care the reading that exceeds 40psi. I just save a resistor and connect the output direct to A0. My formula is
-
-PSI=(A0_Reading - 155) * (40-0)/(775-155)
-=> PSI=(A0_Reading - 155) * 0.06452
-
-In practice, there are errors and the readings sometimes are not exact the same as expected. (In fact, it's close.) A simple way to get the formula is using "calibration" function by
-1. Step 1: make sure there is "NO pressure". And click the button to get "b".
-2. Step 2: put the transducer under a pressure closer maximum the better. Input the pressure and click "Step 2" button.
-
-![Pressure Calibration](image/pressure-cal.jpg?raw=true)
-
-BPL will then derive the parameters automatically.
-
-## Pressure Control
-"Capping control" is necessary to support pressure control. A solenoid is needed to vent the gas/co2 when necessary. The most tricky part is the venting. A small pin hole or gap should work. **Venting flow should be just a little greater than the speed of CO2 generation.
-
-** BPL checks the pressure **every second**, if the pressure is greater than specified value, the solenoid will be open. The less the gas/pressure is released in 1 second, the more precise the pressure control is. It might sound like difficult. The fact is that it is more difficult to make something air tight. A threaded pipe and cap without seal might do the job.
-
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/doc/README.md b/doc/README.md
deleted file mode 100644
index cf8ade4f5..000000000
--- a/doc/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-Welcome to the BrewPiLess wiki!
-
-This project uses a single ESP8266 to replace RPI and Arduino.
-![Main Screen](image/bplmain.jpg?raw=true)
-BrewPi is the greatest, if not the ultimate, fermentation temperature controller. The original design uses a RPI to log temperatures and maintain a temperature schedule. The RPI also hosts a web server as the front-end of internet web access.
-
-ESP8266 is cheap and powerful WiFi-enabling IOT solution. Although it can't be as powerful as a RPI, it's a good solution to maximize the functionality and minimize the cost. Using a single ESP8266 as the temperature controller(replacing Arduino), web server and schedule maintainer(replacing RPI) also reduces the work in building a brewpi system.
-
-[Wiki Index](index.md)
\ No newline at end of file
diff --git a/doc/SystemSetup.md b/doc/SystemSetup.md
deleted file mode 100644
index c82a78a8c..000000000
--- a/doc/SystemSetup.md
+++ /dev/null
@@ -1,23 +0,0 @@
-Default username and password are both **brewpiless**.
-
-![](image/configv251.jpg?raw=true)
-
-| Field | Note |
-| -------------- |:--------------------|
-| LCD auto off | The timer to turn LCD/backlight off. 0 to keep it always on. |
-| Title | The name shown on the homepage, next to LCD. |
-| Host/Network Name | SSID and hostname |
-| User Name/password | Username and password to access certain pages |
-| Always need password | If enabled, you will be asked username/password when trying to connect to it. |
-| Network | Station, AP, Station+AP: set the network operation mode of BPL |
-| Fixed IP | Fixed IP to be used as Station. Leave blank if using DHCP. |
-| Gateway | Gateway for fixed IP setting. Leave blank if using DHCP. |
-| Netmask | Net mask for fixed IP setting. Leave blank if using DHCP. |
-
-
-Note: Change of all settings except `LCD auto off` will result in re-boot of BPL. The setting of LCD auto off is supposed to be effective right away after submit.
-
-If Network is set Station+AP mode, BPL will create a WiFi network even when it is connecting to a AP. It is useful and good to set Station+AP mode when working with iSpindel. In most case, BPL is placed near the fermenter, so it is near iSpindel, which should solve connection issue of iSpindel, if any, and save the power of iSpindel.
-
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/doc/image/gdsetting.jpg b/doc/image/gdsetting.jpg
deleted file mode 100644
index a6aada1a7..000000000
Binary files a/doc/image/gdsetting.jpg and /dev/null differ
diff --git a/doc/image/gravity_input.jpg b/doc/image/gravity_input.jpg
deleted file mode 100644
index ce969a97d..000000000
Binary files a/doc/image/gravity_input.jpg and /dev/null differ
diff --git a/doc/image/pressure-setting.jpg b/doc/image/pressure-setting.jpg
deleted file mode 100644
index e05182069..000000000
Binary files a/doc/image/pressure-setting.jpg and /dev/null differ
diff --git a/doc/index.md b/doc/index.md
deleted file mode 100644
index 4cfe9b950..000000000
--- a/doc/index.md
+++ /dev/null
@@ -1,38 +0,0 @@
-* [Hardware Setup](HardwareGeneral.md)
- * [Example#1](HardwareExample1.md)
- * [SONOFF](HarddwareSONOFF.md)
- * [Thorrax’s Board](https://github.com/thorrak/brewpi-esp8266)
-* [Localization of web frontend](LocalizationWebPage.md)
-* [Flash layout and New Frontend](FlashLayoutAndNewUI.md)
-* [Software Installation](SoftwareInstallation.md)
- * [Software Configuration](SoftwareConfiguration.md)
-* [WiFi Setup](WiFiSetupV32.md)
-* [System Setup](SystemSetup.md)
- * [SoftAP mode](SoftAPMode.md)
-* [Device Setup](DeviceSetup.md)
-* [Using Buttons & Menu](UsingButtonsAndUI.md)
-* [Temperature Logging](TemperatureLogging.md)
-* [Cloud Logging](CloudLogging.md)
- * [Generic HTTP](GenericHttpLogging.md)
- * [ubidots.com](ubidots.md)
- * [thingspeak.com](thingspeak.md)
- * [Brewfather](brewfather.md)
-* [Beer Profile](BeerProfile.md)
-* [iSpindel Support](iSpindelSupport.md)
- * [Brew and Calibrate](BrewNCalibrate.md)
- * [iSpindel as Beer Sensor](iSpindelAsSensor.md)
-* [Manual Gravity Logging](ManualGravityInput.md)
-* [Use with Glycol](glycol.md)
-* [Auto Capping(Spunding)](AutoSpunding.md)
-* [MQTT Remote Control](MQTT.md)
- * [ubidots.com](MQTT.ubidots.md)
-* [Pressure Monitor and Control](PressureMonitor.md)
-* [Other URLs](OtherUrl.md)
- * Clear WiFi setting
- * Format file system
- * OTA update
-* [Overwrite pages](OverwritePages.md)
-* [JSON Commands](JsonCommand.md)
- * Temperature Unit
- * Sensor Calibration
-* [FAQ](FAQ.md)
\ No newline at end of file
diff --git a/doc/ubidotsMQTT.md b/doc/ubidotsMQTT.md
deleted file mode 100644
index aa07ee33a..000000000
--- a/doc/ubidotsMQTT.md
+++ /dev/null
@@ -1,48 +0,0 @@
-## Setup ubidots.com to control BPL
-### Step 1. create variables
-Go to the device page, and add two variables, "mode" and "setTemp".
-
-![](image/ubidots.variable.jpg?raw=true)
-
-Make sure the "api label" is correctly set.
-
-### Step 2. create controls
-Go to dashboard. Click "+"(Add widget) to add a **slider** control:
-![New Control](image/ubidots.add.control.jpg?raw=true)
-
-Choose the just added variable, mode:
-Set the range 0-3, while 0 is off, 1 is "Fridge Constant", 2 is "Beer Constant", and 3 is "Beer Profile".
-
-![New Widget](image/ubidots.widget.creation.jpg?raw=true)
-
-Do the same to the "settemp" variable with correct ranges.
-
-Now you will have it.
-
-![](image/ubidots.control.widget.jpg?raw=true)
-
-
-## Settings for ubidots.com
-Get the full information from [Ubidots Docs](https://ubidots.com/docs/hw/#mqtt).
-
-
-For free/educational users, use
-* MQTT Server: things.ubidots.com
-* MQTT Port : 1883
-* User Name: [ubidots token]
-* Password: (left blank)
-
-The path is in format of '/v1.6/devices/{DEVICE_LABEL}/{LABEL_VARIABLE}/lv'.
-Let the device label be 'fermenter2' and mode and setting temperature variables be 'mode', and 'settemp'.
-* Mode path: /v1.6/devices/fermenter2/mode/lv
-* Setting Temperature path: /v1.6/devices/fermenter2/settemp/lv
-
-You will have to create two variables named 'mode' and 'settemp' in device 'fermenter2'.
-![MQTT Remote Settings for ubidots.com](image/ubidots.mqtt.settings.jpg?raw=true)
-
-## Usage
-
-Slide the **mode slider** to change mode and **settemp slider** to change temperature. The "settemp" should be set __**after**__ mode is changed so that it's not ambiguous.
-
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/doc/HardwareGeneral.md b/docs/10.HardwareGeneral.md
similarity index 96%
rename from doc/HardwareGeneral.md
rename to docs/10.HardwareGeneral.md
index 7d130fd8b..ee3c5a9a9 100644
--- a/doc/HardwareGeneral.md
+++ b/docs/10.HardwareGeneral.md
@@ -21,7 +21,7 @@ This is default configuration, you can change it in `config.h`.
Note: The GPIOs of ESP8266 are not all **General Purpose**. Some of them has special functions, and might not be usable. For example, some PINs on my NodeMcu board don't work normally.
**!!Important !!** It is hightly recommended to pull up GPIO0 and GPIO2 while pull down GPIO15 so that the system will start up normally instead of staying in bootrom mode in case the system crashes. Updating the system configuration and firmware also results in restart of system, and sometimes this issue happens if the circuit isn't implementated. Check this url for detail information:
-https://github.com/esp8266/Arduino/blob/master/doc/boards.md#minimal-hardware-setup-for-bootloading-and-usage
+https://github.com/esp8266/Arduino/blob/master/doc/boards.rst#minimal-hardware-setup-for-bootloading-and-usage
**!! The rotary encoder is not supported by directly connecting it to ESP8266. That will prevents ESP8266 to boot up when the rotary encoder is at certain positions.!!**
@@ -56,6 +56,3 @@ No longer available after v2.7. Two-button configuration will work on the hardwa
### 2 Buttons via PCF8574 _Not Recommended_
Use this option to share the same hardware with BrewManiacEx. UP is connect to P1 while DOWN is connect to P0. (Enter is at P2, and Start is at P3. BrewPiLess uses only two buttons.)
-
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/doc/HardwareExample1.md b/docs/11.HardwareExample1.md
similarity index 98%
rename from doc/HardwareExample1.md
rename to docs/11.HardwareExample1.md
index 7ed9fdd37..cf1f7fdbd 100644
--- a/doc/HardwareExample1.md
+++ b/docs/11.HardwareExample1.md
@@ -16,5 +16,3 @@ This the simplest setup which mixes 5v and 3.3v circuits. It might _**not**_ be
* Some relay modules might not work under 3.3v. All of mine work, though.
* Some DS18B20 waterproof sensors, especiallly from Amazon, support only parasitic power mode. The sensors run in Parasitic mode are not stable, so BrewPi, hence BrewPiLess, **doesn’t support** parasitic power mode. The sensors can be detected by other sketches, but BrewPi(less) won't recognize them
-***
-[Index](index.md).
\ No newline at end of file
diff --git a/doc/HardwareSONOFF.md b/docs/12.HarddwareSONOFF.md
similarity index 97%
rename from doc/HardwareSONOFF.md
rename to docs/12.HarddwareSONOFF.md
index 7d11739e9..d183ea98c 100644
--- a/doc/HardwareSONOFF.md
+++ b/docs/12.HarddwareSONOFF.md
@@ -7,5 +7,3 @@ SONOFF dual is not supported, because the Relays are controlled by Serial instea
Please note that some older SONOFFs, maybe before 2018, use ESP8266 while new ones use ESP8285. Right configuration must be used.
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/docs/13.ESP32Pins.md b/docs/13.ESP32Pins.md
new file mode 100644
index 000000000..df7d45d67
--- /dev/null
+++ b/docs/13.ESP32Pins.md
@@ -0,0 +1,55 @@
+# ESP32
+
+ESP32 is future-proof, more powerful, and has more memory than ESP8266. However, it is "new" and hasn't been well tested.
+Please take the risk into consideration.
+
+HTTPS is more complicated. BPL relies on AsyncWebServer library, which doesn's support SSL right now.
+
+HTTPS client is possible for ESP32, but the finger print isn't checked for simplicity.
+
+# Default PIN allocation
+
+| GPIO | IO | Functions | Notes | Preference | BPL |
+| ------ |:-----:| :--------- | ---------- | ---- | ---- |
+| 0 | IO | Touch, RTC, **boot** | Output PWM at boot | X | |
+| 1 | O | UART TX | debug output at boot HIGH at boot | X | |
+| 2 | IO | Touch, RTC, boot | connected to on-board LED | * | |
+| 3 | I | UART RX | HIGH at boot | X | |
+| 4 | IO | Touch, RTC, boot | | + | |
+| 5 | IO | VSPI, boot | Hight at boot | + | |
+| 12 | IO | Touch, RTC, HSPI, JTAG, Boot | | * | |
+| 13 | IO | Touch, RTC, HSPI, JTAG | | * | |
+| 14 | IO | Touch, RTC, HSPI, JTAG | output PWM at boot | * | |
+| 15 | IO | Touch, RTC, HSPI, JTAG, boot | output PWM at boot | * | |
+| 16 | IO | | | | actuator |
+| 17 | IO | | | | actuator |
+| 18 | IO | VSPI | | | (buzzer) |
+| 19 | IO | VSPI | | | actuator |
+| 21 | IO | I2C | | | I2C(SDA) |
+| 22 | IO | I2C | | | I2C(SCL) |
+| 23 | IO | VSPI | | | OneWire |
+| 25 | IO | DAC2, RTC| | | Rotary Push |
+| 26 | IO | DAC2, RTC| | | actuator |
+| 27 | IO | Touch, RTC| | | actuator |
+| 32 | IO | Touch, ADC1, RTC | | | Rotary A |
+| 33 | IO | Touch, ADC1, RTC | | | Rotary B |
+| 34 | I | ADC1, RTC | no pull-up/down | | |
+| 35 | I | ADC1, RTC | no pull-up/down | | |
+| 36 | I | ADC1, RTC | no pull-up/down | | ADC |
+| 39 | I | ADC1, RTC | no pull-up/down | | |
+
+Preferences:
+
+| Symbol | Preferences |
+| ------ | :----- |
+| X | Avoid at any cost |
+| * | Avoid |
+| + | avoid if possible |
+
+
+
+### References
+* [ESP32 Pinout Reference: Which GPIO pins should you use?](https://randomnerdtutorials.com/esp32-pinout-reference-gpios/)
+* [ESP32 Boot Mode Selection](https://github.com/espressif/esptool/wiki/ESP32-Boot-Mode-Selection)
+* [How to build image for ESP32](ESP32BuildInstructions.md)
+
diff --git a/docs/14.ESP32BuildInstructions.md b/docs/14.ESP32BuildInstructions.md
new file mode 100644
index 000000000..364fc2af4
--- /dev/null
+++ b/docs/14.ESP32BuildInstructions.md
@@ -0,0 +1,34 @@
+# Building ESP32 instructions
+by @sedgington [Original Post](https://github.com/vitotai/BrewPiLess/issues/128#issuecomment-652571197)
+ At first, I thought it must be something wrong with the development board I had ordered:
+https://www.amazon.com/gp/product/B0718T232Z/ref=ppx_yo_dt_b_asin_title_o08_s00?ie=UTF8&psc=1
+so I ordered a different board:
+https://www.amazon.com/gp/product/B07DBNHJW2/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1
+same story.
+This sent me down the road of building and uploading my own .bin file using Visual Studio Code with PlatformIO--again on the same macbook pro. I'm happy to say this was successful in the end, but unlike Nodemcu, I had to physically press the boot or Ioo button and then (sometimes) the reset button while still holding down the boot button to get the board to go into bootloader mode so that PlatformIO could communicate with the device ( the last board of the second group of boards, balked on communicating through the USB port if I hit the reset button and would only work when I hit the boot button).
+So here are is the short version of the steps I had to do to get the ESP32 boards to successfully load brewpiless:
+
+1. Download Visual Studio Code and install it
+1. Add PlatformIO to VSC
+1. Download the brewpiless-4.0pre branch from github: https://github.com/vitotai/BrewPiLess/tree/v4.0pre
+1. Unzip this branch and copy it to a subdirectory of PlatformIO (mine was in the Documents folder)
+1. Open this folder that contains the platformio.ini from within VSC/Platformio
+1. Click on platformio.ini so that it is open in PlatformIO.
+1. At the top of the file find the line default_envs = esp8266dev under [platformio] and change it to #default_envs = esp8266dev
+1. Under that line add: default_envs = esp32-dev
+1. Save the file
+1. find the line
+upload_port = /dev/cu.SLAB_USBtoUART under [env:esp32-dev]
+and change it to upload_port = /dev/cu.usbserial-0001 (I knew this was my usb port because Nodemcu had told me that information when I went to load the .bin file).
+1. Do the same for the line under it that begins monitor_port =
+1. Under "View" in VS Code, click on "Command Palette" begin typing in PlatformIO: Build until it finds the command. It will then run the build command. And don't forget to save the file again.
+1. Connect your development board to the USB port of your computer. Be sure to use a cable that is capable of transmitting data and is not just a power cable. The red led will come on. Either push and hold the "boot" or "Ioo" button and while still holding it down, briefly hit the "reset" button, then release the button you have been holding down. (if this doesn't work, just hold down the "boot" button and release it.)
+1. Assuming that the "PlatformIO: Build" command ran successfully, repeat the steps of 12. but begin typing in "PlatformIO: Upload" until the command is in the box. It will then run automatically.
+1. If you successfully found the correct upload port for your usb connection to the board, the program will run and at the bottom of the console you will see under the line that begins with "Environment" the line:
+esp32-dev SUCCESS 00:00:43.070
+All the other Environments will state "IGNORED".
+1. Unplug the development board from the USB cable and then plug it back in.
+1. Monitor your wireless network for "brewpiless" and click on that network. Open a web browser after you successfully join brewpiless and type in 192.168.4.1 to bring you to the homepage of brewpiless. Go to the system tab, scan for your local network, select it, put in the password, save it and then, importanly, hit the "submit" button on the bottom right part of the screen. Brewpiless will join your network and you can set it up as desired.
+Now, why is this pain worth it? Well, the ESP32 seems to be much faster, has more memory, and should be more stable than the 8266 boards. In addition, it has Bluetooth built in which means that down the road it might support Tilt Hydrometers as well as the currently supported wifi-enabled iSpindel Hydrometers (which are difficult to source in the USA because Tilt has apparently intimidated the German supplier of iSpindel kits to the degree that he will not ship to the USA).
+
+I hope this helps someone and saves them from the pain of getting their ESP32 board to work. If I have missed something or there is a better way, please comment on this post on your way of doing this.
\ No newline at end of file
diff --git a/doc/LocalizationWebPage.md b/docs/20.LocalizationWebPage.md
similarity index 98%
rename from doc/LocalizationWebPage.md
rename to docs/20.LocalizationWebPage.md
index 6bebf11f3..e499299b0 100644
--- a/doc/LocalizationWebPage.md
+++ b/docs/20.LocalizationWebPage.md
@@ -41,6 +41,3 @@ Add the language to be added, in the same name as the json file.
* if everything goes well, there will be a 'wakanda' subdirectory in "dist" path.
If you don't understand this page so far, but you can and are willing to do the translation, just translate the json file and send it to me. (Or, submit an issue with attached translated file, I guess.)
-
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/doc/FlashLayoutAndNewUI.md b/docs/30.FlashLayoutAndNewUI.md
similarity index 97%
rename from doc/FlashLayoutAndNewUI.md
rename to docs/30.FlashLayoutAndNewUI.md
index ab4bd15b1..66ec23fe2 100644
--- a/doc/FlashLayoutAndNewUI.md
+++ b/docs/30.FlashLayoutAndNewUI.md
@@ -7,5 +7,3 @@ Fortunately, framework 1.8.0 sports 4m2m(2m program space) by default. Therefore
Because of the different flash layout, change one layout to another should be done over USB instead of OTA. Morover, the file system will be corrupted and all data will be gone.
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/doc/SoftwareInstallation.md b/docs/40.SoftwareInstallation.md
similarity index 97%
rename from doc/SoftwareInstallation.md
rename to docs/40.SoftwareInstallation.md
index 9fd129095..5ed4ed8a0 100644
--- a/doc/SoftwareInstallation.md
+++ b/docs/40.SoftwareInstallation.md
@@ -23,5 +23,3 @@ http://platformio.org/get-started/ide?install=vscode
5. If everything goes well, you can build and upload. Check PlatformIO manual for more detail.
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/doc/SoftwareConfiguration.md b/docs/41.SoftwareConfiguration.md
similarity index 95%
rename from doc/SoftwareConfiguration.md
rename to docs/41.SoftwareConfiguration.md
index 7f466645e..76884949c 100644
--- a/doc/SoftwareConfiguration.md
+++ b/docs/41.SoftwareConfiguration.md
@@ -1,6 +1,3 @@
Necessary libraries are included in the GitHub repository. Those needed but not included will be downloaded during the building process by PlatformIO. The included libraries are either modified or have incompatible latest version.
BrewPi related configuration is defined in `Config.h` while networking related configuration is defined in `espconfig.h`. They are both self-explanatory and commented. Please check the files directly.
-
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/doc/WiFiSetupV31.md b/docs/50.WiFiSetupV31.md
similarity index 94%
rename from doc/WiFiSetupV31.md
rename to docs/50.WiFiSetupV31.md
index de94742cd..e4a6a95e6 100644
--- a/doc/WiFiSetupV31.md
+++ b/docs/50.WiFiSetupV31.md
@@ -6,5 +6,3 @@ Change "Network Mode" to "AP + Station" if not already done.
Click the button after the "Network", and network selection page will show. Scan, select and save, just like what in WiFiManager.
- ***
-[Index](index.md)
\ No newline at end of file
diff --git a/docs/60.SystemSetup.md b/docs/60.SystemSetup.md
new file mode 100644
index 000000000..19ecf29ee
--- /dev/null
+++ b/docs/60.SystemSetup.md
@@ -0,0 +1,28 @@
+Default username and password are both **brewpiless**.
+
+![](image/configv42.jpg?raw=true)
+
+| Field | Note |
+| -------------- |:--------------------|
+| LCD auto off | The timer to turn LCD/backlight off. 0 to keep it always on. |
+| LCD Display | Selection of **Rotate**, **BrewPi**, and **Additional**. |
+| Title | The name shown on the homepage, next to LCD. |
+| Host/Network Name | SSID and hostname |
+| HTTP Port | port of HTTP protocol. |
+| User Name/password | Username and password to access certain pages |
+| Always need password | If enabled, you will be asked username/password when trying to connect to it. |
+| Network Mode | Station, AP, Station+AP: set the network operation mode of BPL |
+| Network | Selected SSID. Click to show WiFi network settings.|
+| IP | Current assigned IP if available. |
+| SYSINFO | |
+| BACKUP/RESTORE | To backup/restore settings, including system, device, MQTT, gravity device, and pressure monitoring. |
+
+
+Note: Change of all settings except `LCD auto off` will result in re-boot of BPL. The setting of LCD auto off is supposed to be effective right away after submit.
+
+If Network is set Station+AP mode, BPL will create a WiFi network even when it is connecting to a AP. It is useful and good to set Station+AP mode when working with iSpindel. In most case, BPL is placed near the fermenter, so it is near iSpindel, which should solve connection issue of iSpindel, if any, and save the power of iSpindel.
+
+New in 4.2, there is a new "screen" of display for additional available information, including Pressure, Humidity, Gravity device, and IP. If **Rotate** is selected, the display will rotate between classic BrewPi display and the **Additional** display every 5 seconds. Or, dedicated display can be selected. However, when the rotary encoder, if avaiable, is pushed, the display will always change to BrewPi display for fermentation control setup. Rotating rotatary encoder will rotate the disply under non-setting mode. If **DISPLAY_ISPINDEL** option, only available for OLED
+option, is set to 'true', the Additional screen will be dedicated to iSpindel information.
+
+Note: due to burn-in effect of OLED LCD, rotating is a better choice even you don't need the other display.
diff --git a/doc/SoftAPMode.md b/docs/61.SoftAPMode.md
similarity index 99%
rename from doc/SoftAPMode.md
rename to docs/61.SoftAPMode.md
index ce48eefc4..38c1ccf3c 100644
--- a/doc/SoftAPMode.md
+++ b/docs/61.SoftAPMode.md
@@ -13,5 +13,3 @@ In SoftAP mode, the computer is connect to BPL without internet access. Therefor
* "cache" the file. Simply copy the URL above and paste it in the address line of your browser and go. In most case, the browser will download and cache the js library. However, the browser might clear the cache for some reasons, so this might not always work.
* Go to http://dygraphs.com/download.html and download the v1.1.1 dygraph-combined.js. open http://brewpiless.local:8008/filemanager, and upload the downlowed libarry to ESP8266. The file shoule be named exact "/dygraph-combined.js".
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/doc/DeviceSetup.md b/docs/70.DeviceSetup.md
similarity index 97%
rename from doc/DeviceSetup.md
rename to docs/70.DeviceSetup.md
index c3efeb781..c757ca88b 100644
--- a/doc/DeviceSetup.md
+++ b/docs/70.DeviceSetup.md
@@ -10,5 +10,3 @@ After editing and applying all devices, click `Refresh Device List` to review th
To uninstall a device, set the `Function` to `None`.
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/doc/UsingButtonsAndUI.md b/docs/80.UsingButtonsAndUI.md
similarity index 97%
rename from doc/UsingButtonsAndUI.md
rename to docs/80.UsingButtonsAndUI.md
index 97ea42035..61e6fcab3 100644
--- a/doc/UsingButtonsAndUI.md
+++ b/docs/80.UsingButtonsAndUI.md
@@ -4,5 +4,3 @@ _You might feel lag when using the buttons. Press the buttons a little longer to
To enter setup, press `UP+DOWN` at the same time. `Mode` will start to blink, indicating the current editing item. Press `UP+DOWN` to change control mode, or `UP` to change editing item.
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/doc/TemperatureLogging.md b/docs/90.TemperatureLogging.md
similarity index 71%
rename from doc/TemperatureLogging.md
rename to docs/90.TemperatureLogging.md
index 251ff04f3..e296fcb1d 100644
--- a/doc/TemperatureLogging.md
+++ b/docs/90.TemperatureLogging.md
@@ -5,10 +5,10 @@
* A 30 day log will take around 350k bytes. That might imply that 3M space can record around 6 month data. However, there is no guarantee of the robustness of SPIFFS.
* Changing temperature unit when logging will result in wrong data interpretation.
* A maximum of 10 logs is allowed. The logs will **not** be deleted automatically. Manual deleting is necessary.
-* Off-line viewer is available. You can download the log and view it from your computer. Download the file "BPLLogViewer.htm" in the "extra" subfolder. Save it anywhere in your computer. Open it using a web browser.
+* Off-line viewer is available. You can download the log and view it from your computer. Download the file "BPLLogViewer.htm" in the "htmljs/dist/" subfolder. Save it anywhere in your computer. Open it using a web browser.
* The loggging format changed after v1.2.7/v2.0/v2.4. Use BPLLogViewerV2.htm to view the new logs and BPLLogViewer.htm for old logs.
+* When **'Write on buffer full'** is on, log will be write to flash only when buffer is full. The advantage is less writing operation, which reduce system loading and prolong the flash lifespan. The disadvantage is log will be lost if the system resets for some reasons like power recyle or bugs. It is highly recommended to turn it ON on ESP32.
+
You can view, share, and crop the logs. Check http://vito.tw/?p=821
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/doc/CloudLogging.md b/docs/A0.CloudLogging.md
similarity index 90%
rename from doc/CloudLogging.md
rename to docs/A0.CloudLogging.md
index 01be6ee3c..0b9b26cdb 100644
--- a/doc/CloudLogging.md
+++ b/docs/A0.CloudLogging.md
@@ -4,5 +4,4 @@ Remote logging, or cloud logging, is used to push data to a remote server. Most
* [Brewfahter](brewfather.md)
* [Brewer's Friend](brewersfriend.md)
-***
-[Index](index.md)
+Please note that HTTPS is not supported.
\ No newline at end of file
diff --git a/doc/GenericHttpLogging.md b/docs/A1.GenericHttpLogging.md
similarity index 79%
rename from doc/GenericHttpLogging.md
rename to docs/A1.GenericHttpLogging.md
index 9cdeb2418..9788cb6c9 100644
--- a/doc/GenericHttpLogging.md
+++ b/docs/A1.GenericHttpLogging.md
@@ -4,21 +4,26 @@ The `format` field in log setup page is like the format in `printf` but uses the
| Specifier | output |
| -------------- |:-------------|
+| %a | auxiliary temperature |
| %b | Beer temperature |
| %B | Beer setting |
+| %E | Environment/Room Humidity |
| %f | fridge temperature |
| %F | fridge setting |
| %r | room temperature |
| %g | gravity |
+| %H | Hostname |
+| %h | Chamber humidity |
+| %m | Mode in integer: 0:Off ,1: FridgeConst, 2:BeerConst, 3:BeerProfile |
+| %M | Mode in character: o, b, f, p |
| %p | Plato |
+| %P | Pressure reading in PSI |
+| %s | State in Integer. 0:IDLE, 1:STATE_OFF,2: DOOR_OPEN, 3:HEATING, 4: COOLING, 5: WAITING_TO_COOL, 6:WAITING_TO_HEAT, 7:WAITING_FOR_PEAK_DETECT, 8:COOLING_MIN_TIME, 9:HEATING_MIN_TIME |
| %t | tilt value from iSpindel |
-| %a | auxiliary temperature |
-| %v | external device voltage |
| %u | UNIX timestamp of last gravity update |
| %U | 'C' for Celsius or 'F' for Fahrenheit |
-| %m | Mode in integer: 0:Off ,1: FridgeConst, 2:BeerConst, 3:BeerProfile |
-| %M | Mode in character: o, b, f, p |
-| %P | Pressure reading in PSI |
+| %v | external device voltage |
+
For example, let beer setting be `20.0` and beer temperature be `18.3`, if the `format` is `api_key=TheRealApiKeyHere&field1=%B&field2=%b`,
the data will be `api_key=TheRealApiKeyHere&field1=20.0&field2=18.3`.
@@ -28,10 +33,8 @@ If the method is `GET`, the data will append to the url with additional `?`, so
(GET is usually not recommended.)
The `Data Type` field is used as "Content-Type" in HTTP protocol. When it is left blank, the default value of `application/x-www-form-urlencoded` will be used. The default type is good for content like `A=V1&B=V2`.
-Due to the memory limitation, **HTTPS is not supported.** Therefore, if you want to send data to a service that supports only HTTPS, an additional proxy is needed.
+Due to the memory limitation, **HTTPS is not supported on ESP8266.** Therefore, if you want to send data to a service that supports only HTTPS, an additional proxy is needed.
You can use Generic HTTP format for thingspeak.com and Brewfather to get exact the same result, but you should use ubidots.com specific settings to setup ubidots.com. It is because that ubidots.com will reject all values if one of them are "null"
-***
-[Index](index.md).
\ No newline at end of file
diff --git a/doc/ubidots.md b/docs/A2.ubidots.md
similarity index 96%
rename from doc/ubidots.md
rename to docs/A2.ubidots.md
index c2173c730..345b83540 100644
--- a/doc/ubidots.md
+++ b/docs/A2.ubidots.md
@@ -7,6 +7,3 @@ You can find the "token" value in your account and the "device" API label in the
Default token should work.
Please note that ubidots.com rejects null values. Using Generic HTTP format works differently and might not work as expected unless you are sending values that never be invalid. BeerSet will be invalid in fridge constant mode. Gravity value isn't always available.
-
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/doc/thingspeak.md b/docs/A3.thingspeak.md
similarity index 81%
rename from doc/thingspeak.md
rename to docs/A3.thingspeak.md
index 8b201677d..fa1ff7a36 100644
--- a/doc/thingspeak.md
+++ b/docs/A3.thingspeak.md
@@ -2,5 +2,3 @@
API key is "Write API key".
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/doc/brewfather.md b/docs/A4.brewfather.md
similarity index 93%
rename from doc/brewfather.md
rename to docs/A4.brewfather.md
index 292bcc821..2eb7cefd3 100644
--- a/doc/brewfather.md
+++ b/docs/A4.brewfather.md
@@ -4,5 +4,3 @@ The ID value is the value after "id=" in the URL of Brewfather's BrewPiLess sett
Minimum logging period is 900 seconds, any input value smaller than that will be overwritten to 900s.
-***
-[Index](index.md)
diff --git a/doc/BeerProfile.md b/docs/B0.BeerProfile.md
similarity index 99%
rename from doc/BeerProfile.md
rename to docs/B0.BeerProfile.md
index af92f6c15..3fe19fe08 100644
--- a/doc/BeerProfile.md
+++ b/docs/B0.BeerProfile.md
@@ -36,5 +36,3 @@ Use `Save As` button to save the edited profile. The saved name should not conta
Use `...` button next to `Save As` button to open and close the profile list. After loading the profile by clicking it on the list, you have to **Save** it before **Apply**ing it.
-***
-[Index](index.md)
diff --git a/doc/iSpindelSupport.md b/docs/C0.iSpindelSupport.md
similarity index 60%
rename from doc/iSpindelSupport.md
rename to docs/C0.iSpindelSupport.md
index a9041e0a2..4369c0631 100644
--- a/doc/iSpindelSupport.md
+++ b/docs/C0.iSpindelSupport.md
@@ -1,29 +1,37 @@
### Connection setup for iSpindel
+
BrewPiLess supports iSpindel by accepting data from iSpindel and acting an **AP** for iSpindel to connect to, BrewPiLess and iSpindel can connect to the same router.
To support **softAP**, set the correct settings in `System configuration`. Please note that the password(passphrase) should be at least **8** characters. The same password(pass phrase) is used for setting and for connection certification. Default value is `brewpiless`.
-![Gravity Sensor](image/gdsetting.jpg?raw=true)
+![iSpindel Setup](image/ispindel_setup.jpg)
| Setting | Description |
| -------------- |:---------------------------------|
| iSpindel | To enable iSpindel support. |
+| Offset | the offset between reported gravity and "real" gravity" |
| Calculated by BPL | Do the conversion from tilt angle to gravity by BrewPiLess. If this option is OFF, all the following options are not used. |
-| SG Calibration | Deprecated. |
-| Temp. Correction | Apply temperature correction to the calculated gravity reading. Celsius only. Usually it is 20°C(68°F) or 15°C(59°F). |
-| Coefficients | The coefficients of the formula to calculate gravity. Note: this set of coefficients is for calcuation of **specific gravity**, **not** plato. Use 0 for x^3 term if quadratic polynomial is used.|
+| Calibration points | Calibration data. |
+| Coefficients | The coefficients of the formula to calculate gravity. The formula is derived based on calibration points. It is not editable. |
| LowPass Filter Coefficient | 0~1. See following description|
| Gravity Stability Threshold | Integer value. 1 point = 0.001. |
-When running "Brew N Cal", the coefficients of the formula will be updated by the web page frontend. BPL will calculate gravity based on the updated formula automatically. Please note that, due to the limited precision of float on ESP8266, the values might be different from what you can see on the browser.
+Offset will be "added" to reported gravity to derive the result gravity. If calculated by BPL is enabled, offset is ignored. To enable calculation, at least two points of calibration points should be entered.
-After v2.6, Offset of gravity reading is not available. You can add the offset to the last parameter of the formula,the constant term, and have the same result.
+After version 4.4, the calibration data survives through brews. The coefficients(formula) is derived from the calibration data.
### iSpindel Settting
- * the **iSpindel Name** must start with `iSpindel`, like `iSpindel000`
* Select `Generic HTTP`
* Server address set to `192.168.4.1` if iSpindel connect to the AP created by BrewPiless. or use the ip of BrewPiless if iSpindel connects the AP that BrewPiLess connects to.
* set url to `/gravity`
+BrewPiLess accept post if it contains the following keys/values:
+- name
+- temperature
+- angle
+- RSSI
+- gravity
+
+
For other iSpindel setting, like network settting, please refer to iSpindel project.
### About low Pass Filter
@@ -33,9 +41,14 @@ y = y[i-1] + a ( x - y[i-1] )
It is usually set to 1/f. So, 1/60 for one minute reporting period, and 1/6 for 10 minute reporteing period.
-Note: enabling iSpindel setting only enables the initial display of iSpindel status. The gravity report will be processed even when the option is OFF.
-
[calibrationSG.htm in /extra folder](extra/calibrationSG.htm) is an utility HTML file which can be used to derive the coefficients instead of using the excel from iSpindel.
-***
-[Index](index.md)
\ No newline at end of file
+### iSpindel Dedicated Display
+
+![iSpindel dedicated display](image/oled_ispindel.jpg)
+
+The information displayed are
+ * 1st line: SG and tempemperature
+ * 2nd line: battery, tilt value, and WiFi signal strength of iSpindel
+ * 3rd line: time since last seen
+ * 4th line: IP address and WiFi singal strenth of BPL
\ No newline at end of file
diff --git a/docs/C1.BrewNCalibrate.md b/docs/C1.BrewNCalibrate.md
new file mode 100644
index 000000000..dc8a216c5
--- /dev/null
+++ b/docs/C1.BrewNCalibrate.md
@@ -0,0 +1,14 @@
+After version 4.4, the calibration data survives through brews. The maximum number of calibration pairs is 10.
+
+When starting a log, the calibration data available will be written into the log file, so that tilt angles are recorded and gravity can be derived from the tilt angles. Otherwise, gravity data is recorded.
+
+The "Calculated by BPL" option determines whether or not using the gravity reported directly, while "Record Raw" option when starting logging determines whether or not recording raw data instead of gravity values. These two options are independent but related.
+
+| Calculated by BPL | Record Raw | Gravity of BPL | Gravity of Log |
+| -- | -- | -- | -- |
+| ON | ON | calculated by BPL, need calibration data | calculated on the fly, need calibration data |
+| ON | OFF |calculated by BPL, need calibration data | gravity calculated by BPL |
+| OFF | ON | gravity reported from wireless hydrometer | calculated on the fly, need calibration data. |
+| OFF | OFF | gravity reported from wireless hydrometer | gravity from BPL, reported from wireless hydrometer|
+
+The calculated gravity is always temperature corrected. When inputing new data from main page, corrected gravity will be calculated automatically if beer temperature is available. However, no temperature correction is available if calibration data is input at "gravity device" page.
\ No newline at end of file
diff --git a/doc/iSpindelAsSensor.md b/docs/C2.iSpindelAsSensor.md
similarity index 79%
rename from doc/iSpindelAsSensor.md
rename to docs/C2.iSpindelAsSensor.md
index d514b18f5..257de1d65 100644
--- a/doc/iSpindelAsSensor.md
+++ b/docs/C2.iSpindelAsSensor.md
@@ -1,8 +1,5 @@
To use the temperature reading of iSpindel as Beer sensor, run `Device Setup`, and assign the *External Sensor* as "Beer Temp".
-![ispindel as beer sensor](images/ispindel_sensor.jpg)
+![ispindel as beer sensor](image/ispindel_sensor.jpg)
The report period of iSpindel should be less than 1-3 minutes.(**To be tested.**) If no report from iSpindel for over 5 minutes, the
sensor is considered as disconnected.
-
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/docs/D0.TiltHydrometerSupport.md b/docs/D0.TiltHydrometerSupport.md
new file mode 100644
index 000000000..981517ed4
--- /dev/null
+++ b/docs/D0.TiltHydrometerSupport.md
@@ -0,0 +1,9 @@
+# Tilt Hydrometer
+[Tilt Hydrometer](https://tilthydrometer.com) broadcasts gravity and temperature in format of iBeacon. ESP32, built in BLE, can receives the iBeacon message and hence supports Tilt Hydrometer, provided close enough for BLE signal.
+
+![Tilt Setup](image/tilt_setup.jpg)
+
+Tilt hydrometer and iSpindle are exclusive. ESP8266 doesn't support BLE, and setting Tilt Hydromenter Enabled will be rejected.
+
+## Using Tilt tempeerature as Beer Temperature
+It is possible, by assining "External Sensor" to Beer Temperature. However, it is not recommeded. Tilt broadcasts temperature in integer Farenheit format. The precision won't do a good job in temperature control.
\ No newline at end of file
diff --git a/docs/D1.RaptPillHydrometerSupport.md b/docs/D1.RaptPillHydrometerSupport.md
new file mode 100644
index 000000000..b3f849620
--- /dev/null
+++ b/docs/D1.RaptPillHydrometerSupport.md
@@ -0,0 +1,30 @@
+# Rapt Pill Hydrometer
+
+[Rapt Pill](https://www.kegland.com.au/products/yellow-rapt-pill-hydrometer-thermometer-wifi-bluetooth) utilizes the same principle as Tilt and iSpindel. When set Bluetooth/BLE mode, BrewPiLess running on ESP32 can read the bluetooth broadcast informaton.
+
+Pill broadcasts gravity and tilt angle related information, which make it possible to run "brew and calibrate" like iSpindel.
+
+![Pill setup](image/pill_setup.jpg)
+
+| Setting | Description |
+| -------------- |:---------------------------------|
+| Mac Address | MAC used for registration and real MAC address |
+| use Plato | Plato or Specific Gravity(eg. 1.054) |
+| Gravity Offset | the offset between reported gravity and "real" gravity" |
+| Calculated by BPL | Do the conversion from tilt angle to gravity by BrewPiLess. If this option is OFF, all the following options are not used. |
+| Calibration Points | Calibration data. At least two set of data is necessary. |
+| Coefficients | The coefficients of the formula to calculate gravity. The formula is derived based on calibration points. It is not editable.|
+| LowPass Filter Coefficient | 0~1. See following description|
+| Gravity Stability Threshold | Integer value. 1 point = 0.001. |
+
+Offset will be "added" to reported gravity to derive the result gravity. If calculated by BPL is enabled, offset is ignored. To enable calculation, at least two points of calibration points should be entered.
+
+After version 4.4, the calibration data survives through brews. The coefficients(formula) is derived from the calibration data.
+
+
+
+The MAC address used for registration and displayed on Rapt Pill's Dianostics page is calculated by taking the RAPT Pill's BLE address and subtracting 2 off the last octet. Therefore, thare are TWO addresses displayed.
+
+To find out Pills, click "Scan" button. The Pills don't broadcast all the time but wakeup and broadcast for a short period according its setting, like one or 15 minutes. It might take some time to "catch" the Pill, wait until the Pill shows up.
+
+Pills report gravity as well as tilt information. If "Calculated by BPL" is enabled, the gravity is derived from the tilt information. Otherwise, the gravity from Pills will be used. The offset will be added to reported gravity. If "Calculated by BPL" is enabled, at least two sets of calibration data is necessary to derive a formula. Before a valid formula is available, no gravity data will be reported. The calibratin data will survives through brews. If the center of mass of the Pill is altered when opened for charging, the calibration data should be removed manually.
\ No newline at end of file
diff --git a/doc/ManualGravityInput.md b/docs/E0.ManualGravityInput.md
similarity index 98%
rename from doc/ManualGravityInput.md
rename to docs/E0.ManualGravityInput.md
index fd00c05c7..6781fb6a6 100644
--- a/doc/ManualGravityInput.md
+++ b/docs/E0.ManualGravityInput.md
@@ -11,6 +11,3 @@ Please note that input of OG won't generate a "SG" record. If local logging is s
![Input SG](image/gravity_input.jpg?raw=true)
When input SG/OG, the temperature of wort/beer should be input at the same time. BPL will correct the reading based on the correction temperature set in "Gravity Device" and the temperature of Beer Temp. If you correct the hydrometer reading, enter the calibration temperature of your hydrometer.
-
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/doc/glycol.md b/docs/F0.glycol.md
similarity index 72%
rename from doc/glycol.md
rename to docs/F0.glycol.md
index 85e6999e3..daf469ad4 100644
--- a/doc/glycol.md
+++ b/docs/F0.glycol.md
@@ -1,26 +1,30 @@
+After 4.3.1, there is an option in System configuration page. By enabling "Glycol Chilling", the fridge sensor will fall back to beer sensor when missing. You might need to disable it if you are not using glycol to chill your fermenting beer.
+
+
The version of BrewPi ported to BrewPiLess is designed to control fermenting temperature in a fridge or freezer. To control glycol cooling, some hacks are necessary:
-1. Set minimum cooling/heating on/off time
+1. Set "Glycol Chilling" to "enabled" in system config page.
+
+2. Set minimum cooling/heating on/off time
open the page `http://brewpiless.local/testcmd.htm`
Set the following options: `minCoolTime`, `minCoolIdleTime`, `minHeatTime`, `minHeatIdleTIme`, `deadTime`. The `deadTime` is the minimum time between cooling and heating. It also defines the minimum waiting time after booting up. Issue a command like this to set minimum cooling on and off to 10 seconds:
`j{"minCoolTime":10,"minCoolIdleTime":10}`
-2. Set P.I.D. parameter
+3. Set P.I.D. parameter
Setting all P.I.D. to zero will result in the "fridge set" equal to "beer set". _This might not be necessary._
`j{"Kp":0,"Ki":0,"Kd":0}`
You can use `c` (yes, only one single lower case "c" character.) to read back the setting value. If the values don't change, you might need to erase the flash.
-3. Use only beer sensor and control the pump. The fridge temperature will read from beer sensor.
+4. Use only beer sensor and control the pump. The fridge temperature will read from beer sensor.
### Special Note:
You might notice that temperatures of beer and fridge from the same sensor are different. The reason is the values are filtered and and they have different filtering parameters. Those parameters also can be changed by the JSON commands. `fridgeFastFilt`, `fridgeSlowFilt`, `firdgeSlopeFilt`, `beerFastFilt`, `beerSlowFilt`, and `beerSlopeFilt`.
+
Ref:
[JSON commands](JsonCommand.md)
+[Parasite Temperature Control](ParasiteTemperatureControl.md)
-
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/docs/F1.ParasiteTemperatureControl.md b/docs/F1.ParasiteTemperatureControl.md
new file mode 100644
index 000000000..8c8993c7c
--- /dev/null
+++ b/docs/F1.ParasiteTemperatureControl.md
@@ -0,0 +1,24 @@
+# Parasite (Glycol) Temperature Control
+
+Sometimes an additonal temperature controller to control the temperature of glycol itself is necessary when using glycol to cool beer temperature. BrewPiLess provides a simple temperature control named Parasite Temperature Control, or PTC.
+
+To use PTC, an additional actuator(control PIN) is needed, and "room" sensor is used to monitor the temperature of glycol.
+
+PTC is enabled by assigning a control PIN, which should connect to a relay.
+![Pin assignment for PTC](image/setup_ptc.jpg?raw=true)
+
+If PTC is enabled, a section of PTC parameters will show up in Control Page.
+![PTC Control](image/control_ptc.jpg?raw=true)
+
+* Target Temperature
+The cooling will stop when the temperature is equal or lower than this value.
+* Triggering Temperature
+The cooling will be started when the temperature is greater than this value. This value should be at least 0.5 higher than “Target Temperature”
+* Minimum Cooling Time
+Must be greater than or equal to180 (seconds).
+* Minimum Idle Time
+Must be greater than or equal to180 (seconds).
+
+The status of PTC will also show up at the status pane on "Graph" page.
+
+![PTC Status](image/status_ptc.jpg?raw=true)
diff --git a/doc/AutoSpunding.md b/docs/G0.AutoSpunding.md
similarity index 99%
rename from doc/AutoSpunding.md
rename to docs/G0.AutoSpunding.md
index a91b8acaa..496d786cb 100644
--- a/doc/AutoSpunding.md
+++ b/docs/G0.AutoSpunding.md
@@ -24,5 +24,3 @@ Note: to cap, BPL will set the PIN to "active". Most of the solenoids are normal
Active="capped".
-***
-[Index](index.md)
diff --git a/docs/H0.PressureMonitor.md b/docs/H0.PressureMonitor.md
new file mode 100644
index 000000000..0f4c193f1
--- /dev/null
+++ b/docs/H0.PressureMonitor.md
@@ -0,0 +1,89 @@
+#Pressure monitor and Auto Spunding
+**_The feature is not yet verified._**
+
+By using a pressure transducer, BPL can read pressure and **control** the pressure if Auto Spunding(capping) is enabled.
+
+![Pressure Settings](image/pressure-setting.jpg?raw=true)
+
+## Hardware Setup
+### Transducer
+The pressure transducers supported are something like this: [Pressure Transducer](http://www.auberins.com/index.php?main_page=product_info&cPath=38&products_id=311). Using other types might be possible, but the output should be linear voltage.
+
+### ADC
+On-board ADC, A0 of ESP8266, 36 of ESP32, and external ADS1115 can be used to read from the transducer.
+
+#### ESP8266 bulit-in ADC, A0
+The reading of A0, on-board ADC, is not stable when WiFi is activated, because ESP8266 uses the ADC for WiFi related tasks. Therefore, it is highly recommended to use external ADS1115 when **controlling** is required.
+
+ADC of ESP8266 reads voltage from 0-1.0V, and there are resistors on D1 mini, and NodeMcu, to make ADC input range 0-3.3v. A resistor might be needed to extend the range 0-5v.
+
+### ESP32
+Only ADC1 is allowed. Pin 36 is choosen by default. ADC of ESP32 isn't linear, and calibration is necessary. The calibration recommended by the the chip vendor has been adapted. However, the result might not be satisfiying.
+
+### ADS1115
+Connect I2C of ADS1115, and A0 to the transducer. Connect ADDR, address selection pin, to GND, so that the address is 0x48.
+**I2C LCDs of address 0x48 are unusable unless disabling ADS1115 support.**
+
+**ADS1115 Gain/Max input voltage** should be set according to the real value of the transducer. The bigger the maximum voltage, the lower the resolution.
+
+| Max Voltage | resolution |
+| ------- |---- |
+| 6.144 V | 187.5 uV = 0.000187 V |
+| 4.096 V | 125 uV = 0.000125 V |
+| 2.048 V | 62.5 uV = 0.0000625 V |
+| 1.024 V | 31.25 uV = 0.00003125 V |
+| 0.512 V | 15.625 uV = 0.000015625 V |
+| 0.256 V | 7.8125 uV = 0.0000078125 V |
+
+
+## Conversion
+BPL converts ADC readings from pressure transducer into pressure.
+
+The formula used is
+
+PSI=(A0_Reading - b) * a
+
+Take the pressure transducer that I have for example,
+output: 0.5 - 4.5v linear
+maximum pressure: 80psi (4.5v)
+
+The output:
+
+| pressure | voltage | A0 reading |
+| ------- | ----- | ----- |
+| 0 | 0.5v | 1023 * 0.5/3.3= 155 |
+| 40 | 2.5v | 1023 * 2.5/3.3= 775 |
+| 80 | 4.5v | 1023 (saturated) |
+
+Given the fact that I don't really care the reading that exceeds 40psi. I just save a resistor and connect the output direct to A0. My formula is
+
+PSI=(A0_Reading - 155) * (40-0)/(775-155)
+=> PSI=(A0_Reading - 155) * 0.06452
+
+example 2: ADS1115
+In my case, **Max input voltage** is set to 4.096V, in which one step increase of ADC value is 0.000125V. So
+
+| pressure | voltage | ADC reading |
+| ------- | ----- | ----- |
+| 0 | 0.5v | 0.5/0.000125= 4,000 |
+| 40 | 2.5v | 2.5/0.000125= 20,000 |
+
+The formula would be
+
+PSI=(ADC_Reading - 4,000) * (40-0)/(20,000-4,000)
+ => (ADC_Reading - 4,000) * 0.0025
+
+### Getting parameters by real readings
+In practice, there are errors, and the readings sometimes are not exact the same as expected. A simple way to get the formula is using "calibration" function by
+1. Step 1: make sure there is "NO pressure". And click the button to get "b".
+2. Step 2: put the transducer under a pressure closer maximum the better. Input the pressure and click "Step 2" button.
+
+![Pressure Calibration](image/pressure-cal.jpg?raw=true)
+
+BPL will then derive the parameters automatically.
+
+## Pressure Control
+"Capping control" is necessary to support pressure control. A solenoid is needed to vent the gas/co2 when necessary. The most tricky part is the venting. A small pin hole or gap should work. **Venting flow should be close to the speed of CO2 generation.
+
+** BPL checks the pressure **every second**, if the pressure is greater than specified value, the solenoid will be open. The less the gas/pressure is released in 1 second, the more precise the pressure control is. It might sound like difficult. The fact is that it is more difficult to make something air tight. A threaded pipe and cap without seal might do the job.
+
diff --git a/doc/MQTT.md b/docs/I0.MQTT.md
similarity index 91%
rename from doc/MQTT.md
rename to docs/I0.MQTT.md
index e506b81b1..331fc3b11 100644
--- a/doc/MQTT.md
+++ b/docs/I0.MQTT.md
@@ -29,6 +29,9 @@ The topic terminals or the JSON labels are listed in the following table.
| tilt | Tilt value of iSpindel | |
| pressure | Pressure reading in PSI | |
| mode | current running mode| Integer values for "**Whole as JSON**", character values for "**Individual Topic**" |
+| state | State in Integer. 0:IDLE, 1:STATE_OFF,2: DOOR_OPEN, 3:HEATING, 4: COOLING, 5: WAITING_TO_COOL, 6:WAITING_TO_HEAT, 7:WAITING_FOR_PEAK_DETECT, 8:COOLING_MIN_TIME, 9:HEATING_MIN_TIME |
+| fridgeHumidity | Fridge/Chamber Humidity reading, if available |
+| roomHumidity | Room/environment Humidity reading, if available |
## MQTT Remote Control
MQTT Remote Control enables controlling BPL by a MQTT server. When enabled, BPL subscribes the specified path and changes the setting accordingly.
@@ -72,4 +75,4 @@ Connecting to MQTT server takes up a TCP connection and some resource. The progr
There is latency of network and update of data. Therefore, expect some delay after changing the setting.
***
-[Index](index.md) [Settings for ubidots.com](MQTT.ubidots.md)
+[Settings for ubidots.com](MQTT.ubidots.md)
diff --git a/doc/MQTT.ubidots.md b/docs/I1.MQTT.ubidots.md
similarity index 100%
rename from doc/MQTT.ubidots.md
rename to docs/I1.MQTT.ubidots.md
diff --git a/doc/OtherURL.md b/docs/J0.OtherUrl.md
similarity index 97%
rename from doc/OtherURL.md
rename to docs/J0.OtherUrl.md
index 7f00a56ae..da7f22d9c 100644
--- a/doc/OtherURL.md
+++ b/docs/J0.OtherUrl.md
@@ -24,5 +24,3 @@ Web-based file manager to manipulate the files directly.
The access portal to BrewPi core. The temperature control parameters can be accessed by this page.
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/doc/OverwritePages.md b/docs/K0.OverwritePages.md
similarity index 97%
rename from doc/OverwritePages.md
rename to docs/K0.OverwritePages.md
index 850ae989b..e36215785 100644
--- a/doc/OverwritePages.md
+++ b/docs/K0.OverwritePages.md
@@ -22,5 +22,3 @@ https://github.com/tommueller/BrewPiLess/tree/master/htmljs/dist
Tom's work has been merged into this project:
https://github.com/vitotai/BrewPiLess/tree/master/htmljs
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/doc/JsonCommand.md b/docs/L0.JsonCommand.md
similarity index 93%
rename from doc/JsonCommand.md
rename to docs/L0.JsonCommand.md
index ca54c2eaa..8ed474a4c 100644
--- a/doc/JsonCommand.md
+++ b/docs/L0.JsonCommand.md
@@ -1,3 +1,5 @@
+After 4.3.1, you can use web interface, in "System" page, to modify these temperature control settings. However, knowledge about the settings is necessary.
+
By using `http://brewpiless.local/testcmd.htm`, you can control BrewPi core directly. For example, to set temperature to Fahrenheit. Open the testcm.htm page, and enter the following string, and send.
`j{"tempFormat":"F"}`
@@ -5,6 +7,7 @@ By using `http://brewpiless.local/testcmd.htm`, you can control BrewPi core dire
You can set multiple parameters in one command. The command after `j` is in formal JSON format. Please include the double quote(") for key and string value.
+_Don't forget to change **tempSetMin** and **tempSetMax** after chaning temperature unit._
| Key | Meaning | Note |
| -------------- |:-------------:| :--------------------|
@@ -34,14 +37,13 @@ You can set multiple parameters in one command. The command after `j` is in form
| hs | Rotary encoder trigger step | When you feel like you have to turn your rotary encoder two steps for every trigger, set this to half step. 0 = Full step, 1 = Half step |
| heatEst | Heating overshoot estimator | This is a self learning estimator for the overshoot when turning the heater off. It is adjusted automatically, but you can set adjust it manually here. This does not stop further automatic adjustment. |
| coolEst | Cooling overshoot estimator | This is a self learning estimator for the overshoot when turning the cooler off. It is adjusted automatically, but you can set adjust it manually here. This does not stop further automatic adjustment. |
-| minCoolTime | Minimum cooling time |*1 |
-| minCoolIdleTime | Minimum idle time before cooling |*1 |
-| minHeatTime | Minimum heating time |*1 |
-| minHeatIdleTime | Minimum idle time before heating |*1 |
-| deadTime | Minimum idle time between switch of heating and cooling. |*1 |
+| minCoolTime | Minimum cooling time | |
+| minCoolIdleTime | Minimum idle time before cooling | |
+| minHeatTime | Minimum heating time | |
+| minHeatIdleTime | Minimum idle time before heating | |
+| deadTime | Minimum idle time between switch of heating and cooling. | |
-*1: Available if SettableMinimumCoolTime option is set to true, or EnableGlycol is set to true. After v2.4, it is enabled by default.
To view current temperature control setting, issue a single character
@@ -59,6 +61,3 @@ and send.
## A note about PID control
The fridge temperature is controlled with PID. The fridge setting = beer setting + PID. The proportional part is linear with the temperature error. The integral part slowly increases when an error stays present, this prevents steady state errors. The derivative part is in the opposite direction to the proportional part. This prevents overshoot: it lowers the PID value when there's 'momentum' in the right direction.
-
-***
-[Index](index.md)
\ No newline at end of file
diff --git a/docs/M0.Humidity.md b/docs/M0.Humidity.md
new file mode 100644
index 000000000..8f70d4bfa
--- /dev/null
+++ b/docs/M0.Humidity.md
@@ -0,0 +1,43 @@
+**Humidity monitoring and control is in preliminary development stage.**
+# DHT11/DHT21(AM2301)/DHT22 sensors
+DHT sensor family uses proprietary onewire protocol. For maximum flexibility, we don't allocate a dedidcated pin for it.
+Generic PINs that are used for actuators(cooling, heating, and etc.) can be used for DHTxx sensors.
+Once assigned, the humidity reading is then available.
+
+DHT sensors also report temperature, and the temperature sensor is available after a PIN is assigned to the DHTxx sensor.
+
+NOTE:
+* The humidity sensor must be assigned to a slot numebr that is **smaller** than the temperature sensor of the humidity sensor.
+* I don't get stable readings from my DHT21 sensor. I had on in my fridge, and the reading changes dramatically when cooling. I couldn't get readings when fermenting lager at 10C. Maybe some fine tuning is needed, or it is the nature of DHT21. Don't trust the temperature reading of DHTxx sensor before verifying.
+* I have to supply 5V to my DHT21/AM2301 sensor when the "line" is too long, like 1 meter(3 feet).
+
+# BME280 sensors
+BME280 utilizes I2C for communication. No extra PINs are required. Howerver, I2C addresses of 0x77 and 0x76 are reserved for BME280, so if the LCD uses one of these addresses, it won't be detected.
+
+If BME280 is present, it should be detected when listing devices.
+
+
+# Humidity Control
+Humidity control runs similar algorithm as temperature control. The parameters are currently predefined and can be changed only by modification of source code..
+"Humidifer" and/or "Dehumidifer" must be set-up for humidity control.
+
+| Parameter | Usage | Default value |
+| -------------- |:-------------:| :--------------------|
+| IdleLow | maximum difference before Humidifying starts | 3% |
+| IdleHigh | maximum difference before Dehumidifying starts | 3% |
+| HumidifyingTargetHigh | the minimum difference before stopping humidifying | 5% |
+| DehumidifyingTargetLow | the minimum difference before stopping dehumidifying | 5% |
+| MinimumHumidifyingRunningTime | Minimum humidifying running time | 60 secs |
+| MinimumHumidifyingIdleTime | Minimum humidifying Idle time | 60 secs |
+| MinimumDehumidifyingRunningTime | Minimum dehumidifying running time | 300 secs |
+| MinimumDehumidifyingIdleTime | Minimum dehumidifying idle time | 300 secs |
+| MinimumDeadTime | Minimum idle time between humidifying and defhumdifying | 600 secs |
+
+
+Eg. for humdifying,
+* humidifier is started when the current humidity is lower than (TargetHumidity - IdleLow)
+* humidifier is stopped when the current humidity is higher than (TargetHumidity + HumidifyingTargetHight)
+
+for dehumdifying,
+* dehumidifier is started when the current humidity is higher than (TargetHumidity + IdleHigh)
+* dehumidifier is stopped when the current humidity is lower than (TargetHumidity - DehumidifyingTargetLow)
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 000000000..342505ee8
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,44 @@
+* [Hardware Setup](10.HardwareGeneral.md)
+ * [Example#1](11.HardwareExample1.md)
+ * [SONOFF](12.HarddwareSONOFF.md)
+ * [Thorrax’s Board](https://github.com/thorrak/brewpi-esp8266)
+ * [ESP32](13.ESP32Pins.md)
+ * [ESP32 Build](14.ESP32BuildInstructions.md)
+* [Localization of web frontend](20.LocalizationWebPage.md)
+* [Flash layout and New Frontend](30.FlashLayoutAndNewUI.md)
+* [Software Installation](40.SoftwareInstallation.md)
+ * [Software Configuration](41.SoftwareConfiguration.md)
+* [WiFi Setup](50.WiFiSetupV31.md)
+* [System Setup](60.SystemSetup.md)
+ * [SoftAP mode](61.SoftAPMode.md)
+* [Device Setup](70.DeviceSetup.md)
+* [Using Buttons & Menu](80.UsingButtonsAndUI.md)
+* [Temperature Logging](90.TemperatureLogging.md)
+* [Cloud Logging](A0.CloudLogging.md)
+ * [Generic HTTP](A1.GenericHttpLogging.md)
+ * [ubidots.com](A2.ubidots.md)
+ * [thingspeak.com](A3.thingspeak.md)
+ * [Brewfather](A4.brewfather.md)
+* [Beer Profile](B0.BeerProfile.md)
+* [iSpindel Support](C0.iSpindelSupport.md)
+ * [Brew and Calibrate](C1.BrewNCalibrate.md)
+ * [iSpindel as Beer Sensor](C2.iSpindelAsSensor.md)
+* [Tilt Hydrometer Support on ESP32](D0.TiltHydrometerSupport.md)
+* [Rapt Pill wireless Hydrometer Support](D1.RaptPillHydrometerSupport.md)
+* [Manual Gravity Logging](E0.ManualGravityInput.md)
+* [Use with Glycol](F0.glycol.md)
+ * [Parasite Temperature Control](F1.ParasiteTemperatureControl.md)
+* [Auto Capping(Spunding)](G0.AutoSpunding.md)
+* [Pressure Monitor and Control](H0.PressureMonitor.md)
+* [MQTT Remote Control](I0.MQTT.md)
+ * [ubidots.com](I1.MQTT.ubidots.md)
+* [Other URLs](J0.OtherUrl.md)
+ * Clear WiFi setting
+ * Format file system
+ * OTA update
+* [Overwrite pages](K0.OverwritePages.md)
+* [JSON Commands](L0.JsonCommand.md)
+ * Temperature Unit
+ * Sensor Calibration
+* [Humidity](M0.Humidity.md)
+* [FAQ](Z0.FAQ.md)
\ No newline at end of file
diff --git a/doc/FAQ.md b/docs/Z0.FAQ.md
similarity index 93%
rename from doc/FAQ.md
rename to docs/Z0.FAQ.md
index 700f10319..03fac804f 100644
--- a/doc/FAQ.md
+++ b/docs/Z0.FAQ.md
@@ -26,10 +26,6 @@
A: "Erase Setting". The hardware configuration will be gone after erasing. You might need to save the hardware configuration and restore after erashing.
-* Q: What is "Parasite Temperature Control"?
-
- A: http://vito.tw/?p=836
-
* Q: BrewPiLess can't find my sensors.
A: Check if they are parasitic power only version.
@@ -37,5 +33,3 @@
[REF#2](https://www.homebrewtalk.com/forum/threads/howto-make-a-brewpi-fermentation-controller-for-cheap.466106/page-136#post-7556259)
- ***
-[Index](index.md)
\ No newline at end of file
diff --git a/docs/_config.yml b/docs/_config.yml
new file mode 100644
index 000000000..2f7efbeab
--- /dev/null
+++ b/docs/_config.yml
@@ -0,0 +1 @@
+theme: jekyll-theme-minimal
\ No newline at end of file
diff --git a/doc/image/BPL_simple.jpg b/docs/image/BPL_simple.jpg
similarity index 100%
rename from doc/image/BPL_simple.jpg
rename to docs/image/BPL_simple.jpg
diff --git a/doc/image/beerprofileapply.jpg b/docs/image/beerprofileapply.jpg
similarity index 100%
rename from doc/image/beerprofileapply.jpg
rename to docs/image/beerprofileapply.jpg
diff --git a/doc/image/beerprofilev21.jpg b/docs/image/beerprofilev21.jpg
similarity index 100%
rename from doc/image/beerprofilev21.jpg
rename to docs/image/beerprofilev21.jpg
diff --git a/doc/image/bpl_wifi_address.jpg b/docs/image/bpl_wifi_address.jpg
similarity index 100%
rename from doc/image/bpl_wifi_address.jpg
rename to docs/image/bpl_wifi_address.jpg
diff --git a/doc/image/bpl_wifi_setup.jpg b/docs/image/bpl_wifi_setup.jpg
similarity index 100%
rename from doc/image/bpl_wifi_setup.jpg
rename to docs/image/bpl_wifi_setup.jpg
diff --git a/doc/image/bplmain.jpg b/docs/image/bplmain.jpg
similarity index 100%
rename from doc/image/bplmain.jpg
rename to docs/image/bplmain.jpg
diff --git a/doc/image/brewpiless125.jpg b/docs/image/brewpiless125.jpg
similarity index 100%
rename from doc/image/brewpiless125.jpg
rename to docs/image/brewpiless125.jpg
diff --git a/doc/image/brewpiless126p1.jpg b/docs/image/brewpiless126p1.jpg
similarity index 100%
rename from doc/image/brewpiless126p1.jpg
rename to docs/image/brewpiless126p1.jpg
diff --git a/doc/image/calibration.jpg b/docs/image/calibration.jpg
similarity index 100%
rename from doc/image/calibration.jpg
rename to docs/image/calibration.jpg
diff --git a/doc/image/capping_info.jpg b/docs/image/capping_info.jpg
similarity index 100%
rename from doc/image/capping_info.jpg
rename to docs/image/capping_info.jpg
diff --git a/doc/image/capping_setup.jpg b/docs/image/capping_setup.jpg
similarity index 100%
rename from doc/image/capping_setup.jpg
rename to docs/image/capping_setup.jpg
diff --git a/doc/image/configv25.jpg b/docs/image/configv25.jpg
similarity index 100%
rename from doc/image/configv25.jpg
rename to docs/image/configv25.jpg
diff --git a/doc/image/configv251.jpg b/docs/image/configv251.jpg
similarity index 100%
rename from doc/image/configv251.jpg
rename to docs/image/configv251.jpg
diff --git a/docs/image/configv42.jpg b/docs/image/configv42.jpg
new file mode 100644
index 000000000..6bc0fa20c
Binary files /dev/null and b/docs/image/configv42.jpg differ
diff --git a/docs/image/control_capping.jpg b/docs/image/control_capping.jpg
new file mode 100644
index 000000000..92b83c3a4
Binary files /dev/null and b/docs/image/control_capping.jpg differ
diff --git a/docs/image/control_ptc.jpg b/docs/image/control_ptc.jpg
new file mode 100644
index 000000000..c1175a95b
Binary files /dev/null and b/docs/image/control_ptc.jpg differ
diff --git a/doc/image/devicesetup.jpg b/docs/image/devicesetup.jpg
similarity index 100%
rename from doc/image/devicesetup.jpg
rename to docs/image/devicesetup.jpg
diff --git a/docs/image/gdsetting.jpg b/docs/image/gdsetting.jpg
new file mode 100644
index 000000000..64ec7e4ea
Binary files /dev/null and b/docs/image/gdsetting.jpg differ
diff --git a/docs/image/gravity_input.jpg b/docs/image/gravity_input.jpg
new file mode 100644
index 000000000..ed22e660d
Binary files /dev/null and b/docs/image/gravity_input.jpg differ
diff --git a/doc/image/inputgravity.jpg b/docs/image/inputgravity.jpg
similarity index 100%
rename from doc/image/inputgravity.jpg
rename to docs/image/inputgravity.jpg
diff --git a/doc/image/ispindel_calibrating.jpg b/docs/image/ispindel_calibrating.jpg
similarity index 100%
rename from doc/image/ispindel_calibrating.jpg
rename to docs/image/ispindel_calibrating.jpg
diff --git a/doc/image/ispindel_formula.jpg b/docs/image/ispindel_formula.jpg
similarity index 100%
rename from doc/image/ispindel_formula.jpg
rename to docs/image/ispindel_formula.jpg
diff --git a/doc/image/ispindel_sensor.jpg b/docs/image/ispindel_sensor.jpg
similarity index 100%
rename from doc/image/ispindel_sensor.jpg
rename to docs/image/ispindel_sensor.jpg
diff --git a/docs/image/ispindel_setup.jpg b/docs/image/ispindel_setup.jpg
new file mode 100644
index 000000000..b5e9d638c
Binary files /dev/null and b/docs/image/ispindel_setup.jpg differ
diff --git a/doc/image/log_general.jpg b/docs/image/log_general.jpg
similarity index 100%
rename from doc/image/log_general.jpg
rename to docs/image/log_general.jpg
diff --git a/doc/image/log_thingSpeak.jpg b/docs/image/log_thingSpeak.jpg
similarity index 100%
rename from doc/image/log_thingSpeak.jpg
rename to docs/image/log_thingSpeak.jpg
diff --git a/doc/image/log_ubidots.jpg b/docs/image/log_ubidots.jpg
similarity index 100%
rename from doc/image/log_ubidots.jpg
rename to docs/image/log_ubidots.jpg
diff --git a/doc/image/lowpassfilter.jpg b/docs/image/lowpassfilter.jpg
similarity index 100%
rename from doc/image/lowpassfilter.jpg
rename to docs/image/lowpassfilter.jpg
diff --git a/doc/image/mqtt.remote.jpg b/docs/image/mqtt.remote.jpg
similarity index 100%
rename from doc/image/mqtt.remote.jpg
rename to docs/image/mqtt.remote.jpg
diff --git a/doc/image/networkselect.jpg b/docs/image/networkselect.jpg
similarity index 100%
rename from doc/image/networkselect.jpg
rename to docs/image/networkselect.jpg
diff --git a/docs/image/oled_ispindel.jpg b/docs/image/oled_ispindel.jpg
new file mode 100644
index 000000000..99480814b
Binary files /dev/null and b/docs/image/oled_ispindel.jpg differ
diff --git a/docs/image/pill_setup.jpg b/docs/image/pill_setup.jpg
new file mode 100644
index 000000000..958a574de
Binary files /dev/null and b/docs/image/pill_setup.jpg differ
diff --git a/doc/image/pressure-cal.jpg b/docs/image/pressure-cal.jpg
similarity index 100%
rename from doc/image/pressure-cal.jpg
rename to docs/image/pressure-cal.jpg
diff --git a/docs/image/pressure-setting.jpg b/docs/image/pressure-setting.jpg
new file mode 100644
index 000000000..701517739
Binary files /dev/null and b/docs/image/pressure-setting.jpg differ
diff --git a/doc/image/remote.log.brewfather.jpg b/docs/image/remote.log.brewfather.jpg
similarity index 100%
rename from doc/image/remote.log.brewfather.jpg
rename to docs/image/remote.log.brewfather.jpg
diff --git a/doc/image/remote.log.generichttp.jpg b/docs/image/remote.log.generichttp.jpg
similarity index 100%
rename from doc/image/remote.log.generichttp.jpg
rename to docs/image/remote.log.generichttp.jpg
diff --git a/doc/image/remote.log.thingspeak.jpg b/docs/image/remote.log.thingspeak.jpg
similarity index 100%
rename from doc/image/remote.log.thingspeak.jpg
rename to docs/image/remote.log.thingspeak.jpg
diff --git a/doc/image/remote.log.ubidots.jpg b/docs/image/remote.log.ubidots.jpg
similarity index 100%
rename from doc/image/remote.log.ubidots.jpg
rename to docs/image/remote.log.ubidots.jpg
diff --git a/doc/image/reuse_profiles.jpg b/docs/image/reuse_profiles.jpg
similarity index 100%
rename from doc/image/reuse_profiles.jpg
rename to docs/image/reuse_profiles.jpg
diff --git a/docs/image/setup_ptc.jpg b/docs/image/setup_ptc.jpg
new file mode 100644
index 000000000..2b6ae8edd
Binary files /dev/null and b/docs/image/setup_ptc.jpg differ
diff --git a/docs/image/status_ptc.jpg b/docs/image/status_ptc.jpg
new file mode 100644
index 000000000..eaae4a15b
Binary files /dev/null and b/docs/image/status_ptc.jpg differ
diff --git a/doc/image/systemconfig.jpg b/docs/image/systemconfig.jpg
similarity index 100%
rename from doc/image/systemconfig.jpg
rename to docs/image/systemconfig.jpg
diff --git a/docs/image/tilt_setup.jpg b/docs/image/tilt_setup.jpg
new file mode 100644
index 000000000..96ae51724
Binary files /dev/null and b/docs/image/tilt_setup.jpg differ
diff --git a/doc/image/ubidots-api-credentials.jpg b/docs/image/ubidots-api-credentials.jpg
similarity index 100%
rename from doc/image/ubidots-api-credentials.jpg
rename to docs/image/ubidots-api-credentials.jpg
diff --git a/doc/image/ubidots-api-token.jpg b/docs/image/ubidots-api-token.jpg
similarity index 100%
rename from doc/image/ubidots-api-token.jpg
rename to docs/image/ubidots-api-token.jpg
diff --git a/doc/image/ubidots.add.control.jpg b/docs/image/ubidots.add.control.jpg
similarity index 100%
rename from doc/image/ubidots.add.control.jpg
rename to docs/image/ubidots.add.control.jpg
diff --git a/doc/image/ubidots.control.widget.jpg b/docs/image/ubidots.control.widget.jpg
similarity index 100%
rename from doc/image/ubidots.control.widget.jpg
rename to docs/image/ubidots.control.widget.jpg
diff --git a/doc/image/ubidots.mqtt.settings.jpg b/docs/image/ubidots.mqtt.settings.jpg
similarity index 100%
rename from doc/image/ubidots.mqtt.settings.jpg
rename to docs/image/ubidots.mqtt.settings.jpg
diff --git a/doc/image/ubidots.variable.jpg b/docs/image/ubidots.variable.jpg
similarity index 100%
rename from doc/image/ubidots.variable.jpg
rename to docs/image/ubidots.variable.jpg
diff --git a/doc/image/ubidots.widget.creation.jpg b/docs/image/ubidots.widget.creation.jpg
similarity index 100%
rename from doc/image/ubidots.widget.creation.jpg
rename to docs/image/ubidots.widget.creation.jpg
diff --git a/docs/image/volume2psi.jpg b/docs/image/volume2psi.jpg
new file mode 100644
index 000000000..4803a2baa
Binary files /dev/null and b/docs/image/volume2psi.jpg differ
diff --git a/extra/BPLLogViewer.htm b/extra/BPLLogViewer.htm
deleted file mode 100644
index 7006bda28..000000000
--- a/extra/BPLLogViewer.htm
+++ /dev/null
@@ -1,134 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/extra/README.md b/extra/README.md
new file mode 100644
index 000000000..4e2aef4ee
--- /dev/null
+++ b/extra/README.md
@@ -0,0 +1,26 @@
+# Utitlities that might help
+
+Log Viewers are moved to htmljs/dist/english/BPLLogViewer.htm
+
+## backup.htm
+The utilities to backup/restore settings, includes
+System Configuration, Gravity Device, Remote Logging, Pressure tranducer, and MQTT.
+
+Use filemanager(http://brewpiless.local:8008/filemanager) to upload this html file.
+Go to this file http://brewpiless.local/backup.htm
+"Retrieve from Controller", and then "Save..".
+The downloaed file, bpl.settings.json, will be saved to your computer.
+
+To Restore,
+Select file to "Load from", enter "username/password", and then "Restore..".
+
+In the future, this funcion will be embedded. Before that, you need to upload this file again if the FileSystem is erased during upgrading firmware.
+
+## brewpimon.php
+A small simple script that I used to monitor whether or not my BrewPiLess is still alive.
+
+## calibrationSG.htm
+Calibration tool for iSpindel. It's essentially the same as the one on Sam's Github repository.
+
+## iSpindel-BPL.5.12.bin
+The golden version of my iSpindel.
diff --git a/extra/backup.htm b/extra/backup.htm
new file mode 100644
index 000000000..1c8ca0377
--- /dev/null
+++ b/extra/backup.htm
@@ -0,0 +1,289 @@
+
+
+ Setting Backup/Restore
+
+
+
+
+ Save..
+
+Username: Password:
+
+Load from:
+
+
\ No newline at end of file
diff --git a/htmljs/dist/english/gravity.htm.gz b/htmljs/dist/english/gravity.htm.gz
index a22640b7d..b72eee140 100644
Binary files a/htmljs/dist/english/gravity.htm.gz and b/htmljs/dist/english/gravity.htm.gz differ
diff --git a/htmljs/dist/english/index.htm b/htmljs/dist/english/index.htm
index 129837d68..b6f998120 100644
--- a/htmljs/dist/english/index.htm
+++ b/htmljs/dist/english/index.htm
@@ -1,124 +1 @@
- BrewPiLess reporting for duty!
\ No newline at end of file
diff --git a/htmljs/dist/italian/BPLogWebViewer.htm.gz b/htmljs/dist/italian/BPLogWebViewer.htm.gz
new file mode 100644
index 000000000..b134c3ec2
Binary files /dev/null and b/htmljs/dist/italian/BPLogWebViewer.htm.gz differ
diff --git a/htmljs/dist/italian/config.htm b/htmljs/dist/italian/config.htm
new file mode 100644
index 000000000..90d1a4a5e
--- /dev/null
+++ b/htmljs/dist/italian/config.htm
@@ -0,0 +1 @@
+ BrewPiLess Configurazione
Configuration saved. Wait for restart... (note: if the hostname is changed, the page won't be reloaded.)
System Information
MAC Address
Flash Chip ID
Real Flash Size
Specified Flash Size
File System Size
Setting Backup/Restore
Backup Time
dispositivo
densità
logs
Pressione
MQTT
sistema
Retriving data...
Sending data to controller...
Restore from
Advanced Settings
tempFormat
tempSettingMin
°
tempSettingMax
°
pidMax
°
Kp
Ki
Kd
iMaxErr
idleRangeH
°
idleRangeL
°
heatTargetH
°
heatTargetL
°
coolTargetH
°
coolTargetL
°
maxHeatTimeForEst
Seconds
maxCoolTimeForEst
Seconds
fridgeFastFilt
fridgeSlowFilt
fridgeSlopeFilt
beerFastFilt
beerSlowFilt
beerSlopeFilt
lightAsHeater
RotaryHalfStep
minCoolTime
Seconds
minCoolIdleTime
Seconds
minHeatTime
Seconds
minHeatIdleTime
Seconds
deadTime
Seconds
\ No newline at end of file
diff --git a/htmljs/dist/italian/config.htm.gz b/htmljs/dist/italian/config.htm.gz
new file mode 100644
index 000000000..5a507523b
Binary files /dev/null and b/htmljs/dist/italian/config.htm.gz differ
diff --git a/htmljs/dist/italian/control.htm b/htmljs/dist/italian/control.htm
new file mode 100644
index 000000000..1043bc778
--- /dev/null
+++ b/htmljs/dist/italian/control.htm
@@ -0,0 +1 @@
+ BrewPiLess centro di controllo!
Volume CO2 desiderato: Temperatura birra: °C Pressione: psi
Connessione al controller BrewPiLess ...
carica Profilo
Note:
Per far funzionare corretamente il profilo birra,
la densità OG deve essere specificata se SG e specificata in percentuale(%), e il logging deve essere attivato se viene utilizzata la lettura densità stabile.
Densità OG:
Salva Profilo come
*Non sono permessi caratteri speciali o spazi.
\ No newline at end of file
diff --git a/htmljs/dist/italian/control.htm.gz b/htmljs/dist/italian/control.htm.gz
new file mode 100644
index 000000000..9e8303ad7
Binary files /dev/null and b/htmljs/dist/italian/control.htm.gz differ
diff --git a/htmljs/dist/italian/gravity.htm b/htmljs/dist/italian/gravity.htm
new file mode 100644
index 000000000..a9ac98973
--- /dev/null
+++ b/htmljs/dist/italian/gravity.htm
@@ -0,0 +1 @@
+ Dispositivo densità
\ No newline at end of file
diff --git a/htmljs/dist/italian/gravity.htm.gz b/htmljs/dist/italian/gravity.htm.gz
new file mode 100644
index 000000000..bf4058616
Binary files /dev/null and b/htmljs/dist/italian/gravity.htm.gz differ
diff --git a/htmljs/dist/italian/index.htm b/htmljs/dist/italian/index.htm
new file mode 100644
index 000000000..1254d0525
--- /dev/null
+++ b/htmljs/dist/italian/index.htm
@@ -0,0 +1 @@
+ BrewPiLess in servizio!
gravity <= after Limitazione pressione manualeApertura manuale
Pressure psi
Sistema:
Scrivendo Log:
WiFi:
Data / Orastato
--
--
--
--
--
--
--
--
--
--
--
--
--
--
f
in attesa di aggiornamenti da script ...
Connessione al server fallita.
Controller non aggiorna i dati.
Connessione al controller BrewPiLess ...
Aggiungi record densità: Imposta densità OG:
Per favore imposta la densità (valore).
°P
~ °P @ °C
Angolo: Prima SG
Angolo
SG°P
Calcolato
Errore
Ignorato
\ No newline at end of file
diff --git a/htmljs/dist/italian/index.htm.gz b/htmljs/dist/italian/index.htm.gz
new file mode 100644
index 000000000..e9453ad73
Binary files /dev/null and b/htmljs/dist/italian/index.htm.gz differ
diff --git a/htmljs/dist/italian/logging.htm b/htmljs/dist/italian/logging.htm
new file mode 100644
index 000000000..e03d9930e
--- /dev/null
+++ b/htmljs/dist/italian/logging.htm
@@ -0,0 +1 @@
+ BrewPiless impostazioni Logging
Sapzio libero: 0 Bytes, Spazio usato: 0 Bytes, Spazio totale: 0 Bytes
Log registrati
Log
Data
Azione
Log remoto
Durata Log:
Secondi
Tipo di servizio:
API Key:
Birra:
Unità densità
Scrivi chiave API:
Campi:
ID:
Ettichetta dispositivo:
Account:
Token:
Dispositivo:
Metodo:
URL:
Data Type:
JSON:"application/json", Form Type:"application/x-www-form-urlencoded"
Formato:
Notazioni... Caratteri: 0/256
Impostazioni MQTT
Impostazioni Mediatore
Mediatore MQTT:
Porta MQTT:
Username:
Password:
Segnalazione
Periodo di Pubblicazione
Secondi
Percorso Base
Pubblica data come
Controllo remoto MQTT
Percorso per modalità:
Percorso per Imp. birra:
Percorso per Imp. frigo:
Percorso per controllo limitazione pressione:
Percorso per temperatura PTC:
%b
Temperatura birra
%B
Impostazioni birra
%f
Temperatura frigo
%F
Impostazioni frigo
%r
Temperatura ambiente
%g
Densità
%p
Plato
%a
Temperatura iSpindel
%v
voltaggio iSpindel
%t
valore angolo
%u
timestamp unix dall'ultima lettura densità
%U
Unità temperatura
%m
modo numerico
%M
modo caratteri
%P
Pressione in PSI
%H
Hostname
\ No newline at end of file
diff --git a/htmljs/dist/italian/logging.htm.gz b/htmljs/dist/italian/logging.htm.gz
new file mode 100644
index 000000000..81b07c1c6
Binary files /dev/null and b/htmljs/dist/italian/logging.htm.gz differ
diff --git a/htmljs/dist/italian/pressure.htm b/htmljs/dist/italian/pressure.htm
new file mode 100644
index 000000000..74af1e60b
--- /dev/null
+++ b/htmljs/dist/italian/pressure.htm
@@ -0,0 +1 @@
+ Trasduttore di pressione impostazioni
\ No newline at end of file
diff --git a/htmljs/dist/italian/pressure.htm.gz b/htmljs/dist/italian/pressure.htm.gz
new file mode 100644
index 000000000..7a5c6d16e
Binary files /dev/null and b/htmljs/dist/italian/pressure.htm.gz differ
diff --git a/htmljs/dist/italian/setup.htm b/htmljs/dist/italian/setup.htm
new file mode 100644
index 000000000..2b1f9d754
--- /dev/null
+++ b/htmljs/dist/italian/setup.htm
@@ -0,0 +1 @@
+ BrewPiLess setup!
\ No newline at end of file
diff --git a/htmljs/dist/norwegian/BPLogWebViewer.htm.gz b/htmljs/dist/norwegian/BPLogWebViewer.htm.gz
new file mode 100644
index 000000000..8e7b28612
Binary files /dev/null and b/htmljs/dist/norwegian/BPLogWebViewer.htm.gz differ
diff --git a/htmljs/dist/norwegian/config.htm b/htmljs/dist/norwegian/config.htm
new file mode 100644
index 000000000..63aadc11f
--- /dev/null
+++ b/htmljs/dist/norwegian/config.htm
@@ -0,0 +1 @@
+ BrewPiLess Konfigurasjon
Konfigurasjon lagret. Vent på omstart ... (merk: hvis vertsnavnet blir endret, lastes ikke siden på nytt.)
System Information
MAC Address
Flash Chip ID
Real Flash Size
Specified Flash Size
File System Size
Setting Backup/Restore
Backup Time
oppsett
egenvekt
logger
Trykk
MQTT
config
Retriving data...
Sending data to controller...
Restore from
Advanced Settings
tempFormat
tempSettingMin
°
tempSettingMax
°
pidMax
°
Kp
Ki
Kd
iMaxErr
idleRangeH
°
idleRangeL
°
heatTargetH
°
heatTargetL
°
coolTargetH
°
coolTargetL
°
maxHeatTimeForEst
Seconds
maxCoolTimeForEst
Seconds
fridgeFastFilt
fridgeSlowFilt
fridgeSlopeFilt
beerFastFilt
beerSlowFilt
beerSlopeFilt
lightAsHeater
RotaryHalfStep
minCoolTime
Seconds
minCoolIdleTime
Seconds
minHeatTime
Seconds
minHeatIdleTime
Seconds
deadTime
Seconds
\ No newline at end of file
diff --git a/htmljs/dist/norwegian/config.htm.gz b/htmljs/dist/norwegian/config.htm.gz
new file mode 100644
index 000000000..e70102bee
Binary files /dev/null and b/htmljs/dist/norwegian/config.htm.gz differ
diff --git a/htmljs/dist/norwegian/control.htm b/htmljs/dist/norwegian/control.htm
new file mode 100644
index 000000000..a0c60ae87
--- /dev/null
+++ b/htmljs/dist/norwegian/control.htm
@@ -0,0 +1 @@
+ BrewPiLess kontrollsenter!
Opprinnelig OG må spesifiseres hvis SG er spesifisert som en prosentandel (%), og Lokal logging må aktiveres hvis gravstabilt OG brukes.
OG:
Lagre profil som
* Ingen spesielle bokstaver og mellomrom tillatt.
\ No newline at end of file
diff --git a/htmljs/dist/norwegian/control.htm.gz b/htmljs/dist/norwegian/control.htm.gz
new file mode 100644
index 000000000..f48265c76
Binary files /dev/null and b/htmljs/dist/norwegian/control.htm.gz differ
diff --git a/htmljs/dist/norwegian/control_s.htm b/htmljs/dist/norwegian/control_s.htm
new file mode 100644
index 000000000..4dc5d271b
--- /dev/null
+++ b/htmljs/dist/norwegian/control_s.htm
@@ -0,0 +1 @@
+ BrewPiLess kontrollsenter!
Opprinnelig OG må spesifiseres hvis SG er spesifisert som en prosentandel (%), og Lokal logging må aktiveres hvis gravstabilt OG brukes.
OG:
Lagre profil som
* Ingen spesielle bokstaver og mellomrom tillatt.
\ No newline at end of file
diff --git a/htmljs/dist/norwegian/control_s.htm.gz b/htmljs/dist/norwegian/control_s.htm.gz
new file mode 100644
index 000000000..8093e2218
Binary files /dev/null and b/htmljs/dist/norwegian/control_s.htm.gz differ
diff --git a/htmljs/dist/norwegian/gravity.htm b/htmljs/dist/norwegian/gravity.htm
new file mode 100644
index 000000000..3b4849ef5
--- /dev/null
+++ b/htmljs/dist/norwegian/gravity.htm
@@ -0,0 +1 @@
+ Enhet egenvekt
\ No newline at end of file
diff --git a/htmljs/dist/norwegian/gravity.htm.gz b/htmljs/dist/norwegian/gravity.htm.gz
new file mode 100644
index 000000000..808a91d58
Binary files /dev/null and b/htmljs/dist/norwegian/gravity.htm.gz differ
diff --git a/htmljs/dist/norwegian/gravity_e32.htm b/htmljs/dist/norwegian/gravity_e32.htm
new file mode 100644
index 000000000..531c0a9dc
--- /dev/null
+++ b/htmljs/dist/norwegian/gravity_e32.htm
@@ -0,0 +1 @@
+ Enhet egenvekt
\ No newline at end of file
diff --git a/htmljs/dist/norwegian/gravity_e32.htm.gz b/htmljs/dist/norwegian/gravity_e32.htm.gz
new file mode 100644
index 000000000..196f06f88
Binary files /dev/null and b/htmljs/dist/norwegian/gravity_e32.htm.gz differ
diff --git a/htmljs/dist/norwegian/index.htm b/htmljs/dist/norwegian/index.htm
new file mode 100644
index 000000000..a0ae7d17a
--- /dev/null
+++ b/htmljs/dist/norwegian/index.htm
@@ -0,0 +1 @@
+ BrewPiLess til tjeneste!
\ No newline at end of file
diff --git a/htmljs/dist/norwegian/index.htm.gz b/htmljs/dist/norwegian/index.htm.gz
new file mode 100644
index 000000000..93fd88f6c
Binary files /dev/null and b/htmljs/dist/norwegian/index.htm.gz differ
diff --git a/htmljs/dist/norwegian/index_s.htm b/htmljs/dist/norwegian/index_s.htm
new file mode 100644
index 000000000..73012bff0
--- /dev/null
+++ b/htmljs/dist/norwegian/index_s.htm
@@ -0,0 +1 @@
+ BrewPiLess til tjeneste!
\ No newline at end of file
diff --git a/htmljs/dist/norwegian/index_s.htm.gz b/htmljs/dist/norwegian/index_s.htm.gz
new file mode 100644
index 000000000..7ae1f8c67
Binary files /dev/null and b/htmljs/dist/norwegian/index_s.htm.gz differ
diff --git a/htmljs/dist/norwegian/logging.htm b/htmljs/dist/norwegian/logging.htm
new file mode 100644
index 000000000..6a96df2eb
--- /dev/null
+++ b/htmljs/dist/norwegian/logging.htm
@@ -0,0 +1 @@
+ Innstilling av BrewPiless Logging
Ledig plass: 0 Bytes, Brukt plass: 0 Bytes, Total plass: 0 Bytes
Innspilt logg
Logg
Dato
Handling
Fjernlogg
Loggperiode:
Sekunder
Tjenestetype:
API Key:
Øl:
Enhet for egenvekt
Skriv API-nøkkel:
Felt:
ID:
Enhetsetikett:
Konto:
Token:
Enhet:
Metode:
URL:
Data Type:
JSON:"application/json", Form Type:"application/x-www-form-urlencoded"
Format:
Notasjoner ... Tegn: 0/256
MQTT-innstillinger
Meglerinnstillinger
MQTT Megler:
MQTT-port:
Brukernavn:
Passord:
Rapportering
Publiser periode
Sekunder
Grunnsti
Rapporter data som
MQTT fjernkontroll
Sti for modus:
Sti for ølSett:
Sti for kjøleskapSet:
Sti for å avdekke kontroll:
Sti for PTC-temperatur:
%b
Øl temperatur
%B
Øl innstilling
%f
Kjøleskapstemperatur
%F
Innstilling av kjøleskap
%r
Romtemperatur
%g
Egenvekt
%p
Platon
%a
iSpindeltemperatur
%v
iSpindelspenning
%t
Vinkelverdi
%u
Unix tidsstempel for siste egenvekts oppdatering
%U
Temperaturenhet
%m
modus i heltall
%M
modus i karakter
%P
Trykk i PSI
%H
Hostname
\ No newline at end of file
diff --git a/htmljs/dist/norwegian/logging.htm.gz b/htmljs/dist/norwegian/logging.htm.gz
new file mode 100644
index 000000000..d32b1a65e
Binary files /dev/null and b/htmljs/dist/norwegian/logging.htm.gz differ
diff --git a/htmljs/dist/norwegian/pressure.htm b/htmljs/dist/norwegian/pressure.htm
new file mode 100644
index 000000000..f3915c9f7
--- /dev/null
+++ b/htmljs/dist/norwegian/pressure.htm
@@ -0,0 +1 @@
+ Trasduttore di pressione impostazioni
\ No newline at end of file
diff --git a/htmljs/dist/norwegian/pressure.htm.gz b/htmljs/dist/norwegian/pressure.htm.gz
new file mode 100644
index 000000000..7981546aa
Binary files /dev/null and b/htmljs/dist/norwegian/pressure.htm.gz differ
diff --git a/htmljs/dist/norwegian/setup.htm b/htmljs/dist/norwegian/setup.htm
new file mode 100644
index 000000000..f50c8c8b4
--- /dev/null
+++ b/htmljs/dist/norwegian/setup.htm
@@ -0,0 +1 @@
+ BrewPiLess oppsett!
CO2 Volume Desired: Beer Temperature: °C Pressure: psi
Comunicando-se com o Brewpiless
Carregar Perfil
ATENÇÃO: Melhore o Perfil de Fermentação.
1. Informando corretamente a OG 2. Ativando o registro de dados local 3. Informando a SG em percentual (%)
Isso ajudará na estabilidade das leituras.
Informe a Densidade Original (OG):
Salval Perfil como
Não é permitido caracteres especiais e espaços.
\ No newline at end of file
diff --git a/htmljs/dist/portuguese-br/control_s.htm.gz b/htmljs/dist/portuguese-br/control_s.htm.gz
index 86157ac4c..3fe722cdc 100644
Binary files a/htmljs/dist/portuguese-br/control_s.htm.gz and b/htmljs/dist/portuguese-br/control_s.htm.gz differ
diff --git a/htmljs/dist/portuguese-br/gravity.htm b/htmljs/dist/portuguese-br/gravity.htm
index 4195020e6..46e4904fb 100644
--- a/htmljs/dist/portuguese-br/gravity.htm
+++ b/htmljs/dist/portuguese-br/gravity.htm
@@ -1,124 +1 @@
- BrewPiLess | Densidade
\ No newline at end of file
diff --git a/htmljs/dist/portuguese-br/gravity.htm.gz b/htmljs/dist/portuguese-br/gravity.htm.gz
index c7d076f2e..e6629461a 100644
Binary files a/htmljs/dist/portuguese-br/gravity.htm.gz and b/htmljs/dist/portuguese-br/gravity.htm.gz differ
diff --git a/htmljs/dist/portuguese-br/index.htm b/htmljs/dist/portuguese-br/index.htm
index f64e6019d..8b0124611 100644
--- a/htmljs/dist/portuguese-br/index.htm
+++ b/htmljs/dist/portuguese-br/index.htm
@@ -1,124 +1 @@
- BrewPiLess em serviço!
Adicionar dados da densidade: Defina Densidade Original (OG):
Entre com o valor da densidade.
°P
~ °P @ °C
Inclinação: SG bruto
Inclinação
SG°P
Calculado
Erro
Ignorado
\ No newline at end of file
diff --git a/htmljs/dist/portuguese-br/index.htm.gz b/htmljs/dist/portuguese-br/index.htm.gz
index 3e6c99fe4..2830db08b 100644
Binary files a/htmljs/dist/portuguese-br/index.htm.gz and b/htmljs/dist/portuguese-br/index.htm.gz differ
diff --git a/htmljs/dist/portuguese-br/index_s.htm b/htmljs/dist/portuguese-br/index_s.htm
index 574f97c7f..6e75e82ad 100644
--- a/htmljs/dist/portuguese-br/index_s.htm
+++ b/htmljs/dist/portuguese-br/index_s.htm
@@ -1,124 +1 @@
- BrewPiLess em serviço!
JSON:"application/json", Form Type:"application/x-www-form-urlencoded"
Formato:
Especificadores de formato... Caracteres: 0/256
MQTT Settings
Broker Settings
MQTT Corretor:
MQTT Porta:
Nome de usuário:
Senha:
Reporting
Publish Period
segundos
Base Path
Report data as
MQTT Controle Remoto
Caminho para o modo:
Caminho para configuração de beerSet:
Caminho para configuração de fridgeSet:
Caminho para controle Válv. CO2:
Caminho para temperatura PTC:
%b
Temp. Cerv.:
%B
SP Cerv.:
%f
Temp. Refrig.:
%F
SP Refrig.:
%r
Temp. Ambiente:
%g
Densidade
%p
Plato
%a
Temp. iSpindel
%v
Voltagem iSpindel
%t
Inclinação
%u
Registro de data/hora da última atualização de densidade
%U
Temperatura em C or F
%m
modo em números inteiros
%M
modo em caracteres especiais
%P
Pressão em PSI
%H
Hostname
\ No newline at end of file
diff --git a/htmljs/dist/portuguese-br/logging.htm.gz b/htmljs/dist/portuguese-br/logging.htm.gz
index dc4808688..a2b5f44bc 100644
Binary files a/htmljs/dist/portuguese-br/logging.htm.gz and b/htmljs/dist/portuguese-br/logging.htm.gz differ
diff --git a/htmljs/dist/portuguese-br/pressure.htm b/htmljs/dist/portuguese-br/pressure.htm
index 5a3f2d715..e94532a8e 100644
--- a/htmljs/dist/portuguese-br/pressure.htm
+++ b/htmljs/dist/portuguese-br/pressure.htm
@@ -1,124 +1 @@
- Configuração Transdutor de Pressão
Stav uzáveru:OtvoriťUzavreté@ gravity <= Manuálne uzavretéManuálne otvorené
HustotaČasManuálne
Uzavrieť, ak je hustota menšia ako
Uzavrieť po
Uzavreté
Poznámka:
Aby pracoval pivný profil správne,
musí byť zadaná pôvodná hustota (OG) ak je SG uvedené ako percento(%), a musí byť aktivované lokálne zaznamenávanie ak sa používa hodnota stabilizovanej hustoty.
Pôvodná hustota (OG):
Komunikujem s riadiacou jednotkou BrewPiLess...
Pridať záznam hustoty: Nastaviť OG:
Prosím, vložte hodnoty hustoty.
°P @ °C
~ °P @ °C
~ °P @ °C
Uložiť profil ako
*Nie sú povolené žiadne špeciálne písmená a medzery.
Načítať profil
X
Náklon
SG °P
Vypočítané
Chyba
Ignorované
\ No newline at end of file
diff --git a/htmljs/dist/slovak/classic-index.htm.gz b/htmljs/dist/slovak/classic-index.htm.gz
deleted file mode 100644
index 4c64e1439..000000000
Binary files a/htmljs/dist/slovak/classic-index.htm.gz and /dev/null differ
diff --git a/htmljs/dist/slovak/classic-log.htm b/htmljs/dist/slovak/classic-log.htm
deleted file mode 100644
index fb5246469..000000000
--- a/htmljs/dist/slovak/classic-log.htm
+++ /dev/null
@@ -1,124 +0,0 @@
- BrewPiless nastavenie záznamov
%b
Teplota piva
%B
Nastavená teplota piva
%f
Teplota chladničky
%F
Nastavená teplota chladničky
%r
Teplota v miestnosti
%g
Hustota
%p
Plato
%a
Teplota iSpindel
%v
Napätie iSpindel
%t
Hodnota naklonenia
%u
Časový údaj poslednej aktualizácie hustoty
%U
Temperature in C or F
%m
mode in integer
%M
mode in character
%P
Pressure in PSI
\ No newline at end of file
diff --git a/htmljs/dist/slovak/classic-log.htm.gz b/htmljs/dist/slovak/classic-log.htm.gz
deleted file mode 100644
index bc161cc49..000000000
Binary files a/htmljs/dist/slovak/classic-log.htm.gz and /dev/null differ
diff --git a/htmljs/dist/slovak/classic-setup.htm b/htmljs/dist/slovak/classic-setup.htm
deleted file mode 100644
index efe734ecd..000000000
--- a/htmljs/dist/slovak/classic-setup.htm
+++ /dev/null
@@ -1 +0,0 @@
- Nastavenie BrewPiLess!
Zoznam zariadení
Nainštalované zariadenie
Zistené zariadenie
Slot zariadenia
Typ hardvéruExterný senzor
PIN riadiacej jednotky
Hodnota--
Funkcia
Slot zariadenia
Typ hardvéruSenzor
Adresa
PIN riadiacej jednotky
Hodnota
Funkcia
Slot zariadenia
Typ hardvéruPIN
Typ pinu
PIN riadiacej jednotky
Hodnota
Funkcia
Slot zariadenia
Typ hardvéru1-vodičový pohon
Adresa
Kanál
PIN riadiacej jednotkyN
Hodnota
Funkcia
Typ pinu
\ No newline at end of file
diff --git a/htmljs/dist/slovak/classic-setup.htm.gz b/htmljs/dist/slovak/classic-setup.htm.gz
deleted file mode 100644
index e620792d9..000000000
Binary files a/htmljs/dist/slovak/classic-setup.htm.gz and /dev/null differ
diff --git a/htmljs/dist/slovak/config.htm b/htmljs/dist/slovak/config.htm
index f7b7cece8..20ff2c92f 100644
--- a/htmljs/dist/slovak/config.htm
+++ b/htmljs/dist/slovak/config.htm
@@ -1,124 +1 @@
- BrewPiLess konfigurácia
Konfigurácia uložená. Počkajte na reštart... (poznámka: ak zmeníte názov hostiteľa, stránka sa znovu nenačíta.)
System Information
MAC Address
Flash Chip ID
Real Flash Size
Specified Flash Size
File System Size
Setting Backup/Restore
Backup Time
nastavenie
hustota
záznamy
tlak
MQTT
konfigurácia
Retriving data...
Sending data to controller...
Restore from
Advanced Settings
tempFormat
tempSettingMin
°
tempSettingMax
°
pidMax
°
Kp
Ki
Kd
iMaxErr
idleRangeH
°
idleRangeL
°
heatTargetH
°
heatTargetL
°
coolTargetH
°
coolTargetL
°
maxHeatTimeForEst
Seconds
maxCoolTimeForEst
Seconds
fridgeFastFilt
fridgeSlowFilt
fridgeSlopeFilt
beerFastFilt
beerSlowFilt
beerSlopeFilt
lightAsHeater
RotaryHalfStep
minCoolTime
Seconds
minCoolIdleTime
Seconds
minHeatTime
Seconds
minHeatIdleTime
Seconds
deadTime
Seconds
\ No newline at end of file
diff --git a/htmljs/dist/slovak/config.htm.gz b/htmljs/dist/slovak/config.htm.gz
index c62bb00ba..34e91dcbb 100644
Binary files a/htmljs/dist/slovak/config.htm.gz and b/htmljs/dist/slovak/config.htm.gz differ
diff --git a/htmljs/dist/slovak/control.htm b/htmljs/dist/slovak/control.htm
index b39f4b8a0..2a9029f69 100644
--- a/htmljs/dist/slovak/control.htm
+++ b/htmljs/dist/slovak/control.htm
@@ -1,124 +1 @@
- Riadiace centrum BrewPiLess!
musí byť zadaná pôvodná hustota (OG) ak je SG uvedené ako percento(%), a musí byť aktivované lokálne zaznamenávanie ak sa používa hodnota stabilizovanej hustoty.
Pôvodná hustota (OG):
Uložiť profil ako
*Nie sú povolené žiadne špeciálne písmená a medzery.
\ No newline at end of file
+ Riadiace centrum BrewPiLess!
musí byť zadaná pôvodná hustota (OG) ak je SG uvedené ako percento(%), a musí byť aktivované lokálne zaznamenávanie ak sa používa hodnota stabilizovanej hustoty.
Pôvodná hustota (OG):
Uložiť profil ako
*Nie sú povolené žiadne špeciálne písmená a medzery.
\ No newline at end of file
diff --git a/htmljs/dist/slovak/control.htm.gz b/htmljs/dist/slovak/control.htm.gz
index d6b2628f5..5f31fad63 100644
Binary files a/htmljs/dist/slovak/control.htm.gz and b/htmljs/dist/slovak/control.htm.gz differ
diff --git a/htmljs/dist/slovak/control_s.htm b/htmljs/dist/slovak/control_s.htm
index 786554b5f..976f9a30a 100644
--- a/htmljs/dist/slovak/control_s.htm
+++ b/htmljs/dist/slovak/control_s.htm
@@ -1,124 +1 @@
- Riadiace centrum BrewPiLess!
musí byť zadaná pôvodná hustota (OG) ak je SG uvedené ako percento(%), a musí byť aktivované lokálne zaznamenávanie ak sa používa hodnota stabilizovanej hustoty.
Pôvodná hustota (OG):
Uložiť profil ako
*Nie sú povolené žiadne špeciálne písmená a medzery.
\ No newline at end of file
+ Riadiace centrum BrewPiLess!
musí byť zadaná pôvodná hustota (OG) ak je SG uvedené ako percento(%), a musí byť aktivované lokálne zaznamenávanie ak sa používa hodnota stabilizovanej hustoty.
Pôvodná hustota (OG):
Uložiť profil ako
*Nie sú povolené žiadne špeciálne písmená a medzery.
\ No newline at end of file
diff --git a/htmljs/dist/slovak/control_s.htm.gz b/htmljs/dist/slovak/control_s.htm.gz
index a30979d28..ff41d9b1e 100644
Binary files a/htmljs/dist/slovak/control_s.htm.gz and b/htmljs/dist/slovak/control_s.htm.gz differ
diff --git a/htmljs/dist/slovak/gravity.htm b/htmljs/dist/slovak/gravity.htm
index fe9ed2a4c..0606d3e3f 100644
--- a/htmljs/dist/slovak/gravity.htm
+++ b/htmljs/dist/slovak/gravity.htm
@@ -1,124 +1 @@
- Zariadenie na meranie hustoty
\ No newline at end of file
diff --git a/htmljs/dist/slovak/gravity.htm.gz b/htmljs/dist/slovak/gravity.htm.gz
index 05e799199..d85533df1 100644
Binary files a/htmljs/dist/slovak/gravity.htm.gz and b/htmljs/dist/slovak/gravity.htm.gz differ
diff --git a/htmljs/dist/slovak/index.htm b/htmljs/dist/slovak/index.htm
index 12927b234..c97723932 100644
--- a/htmljs/dist/slovak/index.htm
+++ b/htmljs/dist/slovak/index.htm
@@ -1,124 +1 @@
- BrewPiLess v prevádzke!
gravity <= after Manuálne uzavretéManuálne otvorené
Pressure psi
Systém:
Zapisujem záznam:
WiFi:
Dátum / Čashodnota
--
--
--
--
--
--
--
--
--
--
--
--
--
--
f
čaká na aktualizáciu zo skriptu ...
Nepodarilo sa pripojiť k serveru.
Riadiaca jednotka neaktualizuje údaje.
Komunikujem s riadiacou jednotkou BrewPiLess...
Pridať záznam hustoty: Nastaviť OG:
Prosím, vložte hodnoty hustoty.
°P
~ °P @ °C
Náklon: nespracované SG
Náklon
SG°P
Vypočítané
Chyba
Ignorované
\ No newline at end of file
diff --git a/htmljs/dist/slovak/index.htm.gz b/htmljs/dist/slovak/index.htm.gz
index 3d5bc7847..5daf780bc 100644
Binary files a/htmljs/dist/slovak/index.htm.gz and b/htmljs/dist/slovak/index.htm.gz differ
diff --git a/htmljs/dist/slovak/index_s.htm b/htmljs/dist/slovak/index_s.htm
index d479e6e35..072e96d03 100644
--- a/htmljs/dist/slovak/index_s.htm
+++ b/htmljs/dist/slovak/index_s.htm
@@ -1,124 +1 @@
- BrewPiLess v prevádzke!
Estado del tapón:AbiertoTapado@ gravity <= Tapado ManualAbierto Manual
DensidadTiempoManual
Tapar cuando la densidad sea menor a:
Tapar a partir de:
Tapado
Nota:
Para que el perfil de cerveza funcione correctamente:
Se debe especificar la gravedad original (OG) si SG es especificada como porcentaje(%), y El registro local de datos debe estar activado si se usa la lectura de la densidad estabilizada.
Densidad Original (OG):
Comunicándose con el controlador BrewPiLess...
Agregar registro de densidad: Establecer densidad Original (OG):
Ingrese el valor de densidad.
°P @ °C
~ °P @ °C
~ °P @ °C
Guardar perfil como...
No se permiten caracteres especiales ni espacios.
Cargar Perfil
X
Inclinación
SG °P
Calculado
Error
Ignorado
\ No newline at end of file
diff --git a/htmljs/dist/spanish/classic-index.htm.gz b/htmljs/dist/spanish/classic-index.htm.gz
deleted file mode 100644
index 0b430d5c0..000000000
Binary files a/htmljs/dist/spanish/classic-index.htm.gz and /dev/null differ
diff --git a/htmljs/dist/spanish/classic-log.htm b/htmljs/dist/spanish/classic-log.htm
deleted file mode 100644
index 4f73c9dbf..000000000
--- a/htmljs/dist/spanish/classic-log.htm
+++ /dev/null
@@ -1,124 +0,0 @@
- Configuración de registro BrewPiless
%b
Temp. Cerveza
%B
Seteo Cerveza
%f
Temp. Nevera
%F
Seteo Nevera
%r
Temp. habitación
%g
Densidad
%p
Plato
%a
Temp. iSpindel
%v
Voltage iSpindel
%t
Inclinación
%u
Unix timestamp de la última medición de densidad
%U
Temperature in C or F
%m
mode in integer
%M
mode in character
%P
Pressure in PSI
\ No newline at end of file
diff --git a/htmljs/dist/spanish/classic-log.htm.gz b/htmljs/dist/spanish/classic-log.htm.gz
deleted file mode 100644
index 94b55147c..000000000
Binary files a/htmljs/dist/spanish/classic-log.htm.gz and /dev/null differ
diff --git a/htmljs/dist/spanish/classic-setup.htm b/htmljs/dist/spanish/classic-setup.htm
deleted file mode 100644
index bad8d9a3d..000000000
--- a/htmljs/dist/spanish/classic-setup.htm
+++ /dev/null
@@ -1 +0,0 @@
- Ajustes BrewPiLess!
Lista de dispositivos
Dispositivos instalados
Dispositivos detectados
Slot dispositivo
Hardware tipoSensor externo
PIN del controlador
Valor--
Función
Slot dispositivo
Hardware tipoSensor
Direccion
PIN del controlador
Valor
Función
Slot dispositivo
Hardware tipoPIN
Pin tipo
PIN del controlador
Valor
Función
Slot dispositivo
Hardware tipoActuador 1-wire
Direccion
Canal
PIN del controladorN
Valor
Función
Pin tipo
\ No newline at end of file
diff --git a/htmljs/dist/spanish/classic-setup.htm.gz b/htmljs/dist/spanish/classic-setup.htm.gz
deleted file mode 100644
index d1777b8e4..000000000
Binary files a/htmljs/dist/spanish/classic-setup.htm.gz and /dev/null differ
diff --git a/htmljs/dist/spanish/config.htm b/htmljs/dist/spanish/config.htm
index 352ae7075..8d087bfb2 100644
--- a/htmljs/dist/spanish/config.htm
+++ b/htmljs/dist/spanish/config.htm
@@ -1,124 +1 @@
- Configuración BrewPiLess
Configuración guardada. Espere a reiniciar... (nota: si se cambia el nombre del servidor, la página no se volverá a cargar.)
System Information
MAC Address
Flash Chip ID
Real Flash Size
Specified Flash Size
File System Size
Setting Backup/Restore
Backup Time
ajustes
densidad
registro
presión
MQTT
configuración
Retriving data...
Sending data to controller...
Restore from
Advanced Settings
tempFormat
tempSettingMin
°
tempSettingMax
°
pidMax
°
Kp
Ki
Kd
iMaxErr
idleRangeH
°
idleRangeL
°
heatTargetH
°
heatTargetL
°
coolTargetH
°
coolTargetL
°
maxHeatTimeForEst
Seconds
maxCoolTimeForEst
Seconds
fridgeFastFilt
fridgeSlowFilt
fridgeSlopeFilt
beerFastFilt
beerSlowFilt
beerSlopeFilt
lightAsHeater
RotaryHalfStep
minCoolTime
Seconds
minCoolIdleTime
Seconds
minHeatTime
Seconds
minHeatIdleTime
Seconds
deadTime
Seconds
\ No newline at end of file
diff --git a/htmljs/dist/spanish/config.htm.gz b/htmljs/dist/spanish/config.htm.gz
index b58d9d04a..4197fdef8 100644
Binary files a/htmljs/dist/spanish/config.htm.gz and b/htmljs/dist/spanish/config.htm.gz differ
diff --git a/htmljs/dist/spanish/control.htm b/htmljs/dist/spanish/control.htm
index 72825f8e8..1cd11790f 100644
--- a/htmljs/dist/spanish/control.htm
+++ b/htmljs/dist/spanish/control.htm
@@ -1,124 +1 @@
- BrewPiLess centro de control!
Para que el perfil de cerveza funcione correctamente:
Se debe especificar la gravedad original (OG) si SG es especificada como porcentaje(%), y El registro local de datos debe estar activado si se usa la lectura de la densidad estabilizada.
Densidad Original (OG):
Guardar perfil como...
No se permiten caracteres especiales ni espacios.
\ No newline at end of file
+ BrewPiLess centro de control!
CO2 Volume Desired: Beer Temperature: °C Pressure: psi
Comunicándose con el controlador BrewPiLess...
Cargar Perfil
Nota:
Para que el perfil de cerveza funcione correctamente:
Se debe especificar la gravedad original (OG) si SG es especificada como porcentaje(%), y El registro local de datos debe estar activado si se usa la lectura de la densidad estabilizada.
Densidad Original (OG):
Guardar perfil como...
No se permiten caracteres especiales ni espacios.
\ No newline at end of file
diff --git a/htmljs/dist/spanish/control.htm.gz b/htmljs/dist/spanish/control.htm.gz
index c669aff45..43223da42 100644
Binary files a/htmljs/dist/spanish/control.htm.gz and b/htmljs/dist/spanish/control.htm.gz differ
diff --git a/htmljs/dist/spanish/gravity.htm b/htmljs/dist/spanish/gravity.htm
index 4a93a69e5..c896b4db9 100644
--- a/htmljs/dist/spanish/gravity.htm
+++ b/htmljs/dist/spanish/gravity.htm
@@ -1,124 +1 @@
- Densímetro
Agregar registro de densidad: Establecer densidad Original (OG):
Ingrese el valor de densidad.
°P
~ °P @ °C
Inclinación: SG crudo
Inclinación
SG°P
Calculado
Error
Ignorado
\ No newline at end of file
diff --git a/htmljs/dist/spanish/index.htm.gz b/htmljs/dist/spanish/index.htm.gz
index af3e765c0..ec358416f 100644
Binary files a/htmljs/dist/spanish/index.htm.gz and b/htmljs/dist/spanish/index.htm.gz differ
diff --git a/htmljs/dist/spanish/logging.htm b/htmljs/dist/spanish/logging.htm
index 612fe9415..300b2e274 100644
--- a/htmljs/dist/spanish/logging.htm
+++ b/htmljs/dist/spanish/logging.htm
@@ -1,124 +1 @@
- Configuración de registro BrewPiless