How to Create a Custom Component
Add any CAN bus device to Profinity by creating a Custom Component with a DBC file and optional dashboard.
Prerequisites
- A DBC file for your CAN bus device
- (Optional) A dashboard YAML file
- Access to create components in Profinity
Steps
Step 1: Create a New Custom Component
- Navigate to ADMIN → Components
- Click Add Component
- Select Custom Component
Step 2: Configure Basic Settings
- Enter a Component Name (e.g., "My CAN Device")
- Set the CAN ID if required
- Configure connection settings
Step 3: Add Your DBC File
Option A - Using DBC Editor: 1. Click the DBC Editor icon in the toolbar 2. Paste your DBC content or upload a DBC file 3. Editor validates your DBC syntax 4. Save the DBC configuration
Option B - Upload DBC File:
1. Find the DBC file upload option in settings
2. Click Browse and select your .dbc file
3. Upload the file
4. Profinity parses and validates the DBC file
Step 4: (Optional) Add a Custom Dashboard
- Click the Dashboard Editor icon
- Start with "Hello World" template or upload existing YAML
- Create dashboard with data bindings:
- Save the dashboard
Step 5: Save and Activate
- Click Save to save your Custom Component
- Component appears in your component list
- Add it to your active profile if needed
Step 6: Verify the Component
- Check component appears in the sidebar
- View component dashboard to see data
- Verify CAN messages are being received
- Check signals are displaying correctly
Using Your Custom Component
Once created, your Custom Component:
- Receives CAN messages defined in your DBC file
- Displays signals in the dashboard (if configured)
- Can be logged to InfluxDB, Prometheus, or files
- Can be monitored in real-time
- Can be used in scripts via the Profinity API
Tips
- Test with CAN Log Replay: Use the CAN log replay feature to test your component with recorded messages
- Start Simple: Begin with a basic dashboard and add complexity gradually
- Validate DBC: Ensure your DBC file is valid before uploading
- Use Examples: Look at existing component dashboards for reference
Troubleshooting
- No data appearing: Check that CAN messages are being received and match your DBC definitions
- Dashboard not loading: Validate your YAML syntax in the dashboard editor
- Signals not found: Verify signal names match exactly (case-sensitive)
Related Documentation
- Custom Components - Complete Custom Component guide
- DBC Documentation - Understanding DBC files
- Dashboard Development Guide - Creating dashboards
- Data Binding - Connecting data to dashboards