Skip to content

Instantly share code, notes, and snippets.

@kszere
Created August 3, 2025 16:27
Show Gist options
  • Select an option

  • Save kszere/cbb59f1483d2f7b57b45e23f14697d07 to your computer and use it in GitHub Desktop.

Select an option

Save kszere/cbb59f1483d2f7b57b45e23f14697d07 to your computer and use it in GitHub Desktop.
Roleta Fakro ZigBee
Utwórz external_converters dla Z2M dla poniższego urządzenia. Jest to roleta do okna dachowego z panelem fotowoltaicznym. Projektowane do użycia przez Tuya. Bramka Wi-Fi na ZigBee osobny elementz nie w zestawie. Posiada wbudowany akumulator i złącze microUSB na obudowie.
DANE URZĄDZENIA:
Fakro ARF WF TU/052 SOL 78X140
rb-341489
KOD CN 63031200
EAN 5905989532526
To roleta ze sterowaniem ZigBee.
Używam ZigBee2Mqtt.
export default {
zigbeeModel: ['TS0601'],
model: 'TS0601',
vendor: '_TZE200_3dwga3zk',
description: 'Automatically generated definition',
extend: [],
meta: {},
};
LOGI:
z2m: Device '0x70ac08fffec521c5' with Zigbee model 'TS0601' and manufacturer name '_TZE200_3dwga3zk' is NOT supported, please follow https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html
z2m: Successfully interviewed '0x70ac08fffec521c5', device has successfully been paired
zh:controller: Succesfully interviewed '0x70ac08fffec521c5'
[email protected]
Pokaż tylko
all
Filtruj po tekście
0x70ac08fffec521c5
Log level
debug
Logging level
Logs limit
100
info 2025-08-03 17:59:46z2m: Removing device '0x70ac08fffec521c5' (block: false, force: true)
info 2025-08-03 17:59:46z2m:mqtt: MQTT publish: topic 'homeassistant/sensor/0x70ac08fffec521c5/linkquality/config', payload ''
info 2025-08-03 17:59:46z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x70ac08fffec521c5', payload ''
info 2025-08-03 17:59:46z2m: Successfully removed device '0x70ac08fffec521c5' (block: false, force: true)
info 2025-08-03 17:59:46z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/response/device/remove', payload '{"data":{"block":false,"force":true,"id":"0x70ac08fffec521c5"},"status":"ok","transaction":"7btfo-10"}'
info 2025-08-03 18:00:01z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/health', payload '{"response_time":1754236801843,"os":{"load_average":[0.01,0.05,0.06],"memory_used_mb":1569.56,"memory_percent":26.4924},"process":{"uptime_sec":59187,"memory_used_mb":141.07,"memory_percent":2.381},"mqtt":{"connected":true,"queued":0,"published":59725,"received":1433},"devices":{"0xa4c138e417f83e10":{"messages":476,"messages_per_sec":0.008,"leave_count":0,"network_address_changes":0},"0xa4c1389ace9136c0":{"messages":10273,"messages_per_sec":0.1736,"leave_count":0,"network_address_changes":0},"0xa4c138d67dba8941":{"messages":643,"messages_per_sec":0.0109,"leave_count":0,"network_address_changes":0},"0x54ef441000b16504":{"messages":4739,"messages_per_sec":0.0801,"leave_count":0,"network_address_changes":0},"0xa4c1382b6891fd46":{"messages":8272,"messages_per_sec":0.1398,"leave_count":0,"network_address_changes":0},"0x94b216fffeb383a3":{"messages":15820,"messages_per_sec":0.2674,"leave_count":0,"network_address_changes":0},"0xa4c1383a290fbdc4":{"messages":11755,"messages_per_sec":0.1987,"leave_count":0,"network_address_changes":0},"0xa4c1383525db1831":{"messages":900,"messages_per_sec":0.0152,"leave_count":0,"network_address_changes":0},"0xa4c1386829bb74b1":{"messages":8761,"messages_per_sec":0.1481,"leave_count":0,"network_address_changes":0},"0x54ef441000957bf9":{"messages":155,"messages_per_sec":0.0026,"leave_count":0,"network_address_changes":0},"0x048727fffe88ae33":{"messages":896,"messages_per_sec":0.0151,"leave_count":0,"network_address_changes":0},"0xa4c1384f9ba420b6":{"messages":1695,"messages_per_sec":0.0287,"leave_count":0,"network_address_changes":0},"0xa4c1389a3b90cfdd":{"messages":967,"messages_per_sec":0.0163,"leave_count":0,"network_address_changes":0},"0xa4c13832cc66c635":{"messages":922,"messages_per_sec":0.0156,"leave_count":0,"network_address_changes":0},"0xa4c138d69a832ef2":{"messages":1552,"messages_per_sec":0.0262,"leave_count":0,"network_address_changes":0},"0xa4c13803676d1330":{"messages":7736,"messages_per_sec":0.1309,"leave_count":0,"network_address_changes":0},"0xa4c1388a47aaeb2d":{"messages":975,"messages_per_sec":0.0165,"leave_count":0,"network_address_changes":0},"0xa4c1381d558306d1":{"messages":6954,"messages_per_sec":0.1178,"leave_count":0,"network_address_changes":0},"0x00158d000ae1769f":{"messages":248,"messages_per_sec":0.0042,"leave_count":0,"network_address_changes":0},"0x54ef441000ae7c9e":{"messages":71,"messages_per_sec":0.0012,"leave_count":0,"network_address_changes":0},"0x54ef441000ae65f2":{"messages":65,"messages_per_sec":0.0012,"leave_count":0,"network_address_changes":0},"0x00158d008b7fb469":{"messages":18,"messages_per_sec":0.0003,"leave_count":0,"network_address_changes":0},"0x70ac08fffec521c5":{"messages":197,"messages_per_sec":0.0719,"leave_count":0,"network_address_changes":0}}}'
info 2025-08-03 18:00:28zh:controller: Interview for '0x70ac08fffec521c5' started
info 2025-08-03 18:00:28z2m: Device '0x70ac08fffec521c5' joined
info 2025-08-03 18:00:28z2m: Starting interview of '0x70ac08fffec521c5'
info 2025-08-03 18:00:28z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x70ac08fffec521c5","ieee_address":"0x70ac08fffec521c5"},"type":"device_joined"}'
info 2025-08-03 18:00:28z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x70ac08fffec521c5","ieee_address":"0x70ac08fffec521c5","status":"started"},"type":"device_interview"}'
info 2025-08-03 18:00:28z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x70ac08fffec521c5","ieee_address":"0x70ac08fffec521c5"},"type":"device_announce"}'
info 2025-08-03 18:00:47zh:controller: Succesfully interviewed '0x70ac08fffec521c5'
info 2025-08-03 18:00:47z2m: Successfully interviewed '0x70ac08fffec521c5', device has successfully been paired
warning 2025-08-03 18:00:47z2m: Device '0x70ac08fffec521c5' with Zigbee model 'TS0601' and manufacturer name '_TZE200_3dwga3zk' is NOT supported, please follow https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html
info 2025-08-03 18:00:47z2m:mqtt: MQTT publish: topic 'homeassistant/sensor/0x70ac08fffec521c5/linkquality/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state","value_template":"{{ value_json.state }}"}],"device":{"hw_version":1,"identifiers":["zigbee2mqtt_0x70ac08fffec521c5"],"manufacturer":"_TZE200_3dwga3zk","model":"Automatically generated definition","model_id":"TS0601","name":"0x70ac08fffec521c5","via_device":"zigbee2mqtt_bridge_0x00124b002f8dae7d"},"enabled_by_default":false,"entity_category":"diagnostic","icon":"mdi:signal","name":"Linkquality","object_id":"0x70ac08fffec521c5_linkquality","origin":{"name":"Zigbee2MQTT","sw":"2.6.0","url":"https://www.zigbee2mqtt.io"},"state_class":"measurement","state_topic":"zigbee2mqtt/0x70ac08fffec521c5","unique_id":"0x70ac08fffec521c5_linkquality_zigbee2mqtt","unit_of_measurement":"lqi","value_template":"{{ value_json.linkquality }}"}'
info 2025-08-03 18:00:47z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"definition":{"description":"Automatically generated definition","exposes":[{"access":1,"category":"diagnostic","description":"Link quality (signal strength)","label":"Linkquality","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"TS0601","options":[],"source":"generated","supports_ota":false,"vendor":"_TZE200_3dwga3zk"},"friendly_name":"0x70ac08fffec521c5","ieee_address":"0x70ac08fffec521c5","status":"successful","supported":false},"type":"device_interview"}'
@kszere
Copy link
Author

kszere commented Aug 3, 2025

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

module.exports = {
    fingerprint: [
        {modelID: 'TS0601', manufacturerName: '_TZE200_fzo2pocs'},  // dopasowane z logów
    ],
    model: 'FAKRO_ARF_SOL_TS0601',
    vendor: 'Fakro',
    description: 'Zigbee solar-powered roller shutter (ARF SOL)',
    fromZigbee: [fz.tuya_cover],
    toZigbee: [tz.tuya_cover_control, tz.tuya_cover_options],
    exposes: [e.cover_position().setAccess('position', ea.ALL)],
    configure: async (device, coordinatorEndpoint, logger) => {
        // Możesz tu dodać dalszą konfigurację, jeśli potrzebna
    },
    meta: {
        // Mapa rzeczywistych DP z logów
        tuyaDatapoints: [
            [1, 'state', tuya.valueConverterBasic.lookup({'OPEN': 'OPEN', 'CLOSE': 'CLOSE', 'STOP': 'STOP'})],
            [2, 'position', tuya.valueConverterBasic.position],
            [3, null, tuya.valueConverter.ignore], // nieznany dp
            [4, null, tuya.valueConverter.ignore], // nieznany dp
            [5, null, tuya.valueConverter.ignore], // nieznany dp
            [10, null, tuya.valueConverter.ignore], // ACKi lub status
        ],
    },
};

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment