Fork of the excellent esp8266-react - https://github.com/rjwats/esp8266-react
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.4 KiB
45 lines
1.4 KiB
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"
|
|
}
|
|
}
|