ClusterInstance: MutableCluster<{
    attributes: {
        chargingEnabledUntil: Attribute<number | null, any>;
        circuitCapacity: Attribute<number | bigint, any>;
        faultState: Attribute<EnergyEvse.FaultState, any>;
        maximumChargeCurrent: Attribute<number | bigint, any>;
        minimumChargeCurrent: Attribute<number | bigint, any>;
        randomizationDelayWindow: OptionalWritableAttribute<number, any>;
        sessionDuration: Attribute<number | null, any>;
        sessionEnergyCharged: Attribute<number | bigint | null, any>;
        sessionId: Attribute<number | null, any>;
        state: Attribute<EnergyEvse.State | null, any>;
        supplyState: Attribute<EnergyEvse.SupplyState, any>;
        userMaximumChargeCurrent: OptionalWritableAttribute<number | bigint, any>;
    };
    commands: {
        disable: Command<void, void, any>;
        enableCharging: Command<TypeFromFields, void, any>;
        startDiagnostics: OptionalCommand<void, void, any>;
    };
    events: {
        energyTransferStarted: Event<TypeFromFields, any>;
        energyTransferStopped: Event<TypeFromFields, any>;
        evConnected: Event<TypeFromFields, any>;
        evNotDetected: Event<TypeFromFields, any>;
        fault: Event<TypeFromFields, any>;
    };
    extensions: readonly [{
        component: {
            attributes: {
                dischargingEnabledUntil: Attribute<number | null, any>;
                maximumDischargeCurrent: Attribute<number | bigint, any>;
                sessionEnergyDischarged: Attribute<number | bigint | null, any>;
            };
            commands: {
                enableDischarging: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            v2X: true;
        };
    }, {
        component: {
            attributes: {
                approximateEvEfficiency: OptionalWritableAttribute<number | null, any>;
                nextChargeRequiredEnergy: Attribute<number | bigint | null, any>;
                nextChargeStartTime: Attribute<number | null, any>;
                nextChargeTargetSoC: Attribute<number | null, any>;
                nextChargeTargetTime: Attribute<number | null, any>;
            };
            commands: {
                clearTargets: Command<void, void, any>;
                getTargets: Command<void, TypeFromFields, any>;
                setTargets: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            chargingPreferences: true;
        };
    }, {
        component: {
            attributes: {
                batteryCapacity: Attribute<number | bigint | null, any>;
                stateOfCharge: Attribute<number | null, any>;
            };
        };
        flags: {
            soCReporting: true;
        };
    }, {
        component: {
            attributes: {
                vehicleId: Attribute<string | null, any>;
            };
        };
        flags: {
            plugAndCharge: true;
        };
    }, {
        component: {
            events: {
                rfid: OptionalEvent<TypeFromFields, any>;
            };
        };
        flags: {
            rfid: true;
        };
    }];
    features: {
        chargingPreferences: BitFlag;
        plugAndCharge: BitFlag;
        rfid: BitFlag;
        soCReporting: BitFlag;
        v2X: BitFlag;
    };
    id: 153;
    name: "EnergyEvse";
    revision: 2;
}, []>

Type declaration

  • Readonlyattributes: {
        chargingEnabledUntil: Attribute<number | null, any>;
        circuitCapacity: Attribute<number | bigint, any>;
        faultState: Attribute<EnergyEvse.FaultState, any>;
        maximumChargeCurrent: Attribute<number | bigint, any>;
        minimumChargeCurrent: Attribute<number | bigint, any>;
        randomizationDelayWindow: OptionalWritableAttribute<number, any>;
        sessionDuration: Attribute<number | null, any>;
        sessionEnergyCharged: Attribute<number | bigint | null, any>;
        sessionId: Attribute<number | null, any>;
        state: Attribute<EnergyEvse.State | null, any>;
        supplyState: Attribute<EnergyEvse.SupplyState, any>;
        userMaximumChargeCurrent: OptionalWritableAttribute<number | bigint, any>;
    }
    • ReadonlychargingEnabledUntil: Attribute<number | null, any>

      Indicates the time, in UTC, that the EVSE will automatically stop current flow to the EV.

      A null value indicates the EVSE is always enabled for charging.

      A value in the past or 0x0 indicates that EVSE charging shall be disabled. The attribute is only set via the payload of the EnableCharging command.

      This attribute shall be persisted, for example a temporary power failure should not stop the vehicle from being charged.

      MatterSpecification.v13.Cluster § 9.3.8.4

    • ReadonlycircuitCapacity: Attribute<number | bigint, any>

      Indicates the capacity that the circuit that the EVSE is connected to can provide. It is intended to allow implementation of a self-managed network of EVSEs. It is assumed that the device will allow the setting of such values by an installer.

      MatterSpecification.v13.Cluster § 9.3.8.6

    • ReadonlyfaultState: Attribute<EnergyEvse.FaultState, any>

      Indicates the type of fault detected by the EVSE (internally or as detected in the pilot signal).

      When the SupplyState attribute is DisabledError, the FaultState attribute will be one of the values listed in FaultStateEnum, except NoError. For all values of SupplyState other than DisabledError, the FaultState attribute shall be NoError.

      MatterSpecification.v13.Cluster § 9.3.8.3

    • ReadonlymaximumChargeCurrent: Attribute<number | bigint, any>

      Indicates the maximum current that can be delivered by the EVSE to the EV.

      This shall represent the actual maximum current offered to the EV at any time. Note that the EV can draw less current than this value. For example, the EV may be limiting its power draw based on the operating conditions of the battery, such as temperature and state of charge.

      The attribute can be initially set using the EnableCharging command or by adjusting the UserMaximumChargeCurrent attribute.

      This attribute value shall be the minimum of:

      • CircuitCapacity - Electrician’s installation setting

      • CableAssemblyCurrentLimit (detected by the EVSE when the cable is plugged in)

      • MaximumChargeCurrent field in the EnableCharging command

      • UserMaximumChargeCurrent attribute

      MatterSpecification.v13.Cluster § 9.3.8.8

    • ReadonlyminimumChargeCurrent: Attribute<number | bigint, any>

      Indicates the minimum current that can be delivered by the EVSE to the EV. The attribute can be set using the EnableCharging command.

      MatterSpecification.v13.Cluster § 9.3.8.7

    • ReadonlyrandomizationDelayWindow: OptionalWritableAttribute<number, any>

      Indicates the size of a random window over which the EVSE will randomize the start of a charging session. This value is in seconds.

      This is a feature that is mandated in some markets (such as UK) where the EVSE should by default randomize its start time within the randomization window. By default in the UK this should be 600s.

      For example, if the RandomizationDelayWindow is 600s (i.e. 10 minutes) and if there was a cheap rate energy starting at 00:30, then the EVSE must compute a random delay between 0-599s and add this to its initial planned start time.

      MatterSpecification.v13.Cluster § 9.3.8.11

    • ReadonlysessionDuration: Attribute<number | null, any>

      MatterSpecification.v13.Cluster § 9.3.8

    • ReadonlysessionEnergyCharged: Attribute<number | bigint | null, any>

      MatterSpecification.v13.Cluster § 9.3.8

    • ReadonlysessionId: Attribute<number | null, any>

      MatterSpecification.v13.Cluster § 9.3.8

    • Readonlystate: Attribute<EnergyEvse.State | null, any>

      Indicates the current status of the EVSE. This higher-level status is partly derived from the signaling protocol as communicated between the EVSE and the vehicle through the pilot signal.

      The State attribute shall change when the EVSE detects change of condition of the EV (plugged in or unplugged, whether the vehicle is asking for demand or not, and if it is charging or discharging).

      NOTE

      SessionEnding is not really a state but a transition. However, the transition period

      may take a few seconds and is useful for some clean up purposes. The Fault state is used to indicate that the FaultState attribute is not NoError.

      MatterSpecification.v13.Cluster § 9.3.8.1

    • ReadonlysupplyState: Attribute<EnergyEvse.SupplyState, any>

      Indicates whether the EV is currently allowed to charge from or discharge to the EVSE.

      MatterSpecification.v13.Cluster § 9.3.8.2

    • ReadonlyuserMaximumChargeCurrent: OptionalWritableAttribute<number | bigint, any>

      Indicates a maximum current that can set by the consumer (e.g. via an app) as a preference to further reduce the charging rate. This may be desirable if the home owner has a solar PV or battery storage system which may only be able to deliver a limited amount of power. The consumer can manually control how much they allow the EV to take.

      This attribute value shall be limited by the EVSE to be in the range of:

      MinimumChargeCurrent <= UserMaximumChargeCurrent <= MaximumChargeCurrent

      where MinimumChargeCurrent and MaximumChargeCurrent are the values received in the EnableCharging command.

      Its default value SHOULD be initialized to the same as the CircuitCapacity attribute. This value shall be persisted across reboots to ensure it does not cause charging issues during temporary power failures.

      MatterSpecification.v13.Cluster § 9.3.8.10

  • Readonlycommands: {
        disable: Command<void, void, any>;
        enableCharging: Command<TypeFromFields, void, any>;
        startDiagnostics: OptionalCommand<void, void, any>;
    }
    • Readonlydisable: Command<void, void, any>

      Allows a client to disable the EVSE from charging and discharging.

      MatterSpecification.v13.Cluster § 9.3.9.1

    • ReadonlyenableCharging: Command<TypeFromFields, void, any>

      Allows a client to enable the EVSE to charge an EV.

      MatterSpecification.v13.Cluster § 9.3.9.2

    • ReadonlystartDiagnostics: OptionalCommand<void, void, any>

      Allows a client to put the EVSE into a self-diagnostics mode.

      MatterSpecification.v13.Cluster § 9.3.9.4

  • Readonlyevents: {
        energyTransferStarted: Event<TypeFromFields, any>;
        energyTransferStopped: Event<TypeFromFields, any>;
        evConnected: Event<TypeFromFields, any>;
        evNotDetected: Event<TypeFromFields, any>;
        fault: Event<TypeFromFields, any>;
    }
    • ReadonlyenergyTransferStarted: Event<TypeFromFields, any>

      This event shall be generated when the EV starts charging or discharging.

      MatterSpecification.v13.Cluster § 9.3.10.3

    • ReadonlyenergyTransferStopped: Event<TypeFromFields, any>

      This event shall be generated when the EV stops charging or discharging.

      MatterSpecification.v13.Cluster § 9.3.10.4

    • ReadonlyevConnected: Event<TypeFromFields, any>

      This event shall be generated when the EV is plugged in.

      MatterSpecification.v13.Cluster § 9.3.10.1

    • ReadonlyevNotDetected: Event<TypeFromFields, any>

      This event shall be generated when the EV is unplugged or not detected (having been previously plugged in). When the vehicle is unplugged then the session is ended.

      MatterSpecification.v13.Cluster § 9.3.10.2

    • Readonlyfault: Event<TypeFromFields, any>

      If the EVSE detects a fault it shall generate a Fault Event. The SupplyState attribute shall be set to DisabledError and the type of fault detected by the EVSE shall be stored in the FaultState attribute.

      This event shall be generated when the FaultState changes from any error state. i.e. if it changes from NoError to any other state and if the error then clears, this would generate 2 events.

      It is assumed that the fault will be cleared locally on the EVSE device. When all faults have been cleared, the EVSE device shall set the FaultState attribute to NoError and the SupplyState attribute shall be set back to its previous state.

      MatterSpecification.v13.Cluster § 9.3.10.5

  • Readonlyextensions: readonly [{
        component: {
            attributes: {
                dischargingEnabledUntil: Attribute<number | null, any>;
                maximumDischargeCurrent: Attribute<number | bigint, any>;
                sessionEnergyDischarged: Attribute<number | bigint | null, any>;
            };
            commands: {
                enableDischarging: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            v2X: true;
        };
    }, {
        component: {
            attributes: {
                approximateEvEfficiency: OptionalWritableAttribute<number | null, any>;
                nextChargeRequiredEnergy: Attribute<number | bigint | null, any>;
                nextChargeStartTime: Attribute<number | null, any>;
                nextChargeTargetSoC: Attribute<number | null, any>;
                nextChargeTargetTime: Attribute<number | null, any>;
            };
            commands: {
                clearTargets: Command<void, void, any>;
                getTargets: Command<void, TypeFromFields, any>;
                setTargets: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            chargingPreferences: true;
        };
    }, {
        component: {
            attributes: {
                batteryCapacity: Attribute<number | bigint | null, any>;
                stateOfCharge: Attribute<number | null, any>;
            };
        };
        flags: {
            soCReporting: true;
        };
    }, {
        component: {
            attributes: {
                vehicleId: Attribute<string | null, any>;
            };
        };
        flags: {
            plugAndCharge: true;
        };
    }, {
        component: {
            events: {
                rfid: OptionalEvent<TypeFromFields, any>;
            };
        };
        flags: {
            rfid: true;
        };
    }]

    This metadata controls which EnergyEvseCluster elements matter.js activates for specific feature combinations.

  • Readonlyfeatures: {
        chargingPreferences: BitFlag;
        plugAndCharge: BitFlag;
        rfid: BitFlag;
        soCReporting: BitFlag;
        v2X: BitFlag;
    }
    • ReadonlychargingPreferences: BitFlag

      ChargingPreferences

      Since some EVSEs cannot obtain the SoC from the vehicle, some EV charging solutions allow the consumer to specify a daily charging target (for adding energy to the EV’s battery). This feature allows the consumer to specify how many miles or km of additional range they need for their typical daily commute. This range requirement can be converted into a daily energy demand with a target charging completion time.

      The EVSE itself may use this information (or may allow a controller such as an EMS) to compute an

      optimized charging schedule.

      An EVSE device may implement the Device Energy Management cluster PFR (Power Forecast Reporting) and FA (Forecast Adjustment) features. This can help a controller (such as an EMS) to optimize the EVSE against other ESAs. For example, a solar PV ESA may share its Forecast and allow the EVSE to know the best time to charge so that any excess solar generation is used to charge the EV.

      EVSE devices that support the Device Energy Management cluster’s FA feature can have their charging profiles set by a controller device such as an EMS. For example, if the EVSE advertises a simple power forecast which allows the EMS to adjust over a wide range of power and time durations, then the EVSE may allow the EMS to propose a revised optimized forecast (which is the charging profile).

      See the Device Energy Management Cluster for more details.

      MatterSpecification.v13.Cluster § 9.3.4.1

    • ReadonlyplugAndCharge: BitFlag

      PlugAndCharge

      If the EVSE supports PLC, it may be able to support the Plug and Charge feature. e.g. this may allow the vehicle ID to be obtained which may allow an energy management system to track energy usage per vehicle (e.g. to give the owner an indicative cost of charging, or for work place charging).

      If the EVSE supports the Plug and Charge feature, it will only work if a compatible EV is connected.

      MatterSpecification.v13.Cluster § 9.3.4.3

    • Readonlyrfid: BitFlag

      Rfid

      If the EVSE is fitted with an RFID reader, it may be possible to obtain the User or Vehicle ID from an RFID card. This may be used to record a charging session against a specific charging account, and may optionally be used to authorize a charging session.

      An RFID event can be generated when a user taps an RFID card onto the RFID reader. The event must be subscribed to by the EVSE Management cluster client. This client may use this to enable the EV to charge or discharge. The lookup and authorization of RIFD UID is outside the scope of this cluster.

      MatterSpecification.v13.Cluster § 9.3.4.4

    • ReadonlysoCReporting: BitFlag

      SoCReporting

      Vehicles and EVSEs which support ISO 15118 may allow the vehicle to report its battery size and state of charge. If the EVSE supports PLC it may have a vehicle connected which optionally supports reporting of its battery size and current State of Charge (SoC).

      If the EVSE supports reporting of State of Charge this feature will only work if a compatible EV is connected.

      Note some EVSEs may use other undefined mechanisms to obtain vehicle State of Charge outside the scope of this cluster.

      MatterSpecification.v13.Cluster § 9.3.4.2

    • Readonlyv2X: BitFlag

      V2X

      If the EVSE can support bi-directional charging, it may be possible to request that the vehicle can discharge to the home or grid.

      MatterSpecification.v13.Cluster § 9.3.4.5

  • Readonlyid: 153
  • Readonlyname: "EnergyEvse"
  • Readonlyrevision: 2