The chipi Reference Manual

This is the chipi Reference Manual, version 0.4.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 04:35:25 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 chipi

Author

Manfred Bergmann

License

Apache-2

Version

0.4.0

Dependencies
  • alexandria (system).
  • sento (system)., at least version "3.3.0"
  • timer-wheel (system).
  • cl-cron (system).
  • yason (system).
  • drakma (system).
  • local-time (system).
  • binding-arrows (system).
  • parse-float (system).
Source

chipi.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 chipi/src

Source

chipi.asd.

Parent Component

chipi (system).

Child Components

3.2 chipi/src/bindings

Dependency

persistence.lisp (file).

Source

chipi.asd.

Parent Component

src (module).

Child Component

base-binding.lisp (file).


4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 chipi/chipi.asd

Source

chipi.asd.

Parent Component

chipi (system).

ASDF Systems

chipi.


4.1.2 chipi/src/cron.lisp

Source

chipi.asd.

Parent Component

src (module).

Packages

chipi.cron.

Public Interface
Internals

*cron* (special variable).


4.1.3 chipi/src/cl-cron-overrides.lisp

Dependency

cron.lisp (file).

Source

chipi.asd.

Parent Component

src (module).


4.1.4 chipi/src/timer.lisp

Dependency

cl-cron-overrides.lisp (file).

Source

chipi.asd.

Parent Component

src (module).

Packages

chipi.timer.

Public Interface
Internals

*timer* (special variable).


4.1.5 chipi/src/isys.lisp

Dependency

timer.lisp (file).

Source

chipi.asd.

Parent Component

src (module).

Packages

chipi.isys.

Public Interface
Internals

*isys* (special variable).


4.1.6 chipi/src/env.lisp

Dependency

isys.lisp (file).

Source

chipi.asd.

Parent Component

src (module).

Packages

chipi.env.

Public Interface
Internals

*rel-runtime-dir* (special variable).


4.1.7 chipi/src/binding-api.lisp

Dependency

env.lisp (file).

Source

chipi.asd.

Parent Component

src (module).

Packages

chipi.binding.


4.1.8 chipi/src/persistence-api.lisp

Dependency

binding-api.lisp (file).

Source

chipi.asd.

Parent Component

src (module).

Packages

chipi.persistence.

Public Interface
Internals

4.1.9 chipi/src/item.lisp

Dependency

persistence-api.lisp (file).

Source

chipi.asd.

Parent Component

src (module).

Packages

chipi.item.

Public Interface
Internals

4.1.10 chipi/src/itemgroup.lisp

Dependency

item.lisp (file).

Source

chipi.asd.

Parent Component

src (module).

Packages

chipi.itemgroup.

Public Interface
Internals
  • id (reader method).
  • items (reader method).

4.1.11 chipi/src/persistence-simple.lisp

Dependency

itemgroup.lisp (file).

Source

chipi.asd.

Parent Component

src (module).

Packages

chipi.simple-persistence.

Public Interface
Internals

storage-root-path (reader method).


4.1.12 chipi/src/persistence-influx.lisp

Dependency

persistence-simple.lisp (file).

Source

chipi.asd.

Parent Component

src (module).

Packages

chipi.influx-persistence.

Public Interface
Internals

4.1.13 chipi/src/rule.lisp

Dependency

persistence-influx.lisp (file).

Source

chipi.asd.

Parent Component

src (module).

Packages

chipi.rule.

Public Interface
Internals

4.1.14 chipi/src/persistence.lisp

Dependency

rule.lisp (file).

Source

chipi.asd.

Parent Component

src (module).

Public Interface
Internals

make-persistence (function).


4.1.15 chipi/src/bindings/base-binding.lisp

Source

chipi.asd.

Parent Component

bindings (module).

Public Interface
Internals

4.1.16 chipi/src/hab.lisp

Dependency

bindings (module).

Source

chipi.asd.

Parent Component

src (module).

Packages

chipi.hab.

Public Interface
Internals

*shutdown-hooks* (special variable).


5 Packages

Packages are listed by definition order.


5.1 chipi.env

Source

env.lisp.

Nickname

envi

Use List

common-lisp.

Public Interface
Internals

*rel-runtime-dir* (special variable).


5.2 chipi.binding

Source

binding-api.lisp.

Nickname

binding

Use List

common-lisp.

Public Interface
Internals

5.3 chipi.persistence

Source

persistence-api.lisp.

Nickname

persp

Use List

common-lisp.

Used By List
Public Interface
Internals

5.4 chipi.rule

Source

rule.lisp.

Nickname

rule

Use List

common-lisp.

Public Interface
Internals

5.5 chipi.item

Source

item.lisp.

Nickname

item

Use List

common-lisp.

Public Interface
Internals

5.6 chipi.influx-persistence

Source

persistence-influx.lisp.

Nickname

influx-persistence

Use List
Public Interface
Internals

5.7 chipi.timer

A simple timer package
This package provides a simple timer that can be used to schedule functions.

Source

timer.lisp.

Nickname

timer

Use List

common-lisp.

Public Interface
Internals

*timer* (special variable).


5.8 chipi.cron

Source

cron.lisp.

Nickname

cr

Use List

common-lisp.

Public Interface
Internals

*cron* (special variable).


5.9 chipi.isys

Source

isys.lisp.

Nickname

isys

Use List

common-lisp.

Public Interface
Internals

*isys* (special variable).


5.10 chipi.itemgroup

Source

itemgroup.lisp.

Nickname

itemgroup

Use List

common-lisp.

Public Interface
Internals
  • id (generic reader).
  • items (generic reader).

5.11 chipi.simple-persistence

Source

persistence-simple.lisp.

Nickname

simple-persistence

Use List
Public Interface
Internals

storage-root-path (generic reader).


5.12 chipi.hab

Source

hab.lisp.

Nickname

hab

Use List

common-lisp.

Public Interface
Internals

*shutdown-hooks* (special variable).


6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Special variables

Special Variable: *itemgroups*

All itemgroups

Package

chipi.hab.

Source

hab.lisp.

Special Variable: *items*

All items

Package

chipi.hab.

Source

hab.lisp.

Special Variable: *persistences*

All persistences

Package

chipi.hab.

Source

hab.lisp.

Special Variable: *rules*

All rules

Package

chipi.hab.

Source

hab.lisp.


6.1.2 Macros

Macro: binding (&rest args)

Creates a binding.
See ‘binding:make-function-binding’ for more information and arguments.

Package

chipi.hab.

Source

hab.lisp.

Macro: defconfig (&body body)

Defines a configuration for the environment.
It will start the environment if it is not already started. It is re-entrant, so it can be called multiple times.
But if environment is already configured/started it does nothing. It also will setup items, rules and persistences storages.

Package

chipi.hab.

Source

hab.lisp.

Macro: defitem (id label type-hint &rest body)

Defines an item.
It will create the item if it does not exist.
It will clean and re-create the item if it already exists.
Cleaning means all attached bindings are re-created and persistence are re-attached. An ‘:initial-value’ can be used to specify the initial value of the item.
A ‘:group’ key can used to specify to which ‘itemgroup’ the ‘item’ should belong.
It will then be added to the group.

Bindings can be defined as a list of ‘binding’s.
The ‘binding’ arguments are passed to ‘binding:make-function-binding’.
Persistences are references via ‘:persistence’ key.

‘persistence’ key allows to define a plist of ‘:id’ and ‘:frequency’ configuration. ‘:id’ specifies the persistence id.
‘:frequency’ specifies the persistence frequency. Currently only ‘:every-change’ exists.

See ‘hab-test.lisp’ and ‘item’ for more examples.

Package

chipi.hab.

Source

hab.lisp.

Macro: defitemgroup (id label)

Defines an itemgroup.
Itemgroups are containers for items.

Package

chipi.hab.

Source

hab.lisp.

Macro: defpersistence (id factory)

Defines a persistence.
Persistence generally represents a storage that items use for persisting their values.
It will create the persistence if it does not exist.
It will clean and re-create the persistence if it already exists.
The factory function is called with the persistence id as argument and allows to create required persistence type. See ‘hab-test.lisp’ and ‘persistence’ for more examples.

Package

chipi.hab.

Source

hab.lisp.

Macro: defrule (name &rest args)

Defines a rule.
It will create the rule if it does not exist.
It will clean and re-create the rule if it already exists. See ‘rule:make-rule’ for more information and arguments.

Package

chipi.hab.

Source

hab.lisp.


6.1.3 Ordinary functions

Function: add-binding (item binding)
Package

chipi.item.

Source

item.lisp.

Function: add-item (itemgroup item)
Package

chipi.itemgroup.

Source

itemgroup.lisp.

Function: add-persistence (item persistence &rest other-args)

Adds persistence to item.
‘PERSISTENCE’ is a ‘persp:persistence’ object.
‘OTHER-ARGS’ are key arguments:
‘:frequency’: which by default is
‘:every-change’ denoting that every change to the iten should be stored.
‘:every-N<s|m|h>’ denoting a number N specified as ‘s’ (seconds), ‘m’ (minutes) or ‘h’ (hours) when the item should be stored recurringly.

Package

chipi.item.

Source

item.lisp.

Function: add-to-shutdown (fun)
Package

chipi.hab.

Source

hab.lisp.

Function: bind-item (binding item)
Package

chipi.binding.

Source

base-binding.lisp.

Function: cancel (sig)

Cancel a timer

Package

chipi.timer.

Source

timer.lisp.

Function: cancel-job (job)
Package

chipi.cron.

Source

cron.lisp.

Function: destroy (binding)
Package

chipi.binding.

Source

base-binding.lisp.

Function: destroy (persistence)

Destroys the persistence.

Package

chipi.persistence.

Source

persistence.lisp.

Function: destroy (rule)

Destroy the given ‘RULE’.

Package

chipi.rule.

Source

rule.lisp.

Function: destroy (item)
Package

chipi.item.

Source

item.lisp.

Function: ensure-cron ()
Package

chipi.cron.

Source

cron.lisp.

Function: ensure-env ()
Package

chipi.env.

Source

env.lisp.

Function: ensure-isys ()
Package

chipi.isys.

Source

isys.lisp.

Function: ensure-runtime-dir (&optional dir)

Ensure that the runtime directory exists.
This is called as part of ‘ensure-env’ but can be called separately.
If DIR is not specified, the root runtime folder is ensured.
Otherwise, the relative path DIR is ensured.
Returns the absolute path to the ensured directory.

It is possible to override the relative root runtime directory by:

“‘
(let ((*rel-runtime-dir* "test-runtime/"))
(ensure-runtime-dir))
“‘

But note that the runtime dir will be computed on each call to ‘ensure-runtime-dir’.

Package

chipi.env.

Source

env.lisp.

Function: ensure-timer ()

Ensure that a timer is running.

Package

chipi.timer.

Source

timer.lisp.

Function: exec-pull (binding)

Executes the ‘pull-fun’ as defined on the binding.
Beware that ‘pull-fun’ is executed by the thread that calls ‘exec-pull’. This may differ. I.e.when called from timer when ‘:initial-delay’ or ‘:delay’ is defined. In order to not unwind/collapse a timer stack execution of ‘pull-fun’ is error checked (handler-case).
‘exec-pull’ will set pulled value to bound items, or if a ‘transform-fun’ is defined will call that first.

Package

chipi.binding.

Source

base-binding.lisp.

Function: exec-push (binding value)

‘exec-push’ is called after an item value change. It executed ‘push-fun’ as defined on the binding. The caller of ‘exec-push’ is responsible for unwind protection. No error handling is done here. This is to have the higher-level module decide how to handle the error.

Package

chipi.binding.

Source

base-binding.lisp.

Function: false-p (val)
Package

chipi.item.

Source

item.lisp.

Function: fetch (persistence item &optional range)

Triggers the ’fetch’ procedure of the persistence actor.
The actual persistence method called as a result is ‘persp:retrieve’.
Optionally specify a ‘range’ to retrieve a list of values that satisfy the ‘range’ See ‘item:range’ for more details of range. Currently only ‘relative-range’ is supported. Returns a ‘persisted-item’ instance or a list of ‘persisten-item’s if range is specified.

Package

chipi.persistence.

Source

persistence.lisp.

Function: get-item (itemgroup id)
Package

chipi.itemgroup.

Source

itemgroup.lisp.

Function: get-item (id)

Returns the item with the given id from the created items.

Package

chipi.hab.

Source

hab.lisp.

Function: get-item-stateq (item)

Returns the item state ‘item-state’.

Package

chipi.item.

Source

item.lisp.

Function: get-itemgroup (id)

Returns the itemgroup with ‘id’ if exists, ‘nil’ otherwise.

Package

chipi.hab.

Source

hab.lisp.

Function: get-items (itemgroup)
Package

chipi.itemgroup.

Source

itemgroup.lisp.

Function: get-items ()

Returns all items.

Package

chipi.hab.

Source

hab.lisp.

Function: get-items-on-group (id)

Returns the items of group as list

Package

chipi.hab.

Source

hab.lisp.

Function: get-persistence (id)

Returns the persistence with the given id from the created persistences.

Package

chipi.hab.

Source

hab.lisp.

Function: get-rule (name)

Returns the rule with the given name from the created rules.

Package

chipi.hab.

Source

hab.lisp.

Function: get-value (item)

Returns ‘future:future’.

Package

chipi.item.

Source

item.lisp.

Function: get-value (itemgroup)

Collects values (as futures) from all added items.

Package

chipi.itemgroup.

Source

itemgroup.lisp.

Reader: item-changed-event-item (instance)
Writer: (setf item-changed-event-item) (instance)
Package

chipi.item.

Source

item.lisp.

Target Slot

item.

Reader: item-state-timestamp (instance)
Writer: (setf item-state-timestamp) (instance)
Package

chipi.item.

Source

item.lisp.

Target Slot

timestamp.

Reader: item-state-value (instance)
Writer: (setf item-state-value) (instance)
Package

chipi.item.

Source

item.lisp.

Target Slot

value.

Function: make-cron-job (fun args)

‘fun’ is the function to execute by cl-cron. ‘args’ are all job args supported by cl-cron.

Package

chipi.cron.

Source

cron.lisp.

Function: make-function-binding (&key pull push transform initial-delay delay call-push-p)
Package

chipi.binding.

Source

base-binding.lisp.

Function: make-influx-persistence (id &key base-url token org bucket)
Package

chipi.influx-persistence.

Source

persistence-influx.lisp.

Function: make-item (id &key label type-hint initial-value)
Package

chipi.item.

Source

item.lisp.

Function: make-itemgroup (id &key label)
Package

chipi.itemgroup.

Source

itemgroup.lisp.

Function: make-persisted-item (&key value timestamp)
Package

chipi.persistence.

Source

persistence-api.lisp.

Function: make-relative-range (&key seconds minutes hours days)

Creates a relative range with the given ‘seconds’, ‘minutes’, ‘hours’ and ‘days’. Specify only one.

Package

chipi.persistence.

Source

persistence.lisp.

Function: make-rule (name &rest keys)

Create a rule actor with the given NAME and KEYS.
KEYS can be: ‘:when-item-change’, ‘:when-cron’, ‘:do’. ‘:when-item-change’ is an item to subscribe to.
‘:when-cron’ is a cron expression. See ‘cl-cron’ for details.
Both ‘:when-item-change’ and ‘:when-cron’ can be specified multiple times. ‘:do’ is a function that will be called when the rule is triggered.
It will be called with a single argument, an alist with either
‘:item’ or ‘:cron’ as the key, depending on what triggered the rule. ‘:item’ will be the item that triggered the rule, and ‘:cron’ will
be the cron expression that triggered the rule.

Example:
(make-rule "my-rule"
:when-item-change ’my-item
:when-cron ’(:minute 0 :hour 0)
:do (lambda (trigger)
(case (car trigger)
(:item (log:info "Item changed: " (cdr trigger))) (:cron (log:info "Cron triggered: " (cdr trigger))))))

This will create a rule that will be triggered when ‘my-item’ changes, or when the cron expression (:minute 0 :hour 0) is triggered.
When triggered, the rule will log a message to the info log.

Package

chipi.rule.

Source

rule.lisp.

Function: make-simple-persistence (id &key storage-root-path)
Package

chipi.simple-persistence.

Source

persistence-simple.lisp.

Function: name (item)
Package

chipi.item.

Source

item.lisp.

Function: name (itemgroup)
Package

chipi.itemgroup.

Source

itemgroup.lisp.

Function: num-jobs ()
Package

chipi.cron.

Source

cron.lisp.

Reader: persisted-item-timestamp (instance)
Writer: (setf persisted-item-timestamp) (instance)
Package

chipi.persistence.

Source

persistence-api.lisp.

Target Slot

timestamp.

Reader: persisted-item-value (instance)
Writer: (setf persisted-item-value) (instance)
Package

chipi.persistence.

Source

persistence-api.lisp.

Target Slot

value.

Function: remove-item (itemgroup id)
Package

chipi.itemgroup.

Source

itemgroup.lisp.

Function: schedule-once (delay fun)

Schedule a function to be called after a delay in seconds Returns a timer signature to be used for ‘CANCEL’

Package

chipi.timer.

Source

timer.lisp.

Function: schedule-recurring (delay fun &optional sig)

Schedule a function to be called after a delay in seconds, recurring. The function will be called with no arguments.
Returns a timer signature to be used for ‘CANCEL’

Package

chipi.timer.

Source

timer.lisp.

Function: set-value (item value &key push timestamp persist)

Updates item value with push to bindings.
If ‘PUSH’ is non-nil, bindings will be pushed regardsless of ‘CALL-PUSH-P’ on binding definition. ‘TIMESTAMP’: can be used to define a custom timestamp (universal-time). If ‘NIL’ a timestamp is created. ‘PERSIST’: if non-nil, persistences will be applied.

Package

chipi.item.

Source

item.lisp.

Function: set-value (itemgroup value &key push timestamp persist)

Sets ‘value’ to all added items.
Parameters mimick the ‘item:set-value’ interface.

Package

chipi.itemgroup.

Source

itemgroup.lisp.

Function: shutdown ()

Shuts down the environment, calls shutdown hooks and cleans all items rules and persistences.

Package

chipi.hab.

Source

hab.lisp.

Function: shutdown-cron ()
Package

chipi.cron.

Source

cron.lisp.

Function: shutdown-env ()
Package

chipi.env.

Source

env.lisp.

Function: shutdown-isys ()
Package

chipi.isys.

Source

isys.lisp.

Function: shutdown-timer ()
Package

chipi.timer.

Source

timer.lisp.

Function: store (persistence item)

Triggers the ’store’ procedure of the persistence actor.
The actual persistence method called as a result is ‘persp:persist’.

Package

chipi.persistence.

Source

persistence.lisp.

Function: true-p (val)
Package

chipi.item.

Source

item.lisp.


6.1.4 Generic functions

Generic Reader: call-push-p (object)
Package

chipi.binding.

Methods
Reader Method: call-push-p ((binding binding))

defines whether setting a new value (‘item:set-value’) will be passed through to ’push’, after the transformation chain has been executed.

Source

base-binding.lisp.

Target Slot

call-push-p.

Generic Reader: days (object)
Package

chipi.persistence.

Methods
Reader Method: days ((relative-range relative-range))

automatically generated reader method

Source

persistence-api.lisp.

Target Slot

days.

Generic Writer: (setf days) (object)
Package

chipi.persistence.

Methods
Writer Method: (setf days) ((relative-range relative-range))

automatically generated writer method

Source

persistence-api.lisp.

Target Slot

days.

Generic Reader: hours (object)
Package

chipi.persistence.

Methods
Reader Method: hours ((relative-range relative-range))

automatically generated reader method

Source

persistence-api.lisp.

Target Slot

hours.

Generic Writer: (setf hours) (object)
Package

chipi.persistence.

Methods
Writer Method: (setf hours) ((relative-range relative-range))

automatically generated writer method

Source

persistence-api.lisp.

Target Slot

hours.

Generic Function: initialize (persistence)

Initializes the persistence.

Package

chipi.persistence.

Source

persistence-api.lisp.

Methods
Method: initialize ((persistence influx-persistence))
Source

persistence-influx.lisp.

Method: initialize ((persistence simple-persistence))
Source

persistence-simple.lisp.

Generic Reader: label (object)
Package

chipi.item.

Methods
Reader Method: label ((item item))

An explanatory label.

Source

item.lisp.

Target Slot

label.

Generic Reader: label (object)
Package

chipi.itemgroup.

Methods
Reader Method: label ((itemgroup itemgroup))

A displayable name of the itemgroup.

Source

itemgroup.lisp.

Target Slot

label.

Generic Reader: minutes (object)
Package

chipi.persistence.

Methods
Reader Method: minutes ((relative-range relative-range))

automatically generated reader method

Source

persistence-api.lisp.

Target Slot

minutes.

Generic Writer: (setf minutes) (object)
Package

chipi.persistence.

Methods
Writer Method: (setf minutes) ((relative-range relative-range))

automatically generated writer method

Source

persistence-api.lisp.

Target Slot

minutes.

Generic Function: persist (persistence item)

Stores the item to file.
The persistence is responsible to store all the data that is also expected to be retrieved later.

Package

chipi.persistence.

Source

persistence-api.lisp.

Methods
Method: persist ((persistence influx-persistence) item)
Source

persistence-influx.lisp.

Method: persist ((persistence simple-persistence) item)
Source

persistence-simple.lisp.

Generic Function: retrieve (persistence item)

Fetches the last value of an item from the persistence as ‘persisted-item’.
The caller of this method is handling error conditions, so you don’t have to necessarily. But you can return more specific ’(:error . error-message or condition).

Package

chipi.persistence.

Source

persistence-api.lisp.

Methods
Method: retrieve ((persistence influx-persistence) item)

Output format of influxdb is csv, so we need to parse it.

Source

persistence-influx.lisp.

Method: retrieve ((persistence simple-persistence) item)
Source

persistence-simple.lisp.

Generic Function: retrieve-range (persistence item range)

Fetches a range of values of an item from the persistence as a list of ‘persisted-item’s. The caller of this method is handling error conditions, so you don’t have to necessarily. But you can return more specific ’(:error . error-message or condition).

Package

chipi.persistence.

Source

persistence-api.lisp.

Methods
Method: retrieve-range ((persistence influx-persistence) item range)
Source

persistence-influx.lisp.

Generic Reader: seconds (object)
Package

chipi.persistence.

Methods
Reader Method: seconds ((relative-range relative-range))

automatically generated reader method

Source

persistence-api.lisp.

Target Slot

seconds.

Generic Writer: (setf seconds) (object)
Package

chipi.persistence.

Methods
Writer Method: (setf seconds) ((relative-range relative-range))

automatically generated writer method

Source

persistence-api.lisp.

Target Slot

seconds.

Generic Function: shutdown (persistence)

Shuts down the persistence.

Package

chipi.persistence.

Source

persistence-api.lisp.

Methods
Method: shutdown ((persistence influx-persistence))
Source

persistence-influx.lisp.

Method: shutdown ((persistence simple-persistence))
Source

persistence-simple.lisp.

Generic Reader: value-type-hint (object)
Package

chipi.item.

Methods
Reader Method: value-type-hint ((item item))

A type hint for the item value.
This is in particular important for persistences that are type specific, like influxdb (within a measurement).

Source

item.lisp.

Target Slot

value-type-hint.


6.1.5 Standalone methods

Method: print-object ((obj binding) stream)
Source

base-binding.lisp.

Method: print-object ((obj item) stream)
Source

item.lisp.


6.1.6 Structures

Structure: item-changed-event
Package

chipi.item.

Source

item.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: item
Readers

item-changed-event-item.

Writers

(setf item-changed-event-item).

Structure: item-state
Package

chipi.item.

Source

item.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: value
Initform

t

Readers

item-state-value.

Writers

(setf item-state-value).

Slot: timestamp
Initform

(get-universal-time)

Readers

item-state-timestamp.

Writers

(setf item-state-timestamp).

Structure: persisted-item
Package

chipi.persistence.

Source

persistence-api.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: value
Readers

persisted-item-value.

Writers

(setf persisted-item-value).

Slot: timestamp
Readers

persisted-item-timestamp.

Writers

(setf persisted-item-timestamp).


6.1.7 Classes

Class: binding
Package

chipi.binding.

Source

base-binding.lisp.

Direct methods
Direct slots
Slot: bound-items

The bound items. On operation the value will be updated to each item.

Initform

(quote nil)

Readers

bound-items.

Writers

This slot is read-only.

Slot: pull-fun

0-arity function that retrieves the value.
The function must return a value representing the new item value.
The returned value can be wrapped in a ‘future‘, if the pull is performed asynchronously.
To allow control over the subsequent call chain it is possible to return ‘values’ with options indicating whether a subsequent ’push’ should be performed. I.e. ‘(values <value> ’(:push [nil|t]))‘.
If ‘:push’ is ‘NIL’ then no push will be performed.
The default, if omitted and also when a single value is returned is to push.

Initargs

:pull-fun

Readers

pull-fun.

Writers

(setf pull-fun).

Slot: push-fun

Function to push the item values to some receiver.
Beware that ‘pull’ will only call ‘push’ when ‘call-push-p’ is set. Make sure you do the right thing in ‘pull-fun’.

Initargs

:push-fun

Readers

push-fun.

Writers

(setf push-fun).

Slot: transform-fun

A function transforming an input value to an output value.
The input value comes from ‘pull-fun’.
The output value will be set on the item, should an item be attached.

Initargs

:transform-fun

Slot: call-push-p

defines whether setting a new value (‘item:set-value’) will be passed through to ’push’, after the transformation chain has been executed.

Initargs

:call-push-p

Readers

call-push-p.

Writers

This slot is read-only.

Slot: initial-delay

Initial delay in seconds where ‘PULL-FUN’ is executed. ‘NIL’ means disabled and ‘PULL-FUN’ is not called.

Initargs

:initial-delay

Slot: delay

Recurring delay in seconds. Calls ‘PULL-FUN’ repeatedly. ‘NIL’ means disabled.

Initargs

:delay

Slot: timers

The timers that are scheduled for this binding.

Initform

(make-hash-table :test (function eq))

Class: influx-persistence

Influx persistence implementation.
Influx persistence supports the following value types:
- string
- integer
- float
- boolean, for boolean values, use the symbols ’item:true and ’item:false.

Other value types are not supported.
Specify those types as ’type-hint’ in the item definition.

Package

chipi.influx-persistence.

Source

persistence-influx.lisp.

Direct superclasses

persistence.

Direct methods
Direct slots
Slot: base-url
Initargs

:base-url

Readers

base-url.

Writers

This slot is read-only.

Slot: token
Initargs

:token

Readers

token.

Writers

This slot is read-only.

Slot: org
Initargs

:org

Readers

org.

Writers

This slot is read-only.

Slot: bucket
Initargs

:bucket

Readers

bucket.

Writers

This slot is read-only.

Slot: precision
Initform

"s"

Initargs

:precision

Readers

precision.

Writers

This slot is read-only.

Class: item
Package

chipi.item.

Source

item.lisp.

Direct superclasses

actor.

Direct methods
Direct slots
Slot: label

An explanatory label.

Readers

label.

Writers

This slot is read-only.

Slot: value-type-hint

A type hint for the item value.
This is in particular important for persistences that are type specific, like influxdb (within a measurement).

Readers

value-type-hint.

Writers

This slot is read-only.

Slot: bindings

The items bindings

Initform

(quote nil)

Readers

bindings.

Writers

This slot is read-only.

Slot: persistences

The items persistences

Initform

(quote nil)

Readers

persistences.

Writers

This slot is read-only.

Class: itemgroup
Package

chipi.itemgroup.

Source

itemgroup.lisp.

Direct methods
Direct slots
Slot: id

The identifier of the itemgroup. Should be a symbol for easier lookup.

Initargs

:id

Readers

id.

Writers

This slot is read-only.

Slot: label

A displayable name of the itemgroup.

Initargs

:label

Readers

label.

Writers

This slot is read-only.

Slot: items
Initform

(make-hash-table :test (function equal))

Readers

items.

Writers

This slot is read-only.

Class: persistence

This persistence is the base class of sub-persistences.
There may be different kinds of persistence with different storages.

Package

chipi.persistence.

Source

persistence-api.lisp.

Direct superclasses

actor.

Direct subclasses
Class: range
Package

chipi.persistence.

Source

persistence-api.lisp.

Direct subclasses

relative-range.

Class: relative-range

A relative range is a range that is relative to the current time.

Package

chipi.persistence.

Source

persistence-api.lisp.

Direct superclasses

range.

Direct methods
Direct slots
Slot: seconds
Initargs

:seconds

Readers

seconds.

Writers

(setf seconds).

Slot: minutes
Initargs

:minutes

Readers

minutes.

Writers

(setf minutes).

Slot: hours
Initargs

:hours

Readers

hours.

Writers

(setf hours).

Slot: days
Initargs

:days

Readers

days.

Writers

(setf days).

Class: rule
Package

chipi.rule.

Source

rule.lisp.

Direct superclasses

actor.

Direct slots
Slot: cron-hashes

A list of cron hashes for this rule.

Class: simple-persistence

The root path where item values are stored.

Package

chipi.simple-persistence.

Source

persistence-simple.lisp.

Direct superclasses

persistence.

Direct methods
Direct slots
Slot: storage-root-path
Initform

#p""

Initargs

:storage-root-path

Readers

storage-root-path.

Writers

This slot is read-only.


6.1.8 Types

Type: false ()
Package

chipi.item.

Source

item.lisp.

Type: true ()
Package

chipi.item.

Source

item.lisp.


6.2 Internals


6.2.1 Special variables

Special Variable: *cron*
Package

chipi.cron.

Source

cron.lisp.

Special Variable: *isys*
Package

chipi.isys.

Source

isys.lisp.

Special Variable: *rel-runtime-dir*

The relative path to the root runtime directory for chipi.

Package

chipi.env.

Source

env.lisp.

Special Variable: *shutdown-hooks*

Shutdown hooks for plugins

Package

chipi.hab.

Source

hab.lisp.

Special Variable: *timer*
Package

chipi.timer.

Source

timer.lisp.


6.2.2 Ordinary functions

Function: %add-cron-hash (rule hash)

Add the given ‘HASH’ to the list of cron hashes for the given ‘RULE’.

Package

chipi.rule.

Source

rule.lisp.

Function: %add-timer (binding timer timer-type)

‘TIMER’ is just a signature.

Package

chipi.binding.

Source

base-binding.lisp.

Function: %fetch-persisted-value (persistence item)
Package

chipi.item.

Source

item.lisp.

Function: %filter-frequency (list freq)
Package

chipi.item.

Source

item.lisp.

Function: %item-receive (msg id)
Package

chipi.item.

Source

item.lisp.

Function: %make-persisted-item (timestamp value type-hint)
Package

chipi.influx-persistence.

Source

persistence-influx.lisp.

Function: %make-query-request (persistence item-name &optional range)
Package

chipi.influx-persistence.

Source

persistence-influx.lisp.

Function: %make-range-query-string (persistence item-name range)
Package

chipi.influx-persistence.

Source

persistence-influx.lisp.

Function: %make-single-query-string (persistence item-name)
Package

chipi.influx-persistence.

Source

persistence-influx.lisp.

Function: %make-write-request (persistence item-name item-value item-timestamp)
Package

chipi.influx-persistence.

Source

persistence-influx.lisp.

Function: %parse-csv-to-time-value-pairs (body)
Package

chipi.influx-persistence.

Source

persistence-influx.lisp.

Function: %parse-frequency (freq)
Package

chipi.item.

Source

item.lisp.

Function: %parsed-last-persisted-item (response-body type-hint)
Package

chipi.influx-persistence.

Source

persistence-influx.lisp.

Function: %parsed-range-persisted-item (response-body type-hint)
Package

chipi.influx-persistence.

Source

persistence-influx.lisp.

Function: %range-to-string (range)
Package

chipi.influx-persistence.

Source

persistence-influx.lisp.

Function: %receive-fun (msg name do-fun item-names)
Package

chipi.rule.

Source

rule.lisp.

Function: copy-item-changed-event (instance)
Package

chipi.item.

Source

item.lisp.

Function: copy-item-persistence (instance)
Package

chipi.item.

Source

item.lisp.

Function: copy-item-state (instance)
Package

chipi.item.

Source

item.lisp.

Function: copy-persisted-item (instance)
Package

chipi.persistence.

Source

persistence-api.lisp.

Function: item-changed-event-p (object)
Package

chipi.item.

Source

item.lisp.

Reader: item-persistence-frequency (instance)
Writer: (setf item-persistence-frequency) (instance)
Package

chipi.item.

Source

item.lisp.

Target Slot

frequency.

Reader: item-persistence-load-on-start (instance)
Writer: (setf item-persistence-load-on-start) (instance)
Package

chipi.item.

Source

item.lisp.

Target Slot

load-on-start.

Function: item-persistence-p (object)
Package

chipi.item.

Source

item.lisp.

Reader: item-persistence-persp (instance)
Writer: (setf item-persistence-persp) (instance)
Package

chipi.item.

Source

item.lisp.

Target Slot

persp.

Reader: item-persistence-timer-sig (instance)
Writer: (setf item-persistence-timer-sig) (instance)
Package

chipi.item.

Source

item.lisp.

Target Slot

timer-sig.

Function: item-state-p (object)
Package

chipi.item.

Source

item.lisp.

Function: make-item-changed-event (&key item)
Package

chipi.item.

Source

item.lisp.

Function: make-item-persistence (&key persp frequency load-on-start timer-sig)
Package

chipi.item.

Source

item.lisp.

Function: make-item-state (&key value timestamp)
Package

chipi.item.

Source

item.lisp.

Function: make-persistence (id &rest other-args &key type &allow-other-keys)

Creates a persistence actor with the given ‘id’ and ‘other-args’.
The type of the persistence actor can be specified with the
‘:type’ keyword.
‘other-args’ can be used by sub-classes to pass additional arguments to the underlying actor. See ‘simple-persistence’ as example.
This constructor is not public, subclasses should provide their own constructor but call this one.

Package

chipi.persistence.

Source

persistence.lisp.

Function: persisted-item-p (object)
Package

chipi.persistence.

Source

persistence-api.lisp.


6.2.3 Generic functions

Generic Reader: base-url (object)
Package

chipi.influx-persistence.

Methods
Reader Method: base-url ((influx-persistence influx-persistence))

automatically generated reader method

Source

persistence-influx.lisp.

Target Slot

base-url.

Generic Reader: bindings (object)
Package

chipi.item.

Methods
Reader Method: bindings ((item item))

The items bindings

Source

item.lisp.

Target Slot

bindings.

Generic Reader: bound-items (object)
Package

chipi.binding.

Methods
Reader Method: bound-items ((binding binding))

The bound items. On operation the value will be updated to each item.

Source

base-binding.lisp.

Target Slot

bound-items.

Generic Reader: bucket (object)
Package

chipi.influx-persistence.

Methods
Reader Method: bucket ((influx-persistence influx-persistence))

automatically generated reader method

Source

persistence-influx.lisp.

Target Slot

bucket.

Generic Reader: id (object)
Package

chipi.itemgroup.

Methods
Reader Method: id ((itemgroup itemgroup))

The identifier of the itemgroup. Should be a symbol for easier lookup.

Source

itemgroup.lisp.

Target Slot

id.

Generic Reader: items (object)
Package

chipi.itemgroup.

Methods
Reader Method: items ((itemgroup itemgroup))

automatically generated reader method

Source

itemgroup.lisp.

Target Slot

items.

Generic Reader: org (object)
Package

chipi.influx-persistence.

Methods
Reader Method: org ((influx-persistence influx-persistence))

automatically generated reader method

Source

persistence-influx.lisp.

Target Slot

org.

Generic Reader: persistences (object)
Package

chipi.item.

Methods
Reader Method: persistences ((item item))

The items persistences

Source

item.lisp.

Target Slot

persistences.

Generic Reader: precision (object)
Package

chipi.influx-persistence.

Methods
Reader Method: precision ((influx-persistence influx-persistence))

automatically generated reader method

Source

persistence-influx.lisp.

Target Slot

precision.

Generic Reader: pull-fun (object)
Generic Writer: (setf pull-fun) (object)
Package

chipi.binding.

Methods
Reader Method: pull-fun ((binding binding))
Writer Method: (setf pull-fun) ((binding binding))

0-arity function that retrieves the value.
The function must return a value representing the new item value.
The returned value can be wrapped in a ‘future‘, if the pull is performed asynchronously.
To allow control over the subsequent call chain it is possible to return ‘values’ with options indicating whether a subsequent ’push’ should be performed. I.e. ‘(values <value> ’(:push [nil|t]))‘.
If ‘:push’ is ‘NIL’ then no push will be performed.
The default, if omitted and also when a single value is returned is to push.

Source

base-binding.lisp.

Target Slot

pull-fun.

Generic Reader: push-fun (object)
Generic Writer: (setf push-fun) (object)
Package

chipi.binding.

Methods
Reader Method: push-fun ((binding binding))
Writer Method: (setf push-fun) ((binding binding))

Function to push the item values to some receiver.
Beware that ‘pull’ will only call ‘push’ when ‘call-push-p’ is set. Make sure you do the right thing in ‘pull-fun’.

Source

base-binding.lisp.

Target Slot

push-fun.

Generic Reader: storage-root-path (object)
Package

chipi.simple-persistence.

Methods
Reader Method: storage-root-path ((simple-persistence simple-persistence))

automatically generated reader method

Source

persistence-simple.lisp.

Target Slot

storage-root-path.

Generic Reader: token (object)
Package

chipi.influx-persistence.

Methods
Reader Method: token ((influx-persistence influx-persistence))

automatically generated reader method

Source

persistence-influx.lisp.

Target Slot

token.


6.2.4 Structures

Structure: item-persistence
Package

chipi.item.

Source

item.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: persp
Type

(or null chipi.persistence:persistence)

Readers

item-persistence-persp.

Writers

(setf item-persistence-persp).

Slot: frequency
Initform

:every-change

Readers

item-persistence-frequency.

Writers

(setf item-persistence-frequency).

Slot: load-on-start
Initform

t

Readers

item-persistence-load-on-start.

Writers

(setf item-persistence-load-on-start).

Slot: timer-sig
Initform

(gensym "item-persistence-timer-sig")

Readers

item-persistence-timer-sig.

Writers

(setf item-persistence-timer-sig).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
A   B   C   D   E   F   G   H   I   L   M   N   O   P   R   S   T   V  
Index Entry  Section

%
%add-cron-hash: Private ordinary functions
%add-timer: Private ordinary functions
%fetch-persisted-value: Private ordinary functions
%filter-frequency: Private ordinary functions
%item-receive: Private ordinary functions
%make-persisted-item: Private ordinary functions
%make-query-request: Private ordinary functions
%make-range-query-string: Private ordinary functions
%make-single-query-string: Private ordinary functions
%make-write-request: Private ordinary functions
%parse-csv-to-time-value-pairs: Private ordinary functions
%parse-frequency: Private ordinary functions
%parsed-last-persisted-item: Private ordinary functions
%parsed-range-persisted-item: Private ordinary functions
%range-to-string: Private ordinary functions
%receive-fun: Private ordinary functions

(
(setf days): Public generic functions
(setf days): Public generic functions
(setf hours): Public generic functions
(setf hours): Public generic functions
(setf item-changed-event-item): Public ordinary functions
(setf item-persistence-frequency): Private ordinary functions
(setf item-persistence-load-on-start): Private ordinary functions
(setf item-persistence-persp): Private ordinary functions
(setf item-persistence-timer-sig): Private ordinary functions
(setf item-state-timestamp): Public ordinary functions
(setf item-state-value): Public ordinary functions
(setf minutes): Public generic functions
(setf minutes): Public generic functions
(setf persisted-item-timestamp): Public ordinary functions
(setf persisted-item-value): Public ordinary functions
(setf pull-fun): Private generic functions
(setf pull-fun): Private generic functions
(setf push-fun): Private generic functions
(setf push-fun): Private generic functions
(setf seconds): Public generic functions
(setf seconds): Public generic functions

A
add-binding: Public ordinary functions
add-item: Public ordinary functions
add-persistence: Public ordinary functions
add-to-shutdown: Public ordinary functions

B
base-url: Private generic functions
base-url: Private generic functions
bind-item: Public ordinary functions
binding: Public macros
bindings: Private generic functions
bindings: Private generic functions
bound-items: Private generic functions
bound-items: Private generic functions
bucket: Private generic functions
bucket: Private generic functions

C
call-push-p: Public generic functions
call-push-p: Public generic functions
cancel: Public ordinary functions
cancel-job: Public ordinary functions
copy-item-changed-event: Private ordinary functions
copy-item-persistence: Private ordinary functions
copy-item-state: Private ordinary functions
copy-persisted-item: Private ordinary functions

D
days: Public generic functions
days: Public generic functions
defconfig: Public macros
defitem: Public macros
defitemgroup: Public macros
defpersistence: Public macros
defrule: Public macros
destroy: Public ordinary functions
destroy: Public ordinary functions
destroy: Public ordinary functions
destroy: Public ordinary functions

E
ensure-cron: Public ordinary functions
ensure-env: Public ordinary functions
ensure-isys: Public ordinary functions
ensure-runtime-dir: Public ordinary functions
ensure-timer: Public ordinary functions
exec-pull: Public ordinary functions
exec-push: Public ordinary functions

F
false-p: Public ordinary functions
fetch: Public ordinary functions
Function, %add-cron-hash: Private ordinary functions
Function, %add-timer: Private ordinary functions
Function, %fetch-persisted-value: Private ordinary functions
Function, %filter-frequency: Private ordinary functions
Function, %item-receive: Private ordinary functions
Function, %make-persisted-item: Private ordinary functions
Function, %make-query-request: Private ordinary functions
Function, %make-range-query-string: Private ordinary functions
Function, %make-single-query-string: Private ordinary functions
Function, %make-write-request: Private ordinary functions
Function, %parse-csv-to-time-value-pairs: Private ordinary functions
Function, %parse-frequency: Private ordinary functions
Function, %parsed-last-persisted-item: Private ordinary functions
Function, %parsed-range-persisted-item: Private ordinary functions
Function, %range-to-string: Private ordinary functions
Function, %receive-fun: Private ordinary functions
Function, (setf item-changed-event-item): Public ordinary functions
Function, (setf item-persistence-frequency): Private ordinary functions
Function, (setf item-persistence-load-on-start): Private ordinary functions
Function, (setf item-persistence-persp): Private ordinary functions
Function, (setf item-persistence-timer-sig): Private ordinary functions
Function, (setf item-state-timestamp): Public ordinary functions
Function, (setf item-state-value): Public ordinary functions
Function, (setf persisted-item-timestamp): Public ordinary functions
Function, (setf persisted-item-value): Public ordinary functions
Function, add-binding: Public ordinary functions
Function, add-item: Public ordinary functions
Function, add-persistence: Public ordinary functions
Function, add-to-shutdown: Public ordinary functions
Function, bind-item: Public ordinary functions
Function, cancel: Public ordinary functions
Function, cancel-job: Public ordinary functions
Function, copy-item-changed-event: Private ordinary functions
Function, copy-item-persistence: Private ordinary functions
Function, copy-item-state: Private ordinary functions
Function, copy-persisted-item: Private ordinary functions
Function, destroy: Public ordinary functions
Function, destroy: Public ordinary functions
Function, destroy: Public ordinary functions
Function, destroy: Public ordinary functions
Function, ensure-cron: Public ordinary functions
Function, ensure-env: Public ordinary functions
Function, ensure-isys: Public ordinary functions
Function, ensure-runtime-dir: Public ordinary functions
Function, ensure-timer: Public ordinary functions
Function, exec-pull: Public ordinary functions
Function, exec-push: Public ordinary functions
Function, false-p: Public ordinary functions
Function, fetch: Public ordinary functions
Function, get-item: Public ordinary functions
Function, get-item: Public ordinary functions
Function, get-item-stateq: Public ordinary functions
Function, get-itemgroup: Public ordinary functions
Function, get-items: Public ordinary functions
Function, get-items: Public ordinary functions
Function, get-items-on-group: Public ordinary functions
Function, get-persistence: Public ordinary functions
Function, get-rule: Public ordinary functions
Function, get-value: Public ordinary functions
Function, get-value: Public ordinary functions
Function, item-changed-event-item: Public ordinary functions
Function, item-changed-event-p: Private ordinary functions
Function, item-persistence-frequency: Private ordinary functions
Function, item-persistence-load-on-start: Private ordinary functions
Function, item-persistence-p: Private ordinary functions
Function, item-persistence-persp: Private ordinary functions
Function, item-persistence-timer-sig: Private ordinary functions
Function, item-state-p: Private ordinary functions
Function, item-state-timestamp: Public ordinary functions
Function, item-state-value: Public ordinary functions
Function, make-cron-job: Public ordinary functions
Function, make-function-binding: Public ordinary functions
Function, make-influx-persistence: Public ordinary functions
Function, make-item: Public ordinary functions
Function, make-item-changed-event: Private ordinary functions
Function, make-item-persistence: Private ordinary functions
Function, make-item-state: Private ordinary functions
Function, make-itemgroup: Public ordinary functions
Function, make-persisted-item: Public ordinary functions
Function, make-persistence: Private ordinary functions
Function, make-relative-range: Public ordinary functions
Function, make-rule: Public ordinary functions
Function, make-simple-persistence: Public ordinary functions
Function, name: Public ordinary functions
Function, name: Public ordinary functions
Function, num-jobs: Public ordinary functions
Function, persisted-item-p: Private ordinary functions
Function, persisted-item-timestamp: Public ordinary functions
Function, persisted-item-value: Public ordinary functions
Function, remove-item: Public ordinary functions
Function, schedule-once: Public ordinary functions
Function, schedule-recurring: Public ordinary functions
Function, set-value: Public ordinary functions
Function, set-value: Public ordinary functions
Function, shutdown: Public ordinary functions
Function, shutdown-cron: Public ordinary functions
Function, shutdown-env: Public ordinary functions
Function, shutdown-isys: Public ordinary functions
Function, shutdown-timer: Public ordinary functions
Function, store: Public ordinary functions
Function, true-p: Public ordinary functions

G
Generic Function, (setf days): Public generic functions
Generic Function, (setf hours): Public generic functions
Generic Function, (setf minutes): Public generic functions
Generic Function, (setf pull-fun): Private generic functions
Generic Function, (setf push-fun): Private generic functions
Generic Function, (setf seconds): Public generic functions
Generic Function, base-url: Private generic functions
Generic Function, bindings: Private generic functions
Generic Function, bound-items: Private generic functions
Generic Function, bucket: Private generic functions
Generic Function, call-push-p: Public generic functions
Generic Function, days: Public generic functions
Generic Function, hours: Public generic functions
Generic Function, id: Private generic functions
Generic Function, initialize: Public generic functions
Generic Function, items: Private generic functions
Generic Function, label: Public generic functions
Generic Function, label: Public generic functions
Generic Function, minutes: Public generic functions
Generic Function, org: Private generic functions
Generic Function, persist: Public generic functions
Generic Function, persistences: Private generic functions
Generic Function, precision: Private generic functions
Generic Function, pull-fun: Private generic functions
Generic Function, push-fun: Private generic functions
Generic Function, retrieve: Public generic functions
Generic Function, retrieve-range: Public generic functions
Generic Function, seconds: Public generic functions
Generic Function, shutdown: Public generic functions
Generic Function, storage-root-path: Private generic functions
Generic Function, token: Private generic functions
Generic Function, value-type-hint: Public generic functions
get-item: Public ordinary functions
get-item: Public ordinary functions
get-item-stateq: Public ordinary functions
get-itemgroup: Public ordinary functions
get-items: Public ordinary functions
get-items: Public ordinary functions
get-items-on-group: Public ordinary functions
get-persistence: Public ordinary functions
get-rule: Public ordinary functions
get-value: Public ordinary functions
get-value: Public ordinary functions

H
hours: Public generic functions
hours: Public generic functions

I
id: Private generic functions
id: Private generic functions
initialize: Public generic functions
initialize: Public generic functions
initialize: Public generic functions
item-changed-event-item: Public ordinary functions
item-changed-event-p: Private ordinary functions
item-persistence-frequency: Private ordinary functions
item-persistence-load-on-start: Private ordinary functions
item-persistence-p: Private ordinary functions
item-persistence-persp: Private ordinary functions
item-persistence-timer-sig: Private ordinary functions
item-state-p: Private ordinary functions
item-state-timestamp: Public ordinary functions
item-state-value: Public ordinary functions
items: Private generic functions
items: Private generic functions

L
label: Public generic functions
label: Public generic functions
label: Public generic functions
label: Public generic functions

M
Macro, binding: Public macros
Macro, defconfig: Public macros
Macro, defitem: Public macros
Macro, defitemgroup: Public macros
Macro, defpersistence: Public macros
Macro, defrule: Public macros
make-cron-job: Public ordinary functions
make-function-binding: Public ordinary functions
make-influx-persistence: Public ordinary functions
make-item: Public ordinary functions
make-item-changed-event: Private ordinary functions
make-item-persistence: Private ordinary functions
make-item-state: Private ordinary functions
make-itemgroup: Public ordinary functions
make-persisted-item: Public ordinary functions
make-persistence: Private ordinary functions
make-relative-range: Public ordinary functions
make-rule: Public ordinary functions
make-simple-persistence: Public ordinary functions
Method, (setf days): Public generic functions
Method, (setf hours): Public generic functions
Method, (setf minutes): Public generic functions
Method, (setf pull-fun): Private generic functions
Method, (setf push-fun): Private generic functions
Method, (setf seconds): Public generic functions
Method, base-url: Private generic functions
Method, bindings: Private generic functions
Method, bound-items: Private generic functions
Method, bucket: Private generic functions
Method, call-push-p: Public generic functions
Method, days: Public generic functions
Method, hours: Public generic functions
Method, id: Private generic functions
Method, initialize: Public generic functions
Method, initialize: Public generic functions
Method, items: Private generic functions
Method, label: Public generic functions
Method, label: Public generic functions
Method, minutes: Public generic functions
Method, org: Private generic functions
Method, persist: Public generic functions
Method, persist: Public generic functions
Method, persistences: Private generic functions
Method, precision: Private generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, pull-fun: Private generic functions
Method, push-fun: Private generic functions
Method, retrieve: Public generic functions
Method, retrieve: Public generic functions
Method, retrieve-range: Public generic functions
Method, seconds: Public generic functions
Method, shutdown: Public generic functions
Method, shutdown: Public generic functions
Method, storage-root-path: Private generic functions
Method, token: Private generic functions
Method, value-type-hint: Public generic functions
minutes: Public generic functions
minutes: Public generic functions

N
name: Public ordinary functions
name: Public ordinary functions
num-jobs: Public ordinary functions

O
org: Private generic functions
org: Private generic functions

P
persist: Public generic functions
persist: Public generic functions
persist: Public generic functions
persisted-item-p: Private ordinary functions
persisted-item-timestamp: Public ordinary functions
persisted-item-value: Public ordinary functions
persistences: Private generic functions
persistences: Private generic functions
precision: Private generic functions
precision: Private generic functions
print-object: Public standalone methods
print-object: Public standalone methods
pull-fun: Private generic functions
pull-fun: Private generic functions
push-fun: Private generic functions
push-fun: Private generic functions

R
remove-item: Public ordinary functions
retrieve: Public generic functions
retrieve: Public generic functions
retrieve: Public generic functions
retrieve-range: Public generic functions
retrieve-range: Public generic functions

S
schedule-once: Public ordinary functions
schedule-recurring: Public ordinary functions
seconds: Public generic functions
seconds: Public generic functions
set-value: Public ordinary functions
set-value: Public ordinary functions
shutdown: Public ordinary functions
shutdown: Public generic functions
shutdown: Public generic functions
shutdown: Public generic functions
shutdown-cron: Public ordinary functions
shutdown-env: Public ordinary functions
shutdown-isys: Public ordinary functions
shutdown-timer: Public ordinary functions
storage-root-path: Private generic functions
storage-root-path: Private generic functions
store: Public ordinary functions

T
token: Private generic functions
token: Private generic functions
true-p: Public ordinary functions

V
value-type-hint: Public generic functions
value-type-hint: Public generic functions


A.3 Variables

Jump to:   *  
B   C   D   F   H   I   L   M   O   P   S   T   V  
Index Entry  Section

*
*cron*: Private special variables
*isys*: Private special variables
*itemgroups*: Public special variables
*items*: Public special variables
*persistences*: Public special variables
*rel-runtime-dir*: Private special variables
*rules*: Public special variables
*shutdown-hooks*: Private special variables
*timer*: Private special variables

B
base-url: Public classes
bindings: Public classes
bound-items: Public classes
bucket: Public classes

C
call-push-p: Public classes
cron-hashes: Public classes

D
days: Public classes
delay: Public classes

F
frequency: Private structures

H
hours: Public classes

I
id: Public classes
initial-delay: Public classes
item: Public structures
items: Public classes

L
label: Public classes
label: Public classes
load-on-start: Private structures

M
minutes: Public classes

O
org: Public classes

P
persistences: Public classes
persp: Private structures
precision: Public classes
pull-fun: Public classes
push-fun: Public classes

S
seconds: Public classes
Slot, base-url: Public classes
Slot, bindings: Public classes
Slot, bound-items: Public classes
Slot, bucket: Public classes
Slot, call-push-p: Public classes
Slot, cron-hashes: Public classes
Slot, days: Public classes
Slot, delay: Public classes
Slot, frequency: Private structures
Slot, hours: Public classes
Slot, id: Public classes
Slot, initial-delay: Public classes
Slot, item: Public structures
Slot, items: Public classes
Slot, label: Public classes
Slot, label: Public classes
Slot, load-on-start: Private structures
Slot, minutes: Public classes
Slot, org: Public classes
Slot, persistences: Public classes
Slot, persp: Private structures
Slot, precision: Public classes
Slot, pull-fun: Public classes
Slot, push-fun: Public classes
Slot, seconds: Public classes
Slot, storage-root-path: Public classes
Slot, timer-sig: Private structures
Slot, timers: Public classes
Slot, timestamp: Public structures
Slot, timestamp: Public structures
Slot, token: Public classes
Slot, transform-fun: Public classes
Slot, value: Public structures
Slot, value: Public structures
Slot, value-type-hint: Public classes
Special Variable, *cron*: Private special variables
Special Variable, *isys*: Private special variables
Special Variable, *itemgroups*: Public special variables
Special Variable, *items*: Public special variables
Special Variable, *persistences*: Public special variables
Special Variable, *rel-runtime-dir*: Private special variables
Special Variable, *rules*: Public special variables
Special Variable, *shutdown-hooks*: Private special variables
Special Variable, *timer*: Private special variables
storage-root-path: Public classes

T
timer-sig: Private structures
timers: Public classes
timestamp: Public structures
timestamp: Public structures
token: Public classes
transform-fun: Public classes

V
value: Public structures
value: Public structures
value-type-hint: Public classes


A.4 Data types

Jump to:   B   C   E   F   H   I   M   P   R   S   T  
Index Entry  Section

B
base-binding.lisp: The chipi/src/bindings/base-binding․lisp file
binding: Public classes
binding-api.lisp: The chipi/src/binding-api․lisp file
bindings: The chipi/src/bindings module

C
chipi: The chipi system
chipi.asd: The chipi/chipi․asd file
chipi.binding: The chipi․binding package
chipi.cron: The chipi․cron package
chipi.env: The chipi․env package
chipi.hab: The chipi․hab package
chipi.influx-persistence: The chipi․influx-persistence package
chipi.isys: The chipi․isys package
chipi.item: The chipi․item package
chipi.itemgroup: The chipi․itemgroup package
chipi.persistence: The chipi․persistence package
chipi.rule: The chipi․rule package
chipi.simple-persistence: The chipi․simple-persistence package
chipi.timer: The chipi․timer package
cl-cron-overrides.lisp: The chipi/src/cl-cron-overrides․lisp file
Class, binding: Public classes
Class, influx-persistence: Public classes
Class, item: Public classes
Class, itemgroup: Public classes
Class, persistence: Public classes
Class, range: Public classes
Class, relative-range: Public classes
Class, rule: Public classes
Class, simple-persistence: Public classes
cron.lisp: The chipi/src/cron․lisp file

E
env.lisp: The chipi/src/env․lisp file

F
false: Public types
File, base-binding.lisp: The chipi/src/bindings/base-binding․lisp file
File, binding-api.lisp: The chipi/src/binding-api․lisp file
File, chipi.asd: The chipi/chipi․asd file
File, cl-cron-overrides.lisp: The chipi/src/cl-cron-overrides․lisp file
File, cron.lisp: The chipi/src/cron․lisp file
File, env.lisp: The chipi/src/env․lisp file
File, hab.lisp: The chipi/src/hab․lisp file
File, isys.lisp: The chipi/src/isys․lisp file
File, item.lisp: The chipi/src/item․lisp file
File, itemgroup.lisp: The chipi/src/itemgroup․lisp file
File, persistence-api.lisp: The chipi/src/persistence-api․lisp file
File, persistence-influx.lisp: The chipi/src/persistence-influx․lisp file
File, persistence-simple.lisp: The chipi/src/persistence-simple․lisp file
File, persistence.lisp: The chipi/src/persistence․lisp file
File, rule.lisp: The chipi/src/rule․lisp file
File, timer.lisp: The chipi/src/timer․lisp file

H
hab.lisp: The chipi/src/hab․lisp file

I
influx-persistence: Public classes
isys.lisp: The chipi/src/isys․lisp file
item: Public classes
item-changed-event: Public structures
item-persistence: Private structures
item-state: Public structures
item.lisp: The chipi/src/item․lisp file
itemgroup: Public classes
itemgroup.lisp: The chipi/src/itemgroup․lisp file

M
Module, bindings: The chipi/src/bindings module
Module, src: The chipi/src module

P
Package, chipi.binding: The chipi․binding package
Package, chipi.cron: The chipi․cron package
Package, chipi.env: The chipi․env package
Package, chipi.hab: The chipi․hab package
Package, chipi.influx-persistence: The chipi․influx-persistence package
Package, chipi.isys: The chipi․isys package
Package, chipi.item: The chipi․item package
Package, chipi.itemgroup: The chipi․itemgroup package
Package, chipi.persistence: The chipi․persistence package
Package, chipi.rule: The chipi․rule package
Package, chipi.simple-persistence: The chipi․simple-persistence package
Package, chipi.timer: The chipi․timer package
persisted-item: Public structures
persistence: Public classes
persistence-api.lisp: The chipi/src/persistence-api․lisp file
persistence-influx.lisp: The chipi/src/persistence-influx․lisp file
persistence-simple.lisp: The chipi/src/persistence-simple․lisp file
persistence.lisp: The chipi/src/persistence․lisp file

R
range: Public classes
relative-range: Public classes
rule: Public classes
rule.lisp: The chipi/src/rule․lisp file

S
simple-persistence: Public classes
src: The chipi/src module
Structure, item-changed-event: Public structures
Structure, item-persistence: Private structures
Structure, item-state: Public structures
Structure, persisted-item: Public structures
System, chipi: The chipi system

T
timer.lisp: The chipi/src/timer․lisp file
true: Public types
Type, false: Public types
Type, true: Public types