Zigbee fix UI

This commit is contained in:
Stephan Hadinger 2020-10-28 21:40:58 +01:00
parent f51f9edf40
commit 722de4b4a8

View File

@ -1731,28 +1731,36 @@ void ZigbeeShow(bool json)
const Z_Data_Thermo & thermo = device.data.find<Z_Data_Thermo>(); const Z_Data_Thermo & thermo = device.data.find<Z_Data_Thermo>();
if (&thermo != nullptr) { if (&thermo != nullptr) {
WSContentSend_P(PSTR("<tr class='htr'><td colspan=\"4\">&#9478;")); bool validTemp = thermo.validTemperature();
if (thermo.validTemperature()) { bool validTempTarget = thermo.validTempTarget();
char buf[12]; bool validThSetpoint = thermo.validThSetpoint();
dtostrf(thermo.getTemperature() / 100.0f, 3, 1, buf); bool validHumidity = thermo.validHumidity();
WSContentSend_PD(PSTR(" &#x2600;&#xFE0F; %s°C"), buf); bool validPressure = thermo.validPressure();
}
if (thermo.validTempTarget()) {
char buf[12];
dtostrf(thermo.getTempTarget() / 100.0f, 3, 1, buf);
WSContentSend_PD(PSTR(" &#127919; %s°C"), buf);
}
if (thermo.validThSetpoint()) {
WSContentSend_PD(PSTR(" &#9881;&#65039; %d%%"), thermo.getThSetpoint());
}
if (thermo.validHumidity()) {
WSContentSend_P(PSTR(" &#x1F4A7; %d%%"), (uint16_t)(thermo.getHumidity() / 100.0f + 0.5f));
}
if (thermo.validPressure()) {
WSContentSend_P(PSTR(" &#x26C5; %d hPa"), thermo.getPressure());
}
WSContentSend_P(PSTR("{e}")); if (validTemp || validTempTarget || validThSetpoint || validHumidity || validPressure) {
WSContentSend_P(PSTR("<tr class='htr'><td colspan=\"4\">&#9478;"));
if (validTemp) {
char buf[12];
dtostrf(thermo.getTemperature() / 100.0f, 3, 1, buf);
WSContentSend_PD(PSTR(" &#x2600;&#xFE0F; %s°C"), buf);
}
if (validTempTarget) {
char buf[12];
dtostrf(thermo.getTempTarget() / 100.0f, 3, 1, buf);
WSContentSend_PD(PSTR(" &#127919; %s°C"), buf);
}
if (validThSetpoint) {
WSContentSend_PD(PSTR(" &#9881;&#65039; %d%%"), thermo.getThSetpoint());
}
if (validHumidity) {
WSContentSend_P(PSTR(" &#x1F4A7; %d%%"), (uint16_t)(thermo.getHumidity() / 100.0f + 0.5f));
}
if (validPressure) {
WSContentSend_P(PSTR(" &#x26C5; %d hPa"), thermo.getPressure());
}
WSContentSend_P(PSTR("{e}"));
}
} }
// Light, switches and plugs // Light, switches and plugs
@ -1787,12 +1795,16 @@ void ZigbeeShow(bool json)
} }
} }
if (&plug != nullptr) { if (&plug != nullptr) {
WSContentSend_P(PSTR(" &#9889; ")); bool validMainsVoltage = plug.validMainsVoltage();
if (plug.validMainsVoltage()) { bool validMainsPower = plug.validMainsPower();
WSContentSend_P(PSTR(" %dV"), plug.getMainsVoltage()); if (validMainsVoltage || validMainsPower) {
} WSContentSend_P(PSTR(" &#9889; "));
if (plug.validMainsPower()) { if (validMainsVoltage) {
WSContentSend_P(PSTR(" %dW"), plug.getMainsPower()); WSContentSend_P(PSTR(" %dV"), plug.getMainsVoltage());
}
if (validMainsPower) {
WSContentSend_P(PSTR(" %dW"), plug.getMainsPower());
}
} }
} }
WSContentSend_P(PSTR("{e}")); WSContentSend_P(PSTR("{e}"));