forked from openWB/openwb-ui-settings
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathInverterCard.vue
142 lines (138 loc) · 2.98 KB
/
InverterCard.vue
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<template>
<openwb-base-card subtype="success" :collapsible="true" :collapsed="true">
<template #header>
<font-awesome-icon fixed-width :icon="['fas', 'solar-panel']" />
{{ inverter.name }} (ID: {{ inverter.id }})
</template>
<openwb-base-alert
:subtype="
statusLevel[
$store.state.mqtt[
'openWB/pv/' + inverter.id + '/get/fault_state'
]
]
"
>
<font-awesome-icon
v-if="
$store.state.mqtt[
'openWB/pv/' + inverter.id + '/get/fault_state'
] == 1
"
fixed-width
:icon="['fas', 'exclamation-triangle']"
/>
<font-awesome-icon
v-else-if="
$store.state.mqtt[
'openWB/pv/' + inverter.id + '/get/fault_state'
] == 2
"
fixed-width
:icon="['fas', 'times-circle']"
/>
<font-awesome-icon
v-else
fixed-width
:icon="['fas', 'check-circle']"
/>
Modulmeldung:<br />
{{
$store.state.mqtt["openWB/pv/" + inverter.id + "/get/fault_str"]
}}
</openwb-base-alert>
<openwb-base-text-input
title="Zählerstand"
readonly
class="text-right text-monospace"
step="0.001"
unit="kWh"
:model-value="
formatNumberTopic(
'openWB/pv/' + inverter.id + '/get/exported',
3,
3,
0.001,
)
"
/>
<openwb-base-text-input
title="Leistung"
readonly
class="text-right text-monospace"
step="0.001"
unit="kW"
:model-value="
formatNumberTopic(
'openWB/pv/' + inverter.id + '/get/power',
3,
3,
0.001,
)
"
/>
<openwb-base-heading>Erträge</openwb-base-heading>
<openwb-base-text-input
title="Heute"
readonly
class="text-right text-monospace"
step="0.001"
unit="kWh"
:model-value="
formatNumberTopic('openWB/pv/' + inverter.id + '/get/daily_exported', 3, 3, 0.001)
"
/>
<openwb-base-text-input
title="Dieser Monat"
readonly
class="text-right text-monospace"
step="0.001"
unit="kWh"
:model-value="
formatNumberTopic('openWB/pv/' + inverter.id + '/get/monthly_exported', 3, 3, 0.001)
"
/>
<openwb-base-text-input
title="Dieses Jahr"
readonly
class="text-right text-monospace"
step="0.001"
unit="kWh"
:model-value="
formatNumberTopic('openWB/pv/' + inverter.id + '/get/yearly_exported', 3, 3, 0.001)
"
/>
</openwb-base-card>
</template>
<script>
import ComponentState from "../mixins/ComponentState.vue";
import { library } from "@fortawesome/fontawesome-svg-core";
import {
faCheckCircle as fasCheckCircle,
faExclamationTriangle as fasExclamationTriangle,
faTimesCircle as fasTimesCircle,
faSolarPanel as fasSolarPanel,
} from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
library.add(
fasCheckCircle,
fasExclamationTriangle,
fasTimesCircle,
fasSolarPanel,
);
export default {
name: "InverterCard",
mixins: [ComponentState],
components: {
FontAwesomeIcon,
},
props: {
inverter: Object,
},
data() {
return {
statusLevel: ["success", "warning", "danger"],
};
},
};
</script>