- // SPDX-License-Identifier: GPL-3.0-or-later
- /*
- * Qt mutizone MQTT thermostat
- *
- * Copyright (C) 2019 Richard Genoud
- *
- */
-
- #ifndef MAINWINDOW_H
- #define MAINWINDOW_H
-
- #include <QMainWindow>
- #include <QPushButton>
- #include <QtWidgets>
- #include <QVector>
-
- #include "mqttclient.h"
- #include "zoneitem.h"
- #include "settings.h"
-
- class MainWindow : public QMainWindow
- {
- Q_OBJECT
-
- public:
- explicit MainWindow(QWidget *parent = NULL);
- ~MainWindow();
-
- private:
- MQTTClient *m_mqtt;
- QPushButton m_state_btn;
- QVector<ZoneItem *> m_zones;
- QTimer *m_timer;
- void update_state_btn(enum power_states st);
- double get_target_temperature(int room_idx);
- bool get_heater_order(int room_idx);
- void apply_automatic_state(void);
-
- private slots:
- void temperature_slot(int idx, double val);
- void hygro_slot(int idx, double val);
- void availability_slot(int idx, bool ok);
- void change_state(void);
- void apply_order_to_heaters(void);
-
- signals:
- void setAllHeatersOn(bool on);
-
- };
-
- #endif // MAINWINDOW_H
-
- /* vim: set tabstop=8 shiftwidth=8 softtabstop=0 noexpandtab: */
|