mqtt_out_heatcontrol.ino 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. #ifdef FIRMWARE_VARIANT_HEATCONTROL
  2. void heatcontrol_publish_sw_disableControl_heating() {
  3. char _tmp_topic_out[71];
  4. snprintf(_tmp_topic_out, 70, "%s/%s", confMqtt.mqtt_topic_out, "sw_disC_heat");
  5. char _tmp_payload[5];
  6. if (heatcontrol_in_sw_disableControl_heating) sprintf(_tmp_payload, "1");
  7. else sprintf(_tmp_payload, "0");
  8. mqttclient.publish(_tmp_topic_out, _tmp_payload);
  9. }
  10. void heatcontrol_publish_sw_disableControl_pump() {
  11. char _tmp_topic_out[71];
  12. snprintf(_tmp_topic_out, 70, "%s/%s", confMqtt.mqtt_topic_out, "sw_disC_pump");
  13. char _tmp_payload[5];
  14. if (heatcontrol_in_sw_disableControl_pump) sprintf(_tmp_payload, "1");
  15. else sprintf(_tmp_payload, "0");
  16. mqttclient.publish(_tmp_topic_out, _tmp_payload);
  17. }
  18. void heatcontrol_publish_in_heat_active() {
  19. char _tmp_topic_out[71];
  20. snprintf(_tmp_topic_out, 70, "%s/%s", confMqtt.mqtt_topic_out, "in_heat_active");
  21. char _tmp_payload[5];
  22. if (heatcontrol_in_heat_active) sprintf(_tmp_payload, "1");
  23. else sprintf(_tmp_payload, "0");
  24. mqttclient.publish(_tmp_topic_out, _tmp_payload);
  25. }
  26. void heatcontrol_publish_in_heat_request() {
  27. char _tmp_topic_out[71];
  28. snprintf(_tmp_topic_out, 70, "%s/%s", confMqtt.mqtt_topic_out, "in_heat_request");
  29. char _tmp_payload[5];
  30. if (heatcontrol_in_heat_request) sprintf(_tmp_payload, "1");
  31. else sprintf(_tmp_payload, "0");
  32. mqttclient.publish(_tmp_topic_out, _tmp_payload);
  33. }
  34. void heatcontrol_publish_out_heat() {
  35. char _tmp_topic_out[71];
  36. snprintf(_tmp_topic_out, 70, "%s/%s", confMqtt.mqtt_topic_out, "out_heat");
  37. char _tmp_payload[5];
  38. if (heatcontrol_out_heat) sprintf(_tmp_payload, "1");
  39. else sprintf(_tmp_payload, "0");
  40. mqttclient.publish(_tmp_topic_out, _tmp_payload);
  41. }
  42. void heatcontrol_publish_out_pump() {
  43. char _tmp_topic_out[71];
  44. snprintf(_tmp_topic_out, 70, "%s/%s", confMqtt.mqtt_topic_out, "out_pump");
  45. char _tmp_payload[5];
  46. if (heatcontrol_out_pump) sprintf(_tmp_payload, "1");
  47. else sprintf(_tmp_payload, "0");
  48. mqttclient.publish(_tmp_topic_out, _tmp_payload);
  49. }
  50. void heatcontrol_publish_lockTime() {
  51. char _tmp_topic_out[71];
  52. snprintf(_tmp_topic_out, 70, "%s/%s", confMqtt.mqtt_topic_out, "lockTime");
  53. char _tmp_payload[10];
  54. sprintf(_tmp_payload, "%d", heatcontrol_lockTime_getRemainingMins());
  55. mqttclient.publish(_tmp_topic_out, _tmp_payload);
  56. }
  57. void heatcontrol_publish_lockActive() {
  58. char _tmp_topic_out[71];
  59. bool _currStat = heatcontrol_getLockActive();
  60. snprintf(_tmp_topic_out, 70, "%s/%s", confMqtt.mqtt_topic_out, "lockActive");
  61. char _tmp_payload[10];
  62. if (_currStat) sprintf(_tmp_payload, "1");
  63. else sprintf(_tmp_payload, "0");
  64. mqttclient.publish(_tmp_topic_out, _tmp_payload);
  65. //if (_currStat) sprintf(_tmp_payload, "%d", heatcontrol_currentHeatCurveValue - confHeatc.hystereseOn);
  66. //else sprintf(_tmp_payload, "-");
  67. //mqttclient.publish(_tmp_topic_out, _tmp_payload);
  68. snprintf(_tmp_topic_out, 70, "%s/%s", confMqtt.mqtt_topic_out, "lockActiveUntil_HcHystOn");
  69. if (_currStat && heatcontrol_lockTime_getRemainingMins() == 0) sprintf(_tmp_payload, "1");
  70. else if (heatcontrol_lockTime_getRemainingMins()) sprintf(_tmp_payload, "0");
  71. mqttclient.publish(_tmp_topic_out, _tmp_payload);
  72. }
  73. void heatcontrol_publish_heatCurve_current() {
  74. char _tmp_topic_out[71];
  75. char _tmp_payload[10];
  76. snprintf(_tmp_topic_out, 70, "%s/%s", confMqtt.mqtt_topic_out, "heatCurve_curr");
  77. sprintf(_tmp_payload, "%d", heatcontrol_currentHeatCurveValue);
  78. mqttclient.publish(_tmp_topic_out, _tmp_payload);
  79. snprintf(_tmp_topic_out, 70, "%s/%s", confMqtt.mqtt_topic_out, "heatCurve_curr_hystOn");
  80. sprintf(_tmp_payload, "%d", heatcontrol_currentHeatCurveValue - confHeatc.hystereseOn);
  81. mqttclient.publish(_tmp_topic_out, _tmp_payload);
  82. snprintf(_tmp_topic_out, 70, "%s/%s", confMqtt.mqtt_topic_out, "heatCurve_curr_hystOff");
  83. sprintf(_tmp_payload, "%d", heatcontrol_currentHeatCurveValue + confHeatc.hystereseOff);
  84. mqttclient.publish(_tmp_topic_out, _tmp_payload);
  85. }
  86. void heatcontrol_publish_pumpBacklash() {
  87. char _tmp_topic_out[71];
  88. snprintf(_tmp_topic_out, 70, "%s/%s", confMqtt.mqtt_topic_out, "pumpBacklash");
  89. char _tmp_payload[10];
  90. sprintf(_tmp_payload, "%d", heatcontrol_pumpBacklash_getRemainingMins());
  91. mqttclient.publish(_tmp_topic_out, _tmp_payload);
  92. }
  93. void heatcontrol_publish_testMode() {
  94. char _tmp_topic_out[71];
  95. snprintf(_tmp_topic_out, 70, "%s/%s", confMqtt.mqtt_topic_out, "testMode");
  96. char _tmp_payload[10];
  97. sprintf(_tmp_payload, "%d", heatcontrol_testMode_getRemainingMins());
  98. mqttclient.publish(_tmp_topic_out, _tmp_payload);
  99. }
  100. #endif