Post

Project

Organize automation configurations into reusable, shareable project containers.

Project

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

FieldDescriptionRequired
nameProject display nameYes
descriptionProject descriptionNo

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.

This post is licensed under CC BY 4.0 by the author.