Markus Pesch
5220eac16b
changes: - remove remote operations - add function to write measured values into a channel - add get humidity sensors from config - add get temperature sensors from config - remove FileLogger - exclude some functions from pkf into internal
34 lines
771 B
Go
34 lines
771 B
Go
package daemon
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"os/signal"
|
|
"syscall"
|
|
|
|
"github.com/volker-raschek/flucky/pkg/config"
|
|
"github.com/volker-raschek/flucky/pkg/sensor"
|
|
"github.com/volker-raschek/flucky/pkg/types"
|
|
)
|
|
|
|
// Start the daemon
|
|
func Start(cnf *config.FluckyConfig) error {
|
|
|
|
interrupt := make(chan os.Signal, 1)
|
|
signal.Notify(interrupt, os.Interrupt, os.Kill, syscall.SIGTERM)
|
|
|
|
humidityChannel := make(chan *types.Humidity)
|
|
temperatureChannel := make(chan *types.Temperature)
|
|
|
|
go sensor.ReadHumiditiesContinuously(humiditySensors, humidityChannel)
|
|
go sensor.ReadTemperaturesContinuously(temperatureSensors, temperatureChannel)
|
|
|
|
for {
|
|
select {
|
|
case killSignal := <-interrupt:
|
|
return fmt.Errorf("Daemon was interruped by system signal %v", killSignal)
|
|
}
|
|
}
|
|
|
|
}
|