Sirène Frient, plusieurs versions

Bonjour,
J"utilise plusieurs sirènes Frient comme celle-ci
ksnip_20230520-074045
Je les utilise avec le plgin Zigbee officiel car mal supportées par Z2M.

Cependant, une fonctionne très bien, on peut sélectionner le mode de sonnerie que l’on souhaite entre 3 type et 3 niveaux sonores.
L’autre, ben, les choix ne correspondent pas et 3 ne sont même pas utilisables.

Après quelques recherches et tests, ce n’est pas la même version logicielle mais aussi matérielle.

Du coup, pour retrouver un fonctionnement normal sur ces modèles, il faut modifier la commande Mode comme suit:

43::ias_wd::start_warning::5::1::1::#duration#::1::1|Son BAS, Type URGENCE; 43::ias_wd::start_warning::5::1::2::#duration#::1::1|Son MOYEN, Type URGENCE; 43::ias_wd::start_warning::5::1::3::#duration#::1::1|Son FORT, Type URGENCE; 43::ias_wd::start_warning::3::1::1::#duration#::1::1|Son BAS, Type INCENDIE; 43::ias_wd::start_warning::3::1::2::#duration#::1::1|Son MOYEN, Type INCENDIE; 43::ias_wd::start_warning::3::1::3::#duration#::1::1|Son FORT, Type INCENDIE; 43::ias_wd::start_warning::4::1::1::#duration#::1::1|Son BAS, Type INTRUSION; 43::ias_wd::start_warning::4::1::2::#duration#::1::1|Son MOYEN, Type INTRUSION; 43::ias_wd::start_warning::4::1::3::#duration#::1::1|Son FORT, Type INTRUSION

Là, on retrouve les sonneries correspondantes aux commandes.

Je joint le json et infos pour que @Loic détermine la version et implémente, au besoin, les modifs dans le plugin.

Infos brutes



{
    "ieee": "00:15:bc:00:41:00:1a:ae",
    "nwk": 38229,
    "status": 2,
    "lqi": "100",
    "rssi": "-75",
    "last_seen": "1684561568.280541",
    "node_descriptor": "01:40:8e:15:10:52:dc:05:00:2c:dc:05:00",
    "endpoints": [
        {
            "id": 1,
            "status": 1,
            "device_type": 1,
            "profile_id": 49353,
            "manufacturer": null,
            "model": null,
            "output_clusters": [],
            "input_clusters": [
                {
                    "id": 5,
                    "name": "Scenes",
                    "attributes": []
                },
                {
                    "id": 6,
                    "name": "On\/Off",
                    "attributes": []
                }
            ]
        },
        {
            "id": 43,
            "status": 1,
            "device_type": 1027,
            "profile_id": 260,
            "manufacturer": "frient A\/S",
            "model": "SIRZB-110",
            "output_clusters": [
                {
                    "id": 3,
                    "name": "Identify",
                    "attributes": []
                },
                {
                    "id": 10,
                    "name": "Time",
                    "attributes": []
                },
                {
                    "id": 25,
                    "name": "Ota",
                    "attributes": []
                }
            ],
            "input_clusters": [
                {
                    "id": 0,
                    "name": "Basic",
                    "attributes": [
                        {
                            "id": 0,
                            "name": "zcl_version",
                            "value": 7
                        },
                        {
                            "id": 4,
                            "name": "manufacturer",
                            "value": "frient A\/S"
                        },
                        {
                            "id": 5,
                            "name": "model",
                            "value": "SIRZB-110"
                        },
                        {
                            "id": 6,
                            "name": "date_code",
                            "value": "2022-04-23 18:53"
                        },
                        {
                            "id": 7,
                            "name": "power_source",
                            "value": 129
                        }
                    ]
                },
                {
                    "id": 3,
                    "name": "Identify",
                    "attributes": []
                },
                {
                    "id": 1,
                    "name": "Power Configuration",
                    "attributes": [
                        {
                            "id": 32,
                            "name": "battery_voltage",
                            "value": 40
                        },
                        {
                            "id": 33,
                            "name": "battery_percentage_remaining",
                            "value": 170
                        },
                        {
                            "id": 62,
                            "name": "battery_alarm_state",
                            "value": 0
                        }
                    ]
                },
                {
                    "id": 4,
                    "name": "Groups",
                    "attributes": []
                },
                {
                    "id": 1280,
                    "name": "IAS Zone",
                    "attributes": [
                        {
                            "id": 16,
                            "name": "cie_addr",
                            "value": "80:4b:50:ff:fe:77:84:e2"
                        }
                    ]
                },
                {
                    "id": 1282,
                    "name": "IAS Warning Device",
                    "attributes": []
                },
                {
                    "id": 64517,
                    "name": "Manufacturer Specific",
                    "attributes": []
                }
            ]
        },
        {
            "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": "frient A\/S",
        "model": "SIRZB-110",
        "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": 4117,
            "maximum_buffer_size": 82,
            "maximum_incoming_transfer_size": 1500,
            "server_mask": 11264,
            "maximum_outgoing_transfer_size": 1500,
            "descriptor_capability_field": 0
        },
        "endpoints": {
            "1": {
                "profile_id": 49353,
                "device_type": 1,
                "input_clusters": [
                    5,
                    6
                ],
                "output_clusters": []
            },
            "43": {
                "profile_id": 260,
                "device_type": 1027,
                "input_clusters": [
                    0,
                    3,
                    1,
                    4,
                    1280,
                    1282,
                    64517
                ],
                "output_clusters": [
                    3,
                    10,
                    25
                ]
            },
            "242": {
                "profile_id": 41440,
                "device_type": 97,
                "input_clusters": [],
                "output_clusters": [
                    33
                ]
            }
        }
    },
    "class": "zigpy.device"
}

json


{
    "name": "frient_AS.SIRZB-110",
    "configuration": {
        "zones": [],
        "modes": [],
        "release": [],
        "raz": [],
        "razImmediate": [],
        "activationOk": [],
        "activationKo": [],
        "activationImmediateOk": [],
        "outbreak": [],
        "outbreakImmediate": [],
        "reenableTrigger": []
    },
    "commands": [
        {
            "logicalId": "43::1280::cmd::1",
            "name": "43::1280::cmd::1",
            "type": "info",
            "subType": "numeric",
            "isHistorized": "0",
            "configuration": {
                "repeatEventManagement": "always"
            },
            "template": {
                "dashboard": "default",
                "mobile": "default"
            },
            "isVisible": "1"
        },
        {
            "logicalId": "43::1280::cmd::1.1",
            "name": "43::1280::cmd::1.1",
            "type": "info",
            "subType": "numeric",
            "isHistorized": "0",
            "configuration": {
                "repeatEventManagement": "always"
            },
            "template": {
                "dashboard": "default",
                "mobile": "default"
            },
            "isVisible": "1"
        },
        {
            "logicalId": "43::1280::cmd::1.2",
            "name": "43::1280::cmd::1.2",
            "type": "info",
            "subType": "numeric",
            "isHistorized": "0",
            "configuration": {
                "repeatEventManagement": "always"
            },
            "template": {
                "dashboard": "default",
                "mobile": "default"
            },
            "isVisible": "1"
        },
        {
            "logicalId": "43::1280::cmd::1.3",
            "name": "43::1280::cmd::1.3",
            "type": "info",
            "subType": "numeric",
            "isHistorized": "0",
            "configuration": {
                "repeatEventManagement": "always"
            },
            "template": {
                "dashboard": "default",
                "mobile": "default"
            },
            "isVisible": "1"
        },
        {
            "logicalId": "durationstate",
            "name": "Etat durée",
            "type": "info",
            "subType": "numeric",
            "isHistorized": "1",
            "configuration": {
                "minValue": "0",
                "maxValue": "1800"
            },
            "template": {
                "dashboard": "default",
                "mobile": "default"
            },
            "value": "Etat durée",
            "isVisible": "1"
        },
        {
            "logicalId": "duration",
            "name": "Durée",
            "type": "action",
            "subType": "slider",
            "isHistorized": "0",
            "configuration": {
                "minValue": "0",
                "maxValue": "1800"
            },
            "template": {
                "dashboard": "default",
                "mobile": "default"
            },
            "value": "Etat durée",
            "isVisible": "1"
        },
        {
            "logicalId": "43::ias_wd::squawk::0::0::0",
            "name": "Armement",
            "type": "action",
            "subType": "other",
            "isHistorized": "0",
            "configuration": {
                "minValue": "1",
                "maxValue": "9"
            },
            "template": {
                "dashboard": "default",
                "mobile": "default"
            },
            "isVisible": "1"
        },
        {
            "logicalId": "43::ias_wd::squawk::1::0::1",
            "name": "Desarmement",
            "type": "action",
            "subType": "other",
            "isHistorized": "0",
            "configuration": {
                "minValue": "1",
                "maxValue": "9"
            },
            "template": {
                "dashboard": "default",
                "mobile": "default"
            },
            "isVisible": "1"
        },
        {
            "logicalId": "#select#",
            "name": "Mode",
            "type": "action",
            "subType": "select",
            "isHistorized": "0",
            "configuration": {
                "minValue": "1",
                "maxValue": "9",
                "listValue": "43::ias_wd::start_warning::5::1::1::#duration#::1::1|Son BAS, Type URGENCE; 43::ias_wd::start_warning::5::1::2::#duration#::1::1|Son MOYEN, Type URGENCE; 43::ias_wd::start_warning::5::1::3::#duration#::1::1|Son FORT, Type URGENCE; 43::ias_wd::start_warning::3::1::1::#duration#::1::1|Son BAS, Type INCENDIE; 43::ias_wd::start_warning::3::1::2::#duration#::1::1|Son MOYEN, Type INCENDIE; 43::ias_wd::start_warning::3::1::3::#duration#::1::1|Son FORT, Type INCENDIE; 43::ias_wd::start_warning::4::1::1::#duration#::1::1|Son BAS, Type INTRUSION; 43::ias_wd::start_warning::4::1::2::#duration#::1::1|Son MOYEN, Type INTRUSION; 43::ias_wd::start_warning::4::1::3::#duration#::1::1|Son FORT, Type INTRUSION"
            },
            "template": {
                "dashboard": "default",
                "mobile": "default"
            },
            "isVisible": "1"
        },
        {
            "logicalId": "43::ias_wd::start_warning::0::0::0::0::0::0",
            "name": "Arret",
            "type": "action",
            "subType": "other",
            "isHistorized": "0",
            "template": {
                "dashboard": "default",
                "mobile": "default"
            },
            "isVisible": "1"
        }
    ],
    "ref": "frient_AS.SIRZB-110"
}

Bonjour,

J’ai la même sirène sous le plugin Z2M et je n’arrive pas à la faire fonctionner. Au mieux je peux déclencher une alarme, mais aucun moyen de l’arrêter tant qu’elle n’a pas atteint le paramètre « duration » qui est réglé.
Est-ce que tu as basculé sous Z2M depuis ce post ?
Si oui, tu as réussi à la faire marcher correctement ?

Nota : pour info, la mienne est :

  • firmware : 1.9.3
  • date : 2022-04-23 19:43
  • hardware version : 5.0.2
  • manufacturer : Frient

Bonjour,
Pareil que toi, c’est pour ça que, pour le moment, je les utilise avec l’ancien plugin Zigbee et non Z2M.Il semblerait, d’après le forum Z2M, que les sirènes en version 1.7 seraient supportée.
Après, à voir si quelqu’un assez calé peut faire une mise à jour Z2M…

Mince :cry:

J’ai récupéré le firmware en v1.7.1 hier sur je ne sais plus quel forum, mais je n’arrive pas à le forcer en mise à jour pour la sirène. Je n’ai pas réussi à refaire la méthode de fichiers OTA en local :confused:

Si jamais ça aide quelqu’un, le voici : https://github.com/Koenkk/zigbee2mqtt/files/14036476/Router.-.Siren.-.1.7.1.zip

Hello,

Alors pour ceux que ça intéresse, j’ai réussi à downgrader le firmware 1.9.3 en 1.7.1 et ma sirène fonctionne parfaitement avec Jeedom maintenant :slight_smile:

J’ai utilisé la méthode trouvée ici : OTA Device Firmware Updates · zigpy/zigpy Wiki · GitHub
C’est très intéressant car ça m’a permis de découvrir Home Assistant :wink:
Entre la création du conteneur Docker, la modif des fichiers, la copie du firmware et le downgrade, j’ai du y passer une grosse heure environ.

Nota : le seul fichier firmware utile est celui-ci (retirez l’extension « .txt ») et je l’ai obtenu directement du fabricant Develco donc il est fiable :
Router - Siren_1.7.1.zigbee.txt (231,1 Ko)


Me reste plus qu’à tenter la même chose avec des Heiman qui ont exactement le même problème (fichue bibliothèque Z2M).

Merci pour la solution, j’ai tenté hier soir avec Z2M mais sans succès.
Je vais tester durant le week-end, j’ai une sirène de rab pour ça.
Je ferai un retour quand ce sera bon …
Édit: Tu as utilisé quelle version de HA et tu l’as trouvée où ?

Voici le processus complet :

Pour mes conteneurs, j’utilise Portainer, c’est plus facile pour la supervision.
Voici l’image exacte que j’ai utilisée : homeassistant/home-assistant:2024.1.6@sha256:ad7a85fceeae16a4f152b40122562be1a36b315e0a99aa864fafda3e5bb5553d
La version 2024.1.6 est la dernière avant désactivation des OTA manuels.

Rien de spécial si ce n’est qu’il faut bien penser à rerouter le port du dongle USB, donner les droits « Privileged mode » et surtout activer la console :


Aller dans le dossier « /var/lib/docker/volumes/home-assistant/_data » de la machine hébergeant le conteneur HA. Créer un dossier « zigpy_ota » et coller dedans le firmware « xxxx.zigbee » qu’on veut downgrader.
Modifier le fichier « /var/lib/docker/volumes/home-assistant/_data/configuration.yaml » pour y ajouter ça :

zha:
  zigpy_config:
    ota:
      otau_directory: /config/zigpy_ota
      ikea_provider: true
      inovelli_provider: true
      ledvance_provider: true
      salus_provider: true
      sonoff_provider: true
      thirdreality_provider: true

Nota : si besoin installer nano via la commande « apk add nano ».

Ouvrir une console dans le conteneur Docker de Home Assistant, puis modifier le fichier « /usr/local/lib/python3.9/site-packages/zigpy/ota/__init__.py » (modifier la version selon le cas) pour remplacer la ligne :
if ver >= self.version:
par la ligne :
if ver == self.version:

Faire redémarrer Home Assistant pour qu’il prenne en compte toutes ces modifications.

NOTA : une fois la màj terminée, ne pas oublier de modifier à l’envers le fichier python pour désactiver la possibilité de downgrade, ainsi que de supprimer le fichier de firmware.


Aller sur l’équipement via le menu « /Paramètres/Appareils et services/Zigbee Home Automation/x appareils/ » puis cliquer sur l’équipement voulu :

Configurer cet écran comme suit :

Nota :

  • Décaler le curseur « query_jitter » sur n’importe quel chiffre autre que 0 (4 ou 10 par exemple)
  • Cliquer dans la zone grisée « Émettre une commande Zigbee », un bouton vert de confirmation doit apparaitre.

ATTENTION : la mise à jour peut prendre plusieurs heures. Penser à réveiller l’équipement s’il est à piles.