Growth Phases¶
Every plant in Kamerplanter passes through a sequence of growth phases. The system automatically adjusts recommendations for watering, fertilization, light, and climate to the current phase. This ensures each plant receives exactly what it needs at its current stage of development.
Prerequisites¶
- At least one plant set up (via planting runs or individually)
- Helpful: matching nutrient plans for the respective phases (optional but recommended)
The 10 Phase Types¶
Kamerplanter ships with ten pre-built phase types. Each plant species only uses the subset that makes sense for it — which subset that is depends on the assigned phase sequence (see the next section).
| Phase type | Description | Typical duration |
|---|---|---|
| Germination | Seed germinates, first roots form | 7 days |
| Seedling | Establishment after germination, still delicate | 14 days |
| Vegetative | Active leaf and stem growth | 45 days |
| Flowering | Flower formation and pollination | 30 days |
| Fruiting | Fruit development after pollination | 75 days |
| Ripening | Final maturation before harvest | 14 days |
| Dormancy | Rest period for perennial plants | 120 days |
| Sprouting | New growth after dormancy | 21 days |
| Senescence | Leaf fall, preparation for dormancy | 21 days |
| Flushing | Pre-harvest flush with plain water | 14 days |
The listed duration is a guideline from the phase definition — individual phase sequences can override it (see below).
\"Harvest\" is no longer its own phase
Unlike earlier versions, there is no separate phase called "Harvest". Instead, each phase definition within a sequence marks via an "allows harvest" flag whether harvesting is permitted during it — usually the Ripening phase, and for some perennial crops Fruiting itself. This also correctly represents plants with continuous harvest (e.g. tomatoes that ripen continuously over weeks).
Phase Sequences: How a Species Moves Through Phases¶
A phase sequence is an ordered chain of phase types that makes sense for a plant species or a group of similar species. Kamerplanter ships with 11 pre-built sequences, for example:
| Sequence | For | Example phase chain |
|---|---|---|
| Indoor Default Cycle | Cannabis and similar indoor crops | Seedling → Vegetative → Flowering → Flushing → Ripening (harvest) |
| Annual Harvest Crop | Lettuce, herbs | Germination → Seedling → Vegetative → Ripening (harvest) → Senescence |
| Standard Perennial | Perennial ornamentals | Dormancy → Sprouting → Vegetative → Flowering → Senescence (repeats) |
| Full Fruit Cycle Perennial | Fruit trees with multi-year fruiting | Dormancy → Sprouting → Vegetative → Flowering → Fruiting → Ripening (harvest) → Senescence (repeats) |
| Biennial with Vernalization | Biennial vegetables (e.g. carrot, onion grown for seed) | Germination → Seedling → Vegetative → Dormancy (cold period) → Flowering → Ripening (harvest) |
For every phase, a sequence defines whether it is recurring (perennial plants go through the cycle again), whether it is a terminal phase (the sequence ends there), and whether harvest is allowed during it. Which sequence a plant species uses is part of the species' lifecycle configuration in the master data.
stateDiagram-v2
[*] --> Seedling
Seedling --> Vegetative
Vegetative --> Flowering : Photoperiod change or manual
Flowering --> Flushing
Flushing --> Ripening : Harvest allowed
Ripening --> [*]
Vegetative --> Dormancy : Perennial sequence
Dormancy --> Sprouting
Sprouting --> Vegetative Not all phases apply to every plant
Herbs such as basil or lettuce do not go through a pronounced flowering phase the way resin-producing plants do. Which phases a species goes through is determined entirely by its assigned phase sequence — not all ten phase types occur in every sequence.
Managing Phase Definitions and Sequences¶
Advanced users can create their own phase types and sequences, or review the existing ones:
- Phase Definitions (
/phasen/definitionen): a list of all phase types with name, typical duration, watering interval, and stress tolerance. The ten built-in phase types are marked as "system" entries and cannot be deleted while they are used in a sequence. Add your own via Create Definition. - Phase Sequences (
/phasen/ablaeufe): a list of all phase sequences with cycle type (annual, biennial, perennial), number of phases, and total duration. In a sequence's detail view you add phases, reorder them ("Move up"/"Move down"), and set per phase whether it is a terminal phase, recurring, or allows harvest. For repeating sequences you also choose which phase the cycle restarts at after the terminal phase.
Both pages are available in the navigation under Phases. Since they edit fundamental system data, they are — like other master data areas — intended primarily for advanced users.
Phase Definition Detail View¶
Opening a single phase definition from the list serves two purposes at once: it is a reference for the phase itself (typical duration, watering interval, stress tolerance, description) and an operational view of your plants that are currently going through it. Alongside the core properties and the phase sequences that use this definition, the detail page shows two further lists:
- Plants currently in this phase: your active plants that are currently in this phase — with plant, species, location/slot, the "in phase since" date, and the days elapsed in phase. A counter next to the heading shows the total. Click a row to jump straight to that plant's detail page. If none of your plants are currently in this phase, a friendly message appears instead.
- Species that traverse this phase: all species from the global catalog whose phase sequence includes this phase — with scientific name, common name, and the phase's typical duration for that species. Click a row to go to that species' detail page. If no species are associated with the phase, a friendly message appears here too.
Two different views of the same phase
The first list answers "which of my plants need attention right now?", the second "which species go through this phase in general?". The two lists are independent of each other: the first shows only your own active plants, while the second shows the full, cross-tenant species catalog.
Viewing the Current Phase of a Plant¶
- Navigate to Plants and open a plant by clicking its name.
- The detail page shows the current phase with a colored chip at the top.
- The Growth Phases tab shows the complete phase history with the date of each transition.
Automatic Phase Transitions¶
In addition to the manual transition (see below), a phase transition within a sequence can also be triggered automatically. Kamerplanter supports three trigger types:
- Time-based: The transition fires automatically once a plant has spent a defined number of days in its current phase.
- Photoperiod-based: The transition to flowering fires once the effective day length (hours of light per day) drops below (short-day plants) or rises above (long-day plants) a species-specific threshold. Kamerplanter derives this day length in two ways: for indoor plants it is taken from the location's light schedule (the grow light's on/off times, e.g. 12/12 to induce flowering); for outdoor plants it is computed from the astronomical day length at the site, which requires GPS coordinates to be configured (see Locations and Substrates). When an artificially lit location has a valid light schedule, that schedule takes precedence — an artificially lit plant does not experience the natural day length.
- Vernalization-based: For biennial plants with a cold requirement (e.g. carrot grown for seed), Kamerplanter counts cold days; once the species-specific minimum is reached, the transition from dormancy to flowering is unlocked automatically.
For plant species with a so-called "indeterminate" growth habit — this includes many tomato, pepper and cucumber varieties as well as numerous houseplants — Kamerplanter suppresses automatic advances once the plant has reached its stable, permanently productive phase. Instead of linearly advancing towards fruit ripening and the end of the cycle, the plant stays in that one phase, where growth, flowering and fruit set continue concurrently and harvest is ongoing.
Partially available: classification as \"indeterminate\"
The logic that detects and suppresses the automatic advance is fully implemented and already active for the indeterminate species tomato, pepper and cucumber. Whether a species is classified as "determinate", "indeterminate" or "semi-determinate" cannot yet be maintained via the UI or the public API, though — the classification is part of the lifecycle configuration and is being extended to further species step by step.
Partially available
The evaluation logic for automatic transitions is fully implemented. Whether and how often your Kamerplanter operator actually schedules the background check depends on the specific installation. To be safe, don't rely exclusively on automatic transitions — check your plants' phase status regularly and trigger transitions manually when needed (see below).
Triggering a Phase Transition Manually¶
You can trigger a phase transition manually at any time, regardless of whether automatic transitions are also configured for the phase — for example, if you want to move a plant earlier or later than the system suggests, based on your own observation.
Step 1: Open the Plant¶
Navigate to your plant and open the Growth Phases tab.
Step 2: Trigger the Phase Transition¶
Click Change Phase (or the specific phase name, e.g. "Switch to Flowering"). A confirmation dialog appears.
Step 3: Enter Details¶
In the dialog you can optionally enter:
- Transition date: Today by default, but can be set in the past
- Notes: Observations accompanying the transition (e.g. "First flower sites visible")
Step 4: Confirm¶
Click Save. The phase changes immediately. Recommendations in the app adjust automatically.
Phase transitions are irreversible
Once a plant has moved to the next phase, this transition cannot be undone. Check carefully whether the plant is genuinely ready before confirming.
Batch Phase Transition for Entire Groups¶
If a plant belongs to an active planting run, it shares its phase with all other plants in that run — the phase is tracked at the run level, not per individual plant. A phase change therefore always affects all plants in the run at once; there is no option to select individual plants for a batch transition.
- Open the relevant Planting Run under Runs.
- Click Batch Phase Change.
- Select the target phase (e.g. "Vegetative" → "Flowering").
- Confirm — all plants in the run transition together.
More information: Planting Runs
Why plants in a run can't be transitioned individually¶
As long as a plant belongs to an active or planned planting run, a direct phase change on that individual plant is blocked — the app reports a conflict in this case (error code phase.run_owned). The reasoning: the run and the individual plant should not drift apart. If you want to develop a plant independently of the group, detach it from the run first (see Detaching Individual Plants from a Run) and then change its phase individually.
Phase Profiles and Recommendations¶
Each phase has its own resource profile. When you open the detail view of a phase (tab Growth Phases → click a phase), you see the target values:
VPD Target (Vapor Pressure Deficit)¶
The Vapor Pressure Deficit (VPD) describes how strongly the air draws moisture from the leaves. Too high causes drought stress; too low promotes mould.
| Phase | VPD Target |
|---|---|
| Germination / Seedling | 0.4–0.8 kPa |
| Vegetative | 0.8–1.2 kPa |
| Flowering | 1.0–1.5 kPa |
Photoperiod¶
The day length (hours of light per day) controls the transition to flowering in many plants.
| Phase | Typical Photoperiod (short-day plants) |
|---|---|
| Vegetative | 18/6 (18 h light, 6 h dark) |
| Flower induction | 12/12 (12 h light, 12 h dark) |
Automatic flower induction
For plants with defined phase data, flowering can be triggered photoperiodically — indoors from the location's light schedule, outdoors from the astronomical day length when GPS coordinates are configured (see Automatic Phase Transitions).
Watering Volume per Phase¶
The recommended watering volume on the plant detail page automatically adapts to the current phase:
- Germination and seedling: frequent but low volume per watering — the young root system cannot yet handle large amounts.
- Flowering and flushing: elevated volume.
- Dormancy (winter rest): minimal water, just enough to keep the substrate from drying out completely.
- Dry storage (e.g. resting bulbs/tubers): no watering at all.
Flushing and dormancy are additionally flagged with the chip "Water only — no feed": the plant is still watered in these phases, but not fertilized — during a flush to wash residual salts out of the substrate before harvest, during dormancy because growth has paused.
Two further factors affect the suggested volume:
- The plant species' waterlogging tolerance caps the volume — a waterlogging-sensitive species is suggested less, a tolerant one somewhat more.
- A live soil-moisture sensor configured at the plant's location (see Sensors) automatically reduces the suggested volume when the root zone is already wet; a hint on the detail page indicates this.
Not yet implemented
An additional, evapotranspiration-based adjustment of this recommendation from live weather data is prepared as an extension point, but does not yet draw on real weather data.
NPK Profile (Nutrient Ratio)¶
The nitrogen-phosphorus-potassium ratio changes across phases:
- Vegetative: High nitrogen (N) for leaf growth
- Flowering: Less nitrogen, more phosphorus (P) and potassium (K)
- Late flowering: Minimal nitrogen, high PK share
- Flushing and dormancy: no feed at all (NPK 0:0:0) — the phase's nutrient view shows the chip "No feed (flush / rest phase)" for this.
Each phase also has a target pH stored for the nutrient solution. The pH value affects how well individual micronutrients (iron, manganese, zinc, copper, boron) can be taken up by the plant: outside an optimal window of pH 6.0–6.5, these micronutrients increasingly lock out (chlorosis risk — pale, yellowish leaf veins), while molybdenum behaves the other way round and becomes more available as pH rises. If a phase's target pH falls outside this window, Kamerplanter shows this in the phase's nutrient view (tab Growth Phases → click a phase) as the warning "Micronutrients locked out (pH lockout)" with a plain-language explanation.
Distinguishing Planned from Premature Bolting¶
For some biennial crops (e.g. leafy vegetables such as spinach or lettuce), heat or long-day stress can cause a plant to bolt towards flowering much earlier than planned, losing its harvest window prematurely. Kamerplanter distinguishes such a stress-induced, premature transition from planned bolting — for example the regular flower induction in the second growing season for biennial crops with a cold requirement.
Partially available: flagging premature transitions
Kamerplanter detects and records a stress-induced, premature phase transition in the phase history, distinguished from a planned transition; for spinach, such a long-day-triggered bolting transition is already seeded. A dedicated indicator for this in the phase-history view of the UI (e.g. a hint chip) does not exist yet, though.
Perennial Plants: Dormancy and Seasonal Cycles¶
Perennial plants (houseplants, berry bushes, fruit trees) use a recurring phase sequence instead of a single lifecycle ending in harvest — they go through dormancy, sprouting, growth, and flowering in a yearly loop.
Activating the Dormancy Phase¶
- Open the plant and navigate to Growth Phases.
- Click Enter Dormancy (visible for perennial plants).
- Confirm the start date of the rest phase.
During dormancy: - Fertilization recommendations are suspended - Watering intervals are extended - Seasonal tasks appear (e.g. "Apply winter protection")
Returning from Dormancy¶
Click Resume Growth. Kamerplanter resets the cycle to the vegetative phase (or sprouting, depending on the assigned sequence) and reactivates all recommendations.
Botanical Life Cycle vs. Cultivation Cycle Type¶
Some plant species are botanically perennial but are treated like annuals in practical cultivation — the best-known example is the tomato: botanically a long-lived perennial, it is almost always discarded after one season instead of overwintered in temperate climates, because of its frost sensitivity.
For this, Kamerplanter distinguishes two fields in a species' lifecycle configuration (species detail page → Lifecycle Configuration tab):
- Cycle Type (
cycle_type) — the species' botanical life cycle: Annual, Biennial, or Perennial. - Cultivation Cycle Type (
cultivation_cycle_type) — how the species is actually cultivated in Kamerplanter. If left empty, cultivation automatically follows the botanical cycle type; set differently, it captures cases like the tomato.
The "Grown as an annual" Hint¶
When the cultivation cycle type differs from the botanical cycle type — specifically: the species is cultivated as "Annual" even though its cycle type is not "Annual" — Kamerplanter automatically displays the info chip "Grown as an annual" in the Lifecycle Configuration tab, directly below the two cycle-type fields.
Example: Tomato
Tomato is botanically perennial but is almost always cultivated as an annual in practice (frost-tender, usually not overwintered). Kamerplanter therefore shows the "Grown as an annual" chip for the tomato.
Purely informational, not editable
The chip is a derived hint computed solely from Cycle Type and Cultivation Cycle Type — it can't be clicked or edited itself, and it is visible regardless of your experience level whenever the mismatch applies. To make the hint disappear, change one of the two underlying fields instead.
Monocarpic Plants: Flowering Once and Automatic Pup Continuation¶
Some plant species are monocarpic: they flower exactly once in their lifetime and then die — well-known examples include many agaves, bromeliads, and guzmanias. In a species' lifecycle configuration this is recorded as the reproductive strategy "Monocarpic (flowers once)", as opposed to "Polycarpic (flowers repeatedly)" for plants that flower repeatedly over several years.
For monocarpic species, Kamerplanter does not represent continuation of the crop as a new cycle of the same plant, but through a separate successor plant: as soon as a monocarpic mother plant automatically transitions into its final flowering phase (flowering, fruiting, or ripening — depending on how its phase sequence ends), Kamerplanter automatically creates exactly one new plant instance, the pup (the clonal offset), and links it to the mother plant.
Not a cycle restart
The mother plant is not reset and does not start a new cultivation cycle — it senesces in place and keeps its previous location and slot until it is removed (see Removing a Plant). Continuation of the crop happens exclusively through the newly created pup.
When automatically created, the pup inherits:
- the tenant, plant species, and cultivar of the mother plant
- the mother plant's location — but no fixed slot, because the mother plant keeps occupying its slot while it senesces
- the date of the automatic transition as its planting date
It starts in the pup establishment phase, if the species' phase sequence defines one — otherwise in the first phase of the sequence.
For this reason, the pup's detail view shows an ancestry link "Descended from …" that leads to the mother plant.
Re-evaluation does not create a second pup
If the automatic transition is re-evaluated for the same mother plant, Kamerplanter does not create a second pup or a duplicate ancestry link.
More on propagation history and the other (manual) propagation methods: Propagation Management — Automatic Pup Continuation for Monocarpic Plants.
Removing a Plant: Recording the Ending Type and Loss Cause¶
When a plant reaches the end of its lifecycle — whether through harvest, natural senescence, or an unexpected loss — you remove it via the Remove Plant button on its detail page. You can optionally record how the lifecycle ended.
Step 1: Open the Detail Page¶
Navigate to Plants → Plant Instances and open the relevant plant.
Step 2: Open the Removal Dialog¶
Click Remove Plant. A dialog asks how the plant's lifecycle ended.
Step 3: Choose the Ending Type (Optional)¶
| Ending Type | Meaning |
|---|---|
| Unspecified (just remove) | The plant is removed without classification (previous behaviour) |
| Harvested | Planned end after harvest |
| Senesced (natural end) | Planned end at the natural end of the cycle |
| Died (loss) | Unplanned loss — additionally asks for the loss cause |
| Cancelled | You deliberately end the crop early |
The classification is optional
You can confirm the dialog without a selection — the plant is then simply marked as removed, as before, without recording an ending type.
Step 4: Provide a Cause for "Died"¶
If you select Died (loss), you must also select a loss cause before you can confirm:
| Loss Cause | Example |
|---|---|
| Disease | Fungal infection, root rot |
| Pest infestation | Spider mites, aphids |
| Frost | Unexpected cold snap |
| Heat | Heat stress, sunburn |
| Drought | Watered too infrequently |
| Waterlogging | Substrate permanently too wet |
| Neglect | Extended absence without cover |
| Mechanical damage | Broken, bent over |
| Unknown | Cause can no longer be determined |
The current growth phase is frozen
Classifying a plant as "Died" freezes its current growth phase: the open phase-history entry is closed, but no automatic transition into a senescence phase happens. This keeps it visible which phase the loss actually occurred in — an important basis for the loss-cause analysis below.
Step 5: Confirm¶
Click Remove Plant. Open tasks and care reminders for this plant are automatically removed from the queue; already completed or skipped tasks remain as history.
Cannot be undone
A removed plant cannot be reactivated, and the chosen ending type/loss cause cannot be edited afterwards. Double-check the classification before confirming.
Survival Rate and Loss-Cause Analysis¶
On the Plants → Plant Instances overview page, Kamerplanter shows a summary analysis of all recorded plants as soon as at least one plant exists: the survival rate — the share of all plants that did not end as an unplanned loss — plus a breakdown by ending type, growth phase, and loss cause.
What counts as \"survived\"?
Harvested, naturally senesced, and cancelled plants count as survived, as do all still-growing plants — only a plant with the ending type "Died (loss)" counts as a failure. This definition cannot be changed in the current version.
The analysis shows the same data twice, so it is usable even without the chart:
- Table: total count, active plants, survived plants and losses, plus a breakdown by ending type, growth phase, and loss cause.
- Bar chart: losses visualised, toggleable between By Phase (which growth phase has the most losses?) and By Cause (which cause drives the most losses?).
Example
If the "By Phase" analysis shows a clear spike at "Seedling", that points to a systematic problem in the early establishment phase — e.g. substrate that is too dry or too wet right after transplanting.
Plants without an ending type set (simply removed, without classification) still count towards Total and Active/Survived, but do not appear in the breakdowns by ending type or cause.
Frequently Asked Questions¶
What happens if I trigger the phase transition too early?
Recommendations adapt to the new phase immediately. Since transitions cannot be reversed it is worth being patient and observing the plant carefully. Notes on the transition help with later analysis.
Can I define custom phases?
Yes. Under Phases → Phase Definitions (/phasen/definitionen) you create your own phase types, and under Phases → Phase Sequences (/phasen/ablaeufe) you combine them into a custom sequence for one or more species.
Does Kamerplanter show when a plant is ready to harvest?
Kamerplanter does not calculate an automatic harvest date itself. Instead, you record ripeness observations (e.g. trichome colour, pistil colour, estimated days to harvest) — the app collects these in the plant's ripeness history as a decision aid. The final decision is yours. More information: Harvest.
What is the difference between flushing and dormancy?
Flushing is a pre-harvest phase where nutrient supply is reduced before the plant is harvested. Dormancy is the natural rest phase of perennial plants in winter. Both are distinct phase types and are mutually exclusive within a sequence.
Can I change the ending type or loss cause afterwards?
No. The classification happens once, in the removal dialog when you remove the plant, and cannot be edited afterwards.
My agave has started flowering — do I need to create an offset myself?
No. For species classified as monocarpic (reproductive strategy "Monocarpic"), Kamerplanter automatically creates the pup as soon as the plant transitions into its final flowering phase — you don't need to trigger anything manually. The mother plant stays at its location and senesces in place; the pup continues the crop. Details: Monocarpic Plants.
See Also¶
- Master Data: Plant Species
- Fertilization
- Harvest
- Planting Runs
- Watering Log — suggested watering volume
- Guides: Nutrient Mixing — flush/rest phases with no feed
- Propagation Management