Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ZHA quirk for TS0601_TZE204_edl8pz1k - Smart heating thermostat #57

Open
rrmt23 opened this issue Oct 12, 2024 · 0 comments
Open

ZHA quirk for TS0601_TZE204_edl8pz1k - Smart heating thermostat #57

rrmt23 opened this issue Oct 12, 2024 · 0 comments

Comments

@rrmt23
Copy link

rrmt23 commented Oct 12, 2024

Hi

Can you help make quirk for:
TS0601_TZE204_edl8pz1k
is a electro floor thermostat.

I found same device for external connecotor z2m:

const exposes = require('zigbee-herdsman-converters/lib/exposes');
const tuya = require('zigbee-herdsman-converters/lib/tuya');
const e = exposes.presets;
const ea = exposes.access;

const definition = {
    fingerprint: tuya.fingerprint('TS0601', ['_TZE200_edl8pz1k', '_TZE204_edl8pz1k']),
    model: 'TS0601_floor_thermostat',
    vendor: 'TuYa',
    description: 'Zigbee thermostat for electric floors',
    fromZigbee: [tuya.fz.datapoints],
    toZigbee: [tuya.tz.datapoints],
    onEvent: tuya.onEventSetTime, // Add this if you are getting no converter for 'commandMcuSyncTime'
    configure: tuya.configureMagicPacket,
    exposes: [
        e.climate()
            .withSystemMode(['off', 'heat'], ea.STATE_SET)
            .withPreset(['manual', 'auto'])
            .withRunningState(['idle', 'heat'], ea.STATE)
            .withSetpoint('current_heating_setpoint', 5, 35, 0.5, ea.STATE_SET)
            .withLocalTemperature(ea.STATE).withDescription('Floor temperature')
            .withLocalTemperatureCalibration(-9, 9, 0.1, ea.STATE_SET).withDescription('Calibration floor temperature sensor'),
        e.deadzone_temperature().withValueMin(0).withValueMax(5).withValueStep(1).withDescription('Floor temperature'),
        e.child_lock(),
        ...tuya.exposes.scheduleAllDays(ea.STATE_SET, 'HH:MM/C HH:MM/C HH:MM/C HH:MM/C'),
    ],
    meta: {
        tuyaDatapoints: [
            [1, 'system_mode', tuya.valueConverterBasic.lookup({'heat': true, 'off': false})],
            [2, 'preset', tuya.valueConverter.tv02Preset()],
            [16, 'current_heating_setpoint', tuya.valueConverter.divideBy10],
            [24, 'device_temperature', tuya.valueConverter.divideBy10],
            [27, 'local_temperature_calibration', tuya.valueConverter.localTempCalibration2],
            [36, 'running_state', tuya.valueConverterBasic.lookup({'heat': tuya.enum(0), 'idle': tuya.enum(1)})],
            [40, 'child_lock', tuya.valueConverter.lockUnlock],
            [102, 'local_temperature', tuya.valueConverter.divideBy10],
            [103, 'deadzone_temperature', tuya.valueConverter.raw],
            [110, 'schedule_monday', tuya.valueConverter.thermostatScheduleDayMultiDP],
            [109, 'schedule_tuesday', tuya.valueConverter.thermostatScheduleDayMultiDP],
            [108, 'schedule_wednesday', tuya.valueConverter.thermostatScheduleDayMultiDP],
            [107, 'schedule_thursday', tuya.valueConverter.thermostatScheduleDayMultiDP],
            [106, 'schedule_friday', tuya.valueConverter.thermostatScheduleDayMultiDP],
            [105, 'schedule_saturday', tuya.valueConverter.thermostatScheduleDayMultiDP],
            [101, 'schedule_sunday', tuya.valueConverter.thermostatScheduleDayMultiDP],
        ],
    },
    whiteLabel: [{vendor: 'ELECTSMART', model: 'EST-120Z'}],
};
module.exports = definition;

Device signature:

{
  "node_descriptor": {
    "logical_type": 1,
    "complex_descriptor_available": 0,
    "user_descriptor_available": 0,
    "reserved": 0,
    "aps_flags": 0,
    "frequency_band": 8,
    "mac_capability_flags": 142,
    "manufacturer_code": 4417,
    "maximum_buffer_size": 66,
    "maximum_incoming_transfer_size": 66,
    "server_mask": 10752,
    "maximum_outgoing_transfer_size": 66,
    "descriptor_capability_field": 0
  },
  "endpoints": {
    "1": {
      "profile_id": "0x0104",
      "device_type": "0x0051",
      "input_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0xef00"
      ],
      "output_clusters": [
        "0x000a",
        "0x0019"
      ]
    },
    "242": {
      "profile_id": "0xa1e0",
      "device_type": "0x0061",
      "input_clusters": [],
      "output_clusters": [
        "0x0021"
      ]
    }
  },
  "manufacturer": "_TZE204_edl8pz1k",
  "model": "TS0601",
  "class": "zigpy.device.Device"
}

But I can't find a solution for my device.
I've tried 1000 options, but I'm at a dead end.

Help please!

@rrmt23 rrmt23 changed the title ZHA qurik for TS0601_TZE204_edl8pz1k - electric heat ZHA quirk for TS0601_TZE204_edl8pz1k - Smart heating thermostat Oct 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant