text: const exposes = require('../lib/exposes');
  const fz = {...require('../converters/fromZigbee'), legacy: require('../lib/legacy').fromZigbee};
  const tz = require('../converters/toZigbee');
  const e = exposes.presets;
  const ea = exposes.access;
  const tuya = require('../lib/tuya');
  
  module.exports = [
      {
          fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_d0yu2xgi'}],
          zigbeeModel: ['0yu2xgi'],
          model: 'NAS-AB02B0',
          vendor: 'Neo',
          description: 'Temperature & humidity sensor and alarm',
          fromZigbee: [fz.neo_t_h_alarm, fz.ignore_basic_report],
          toZigbee: [tz.neo_t_h_alarm],
          exposes: [
              e.temperature(), e.humidity(), exposes.binary('humidity_alarm', ea.STATE_SET, true, false), e.battery_low(),
              exposes.binary('temperature_alarm', ea.STATE_SET, true, false),
              exposes.binary('alarm', ea.STATE_SET, true, false),
              exposes.enum('melody', ea.STATE_SET, Array.from(Array(18).keys()).map((x)=>(x+1).toString())),
              exposes.numeric('duration', ea.STATE_SET).withUnit('second').withValueMin(0).withValueMax(1000),
              exposes.numeric('temperature_min', ea.STATE_SET).withUnit('°C').withValueMin(-10).withValueMax(35),
              exposes.numeric('temperature_max', ea.STATE_SET).withUnit('°C').withValueMin(-10).withValueMax(35),
              exposes.numeric('humidity_min', ea.STATE_SET).withUnit('%').withValueMin(0).withValueMax(100),
              exposes.numeric('humidity_max', ea.STATE_SET).withUnit('%').withValueMin(0).withValueMax(100),
              exposes.enum('volume', ea.STATE_SET, ['low', 'medium', 'high']),
              exposes.enum('power_type', ea.STATE, ['battery_full', 'battery_high', 'battery_medium', 'battery_low', 'usb']),
          ],
          onEvent: tuya.onEventSetLocalTime,
          configure: async (device, coordinatorEndpoint, logger) => {
              const endpoint = device.getEndpoint(1);
              await endpoint.command('manuSpecificTuya', 'resetDevice', {});
              await endpoint.command('manuSpecificTuya', 'unknown0x10', {'data': [0x00, 0x02]});
          },
      },
      {
          fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_7hfcudw5'}],
          model: 'NAS-PD07',
          vendor: 'Neo',
          description: 'Motion, temperature & humidity sensor',
          fromZigbee: [fz.neo_nas_pd07],
          toZigbee: [],
          onEvent: tuya.setTime,
          exposes: [e.occupancy(), e.humidity(), e.temperature(), e.tamper(), e.battery_low(),
              exposes.enum('power_type', ea.STATE, ['battery_full', 'battery_high', 'battery_medium', 'battery_low', 'usb'])],
      },
  ];
  