From 4619ce1d1731590479a7505975c89b4f14c2e1d0 Mon Sep 17 00:00:00 2001 From: Chris Giacofei Date: Wed, 25 Jan 2023 21:41:56 -0500 Subject: [PATCH 1/8] Well it compiles. --- .gitignore | 2 +- MakefileGlobal.mk | 2 +- bin/FermController.ino.bin | Bin 293208 -> 0 bytes lib/Device/Device.cpp | 358 -------------------------- lib/Device/Device.h | 15 +- lib/global/global.h | 17 -- src/FermController/FermController.ino | 11 +- src/FermController/device.h | 79 ------ 8 files changed, 14 insertions(+), 470 deletions(-) delete mode 100644 bin/FermController.ino.bin delete mode 100644 lib/Device/Device.cpp delete mode 100644 lib/global/global.h delete mode 100644 src/FermController/device.h diff --git a/.gitignore b/.gitignore index e9e2ef2..c23d77e 100755 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ .DS_Store -bin/*/ +bin/* *build-* *build* *~ diff --git a/MakefileGlobal.mk b/MakefileGlobal.mk index 5de1361..64ab427 100644 --- a/MakefileGlobal.mk +++ b/MakefileGlobal.mk @@ -73,4 +73,4 @@ $(TARGET_DIR)/$(BIN): $(SRC) $(HDRS) $(BIN_DIR)/$(BIN): $(TARGET_DIR)/$(BIN) @ echo "$(BIN) $(BIN_DIR)/" - @ mv $(TARGET_DIR)/$(BIN) $(BIN_DIR)/ + @ cp $(TARGET_DIR)/$(BIN) $(BIN_DIR)/ diff --git a/bin/FermController.ino.bin b/bin/FermController.ino.bin deleted file mode 100644 index 9557f2bc559e9ff3e4c02009235a22a1b530d1c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 293208 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ܷO#5rRUicH0?+AA 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 diff --git a/lib/Device/Device.cpp b/lib/Device/Device.cpp deleted file mode 100644 index ea0008e..0000000 --- a/lib/Device/Device.cpp +++ /dev/null @@ -1,358 +0,0 @@ - -#include "Device.h" - -Device::Device(const uint8_t _pin_cool, const uint8_t _pin_heat, const uint8_t _pin_wire) { - this->_pin_cool = _pin_cool; - this->_pin_heat = _pin_heat; - this->_pin_wire = _pin_wire; -} - -void Device::CoolSet(bool set_state) { - // Set pin state - if (set_state) { - Serial.println("Starting cooling."); - strcpy(_curr_action, ACTION_COOLING); - SendState(ACTION_TPC, _curr_action); - digitalWrite(_pin_heat, LOW); // Just to be sure. - digitalWrite(_pin_cool, HIGH); - } else { - Serial.println("Stopping cooling."); - strcpy(_curr_action, ACTION_IDLE); - SendState(ACTION_TPC, _curr_action); - digitalWrite(_pin_cool, LOW); - digitalWrite(_pin_heat, LOW); - } -} - -void Device::HeatSet(bool set_state) { - if (set_state) { - Serial.println("Starting heat."); - strcpy(_curr_action, ACTION_HEATING); - SendState(ACTION_TPC, _curr_action); - digitalWrite(_pin_cool, LOW); // Just to be sure. - digitalWrite(_pin_heat, HIGH); - } else { - Serial.println("Stopping heat."); - strcpy(_curr_action, ACTION_IDLE); - SendState(ACTION_TPC, _curr_action); - digitalWrite(_pin_cool, LOW); - digitalWrite(_pin_heat, LOW); - } -} - -void Device::Hyst(float new_value){ - _hyst = new_value; -} - -float Device::Hyst(){ - return _hyst; -} - -void Device::Update(){ - float currentMillis = millis(); - - //Read temp sensor. - if (currentMillis - _lastSensor >= _sensor_period) { - //Read temperature from DS18b20 - float tempC = _sensors.getTempC(_ds_serial); - if (tempC == DEVICE_DISCONNECTED_C) { - Serial.println("Error: Could not read temperature data"); - } else { - _curr_temp = DallasTemperature::toFahrenheit(tempC); - } - } - - // Some helpful variables. - bool heating = _curr_action==ACTION_HEATING; - bool cooling = _curr_action==ACTION_COOLING; - bool running = (heating || cooling); - - // Adjust cool/heat on or off - if (_mode == "cool"){ - if (_curr_temp > _temp + _hyst && !cooling) { - CoolSet(true); - } else if (_curr_temp <= _temp && cooling) { - CoolSet(false); - } - } else if (_mode == "heat"){ - if (_curr_temp < _temp - _hyst && !heating) { - HeatSet(true); - } else if (_curr_temp >= _temp && heating) { - HeatSet(false); - } - } else if (_mode == "auto"){ - if ((_curr_temp < _temp_lo - _hyst) && !heating) { - HeatSet(true); - } else if ((_curr_temp > _temp_hi + _hyst) && !cooling) { - CoolSet(true); - } else if (running && (_curr_temp >= _temp_lo) && (_curr_temp <= _temp_hi)) { - if (heating) HeatSet(false); - if (cooling) CoolSet(false); - } - } else { - // IS OFF - if (heating) HeatSet(false); - if (cooling) CoolSet(false); - } - - //Send Data to broker - if (currentMillis - _lastSend >= _send_period) { - // Time's up, send data - char temp[7]; - dtostrf(_curr_temp, 6, 2, temp); - SendState(TEMP_CURRENT, temp); - _lastSend = currentMillis; - } - - _mqtt_client.loop(); -} - -void Device::AttachNet(WiFiClient &network) { - this->_net = network; - this->_mqtt_client.setClient(_net); - this->_mqtt_client.setBufferSize(DOC_SIZE); -} - -void Device::AttachSensor(DallasTemperature &sensors, uint8_t serial[8]){ - _sensors = sensors; - _ds_serial = serial; -} - -//void Device::topicRoot(const String &root) { _device_prefix = root; } -//byte* Device::topicRoot() { return _device_prefix; } - -void Device::SendConfig(char* broker, char* name, String &chipid, bool multimode) { - String name_slug = slugify(name); - String CMD_TPL = "{{ value }}"; - String STAT_TPL = "{{ value_json }}"; - - _topic_root = ROOT + name_slug; - - String _config_topic = CONFIG_ROOT + name_slug + "_" + chipid + "/config"; - - StaticJsonDocument payload_doc; - payload_doc["uniq_id"] = chipid + "_" + name_slug; - payload_doc["name"] = name; - payload_doc["temp_unit"] = "F"; - payload_doc["max_temp"] = _max_temp; - payload_doc["min_temp"] = _min_temp; - payload_doc["initial"] = _init_temp; - - // Action Topic - payload_doc["action_topic"] = _topic_root + ACTION_TPC; - payload_doc["action_template"] = STAT_TPL; - - // Mode setup - payload_doc["mode_cmd_t"] = _topic_root + MODE_SET; - payload_doc["mode_cmd_tpl"] = CMD_TPL; - payload_doc["mode_stat_t"] = _topic_root + MODE_STATE; - payload_doc["mode_stat_tpl"] = STAT_TPL; - - JsonArray modes = payload_doc.createNestedArray("modes"); - modes.add("off"); - modes.add("cool"); - - payload_doc["temp_cmd_t"] = _topic_root + TEMP_SET; - payload_doc["temp_cmd_tpl"] = CMD_TPL; - payload_doc["temp_stat_t"] = _topic_root + TEMP_STATE; - payload_doc["temp_stat_tpl"] = STAT_TPL; - - payload_doc["curr_temp_t"] = _topic_root + TEMP_CURRENT; - payload_doc["curr_temp_tpl"] = CMD_TPL; - - if (multimode) { - payload_doc["temp_hi_cmd_t"] = _topic_root + TEMP_HI_SET; - payload_doc["temp_hi_cmd_tpl"] = CMD_TPL; - payload_doc["temp_hi_stat_t"] = _topic_root + TEMP_HI_STATE; - payload_doc["temp_hi_stat_tpl"] = STAT_TPL; - - payload_doc["temp_lo_cmd_t"] = _topic_root + TEMP_LO_SET; - payload_doc["temp_lo_cmd_tpl"] = CMD_TPL; - payload_doc["temp_lo_stat_t"] = _topic_root + TEMP_LO_STATE; - payload_doc["temp_lo_stat_tpl"] = STAT_TPL; - - modes.add("heat"); - modes.add("auto"); - } - - // Attach Device - JsonObject dev = payload_doc.createNestedObject("dev"); - dev["name"] = DEVICE_NAME; - dev["mdl"] = DEVICE_MDL; - dev["sw"] = String(version); - dev["mf"] = DEVICE_MF; - JsonArray ids = dev.createNestedArray("ids"); - ids.add(chipid); - - String payload; - serializeJson(payload_doc, payload); - - - bool response = ConnectMQTT(broker, MQTT_NAME, MQTT_USER, MQTT_PASSWORD); - if (response) { - _mqtt_client.publish(_config_topic.c_str(), payload.c_str(), MSG_RETAIN); - _mqtt_client.loop(); - } - - _mqtt_client.subscribe((_topic_root + MODE_SET).c_str()); - _mqtt_client.subscribe((_topic_root + TEMP_SET).c_str()); - if (multimode) { - _mqtt_client.subscribe((_topic_root + TEMP_HI_SET).c_str()); - _mqtt_client.subscribe((_topic_root + TEMP_LO_SET).c_str()); - } - - _mqtt_client.loop(); -} - -void Device::_Temp(byte value){ - Serial.print("Set Temp"); - _temp = value; - SendState(TEMP_STATE, (char*)value); -} -void Device::_Mode(char* value){ - Serial.print("Set Mode"); - strcpy(_mode, value); - SendState(MODE_STATE, (char*)value); -} -void Device::_TempHi(byte value){ - Serial.print("Set High Temp"); - _temp_hi = value; - SendState(TEMP_HI_STATE, (char*)value); -} -void Device::_TempLo(byte value){ - Serial.print("Set Low Temp"); - _temp_lo = value; - SendState(TEMP_LO_STATE, (char*)value); -} - -void Device::SendState(String suffix, String payload){ - String topic = _topic_root + suffix; - - _mqtt_client.publish(topic.c_str(), payload.c_str(), MSG_RETAIN); -} - -/** Callback function for MQTT client. - Looks up a command function based on topic and executes it. - - @param topic - @param payload - @param length -*/ -void Device::_mqttCallback(char *topic, uint8_t *payload, unsigned int length) { - char data [16] = {'\0'}; - - // Remove root from the incoming topic. - char suffix[100] = topic[_topic_root.length()]; - Serial.print("Incoming topic -> "); - Serial.print(suffix); - Serial.print(": "); - int i; - - for (i; i < length; i++) - { - data[i] = ((char)payload[i]); - Serial.print(data[i]); - } - data[i] = '\0'; - - switch (suffix) { - - case MODE_SET: - _Mode(data); - break; - - case TEMP_SET: - _Temp(atoi(data)); - break; - - case TEMP_LO_SET: - _TempLo(atoi(data)); - break; - - case TEMP_HI_SET: - _TempHi(atoi(data)); - break; - - default: - Serial.println("Command function not found for " + String(topic)); - } - -} - -/** Connect to MQTT broker. - - @param server IP address string of the server. - @param name the name used for this connection - @param user MQTT broker username - @param password MQTT broker password - @return boolean indicating success or failure of connection. -*/ -bool Device::ConnectMQTT(const String &server, const String &name, const String &user, const String &password) { - - _mqtt_client.setServer((server.c_str(), 1883); - _mqtt_client.setCallback(&Device::_mqttCallback); - - byte i = 0; - - if (_mqtt_client.connected()) return true; - - while (!_mqtt_client.connected() && (i < 3)) { - Serial.println("Attempt MQTT Connection."); - boolean ret; - ret = _mqtt_client.connect(name.c_str(), user.c_str(), password.c_str()); - if (ret) { - Serial.println("Connected to MQTT"); - return true; - - } else { - int Status = _mqtt_client.state(); - - switch (Status) - { - case -4: - Serial.println(F("Connection timeout")); - break; - - case -3: - Serial.println(F("Connection lost")); - break; - - case -2: - Serial.println(F("Connect failed")); - break; - - case -1: - Serial.println(F("Disconnected")); - break; - - case 1: - Serial.println(F("Bad protocol")); - break; - - case 2: - Serial.println(F("Bad client ID")); - break; - - case 3: - Serial.println(F("Unavailable")); - break; - - case 4: - Serial.println(F("Bad credentials")); - break; - - case 5: - Serial.println(F("Unauthorized")); - break; - } - - } - - Serial.print("."); - i++; - delay(5000); - } - - return false; - -} diff --git a/lib/Device/Device.h b/lib/Device/Device.h index 6983304..7d65365 100644 --- a/lib/Device/Device.h +++ b/lib/Device/Device.h @@ -53,13 +53,13 @@ const char version[] = "0.0.1"; #define TOPIC_LIMIT 4 -//COMMAND_SIGNATURE void (*commandFunction)(uint8_t*) // https://forum.arduino.cc/t/assignment-of-function/528949/3 -//CALLBACK_SIGNATURE void (*callback)(char*, uint8_t*, unsigned int) +typedef void (*ptr)(uint8_t*); +//typedef ptr (*pm)(); const size_t DOC_SIZE = JSON_OBJECT_SIZE(29) + JSON_ARRAY_SIZE(4); struct CommandTopic { - void (*cmd)(byte*); + ptr CmdFunc; String CmdTopic; }; @@ -69,13 +69,18 @@ struct ControlDevice { CommandTopic command_topics[TOPIC_LIMIT]; }; -void (*cmd)(byte*) CmdLookup(String command_topic, ControlDevice devices[], int device_count) { +ptr CmdLookup(String lookup_topic, ControlDevice devices[], int device_count) { for (int i=0;iCmdTopic == command_topic) return this_device.command_topics[j]->cmd; + CommandTopic this_topic = this_device.command_topics[j]; + String topic = this_topic.CmdTopic; + if (topic == lookup_topic) { + return this_topic.CmdFunc; + } } } + return 0; } #endif diff --git a/lib/global/global.h b/lib/global/global.h deleted file mode 100644 index d712593..0000000 --- a/lib/global/global.h +++ /dev/null @@ -1,17 +0,0 @@ -/* This file is all the stuff I want to be -able to change without having to update the -source repository. -*/ - -#ifndef GLOBAL_H -#define GLOBAL_H - -#define DEVICE_SW "0.0.1" -auto chipid = String(ESP.getChipId(), HEX); - -#define DEVICE_NAME "Glycol Chiller" -#define DEVICE_MDL "Chillenator v0.1" -#define DEVICE_MF "Damn Yankee Brewing" -#define FERMENTER_COUNT 2 - -#endif diff --git a/src/FermController/FermController.ino b/src/FermController/FermController.ino index dd535e7..37d8141 100644 --- a/src/FermController/FermController.ino +++ b/src/FermController/FermController.ino @@ -4,8 +4,9 @@ // My Libraries #include -#include +#include #include +#include String chiller_state = "idle"; int tank_setpoint = 28; @@ -24,12 +25,6 @@ void mqttCallback(char *topic, byte *payload, unsigned int length) { Communicator hass_comm = Communicator(net, &mqttCallback); -String slugify(String input) { - input.toLowerCase(); - input.replace(" ", "_"); - return input; -} - void merge(JsonObject dest, JsonObjectConst src) { for (auto kvp : src) { dest[kvp.key()] = kvp.value(); @@ -41,8 +36,6 @@ void merge(JsonObject dest, JsonObjectConst src) { * Using climate device. */ void climateDevice(String name, boolean multimode=false) { - auto chipid = String(ESP.getChipId(), HEX); - String name_slug = slugify(name); String config_topic = "homeassistant/climate/" + name_slug + "_" + chipid + "/config"; diff --git a/src/FermController/device.h b/src/FermController/device.h deleted file mode 100644 index 621d682..0000000 --- a/src/FermController/device.h +++ /dev/null @@ -1,79 +0,0 @@ -#include - -class Device { - public: - - String device_topic; - Communicator hass_comm; - - Device(Communicator& comm, String topic) { - this->hass_comm = comm; - this->device_topic = topic; - } - - - void addParameter(String id, String value){ - _params[_paramcount] = Parameter(id, value); - _paramcount++ - } - - void attachEntity(Entity entity){ - _entities[_entitycount] = entity; - _entitycount++; - } - - void registerDevice(){ - - for (int i=0;i<_entitycount;i++){ - StaticJsonDocument<512> doc; - for (int j=0;j<_entities[i].paramcount;j++) { - doc[_entities[i].params[j].getID()] = _entities[i].params[j].getValue(); - } - } - JsonObject dev = doc.createNestedObject("dev"); - for (int i=0; i<_paramcount;i++) { - dev[_params[j].getID()] = _params[j].getValue(); - } - - //Register - hass_comm.mqtt_discovery(device_topic, doc); - } - - private: - Parameter _params[]; - int _paramcount = 0; - Entity _entities[]; - int _entitycount = 0; - -} - -class Entity { - public: - Parameter params[]; - int paramcount = 0; - void addParameter(String id, String value){ - params[paramcount] = Parameter(id, value); - paramcount++ - } - -} - -class Parameter { - public: - Parameter(String id, String value){ - this->_id = id; - this->_value = value; - } - - String getID(){ - return this->_id; - } - - String getValue(){ - return this->_value; - } - - private: - String _id; - String _value; -} \ No newline at end of file From 74806fe198c233b1834aa4d0f472fb437a9b38af Mon Sep 17 00:00:00 2001 From: Chris Giacofei Date: Thu, 26 Jan 2023 16:53:50 -0500 Subject: [PATCH 2/8] Lots of changes. Closer to a working model. 2-way communication is working and devices can report temperature readings. Need to get the actual control logic done and clean this garbage up. --- .gitignore | 1 + .../{communicator.cpp => Communicator.cpp} | 51 +++-- lib/Communicator/Communicator.h | 31 +++ lib/Communicator/communicator.h | 25 --- lib/Device/Device.h | 68 +++++-- lib/Device/globals.h | 11 -- lib/Global/Global.h | 5 +- lib/communicator/communicator.cpp | 109 ----------- lib/communicator/communicator.h | 25 --- lib/slowPWM/slowPWM.h | 42 ----- src/FermController/FermController.ino | 177 ++++++++++++++---- 11 files changed, 268 insertions(+), 277 deletions(-) rename lib/Communicator/{communicator.cpp => Communicator.cpp} (67%) create mode 100644 lib/Communicator/Communicator.h delete mode 100644 lib/Communicator/communicator.h delete mode 100644 lib/Device/globals.h delete mode 100644 lib/communicator/communicator.cpp delete mode 100644 lib/communicator/communicator.h delete mode 100755 lib/slowPWM/slowPWM.h diff --git a/.gitignore b/.gitignore index c23d77e..ac720c6 100755 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,5 @@ doc/ debug.txt *.geany *.tags +tags *.bin diff --git a/lib/Communicator/communicator.cpp b/lib/Communicator/Communicator.cpp similarity index 67% rename from lib/Communicator/communicator.cpp rename to lib/Communicator/Communicator.cpp index 6877c53..2b2fc63 100644 --- a/lib/Communicator/communicator.cpp +++ b/lib/Communicator/Communicator.cpp @@ -1,11 +1,20 @@ -#include "communicator.h" +#include "Communicator.h" -Communicator::Communicator(WiFiClient& network, void (*cmd)(char *topic, byte *payload, unsigned int length)) { +Communicator::Communicator(WiFiClient& network, CALLBACK_SIGNATURE) { this->_net = network; - this->mqttCallback = cmd; + this->mqttCallback = mqttCallback; this->_mqtt_client.setBufferSize(1536); } +Communicator::Communicator(WiFiClient& network) { + this->_net = network; + this->_mqtt_client.setBufferSize(1536); +} + +void Communicator::connectCallback(CALLBACK_SIGNATURE) { + this->mqttCallback = mqttCallback; +} + void Communicator::loop() { _mqtt_client.loop(); } @@ -80,6 +89,11 @@ bool Communicator::ConnectMQTT(const String &server, const String &name, const S } +void Communicator::Subscribe(const char* topic) { + Serial.println("Subscribe to: " + String(topic)); + _mqtt_client.subscribe(topic); +} + void Communicator::mqtt_discovery(const String topic, StaticJsonDocument<1536> &entity) { String payload; serializeJson(entity, payload); @@ -89,21 +103,34 @@ void Communicator::mqtt_discovery(const String topic, StaticJsonDocument<1536> & { Serial.print("Sending discovery payload to "); Serial.println(topic); - Serial.println(""); Serial.println(payload); - Serial.println(""); - + _mqtt_client.publish(topic.c_str(), payload.c_str(), false); - if (entity.containsKey("mode_cmd_t")) _mqtt_client.subscribe(entity["mode_cmd_t"]); - if (entity.containsKey("temp_cmd_t")) _mqtt_client.subscribe(entity["temp_cmd_t"]); - if (entity.containsKey("temp_hi_cmd_t")) _mqtt_client.subscribe(entity["temp_hi_cmd_t"]); - if (entity.containsKey("temp_lo_cmd_t")) _mqtt_client.subscribe(entity["temp_lo_cmd_t"]); + const char* mode = entity["mode_cmd_t"]; + if (mode) { + Subscribe(mode); + } + const char* temp = entity["temp_cmd_t"]; + if (temp) { + Subscribe(temp); + } + const char* temp_hi = entity["temp_hi_cmd_t"]; + if (temp_hi) { + Subscribe(temp_hi); + } + const char* temp_lo = entity["temp_lo_cmd_t"]; + if (temp_lo) { + Subscribe(temp_lo); + } _mqtt_client.loop(); } } - + void Communicator::publish_data(String topic, String value) { - _mqtt_client.publish(topic.c_str(), value.c_str(), false); + Serial.print(topic); + Serial.print(" --> "); + Serial.println(value); + _mqtt_client.publish(topic.c_str(), value.c_str(), true); } diff --git a/lib/Communicator/Communicator.h b/lib/Communicator/Communicator.h new file mode 100644 index 0000000..12c47e2 --- /dev/null +++ b/lib/Communicator/Communicator.h @@ -0,0 +1,31 @@ +#ifndef MyClass_h +#define MyClass_h + +#include +#include +#include + +#include +#include + +#define CALLBACK_SIGNATURE void (*mqttCallback)(char *topic, byte *payload, unsigned int length) + +class Communicator { +public: + Communicator(WiFiClient&); + Communicator(WiFiClient&, CALLBACK_SIGNATURE); + + CALLBACK_SIGNATURE; + void connectCallback(CALLBACK_SIGNATURE); + bool ConnectMQTT(const String&, const String&, const String&, const String&); + void mqtt_discovery(const String, StaticJsonDocument<1536>&); + void publish_data(String topic, String value); + void publish_data(String topic, int value); + void Subscribe(const char* topic); + void loop(); + +private: + PubSubClient _mqtt_client; + WiFiClient _net; +}; +#endif diff --git a/lib/Communicator/communicator.h b/lib/Communicator/communicator.h deleted file mode 100644 index de83744..0000000 --- a/lib/Communicator/communicator.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef MyClass_h -#define MyClass_h - -#include -#include -#include - -#include "secrets.h" - - -class Communicator { -public: - Communicator(WiFiClient&, void (*mqttCallback)(char*, byte*, unsigned int)); - - void (*mqttCallback)(char*, byte*, unsigned int); - bool ConnectMQTT(const String&, const String&, const String&, const String&); - void mqtt_discovery(const String, StaticJsonDocument<1536>&); - void publish_data(String, String); - - void loop(); -private: - PubSubClient _mqtt_client; - WiFiClient _net; -}; -#endif diff --git a/lib/Device/Device.h b/lib/Device/Device.h index 7d65365..444e934 100644 --- a/lib/Device/Device.h +++ b/lib/Device/Device.h @@ -14,6 +14,8 @@ const char version[] = "0.0.1"; #define ACTION_TPC "action/state" #define MODE_SET "mode/set" #define MODE_STATE "mode/state" +#define SWING_STATE "swing/state" +#define SWING_SET "swing/set" #define TEMP_SET "temp/set" #define TEMP_STATE "temp/state" #define TEMP_CURRENT "temp/current" @@ -53,34 +55,68 @@ const char version[] = "0.0.1"; #define TOPIC_LIMIT 4 -typedef void (*ptr)(uint8_t*); +#define OFF 0 +#define COOL 1 +#define HEAT 2 +#define AUTO 3 + +uint8_t CHILLER_SP = 70; +uint8_t FERMA_SP = 70; +uint8_t FERMB_SP = 70; + +uint8_t CHILLER_MD = OFF; +uint8_t FERMA_MD = OFF; +uint8_t FERMB_MD = OFF; + +//~ typedef void (*ptr)(uint8_t*, uint8_t*); //typedef ptr (*pm)(); -const size_t DOC_SIZE = JSON_OBJECT_SIZE(29) + JSON_ARRAY_SIZE(4); + struct CommandTopic { - ptr CmdFunc; + //~ ptr CmdFunc; + byte* Setting; String CmdTopic; }; +struct Mode { + String CmdTopic; + String StateTopic; + String Setting; +}; + +struct SetPoint { + String CmdTopic; + String StateTopic; + int Setting; +}; + struct ControlDevice { String name; // "Glycol Chiller" String topic_root; // "brewhouse/" - CommandTopic command_topics[TOPIC_LIMIT]; + String current_temp_topic; + byte temp_sensor[8]; + String action_topic; + String action_state; + String swing_topic; + String swing_state; + Mode mode; + SetPoint setpoints[3]; + bool dual; }; -ptr CmdLookup(String lookup_topic, ControlDevice devices[], int device_count) { - for (int i=0;igetTempC(glycol_tank); + if(tempC == DEVICE_DISCONNECTED_C) + { + Serial.println("Error: Could not read temperature data"); + return 0; } - return 0; -} + Serial.print("Temp C: "); + Serial.print(tempC); + Serial.print(" Temp F: "); + return DallasTemperature::toFahrenheit(tempC); +} #endif diff --git a/lib/Device/globals.h b/lib/Device/globals.h deleted file mode 100644 index da28ee7..0000000 --- a/lib/Device/globals.h +++ /dev/null @@ -1,11 +0,0 @@ -TOPIC_ROOT + suffix; -TOPIC_ROOT + suffix; -TOPIC_ROOT + "mode/set"; -TOPIC_ROOT + "mode/state"; -TOPIC_ROOT + "temp/set"; -TOPIC_ROOT + "temp/state"; -TOPIC_ROOT + "temp/current"; -TOPIC_ROOT + "temp_hi/set"; -TOPIC_ROOT + "temp_hi/state"; -TOPIC_ROOT + "temp_lo/set"; -TOPIC_ROOT + "temp_lo/state"; diff --git a/lib/Global/Global.h b/lib/Global/Global.h index d712593..520def4 100644 --- a/lib/Global/Global.h +++ b/lib/Global/Global.h @@ -7,11 +7,14 @@ source repository. #define GLOBAL_H #define DEVICE_SW "0.0.1" -auto chipid = String(ESP.getChipId(), HEX); + #define DEVICE_NAME "Glycol Chiller" #define DEVICE_MDL "Chillenator v0.1" #define DEVICE_MF "Damn Yankee Brewing" #define FERMENTER_COUNT 2 +#define ONE_WIRE_BUS D2 + +const size_t DOC_SIZE = JSON_OBJECT_SIZE(29) + JSON_ARRAY_SIZE(4); #endif diff --git a/lib/communicator/communicator.cpp b/lib/communicator/communicator.cpp deleted file mode 100644 index dfb0bc0..0000000 --- a/lib/communicator/communicator.cpp +++ /dev/null @@ -1,109 +0,0 @@ -#include "communicator.h" - -Communicator::Communicator(WiFiClient& network, void (*cmd)(char *topic, byte *payload, unsigned int length)) { - this->_net = network; - this->mqttCallback = cmd; - this->_mqtt_client.setBufferSize(1536); -} - -void Communicator::loop() { - _mqtt_client.loop(); -} - -bool Communicator::ConnectMQTT(const String &server, const String &name, const String &user, const String &password) { - _mqtt_client.setClient(_net); - _mqtt_client.setServer(server.c_str(), 1883); - _mqtt_client.setCallback(mqttCallback); - - byte i = 0; - - if (_mqtt_client.connected()) return true; - - while (!_mqtt_client.connected() && (i < 3)) { - Serial.println("Attempt MQTT Connection."); - boolean ret; - ret = _mqtt_client.connect(name.c_str(), user.c_str(), password.c_str()); - if (ret) { - Serial.println("Connected to MQTT"); - return true; - - } else { - int Status = _mqtt_client.state(); - - switch (Status) - { - case -4: - Serial.println(F("Connection timeout")); - break; - - case -3: - Serial.println(F("Connection lost")); - break; - - case -2: - Serial.println(F("Connect failed")); - break; - - case -1: - Serial.println(F("Disconnected")); - break; - - case 1: - Serial.println(F("Bad protocol")); - break; - - case 2: - Serial.println(F("Bad client ID")); - break; - - case 3: - Serial.println(F("Unavailable")); - break; - - case 4: - Serial.println(F("Bad credentials")); - break; - - case 5: - Serial.println(F("Unauthorized")); - break; - } - - } - - Serial.print("."); - i++; - delay(5000); - } - - return false; - -} - -void Communicator::mqtt_discovery(const String topic, StaticJsonDocument<1536> &entity) { - String payload; - serializeJson(entity, payload); - - bool response = ConnectMQTT(MQTT_BROKER.toString(), MQTT_NAME, MQTT_USER, MQTT_PASSWORD); - if (response) - { - Serial.print("Sending discovery payload to "); - Serial.println(topic); - Serial.println(""); - Serial.println(payload); - Serial.println(""); - - _mqtt_client.publish(topic.c_str(), payload.c_str(), false); - - if (entity.containsKey("mode_cmd_t")) _mqtt_client.subscribe(entity["mode_cmd_t"]); - if (entity.containsKey("temp_cmd_t")) _mqtt_client.subscribe(entity["temp_cmd_t"]); - if (entity.containsKey("temp_hi_cmd_t")) _mqtt_client.subscribe(entity["temp_hi_cmd_t"]); - if (entity.containsKey("temp_lo_cmd_t")) _mqtt_client.subscribe(entity["temp_lo_cmd_t"]); - - _mqtt_client.loop(); - } -} - -void Communicator::publish_data(String topic, String value) { - _mqtt_client.publish(topic.c_str(), value.c_str(), false); -} \ No newline at end of file diff --git a/lib/communicator/communicator.h b/lib/communicator/communicator.h deleted file mode 100644 index de83744..0000000 --- a/lib/communicator/communicator.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef MyClass_h -#define MyClass_h - -#include -#include -#include - -#include "secrets.h" - - -class Communicator { -public: - Communicator(WiFiClient&, void (*mqttCallback)(char*, byte*, unsigned int)); - - void (*mqttCallback)(char*, byte*, unsigned int); - bool ConnectMQTT(const String&, const String&, const String&, const String&); - void mqtt_discovery(const String, StaticJsonDocument<1536>&); - void publish_data(String, String); - - void loop(); -private: - PubSubClient _mqtt_client; - WiFiClient _net; -}; -#endif diff --git a/lib/slowPWM/slowPWM.h b/lib/slowPWM/slowPWM.h deleted file mode 100755 index 3acfeae..0000000 --- a/lib/slowPWM/slowPWM.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef SLOWPWM_h -#define SLOWPWM_h - -#include - -class slowPWM { - private: - byte outputPin; - unsigned long period; - unsigned long lastSwitchTime; - byte outputState; - - public: - void begin(byte pin, unsigned long per) { - outputPin = pin; - period = per; - lastSwitchTime = 0; - outputState = LOW; - pinMode(pin, OUTPUT); - Serial.println("Setup PWM"); - } - - byte compute(byte duty) { - unsigned long onTime = (duty * period) / 100; - unsigned long offTime = period - onTime; - unsigned long currentTime = millis(); - - if (duty == 0) { - outputState = LOW; - } else if (outputState == HIGH && (currentTime - lastSwitchTime >= onTime)) { - lastSwitchTime = currentTime; - outputState = LOW; - - } else if (outputState == LOW && (currentTime - lastSwitchTime >= offTime)) { - lastSwitchTime = currentTime; - outputState = HIGH; - } - - return outputState; - } -}; -#endif diff --git a/src/FermController/FermController.ino b/src/FermController/FermController.ino index 37d8141..e922efa 100644 --- a/src/FermController/FermController.ino +++ b/src/FermController/FermController.ino @@ -1,29 +1,73 @@ //#include #include #include +#include // My Libraries #include #include -#include +#include #include +OneWire oneWire(ONE_WIRE_BUS); +DallasTemperature sensors(&oneWire); +byte glycol_ds18b20[8] = {0x28,0xFF,0x64,0x0E,0x7F,0x57,0x09,0x66}; +byte fermA_ds18b20[8] = {0x28,0xFF,0x64,0x0E,0x7F,0x57,0x09,0x66}; +byte fermB_ds18b20[8] = {0x28,0xFF,0x64,0x0E,0x7F,0x57,0x09,0x66}; + String chiller_state = "idle"; int tank_setpoint = 28; WiFiClient net; -void mqttCallback(char *topic, byte *payload, unsigned int length) { - Serial.print("incoming: "); - Serial.println(topic); - for (unsigned int i = 0; i < length; i++) - { - Serial.print((char)payload[i]); - } - Serial.println(""); -} +ControlDevice DEVICE_LIST[3]; +int TOTAL_DEVICES = 0; -Communicator hass_comm = Communicator(net, &mqttCallback); +auto chipid = String(ESP.getChipId(), HEX); + +Communicator hass_comm = Communicator(net); + +unsigned long lastMillis; +unsigned long currentMillis; + +void mqttCallback(char *topic, byte *payload, unsigned int length) { + payload[length] = '\0'; + + for (int i=0;i entity; entity["uniq_id"] = chipid + "_" + name_slug; entity["name"] = name; + entity["value_template"] = "{{ value }}"; entity["temp_unit"] = "F"; + entity["max_temp"] = 100; + entity["min_temp"] = 0; + entity["swing_mode_stat_t"] = topic_root + SWING_STATE; + device.swing_topic = topic_root + SWING_STATE; + + entity["act_t"] = topic_root + ACTION_TPC; + entity["act_tpl"] = "{{ value }}"; + device.action_topic = topic_root + ACTION_TPC; // Mode setup - entity["mode_cmd_t"] = topic_root + "mode/set"; + entity["mode_cmd_t"] = topic_root + MODE_SET; + Mode mode = {topic_root + MODE_SET, topic_root + MODE_STATE, "off"}; + device.mode = mode; + entity["mode_cmd_tpl"] = "{{ value }}"; - entity["mode_stat_t"] = topic_root + "mode/state"; - entity["mode_stat_tpl"] = "{{ value_json }}"; + entity["mode_stat_t"] = topic_root + MODE_STATE; JsonArray modes = entity.createNestedArray("modes"); modes.add("off"); modes.add("cool"); - entity["temp_cmd_t"] = topic_root + "temp/set"; + entity["temp_cmd_t"] = topic_root + TEMP_SET; + SetPoint temp = {topic_root + TEMP_SET,topic_root + TEMP_STATE,70}; + device.setpoints[setpoint_count] = temp; + setpoint_count++; entity["temp_cmd_tpl"] = "{{ value }}"; - entity["temp_stat_t"] = topic_root + "temp/state"; - entity["temp_stat_tpl"] = "{{ value_json }}"; - entity["curr_temp_t"] = topic_root + "temp/current"; + entity["temp_stat_t"] = topic_root + TEMP_STATE; + entity["curr_temp_t"] = topic_root + TEMP_CURRENT; entity["curr_temp_tpl"] = "{{ value }}"; + device.current_temp_topic= topic_root + TEMP_CURRENT; if (multimode == true) { - entity["temp_hi_cmd_t"] = topic_root + "temp_hi/set"; + device.dual = true; + entity["temp_hi_cmd_t"] = topic_root + TEMP_HI_SET; + SetPoint temp_hi = {topic_root + TEMP_HI_SET, topic_root + TEMP_HI_STATE, 70}; + device.setpoints[setpoint_count] = temp_hi; + setpoint_count++; entity["temp_hi_cmd_tpl"] = "{{ value }}"; - entity["temp_hi_stat_t"] = topic_root + "temp_hi/state"; - entity["temp_hi_stat_tpl"] = "{{ value_json }}"; + entity["temp_hi_stat_t"] = topic_root + TEMP_HI_STATE; - entity["temp_lo_cmd_t"] = topic_root + "temp_lo/set"; + entity["temp_lo_cmd_t"] = topic_root + TEMP_LO_SET; + SetPoint temp_lo = {topic_root + TEMP_LO_SET, topic_root + TEMP_LO_STATE, 70}; + device.setpoints[setpoint_count] = temp_lo; + setpoint_count++; entity["temp_lo_cmd_tpl"] = "{{ value }}"; - entity["temp_lo_stat_t"] = topic_root + "temp_lo/state"; - entity["temp_lo_stat_tpl"] = "{{ value_json }}"; + entity["temp_lo_stat_t"] = topic_root + TEMP_LO_STATE; modes.add("heat"); modes.add("auto"); } @@ -84,12 +157,41 @@ void climateDevice(String name, boolean multimode=false) { ids.add(chipid); //dev["ids"] = "[\"" + chipid +"\"]"; + DEVICE_LIST[TOTAL_DEVICES] = device; + TOTAL_DEVICES++; hass_comm.mqtt_discovery(config_topic, entity); } +void SendUpdate() { + int setpoint_count = 0; + float device_temp; + for (int i=0;i= 10000) { + sensors.requestTemperatures(); + SendUpdate(); + lastMillis = currentMillis; + } + + delay(100); hass_comm.loop(); } From 123d70f7f75f827ba1341edd6ed5f9f17a55ee14 Mon Sep 17 00:00:00 2001 From: Chris Giacofei Date: Fri, 27 Jan 2023 07:19:04 -0500 Subject: [PATCH 3/8] Finally, working esptool command. --- MakefileGlobal.mk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/MakefileGlobal.mk b/MakefileGlobal.mk index 64ab427..4e73995 100644 --- a/MakefileGlobal.mk +++ b/MakefileGlobal.mk @@ -17,6 +17,8 @@ TARGET_DIR := $(BASE_DIR)/$(subst :,.,build/$(FQBN)) BIN_DIR := $(BASE_DIR)/bin SRC := $(wildcard $(SKETCH_DIR)/*.ino) HDRS := $(wildcard $(SKETCH_DIR)/*.h) +LIBH := $(wildcard $(BASE_DIR)/lib/**/*.h) +LIBS := $(LIBH) $(wildcard $(BASE_DIR)/lib/**/*.cpp) BIN := $(notdir $(SRC)).bin $(info FQBN is [${FQBN}]) @@ -36,7 +38,7 @@ all: $(BIN_DIR)/$(BIN) upload compile: $(BIN_DIR)/$(BIN) upload: $(BIN_DIR)/$(BIN) - $(ESPTOOL) -v -cd nodemcu -b 115200 -p $(MONITOR_PORT) -ca 0x00000 -cf $(TARGET_DIR)/$(SKETCH).bin + $(ESPTOOL) --port $(MONITOR_PORT) --chip esp8266 --baud 460800 write_flash -fm dio -fs 16MB 0x0 $(TARGET_DIR)/$(SKETCH).bin ota: $(BIN_DIR)/$(BIN) $(ESPOTA) -d -r -i $(ESP_IP) -I $(OTA_SERVER) -p 8266 -P 8266 -a $(OTA_PASSWD) -f $(TARGET_DIR)/$(SKETCH).bin @@ -59,7 +61,7 @@ new-library: .PHONY: all compile test library upload ota clean monitor -$(TARGET_DIR)/$(BIN): $(SRC) $(HDRS) +$(TARGET_DIR)/$(BIN): $(SRC) $(HDRS) $(LIBS) @ echo $(FQBN) @ mkdir -p $(TARGET_DIR) From 59df30351e3f2ea778d2f75fd761da55331a4861 Mon Sep 17 00:00:00 2001 From: Chris Giacofei Date: Fri, 27 Jan 2023 10:55:13 -0500 Subject: [PATCH 4/8] Get rid of some unnecessary serial output. --- lib/Communicator/Communicator.cpp | 3 --- src/FermController/FermController.ino | 11 +++++------ 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/lib/Communicator/Communicator.cpp b/lib/Communicator/Communicator.cpp index 2b2fc63..20aa5ee 100644 --- a/lib/Communicator/Communicator.cpp +++ b/lib/Communicator/Communicator.cpp @@ -129,8 +129,5 @@ void Communicator::mqtt_discovery(const String topic, StaticJsonDocument<1536> & } void Communicator::publish_data(String topic, String value) { - Serial.print(topic); - Serial.print(" --> "); - Serial.println(value); _mqtt_client.publish(topic.c_str(), value.c_str(), true); } diff --git a/src/FermController/FermController.ino b/src/FermController/FermController.ino index e922efa..a33a80b 100644 --- a/src/FermController/FermController.ino +++ b/src/FermController/FermController.ino @@ -32,12 +32,11 @@ unsigned long currentMillis; void mqttCallback(char *topic, byte *payload, unsigned int length) { payload[length] = '\0'; - + for (int i=0;i Date: Fri, 27 Jan 2023 10:55:48 -0500 Subject: [PATCH 5/8] Real serial numbers for ds18b20. --- src/FermController/FermController.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/FermController/FermController.ino b/src/FermController/FermController.ino index a33a80b..32e16c1 100644 --- a/src/FermController/FermController.ino +++ b/src/FermController/FermController.ino @@ -12,8 +12,8 @@ OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); byte glycol_ds18b20[8] = {0x28,0xFF,0x64,0x0E,0x7F,0x57,0x09,0x66}; -byte fermA_ds18b20[8] = {0x28,0xFF,0x64,0x0E,0x7F,0x57,0x09,0x66}; -byte fermB_ds18b20[8] = {0x28,0xFF,0x64,0x0E,0x7F,0x57,0x09,0x66}; +byte fermA_ds18b20[8] = {0x28,0xFF,0x64,0x0E,0x7F,0x55,0x1C,0x55}; +byte fermB_ds18b20[8] = {0x28,0xFF,0x64,0x0E,0x71,0x86,0xF1,0xB8}; String chiller_state = "idle"; int tank_setpoint = 28; From fc80a43331e768723e4a16b939ab797fe222271c Mon Sep 17 00:00:00 2001 From: Chris Giacofei Date: Fri, 27 Jan 2023 10:56:57 -0500 Subject: [PATCH 6/8] Define some pins. --- lib/Global/Global.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/Global/Global.h b/lib/Global/Global.h index 520def4..29fea9d 100644 --- a/lib/Global/Global.h +++ b/lib/Global/Global.h @@ -12,8 +12,11 @@ source repository. #define DEVICE_NAME "Glycol Chiller" #define DEVICE_MDL "Chillenator v0.1" #define DEVICE_MF "Damn Yankee Brewing" -#define FERMENTER_COUNT 2 + #define ONE_WIRE_BUS D2 +#define GLYCOL_RELAY D3 +#define FERMA_RELAY D4 +#define FERMB_RELAY D5 const size_t DOC_SIZE = JSON_OBJECT_SIZE(29) + JSON_ARRAY_SIZE(4); From a9788e82a6c1c9d144dbb3438b6c46f0d9786fed Mon Sep 17 00:00:00 2001 From: Chris Giacofei Date: Fri, 27 Jan 2023 10:58:31 -0500 Subject: [PATCH 7/8] Added basic device control. --- lib/Device/Device.h | 99 ++++++++++++++++++++++----- src/FermController/FermController.ino | 60 ++++++++++------ 2 files changed, 118 insertions(+), 41 deletions(-) diff --git a/lib/Device/Device.h b/lib/Device/Device.h index 444e934..4456cd3 100644 --- a/lib/Device/Device.h +++ b/lib/Device/Device.h @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include #include @@ -31,17 +31,17 @@ const char version[] = "0.0.1"; #ifndef DEVICE_NAME #define DEVICE_NAME "MQTT Thermostat" -#endif +#endif #ifndef DEVICE_MDL #define DEVICE_MDL "Thermostat" -#endif +#endif #ifndef DEVICE_MF #define DEVICE_MF "" -#endif +#endif -#ifndef ROOT +#ifndef ROOT #define ROOT "thermostat/" #endif @@ -55,24 +55,22 @@ const char version[] = "0.0.1"; #define TOPIC_LIMIT 4 -#define OFF 0 -#define COOL 1 -#define HEAT 2 -#define AUTO 3 +//~ #define OFF 0 +//~ #define COOL 1 +//~ #define HEAT 2 +//~ #define AUTO 3 + +#define TEMP 0 +#define TEMP_HI 1 +#define TEMP_LO 2 uint8_t CHILLER_SP = 70; uint8_t FERMA_SP = 70; uint8_t FERMB_SP = 70; -uint8_t CHILLER_MD = OFF; -uint8_t FERMA_MD = OFF; -uint8_t FERMB_MD = OFF; - //~ typedef void (*ptr)(uint8_t*, uint8_t*); //typedef ptr (*pm)(); - - struct CommandTopic { //~ ptr CmdFunc; byte* Setting; @@ -100,6 +98,8 @@ struct ControlDevice { String action_state; String swing_topic; String swing_state; + byte heat_pin; + byte cool_pin; Mode mode; SetPoint setpoints[3]; bool dual; @@ -108,15 +108,76 @@ struct ControlDevice { float UpdateTemperature(DallasTemperature *sensors, DeviceAddress glycol_tank) { // method 2 - faster float tempC = sensors->getTempC(glycol_tank); - if(tempC == DEVICE_DISCONNECTED_C) + if(tempC == DEVICE_DISCONNECTED_C) { Serial.println("Error: Could not read temperature data"); return 0; } - Serial.print("Temp C: "); - Serial.print(tempC); - Serial.print(" Temp F: "); + return DallasTemperature::toFahrenheit(tempC); } + +bool DeviceLoop(ControlDevice &device, DallasTemperature *sensors) { + Serial.println(device.name); + + float dsTemp = UpdateTemperature(sensors, device.temp_sensor); + String initial_action = device.action_state; + + if (device.mode.Setting == "auto") { + int setHi = device.setpoints[TEMP_HI].Setting; + int setLo = device.setpoints[TEMP_LO].Setting; + + if ((setLo <= dsTemp) && (dsTemp <= setHi)) { // Within Temp Range + device.action_state = ACTION_IDLE; + digitalWrite(device.cool_pin, LOW); + digitalWrite(device.heat_pin, LOW); + } else if (dsTemp < setLo) { // Needs Heat + device.action_state = ACTION_HEATING; + digitalWrite(device.cool_pin, LOW); + digitalWrite(device.heat_pin, HIGH); + } else if (dsTemp > setHi) { // Needs Cooling + device.action_state = ACTION_COOLING; + digitalWrite(device.cool_pin, HIGH); + digitalWrite(device.heat_pin, LOW); + } + } + + int setTemp = device.setpoints[TEMP].Setting; + + if (device.mode.Setting == "cool") { + + + if (dsTemp > setTemp) { // Needs Cooling + device.action_state = ACTION_COOLING; + digitalWrite(device.cool_pin, HIGH); + digitalWrite(device.heat_pin, LOW); + } else { + device.action_state = ACTION_IDLE; + digitalWrite(device.cool_pin, LOW); + digitalWrite(device.heat_pin, LOW); + } + } + + if (device.mode.Setting == "heat") { + if (dsTemp < setTemp) { // Needs Cooling + device.action_state = ACTION_HEATING; + digitalWrite(device.cool_pin, LOW); + digitalWrite(device.heat_pin, HIGH); + } else { + device.action_state = ACTION_IDLE; + digitalWrite(device.cool_pin, LOW); + digitalWrite(device.heat_pin, LOW); + } + } + + if (device.mode.Setting == "off") { + device.action_state = ACTION_IDLE; + } + + if (initial_action != device.action_state) { + return true; + } + return false; +} #endif diff --git a/src/FermController/FermController.ino b/src/FermController/FermController.ino index 32e16c1..63e9f11 100644 --- a/src/FermController/FermController.ino +++ b/src/FermController/FermController.ino @@ -88,8 +88,8 @@ void climateDevice(String name, byte ds18b20[], bool multimode=false) { ControlDevice device; device.dual = false; device.name = name; - device.topic_root = topic_root; - + device.topic_root = "brewhouse/" + slugify(name) + "/"; + for (int i=0;i<8;i++) { device.temp_sensor[i] = ds18b20[i]; } @@ -161,26 +161,24 @@ void climateDevice(String name, byte ds18b20[], bool multimode=false) { hass_comm.mqtt_discovery(config_topic, entity); } -void SendUpdate() { +void SendUpdate(ControlDevice device) { int setpoint_count = 0; float device_temp; - for (int i=0;i= 10000) { + if (DeviceLoop(DEVICE_LIST[0], &sensors)) { + Serial.println("Ouput state changed."); + SendUpdate(DEVICE_LIST[0]); + } + if (DeviceLoop(DEVICE_LIST[1], &sensors)) { + Serial.println("Ouput state changed."); + SendUpdate(DEVICE_LIST[1]); + } + if (DeviceLoop(DEVICE_LIST[2], &sensors)) { + Serial.println("Ouput state changed."); + SendUpdate(DEVICE_LIST[2]); + } sensors.requestTemperatures(); - SendUpdate(); + SendUpdate(DEVICE_LIST[0]); + SendUpdate(DEVICE_LIST[1]); + SendUpdate(DEVICE_LIST[2]); lastMillis = currentMillis; } From d764d1d6715e66dad4b3fd1bf522473a49bcf324 Mon Sep 17 00:00:00 2001 From: Chris Giacofei Date: Fri, 27 Jan 2023 11:01:50 -0500 Subject: [PATCH 8/8] Remove some unused variables. Closes #1 --- src/FermController/FermController.ino | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/FermController/FermController.ino b/src/FermController/FermController.ino index 63e9f11..72c3544 100644 --- a/src/FermController/FermController.ino +++ b/src/FermController/FermController.ino @@ -11,15 +11,12 @@ OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); +WiFiClient net; + byte glycol_ds18b20[8] = {0x28,0xFF,0x64,0x0E,0x7F,0x57,0x09,0x66}; byte fermA_ds18b20[8] = {0x28,0xFF,0x64,0x0E,0x7F,0x55,0x1C,0x55}; byte fermB_ds18b20[8] = {0x28,0xFF,0x64,0x0E,0x71,0x86,0xF1,0xB8}; -String chiller_state = "idle"; -int tank_setpoint = 28; - -WiFiClient net; - ControlDevice DEVICE_LIST[3]; int TOTAL_DEVICES = 0;