Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import * as fz from "zigbee-herdsman-converters/converters/fromZigbee";
- import * as tz from "zigbee-herdsman-converters/converters/toZigbee";
- import * as m from "zigbee-herdsman-converters/lib/modernExtend";
- import * as reporting from "zigbee-herdsman-converters/lib/reporting";
- import * as tuya from "zigbee-herdsman-converters/lib/tuya";
- import type {DefinitionWithExtend} from "zigbee-herdsman-converters/lib/types";
- export const definitions: DefinitionWithExtend[] = [
- {
- fingerprint: tuya.fingerprint("TS0601", ["_TZE200_oxsauvxh"]),
- model: "MG-GPO04",
- vendor: "MakeGood",
- description: "Double Zigbee power point",
- fromZigbee: [fz.identify, fz.on_off, fz.electrical_measurement, fz.metering, fz.power_on_behavior],
- toZigbee: [tz.on_off, tz.power_on_behavior, tz.electrical_measurement_power],
- extend: [
- m.deviceEndpoints({endpoints: {right: 1, left: 2}}),
- m.identify(),
- tuya.modernExtend.tuyaOnOff({
- endpoints: ["right", "left"],
- powerOutageMemory: true,
- indicatorMode: true,
- childLock: true,
- onOffCountdown: true,
- electricalMeasurements: true,
- }),
- ],
- configure: async (device, coordinatorEndpoint) => {
- const endpoint1 = device.getEndpoint(1);
- const endpoint2 = device.getEndpoint(2);
- await tuya.configureMagicPacket(device, coordinatorEndpoint);
- await reporting.bind(endpoint1, coordinatorEndpoint, ["genOnOff", "haElectricalMeasurement", "seMetering"]);
- await reporting.onOff(endpoint1);
- await reporting.rmsVoltage(endpoint1, {min: 5, max: 3600, change: 1});
- await reporting.rmsCurrent(endpoint1, {min: 5, max: 3600, change: 1});
- await reporting.activePower(endpoint1, {min: 5, max: 3600, change: 1});
- await reporting.currentSummDelivered(endpoint1, {min: 5, max: 3600, change: 5});
- await reporting.bind(endpoint2, coordinatorEndpoint, ["genOnOff"]);
- endpoint1.saveClusterAttributeKeyValue("haElectricalMeasurement", {
- acCurrentDivisor: 1000,
- acCurrentMultiplier: 1,
- acPowerDivisor: 1,
- acPowerMultiplier: 1,
- acVoltageDivisor: 1,
- acVoltageMultiplier: 1,
- });
- endpoint1.saveClusterAttributeKeyValue("seMetering", {
- divisor: 100,
- multiplier: 1,
- });
- device.save();
- },
- meta: {
- multiEndpoint: true,
- multiEndpointSkip: ["power", "current", "voltage", "energy"],
- },
- },
- ];
Advertisement
Comments
-
- https://bigwarp.io/jq3lr11jg7v3
- https://bigwarp.io/oic40kp7dh27
- https://bigwarp.io/xc13z8c97ulu
- https://bigwarp.io/7quiw47fvo2p
- https://bigwarp.io/15hyup7w20yd
- https://bigwarp.io/oducs5mwo4jc
- https://bigwarp.io/pa8cvmyhcwew
- https://bigwarp.io/kp0k87pkrb80
Add Comment
Please, Sign In to add comment
Advertisement