DeepLeaf Yield DeepLeaf Yield

Import your climate computer data

Export a period from your climate computer and upload it under Records, Climate import. DeepLeaf Yield checks the file, shows what it read, and stores one value per hour, temperature setpoints included. No account with the climate computer's maker is needed.

Diagram: the climate computer export is checked, the grower confirms the columns, and the import stores one value per hour. A script of your own can send the same file with an organization key, and the saved column choices are used.Diagram: the climate computer export is checked, the grower confirms the columns, and the import stores one value per hour. A script of your own can send the same file with an organization key, and the saved column choices are used.
Export, check, choose, import. A script of your own can send the same file later.

What it reads

  • CSV, TSV and text exports, separated by semicolons, tabs or commas, with a decimal point or a decimal comma.
  • Excel workbooks (.xlsx). Only the stored values are read. A workbook with formulas or macros is refused, and so are old .xls and .xlsb files: save the sheet as .xlsx or CSV.
  • Text in UTF-8, UTF-16 or Windows-1252, with or without a byte-order mark.
  • Lines of export details above the header, a units row under it, one date and time column or separate date and time columns, day-first or month-first dates, and spreadsheet date numbers.
  • Column names in English, Dutch, Spanish or French. DeepLeaf Yield suggests what each column holds: air temperature, heating and ventilation setpoints, relative humidity, CO₂, PAR inside, outside radiation, pipe temperature, screen position, and more.
  • Units such as °F, hPa, µS/cm and radiation summed per logging step, converted to the stored units.

Import a file

  1. Open Climate import in the app and pick the crop cycle.
  2. Drop the export on the page, or press Choose a file. Nothing is stored yet.
  3. Read What will be imported: the file's encoding and separators, the clock it is read on, the setpoints found, and the first hours as they will be stored.
  4. Under Columns, check what each column is read as. Change the metric or the unit, or choose Not imported to leave a column out. The file is checked again after every change.
  5. Fix anything listed under Problems, such as a date order or a clock change. A file with problems is never imported.
  6. Keep Remember these column choices for this greenhouse ticked, and press Import.

Values are averaged per hour, and irrigation and drain are summed. Import the same period again and nothing is doubled: an hour already stored keeps its place and takes the new value if it changed. The summary says how many hours were new, updated or unchanged.

Imported the wrong file? Under Recent imports, on this page or on Climate under Records, press Undo import next to it and confirm. The readings it added are removed and the values it changed get their earlier values back; readings it left unchanged stay as they are. Uploads sent by a script are listed too. If a later import changed some of the same readings, DeepLeaf Yield asks first: undo the later import, or undo this one anyway.

The clock of the file

Times without an offset are read on the greenhouse time zone set in Setup. Under Clock of the file you can choose UTC, another time zone, or a fixed offset such as UTC+01:00 for a climate computer that keeps standard time all year.

  • When the clocks go back, the repeated hour is read in the order of the rows: summer time first, then winter time.
  • When the clocks go forward, a time that does not exist on that clock is listed as a problem. Choose a fixed offset if the climate computer never changes its clock.
  • A measured reading in the future, or before the year the export could have been made, is listed as a problem too.

Setpoints

Heating, ventilation and single temperature setpoints are stored as their own values, never as air temperature, so a setpoint can't be mistaken for a measurement. They let the forecast use the temperature you plan for the coming weeks instead of a fixed assumption. A future export that holds the planned setpoints is read the same way.

Upload automatically

A script or automation of your own can send the same export with an organization key. Create a key under Organization and keys, and keep it out of shared folders. The upload uses the column choices remembered for the greenhouse, so import one file in the app first.

curl -H "X-API-Key: $ORG_KEY" -H "Content-Type: text/csv" \
  --data-binary @export.csv \
  "https://your-deepleaf-address/api/organizations/ORG/farms/FARM/greenhouses/HOUSE/rows/ROW/cycles/CYCLE/climate/ingest"

For a workbook, send Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet. Add the clock to the address when it is not the greenhouse time zone:

.../climate/ingest?time_zone=UTC%2B01:00

The answer lists the hours stored. A file with problems is refused with 400 and the same problems the app shows, a file over the limit with 413, and too many uploads from one key in an hour with 429. Only a key sent in a header is accepted on this address, never the app's sign-in.

Limits and safety

  • Each file has a size limit and a row limit, shown in the message when a file goes over them. Export a shorter period if it does.
  • Cells that start a spreadsheet formula, such as =SUM(A1:A2) or @cmd, are refused, never stored or run.
  • The file's type is checked from its contents, not only its name. Lines that are far too long, compressed workbooks that expand too far, and workbooks with macros are refused.
  • Each organization only reads and writes its own greenhouses.

Sample file

Try the page with this sample export. It holds one made-up day at twenty-minute steps, with semicolons, decimal commas, two lines of export details, separate date and time columns, setpoints, and a screen column.