Integration new devices

Aucun des deux n’est supporté ici ? | Zigbee2MQTT

Peux tu mettre entre </> les informations brutes?
Je regarderai si je parviens à les mettre sur le gihub de zigbee2mqtt

Dams

1 « J'aime »

Bonjour
Comme dit pour toute nouvelle intégration il faut passer par zigbee2mqtt. Malheureusement (et quelque soit le service pack) l’équipe jeedom ne peut pas prendre en charge cela :

  • c’est trop consommateur en temps pour la petite équipe, il faudrait quasiment une personne a temps plein au vue des demandes
  • ça demande systématiquement a avoir le module en question, jeedom n’a pas les moyens d’acheter chaque module…

Malheureusement, aucun n’est encore pris en charge sur la liste. Ils sont trop récents.

Clair! Merci beaucoup!

Mesureur:
TS0601
TZE204_81yrt3lo

{
    "ieee": "a4:c1:38:b5:cd:41:32:70",
    "nwk": 7491,
    "status": 2,
    "lqi": "255",
    "rssi": "-55",
    "last_seen": "1690192304.159175",
    "node_descriptor": "01:40:8e:41:11:42:42:00:00:2a:42:00:00",
    "endpoints": [
        {
            "id": 1,
            "status": 1,
            "device_type": 81,
            "profile_id": 260,
            "manufacturer": "_TZE204_81yrt3lo",
            "model": "TS0601",
            "output_clusters": [
                {
                    "id": 25,
                    "name": "Ota",
                    "attributes": []
                },
                {
                    "id": 10,
                    "name": "Time",
                    "attributes": []
                }
            ],
            "input_clusters": [
                {
                    "id": 4,
                    "name": "Groups",
                    "attributes": []
                },
                {
                    "id": 5,
                    "name": "Scenes",
                    "attributes": []
                },
                {
                    "id": 61184,
                    "name": "Cluster",
                    "attributes": []
                },
                {
                    "id": 0,
                    "name": "Basic",
                    "attributes": [
                        {
                            "id": 0,
                            "name": "zcl_version",
                            "value": 3
                        },
                        {
                            "id": 1,
                            "name": "app_version",
                            "value": 74
                        },
                        {
                            "id": 2,
                            "name": "stack_version",
                            "value": 0
                        },
                        {
                            "id": 3,
                            "name": "hw_version",
                            "value": 1
                        },
                        {
                            "id": 4,
                            "name": "manufacturer",
                            "value": "_TZE204_81yrt3lo"
                        },
                        {
                            "id": 5,
                            "name": "model",
                            "value": "TS0601"
                        },
                        {
                            "id": 6,
                            "name": "date_code",
                            "value": ""
                        },
                        {
                            "id": 7,
                            "name": "power_source",
                            "value": 1
                        }
                    ]
                }
            ]
        },
        {
            "id": 242,
            "status": 1,
            "device_type": 97,
            "profile_id": 41440,
            "manufacturer": null,
            "model": null,
            "output_clusters": [
                {
                    "id": 33,
                    "name": "GreenPowerProxy",
                    "attributes": []
                }
            ],
            "input_clusters": []
        }
    ],
    "signature": {
        "manufacturer": "_TZE204_81yrt3lo",
        "model": "TS0601",
        "node_desc": {
            "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": 260,
                "device_type": 81,
                "input_clusters": [
                    4,
                    5,
                    61184,
                    0
                ],
                "output_clusters": [
                    25,
                    10
                ]
            },
            "242": {
                "profile_id": 41440,
                "device_type": 97,
                "input_clusters": [],
                "output_clusters": [
                    33
                ]
            }
        }
    },
    "class": "zigpy.device"
}

Sirène:
TS0601
TZE204_k7mfgaen

{
    "ieee": "a4:c1:38:98:6c:13:5f:24",
    "nwk": 4602,
    "status": 2,
    "lqi": "255",
    "rssi": "-66",
    "last_seen": "1689610321.859154",
    "node_descriptor": "01:40:8e:41:11:42:42:00:00:2a:42:00:00",
    "endpoints": [
        {
            "id": 1,
            "status": 1,
            "device_type": 81,
            "profile_id": 260,
            "manufacturer": "_TZE204_k7mfgaen",
            "model": "TS0601",
            "output_clusters": [
                {
                    "id": 25,
                    "name": "Ota",
                    "attributes": []
                },
                {
                    "id": 10,
                    "name": "Time",
                    "attributes": []
                }
            ],
            "input_clusters": [
                {
                    "id": 4,
                    "name": "Groups",
                    "attributes": []
                },
                {
                    "id": 5,
                    "name": "Scenes",
                    "attributes": []
                },
                {
                    "id": 61184,
                    "name": "Cluster",
                    "attributes": []
                },
                {
                    "id": 0,
                    "name": "Basic",
                    "attributes": [
                        {
                            "id": 0,
                            "name": "zcl_version",
                            "value": 3
                        },
                        {
                            "id": 1,
                            "name": "app_version",
                            "value": 74
                        },
                        {
                            "id": 2,
                            "name": "stack_version",
                            "value": 0
                        },
                        {
                            "id": 3,
                            "name": "hw_version",
                            "value": 1
                        },
                        {
                            "id": 4,
                            "name": "manufacturer",
                            "value": "_TZE204_k7mfgaen"
                        },
                        {
                            "id": 5,
                            "name": "model",
                            "value": "TS0601"
                        },
                        {
                            "id": 6,
                            "name": "date_code",
                            "value": ""
                        },
                        {
                            "id": 7,
                            "name": "power_source",
                            "value": 1
                        }
                    ]
                }
            ]
        },
        {
            "id": 242,
            "status": 1,
            "device_type": 97,
            "profile_id": 41440,
            "manufacturer": null,
            "model": null,
            "output_clusters": [
                {
                    "id": 33,
                    "name": "GreenPowerProxy",
                    "attributes": []
                }
            ],
            "input_clusters": []
        }
    ],
    "signature": {
        "manufacturer": "_TZE204_k7mfgaen",
        "model": "TS0601",
        "node_desc": {
            "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": 260,
                "device_type": 81,
                "input_clusters": [
                    4,
                    5,
                    61184,
                    0
                ],
                "output_clusters": [
                    25,
                    10
                ]
            },
            "242": {
                "profile_id": 41440,
                "device_type": 97,
                "input_clusters": [],
                "output_clusters": [
                    33
                ]
            }
        }
    },
    "class": "zigpy.device"
}

Encore, merci beaucoup!

Bonsoir,

Désolé mais ce n’est pas contre toi mais à une époque (pour ceux qui on connu Jeedom v2 et v3) quand on achetait du matos on se posait la question de la compatibilité avec Jeedom mais force de constater qu’avec le temps ce type de réflexion ne se fait plus et c’est malheureusement dommage.

3 « J'aime »

@raulrd2019 j’ai posté deux issues sur le github de zigbee2mqtt
Wait and see

Dams

1 « J'aime »

Merci beaucoup encore!

Si vous avez la gentillesse de me dire où vous l’avez fait, suivez l’affaire et à l’avenir faites-le directement là-bas.

J’ai fait la demande ici Issues · Koenkk/zigbee2mqtt · GitHub

Dams

Salut
Le convertisseur pour le module Tuya TS0601 TZE204_81yrt3lo a été crée.
Si tu ne veux pas attendre la mise à jour tu peux l’ajouter manuellement.
Je ne l’ai encore jamais fait mais @Loic pourrait confirmer la procédure.
Une fois valider je le rédigerai dans la doc.

  1. Depuis l’éditeur de fichier Jeedom il faut créer un dossier Tuya dans plugin/z2m/core/converters
    Entrée dans le dossier Tuya et créer un ficher nommé Tuya_TZE204_81yrt3lo.js
    Dans ce fichier, coller les éléments:
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 reporting = require('zigbee-herdsman-converters/lib/reporting');
const extend = require('zigbee-herdsman-converters/lib/extend');
const tuya = require('zigbee-herdsman-converters/lib/tuya');
const utils = require('zigbee-herdsman-converters/lib/utils');
const e = exposes.presets;
const ea = exposes.access;
const {Buffer} = require('buffer');

const valueConverter = {
divideBy10: tuya.valueConverterBasic.divideBy(10),
divideBy100: tuya.valueConverterBasic.divideBy(100),
};

const definition = {
fingerprint: [
{
modelID: 'TS0601',
manufacturerName: '_TZE204_81yrt3lo',
},
],
model: 'TS0601_Bidirectional_Energy_Meter_with_80A_Current_Clamp',
vendor: 'TuYa',
description: 'Bidirectional Energy Meter with 80A Current Clamp',
fromZigbee: [tuya.fz.datapoints], //, fz.ignore_tuya_set_time not working for No converter available for friendly_name with cluster manuSpecificTuya and type commandMcuSyncTime and data {payloadSize:XXX}
toZigbee: [tuya.tz.datapoints],
onEvent: tuya.onEventSetTime, // Add this if you are getting no converter for 'commandMcuSyncTime'
configure: tuya.configureMagicPacket,
whiteLabel: [ tuya.whitelabel('Tuya', 'PJ-1203A', 'Bidirectional Energy Meter with 80A Current Clamp', ['_TZE204_81yrt3lo']), ],
// whiteLabel: [{vendor: 'MatSeePlus', model: 'PJ-1203A'}],
exposes: [ //only report data
e.ac_frequency(),
exposes.numeric('total_power_A', ea.STATE).withUnit('W').withDescription('Total power A'),
exposes.numeric('total_power_B', ea.STATE).withUnit('W').withDescription('Total power B'),
exposes.numeric('total_power_AB', ea.STATE).withUnit('W').withDescription('Total power A'),
exposes.numeric('voltage', ea.STATE).withUnit('V').withDescription('Voltage'),
exposes.numeric('current_A', ea.STATE).withUnit('A').withDescription('Current A'),
exposes.numeric('current_B', ea.STATE).withUnit('A').withDescription('Current B'),
exposes.numeric('power_factor_A', ea.STATE).withUnit('%').withDescription('Instantaneous measured power factor A'),
exposes.numeric('power_factor_B', ea.STATE).withUnit('%').withDescription('Instantaneous measured power factor B'),
exposes.numeric('power_direction A', ea.STATE).withDescription('Power direction A 0/1 for forward/reverse'),
exposes.numeric('power_direction B', ea.STATE).withDescription('Power direction B 0/1 for forward/reverse'),
exposes.numeric('energy_forward_A', ea.STATE).withUnit('kWh').withDescription('Total energy A forward'),
exposes.numeric('energy_forward_B', ea.STATE).withUnit('kWh').withDescription('Total energy B forward'),
exposes.numeric('energy_reverse_A', ea.STATE).withUnit('kWh').withDescription('Total energy A reverse'),
exposes.numeric('energy_reverse_B', ea.STATE).withUnit('kWh').withDescription('Total energy B reverse'),
exposes.numeric('update_frequency', ea.STATE).withUnit('sec').withDescription('Update frequency'),
],

meta: {
    tuyaDatapoints: [//only report data
	    [111, 'ac_frequency', tuya.valueConverter.divideBy100],
        [101, 'total_power_A', tuya.valueConverter.divideBy10],
        [105, 'total_power_B', tuya.valueConverter.divideBy10],
        [115, 'total_power_AB', tuya.valueConverter.divideBy10],
		[112, 'voltage', tuya.valueConverter.divideBy10],
		[113, 'current_A', tuya.valueConverter.divideBy100],
		[114, 'current_B', tuya.valueConverter.divideBy100],
		[110, 'power_factor_A', tuya.valueConverter.divideBy100],
		[121, 'power_factor_B', tuya.valueConverter.divideBy100],
        [102, 'power_direction A', tuya.valueConverter.raw],
        [104, 'power_direction B', tuya.valueConverter.raw],
        [106, 'energy_forward_A', tuya.valueConverter.divideBy100],
        [108, 'energy_forward_B', tuya.valueConverter.divideBy100],
        [107, 'energy_reverse_A', tuya.valueConverter.divideBy100],
        [109, 'energy_reverse_B', tuya.valueConverter.divideBy100],
		[129, 'update_frequency' , tuya.valueConverter.raw],
    ],
},
};

module.exports = definition;

Sauvegarder et fermer le fichier

  1. Puis redémarre le demon du plugin

Dams

1 « J'aime »

Bonjour
Ça doit être ça (j’ai encore jamais testé) par contre ya pas besoin d’éditer le fichier de configuration en faite. Il faut mettre ton converter dans le dossier core/config/converter en créant un dossier pour ton converter (ya déjà un exemple de la structure pour danfoss) puis relancer le démon.

merci pour ta réponse @Loic
Je pense qu’il faut éditer le fichier
Acutellment il y a ça:

external_converters:
  - /var/www/html/plugins/z2m/core/class/../config/converters/Danfoss/icon.js
device_options:

Dams

Oui car tu as que un converter donc que une ligne c’est normal. Il ne faut jamais éditer ce fichier.

Si on ajoute un convertisseur, il n’est pas nécéssaire de l’ajouter ici?
Extrait de :Support new devices | Zigbee2MQTT

Dams

Je sais pas trop comment te le dire : non jeedom s’occupe de tout si tu le mets au bonne endroit

ok compris! J’ai modifié mon message plus haut.

Il est vraiment trop fort Jeedom!!

Dams

Normalement la sirène TZE204_k7mfgaen est déjà dans les objets supporté
bizzare que tu ne puisse pas l’intégrer

{
        fingerprint: tuya.fingerprint('TS0601', ['_TZE204_k7mfgaen']),
        model: 'YXZBSL',
        vendor: 'TuYa',
        description: 'Smart siren',
        fromZigbee: [tuya.fz.datapoints],
        toZigbee: [tuya.tz.datapoints],
        exposes: [
            e.binary('alarm', ea.STATE_SET, 'ON', 'OFF').withDescription('Turn the light of the alarm ON/OFF'),
            e.enum('type', ea.STATE_SET, ['sound', 'light', 'sound+light', 'normal']).withDescription('Alarm type'),
            e.enum('volume', ea.STATE_SET, ['mute', 'low', 'medium', 'high']).withDescription('Volume of the alarm'),
            e.enum('ringtone', ea.STATE_SET, [
                'melody1', 'melody2', 'melody3', 'melody4', 'melody5', 'melody6', 'melody7', 'melody8',
                'door', 'water', 'temperature', 'entered', 'left',
            ]).withDescription('Ringtone of the alarm'),
            e.enum('power_type', ea.STATE, ['battery', 'cable']).withDescription('Power type'),
            e.numeric('duration', ea.STATE_SET).withValueMin(1).withValueMax(60).withValueStep(1)
                .withUnit('min').withDescription('Duration of the alarm'),
            e.enum('battery_level', ea.STATE, ['low', 'middle', 'high']).withDescription('Battery level state'),
            e.battery(),
        ],
        meta: {
            tuyaDatapoints: [
                [1, 'type', tuya.valueConverterBasic.lookup({
                    'sound': tuya.enum(0), 'light': tuya.enum(1), 'sound+light': tuya.enum(2), 'normal': tuya.enum(3)})],
                [5, 'volume', tuya.valueConverterBasic.lookup({
                    'low': tuya.enum(0), 'middle': tuya.enum(1), 'high': tuya.enum(2), 'mute': tuya.enum(3)})],
                [6, 'power_type', tuya.valueConverterBasic.lookup({'cable': false, 'battery': true})],
                [7, 'duration', tuya.valueConverter.raw],
                [13, 'alarm', tuya.valueConverter.onOff],
                [14, 'battery_level', tuya.valueConverterBasic.lookup({
                    'low': tuya.enum(0), 'middle': tuya.enum(1), 'high': tuya.enum(2)})],
                [15, 'battery', tuya.valueConverter.raw],
                [21, 'ringtone', tuya.valueConverterBasic.lookup({
                    'melody1': tuya.enum(0), 'melody2': tuya.enum(1), 'melody3': tuya.enum(2), 'melody4': tuya.enum(3),
                    'melody5': tuya.enum(4), 'melody6': tuya.enum(5), 'melody7': tuya.enum(6), 'melody8': tuya.enum(7),
                    'door': tuya.enum(8), 'water': tuya.enum(9), 'temperature': tuya.enum(10), 'entered': tuya.enum(11), 'left': tuya.enum(12),
                })],
            ],
        },
    },

Trouvé sur le github

Il est dans la liste de matériels compatible

Relance l’installation des dépendances puis redémarre le demon tu devrai pouvoir l’inclure

Dams

Le compteur sera bientôt pris en charge nativement dans zigbee2mqtt.
Lorsque celui-ci apparaitra dans le matériel pris en charge (PJ-1203A), il faudra faire une mise à jour des dépendances

Edit:
Le compteur est officiellement pris en charge

Il faut relancer l’installation des dépendances pour mettre à jour

Dams

Bonjour,
On trouve dans la documentation du plugin jeezigbee:

«  »« Convertisseur externe
Pour ajouter un convertisseurs externe il suffit dans la configuration du plugin (Plugin → Gestion de plugins → Jeezigbee) de cliquer sur le boutonEditer” au niveau de la ligne converter et de déposer/editer votre converter dans le dossier que jeedom vous montre. »«  »"

Je doute de moi , mais je ne trouve pas le bouton « editer » . Ce serait vraiment pratique.
Pouvez-vous m’indiquer comment trouver ce bouton ?
Merci d’avance.

Bonjour,
Avec l’editeur de fichier jeedom, comment fais-tu pour créer un fichier .js ? (ce format n’est pas proposé dans la liste déroulante).
Tu le renommes simplement ?
Merci

Je l’avais sous les yeux, mais je ne le voyais pas.
dans le plugin jeezigbee/ configuration au bas de la page …
Contrairement à tout ce que j’ai lu, jeedom propose d’insérer le fichier dans z2m/core/converters/custom ?

Bonjour,
Je comprends absolument rien a tous ce que tu dis. Quel est ton soucis ? Peux tu le détailler ?