-
Notifications
You must be signed in to change notification settings - Fork 0
/
util.go
47 lines (41 loc) · 921 Bytes
/
util.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package main
import (
"fmt"
"time"
)
func boolToEmoji(b bool) string {
if b {
return "✅"
} else {
return "❌"
}
}
func boolToStr(status bool) string {
if status {
return "on"
} else {
return "off"
}
}
func fenceStatus() (status string) {
d := time.Since(stat.SwitchStatus.LastUpdate)
if d > 24*time.Hour {
status = "⚠️ Relais déconnecté depuis plus d'un jour\n"
} else if d > 60*time.Second {
status = fmt.Sprintf("⚠️ Relais connecté pour la dernière fois il y a %v\n", d)
} else {
status = fmt.Sprintf(`
Électricité dans la clôture: %s
Interrupteur rotatif: %s
Tension du réseau: %.2f V
Puissance moyenne: %.2f W
Dernières données du relais il y a %v`,
boolToEmoji(stat.SwitchStatus.Output),
boolToEmoji(stat.InputStatus.State),
stat.SwitchStatus.Voltage,
stat.SwitchStatus.AveragePower,
time.Duration.Round(d, time.Millisecond),
)
}
return
}