Matter: Added "Boolean" cluster for Aqara Door and Window Sensor P2

Ajout d’un nouveau cluster Matter pour gérer un capteur Aqara.

Suite à Pb avec les boutons BILRESA dual button d’IKEA - #16 par micmac

{
    "node_id": "17058259759023159825",
    "is_connected": true,
    "devices": [
      {
        "name": "MA-contactsensor",
        "number": "1",
        "cluster_clients": [
          {
            "id": "3",
            "name": "Identify",
            "attributes": [
              "0",
              "1",
              "65528",
              "65529",
              "65531",
              "65532",
              "65533",
              "identifyTime",
              "identifyType",
              "clusterRevision",
              "featureMap",
              "attributeList",
              "acceptedCommandList",
              "generatedCommandList"
            ],
            "commands": [
              "0",
              "64",
              "identify",
              "triggerEffect"
            ],
            "all_keys": [
              "id",
              "name",
              "revision",
              "_type",
              "supportedFeatures",
              "isUnknown",
              "endpointId",
              "attributes",
              "events",
              "commands",
              "subscribeAllAttributes",
              "_triggerAttributeUpdate",
              "_triggerEventUpdate",
              "isAttributeSupported",
              "isAttributeSupportedByName",
              "isCommandSupported",
              "isCommandSupportedByName",
              "getIdentifyTimeAttribute",
              "setIdentifyTimeAttribute",
              "subscribeIdentifyTimeAttribute",
              "addIdentifyTimeAttributeListener",
              "removeIdentifyTimeAttributeListener",
              "getIdentifyTypeAttribute",
              "setIdentifyTypeAttribute",
              "subscribeIdentifyTypeAttribute",
              "addIdentifyTypeAttributeListener",
              "removeIdentifyTypeAttributeListener",
              "getClusterRevisionAttribute",
              "setClusterRevisionAttribute",
              "subscribeClusterRevisionAttribute",
              "addClusterRevisionAttributeListener",
              "removeClusterRevisionAttributeListener",
              "getFeatureMapAttribute",
              "setFeatureMapAttribute",
              "subscribeFeatureMapAttribute",
              "addFeatureMapAttributeListener",
              "removeFeatureMapAttributeListener",
              "getAttributeListAttribute",
              "setAttributeListAttribute",
              "subscribeAttributeListAttribute",
              "addAttributeListAttributeListener",
              "removeAttributeListAttributeListener",
              "getAcceptedCommandListAttribute",
              "setAcceptedCommandListAttribute",
              "subscribeAcceptedCommandListAttribute",
              "addAcceptedCommandListAttributeListener",
              "removeAcceptedCommandListAttributeListener",
              "getGeneratedCommandListAttribute",
              "setGeneratedCommandListAttribute",
              "subscribeGeneratedCommandListAttribute",
              "addGeneratedCommandListAttributeListener",
              "removeGeneratedCommandListAttributeListener",
              "identify",
              "triggerEffect"
            ]
          },
          {
            "id": "29",
            "name": "Descriptor",
            "attributes": [
              "0",
              "1",
              "2",
              "3",
              "4",
              "65528",
              "65529",
              "65531",
              "65532",
              "65533",
              "deviceTypeList",
              "serverList",
              "clientList",
              "partsList",
              "clusterRevision",
              "featureMap",
              "attributeList",
              "acceptedCommandList",
              "generatedCommandList",
              "tagList"
            ],
            "commands": [],
            "all_keys": [
              "id",
              "name",
              "revision",
              "_type",
              "supportedFeatures",
              "isUnknown",
              "endpointId",
              "attributes",
              "events",
              "commands",
              "subscribeAllAttributes",
              "_triggerAttributeUpdate",
              "_triggerEventUpdate",
              "isAttributeSupported",
              "isAttributeSupportedByName",
              "isCommandSupported",
              "isCommandSupportedByName",
              "getDeviceTypeListAttribute",
              "setDeviceTypeListAttribute",
              "subscribeDeviceTypeListAttribute",
              "addDeviceTypeListAttributeListener",
              "removeDeviceTypeListAttributeListener",
              "getServerListAttribute",
              "setServerListAttribute",
              "subscribeServerListAttribute",
              "addServerListAttributeListener",
              "removeServerListAttributeListener",
              "getClientListAttribute",
              "setClientListAttribute",
              "subscribeClientListAttribute",
              "addClientListAttributeListener",
              "removeClientListAttributeListener",
              "getPartsListAttribute",
              "setPartsListAttribute",
              "subscribePartsListAttribute",
              "addPartsListAttributeListener",
              "removePartsListAttributeListener",
              "getClusterRevisionAttribute",
              "setClusterRevisionAttribute",
              "subscribeClusterRevisionAttribute",
              "addClusterRevisionAttributeListener",
              "removeClusterRevisionAttributeListener",
              "getFeatureMapAttribute",
              "setFeatureMapAttribute",
              "subscribeFeatureMapAttribute",
              "addFeatureMapAttributeListener",
              "removeFeatureMapAttributeListener",
              "getAttributeListAttribute",
              "setAttributeListAttribute",
              "subscribeAttributeListAttribute",
              "addAttributeListAttributeListener",
              "removeAttributeListAttributeListener",
              "getAcceptedCommandListAttribute",
              "setAcceptedCommandListAttribute",
              "subscribeAcceptedCommandListAttribute",
              "addAcceptedCommandListAttributeListener",
              "removeAcceptedCommandListAttributeListener",
              "getGeneratedCommandListAttribute",
              "setGeneratedCommandListAttribute",
              "subscribeGeneratedCommandListAttribute",
              "addGeneratedCommandListAttributeListener",
              "removeGeneratedCommandListAttributeListener",
              "getTagListAttribute",
              "setTagListAttribute",
              "subscribeTagListAttribute",
              "addTagListAttributeListener",
              "removeTagListAttributeListener"
            ]
          },
          {
            "id": "69",
            "name": "BooleanState",
            "attributes": [
              "0",
              "65528",
              "65529",
              "65531",
              "65532",
              "65533",
              "stateValue",
              "clusterRevision",
              "featureMap",
              "attributeList",
              "acceptedCommandList",
              "generatedCommandList"
            ],
            "commands": [],
            "all_keys": [
              "id",
              "name",
              "revision",
              "_type",
              "supportedFeatures",
              "isUnknown",
              "endpointId",
              "attributes",
              "events",
              "commands",
              "subscribeAllAttributes",
              "_triggerAttributeUpdate",
              "_triggerEventUpdate",
              "isAttributeSupported",
              "isAttributeSupportedByName",
              "isCommandSupported",
              "isCommandSupportedByName",
              "getStateValueAttribute",
              "setStateValueAttribute",
              "subscribeStateValueAttribute",
              "addStateValueAttributeListener",
              "removeStateValueAttributeListener",
              "getClusterRevisionAttribute",
              "setClusterRevisionAttribute",
              "subscribeClusterRevisionAttribute",
              "addClusterRevisionAttributeListener",
              "removeClusterRevisionAttributeListener",
              "getFeatureMapAttribute",
              "setFeatureMapAttribute",
              "subscribeFeatureMapAttribute",
              "addFeatureMapAttributeListener",
              "removeFeatureMapAttributeListener",
              "getAttributeListAttribute",
              "setAttributeListAttribute",
              "subscribeAttributeListAttribute",
              "addAttributeListAttributeListener",
              "removeAttributeListAttributeListener",
              "getAcceptedCommandListAttribute",
              "setAcceptedCommandListAttribute",
              "subscribeAcceptedCommandListAttribute",
              "addAcceptedCommandListAttributeListener",
              "removeAcceptedCommandListAttributeListener",
              "getGeneratedCommandListAttribute",
              "setGeneratedCommandListAttribute",
              "subscribeGeneratedCommandListAttribute",
              "addGeneratedCommandListAttributeListener",
              "removeGeneratedCommandListAttributeListener",
              "getStateChangeEvent",
              "subscribeStateChangeEvent",
              "addStateChangeEventListener",
              "removeStateChangeEventListener"
            ]
          }
        ],
        "child_endpoints": []
      },
      {
        "name": "MA-powersource",
        "number": "2",
        "cluster_clients": [
          {
            "id": "29",
            "name": "Descriptor",
            "attributes": [
              "0",
              "1",
              "2",
              "3",
              "4",
              "65528",
              "65529",
              "65531",
              "65532",
              "65533",
              "deviceTypeList",
              "serverList",
              "clientList",
              "partsList",
              "clusterRevision",
              "featureMap",
              "attributeList",
              "acceptedCommandList",
              "generatedCommandList",
              "tagList"
            ],
            "commands": [],
            "all_keys": [
              "id",
              "name",
              "revision",
              "_type",
              "supportedFeatures",
              "isUnknown",
              "endpointId",
              "attributes",
              "events",
              "commands",
              "subscribeAllAttributes",
              "_triggerAttributeUpdate",
              "_triggerEventUpdate",
              "isAttributeSupported",
              "isAttributeSupportedByName",
              "isCommandSupported",
              "isCommandSupportedByName",
              "getDeviceTypeListAttribute",
              "setDeviceTypeListAttribute",
              "subscribeDeviceTypeListAttribute",
              "addDeviceTypeListAttributeListener",
              "removeDeviceTypeListAttributeListener",
              "getServerListAttribute",
              "setServerListAttribute",
              "subscribeServerListAttribute",
              "addServerListAttributeListener",
              "removeServerListAttributeListener",
              "getClientListAttribute",
              "setClientListAttribute",
              "subscribeClientListAttribute",
              "addClientListAttributeListener",
              "removeClientListAttributeListener",
              "getPartsListAttribute",
              "setPartsListAttribute",
              "subscribePartsListAttribute",
              "addPartsListAttributeListener",
              "removePartsListAttributeListener",
              "getClusterRevisionAttribute",
              "setClusterRevisionAttribute",
              "subscribeClusterRevisionAttribute",
              "addClusterRevisionAttributeListener",
              "removeClusterRevisionAttributeListener",
              "getFeatureMapAttribute",
              "setFeatureMapAttribute",
              "subscribeFeatureMapAttribute",
              "addFeatureMapAttributeListener",
              "removeFeatureMapAttributeListener",
              "getAttributeListAttribute",
              "setAttributeListAttribute",
              "subscribeAttributeListAttribute",
              "addAttributeListAttributeListener",
              "removeAttributeListAttributeListener",
              "getAcceptedCommandListAttribute",
              "setAcceptedCommandListAttribute",
              "subscribeAcceptedCommandListAttribute",
              "addAcceptedCommandListAttributeListener",
              "removeAcceptedCommandListAttributeListener",
              "getGeneratedCommandListAttribute",
              "setGeneratedCommandListAttribute",
              "subscribeGeneratedCommandListAttribute",
              "addGeneratedCommandListAttributeListener",
              "removeGeneratedCommandListAttributeListener",
              "getTagListAttribute",
              "setTagListAttribute",
              "subscribeTagListAttribute",
              "addTagListAttributeListener",
              "removeTagListAttributeListener"
            ]
          },
          {
            "id": "47",
            "name": "PowerSource",
            "attributes": [
              "0",
              "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",
              "65528",
              "65529",
              "65531",
              "65532",
              "65533",
              "status",
              "order",
              "description",
              "endpointList",
              "wiredAssessedInputVoltage",
              "wiredAssessedInputFrequency",
              "wiredCurrentType",
              "wiredAssessedCurrent",
              "wiredNominalVoltage",
              "wiredMaximumCurrent",
              "wiredPresent",
              "activeWiredFaults",
              "batVoltage",
              "batPercentRemaining",
              "batTimeRemaining",
              "batChargeLevel",
              "batReplacementNeeded",
              "batReplaceability",
              "batPresent",
              "activeBatFaults",
              "batReplacementDescription",
              "batCommonDesignation",
              "batAnsiDesignation",
              "batIecDesignation",
              "batApprovedChemistry",
              "batCapacity",
              "batQuantity",
              "batChargeState",
              "batTimeToFullCharge",
              "batFunctionalWhileCharging",
              "batChargingCurrent",
              "activeBatChargeFaults",
              "clusterRevision",
              "featureMap",
              "attributeList",
              "acceptedCommandList",
              "generatedCommandList"
            ],
            "commands": [],
            "all_keys": [
              "id",
              "name",
              "revision",
              "_type",
              "supportedFeatures",
              "isUnknown",
              "endpointId",
              "attributes",
              "events",
              "commands",
              "subscribeAllAttributes",
              "_triggerAttributeUpdate",
              "_triggerEventUpdate",
              "isAttributeSupported",
              "isAttributeSupportedByName",
              "isCommandSupported",
              "isCommandSupportedByName",
              "getStatusAttribute",
              "setStatusAttribute",
              "subscribeStatusAttribute",
              "addStatusAttributeListener",
              "removeStatusAttributeListener",
              "getOrderAttribute",
              "setOrderAttribute",
              "subscribeOrderAttribute",
              "addOrderAttributeListener",
              "removeOrderAttributeListener",
              "getDescriptionAttribute",
              "setDescriptionAttribute",
              "subscribeDescriptionAttribute",
              "addDescriptionAttributeListener",
              "removeDescriptionAttributeListener",
              "getEndpointListAttribute",
              "setEndpointListAttribute",
              "subscribeEndpointListAttribute",
              "addEndpointListAttributeListener",
              "removeEndpointListAttributeListener",
              "getWiredAssessedInputVoltageAttribute",
              "setWiredAssessedInputVoltageAttribute",
              "subscribeWiredAssessedInputVoltageAttribute",
              "addWiredAssessedInputVoltageAttributeListener",
              "removeWiredAssessedInputVoltageAttributeListener",
              "getWiredAssessedInputFrequencyAttribute",
              "setWiredAssessedInputFrequencyAttribute",
              "subscribeWiredAssessedInputFrequencyAttribute",
              "addWiredAssessedInputFrequencyAttributeListener",
              "removeWiredAssessedInputFrequencyAttributeListener",
              "getWiredCurrentTypeAttribute",
              "setWiredCurrentTypeAttribute",
              "subscribeWiredCurrentTypeAttribute",
              "addWiredCurrentTypeAttributeListener",
              "removeWiredCurrentTypeAttributeListener",
              "getWiredAssessedCurrentAttribute",
              "setWiredAssessedCurrentAttribute",
              "subscribeWiredAssessedCurrentAttribute",
              "addWiredAssessedCurrentAttributeListener",
              "removeWiredAssessedCurrentAttributeListener",
              "getWiredNominalVoltageAttribute",
              "setWiredNominalVoltageAttribute",
              "subscribeWiredNominalVoltageAttribute",
              "addWiredNominalVoltageAttributeListener",
              "removeWiredNominalVoltageAttributeListener",
              "getWiredMaximumCurrentAttribute",
              "setWiredMaximumCurrentAttribute",
              "subscribeWiredMaximumCurrentAttribute",
              "addWiredMaximumCurrentAttributeListener",
              "removeWiredMaximumCurrentAttributeListener",
              "getWiredPresentAttribute",
              "setWiredPresentAttribute",
              "subscribeWiredPresentAttribute",
              "addWiredPresentAttributeListener",
              "removeWiredPresentAttributeListener",
              "getActiveWiredFaultsAttribute",
              "setActiveWiredFaultsAttribute",
              "subscribeActiveWiredFaultsAttribute",
              "addActiveWiredFaultsAttributeListener",
              "removeActiveWiredFaultsAttributeListener",
              "getBatVoltageAttribute",
              "setBatVoltageAttribute",
              "subscribeBatVoltageAttribute",
              "addBatVoltageAttributeListener",
              "removeBatVoltageAttributeListener",
              "getBatPercentRemainingAttribute",
              "setBatPercentRemainingAttribute",
              "subscribeBatPercentRemainingAttribute",
              "addBatPercentRemainingAttributeListener",
              "removeBatPercentRemainingAttributeListener",
              "getBatTimeRemainingAttribute",
              "setBatTimeRemainingAttribute",
              "subscribeBatTimeRemainingAttribute",
              "addBatTimeRemainingAttributeListener",
              "removeBatTimeRemainingAttributeListener",
              "getBatChargeLevelAttribute",
              "setBatChargeLevelAttribute",
              "subscribeBatChargeLevelAttribute",
              "addBatChargeLevelAttributeListener",
              "removeBatChargeLevelAttributeListener",
              "getBatReplacementNeededAttribute",
              "setBatReplacementNeededAttribute",
              "subscribeBatReplacementNeededAttribute",
              "addBatReplacementNeededAttributeListener",
              "removeBatReplacementNeededAttributeListener",
              "getBatReplaceabilityAttribute",
              "setBatReplaceabilityAttribute",
              "subscribeBatReplaceabilityAttribute",
              "addBatReplaceabilityAttributeListener",
              "removeBatReplaceabilityAttributeListener",
              "getBatPresentAttribute",
              "setBatPresentAttribute",
              "subscribeBatPresentAttribute",
              "addBatPresentAttributeListener",
              "removeBatPresentAttributeListener",
              "getActiveBatFaultsAttribute",
              "setActiveBatFaultsAttribute",
              "subscribeActiveBatFaultsAttribute",
              "addActiveBatFaultsAttributeListener",
              "removeActiveBatFaultsAttributeListener",
              "getBatReplacementDescriptionAttribute",
              "setBatReplacementDescriptionAttribute",
              "subscribeBatReplacementDescriptionAttribute",
              "addBatReplacementDescriptionAttributeListener",
              "removeBatReplacementDescriptionAttributeListener",
              "getBatCommonDesignationAttribute",
              "setBatCommonDesignationAttribute",
              "subscribeBatCommonDesignationAttribute",
              "addBatCommonDesignationAttributeListener",
              "removeBatCommonDesignationAttributeListener",
              "getBatAnsiDesignationAttribute",
              "setBatAnsiDesignationAttribute",
              "subscribeBatAnsiDesignationAttribute",
              "addBatAnsiDesignationAttributeListener",
              "removeBatAnsiDesignationAttributeListener",
              "getBatIecDesignationAttribute",
              "setBatIecDesignationAttribute",
              "subscribeBatIecDesignationAttribute",
              "addBatIecDesignationAttributeListener",
              "removeBatIecDesignationAttributeListener",
              "getBatApprovedChemistryAttribute",
              "setBatApprovedChemistryAttribute",
              "subscribeBatApprovedChemistryAttribute",
              "addBatApprovedChemistryAttributeListener",
              "removeBatApprovedChemistryAttributeListener",
              "getBatCapacityAttribute",
              "setBatCapacityAttribute",
              "subscribeBatCapacityAttribute",
              "addBatCapacityAttributeListener",
              "removeBatCapacityAttributeListener",
              "getBatQuantityAttribute",
              "setBatQuantityAttribute",
              "subscribeBatQuantityAttribute",
              "addBatQuantityAttributeListener",
              "removeBatQuantityAttributeListener",
              "getBatChargeStateAttribute",
              "setBatChargeStateAttribute",
              "subscribeBatChargeStateAttribute",
              "addBatChargeStateAttributeListener",
              "removeBatChargeStateAttributeListener",
              "getBatTimeToFullChargeAttribute",
              "setBatTimeToFullChargeAttribute",
              "subscribeBatTimeToFullChargeAttribute",
              "addBatTimeToFullChargeAttributeListener",
              "removeBatTimeToFullChargeAttributeListener",
              "getBatFunctionalWhileChargingAttribute",
              "setBatFunctionalWhileChargingAttribute",
              "subscribeBatFunctionalWhileChargingAttribute",
              "addBatFunctionalWhileChargingAttributeListener",
              "removeBatFunctionalWhileChargingAttributeListener",
              "getBatChargingCurrentAttribute",
              "setBatChargingCurrentAttribute",
              "subscribeBatChargingCurrentAttribute",
              "addBatChargingCurrentAttributeListener",
              "removeBatChargingCurrentAttributeListener",
              "getActiveBatChargeFaultsAttribute",
              "setActiveBatChargeFaultsAttribute",
              "subscribeActiveBatChargeFaultsAttribute",
              "addActiveBatChargeFaultsAttributeListener",
              "removeActiveBatChargeFaultsAttributeListener",
              "getClusterRevisionAttribute",
              "setClusterRevisionAttribute",
              "subscribeClusterRevisionAttribute",
              "addClusterRevisionAttributeListener",
              "removeClusterRevisionAttributeListener",
              "getFeatureMapAttribute",
              "setFeatureMapAttribute",
              "subscribeFeatureMapAttribute",
              "addFeatureMapAttributeListener",
              "removeFeatureMapAttributeListener",
              "getAttributeListAttribute",
              "setAttributeListAttribute",
              "subscribeAttributeListAttribute",
              "addAttributeListAttributeListener",
              "removeAttributeListAttributeListener",
              "getAcceptedCommandListAttribute",
              "setAcceptedCommandListAttribute",
              "subscribeAcceptedCommandListAttribute",
              "addAcceptedCommandListAttributeListener",
              "removeAcceptedCommandListAttributeListener",
              "getGeneratedCommandListAttribute",
              "setGeneratedCommandListAttribute",
              "subscribeGeneratedCommandListAttribute",
              "addGeneratedCommandListAttributeListener",
              "removeGeneratedCommandListAttributeListener",
              "getWiredFaultChangeEvent",
              "subscribeWiredFaultChangeEvent",
              "addWiredFaultChangeEventListener",
              "removeWiredFaultChangeEventListener",
              "getBatFaultChangeEvent",
              "subscribeBatFaultChangeEvent",
              "addBatFaultChangeEventListener",
              "removeBatFaultChangeEventListener",
              "getBatChargeFaultChangeEvent",
              "subscribeBatChargeFaultChangeEvent",
              "addBatChargeFaultChangeEventListener",
              "removeBatChargeFaultChangeEventListener"
            ]
          }
        ],
        "child_endpoints": []
      }
    ],
    "node_information": {
      "vendor_name": "Aqara",
      "product_name": "Aqara Door and Window Sensor P2",
      "product_id": 8194,
      "product_label": "Aqara Door and Window Sensor P2",
      "vendor_id": 4447
    }
  }

The PR :

Tested with Matterbridge only, test Docker image built for amd64 at :

gladysassistant/gladys:matter-add-boolean-and-switch-devices