Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| 
       cmd
        | 
      |
| 
         
          
            bos
            
            command
          
           
      Command bos provides the canonical Smart Core BOS executable. 
         | 
      Command bos provides the canonical Smart Core BOS executable. | 
| 
         
          
            pash
            
            command
          
           
      Command pash provides a CLI tool for generating password hashes. 
         | 
      Command pash provides a CLI tool for generating password hashes. | 
| 
         
          
            tools/bacnet-comm-test
            
            command
          
           
      Command bacnet-comm-test performs a simple comm check against a BACnet device. 
         | 
      Command bacnet-comm-test performs a simple comm check against a BACnet device. | 
| 
         
          
            tools/bacnet-multi-comm-test
            
            command
          
           
      Command bacnet-multi-comm-test checks the availability [bacnet] devices and objects read from [appconf] files. 
         | 
      Command bacnet-multi-comm-test checks the availability [bacnet] devices and objects read from [appconf] files. | 
| 
         
          
            tools/bacnet-whois
            
            command
          
           
      Command bacnet-whois executes a BACnet WhoIs broadcast request and captures the replies in a CSV file. 
         | 
      Command bacnet-whois executes a BACnet WhoIs broadcast request and captures the replies in a CSV file. | 
| 
         
          
            tools/client-airqualitysensor
            
            command
          
           
      Command client-meter provides a CLI tool for interacting with the [gen.MeterApiClient]. 
         | 
      Command client-meter provides a CLI tool for interacting with the [gen.MeterApiClient]. | 
| 
         
          
            tools/client-airtemperature
            
            command
          
           
      Command client-meter provides a CLI tool for interacting with the [gen.MeterApiClient]. 
         | 
      Command client-meter provides a CLI tool for interacting with the [gen.MeterApiClient]. | 
| 
         
          
            tools/client-button
            
            command
          
           
      Command client-button provides a CLI tool for interacting with a [gen.ButtonApiClient]. 
         | 
      Command client-button provides a CLI tool for interacting with a [gen.ButtonApiClient]. | 
| 
         
          
            tools/client-devicesmetadata
            
            command
          
           
      Command client-devicesmetadata provides a CLI tool for interacting with the [gen.DevicesApiClient]. 
         | 
      Command client-devicesmetadata provides a CLI tool for interacting with the [gen.DevicesApiClient]. | 
| 
         
          
            tools/client-emergency
            
            command
          
           
      Command client-emergency provides a CLI tool for interacting with the [traits.EmergencyApiClient]. 
         | 
      Command client-emergency provides a CLI tool for interacting with the [traits.EmergencyApiClient]. | 
| 
         
          
            tools/client-meter
            
            command
          
           
      Command client-meter provides a CLI tool for interacting with the [gen.MeterApiClient]. 
         | 
      Command client-meter provides a CLI tool for interacting with the [gen.MeterApiClient]. | 
| 
         
          
            tools/client-occupancy
            
            command
          
           
      Command client-occupancy provides a CLI tool for interacting with the [traits.OccupancySensorApiClient]. 
         | 
      Command client-occupancy provides a CLI tool for interacting with the [traits.OccupancySensorApiClient]. | 
| 
         
          
            tools/client-parent
            
            command
          
           
      Command client-parent provides a CLI tool for interacting with the [traits.ParentApiClient]. 
         | 
      Command client-parent provides a CLI tool for interacting with the [traits.ParentApiClient]. | 
| 
         
          
            tools/dbadd-alerts
            
            command
          
           
      App dbadd-alerts is a tool that creates alerts via the AlertAdminApi. 
         | 
      App dbadd-alerts is a tool that creates alerts via the AlertAdminApi. | 
| 
         
          
            tools/dbadd-publications-sample
            
            command
          
           
      Command dbadd-publications-sample connects to a postgres database, creates tables, and seeds them with some sample test data. 
         | 
      Command dbadd-publications-sample connects to a postgres database, creates tables, and seeds them with some sample test data. | 
| 
         
          
            tools/enrollment-tool
            
            command
          
           
      Command enrollment-tool provides a CLI tool for enrolling a node with a hub. 
         | 
      Command enrollment-tool provides a CLI tool for enrolling a node with a hub. | 
| 
         
          
            tools/export-alerts
            
            command
          
           
      Command export-alerts reads alerts from [gen.AlertApiClient] and writes them to a CSV file. 
         | 
      Command export-alerts reads alerts from [gen.AlertApiClient] and writes them to a CSV file. | 
| 
         
          
            tools/export-traits
            
            command
          
           
      Command export-traits reads various trait information and writes it to a CSV file. 
         | 
      Command export-traits reads various trait information and writes it to a CSV file. | 
| 
         
          
            tools/list-occupancy-history
            
            command
          
           
      Command list-occupancy-history reads records from [gen.OccupancySensorHistoryClient] and writes them to a CSV file. 
         | 
      Command list-occupancy-history reads records from [gen.OccupancySensorHistoryClient] and writes them to a CSV file. | 
| 
         
          
            tools/proxy-test
            
            command
          
           
      Command proxy-test is an experiment using grpc-proxy to see how applicable it would be for gateways. 
         | 
      Command proxy-test is an experiment using grpc-proxy to see how applicable it would be for gateways. | 
| 
         
          
            tools/pull-enter-leave
            
            command
          
           
      Command pull-enter-leave provides a CLI tool that pulls from a [traits.EnterLeaveSensorApiClient]. 
         | 
      Command pull-enter-leave provides a CLI tool that pulls from a [traits.EnterLeaveSensorApiClient]. | 
| 
         
          
            tools/sample-tenant
            
            command
          
           
      Command sample-tenant provides an example tenant application, including auth. 
         | 
      Command sample-tenant provides an example tenant application, including auth. | 
| 
         
          
            tools/tcp-conn-test
            
            command
          
           
      Command tcp-conn-test provides an interactive CLI terminal for testing TCP connections. 
         | 
      Command tcp-conn-test provides an interactive CLI terminal for testing TCP connections. | 
| 
         
          
            tools/test-meteremail
            
            command
          
           
      Command test-meteremail tests the [meteremail] package, sending to a real email address. 
         | 
      Command test-meteremail tests the [meteremail] package, sending to a real email address. | 
| 
         
          
            tools/test-notificationsemail
            
            command
          
          
         
       | 
      |
| 
         
          
            tools/test-occupancyemail
            
            command
          
           
      Command test-occupancyemail tests the [occupancyemail] package, sending to a real email address. 
         | 
      Command test-occupancyemail tests the [occupancyemail] package, sending to a real email address. | 
| 
         
          
            tools/test-statusemail
            
            command
          
           
      Command test-statusemail tests the [statusemail] package, sending to a real email address. 
         | 
      Command test-statusemail tests the [statusemail] package, sending to a real email address. | 
| 
         
          
            tools/xovis-push-data-sample
            
            command
          
           
      Command xovis-push-data-sample is an example of how to receive Xovis push data. 
         | 
      Command xovis-push-data-sample is an example of how to receive Xovis push data. | 
| 
       internal
        | 
      |
| 
         
          
            auth/keycloak
            
            
          
           
      Package keycloak verifies tokens issued by the Keycloak identity server. 
         | 
      Package keycloak verifies tokens issued by the Keycloak identity server. | 
| 
         
          
            auth/tenant
            
            
          
           
      Package tenant implements issuing tenants Access Tokens based on the OAuth2 client credentials grant. 
         | 
      Package tenant implements issuing tenants Access Tokens based on the OAuth2 client credentials grant. | 
| 
         
          
            iothub
            
            
          
           
      Package iothub provides a client for Azure IoT Hub. 
         | 
      Package iothub provides a client for Azure IoT Hub. | 
| 
         
          
            iothub/dps
            
            
          
           
      Package dps implements provisioning a device using the Azure IoT Device Provisioning Service. 
         | 
      Package dps implements provisioning a device using the Azure IoT Device Provisioning Service. | 
| 
         
          
            manage/devices
            
            
          
           
      Package devices provides mechanisms for querying devices on a node. 
         | 
      Package devices provides mechanisms for querying devices on a node. | 
| 
         
          
            pubcache
            
            
          
           
      Package pubcache implements a cache of selected publications from a remote Smart Core publication server. 
         | 
      Package pubcache implements a cache of selected publications from a remote Smart Core publication server. | 
| 
       pkg
        | 
      |
| 
         
          
            app
            
            
          
           
      Package app handles service lifecycle management, and other functionality necessary for the daemon-style server applications in this project. 
         | 
      Package app handles service lifecycle management, and other functionality necessary for the daemon-style server applications in this project. | 
| 
         
          
            app/appconf
            
            
          
           
      Package appconf provides runtime configuration. 
         | 
      Package appconf provides runtime configuration. | 
| 
         
          
            app/files
            
            
          
           
      Package files provides file utilities. 
         | 
      Package files provides file utilities. | 
| 
         
          
            app/http
            
            
          
           
      Package http provides http-specific configuration types and functionality. 
         | 
      Package http provides http-specific configuration types and functionality. | 
| 
         
          
            app/sysconf
            
            
          
           
      Package sysconf provides system level configuration. 
         | 
      Package sysconf provides system level configuration. | 
| 
         
          
            auth
            
            
          
           
      Package auth provides both authentication primitives and authorization policies. 
         | 
      Package auth provides both authentication primitives and authorization policies. | 
| 
         
          
            auth/jwks
            
            
          
           
      Package jwks provides both local and remote JWT Key Set access token verifiers. 
         | 
      Package jwks provides both local and remote JWT Key Set access token verifiers. | 
| 
         
          
            auth/oidc
            
            
          
           
      Package oidc provides access to remote OpenID Connect configuration. 
         | 
      Package oidc provides access to remote OpenID Connect configuration. | 
| 
         
          
            auth/policy
            
            
          
           
      Package policy provides a policy-based authorization system for gRPC services. 
         | 
      Package policy provides a policy-based authorization system for gRPC services. | 
| 
         
          
            auth/token
            
            
          
           
      Package token provides mechanisms for validating access tokens and extracting claims. 
         | 
      Package token provides mechanisms for validating access tokens and extracting claims. | 
| 
         
          
            auto/azureiot
            
            
          
           
      Package azureiot implements data upload to Azure IoT Hub. 
         | 
      Package azureiot implements data upload to Azure IoT Hub. | 
| 
         
          
            auto/azureiot/example
            
            command
          
          
         
       | 
      |
| 
         
          
            auto/history
            
            
          
           
      Package history provides an automation that pulls data from a trait and inserts them into store. 
         | 
      Package history provides an automation that pulls data from a trait and inserts them into store. | 
| 
         
          
            auto/lights
            
            
          
           
      Package lights provides automated control of lighting. 
         | 
      Package lights provides automated control of lighting. | 
| 
         
          
            auto/meteremail
            
            
          
           
      Package meteremail provides an automation that collects the instantaneous meter readings for a set of given devices. 
         | 
      Package meteremail provides an automation that collects the instantaneous meter readings for a set of given devices. | 
| 
         
          
            auto/notificationsemail
            
            
          
           
      Package notificationsemail has been made to tick a box and needs improvement. 
         | 
      Package notificationsemail has been made to tick a box and needs improvement. | 
| 
         
          
            auto/occupancyemail
            
            
          
           
      Package occupancyemail provides an automation that creates a digest email of occupancy statistics. 
         | 
      Package occupancyemail provides an automation that creates a digest email of occupancy statistics. | 
| 
         
          
            auto/resetenterleave
            
            
          
           
      Package resetenterleave provides an auto that resets enter/leave totals based on a cron-like schedule. 
         | 
      Package resetenterleave provides an auto that resets enter/leave totals based on a cron-like schedule. | 
| 
         
          
            driver/airthings
            
            
          
           
      Package airthings integrates AirThings devices into Smart Core. 
         | 
      Package airthings integrates AirThings devices into Smart Core. | 
| 
         
          
            driver/airthings/api
            
            
          
           
      Package api allows interaction with the AirThings API. 
         | 
      Package api allows interaction with the AirThings API. | 
| 
         
          
            driver/airthings/local
            
            
          
           
      Package local implements a local model of the AirThings api. 
         | 
      Package local implements a local model of the AirThings api. | 
| 
         
          
            driver/airthings/sample
            
            command
          
           
      The sample application uses the AirThings API to pull sensor readings (latest samples) from a named location. 
         | 
      The sample application uses the AirThings API to pull sensor readings (latest samples) from a named location. | 
| 
         
          
            driver/se/wiser-knx
            
            
          
           
      Package wiser_knx contains a driver for Schneider Electric Wiser for KNX lighting controller. 
         | 
      Package wiser_knx contains a driver for Schneider Electric Wiser for KNX lighting controller. | 
| 
         
          
            driver/xovis
            
            
          
           
      Package xovis contains a driver for camera-based occupancy sensors produced by Xovis. 
         | 
      Package xovis contains a driver for camera-based occupancy sensors produced by Xovis. | 
| 
         
          
            gentrait/historypb
            
            
          
           
      Package historypb adds types useful for working with the generated FooHistory services. 
         | 
      Package historypb adds types useful for working with the generated FooHistory services. | 
| 
         
          
            history
            
            
          
           
      Package history provides a store for historical records. 
         | 
      Package history provides a store for historical records. | 
| 
         
          
            history/boltstore
            
            
          
           
      Package boltstore provides an implementation of history.Store with records stored in a bolthold database. 
         | 
      Package boltstore provides an implementation of history.Store with records stored in a bolthold database. | 
| 
         
          
            history/memstore
            
            
          
           
      Package memstore provides an implementation of history.Store with records stored in memory. 
         | 
      Package memstore provides an implementation of history.Store with records stored in memory. | 
| 
         
          
            history/pgxstore
            
            
          
           
      Package pgxstore provides an implementation of history.Store backed by a Postgres database. 
         | 
      Package pgxstore provides an implementation of history.Store backed by a Postgres database. | 
| 
         
          
            manage/enrollment
            
            
          
           
      Package enrollment facilitates the binding of an Area Controller to a Building Controller. 
         | 
      Package enrollment facilitates the binding of an Area Controller to a Building Controller. | 
| 
         
          
            minibus
            
            
          
           
      Package minibus implements a minimalist many-to-many event bus. 
         | 
      Package minibus implements a minimalist many-to-many event bus. | 
| 
         
          
            system
            
            
          
           
      Package system and sub packages add optional features to a controller. 
         | 
      Package system and sub packages add optional features to a controller. | 
| 
         
          
            system/authn
            
            
          
           
      Package authn provides token based authentication for gRPC requests. 
         | 
      Package authn provides token based authentication for gRPC requests. | 
| 
         
          
            system/history
            
            
          
           
      Package history provides an implementation of HistoryAdminApi backed by a history.Store. 
         | 
      Package history provides an implementation of HistoryAdminApi backed by a history.Store. | 
| 
         
          
            system/hub
            
            
          
           
      Package hub manages the enrollment process for a cohort of nodes. 
         | 
      Package hub manages the enrollment process for a cohort of nodes. | 
| 
         
          
            task
            
            
          
           
      Package task defines Task, a unit of work which can be retried if it fails. 
         | 
      Package task defines Task, a unit of work which can be retried if it fails. | 
| 
         
          
            task/serviceapi
            
            
          
           
      Package serviceapi implements gen.ServiceApi backed by a service.Map. 
         | 
      Package serviceapi implements gen.ServiceApi backed by a service.Map. | 
| 
         
          
            util/jsontypes
            
            
          
           
      Package jsontypes contains utility / wrapper types that are suitable for JSON marshalling / unmarshalling using the standard library json package. 
         | 
      Package jsontypes contains utility / wrapper types that are suitable for JSON marshalling / unmarshalling using the standard library json package. | 
| 
         
          
            util/pull
            
            
          
           
      Package pull provides a reliable way to subscribe to changes from a device. 
         | 
      Package pull provides a reliable way to subscribe to changes from a device. | 
| 
         
          
            util/state
            
            
          
           
      Package state deals with tracking, notification, and management of state and state changes. 
         | 
      Package state deals with tracking, notification, and management of state and state changes. | 
| 
         
          
            zone
            
            
          
           
      Package zone represents the concept of a physical space and what you can do with that space. 
         | 
      Package zone represents the concept of a physical space and what you can do with that space. | 
| 
         
          
            zone/feature/lighting
            
            
          
           
      Package lighting implements group lighting control for a zone. 
         | 
      Package lighting implements group lighting control for a zone. | 
 Click to show internal directories. 
   Click to hide internal directories.