mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 07:49:52 +03:00
56 lines
1.6 KiB
TypeScript
56 lines
1.6 KiB
TypeScript
import { Theme } from "@material-ui/core";
|
|
import { MqttStatus, MqttDisconnectReason } from "./types";
|
|
|
|
export const mqttStatusHighlight = ({ enabled, connected }: MqttStatus, theme: Theme) => {
|
|
if (!enabled) {
|
|
return theme.palette.info.main;
|
|
}
|
|
if (connected) {
|
|
return theme.palette.success.main;
|
|
}
|
|
return theme.palette.error.main;
|
|
}
|
|
|
|
export const mqttStatus = ({ enabled, connected }: MqttStatus) => {
|
|
if (!enabled) {
|
|
return "Not enabled";
|
|
}
|
|
if (connected) {
|
|
return "Connected";
|
|
}
|
|
return "Disconnected";
|
|
}
|
|
|
|
export const disconnectReason = ({ disconnect_reason }: MqttStatus) => {
|
|
switch (disconnect_reason) {
|
|
case MqttDisconnectReason.TCP_DISCONNECTED:
|
|
return "TCP disconnected";
|
|
case MqttDisconnectReason.MQTT_UNACCEPTABLE_PROTOCOL_VERSION:
|
|
return "Unacceptable protocol version";
|
|
case MqttDisconnectReason.MQTT_IDENTIFIER_REJECTED:
|
|
return "Client ID rejected";
|
|
case MqttDisconnectReason.MQTT_SERVER_UNAVAILABLE:
|
|
return "Server unavailable";
|
|
case MqttDisconnectReason.MQTT_MALFORMED_CREDENTIALS:
|
|
return "Malformed credentials";
|
|
case MqttDisconnectReason.MQTT_NOT_AUTHORIZED:
|
|
return "Not authorized";
|
|
case MqttDisconnectReason.ESP8266_NOT_ENOUGH_SPACE:
|
|
return "Device out of memory";
|
|
case MqttDisconnectReason.TLS_BAD_FINGERPRINT:
|
|
return "Server fingerprint invalid";
|
|
default:
|
|
return "Unknown"
|
|
}
|
|
}
|
|
|
|
export const mqttPublishHighlight = ({ mqtt_fails }: MqttStatus, theme: Theme) => {
|
|
|
|
if (mqtt_fails === 0)
|
|
return theme.palette.success.main;
|
|
|
|
if (mqtt_fails < 10)
|
|
return theme.palette.warning.main;
|
|
|
|
return theme.palette.success.main;
|
|
} |