идешь в папке zigbee2mqtt, там создаешь папки external_converters и external_extensions.
там создаешь файл tuya_trv705.js, так же его создаешь в папке zigbee2mqtt
содержимое его вот
class MyExampleExtension1739800677930 {
constructor(
zigbee,
mqtt,
state,
publishEntityState,
eventBus,
enableDisableExtension,
restartCallback,
addExtension,
settings,
logger,
) {
this.zigbee = zigbee;
this.mqtt = mqtt;
this.state = state;
this.publishEntityState = publishEntityState;
this.eventBus = eventBus;
this.enableDisableExtension = enableDisableExtension;
this.restartCallback = restartCallback;
this.addExtension = addExtension;
this.settings = settings;
this.logger = logger;
this.logger.info('Loaded MyExampleExtension1739800677930');
this.mqttBaseTopic = this.settings.get().mqtt.base_topic;
}
/**
* Called when the extension starts (on Zigbee2MQTT startup, or when the extension is saved at runtime)
*/
start() {
this.mqtt.publish('example/extension', 'hello from MyExampleExtension1739800677930');
// all possible events can be seen here: https://github.com/Koenkk/zigbee2mqtt/blob/master/lib/eventB...
this.eventBus.onStateChange(this, this.onStateChange.bind(this));
}
/**
* Called when the extension stops (on Zigbee2MQTT shutdown, or when the extension is saved/removed at runtime)
*/
stop() {
this.eventBus.removeListeners(this);
}
async onStateChange(data) {
// see typing (properties) here: https://github.com/Koenkk/zigbee2mqtt/blob/master/lib/types/... => namespace eventdata
const { entity, update } = data;
// example how to toggle state
if (entity.ID === '0x00158d000224154d') {
this.logger.info(`State changed for 0x00158d000224154d: ${JSON.stringify(data)}`);
// state changed for some device (example: clicked a button)
if (update.action === 'single') {
const myLampIeeAddr = '0x00124b001e73227f'; // change this
this.mqtt.onMessage(`${this.mqttBaseTopic}/${myLampIeeAddr}/set`, JSON.stringify({ state: 'toggle' }));
}
}
}
}
module.exports = MyExampleExtension1739800677930;
----------------------------------------------------------------------------------------------------------------
потом в папке zigbee2mqtt открываешь configuration.yaml
в него добавляешь
external_converters:
- tuya_trv705.js
так же находишь свое устройство в конфиге и добавляешь туда же
external_converters:
- tuya_trv705.js
типа такого должно получится
'0xa4c1386c1d0e751f':
external_converters:
- tuya_trv705.js
friendly_name: Регулятор теплого пола
рестартуешь HA