47 lines
No EOL
1.7 KiB
JavaScript
47 lines
No EOL
1.7 KiB
JavaScript
// This is a zigbee2mqtt zigbee2mqtt.io converter for this sample.
|
|
// See https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html
|
|
// on how to use it.
|
|
|
|
const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
|
|
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
|
|
const exposes = require('zigbee-herdsman-converters/lib/exposes');
|
|
const reporting = require('zigbee-herdsman-converters/lib/reporting');
|
|
const extend = require('zigbee-herdsman-converters/lib/extend');
|
|
const e = exposes.presets;
|
|
const ea = exposes.access;
|
|
|
|
const definition = {
|
|
zigbeeModel: ['b-parasite'],
|
|
model: 'b-parasite',
|
|
vendor: 'b-parasite',
|
|
description: 'IoT development board - Zigbee sample',
|
|
fromZigbee: [fz.temperature, fz.humidity, fz.battery, fz.soil_moisture, fz.illuminance],
|
|
toZigbee: [],
|
|
exposes: [
|
|
e.temperature(),
|
|
e.humidity(),
|
|
e.battery(),
|
|
e.soil_moisture(),
|
|
e.illuminance_lux()],
|
|
configure: async (device, coordinatorEndpoint, logger) => {
|
|
const endpoint = device.getEndpoint(10);
|
|
await reporting.bind(
|
|
endpoint,
|
|
coordinatorEndpoint, [
|
|
'genPowerCfg',
|
|
'msTemperatureMeasurement',
|
|
'msRelativeHumidity',
|
|
'msSoilMoisture',
|
|
'msIlluminanceMeasurement',
|
|
]);
|
|
await reporting.batteryPercentageRemaining(endpoint);
|
|
// Not reportable :(
|
|
// await reporting.batteryVoltage(endpoint);
|
|
await reporting.temperature(endpoint);
|
|
await reporting.humidity(endpoint);
|
|
await reporting.soil_moisture(endpoint);
|
|
await reporting.illuminance(endpoint);
|
|
}
|
|
};
|
|
|
|
module.exports = definition; |