diff --git a/platformio.ini b/platformio.ini index a004b1c..cd8b811 100644 --- a/platformio.ini +++ b/platformio.ini @@ -17,4 +17,5 @@ monitor_speed = 115200 monitor_filters = esp32_exception_decoder build_flags = -DWIFI_SSID=\"HappyNet\" -DWIFI_PKEY=\"1Grausame!Sackratte7\" - -DWIFI_HOST=\"Heizung\" \ No newline at end of file + -DWIFI_HOST=\"Heizung\" + -DNODE_HEIZUNG \ No newline at end of file diff --git a/src/NodeHeizung.h b/src/NodeHeizung.h new file mode 100644 index 0000000..3bd6d6e --- /dev/null +++ b/src/NodeHeizung.h @@ -0,0 +1,93 @@ +#ifndef NODE_HEIZUNG_H +#define NODE_HEIZUNG_H + +#include "patrix/Node.h" +#include "patrix/sensor/Dallas.h" +#include "patrix/sensor/DallasSensor.h" +#include "patrix/sensor/Max6675Sensor.h" +#include "patrix/sensor/DHT22.h" + +class NodeHeizung final : public Node { + + Dallas dallas; + + DallasSensor pufferVorlauf; + + DallasSensor pufferRuecklauf; + + DallasSensor pufferEingang; + + DallasSensor pufferSpeicher; + + DallasSensor pufferAusgang; + + DallasSensor pufferZirkulation; + + DallasSensor heizkreisVorlauf; + + DallasSensor heizkreisRuecklauf; + + DallasSensor abwasser; + + DallasSensor reserve; + + Max6675Sensor abgas; + + DHT22 heizungsraum; + +public: + + NodeHeizung() : dallas(14), + pufferVorlauf(dallas, 0xAA0121125E4A7528, "heizung/puffer/vorlauf", 1.0), + pufferRuecklauf(dallas, 0x3E0121126A163B28, "heizung/puffer/ruecklauf", 1.0), + pufferEingang(dallas, 0x0201211240EE3128, "heizung/puffer/eingang", 1.0), + pufferSpeicher(dallas, 0x1001211233D3A428, "heizung/puffer/speicher", 1.0), + pufferAusgang(dallas, 0xE80121126FFD9328, "heizung/puffer/ausgang", 1.0), + pufferZirkulation(dallas, 0x540121124A48FD28, "heizung/puffer/zirkulation", 1.0), + heizkreisVorlauf(dallas, 0x330121126F984728, "heizung/heizkreis/vorlauf", 1.0), + heizkreisRuecklauf(dallas, 0x4201211270337B28, "heizung/heizkreis/ruecklauf", 1.0), + abwasser(dallas, 0x810121126EE53828, "abwasser", 1.0), + reserve(dallas, 0x0D0121126716CF28, "__RESERVE__", 1.0), + abgas(27, 26, 25, "heizung/abgas", 2), + heizungsraum(13, "heizungsraum", 0.5, 2, 0.5) { + // + }; + + void setup() override { + // TODO + } + + void loop() override { + dallas.loop(); + pufferVorlauf.loop(); + pufferRuecklauf.loop(); + pufferEingang.loop(); + pufferSpeicher.loop(); + pufferAusgang.loop(); + pufferZirkulation.loop(); + heizkreisVorlauf.loop(); + heizkreisRuecklauf.loop(); + abwasser.loop(); + reserve.loop(); + abgas.loop(); + heizungsraum.loop(); + } + + void toJson(JsonDocument& json) override { + pufferVorlauf.toJson(json); + pufferRuecklauf.toJson(json); + pufferEingang.toJson(json); + pufferSpeicher.toJson(json); + pufferAusgang.toJson(json); + pufferZirkulation.toJson(json); + heizkreisVorlauf.toJson(json); + heizkreisRuecklauf.toJson(json); + abwasser.toJson(json); + reserve.toJson(json); + abgas.toJson(json); + heizungsraum.toJson(json); + } + +}; + +#endif