Asset Management
Assets are the core of Powoflow. Every piece of equipment, location, vehicle, or system you manage is represented as an asset (internally called a Resource). Assets are organized in a parent-child hierarchy, enriched with custom data fields, and connected to telemetry, work orders, inventory, and more.
Asset Hierarchy
Assets are organized using CHILD_OF relationships, forming a tree structure. For example:
Building Alpha
└── Floor 1
└── Server Room
├── Rack A
│ ├── Server 01
│ └── UPS 01
└── HVAC Unit 3
Hierarchy rules (defined by your domain template) control which resource types can be children of which parents. For example, a "Floor" can only be a child of a "Building," and a "Room" can only be a child of a "Floor."
Data values can be inherited from parent assets. If a parent defines a custom field value (e.g., "Site Code"), child assets can inherit it automatically unless they override it with their own value.
View Modes
The Assets page offers three ways to browse your assets:
List View
A sortable, filterable table showing all assets. Columns include name, type, parent, status, and any custom fields.
- Search by name using the search bar
- Filter by resource type, status, or parent
- Sort by any column
- Paginate through large asset lists
Tree View
A hierarchical tree that mirrors your CHILD_OF relationships. Expand and collapse nodes to navigate the hierarchy.
- Click a node to navigate to the asset detail page
- Drag and drop to reparent assets (Admin only)
- Visual indicators show device connectivity status
Graph View
An interactive network visualization built with React Flow showing assets as nodes and relationships as edges.
- Pan and zoom to explore large hierarchies
- Nodes are colored by resource type
- Edges represent CHILD_OF, LINKED_TO, and CONNECTED_TO relationships
- Click a node to open the asset detail panel
- Supports automatic layout algorithms (tree, force-directed)
Creating an Asset
- Click Create Asset (or the + button)
- Select a Resource Type from the dropdown (types come from your applied templates)
- Enter a Name (required) and optional Description
- Choose a Parent asset to place it in the hierarchy
- Fill in any custom data fields defined by the resource type
- Click Save
Use the search field in the parent picker to quickly find the right parent in large hierarchies. The picker shows the full path (e.g., "Building Alpha > Floor 1 > Server Room").
Asset Detail Page
Clicking an asset opens its detail page with multiple tabs:
Overview
The landing tab showing the asset's name, type, description, parent, status, and a summary of key information. Includes quick-action buttons for common operations.
Attachments
Upload and manage files associated with the asset — manuals, datasheets, photos, certificates, and inspection reports. Supports drag-and-drop upload.
Properties
View and edit the asset's custom data fields. Each resource type defines its own set of fields.
Custom Data Field Types
| Field Type | Description | Example |
|---|---|---|
| Text | Free-form string | Serial Number, Model Name |
| Number | Numeric value with optional unit | Rated Power (kW), Weight (kg) |
| Date | Calendar date picker | Install Date, Warranty Expiry |
| Boolean | Toggle (yes/no) | Is Critical, Has Warranty |
| Enum | Single select from predefined options | Status, Priority, Condition |
| Password | Masked field for sensitive values | Access Code, WiFi Password |
Custom data fields are defined at the resource type level in Settings → Resource Types. All assets of the same type share the same field definitions, but each asset has its own values.
Location
Set or view the asset's geographic position:
- GPS coordinates (latitude/longitude) for map display
- Address information
- Location is used by the Fleet Map and for proximity-based features
Telemetry
Live and historical sensor data from connected edge devices:
- Real-time values with last-updated timestamps
- Sparkline charts for recent trends
- Link to Data Explorer for detailed analysis
- Configurable display units (values are normalized using symbol units like degC, %, etc.)
Connections
Manage relationships between assets:
| Relationship Type | Description |
|---|---|
| CHILD_OF | Hierarchical parent-child (shown in tree view) |
| LINKED_TO | Logical association between related assets |
| CONNECTED_TO | Physical or network connection between assets |
Add new connections by searching for the target asset and selecting the relationship type.
Accounts
Financial and contractual information linked to the asset — vendor accounts, service contracts, and warranty details.
Energy
Energy consumption tracking with aggregated metrics, costs, and carbon footprint calculations.
Fuel
Fuel consumption logs with fill-up tracking, burn rate calculations, and cost reporting. Relevant for vehicles, generators, and marine vessels.
Meters
Cumulative meter readings (e.g., engine hours, odometer, cycle count) used to trigger meter-based PM schedules.
Work Orders
All work orders associated with this asset — open, in-progress, and completed. Create new work orders directly from this tab.
Downtime
Record and track unplanned downtime events with start/end times, duration, and cause coding. Used for reliability calculations.
Checklists
Task checklists attached to this asset. View completion status and assign new checklists.
Camera
Live camera feed from connected cameras. Supports multiple camera streams per asset with grid layout.
Reliability
Reliability metrics calculated from downtime records:
- MTBF (Mean Time Between Failures)
- MTTR (Mean Time To Repair)
- Availability percentage
- Failure trend charts
Favorites
Click the heart icon on any asset to add it to your favorites. Favorites appear in:
- The mobile app's Home tab for quick access
- The sidebar's favorites section (web app)
- Priority placement in search results
Archive, Restore, and Purge
Assets follow a soft-delete lifecycle:
| Action | Effect |
|---|---|
| Archive | Hides the asset from default views. Data is preserved. Telemetry stops being collected. |
| Restore | Brings an archived asset back to active status |
| Purge | Permanently deletes an archived asset and all associated data. This action is irreversible. |
Purge permanently removes the asset, its telemetry history, attachments, and all associated records. This cannot be undone. Only use purge when you are certain the data is no longer needed.
External IDs
Assets can be tagged with external identifiers for field operations:
- QR Codes — Generate and print QR code labels. Scanning with the mobile app opens the asset directly.
- NFC Tags — Write asset IDs to NFC tags. Tap with a mobile device to open the asset.
External IDs are managed from the asset detail page under the Overview tab.
Links and Connections
Beyond the parent-child hierarchy, assets can be linked using:
- LINKED_TO — A bidirectional logical link (e.g., a backup generator linked to the main generator it supports)
- CONNECTED_TO — A physical or network connection (e.g., a sensor connected to a PLC)
Links appear in the Graph View and on the Connections tab. They are useful for modeling complex systems where the strict tree hierarchy is not sufficient.
Edge Device Claiming
To connect a physical IoT device to an asset:
- Navigate to the asset's detail page
- Click Claim Device
- Enter the device ID or scan the device's QR code
- The asset begins receiving telemetry from the device
Once claimed, the device's sensor data flows into the asset's Telemetry tab, Data Explorer, and dashboard tiles.
A single asset can have multiple claimed devices (e.g., a vessel with GPS, engine sensors, and weather instruments). All device data is unified under the asset.
Neo4j Graph Sync
Asset relationships are automatically synchronized to a Neo4j graph database for advanced queries and visualization. This enables:
- Complex relationship traversals (e.g., "find all equipment downstream of this transformer")
- Impact analysis for failures
- The Graph View on the Assets page
The sync happens automatically — no manual configuration is required.
Best Practices
- Design your hierarchy before creating assets. Apply the right domain template first, then build top-down (sites, then buildings, then equipment).
- Use resource types consistently. If two assets are functionally the same, they should be the same resource type.
- Leverage data inheritance to avoid duplicating values. Set common properties (site code, region, cost center) on parent assets.
- Tag critical assets as favorites so field technicians can access them instantly from the mobile app.
- Use links for cross-cutting relationships that do not fit the tree hierarchy (redundant systems, network topologies).