~ehmry/tonaltime

Utility to print the current Tonal time
Use the gatekeeper protocol for configuration
Replace Nimble with CycloneDX
Syndicate API update

clone

read-only
https://git.sr.ht/~ehmry/tonaltime
read/write
git@git.sr.ht:~ehmry/tonaltime

You can also use your local clone with git send-email.

#Tonaltime

A Syndicated clock actor.

Publishes the current Tonal time with 8_00_0 aligned to solar noon local to the given coordinates.

  • <tonaltime @raw int @hex string>

Four solar assertions are published in traditational local time.

  • <midnight <rfc3339 @hh:mm:ss string>>
  • <sunrise <rfc3339 @hh:mm:ss string>>
  • <noon <rfc3339 @hh:mm:ss string>>
  • <sunset <rfc3339 @hh:mm:ss string>>

The actor implements the gatekeeper protocol. Use a step in the form <tonaltime { lat: 00.000 lon: 00.000 }> to resove to a dataspace where the clock and solar assertions are made.

#Example

#Configuration

# syndicate-server configuration
<require-service <relay-listener <unix "/run/user/1000/syndicate"> $gatekeeper>>

let ?servicespace = dataspace
<bind <ref { oid: services key: #x"" }> $servicespace #f>

$servicespace ? <resolve <tonaltime ?detail> ?obs> [
  $config <require-service <daemon tonaltime>>
  $config ? <service-object <daemon tonaltime> ?cap> [
    $cap<resolve <tonaltime $detail> $obs>
  ]
]

? <built tonaltime ?path ?sum> [
  <daemon tonaltime {
    argv: "tonaltime"
    protocol: application/syndicate
    env: { BUILD_SUM: $sum }
  }>
]

#Access

To access the service configured above use the route <route [<unix "/run/user/1000/syndicate">] <ref {oid: services sig: #x"279857dc7ab625a174a797934cea4f2d"}> <tonaltime { lat: 15.0 lon: 55.1 }>>