Convertisseur Zigbee2MQTT

Vous pouvez ajouter la dernière version du convertisseur manuellement.

Dans le menu ParamètresConsole de développementConvertisseurs externes créez un nouveau convertisseur appelé frz1.mjs avec le code suivant :

import { Zcl } from 'zigbee-herdsman'
import * as m from 'zigbee-herdsman-converters/lib/modernExtend'

const manufacturerOptions = {
  // no official manufacturer code yet
  manufacturerCode: Zcl.ManufacturerCode.RESERVED_10
};
const definitions = [
  {
    zigbeeModel: ["FRZ1"],
    model: "FRZ1",
    vendor: "Netica",
    description: "FreezBee, a smart thermostat designed to operate with Frisquet boilers",
    ota: true,
    extend: [
      // standard attributes
      m.temperature(),
      m.humidity(),
      m.thermostat({
        localTemperature: {
          values: {
            description: "Perceived room temperature. Can be measured on the device or defined using the remote temperature attribute."
          }
        },
        setpoints: {
          values: {
            occupiedHeatingSetpoint: { min: 5, max: 30, step: 0.5 }
          }
        },
        ctrlSeqeOfOper: {
          values: ["heating_only"]
        },
        runningState: {
          values: ["idle", "heat"]
        },
        systemMode: {
          values: ["off", "heat"]
        }
      }),
      // custom attributes
      m.deviceAddCustomCluster("hvacThermostat", {
        name: "hvacThermostat",
        ID: Zcl.Clusters.hvacThermostat.ID,
        attributes: {
          remoteTemperature: {
            name: "remoteTemperature",
            ID: 16384,
            manufacturerCode: manufacturerOptions.manufacturerCode,
            type: Zcl.DataType.INT16,
            min: -32768,
            max: 32767,
            write: true
          },
          useRemoteTemperature: {
            name: "useRemoteTemperature",
            ID: 16385,
            manufacturerCode: manufacturerOptions.manufacturerCode,
            type: Zcl.DataType.BOOLEAN,
            write: true
          },
          targetWaterTemperature: {
            name: "targetWaterTemperature",
            ID: 16386,
            manufacturerCode: manufacturerOptions.manufacturerCode,
            type: Zcl.DataType.INT16,
            min: -32768,
            max: 32767
          }
        },
        commands: {},
        commandsResponse: {}
      }),
      // UI
      m.numeric({
        cluster: "hvacThermostat",
        attribute: "remoteTemperature",
        name: "remote_temperature",
        label: "Remote temperature",
        entityCategory: "config",
        description: "The value of a remote temperature sensor. Note: synchronisation of this value with the remote temperature sensor needs to happen outside of Zigbee2MQTT.",
        valueMin: 0,
        valueMax: 99.9,
        valueStep: 0.1,
        unit: "\xB0C",
        scale: 100,
        precision: 1
      }),
      m.binary({
        cluster: "hvacThermostat",
        attribute: "useRemoteTemperature",
        name: "use_remote_temperature",
        entityCategory: "config",
        description: "Whether to use the value of the internal temperature sensor or a remote temperature sensor for the perceived room temperature.",
        valueOff: ["OFF", 0],
        valueOn: ["ON", 1]
      }),
      m.numeric({
        cluster: "hvacThermostat",
        attribute: "targetWaterTemperature",
        name: "target_water_temperature",
        label: "Target water temperature",
        access: "STATE_GET",
        entityCategory: "diagnostic",
        description: "Target water temperature in the heating circuit.",
        valueMin: 0,
        valueMax: 99.9,
        valueStep: 0.1,
        unit: "\xB0C",
        scale: 100,
        precision: 1
      })
    ]
  }
];
export {
  definitions
};
export default definitions;

Redémarrez Zigbee2MQTT dans l’onglet Outils pour charger ce nouveau convertisseur.

C’est prêt, toutes les dernières fonctionnalités de votre FreezBee devraient être disponibles ! 🌴