|
@@ -2,7 +2,7 @@ import React, { useEffect, useState } from 'react';
|
|
|
import * as datav from '@jiaminghi/data-view-react';
|
|
|
import styles from './sliderData.less';
|
|
|
import { connect } from '@@/plugin-dva/exports';
|
|
|
-// import { JSONPath } from 'jsonpath-plus';
|
|
|
+import { JSONPath } from 'jsonpath-plus';
|
|
|
|
|
|
interface propsData {
|
|
|
data: any;
|
|
@@ -14,8 +14,7 @@ interface propsData {
|
|
|
* @constructor
|
|
|
*/
|
|
|
const SliderData: React.FC<propsData> = (props) => {
|
|
|
- // const { data, MQTTMessage } = props;
|
|
|
- const { data } = props;
|
|
|
+ const { data, MQTTMessage } = props;
|
|
|
const [voltage, setVoltage] = useState({ ua: 0 });
|
|
|
const [current, setCurrent] = useState({ ia: 0 });
|
|
|
const [activePower, setActivePower] = useState({ active_power: 0 });
|
|
@@ -29,65 +28,49 @@ const SliderData: React.FC<propsData> = (props) => {
|
|
|
co2: data.co2,
|
|
|
});
|
|
|
|
|
|
- // 回头删掉
|
|
|
useEffect(() => {
|
|
|
- setCurrent({ ia: 0 });
|
|
|
- setVoltage({ ua: 0 });
|
|
|
- setActivePower({ active_power: 0 });
|
|
|
- setControlData({
|
|
|
- power: data.power ? data.power : 0,
|
|
|
- mode: data.mode,
|
|
|
- set_temp: data.set_temp,
|
|
|
- temperature: data.temperature,
|
|
|
- humidity: data.humidity,
|
|
|
- air_quality: data.air_quality,
|
|
|
- co2: data.co2,
|
|
|
- });
|
|
|
- }, []);
|
|
|
+ // 电
|
|
|
+ if (
|
|
|
+ MQTTMessage.message?.DeviceCode === 'DT645-4G' &&
|
|
|
+ MQTTMessage.message?.SubDeviceId !== '' &&
|
|
|
+ data.electric_id !== '' &&
|
|
|
+ MQTTMessage.message?.SubDeviceId === data.electric_id
|
|
|
+ ) {
|
|
|
+ // 电压
|
|
|
+ if (Object.keys(MQTTMessage.message.Data)[0] === 'voltage') {
|
|
|
+ setVoltage({ ua: JSONPath({ json: MQTTMessage.message.Data, path: '$.voltage.ua' })[0] });
|
|
|
+ }
|
|
|
+ // 电流
|
|
|
+ if (Object.keys(MQTTMessage.message.Data)[0] === 'current') {
|
|
|
+ setCurrent({ ia: JSONPath({ json: MQTTMessage.message.Data, path: '$.current.ia' })[0] });
|
|
|
+ }
|
|
|
+ // 用电量
|
|
|
+ if (Object.keys(MQTTMessage.message.Data)[0] === 'power') {
|
|
|
+ setActivePower({
|
|
|
+ active_power: JSONPath({
|
|
|
+ json: MQTTMessage.message.Data,
|
|
|
+ path: '$.power.active_power',
|
|
|
+ })[0],
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- // useEffect(() => {
|
|
|
- // // 电
|
|
|
- // if (
|
|
|
- // MQTTMessage.message?.DeviceCode === 'DT645-4G' &&
|
|
|
- // MQTTMessage.message?.SubDeviceId !== '' &&
|
|
|
- // data.electric_id !== '' &&
|
|
|
- // MQTTMessage.message?.SubDeviceId === data.electric_id
|
|
|
- // ) {
|
|
|
- // // 电压
|
|
|
- // if (Object.keys(MQTTMessage.message.Data)[0] === 'voltage') {
|
|
|
- // setVoltage({ ua: JSONPath({ json: MQTTMessage.message.Data, path: '$.voltage.ua' })[0] });
|
|
|
- // }
|
|
|
- // // 电流
|
|
|
- // if (Object.keys(MQTTMessage.message.Data)[0] === 'current') {
|
|
|
- // setCurrent({ ia: JSONPath({ json: MQTTMessage.message.Data, path: '$.current.ia' })[0] });
|
|
|
- // }
|
|
|
- // // 用电量
|
|
|
- // if (Object.keys(MQTTMessage.message.Data)[0] === 'power') {
|
|
|
- // setActivePower({
|
|
|
- // active_power: JSONPath({
|
|
|
- // json: MQTTMessage.message.Data,
|
|
|
- // path: '$.power.active_power',
|
|
|
- // })[0],
|
|
|
- // });
|
|
|
- // }
|
|
|
- // }
|
|
|
- //
|
|
|
- // //温湿度等
|
|
|
- // if (
|
|
|
- // MQTTMessage.message?.DeviceCode === data.device_id &&
|
|
|
- // MQTTMessage.message?.SubDeviceId === ''
|
|
|
- // ) {
|
|
|
- // setControlData({
|
|
|
- // power: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.power' })[0],
|
|
|
- // mode: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.mode' })[0],
|
|
|
- // set_temp: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.set_temp' })[0],
|
|
|
- // temperature: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.temperature' })[0],
|
|
|
- // humidity: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.humidity' })[0],
|
|
|
- // air_quality: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.air_quality' })[0],
|
|
|
- // co2: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.co2' })[0],
|
|
|
- // });
|
|
|
- // }
|
|
|
- // }, [MQTTMessage.message?.DeviceCode && MQTTMessage.message?.SubDeviceId]);
|
|
|
+ //温湿度等
|
|
|
+ if (
|
|
|
+ MQTTMessage.message?.DeviceCode === data.device_id &&
|
|
|
+ MQTTMessage.message?.SubDeviceId === ''
|
|
|
+ ) {
|
|
|
+ setControlData({
|
|
|
+ power: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.power' })[0],
|
|
|
+ mode: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.mode' })[0],
|
|
|
+ set_temp: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.set_temp' })[0],
|
|
|
+ temperature: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.temperature' })[0],
|
|
|
+ humidity: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.humidity' })[0],
|
|
|
+ air_quality: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.air_quality' })[0],
|
|
|
+ co2: JSONPath({ json: MQTTMessage.message.Data, path: '$.status.co2' })[0],
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }, [MQTTMessage.message?.DeviceCode && MQTTMessage.message?.SubDeviceId]);
|
|
|
|
|
|
const handleCo2Grade = (co2: number) => {
|
|
|
if (co2 >= 0 && co2 < 800) {
|