store names and ut/ot values in internal storage load on boot data from internal storage if set, else fall back to settings.h values
62 lines
1.7 KiB
C++
62 lines
1.7 KiB
C++
#include "Truhe.h"
|
|
Truhe::Truhe(String name, int relay, uint8_t sensorpin){
|
|
_name = name;
|
|
_relay = relay;
|
|
_sensorpin = sensorpin;
|
|
_oneWire = OneWire(sensorpin);
|
|
_sensors = DallasTemperature(&_oneWire);
|
|
|
|
};
|
|
|
|
void Truhe::setup(String name, int uT, int oT) {
|
|
_name = name;
|
|
Serial.println("Setup " + _name);
|
|
Serial.println(_sensorpin);
|
|
_uT = uT;
|
|
_oT = oT;
|
|
pinMode(_relay, OUTPUT);
|
|
digitalWrite(_relay, HIGH);
|
|
pinMode(_sensorpin, INPUT);
|
|
_sensors.begin();
|
|
}
|
|
|
|
void Truhe::mess() {
|
|
Serial.println(String(_name) + " mess()");
|
|
_sensors.requestTemperatures();
|
|
_cur_temp = _sensors.getTempCByIndex(0);
|
|
// Check if reading was successful
|
|
if(_cur_temp != DEVICE_DISCONNECTED_C)
|
|
{
|
|
Serial.println(String(_name) + "\t\t" + String((int)_cur_temp) + " grad gelesen");
|
|
}
|
|
else
|
|
{
|
|
Serial.println("Error: Could not read temperature data: "+ String(_name));
|
|
_cur_temp = 99; // Liewer warmes bier als garkenn bier
|
|
_stat = 2;
|
|
}
|
|
};
|
|
|
|
void Truhe::schalt() {
|
|
Serial.println(String(_name) + " schalt() stat: " + String(_stat));
|
|
if (_cur_temp >= _oT && _stat != 1 && _stat != 2) {
|
|
digitalWrite(_relay, LOW);
|
|
_stat = 1;
|
|
Serial.println("schalt " + _name + " zu " + String(_stat));
|
|
}
|
|
else if (_cur_temp <= _uT && _stat != 0 && _stat != 2) {
|
|
digitalWrite(_relay, HIGH);
|
|
_stat = 0;
|
|
Serial.println("schalt " + _name + " zu " + String(_stat));
|
|
}
|
|
}
|
|
int Truhe::getUpdLcd(){ return _updlcd;};
|
|
void Truhe::setUpdLcd(int updlcd){ _updlcd = updlcd;};
|
|
int Truhe::getRelay(){ return _relay;};
|
|
int Truhe::getSensorPin(){return _sensorpin;};
|
|
int Truhe::getStat(){return _stat;};
|
|
int Truhe::getCurTemp(){return int(_cur_temp);};
|
|
String Truhe::getName(){return _name;};
|
|
int Truhe::getuT(){return _uT;};
|
|
int Truhe::getoT(){return _oT;};
|