Skip to content

systemdate

Give the current time from the system where Kalliope is installed. Return a dict of parameters that can be used in a template.

Input parameters

None

Returned values

name description type sample
hours Hour (24-hour clock) as a decimal number [00,23]. string 22
minutes Minute as a decimal number [00,59]. string 54
weekday Weekday as a decimal number [0(Sunday),6]. string 4
month Month as a decimal number [01,12]. string 4
day_month Day of the month as a decimal number [01,31]. string 12
year Year with century as a decimal number string 2016

Synapses example

Simple synapse that give the current time with only hours and minutes

- name: "time"
  signals:
    - order: "what time is it"
  neurons:
    - systemdate:
        say_template:
          - "It' {{ hours }} hours and {{ minutes }} minutes"

Synapse that give complete date and time with a template file.

- name: "time"
  signals:
    - order: "what time is it"
  neurons:
    - systemdate:
        file_template: en_systemdate_template_example.j2

Templates example

This template will transcribe received numbers from the neuron into natural language

"It's {{ hours }} hours and {{ minutes }} minutes

This template, which it must be placed in a file_template, will give the complete date and time.

{% set day_of_week = {
    "0": "sunday",
    "1": "monday",
    "2": "tuesday",
    "3": "wednesday",
    "4": "thursday",
    "5": "friday",
    "6": "saturday"
    }[weekday] | default("")
-%}

{% set month_word = {"1": "january", "2": "february", "3": "march", "4": "april", "5": "may", "6": "june", "7": "july", "8": "august", "9": "september", "10": "october", "11": "november", "12": "december"}[month] | default("") -%}

{% set day_month_formated = {
    "1": "first",
    "2": "second",
    "3": "third",
    "4": "fourth",
    "5": "fifth",
    "6": "sixth",
    "7": "seventh",
    "8": "eighth",
    "9": "ninth",
    "10": "tenth",
    "11": "eleventh",
    "12": "twelfth",
    "13": "thirteenth",
    "14": "fourteenth",
    "15": "fifteenth",
    "16": "sixteenth",
    "17": "seventeenth",
    "18": "eighteenth",
    "19": "nineteenth",
    "20": "twentieth",
    "21": "twenty-first",
    "22": "twenty-second",
    "23": "twenty-third",
    "24": "twenty-fourth",
    "25": "twenty-fifth",
    "26": "twenty-sixth",
    "27": "twenty-seventh",
    "28": "twenty-eighth",
    "29": "twenty-ninth",
    "30": "thirtieth",
    "31": "thirty-first",

}[day_month] | default("") -%}

It' {{ hours }} hours and {{ minutes }} minutes.
We are the {{ day_of_week }} {{ month_word }} the {{ day_month_formated }} {{ year }}

Notes

Note: As the neuron is based on the local system date, this last must be well configured. A good practice is the installation and configuration of a NTP client to synchronize the time on your Linux system with a centralized NTP server.