Elko Plus Super TR RF PH thermostat unsupported

Hi,
First of all, I’m quit new to zigbee2mqtt. I use a Raspberry Pi4 with Raspbian Lite, and zigbee2mqtt bare-metal installation method.
I just received a Elko Plus Super TR RF PH thermostat, at the moment its an unsupported device.
I then follow the guide on https://www.zigbee2mqtt.io/how_tos/how_to_support_new_devices.html.

  1. I paired the device, and it showed up as unsupported.

  2. I then added this to my “/opt/zigbee2mqtt/node_modules/zigbee-herdsman-converters/devices.js”
    Some of the fromZigbee and tozigbee I copied from other thermostats I found in the file. Not sure I
    need all of them at least its a start.

    {
    zigbeeModel: [‘Super TR’],
    model: ‘Super TR RF’,
    vendor: ‘ELKO’,
    description: ‘In-Wall Termostat’,
    supports: ‘thermostat, temperature’,
    fromZigbee: [
    fz.tuya_thermostat_weekly_schedule,
    fz.etop_thermostat,
    fz.ignore_basic_report,
    ],
    toZigbee: [
    tz.etop_thermostat_system_mode,
    tz.thermostat_local_temperature,
    tz.thermostat_running_state,
    tz.thermostat_occupied_heating_setpoint,
    tz.thermostat_system_mode,
    tz.thermostat_local_temperature_calibration,
    tz.thermostat_temperature_display_mode,
    tz.etop_thermostat_away_mode,
    tz.tuya_thermostat_child_lock,
    tz.tuya_thermostat_current_heating_setpoint,
    tz.tuya_thermostat_weekly_schedule,
    ],
    },

  3. I then saved the file. And rebooted my raspberry pi. I have enabled the gui in the config file.
    And there I can see that Friendly name, Manufacturer and Model changed to what I entered in the device.js file. On the Bind and State its nothing,

  4. On my HA that running on vmware server, I could not see anything on my MQTT, its not discovered. I then used MQTT Explorer I can se MQTT topic zigbee2mqtt on my broker. Under zigbee2mqtt topic I do have “bridge” if I then click have state, config, info, devices, groups.

Under “device” I have this

[
{
“definition”: null,
“endpoints”: {
“1”: {
“bindings”: [],
“clusters”: {
“input”: [],
“output”: []
}
},
“2”: {
“bindings”: [],
“clusters”: {
“input”: [],
“output”: []
}
},
“3”: {
“bindings”: [],
“clusters”: {
“input”: [],
“output”: []
}
},
“4”: {
“bindings”: [],
“clusters”: {
“input”: [],
“output”: []
}
},
“5”: {
“bindings”: [],
“clusters”: {
“input”: [],
“output”: []
}
},
“6”: {
“bindings”: [],
“clusters”: {
“input”: [],
“output”: []
}
},
“8”: {
“bindings”: [],
“clusters”: {
“input”: [],
“output”: []
}
},
“11”: {
“bindings”: [],
“clusters”: {
“input”: [
“ssIasAce”
],
“output”: [
“ssIasZone”,
“ssIasWd”
]
}
},
“12”: {
“bindings”: [],
“clusters”: {
“input”: [],
“output”: []
}
},
“13”: {
“bindings”: [],
“clusters”: {
“input”: [
“genOta”
],
“output”: []
}
},
“47”: {
“bindings”: [],
“clusters”: {
“input”: [],
“output”: []
}
},
“110”: {
“bindings”: [],
“clusters”: {
“input”: [],
“output”: []
}
},
“242”: {
“bindings”: [],
“clusters”: {
“input”: [],
“output”: []
}
}
},
“friendly_name”: “Coordinator”,
“ieee_address”: “0x00124b00215ffe61”,
“interview_completed”: true,
“interviewing”: false,
“network_address”: 0,
“supported”: false,
“type”: “Coordinator”
},
{
“definition”: {
“description”: “In-Wall Termostat”,
“model”: “Super TR RF”,
“supports”: “thermostat, temperature”,
“vendor”: “ELKO”
},
“endpoints”: {
“1”: {
“bindings”: [],
“clusters”: {
“input”: [
“genBasic”,
“genIdentify”,
“hvacThermostat”
],
“output”: []
}
}
},
“friendly_name”: “Termostat Bad 2.etg”,
“ieee_address”: “0x000d6f0015552355”,
“interview_completed”: true,
“interviewing”: false,
“network_address”: 8369,
“power_source”: “Unknown”,
“supported”: true,
“type”: “Router”
}
]

My question is it someone that could assist me to get the thermostat to work? Or atleast point me in the right direction.

Thanks in advance.

Here is an small update to my orginal post. Have done some more adjust ment to the device.js

devices.js
{
zigbeeModel: [‘Super TR’],
model: ‘Super TR RF’,
vendor: ‘ELKO’,
description: ‘In-Wall Thermostat for floor heating’,
supports: ‘Temperature sensor: Airsensor, floorsensor or regulator, Saving program, Child-lock’,
fromZigbee: [fz.thermostat_att_report, fz.thermostat_weekly_schedule_rsp, fz.hvac_user_interface],
toZigbee: [
tz.factory_reset, tz.thermostat_local_temperature, tz.thermostat_local_temperature_calibration,
tz.thermostat_occupancy, tz.thermostat_occupied_heating_setpoint,
tz.thermostat_temperature_display_mode, tz.thermostat_keypad_lockout,
tz.thermostat_setpoint_raise_lower, tz.thermostat_remote_sensing,
tz.thermostat_control_sequence_of_operation, tz.thermostat_system_mode, tz.thermostat_weekly_schedule,
tz.thermostat_clear_weekly_schedule, tz.thermostat_relay_status_log,
tz.thermostat_temperature_setpoint_hold, tz.thermostat_temperature_setpoint_hold_duration,
],
meta: {configureKey: 1},
configure: async (device, coordinatorEndpoint) => {
const endpoint = device.getEndpoint(1);
await bind(endpoint, coordinatorEndpoint, [‘hvacThermostat’, ‘genBasic’, ‘genIdentify’]);
await configureReporting.thermostatTemperature(endpoint);
await configureReporting.thermostatSystemMode(endpoint);
await configureReporting.thermostatOccupiedHeatingSetpoint(endpoint);
await configureReporting.thermostatSystemMode(endpoint);
},

This is what Im using now, I guess some of it could be removed. Since Im only able to see under “state” Last_seen, linkquality, local_temperature, occupied_heating setpoint, system_mode.
I have also linked to confirmed Vendor Specific attributes under information about the device, maybe someone that know how to do this programming to add the correct code to device.js

Information about the device
Datasheet
Vendor Specific attributes

Please let me know, if its some logfiles or data I can provide to assist to make this device supported.
For information Im running bare-metal of zigbee2mqtt on a Pi4 with a Electrolama zig-a-zig-ah! (zzh!) stick with firmware CC26X2R1_20200925 installed.

Any luck with this? I have 5 of these thermostat, hoping to get them to play nice with home assistant.