GladysProject/Gladys

View on GitHub
server/services/tasmota/lib/features/dimmer.js

Summary

Maintainability
A
0 mins
Test Coverage
const { DEVICE_FEATURE_CATEGORIES, DEVICE_FEATURE_TYPES } = require('../../../../utils/constants');
const { LIGHT_MODULES } = require('./modules');

module.exports = {
  // Tasmota matcher
  keyMatcher: /^(StatusSTS|Gladys)\.Dimmer$/,
  // Gladys feature
  generateFeature: (device) => {
    const lightDevice = LIGHT_MODULES.includes(device.model);
    const category = lightDevice ? DEVICE_FEATURE_CATEGORIES.LIGHT : DEVICE_FEATURE_CATEGORIES.SWITCH;
    const type = lightDevice ? DEVICE_FEATURE_TYPES.LIGHT.BRIGHTNESS : DEVICE_FEATURE_TYPES.SWITCH.DIMMER;
    const name = lightDevice ? 'Brightness' : 'Dimmer';

    return {
      category,
      type,
      name,
      read_only: false,
      has_feedback: true,
      min: 0,
      max: 100,
    };
  },
};