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 * as EMSESP from './api';
|
||||||
import { formatValue } from './deviceValue';
|
import { formatValue } from './deviceValue';
|
||||||
|
|
||||||
import { DeviceValueUOM_s, DeviceEntityMask } from './types';
|
import { DeviceValueUOM_s, DeviceEntityMask, DeviceType } from './types';
|
||||||
import { deviceValueItemValidation } from './validators';
|
import { deviceValueItemValidation } from './validators';
|
||||||
import type { Device, CoreData, DeviceData, DeviceValue } from './types';
|
import type { Device, CoreData, DeviceData, DeviceValue } from './types';
|
||||||
import type { FC } from 'react';
|
import type { FC } from 'react';
|
||||||
@@ -315,32 +315,37 @@ const DashboardDevices: FC = () => {
|
|||||||
|
|
||||||
const renderDeviceDetails = () => {
|
const renderDeviceDetails = () => {
|
||||||
if (coreData && coreData.devices.length > 0 && deviceDetails !== -1) {
|
if (coreData && coreData.devices.length > 0 && deviceDetails !== -1) {
|
||||||
|
const device = coreData.devices[deviceDetails];
|
||||||
return (
|
return (
|
||||||
<Dialog open={deviceDetails !== -1} onClose={() => setDeviceDetails(-1)}>
|
<Dialog open={deviceDetails !== -1} onClose={() => setDeviceDetails(-1)}>
|
||||||
<DialogTitle>{LL.DEVICE_DETAILS()}</DialogTitle>
|
<DialogTitle>{LL.DEVICE_DETAILS()}</DialogTitle>
|
||||||
<DialogContent dividers>
|
<DialogContent dividers>
|
||||||
<List dense={true}>
|
<List dense={true}>
|
||||||
<ListItem>
|
<ListItem>
|
||||||
<ListItemText primary={LL.TYPE(0)} secondary={coreData.devices[deviceDetails].tn} />
|
<ListItemText primary={LL.TYPE(0)} secondary={device.tn} />
|
||||||
</ListItem>
|
</ListItem>
|
||||||
<ListItem>
|
<ListItem>
|
||||||
<ListItemText primary={LL.NAME(0)} secondary={coreData.devices[deviceDetails].n} />
|
<ListItemText primary={LL.NAME(0)} secondary={device.n} />
|
||||||
</ListItem>
|
</ListItem>
|
||||||
|
{device.t !== DeviceType.CUSTOM && (
|
||||||
|
<>
|
||||||
<ListItem>
|
<ListItem>
|
||||||
<ListItemText primary={LL.BRAND()} secondary={coreData.devices[deviceDetails].b} />
|
<ListItemText primary={LL.BRAND()} secondary={device.b} />
|
||||||
</ListItem>
|
</ListItem>
|
||||||
<ListItem>
|
<ListItem>
|
||||||
<ListItemText
|
<ListItemText
|
||||||
primary={LL.ID_OF(LL.DEVICE())}
|
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>
|
||||||
<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>
|
||||||
<ListItem>
|
<ListItem>
|
||||||
<ListItemText primary={LL.VERSION()} secondary={coreData.devices[deviceDetails].v} />
|
<ListItemText primary={LL.VERSION()} secondary={device.v} />
|
||||||
</ListItem>
|
</ListItem>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
</List>
|
</List>
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
<DialogActions>
|
<DialogActions>
|
||||||
|
|||||||
@@ -6,35 +6,13 @@ import { GiHeatHaze } from 'react-icons/gi';
|
|||||||
import { MdThermostatAuto, MdOutlineSensors, MdOutlineExtension } from 'react-icons/md';
|
import { MdThermostatAuto, MdOutlineSensors, MdOutlineExtension } from 'react-icons/md';
|
||||||
import { TiFlowSwitch } from 'react-icons/ti';
|
import { TiFlowSwitch } from 'react-icons/ti';
|
||||||
import { VscVmConnect } from 'react-icons/vsc';
|
import { VscVmConnect } from 'react-icons/vsc';
|
||||||
|
import { DeviceType } from './types';
|
||||||
import type { FC } from 'react';
|
import type { FC } from 'react';
|
||||||
|
|
||||||
interface DeviceIconProps {
|
interface DeviceIconProps {
|
||||||
type_id: number;
|
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 }) => {
|
const DeviceIcon: FC<DeviceIconProps> = ({ type_id }) => {
|
||||||
switch (type_id) {
|
switch (type_id) {
|
||||||
case DeviceType.TEMPERATURESENSOR:
|
case DeviceType.TEMPERATURESENSOR:
|
||||||
|
|||||||
@@ -367,3 +367,26 @@ export interface EntityItem {
|
|||||||
export interface Entities {
|
export interface Entities {
|
||||||
entities: EntityItem[];
|
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