WIP
This commit is contained in:
@ -4,7 +4,6 @@ import (
|
||||
"git.cryptic.systems/fh-trier/go-flucky/cmd/config"
|
||||
"git.cryptic.systems/fh-trier/go-flucky/cmd/remote"
|
||||
"git.cryptic.systems/fh-trier/go-flucky/cmd/sensor"
|
||||
"git.cryptic.systems/fh-trier/go-flucky/cmd/temperature"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
@ -24,7 +23,7 @@ func Execute(version string) {
|
||||
config.InitCmd(rootCmd, configDir)
|
||||
remote.InitCmd(rootCmd, configDir)
|
||||
sensor.InitCmd(rootCmd, configDir)
|
||||
temperature.InitCmd(rootCmd, configDir)
|
||||
//temperature.InitCmd(rootCmd, configDir)
|
||||
|
||||
rootCmd.Execute()
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ var listRemoteCmd = &cobra.Command{
|
||||
Short: "List Remove Servers",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
|
||||
if err := remote.List(os.Stdout, configDir); err != nil {
|
||||
if err := remote.Print(os.Stdout, configDir); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
},
|
||||
|
30
cmd/sensor/add.go
Normal file
30
cmd/sensor/add.go
Normal file
@ -0,0 +1,30 @@
|
||||
package sensor
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"git.cryptic.systems/fh-trier/go-flucky/pkg/sensor"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var enabled bool
|
||||
var sensorLocation, wireID, wirePath string
|
||||
|
||||
var addSensorCmd = &cobra.Command{
|
||||
Use: "add",
|
||||
Short: "Add Sensor",
|
||||
Args: cobra.ExactArgs(3),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
if err := sensor.Add(&args[0], &sensorLocation, &args[1], &wireID, &args[2], wirePath, configDir, enabled); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
sensorCmd.AddCommand(addSensorCmd)
|
||||
addSensorCmd.Flags().BoolVarP(&enabled, "enabled", "e", true, "Enable Sensor")
|
||||
addSensorCmd.Flags().StringVarP(&sensorLocation, "sensor-location", "l", "", "Sensor location")
|
||||
addSensorCmd.Flags().StringVarP(&wireID, "wire-id", "i", "", "Wire-ID")
|
||||
addSensorCmd.Flags().StringVarP(&wirePath, "wire-path", "w", "/sys/bus/w1/devices", "Wire device path")
|
||||
}
|
24
cmd/sensor/disable.go
Normal file
24
cmd/sensor/disable.go
Normal file
@ -0,0 +1,24 @@
|
||||
package sensor
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"git.cryptic.systems/fh-trier/go-flucky/pkg/sensor"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var disableSensorCmd = &cobra.Command{
|
||||
Use: "disable",
|
||||
Short: "Disable Sensor",
|
||||
Args: cobra.ExactArgs(1),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
|
||||
if err := sensor.Disable(args[0], configDir); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
sensorCmd.AddCommand(disableSensorCmd)
|
||||
}
|
24
cmd/sensor/enable.go
Normal file
24
cmd/sensor/enable.go
Normal file
@ -0,0 +1,24 @@
|
||||
package sensor
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"git.cryptic.systems/fh-trier/go-flucky/pkg/sensor"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var enableSensorCmd = &cobra.Command{
|
||||
Use: "enable",
|
||||
Short: "Enable Sensor",
|
||||
Args: cobra.ExactArgs(1),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
|
||||
if err := sensor.Enable(args[0], configDir); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
sensorCmd.AddCommand(enableSensorCmd)
|
||||
}
|
28
cmd/sensor/list.go
Normal file
28
cmd/sensor/list.go
Normal file
@ -0,0 +1,28 @@
|
||||
package sensor
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"git.cryptic.systems/fh-trier/go-flucky/pkg/sensor"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var quiet bool
|
||||
|
||||
var listSensorCmd = &cobra.Command{
|
||||
Use: "list",
|
||||
Short: "List Sensors",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
if err := sensor.Print(os.Stdout, configDir, quiet); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
},
|
||||
//28-01143277168e
|
||||
}
|
||||
|
||||
func init() {
|
||||
sensorCmd.AddCommand(listSensorCmd)
|
||||
|
||||
listSensorCmd.Flags().BoolVarP(&quiet, "quiet", "q", false, "List only sensor id's")
|
||||
}
|
23
cmd/sensor/rm.go
Normal file
23
cmd/sensor/rm.go
Normal file
@ -0,0 +1,23 @@
|
||||
package sensor
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"git.cryptic.systems/fh-trier/go-flucky/pkg/sensor"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var rmSensorCmd = &cobra.Command{
|
||||
Use: "rm",
|
||||
Short: "Remove Sensor",
|
||||
Args: cobra.ExactArgs(1),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
if err := sensor.Remove(args[0], configDir); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
sensorCmd.AddCommand(rmSensorCmd)
|
||||
}
|
@ -1,7 +1,6 @@
|
||||
package sensor
|
||||
|
||||
import (
|
||||
"git.cryptic.systems/fh-trier/go-flucky/cmd/sensor/temperature"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
@ -18,6 +17,4 @@ func InitCmd(cmd *cobra.Command, cnf string) {
|
||||
|
||||
cmd.AddCommand(sensorCmd)
|
||||
|
||||
temperature.InitCmd(sensorCmd, cnf)
|
||||
|
||||
}
|
||||
|
@ -1,49 +0,0 @@
|
||||
package temperature
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
temperatureSensor "git.cryptic.systems/fh-trier/go-flucky/pkg/sensor/temperature"
|
||||
"git.cryptic.systems/fh-trier/go-flucky/pkg/types"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var sensorType string
|
||||
|
||||
var addTemperatureSensorCmd = &cobra.Command{
|
||||
Use: "add",
|
||||
Short: "Add Temperature Sensor",
|
||||
Args: cobra.ExactArgs(1),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
|
||||
t, err := matchSensorTyp(sensorType)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// DS18B20
|
||||
if t == types.SENSOR_DS18B20 {
|
||||
if err := temperatureSensor.AddDS18B20(args[0], sensorName, configDir, wirePath); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
temperatureSensorCmd.AddCommand(addTemperatureSensorCmd)
|
||||
addTemperatureSensorCmd.Flags().StringVarP(&sensorType, "type", "t", "DS18B20", "Sensor Types: DS18B20, DHT11")
|
||||
}
|
||||
|
||||
func matchSensorTyp(sensorType string) (types.SensorType, error) {
|
||||
|
||||
switch sensorType {
|
||||
case "DS18B20":
|
||||
return types.SENSOR_DS18B20, nil
|
||||
case "DHT11":
|
||||
return types.SENSOR_DHT11, nil
|
||||
}
|
||||
|
||||
return "", fmt.Errorf("Can not match %v with a sensor type", sensorType)
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
package temperature
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
|
||||
temperatureSensor "git.cryptic.systems/fh-trier/go-flucky/pkg/sensor/temperature"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var quiet bool
|
||||
|
||||
var listTemperatureSensorCmd = &cobra.Command{
|
||||
Use: "list",
|
||||
Short: "List Temperature Sensors",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
|
||||
if err := temperatureSensor.Print(os.Stdout, configDir, quiet); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
temperatureSensorCmd.AddCommand(listTemperatureSensorCmd)
|
||||
|
||||
listTemperatureSensorCmd.Flags().BoolVarP(&quiet, "quiet", "q", false, "List only sensor id's")
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
package temperature
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
temperatureSensor "git.cryptic.systems/fh-trier/go-flucky/pkg/sensor/temperature"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var rmTemperatureSensorCmd = &cobra.Command{
|
||||
Use: "rm",
|
||||
Short: "Remove Temperature Sensor",
|
||||
Args: cobra.ExactArgs(1),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
|
||||
if err := temperatureSensor.Remove(args[0], configDir); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
temperatureSensorCmd.AddCommand(rmTemperatureSensorCmd)
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
package temperature
|
||||
|
||||
import (
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var configDir, sensorName, wirePath string
|
||||
|
||||
var temperatureSensorCmd = &cobra.Command{
|
||||
Use: "temperature",
|
||||
Short: "Manage Temperature Sensors",
|
||||
}
|
||||
|
||||
// Execute a
|
||||
func InitCmd(cmd *cobra.Command, cnf string) {
|
||||
configDir = cnf
|
||||
|
||||
cmd.AddCommand(temperatureSensorCmd)
|
||||
temperatureSensorCmd.PersistentFlags().StringVarP(&sensorName, "name", "n", "", "Define an name for the sensor")
|
||||
temperatureSensorCmd.PersistentFlags().StringVarP(&wirePath, "wire-path", "w", "/sys/bus/w1/devices", "Default path for wire devices")
|
||||
|
||||
}
|
@ -8,20 +8,28 @@ import (
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var push bool
|
||||
var follow, writeLogfiles, push bool
|
||||
|
||||
var getTemperatureCmd = &cobra.Command{
|
||||
Use: "get",
|
||||
Short: "get temperature from sensor",
|
||||
Args: cobra.ExactArgs(1),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
|
||||
if err := temperature.Get(os.Stdout, args[0], configDir); err != nil {
|
||||
log.Fatal(err)
|
||||
if follow {
|
||||
if err := temperature.GetFollow(args, writeLogfiles, push, configDir, os.Stdout); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
} else {
|
||||
if err := temperature.Get(args, writeLogfiles, push, configDir, os.Stdout); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
temperatureCmd.AddCommand(getTemperatureCmd)
|
||||
getTemperatureCmd.Flags().BoolVarP(&follow, "follow", "f", false, "Follow output")
|
||||
getTemperatureCmd.Flags().BoolVarP(&push, "push", "p", false, "Push to remote server")
|
||||
getTemperatureCmd.Flags().BoolVarP(&writeLogfiles, "log", "l", true, "Write to logfiles")
|
||||
}
|
||||
|
@ -1,27 +0,0 @@
|
||||
package temperature
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"git.cryptic.systems/fh-trier/go-flucky/pkg/temperature"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
//var seconds int32
|
||||
|
||||
var logTemperatureCmd = &cobra.Command{
|
||||
Use: "logs",
|
||||
Short: "logs print all temperatures from all sensors",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
|
||||
if err := temperature.Logs(os.Stdout, configDir); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
temperatureCmd.AddCommand(logTemperatureCmd)
|
||||
//logTemperatureCmd.Flags().Int32VarP(&seconds, "seconds", "s", 1, "Interval to print new temperatures from sensors")
|
||||
}
|
23
cmd/temperature/print.go
Normal file
23
cmd/temperature/print.go
Normal file
@ -0,0 +1,23 @@
|
||||
package temperature
|
||||
|
||||
import (
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var writeLog bool
|
||||
|
||||
var printTemperatureCmd = &cobra.Command{
|
||||
Use: "print",
|
||||
Short: "print all temperatures from all sensors secondly",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
|
||||
// if err := temperature.Print(os.Stdout, configDir, writeLog); err != nil {
|
||||
// log.Fatal(err)
|
||||
// }
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
temperatureCmd.AddCommand(printTemperatureCmd)
|
||||
printTemperatureCmd.Flags().BoolVarP(&writeLog, "log", "l", true, "Append to logfiles")
|
||||
}
|
Reference in New Issue
Block a user