Project
Organize automation configurations into reusable, shareable project containers.
Projects: Automation Configuration Containers
A Project represents a complete automation and monitoring configuration in the Krill Platform. Projects serve as organizational containers that group related data points, rules, device configurations, and settings for specific deployments or use cases.
Overview
Projects provide logical organization for complex automation setups. Instead of having all nodes scattered at the top level, you can group related automation components into meaningful project containers. This makes it easier to manage, understand, and maintain sophisticated automation configurations.
Key Features
- Logical Organization: Group related automation components together
- Container Structure: Act as parent nodes for child elements
- Configuration Isolation: Keep different automation setups separate
- Easy Navigation: Find related components quickly
- Descriptive Metadata: Add names and descriptions for clarity
- Hierarchical Structure: Nest projects for complex organizations
Project Structure
Projects act as container nodes in the Krill node hierarchy:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Krill Server
├─> Project: Greenhouse Automation
│ ├─> Temperature Data Point
│ │ ├─> High Threshold Trigger
│ │ │ └─> Pin Control (vent fans)
│ │ └─> Low Threshold Trigger
│ │ └─> Pin Control (heater)
│ ├─> Humidity Data Point
│ │ └─> Compute (hourly average)
│ └─> Cron Timer
│ └─> OutgoingWebHook (daily report)
│
├─> Project: Aquarium Monitor
│ ├─> pH Data Point
│ ├─> Temperature Data Point
│ └─> Serial Device (Atlas Scientific)
│
└─> Project: Security System
├─> Motion Sensor Data Point
└─> Incoming WebHook (alarm API)
Configuration
| Field | Description | Required |
|---|---|---|
name | Project display name | Yes |
description | Project description | No |
Use Cases
- Environment Monitoring: Group all environmental sensors and automation
- Equipment Control: Organize automation for specific equipment
- Room/Zone Management: Separate automation by physical location
- Application Separation: Keep different applications isolated
- Development/Production: Separate testing from production configs
- Client Deployments: Package automation for specific clients
Example Projects
Smart Home Automation:
1
2
3
4
5
6
Project: Smart Home
├─> Living Room Temperature
├─> Bedroom Temperature
├─> Thermostat Control (Logic Gates)
├─> MQTT (Zigbee integration)
└─> Daily Report (Cron + WebHook)
Industrial Monitoring:
1
2
3
4
5
6
Project: Production Line A
├─> Motor Temperature
├─> Motor RPM
├─> Vibration Sensor
├─> High Threshold Alerts
└─> Maintenance Notifications
Scientific Data Collection:
1
2
3
4
5
6
7
8
Project: Weather Station
├─> Temperature
├─> Humidity
├─> Barometric Pressure
├─> Wind Speed
├─> Rainfall
├─> Compute (daily summaries)
└─> Cloud Upload (WebHook)
Benefits of Using Projects
Organization:
- Clear visual grouping in the UI
- Easier to find related components
- Logical structure for complex systems
Management:
- Focus on specific automation sets
- Simplified maintenance
- Clear scope boundaries
Collaboration:
- Share project designs with others
- Document automation purpose
- Onboard new team members easily
Project Best Practices
- Descriptive Names: Use clear, meaningful project names
- Single Purpose: Each project should have a focused purpose
- Documentation: Add descriptions explaining the project’s role
- Consistent Structure: Follow naming conventions within projects
- Logical Grouping: Group by function, location, or system
- Avoid Over-Nesting: Keep hierarchy reasonably flat
Integration Points
Projects can contain any Krill node type:
- Data Points: Sensor readings and measurements
- Serial Devices: Hardware connections
- Triggers: Thresholds, timers, webhooks, buttons
- Executors: Calculations, logic gates, webhooks, Lambda
- Pins: GPIO control for hardware interaction
When to Use Projects
Use Projects when:
- You have multiple unrelated automation systems
- Your node count is growing and becoming hard to manage
- You want clear separation between different use cases
- You need to document automation scope and purpose
- Multiple people work on different automation areas
Single Project may suffice when:
- You have a simple, focused automation setup
- All nodes are closely related
- The total node count is manageable
Projects provide essential organizational structure for growing Krill deployments, making complex automation systems manageable and maintainable.