thermostat_data_save_load.ino 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. #ifdef FIRMWARE_VARIANT_THERMOSTAT
  2. void thermostat_loadSavedValues()
  3. {
  4. thermostat_loadSetTemp();
  5. thermostat_loadSetTempLow();
  6. thermostat_loadSetTempLow2();
  7. thermostat_loadHeatingMode();
  8. thermostat_loadPreset();
  9. }
  10. void thermostat_saveValues()
  11. {
  12. sendLog(F("TSTAT: saving values..."));
  13. thermostat_saveSetTemp();
  14. yield();
  15. thermostat_saveSetTempLow();
  16. yield();
  17. thermostat_saveSetTempLow2();
  18. yield();
  19. thermostat_saveHeatingMode();
  20. yield();
  21. sendLog(F("TSTAT: saved values to FS - DONE"));
  22. }
  23. bool thermostat_saveSetTemp()
  24. {
  25. File configFile = LittleFS.open("/setTemp", "w");
  26. if (!configFile)
  27. {
  28. sendLog(F("Failed to write file /setTemp"), LOGLEVEL_ERROR);
  29. return false;
  30. }
  31. configFile.println(thermostat_setTemp);
  32. configFile.close();
  33. thermostat_setTempSaved = thermostat_setTemp;
  34. return true;
  35. } // thermostat_saveSetTemp
  36. bool thermostat_saveSetTempLow()
  37. {
  38. File configFile = LittleFS.open("/setTempLow", "w");
  39. if (!configFile)
  40. {
  41. sendLog(F("Failed to write file /setTempLow"), LOGLEVEL_ERROR);
  42. return false;
  43. }
  44. configFile.println(thermostat_setTempLow);
  45. configFile.close();
  46. thermostat_setTempLowSaved = thermostat_setTempLow;
  47. return true;
  48. } // saveSetTempLow
  49. bool thermostat_saveSetTempLow2()
  50. {
  51. File configFile = LittleFS.open("/setTempLow2", "w");
  52. if (!configFile)
  53. {
  54. sendLog(F("Failed to write file setTempLow2"), LOGLEVEL_ERROR);
  55. return false;
  56. }
  57. configFile.println(thermostat_setTempLow2);
  58. configFile.close();
  59. thermostat_setTempLow2Saved = thermostat_setTempLow2;
  60. return true;
  61. } // thermostat_saveSetTempLow
  62. bool thermostat_saveHeatingMode()
  63. {
  64. File configFile = LittleFS.open("/heatingMode", "w");
  65. if (!configFile)
  66. {
  67. sendLog(F("Failed to write file /heatingMode"), LOGLEVEL_ERROR);
  68. return false;
  69. }
  70. configFile.println(thermostat_heatingMode);
  71. configFile.close();
  72. thermostat_heatingModeSaved = thermostat_heatingMode;
  73. return true;
  74. } // thermostat_saveHeatingMode
  75. bool thermostat_savePreset()
  76. {
  77. File configFile = LittleFS.open("/preset", "w");
  78. if (!configFile)
  79. {
  80. sendLog(F("Failed to write file /preset"), LOGLEVEL_ERROR);
  81. return false;
  82. }
  83. configFile.println(thermostat_preset);
  84. configFile.close();
  85. thermostat_presetSaved = thermostat_preset;
  86. return true;
  87. } // thermostat_savePreset
  88. bool thermostat_loadSetTemp()
  89. {
  90. File configFile = LittleFS.open("/setTemp", "r");
  91. if (!configFile)
  92. {
  93. Serial.println(F("NOTE: Failed to open file /setTemp"));
  94. return false;
  95. }
  96. String s = configFile.readStringUntil('\n');
  97. configFile.close();
  98. float _tmpSetTemp = s.toFloat();
  99. if (_tmpSetTemp >= confTherm.setTempMin && _tmpSetTemp <= confTherm.setTempMax)
  100. {
  101. thermostat_setTemp = _tmpSetTemp;
  102. thermostat_setTempSaved = _tmpSetTemp;
  103. return true;
  104. }
  105. else
  106. return false;
  107. } // thermostat_loadSetTemp
  108. bool thermostat_loadSetTempLow()
  109. {
  110. File configFile = LittleFS.open("/setTempLow", "r");
  111. if (!configFile)
  112. {
  113. Serial.println(F("NOTE: Failed to open file /setTempLow"));
  114. return false;
  115. }
  116. String s = configFile.readStringUntil('\n');
  117. configFile.close();
  118. float _tmpSetTempLow = s.toFloat();
  119. if (_tmpSetTempLow >= thermostat_setTempLowMin && _tmpSetTempLow <= thermostat_setTempLowMax)
  120. {
  121. thermostat_setTempLow = _tmpSetTempLow;
  122. thermostat_setTempLowSaved = _tmpSetTempLow;
  123. return true;
  124. }
  125. else
  126. return false;
  127. } // thermostat_loadSetTempLow
  128. bool thermostat_loadSetTempLow2()
  129. {
  130. File configFile = LittleFS.open("/setTempLow2", "r");
  131. if (!configFile)
  132. {
  133. Serial.println(F("NOTE: Failed to open file /setTempLow2"));
  134. return false;
  135. }
  136. String s = configFile.readStringUntil('\n');
  137. configFile.close();
  138. float _tmpSetTempLow2 = s.toFloat();
  139. if (_tmpSetTempLow2 >= thermostat_setTempLowMin && _tmpSetTempLow2 <= thermostat_setTempLowMax)
  140. {
  141. thermostat_setTempLow2 = _tmpSetTempLow2;
  142. thermostat_setTempLow2Saved = _tmpSetTempLow2;
  143. return true;
  144. }
  145. else
  146. return false;
  147. } // thermostat_loadSetTempLow2
  148. bool thermostat_loadHeatingMode()
  149. {
  150. File configFile = LittleFS.open("/heatingMode", "r");
  151. if (!configFile)
  152. {
  153. Serial.println(F("NOTE: Failed to open file /heatingMode"));
  154. return false;
  155. }
  156. String s = configFile.readStringUntil('\n');
  157. configFile.close();
  158. int _tmpHeatingMode = s.toInt();
  159. if (_tmpHeatingMode >= 0 && _tmpHeatingMode <= 1)
  160. {
  161. thermostat_heatingMode = _tmpHeatingMode;
  162. thermostat_heatingModeSaved = _tmpHeatingMode;
  163. return true;
  164. }
  165. else
  166. return false;
  167. } // thermostat_loadHeatingMode
  168. bool thermostat_loadPreset()
  169. {
  170. File configFile = LittleFS.open("/preset", "r");
  171. if (!configFile)
  172. {
  173. Serial.println(F("NOTE: Failed to open file /preset"));
  174. return false;
  175. }
  176. String s = configFile.readStringUntil('\n');
  177. configFile.close();
  178. int _tmpPreset = s.toInt();
  179. if (_tmpPreset >= 0 && _tmpPreset <= 2)
  180. {
  181. thermostat_preset = _tmpPreset;
  182. thermostat_presetSaved = _tmpPreset;
  183. return true;
  184. }
  185. else
  186. return false;
  187. } // thermostat_loadPreset
  188. #endif