fix types

This commit is contained in:
Yurii
2023-11-16 10:34:25 +03:00
parent 76eaec10ea
commit 4b9ebeaa40
3 changed files with 26 additions and 15 deletions

View File

@@ -9,6 +9,17 @@ public:
} }
}; };
class UnsignedIntParameter : public WiFiManagerParameter {
public:
UnsignedIntParameter(const char* id, const char* label, unsigned int value, const uint8_t length = 10) : WiFiManagerParameter("") {
init(id, label, String(value).c_str(), length, "", WFM_LABEL_DEFAULT);
}
unsigned int getValue() {
return (unsigned int) atoi(WiFiManagerParameter::getValue());
}
};
class CheckboxParameter : public WiFiManagerParameter { class CheckboxParameter : public WiFiManagerParameter {
public: public:
const char* checked = "type=\"checkbox\" checked"; const char* checked = "type=\"checkbox\" checked";

View File

@@ -11,7 +11,7 @@ struct Settings {
struct { struct {
char server[80]; char server[80];
int port = 1883; unsigned int port = 1883;
char user[32]; char user[32];
char password[32]; char password[32];
char prefix[80] = "opentherm"; char prefix[80] = "opentherm";

View File

@@ -7,17 +7,17 @@
WiFiManager wm; WiFiManager wm;
WiFiManagerParameter* wmHostname; WiFiManagerParameter* wmHostname;
WiFiManagerParameter* wmMqttServer; WiFiManagerParameter* wmMqttServer;
IntParameter* wmMqttPort; UnsignedIntParameter* wmMqttPort;
WiFiManagerParameter* wmMqttUser; WiFiManagerParameter* wmMqttUser;
WiFiManagerParameter* wmMqttPassword; WiFiManagerParameter* wmMqttPassword;
WiFiManagerParameter* wmMqttPrefix; WiFiManagerParameter* wmMqttPrefix;
IntParameter* wmMqttPublishInterval; UnsignedIntParameter* wmMqttPublishInterval;
IntParameter* wmOtInPin; UnsignedIntParameter* wmOtInPin;
IntParameter* wmOtOutPin; UnsignedIntParameter* wmOtOutPin;
IntParameter* wmOtMemberIdCode; UnsignedIntParameter* wmOtMemberIdCode;
CheckboxParameter* wmOtDHWPresent; CheckboxParameter* wmOtDHWPresent;
IntParameter* wmOutdoorSensorPin; UnsignedIntParameter* wmOutdoorSensorPin;
IntParameter* wmIndoorSensorPin; UnsignedIntParameter* wmIndoorSensorPin;
SeparatorParameter* wmSep1; SeparatorParameter* wmSep1;
SeparatorParameter* wmSep2; SeparatorParameter* wmSep2;
@@ -61,7 +61,7 @@ protected:
wmMqttServer = new WiFiManagerParameter("mqtt_server", "MQTT server", settings.mqtt.server, 80); wmMqttServer = new WiFiManagerParameter("mqtt_server", "MQTT server", settings.mqtt.server, 80);
wm.addParameter(wmMqttServer); wm.addParameter(wmMqttServer);
wmMqttPort = new IntParameter("mqtt_port", "MQTT port", settings.mqtt.port, 6); wmMqttPort = new UnsignedIntParameter("mqtt_port", "MQTT port", settings.mqtt.port, 6);
wm.addParameter(wmMqttPort); wm.addParameter(wmMqttPort);
wmMqttUser = new WiFiManagerParameter("mqtt_user", "MQTT username", settings.mqtt.user, 32); wmMqttUser = new WiFiManagerParameter("mqtt_user", "MQTT username", settings.mqtt.user, 32);
@@ -73,19 +73,19 @@ protected:
wmMqttPrefix = new WiFiManagerParameter("mqtt_prefix", "MQTT prefix", settings.mqtt.prefix, 32); wmMqttPrefix = new WiFiManagerParameter("mqtt_prefix", "MQTT prefix", settings.mqtt.prefix, 32);
wm.addParameter(wmMqttPrefix); wm.addParameter(wmMqttPrefix);
wmMqttPublishInterval = new IntParameter("mqtt_publish_interval", "MQTT publish interval", settings.mqtt.interval, 5); wmMqttPublishInterval = new UnsignedIntParameter("mqtt_publish_interval", "MQTT publish interval", settings.mqtt.interval, 5);
wm.addParameter(wmMqttPublishInterval); wm.addParameter(wmMqttPublishInterval);
wmSep1 = new SeparatorParameter(); wmSep1 = new SeparatorParameter();
wm.addParameter(wmSep1); wm.addParameter(wmSep1);
wmOtInPin = new IntParameter("ot_in_pin", "Opentherm pin IN", settings.opentherm.inPin, 2); wmOtInPin = new UnsignedIntParameter("ot_in_pin", "Opentherm pin IN", settings.opentherm.inPin, 2);
wm.addParameter(wmOtInPin); wm.addParameter(wmOtInPin);
wmOtOutPin = new IntParameter("ot_out_pin", "Opentherm pin OUT", settings.opentherm.outPin, 2); wmOtOutPin = new UnsignedIntParameter("ot_out_pin", "Opentherm pin OUT", settings.opentherm.outPin, 2);
wm.addParameter(wmOtOutPin); wm.addParameter(wmOtOutPin);
wmOtMemberIdCode = new IntParameter("ot_member_id_code", "Opentherm member id", settings.opentherm.memberIdCode, 5); wmOtMemberIdCode = new UnsignedIntParameter("ot_member_id_code", "Opentherm member id", settings.opentherm.memberIdCode, 5);
wm.addParameter(wmOtMemberIdCode); wm.addParameter(wmOtMemberIdCode);
wmOtDHWPresent = new CheckboxParameter("ot_dhw_present", "Opentherm DHW present", settings.opentherm.dhwPresent); wmOtDHWPresent = new CheckboxParameter("ot_dhw_present", "Opentherm DHW present", settings.opentherm.dhwPresent);
@@ -94,10 +94,10 @@ protected:
wmSep2 = new SeparatorParameter(); wmSep2 = new SeparatorParameter();
wm.addParameter(wmSep2); wm.addParameter(wmSep2);
wmOutdoorSensorPin = new IntParameter("outdoor_sensor_pin", "Outdoor sensor pin", settings.sensors.outdoor.pin, 2); wmOutdoorSensorPin = new UnsignedIntParameter("outdoor_sensor_pin", "Outdoor sensor pin", settings.sensors.outdoor.pin, 2);
wm.addParameter(wmOutdoorSensorPin); wm.addParameter(wmOutdoorSensorPin);
wmIndoorSensorPin = new IntParameter("indoor_sensor_pin", "Indoor sensor pin", settings.sensors.indoor.pin, 2); wmIndoorSensorPin = new UnsignedIntParameter("indoor_sensor_pin", "Indoor sensor pin", settings.sensors.indoor.pin, 2);
wm.addParameter(wmIndoorSensorPin); wm.addParameter(wmIndoorSensorPin);
//wm.setCleanConnect(true); //wm.setCleanConnect(true);