OptionalaccessHow the current user accesses this group (from GET /v1/groups).
OptionalparentPresent only when this instance is a nested group (see isChildGroup).
Adds a node to this nested group (subgroup API).
Calls PUT /v1/groups/{groupId}/subgroups/{subGroupId}/nodes/{nodeId}.
Creates a new automation for this group. The server mints the id.
Calls POST /v1/groups/{groupId}/service/automations.
The automation fields (name, conditions, actions, …).
A promise that resolves to the created ESPRMNeoAutomation instance.
Creates schedules for multiple nodes in this group.
For each node, calls PUT /v1/groups/{groupId}/nodes/{nodeId}/schedules.
Array of objects, each containing a nodeId and its schedules.
A promise that resolves to the created schedules across all nodes.
Creates a new nested group (subgroup) under this group.
Calls POST /v1/groups/{groupId}/subgroups.
The name for the new nested group.
A promise that resolves to the created child ESPRMNeoGroup (parentId set).
Deletes this group from the cloud.
Calls:
DELETE /v1/groups/{groupId}DELETE /v1/groups/{groupId}/subgroups/{subGroupId}After a successful delete this instance is stale. Callers should discard
it and drop it from any local caches (for a subgroup, remove it from its
parent's subgroups array — the SDK cannot reach the parent from here).
A promise that resolves with the API response when the group has been deleted.
Deletes all schedules for all nodes in this group.
For each node, calls DELETE /v1/groups/{groupId}/nodes/{nodeId}/schedules.
A promise that resolves with the API response when all schedules are deleted.
Retrieves a specific automation by its ID.
Calls GET /v1/groups/{groupId}/service/automations/{automationId}.
The ID of the automation to retrieve.
A promise that resolves to an ESPRMNeoAutomation instance.
Retrieves all automations for this group.
Calls GET /v1/groups/{groupId}/service/automations.
A promise that resolves to an array of ESPRMNeoAutomation instances.
Retrieves a specific node from this group by node ID.
Cloud paths:
GET /v1/groups/{groupId}/nodes/{nodeId}/configGET /v1/groups/{groupId}/subgroups/{subGroupId}/nodes/{nodeId}/configWith cache: true (default), uses local storage when present; otherwise
fetches from the cloud. With cache: false, always fetches from the cloud.
Multi-subgroup nodes: call getNode on the root group so all
subgroup memberships are discovered for the correct MQTT shadow name.
The ID of the node to retrieve.
Optionaloptions: GetNodeOptionsSee GetNodeOptions. Defaults to { cache: true }.
A promise that resolves to an ESPRMNeoNode instance.
Retrieves all nodes in this group.
Forwards GetNodesOptions to each ESPRMNeoGroup.getNode
call. With cache: true (default), each node config is read from local
storage ({@link StorageKeys.NODE_CONFIG_PREFIX} + nodeId) when
present; with cache: false, configs are fetched from the cloud and
written back to local storage.
Optionaloptions: GetNodesOptionsSee GetNodesOptions. Defaults to { cache: true }.
A promise that resolves to an array of ESPRMNeoNode instances.
Retrieves all schedules for all nodes in this group.
Aggregates schedules from all nodes in the group via
GET /v1/groups/{groupId}/nodes/{nodeId}/schedules per node.
A promise that resolves to an array of ESPRMNeoSchedule instances.
Returns users with access to this group (email, phone number, access type, user id).
Calls:
GET /v1/groups/{groupId}/usersGET /v1/groups/{groupId}/subgroups/{subGroupId}/usersThe listing scope is decided by the backend from the caller's access level: primary callers see all members; secondary and subgroup-only callers see only the group's primary owners.
A promise that resolves to a GroupSharingInfo.
Leaves this group (or subgroup) by removing the current (calling) user.
Calls the remove-member API with the 'me' path alias so the server
resolves the authenticated caller:
DELETE /v1/groups/{groupId}/users/{userId} with userId=me.DELETE /v1/groups/{groupId}/subgroups/{subGroupId}/users/{userId} with userId=me.The last remaining Primary user cannot leave; the group must always have at least one Primary.
A promise that resolves with the API response when the user has left.
Removes another member from this group (or subgroup).
DELETE /v1/groups/{groupId}/users/{userId}.DELETE /v1/groups/{groupId}/subgroups/{subGroupId}/users/{userId}.To remove the current (calling) user, use ESPRMNeoGroup.leave instead.
The ID of the user to remove. Must not be the caller.
A promise that resolves with the API response.
Removes a node association from this group.
DELETE /v1/groups/{groupId}/nodes/{nodeId} (full disassociation from the group).DELETE /v1/groups/{groupId}/subgroups/{subGroupId}/nodes/{nodeId} (removes from the subgroup only).Sends a parameter payload to all devices in this group (or one subgroup) via the group control MQTT topic. Same JSON shape as ESPRMNeoNode.setParams.
subgroupId for a group-wide broadcast, or pass subgroupId
to address one subgroup.Optionaloptions: ESPRMNeoGroupSetParamsOptionsShares this group with another user.
Calls:
POST /v1/groups/{groupId}/sharing-requestsPOST /v1/groups/{groupId}/subgroups/{subGroupId}/sharing-requestsSharing options.
Options for sharing a group or subgroup.
A promise that resolves to the API response.
Updates the name of this group.
Calls:
PATCH /v1/groups/{groupId}PATCH /v1/groups/{groupId}/subgroups/{subGroupId}The new name for the group.
A promise that resolves with the API response when the name is successfully updated.
Represents a group in the ESP Rainmaker Neo SDK. Nested groups are also
ESPRMNeoGroupinstances withparentIdset.Instance methods (attached via prototype in
methods/ESPRMNeoGroup/):addNode,removeNode,getNode,getNodesupdateName,delete,leave,createSubGroupshare,getSharingInfo,removeMembersetParamsgetSchedules,createSchedule,deleteAllSchedulescreateAutomation,getAutomation,getAutomations