8gang compatible met zigbee2mqtt?

Pagina: 1
Acties:

Vraag


  • NeFoRcE
  • Registratie: Mei 2004
  • Laatst online: 05-06 15:28

NeFoRcE

Hallo? Bent u daar?

Topicstarter
Dag!

Ik zoek mij helemaal ongans, ik kwam dit dingetje tegen:

https://aliexpress.com/item/1005005457929328.html

Als ik het goed zie, heeft deze alleen input VD draad nodig, en zou via zigbee andere apparaten kunnen aansturen. Ik heb alles we in huis, home assistant, zigbee, etc.

Klopt mijn gedachte? En dan nog vraag twee, ik heb alle 'gang' apparaten op zigbee2mqtt gechecked, maar kom deze niet tegen. Of heet deze anders? Ofwel, hoe stuur ik dit aan met zigbee2mqtt?

Hebben mensen ervaring met dit apparaat bijv?

Dank!

[ Voor 0% gewijzigd door Septillion op 16-11-2024 10:57 . Reden: Link cleanup ]

Professioneel Heftruck Syndroom

Alle reacties


Acties:
  • +1 Henk 'm!

  • FredvZ
  • Registratie: Februari 2002
  • Laatst online: 19:57
"8gang" is geen merk of type, maar een Engelse term voor 8-voudig

De specifieke schakelaar werkt met Tuya. Daarover kan je irt mqtt2zigbee hier meer vinden: https://www.zigbee2mqtt.i...ort_new_tuya_devices.html

[ Voor 62% gewijzigd door FredvZ op 14-11-2024 21:52 ]

Spel en typfouten voorbehouden


Acties:
  • 0 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Nu online

Gizz

Dunder-Mifflin, Inc.

NeFoRcE schreef op donderdag 14 november 2024 @ 21:33:
Als ik het goed zie, heeft deze alleen input VD draad nodig
Ja, hij wordt gevoed met netspanning. Als je met input bedoelt dat hij met VD-draad een signaal als input kan gebruiken (bijvoorbeeld van een andere schakelaar), dan klopt je aanname niet.
en zou via zigbee andere apparaten kunnen aansturen.
Ja, met een zigbee-knop (want dat is dit ding) kun je zigbee-apparaten aansturen. Direct, via een binding tussen de knop en het andere apparaat. Of via HA.
Hebben mensen ervaring met dit apparaat bijv?
Nee, maar ik vraag me wel af waarom je juist deze knop wilt hebben? Ik vind 'm erg specifiek met teksten als 'reception', 'play' en 'curtain' op de knoppen. Die teksten slaan nergens op als je de betreffende knop voor iets heel anders wil gebruiken :P

Canon EOS 5Dm3 + 5D + 7D + 300D + 1000FN + EF 17-40 4L + EF 35 1.4L + EF 50 1.8 + EF 80-200 2.8L + 550EX


Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 18:04

Septillion

Moderator Wonen & Mobiliteit
Provide a variety of Chinese / English scene button paters, which can flexible define the function of each button.
Lijkt er dus op dat je die kunt wisselen. Lijkt me dus best een tof ding :)

Ik zie wel wat 8 button knoppen in Z2M maar niet deze. Maar goed, hoeft je niet tegen te doen houden. Met wat debuggen zit hij zo in Z2M :)

Acties:
  • 0 Henk 'm!

  • NeFoRcE
  • Registratie: Mei 2004
  • Laatst online: 05-06 15:28

NeFoRcE

Hallo? Bent u daar?

Topicstarter
Gizz schreef op vrijdag 15 november 2024 @ 11:10:
[...]

Ja, hij wordt gevoed met netspanning. Als je met input bedoelt dat hij met VD-draad een signaal als input kan gebruiken (bijvoorbeeld van een andere schakelaar), dan klopt je aanname niet.


[...]

Ja, met een zigbee-knop (want dat is dit ding) kun je zigbee-apparaten aansturen. Direct, via een binding tussen de knop en het andere apparaat. Of via HA.


[...]

Nee, maar ik vraag me wel af waarom je juist deze knop wilt hebben? Ik vind 'm erg specifiek met teksten als 'reception', 'play' en 'curtain' op de knoppen. Die teksten slaan nergens op als je de betreffende knop voor iets heel anders wil gebruiken :P
Ja, ik heb al heel veel apparaten op batterij (sensoren enzo), en gezien die wandschakelaars van bijv hue (die we nu hebben) veel gebruikt worden nog, (ondanks allerlei automatiseringen, iets met kinderen en een vrouw), leek het mij handig om een 230V gevoede zigbeeschakelaar te hebben, maar wel met zoveel knoppen dat ik ook 't rolgordijn, gordijnen, en de rolluiken er mee kan bedienen. Ik vermoed dat daar dit apparaat perfect voor is, wat jullie?

Professioneel Heftruck Syndroom


Acties:
  • 0 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Nu online

Gizz

Dunder-Mifflin, Inc.

NeFoRcE schreef op zaterdag 16 november 2024 @ 20:18:
[...]
Ik vermoed dat daar dit apparaat perfect voor is, wat jullie?
Hij gaat het 99,9% zeker prima doen in combinatie met Z2M, maar wellicht wel pas nadat iemand een custom converter heeft gemaakt en deze is toegevoegd aan Z2M. Het kan echter ook zo zijn dat hij het wel meteen doet.

Hij zou écht perfect zijn als hij nu al in de database van Z2M zou staan, zodat je zeker weet dat hij het doet en er geen extra stappen gezet hoeven worden :) Met een beetje gelukt is het intern gewoon een Tuya die al ondersteund wordt (voorbeeldje), maar het staat er helaas niet bij. En soms zie je in de reviews op Aliexpres ook iemand noemen dat hij goed werkt met Z2M, maar dat is met deze knop helaas ook niet het geval.

Voordeel van in de Z2M-database staan is dat je ook meteen zeker weet wat de exposes zijn van het apparaat. Want dat kan ook variëren van alleen een enkele klik kunnen detecteren, tot ook dubbel/driedubbele kliks of short/long-press als verschillende exposes zien. Zo heb ik een aantal Tuya TS004F's in huis: die hebben 'maar' 4 knoppen, maar doordat elke knop single press / double press / hold kan doorgeven heb ik eigenlijk 12 verschillende dingen ik kan koppelen (4 knoppen maal 3 functies).

[ Voor 46% gewijzigd door Gizz op 17-11-2024 12:21 ]

Canon EOS 5Dm3 + 5D + 7D + 300D + 1000FN + EF 17-40 4L + EF 35 1.4L + EF 50 1.8 + EF 80-200 2.8L + 550EX


Acties:
  • 0 Henk 'm!

  • NeFoRcE
  • Registratie: Mei 2004
  • Laatst online: 05-06 15:28

NeFoRcE

Hallo? Bent u daar?

Topicstarter
Gizz schreef op zondag 17 november 2024 @ 12:08:
[...]

Hij gaat het 99,9% zeker prima doen in combinatie met Z2M, maar wellicht wel pas nadat iemand een custom converter heeft gemaakt en deze is toegevoegd aan Z2M. Het kan echter ook zo zijn dat hij het wel meteen doet.

Hij zou écht perfect zijn als hij nu al in de database van Z2M zou staan, zodat je zeker weet dat hij het doet en er geen extra stappen gezet hoeven worden :) Met een beetje gelukt is het intern gewoon een Tuya die al ondersteund wordt (voorbeeldje), maar het staat er helaas niet bij. En soms zie je in de reviews op Aliexpres ook iemand noemen dat hij goed werkt met Z2M, maar dat is met deze knop helaas ook niet het geval.

Voordeel van in de Z2M-database staan is dat je ook meteen zeker weet wat de exposes zijn van het apparaat. Want dat kan ook variëren van alleen een enkele klik kunnen detecteren, tot ook dubbel/driedubbele kliks of short/long-press als verschillende exposes zien. Zo heb ik een aantal Tuya TS004F's in huis: die hebben 'maar' 4 knoppen, maar doordat elke knop single press / double press / hold kan doorgeven heb ik eigenlijk 12 verschillende dingen ik kan koppelen (4 knoppen maal 3 functies).
Ja, het zou super zijn als dit zo werkt natuurlijk. 20 euro is nog wel het gokje waard. Ik ga gewoon 1 bestellen en als ik meer weet laat ik het hier sowieso nog even weten. Die ts004F die jij bedoeld heb ik ook idd. Ik heb die van Moes, en had wat issues met het verkeerd detecteren van het typenummer. Is een kwaaltje met die dingen ofzo, maar ik gebruik alleen de single klik. Maar terug op dat ding uit de TS. Zou vet zijn als dit werkt. Ik laat het jullie weten! :)

Professioneel Heftruck Syndroom


Acties:
  • 0 Henk 'm!

  • NeFoRcE
  • Registratie: Mei 2004
  • Laatst online: 05-06 15:28

NeFoRcE

Hallo? Bent u daar?

Topicstarter
Nou, heb 'm binnen, maar wordt inderdaad niet ondersteunt helaas.

In de ontwikkelaarsconsole van zigbee2mqtt wordt dit uitgespuugd:

code:
1
2
3
4
5
6
7
8
9
10
11
12
const {battery, commandsOnOff, commandsLevelCtrl, commandsColorCtrl} = require('zigbee-herdsman-converters/lib/modernExtend');

const definition = {
    zigbeeModel: ['TS1002'],
    model: 'TS1002',
    vendor: '_TZ3000_xa9g7rxs',
    description: 'Automatically generated definition',
    extend: [battery(), commandsOnOff(), commandsLevelCtrl(), commandsColorCtrl()],
    meta: {},
};

module.exports = definition;


Maar als ik dat opsla in /config, onder TS1002.js en dit als externe converter toevoeg, zie ik niets veranderen helaas.

Afbeeldingslocatie: https://tweakers.net/i/uf61ZvGoYJpQJ-1YfvNIGIStg7Y=/800x/filters:strip_exif()/f/image/oVqIkonKnCO7U9CZcBF8UNTv.png?f=fotoalbum_large

Ik las online al dat de UI documentatie niet helemaal klopt en ook de configuration.yaml manual niet, maar volgens mij zou dit het zo moeten zijn.

Andere mensen nog tips?

Professioneel Heftruck Syndroom


Acties:
  • 0 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Nu online

Gizz

Dunder-Mifflin, Inc.

Heb je Z2M opnieuw gestart na het toevoegen van de converter?

Canon EOS 5Dm3 + 5D + 7D + 300D + 1000FN + EF 17-40 4L + EF 35 1.4L + EF 50 1.8 + EF 80-200 2.8L + 550EX


Acties:
  • 0 Henk 'm!

  • NeFoRcE
  • Registratie: Mei 2004
  • Laatst online: 05-06 15:28

NeFoRcE

Hallo? Bent u daar?

Topicstarter
Jep, zowel vanuit z2m als de addon herstart, maar zonder enige zichtbare wijzigingen helaas.

Heb ook een issue geopend voor 't nieuwe apparaat, ter info;

https://github.com/Koenkk/zigbee2mqtt/issues/25050

[ Voor 39% gewijzigd door NeFoRcE op 03-12-2024 22:15 ]

Professioneel Heftruck Syndroom


Acties:
  • 0 Henk 'm!

  • NeFoRcE
  • Registratie: Mei 2004
  • Laatst online: 05-06 15:28

NeFoRcE

Hallo? Bent u daar?

Topicstarter
Af en toe weer opgepakt dit, maar ik kom er echt niet uit. Ik vind de documentatie ook écht niet bruikbaar, ondanks dat het onlangs is aangepast.

Bij clustsers zie ik dat dit een tuya apparaat lijkt te zijn. Kan iemand aangeven wat nu de stappen zijn? Heel erg bedankt alvast!

Professioneel Heftruck Syndroom


Acties:
  • 0 Henk 'm!

  • NeFoRcE
  • Registratie: Mei 2004
  • Laatst online: 05-06 15:28

NeFoRcE

Hallo? Bent u daar?

Topicstarter
Wellicht iemand die kan helpen? Met ChatGPT kom ik er ook niet uit, het lijkt niet te werken, zo moeilijk moet het niet zijn toch?

Ter info:

homeassistant/zigbee2mqtt/ts1002.js:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
const fz = {
    ts1002_action: {
        cluster: 'genOnOff',
        type: ['commandTuyaAction'],
        convert: (model, msg, publish, options, meta) => {
            const data = msg.data?.data?.data;
            meta.logger.info(`TS1002 raw data bytes: ${JSON.stringify(data)}`);

            if (!Array.isArray(data) || data.length < 2) {
                meta.logger.warn(`TS1002 payload ontbreekt of te kort: ${JSON.stringify(data)}`);
                return { action: 'invalid_payload' }; // retourneer een veilige fallback waarde
            }

            const button = data[0];
            const action_code = data[1];

            const actionLookup = {
                0: 'single',
                1: 'double',
                2: 'triple',
                3: 'hold',
                4: 'release',
                5: 'long',
            };

            let action = actionLookup[action_code];
            let debugNote = '';

            if (action === undefined) {
                action = `unknown_${action_code}`;
                debugNote = ' (⚠️   onbekende actiecode!)';
            }

            const result = {
                action: `button_${button}_${action}`,
            };

            meta.logger.info(`TS1002 action: button=${button} action_code=${action_code} → ${action}${debugNote}`);

            return result;
        },
    },
};

module.exports = fz;


homeassistant/zigbee2mqtt/ts1002_definition.js (geen idee of deze wel wordt ingeladen?):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const e = exposes.presets;
const ea = exposes.access;

module.exports = {
    fingerprint: [
        {modelID: 'TS1002', manufacturerName: '_TZ3000_xa9g7rxs'},
    ],
    model: 'TS1002',
    vendor: 'Tuya',
    description: '8 button remote control',
    fromZigbee: [require('./ts1002.js').ts1002_action],
    toZigbee: [],
    exposes: [
        exposes.enum('action', ea.STATE, [
            'button_1_single', 'button_1_double', 'button_1_triple', 'button_1_hold', 'button_1_release', 'button_1_long',
            'button_2_single', 'button_2_double', 'button_2_triple', 'button_2_hold', 'button_2_release', 'button_2_long',
            'button_3_single', 'button_3_double', 'button_3_triple', 'button_3_hold', 'button_3_release', 'button_3_long',
            'button_4_single', 'button_4_double', 'button_4_triple', 'button_4_hold', 'button_4_release', 'button_4_long',
            'button_5_single', 'button_5_double', 'button_5_triple', 'button_5_hold', 'button_5_release', 'button_5_long',
            'button_6_single', 'button_6_double', 'button_6_triple', 'button_6_hold', 'button_6_release', 'button_6_long',
            'button_7_single', 'button_7_double', 'button_7_triple', 'button_7_hold', 'button_7_release', 'button_7_long',
            'button_8_single', 'button_8_double', 'button_8_triple', 'button_8_hold', 'button_8_release', 'button_8_long',
        ]),
    ],
};


Maar krijg nog fouten in de log als:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[2025-05-08 09:30:09] debug:    zh:zstack:unpi:parser: <-- [254,5,69,196,7,183,1,70,64,51]
[2025-05-08 09:30:09] debug:    zh:zstack:unpi:parser: --- parseNext [254,5,69,196,7,183,1,70,64,51]
[2025-05-08 09:30:09] debug:    zh:zstack:unpi:parser: --> parsed 5 - 2 - 5 - 196 - [7,183,1,70,64] - 51
[2025-05-08 09:30:09] debug:    zh:zstack:znp: <-- AREQ: ZDO - srcRtgInd
[2025-05-08 09:30:09] debug:    zh:zstack:unpi:parser: --- parseNext []
[2025-05-08 09:30:09] debug:    zh:zstack:unpi:parser: <-- [254,26,68,129,0,0,6,0,7,183,1,1,0,54,0,70,243,218,0,0,6,1,47,253,0,0,1,70,64,28,254]
[2025-05-08 09:30:09] debug:    zh:zstack:unpi:parser: --- parseNext [254,26,68,129,0,0,6,0,7,183,1,1,0,54,0,70,243,218,0,0,6,1,47,253,0,0,1,70,64,28,254]
[2025-05-08 09:30:09] debug:    zh:zstack:unpi:parser: --> parsed 26 - 2 - 4 - 129 - [0,0,6,0,7,183,1,1,0,54,0,70,243,218,0,0,6,1,47,253,0,0,1,70,64,28] - 254
[2025-05-08 09:30:09] debug:    zh:zstack:znp: <-- AREQ: AF - incomingMsg - {"groupid":0,"clusterid":6,"srcaddr":46855,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":54,"securityuse":0,"timestamp":14349126,"transseqnumber":0,"len":6,"data":{"type":"Buffer","data":[1,47,253,0,0,1]}}
[2025-05-08 09:30:09] debug:    zh:controller: Received payload: clusterID=6, address=46855, groupID=0, endpoint=1, destinationEndpoint=1, wasBroadcast=false, linkQuality=54, frame={"header":{"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":false,"reservedBits":0},"transactionSequenceNumber":47,"commandIdentifier":253},"payload":{"value":0,"data":{"type":"Buffer","data":[0,1]}},"command":{"ID":253,"parameters":[{"name":"value","type":32},{"name":"data","type":1008}],"name":"tuyaAction"}}
[2025-05-08 09:30:09] debug:    zh:controller:endpoint: ZCL command 0x0ceff6fffea6328a/1 genOnOff.defaultRsp({"cmdId":253,"statusCode":0}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"reservedBits":0,"transactionSequenceNumber":47,"writeUndiv":false})
[2025-05-08 09:30:09] debug:    zh:zstack: sendZclFrameToEndpointInternal 0x0ceff6fffea6328a:46855/1 (0,0,1)
[2025-05-08 09:30:09] debug:    zh:zstack:znp: --> SREQ: AF - dataRequest - {"dstaddr":46855,"destendpoint":1,"srcendpoint":1,"clusterid":6,"transid":5,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[24,47,11,253,0]}}
[2025-05-08 09:30:09] debug:    zh:zstack:unpi:writer: --> frame [254,15,36,1,7,183,1,1,6,0,5,0,30,5,24,47,11,253,0,67]
[2025-05-08 09:30:09] debug:    zh:zstack:unpi:parser: --- parseNext []
[2025-05-08 09:30:09] debug:    z2m: Received Zigbee message from '8-buttons Fleur', type 'commandTuyaAction', cluster 'genOnOff', data '{"data":{"data":[0,1],"type":"Buffer"},"value":0}' from endpoint 1 with groupID 0
[2025-05-08 09:30:09] error:    z2m: Exception while calling fromZigbee converter: Cannot read properties of undefined (reading '0')}
[2025-05-08 09:30:09] debug:    z2m: TypeError: Cannot read properties of undefined (reading '0')
    at Object.convert (/app/dist/external_converters/ts1002.js:9:32)
    at Receive.onDeviceMessage (/app/lib/extension/receive.ts:171:51)
    at EventEmitter.wrappedCallback (/app/lib/eventBus.ts:204:23)
    at EventEmitter.emit (node:events:536:35)
    at EventBus.emitDeviceMessage (/app/lib/eventBus.ts:130:22)
    at Controller.<anonymous> (/app/lib/zigbee.ts:129:27)
[2025-05-08 09:30:09] info:     z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/8-buttons Fleur', payload '{"battery":100,"last_seen":"2025-05-08T07:30:09.933Z","linkquality":54}'
[2025-05-08 09:30:09] debug:    zh:zstack:unpi:parser: <-- [254,1,100,1,0,100]
[2025-05-08 09:30:09] debug:    zh:zstack:unpi:parser: --- parseNext [254,1,100,1,0,100]
[2025-05-08 09:30:09] debug:    zh:zstack:unpi:parser: --> parsed 1 - 3 - 4 - 1 - [0] - 100
[2025-05-08 09:30:09] debug:    zh:zstack:znp: <-- SRSP: AF - dataRequest - {"status":0}
[2025-05-08 09:30:09] debug:    zh:zstack:unpi:parser: --- parseNext []
[2025-05-08 09:30:09] debug:    zh:zstack:unpi:parser: <-- [254,3,68,128,0,1,5,195]
[2025-05-08 09:30:09] debug:    zh:zstack:unpi:parser: --- parseNext [254,3,68,128,0,1,5,195]
[2025-05-08 09:30:09] debug:    zh:zstack:unpi:parser: --> parsed 3 - 2 - 4 - 128 - [0,1,5] - 195
[2025-05-08 09:30:09] debug:    zh:zstack:znp: <-- AREQ: AF - dataConfirm - {"status":0,"endpoint":1,"transid":5}
[2025-05-08 09:30:09] debug:    zh:zstack:unpi:parser: --- parseNext []

Professioneel Heftruck Syndroom

Pagina: 1