mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 00:09:51 +03:00
move device types to types.ts
This commit is contained in:
@@ -38,7 +38,7 @@ import DeviceIcon from './DeviceIcon';
|
||||
import * as EMSESP from './api';
|
||||
import { formatValue } from './deviceValue';
|
||||
|
||||
import { DeviceValueUOM_s, DeviceEntityMask } from './types';
|
||||
import { DeviceValueUOM_s, DeviceEntityMask, DeviceType } from './types';
|
||||
import { deviceValueItemValidation } from './validators';
|
||||
import type { Device, CoreData, DeviceData, DeviceValue } from './types';
|
||||
import type { FC } from 'react';
|
||||
@@ -315,32 +315,37 @@ const DashboardDevices: FC = () => {
|
||||
|
||||
const renderDeviceDetails = () => {
|
||||
if (coreData && coreData.devices.length > 0 && deviceDetails !== -1) {
|
||||
const device = coreData.devices[deviceDetails];
|
||||
return (
|
||||
<Dialog open={deviceDetails !== -1} onClose={() => setDeviceDetails(-1)}>
|
||||
<DialogTitle>{LL.DEVICE_DETAILS()}</DialogTitle>
|
||||
<DialogContent dividers>
|
||||
<List dense={true}>
|
||||
<ListItem>
|
||||
<ListItemText primary={LL.TYPE(0)} secondary={coreData.devices[deviceDetails].tn} />
|
||||
<ListItemText primary={LL.TYPE(0)} secondary={device.tn} />
|
||||
</ListItem>
|
||||
<ListItem>
|
||||
<ListItemText primary={LL.NAME(0)} secondary={coreData.devices[deviceDetails].n} />
|
||||
<ListItemText primary={LL.NAME(0)} secondary={device.n} />
|
||||
</ListItem>
|
||||
{device.t !== DeviceType.CUSTOM && (
|
||||
<>
|
||||
<ListItem>
|
||||
<ListItemText primary={LL.BRAND()} secondary={coreData.devices[deviceDetails].b} />
|
||||
<ListItemText primary={LL.BRAND()} secondary={device.b} />
|
||||
</ListItem>
|
||||
<ListItem>
|
||||
<ListItemText
|
||||
primary={LL.ID_OF(LL.DEVICE())}
|
||||
secondary={'0x' + ('00' + coreData.devices[deviceDetails].d.toString(16).toUpperCase()).slice(-2)}
|
||||
secondary={'0x' + ('00' + device.d.toString(16).toUpperCase()).slice(-2)}
|
||||
/>
|
||||
</ListItem>
|
||||
<ListItem>
|
||||
<ListItemText primary={LL.ID_OF(LL.PRODUCT())} secondary={coreData.devices[deviceDetails].p} />
|
||||
<ListItemText primary={LL.ID_OF(LL.PRODUCT())} secondary={device.p} />
|
||||
</ListItem>
|
||||
<ListItem>
|
||||
<ListItemText primary={LL.VERSION()} secondary={coreData.devices[deviceDetails].v} />
|
||||
<ListItemText primary={LL.VERSION()} secondary={device.v} />
|
||||
</ListItem>
|
||||
</>
|
||||
)}
|
||||
</List>
|
||||
</DialogContent>
|
||||
<DialogActions>
|
||||
|
||||
@@ -6,35 +6,13 @@ import { GiHeatHaze } from 'react-icons/gi';
|
||||
import { MdThermostatAuto, MdOutlineSensors, MdOutlineExtension } from 'react-icons/md';
|
||||
import { TiFlowSwitch } from 'react-icons/ti';
|
||||
import { VscVmConnect } from 'react-icons/vsc';
|
||||
import { DeviceType } from './types';
|
||||
import type { FC } from 'react';
|
||||
|
||||
interface DeviceIconProps {
|
||||
type_id: number;
|
||||
}
|
||||
|
||||
// matches emsdevice.h DeviceType
|
||||
const enum DeviceType {
|
||||
SYSTEM = 0,
|
||||
TEMPERATURESENSOR,
|
||||
ANALOGSENSOR,
|
||||
SCHEDULER,
|
||||
BOILER,
|
||||
THERMOSTAT,
|
||||
MIXER,
|
||||
SOLAR,
|
||||
HEATPUMP,
|
||||
GATEWAY,
|
||||
SWITCH,
|
||||
CONTROLLER,
|
||||
CONNECT,
|
||||
ALERT,
|
||||
PUMP,
|
||||
GENERIC,
|
||||
HEATSOURCE,
|
||||
CUSTOM,
|
||||
UNKNOWN
|
||||
}
|
||||
|
||||
const DeviceIcon: FC<DeviceIconProps> = ({ type_id }) => {
|
||||
switch (type_id) {
|
||||
case DeviceType.TEMPERATURESENSOR:
|
||||
|
||||
@@ -367,3 +367,26 @@ export interface EntityItem {
|
||||
export interface Entities {
|
||||
entities: EntityItem[];
|
||||
}
|
||||
|
||||
// matches emsdevice.h DeviceType
|
||||
export const enum DeviceType {
|
||||
SYSTEM = 0,
|
||||
TEMPERATURESENSOR,
|
||||
ANALOGSENSOR,
|
||||
SCHEDULER,
|
||||
BOILER,
|
||||
THERMOSTAT,
|
||||
MIXER,
|
||||
SOLAR,
|
||||
HEATPUMP,
|
||||
GATEWAY,
|
||||
SWITCH,
|
||||
CONTROLLER,
|
||||
CONNECT,
|
||||
ALERT,
|
||||
PUMP,
|
||||
GENERIC,
|
||||
HEATSOURCE,
|
||||
CUSTOM,
|
||||
UNKNOWN
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user