Easee: improve logging

This commit is contained in:
andig 2021-10-13 18:16:02 +02:00
parent e61aabf40f
commit 3d1953d9b8
7 changed files with 391 additions and 19 deletions

View file

@ -31,6 +31,7 @@ clean:
install:
go install github.com/golang/mock/mockgen
go install github.com/alvaroloes/enumer
install-ui:
npm ci

View file

@ -174,23 +174,21 @@ func (c *Easee) observe(typ string, i json.RawMessage) {
return
}
var floatValue float64
var boolValue bool
var intValue int
var value interface{}
switch res.DataType {
case easee.Boolean:
boolValue = res.Value == "1"
value = res.Value == "1"
case easee.Double:
floatValue, err = strconv.ParseFloat(res.Value, 64)
value, err = strconv.ParseFloat(res.Value, 64)
if err != nil {
c.log.ERROR.Printf("float conversion: %s", res.Value)
c.log.ERROR.Println(err)
return
}
case easee.Integer:
intValue, err = strconv.Atoi(res.Value)
value, err = strconv.Atoi(res.Value)
if err != nil {
c.log.ERROR.Printf("int conversion: %s", res.Value)
c.log.ERROR.Println(err)
return
}
}
@ -200,19 +198,19 @@ func (c *Easee) observe(typ string, i json.RawMessage) {
switch res.ID {
case easee.IS_ENABLED:
c.chargerEnabled = boolValue
c.chargerEnabled = value.(bool)
case easee.TOTAL_POWER:
c.currentPower = 1e3 * floatValue
c.currentPower = 1e3 * value.(float64)
case easee.SESSION_ENERGY:
c.sessionEnergy = floatValue
c.sessionEnergy = value.(float64)
case easee.IN_CURRENT_T3:
c.currentL1 = floatValue
c.currentL1 = value.(float64)
case easee.IN_CURRENT_T4:
c.currentL2 = floatValue
c.currentL2 = value.(float64)
case easee.IN_CURRENT_T5:
c.currentL3 = floatValue
c.currentL3 = value.(float64)
case easee.CHARGER_OP_MODE:
switch intValue {
switch value.(int) {
case easee.ModeDisconnected:
c.chargeStatus = api.StatusA
case easee.ModeAwaitingStart, easee.ModeCompleted, easee.ModeReadyToCharge:
@ -223,12 +221,12 @@ func (c *Easee) observe(typ string, i json.RawMessage) {
c.chargeStatus = api.StatusF
default:
c.chargeStatus = api.StatusNone
c.log.ERROR.Printf("unknown opmode: %d", intValue)
c.log.ERROR.Printf("unknown opmode: %d", value.(int))
}
c.enabledStatus = intValue == easee.ModeCharging || intValue == easee.ModeReadyToCharge
c.enabledStatus = value.(int) == easee.ModeCharging || value.(int) == easee.ModeReadyToCharge
}
c.log.TRACE.Printf("%s: %+v", typ, res)
c.log.TRACE.Printf("%s %s: %s %.4v", typ, res.Mid, res.ID, value)
c.updated = time.Now()
}

View file

@ -0,0 +1,367 @@
// Code generated by "enumer -type ObservationID"; DO NOT EDIT.
//
package easee
import (
"fmt"
)
const _ObservationIDName = "SELF_TEST_RESULTSELF_TEST_DETAILSWIFI_EVENTCHARGER_OFFLINE_REASONEASEE_LINK_COMMAND_RESPONSEEASEE_LINK_DATA_RECEIVEDLOCAL_PRE_AUTHORIZE_ENABLEDLOCAL_AUTHORIZE_OFFLINE_ENABLEDALLOW_OFFLINE_TX_FOR_UNKNOWN_IDERRATIC_EVMAX_TOGGLESBACKPLATE_TYPESITE_STRUCTUREDETECTED_POWER_GRID_TYPECIRCUIT_MAX_CURRENT_P1CIRCUIT_MAX_CURRENT_P2CIRCUIT_MAX_CURRENT_P3LOCATIONSITE_IDSTRINGSITE_IDNUMERICLOCK_CABLE_PERMANENTLYIS_ENABLEDCIRCUIT_SEQUENCE_NUMBERSINGLE_PHASE_NUMBERENABLE3_PHASES_DEPRECATEDWI_FI_SSIDENABLE_IDLE_CURRENTPHASE_MODEFORCED_THREE_PHASE_ON_ITWITH_GND_FAULTLED_STRIP_BRIGHTNESSLOCAL_AUTHORIZATION_REQUIREDAUTHORIZATION_REQUIREDREMOTE_START_REQUIREDSMART_BUTTON_ENABLEDOFFLINE_CHARGING_MODELEDMODEMAX_CHARGER_CURRENTDYNAMIC_CHARGER_CURRENTMAX_CURRENT_OFFLINE_FALLBACK_P1MAX_CURRENT_OFFLINE_FALLBACK_P2MAX_CURRENT_OFFLINE_FALLBACK_P3LISTEN_TO_CONTROL_PULSECONTROL_PULSE_RTTCHARGING_SCHEDULEPAIRED_EQUALIZERWI_FI_APENABLEDPAIRED_USER_IDTOKENCIRCUIT_TOTAL_ALLOCATED_PHASE_CONDUCTOR_CURRENT_L1CIRCUIT_TOTAL_ALLOCATED_PHASE_CONDUCTOR_CURRENT_L2CIRCUIT_TOTAL_ALLOCATED_PHASE_CONDUCTOR_CURRENT_L3CIRCUIT_TOTAL_PHASE_CONDUCTOR_CURRENT_L1CIRCUIT_TOTAL_PHASE_CONDUCTOR_CURRENT_L2CIRCUIT_TOTAL_PHASE_CONDUCTOR_CURRENT_L3NUMBER_OF_CARS_CONNECTEDNUMBER_OF_CARS_CHARGINGNUMBER_OF_CARS_IN_QUEUENUMBER_OF_CARS_FULLY_CHARGEDSOFTWARE_RELEASEICCIDMODEM_FW_IDOTAERROR_CODEMOBILE_NETWORK_OPERATORREBOOT_REASONPOWER_PCBVERSIONCOM_PCBVERSIONREASON_FOR_NO_CURRENTLOAD_BALANCING_NUMBER_OF_CONNECTED_CHARGERSUDPNUM_OF_CONNECTED_NODESLOCAL_CONNECTIONPILOT_MODECAR_CONNECTED_DEPRECATEDSMART_CHARGINGCABLE_LOCKEDCABLE_RATINGPILOT_HIGHPILOT_LOWBACK_PLATE_IDUSER_IDTOKEN_REVERSEDCHARGER_OP_MODEOUTPUT_PHASEDYNAMIC_CIRCUIT_CURRENT_P1DYNAMIC_CIRCUIT_CURRENT_P2DYNAMIC_CIRCUIT_CURRENT_P3OUTPUT_CURRENTDERATED_CURRENTDERATING_ACTIVEDEBUG_STRINGERROR_STRINGERROR_CODETOTAL_POWERSESSION_ENERGYENERGY_PER_HOURLEGACY_EV_STATUSLIFETIME_ENERGYLIFETIME_RELAY_SWITCHESLIFETIME_HOURSDYNAMIC_CURRENT_OFFLINE_FALLBACK_DEPRICATEDUSER_IDTOKENCHARGING_SESSIONCELL_RSSICELL_RATWI_FI_RSSICELL_ADDRESSWI_FI_ADDRESSWI_FI_TYPELOCAL_RSSIMASTER_BACK_PLATE_IDLOCAL_TX_POWERLOCAL_STATEFOUND_WI_FICHARGER_RATCELLULAR_INTERFACE_ERROR_COUNTCELLULAR_INTERFACE_RESET_COUNTWIFI_INTERFACE_ERROR_COUNTWIFI_INTERFACE_RESET_COUNTLOCAL_NODE_TYPELOCAL_RADIO_CHANNELLOCAL_SHORT_ADDRESSLOCAL_PARENT_ADDR_OR_NUM_OF_NODESTEMP_MAXTEMP_AMBIENT_POWER_BOARDTEMP_INPUT_T2TEMP_INPUT_T3TEMP_INPUT_T4TEMP_INPUT_T5TEMP_OUTPUT_NTEMP_OUTPUT_L1TEMP_OUTPUT_L2TEMP_OUTPUT_L3TEMP_AMBIENTLIGHT_AMBIENTINT_REL_HUMIDITYBACK_PLATE_LOCKEDCURRENT_MOTORBACK_PLATE_HALL_SENSORIN_CURRENT_T2IN_CURRENT_T3IN_CURRENT_T4IN_CURRENT_T5IN_VOLT_T1_T2IN_VOLT_T1_T3IN_VOLT_T1_T4IN_VOLT_T1_T5IN_VOLT_T2_T3IN_VOLT_T2_T4IN_VOLT_T2_T5IN_VOLT_T3_T4IN_VOLT_T3_T5IN_VOLT_T4_T5OUT_VOLT_PIN1_2OUT_VOLT_PIN1_3OUT_VOLT_PIN1_4OUT_VOLT_PIN1_5VOLT_LEVEL33VOLT_LEVEL5VOLT_LEVEL12LTE_RSRPLTE_SINRLTE_RSRQEQ_AVAILABLE_CURRENT_P1EQ_AVAILABLE_CURRENT_P2EQ_AVAILABLE_CURRENT_P3"
var _ObservationIDMap = map[ObservationID]string{
1: _ObservationIDName[0:16],
2: _ObservationIDName[16:33],
10: _ObservationIDName[33:43],
11: _ObservationIDName[43:65],
13: _ObservationIDName[65:92],
14: _ObservationIDName[92:116],
15: _ObservationIDName[116:143],
16: _ObservationIDName[143:174],
17: _ObservationIDName[174:205],
18: _ObservationIDName[205:226],
19: _ObservationIDName[226:240],
20: _ObservationIDName[240:254],
21: _ObservationIDName[254:278],
22: _ObservationIDName[278:300],
23: _ObservationIDName[300:322],
24: _ObservationIDName[322:344],
25: _ObservationIDName[344:352],
26: _ObservationIDName[352:365],
27: _ObservationIDName[365:379],
30: _ObservationIDName[379:401],
31: _ObservationIDName[401:411],
33: _ObservationIDName[411:434],
34: _ObservationIDName[434:453],
35: _ObservationIDName[453:478],
36: _ObservationIDName[478:488],
37: _ObservationIDName[488:507],
38: _ObservationIDName[507:517],
39: _ObservationIDName[517:555],
40: _ObservationIDName[555:575],
41: _ObservationIDName[575:603],
42: _ObservationIDName[603:625],
43: _ObservationIDName[625:646],
44: _ObservationIDName[646:666],
45: _ObservationIDName[666:687],
46: _ObservationIDName[687:694],
47: _ObservationIDName[694:713],
48: _ObservationIDName[713:736],
50: _ObservationIDName[736:767],
51: _ObservationIDName[767:798],
52: _ObservationIDName[798:829],
56: _ObservationIDName[829:852],
57: _ObservationIDName[852:869],
62: _ObservationIDName[869:886],
65: _ObservationIDName[886:902],
68: _ObservationIDName[902:917],
69: _ObservationIDName[917:936],
70: _ObservationIDName[936:986],
71: _ObservationIDName[986:1036],
72: _ObservationIDName[1036:1086],
73: _ObservationIDName[1086:1126],
74: _ObservationIDName[1126:1166],
75: _ObservationIDName[1166:1206],
76: _ObservationIDName[1206:1230],
77: _ObservationIDName[1230:1253],
78: _ObservationIDName[1253:1276],
79: _ObservationIDName[1276:1304],
80: _ObservationIDName[1304:1320],
81: _ObservationIDName[1320:1325],
82: _ObservationIDName[1325:1336],
83: _ObservationIDName[1336:1349],
84: _ObservationIDName[1349:1372],
89: _ObservationIDName[1372:1385],
90: _ObservationIDName[1385:1401],
91: _ObservationIDName[1401:1415],
96: _ObservationIDName[1415:1436],
97: _ObservationIDName[1436:1479],
98: _ObservationIDName[1479:1504],
99: _ObservationIDName[1504:1520],
100: _ObservationIDName[1520:1530],
101: _ObservationIDName[1530:1554],
102: _ObservationIDName[1554:1568],
103: _ObservationIDName[1568:1580],
104: _ObservationIDName[1580:1592],
105: _ObservationIDName[1592:1602],
106: _ObservationIDName[1602:1611],
107: _ObservationIDName[1611:1624],
108: _ObservationIDName[1624:1645],
109: _ObservationIDName[1645:1660],
110: _ObservationIDName[1660:1672],
111: _ObservationIDName[1672:1698],
112: _ObservationIDName[1698:1724],
113: _ObservationIDName[1724:1750],
114: _ObservationIDName[1750:1764],
115: _ObservationIDName[1764:1779],
116: _ObservationIDName[1779:1794],
117: _ObservationIDName[1794:1806],
118: _ObservationIDName[1806:1818],
119: _ObservationIDName[1818:1828],
120: _ObservationIDName[1828:1839],
121: _ObservationIDName[1839:1853],
122: _ObservationIDName[1853:1868],
123: _ObservationIDName[1868:1884],
124: _ObservationIDName[1884:1899],
125: _ObservationIDName[1899:1922],
126: _ObservationIDName[1922:1936],
127: _ObservationIDName[1936:1979],
128: _ObservationIDName[1979:1991],
129: _ObservationIDName[1991:2007],
130: _ObservationIDName[2007:2016],
131: _ObservationIDName[2016:2024],
132: _ObservationIDName[2024:2034],
133: _ObservationIDName[2034:2046],
134: _ObservationIDName[2046:2059],
135: _ObservationIDName[2059:2069],
136: _ObservationIDName[2069:2079],
137: _ObservationIDName[2079:2099],
138: _ObservationIDName[2099:2113],
139: _ObservationIDName[2113:2124],
140: _ObservationIDName[2124:2135],
141: _ObservationIDName[2135:2146],
142: _ObservationIDName[2146:2176],
143: _ObservationIDName[2176:2206],
144: _ObservationIDName[2206:2232],
145: _ObservationIDName[2232:2258],
146: _ObservationIDName[2258:2273],
147: _ObservationIDName[2273:2292],
148: _ObservationIDName[2292:2311],
149: _ObservationIDName[2311:2344],
150: _ObservationIDName[2344:2352],
151: _ObservationIDName[2352:2376],
152: _ObservationIDName[2376:2389],
153: _ObservationIDName[2389:2402],
154: _ObservationIDName[2402:2415],
155: _ObservationIDName[2415:2428],
160: _ObservationIDName[2428:2441],
161: _ObservationIDName[2441:2455],
162: _ObservationIDName[2455:2469],
163: _ObservationIDName[2469:2483],
170: _ObservationIDName[2483:2495],
171: _ObservationIDName[2495:2508],
172: _ObservationIDName[2508:2524],
173: _ObservationIDName[2524:2541],
174: _ObservationIDName[2541:2554],
175: _ObservationIDName[2554:2576],
182: _ObservationIDName[2576:2589],
183: _ObservationIDName[2589:2602],
184: _ObservationIDName[2602:2615],
185: _ObservationIDName[2615:2628],
190: _ObservationIDName[2628:2641],
191: _ObservationIDName[2641:2654],
192: _ObservationIDName[2654:2667],
193: _ObservationIDName[2667:2680],
194: _ObservationIDName[2680:2693],
195: _ObservationIDName[2693:2706],
196: _ObservationIDName[2706:2719],
197: _ObservationIDName[2719:2732],
198: _ObservationIDName[2732:2745],
199: _ObservationIDName[2745:2758],
202: _ObservationIDName[2758:2773],
203: _ObservationIDName[2773:2788],
204: _ObservationIDName[2788:2803],
205: _ObservationIDName[2803:2818],
210: _ObservationIDName[2818:2830],
211: _ObservationIDName[2830:2841],
212: _ObservationIDName[2841:2853],
220: _ObservationIDName[2853:2861],
221: _ObservationIDName[2861:2869],
222: _ObservationIDName[2869:2877],
230: _ObservationIDName[2877:2900],
231: _ObservationIDName[2900:2923],
232: _ObservationIDName[2923:2946],
}
func (i ObservationID) String() string {
if str, ok := _ObservationIDMap[i]; ok {
return str
}
return fmt.Sprintf("ObservationID(%d)", i)
}
var _ObservationIDValues = []ObservationID{1, 2, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 56, 57, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 89, 90, 91, 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, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 160, 161, 162, 163, 170, 171, 172, 173, 174, 175, 182, 183, 184, 185, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 202, 203, 204, 205, 210, 211, 212, 220, 221, 222, 230, 231, 232}
var _ObservationIDNameToValueMap = map[string]ObservationID{
_ObservationIDName[0:16]: 1,
_ObservationIDName[16:33]: 2,
_ObservationIDName[33:43]: 10,
_ObservationIDName[43:65]: 11,
_ObservationIDName[65:92]: 13,
_ObservationIDName[92:116]: 14,
_ObservationIDName[116:143]: 15,
_ObservationIDName[143:174]: 16,
_ObservationIDName[174:205]: 17,
_ObservationIDName[205:226]: 18,
_ObservationIDName[226:240]: 19,
_ObservationIDName[240:254]: 20,
_ObservationIDName[254:278]: 21,
_ObservationIDName[278:300]: 22,
_ObservationIDName[300:322]: 23,
_ObservationIDName[322:344]: 24,
_ObservationIDName[344:352]: 25,
_ObservationIDName[352:365]: 26,
_ObservationIDName[365:379]: 27,
_ObservationIDName[379:401]: 30,
_ObservationIDName[401:411]: 31,
_ObservationIDName[411:434]: 33,
_ObservationIDName[434:453]: 34,
_ObservationIDName[453:478]: 35,
_ObservationIDName[478:488]: 36,
_ObservationIDName[488:507]: 37,
_ObservationIDName[507:517]: 38,
_ObservationIDName[517:555]: 39,
_ObservationIDName[555:575]: 40,
_ObservationIDName[575:603]: 41,
_ObservationIDName[603:625]: 42,
_ObservationIDName[625:646]: 43,
_ObservationIDName[646:666]: 44,
_ObservationIDName[666:687]: 45,
_ObservationIDName[687:694]: 46,
_ObservationIDName[694:713]: 47,
_ObservationIDName[713:736]: 48,
_ObservationIDName[736:767]: 50,
_ObservationIDName[767:798]: 51,
_ObservationIDName[798:829]: 52,
_ObservationIDName[829:852]: 56,
_ObservationIDName[852:869]: 57,
_ObservationIDName[869:886]: 62,
_ObservationIDName[886:902]: 65,
_ObservationIDName[902:917]: 68,
_ObservationIDName[917:936]: 69,
_ObservationIDName[936:986]: 70,
_ObservationIDName[986:1036]: 71,
_ObservationIDName[1036:1086]: 72,
_ObservationIDName[1086:1126]: 73,
_ObservationIDName[1126:1166]: 74,
_ObservationIDName[1166:1206]: 75,
_ObservationIDName[1206:1230]: 76,
_ObservationIDName[1230:1253]: 77,
_ObservationIDName[1253:1276]: 78,
_ObservationIDName[1276:1304]: 79,
_ObservationIDName[1304:1320]: 80,
_ObservationIDName[1320:1325]: 81,
_ObservationIDName[1325:1336]: 82,
_ObservationIDName[1336:1349]: 83,
_ObservationIDName[1349:1372]: 84,
_ObservationIDName[1372:1385]: 89,
_ObservationIDName[1385:1401]: 90,
_ObservationIDName[1401:1415]: 91,
_ObservationIDName[1415:1436]: 96,
_ObservationIDName[1436:1479]: 97,
_ObservationIDName[1479:1504]: 98,
_ObservationIDName[1504:1520]: 99,
_ObservationIDName[1520:1530]: 100,
_ObservationIDName[1530:1554]: 101,
_ObservationIDName[1554:1568]: 102,
_ObservationIDName[1568:1580]: 103,
_ObservationIDName[1580:1592]: 104,
_ObservationIDName[1592:1602]: 105,
_ObservationIDName[1602:1611]: 106,
_ObservationIDName[1611:1624]: 107,
_ObservationIDName[1624:1645]: 108,
_ObservationIDName[1645:1660]: 109,
_ObservationIDName[1660:1672]: 110,
_ObservationIDName[1672:1698]: 111,
_ObservationIDName[1698:1724]: 112,
_ObservationIDName[1724:1750]: 113,
_ObservationIDName[1750:1764]: 114,
_ObservationIDName[1764:1779]: 115,
_ObservationIDName[1779:1794]: 116,
_ObservationIDName[1794:1806]: 117,
_ObservationIDName[1806:1818]: 118,
_ObservationIDName[1818:1828]: 119,
_ObservationIDName[1828:1839]: 120,
_ObservationIDName[1839:1853]: 121,
_ObservationIDName[1853:1868]: 122,
_ObservationIDName[1868:1884]: 123,
_ObservationIDName[1884:1899]: 124,
_ObservationIDName[1899:1922]: 125,
_ObservationIDName[1922:1936]: 126,
_ObservationIDName[1936:1979]: 127,
_ObservationIDName[1979:1991]: 128,
_ObservationIDName[1991:2007]: 129,
_ObservationIDName[2007:2016]: 130,
_ObservationIDName[2016:2024]: 131,
_ObservationIDName[2024:2034]: 132,
_ObservationIDName[2034:2046]: 133,
_ObservationIDName[2046:2059]: 134,
_ObservationIDName[2059:2069]: 135,
_ObservationIDName[2069:2079]: 136,
_ObservationIDName[2079:2099]: 137,
_ObservationIDName[2099:2113]: 138,
_ObservationIDName[2113:2124]: 139,
_ObservationIDName[2124:2135]: 140,
_ObservationIDName[2135:2146]: 141,
_ObservationIDName[2146:2176]: 142,
_ObservationIDName[2176:2206]: 143,
_ObservationIDName[2206:2232]: 144,
_ObservationIDName[2232:2258]: 145,
_ObservationIDName[2258:2273]: 146,
_ObservationIDName[2273:2292]: 147,
_ObservationIDName[2292:2311]: 148,
_ObservationIDName[2311:2344]: 149,
_ObservationIDName[2344:2352]: 150,
_ObservationIDName[2352:2376]: 151,
_ObservationIDName[2376:2389]: 152,
_ObservationIDName[2389:2402]: 153,
_ObservationIDName[2402:2415]: 154,
_ObservationIDName[2415:2428]: 155,
_ObservationIDName[2428:2441]: 160,
_ObservationIDName[2441:2455]: 161,
_ObservationIDName[2455:2469]: 162,
_ObservationIDName[2469:2483]: 163,
_ObservationIDName[2483:2495]: 170,
_ObservationIDName[2495:2508]: 171,
_ObservationIDName[2508:2524]: 172,
_ObservationIDName[2524:2541]: 173,
_ObservationIDName[2541:2554]: 174,
_ObservationIDName[2554:2576]: 175,
_ObservationIDName[2576:2589]: 182,
_ObservationIDName[2589:2602]: 183,
_ObservationIDName[2602:2615]: 184,
_ObservationIDName[2615:2628]: 185,
_ObservationIDName[2628:2641]: 190,
_ObservationIDName[2641:2654]: 191,
_ObservationIDName[2654:2667]: 192,
_ObservationIDName[2667:2680]: 193,
_ObservationIDName[2680:2693]: 194,
_ObservationIDName[2693:2706]: 195,
_ObservationIDName[2706:2719]: 196,
_ObservationIDName[2719:2732]: 197,
_ObservationIDName[2732:2745]: 198,
_ObservationIDName[2745:2758]: 199,
_ObservationIDName[2758:2773]: 202,
_ObservationIDName[2773:2788]: 203,
_ObservationIDName[2788:2803]: 204,
_ObservationIDName[2803:2818]: 205,
_ObservationIDName[2818:2830]: 210,
_ObservationIDName[2830:2841]: 211,
_ObservationIDName[2841:2853]: 212,
_ObservationIDName[2853:2861]: 220,
_ObservationIDName[2861:2869]: 221,
_ObservationIDName[2869:2877]: 222,
_ObservationIDName[2877:2900]: 230,
_ObservationIDName[2900:2923]: 231,
_ObservationIDName[2923:2946]: 232,
}
// ObservationIDString retrieves an enum value from the enum constants string name.
// Throws an error if the param is not part of the enum.
func ObservationIDString(s string) (ObservationID, error) {
if val, ok := _ObservationIDNameToValueMap[s]; ok {
return val, nil
}
return 0, fmt.Errorf("%s does not belong to ObservationID values", s)
}
// ObservationIDValues returns all values of the enum
func ObservationIDValues() []ObservationID {
return _ObservationIDValues
}
// IsAObservationID returns "true" if the value is listed in the enum definition. "false" otherwise
func (i ObservationID) IsAObservationID() bool {
_, ok := _ObservationIDMap[i]
return ok
}

View file

@ -24,9 +24,10 @@ const (
Statistics // 7
)
// https://www.notion.so/Charger-template-c6a20ff7cfea41e2b5f80b00afb34af5
type ObservationID int
// https://www.notion.so/Charger-template-c6a20ff7cfea41e2b5f80b00afb34af5
//go:generate enumer -type ObservationID
const (
SELF_TEST_RESULT ObservationID = 1 // PASSED or error codes [String]
SELF_TEST_DETAILS ObservationID = 2 // JSON with details from self-test [String]

1
go.mod
View file

@ -5,6 +5,7 @@ go 1.16
require (
github.com/Masterminds/sprig/v3 v3.2.2
github.com/PuerkitoBio/goquery v1.7.1
github.com/alvaroloes/enumer v1.1.2
github.com/asaskevich/EventBus v0.0.0-20200907212545-49d423059eef
github.com/avast/retry-go/v3 v3.1.1
github.com/aws/aws-sdk-go v1.40.7

2
go.sum
View file

@ -56,6 +56,7 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
github.com/alvaroloes/enumer v1.1.2 h1:5khqHB33TZy1GWCO/lZwcroBFh7u+0j40T83VUbfAMY=
github.com/alvaroloes/enumer v1.1.2/go.mod h1:FxrjvuXoDAx9isTJrv4c+T410zFi0DtXIT0m65DJ+Wo=
github.com/andig/gosunspec v0.0.0-20210511114617-aa30cf9b7a3f h1:X0eQydQuoC/R1ALXgDs9v+1UKWlgGbuMg+h8flc2BJk=
github.com/andig/gosunspec v0.0.0-20210511114617-aa30cf9b7a3f/go.mod h1:YkshK8WMzYn1iXAZzHUO75gIqhMSan2ctgBVtBkRIyA=
@ -530,6 +531,7 @@ github.com/onsi/gomega v1.11.0/go.mod h1:azGKhqFUon9Vuj0YmTfLSmx0FUwqXYSTl5re8lQ
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pascaldekloe/name v0.0.0-20180628100202-0fd16699aae1/go.mod h1:eD5JxqMiuNYyFNmyY9rkJ/slN8y59oEu4Ei7F8OoKWQ=
github.com/pascaldekloe/name v1.0.0/go.mod h1:Z//MfYJnH4jVpQ9wkclwu2I2MkHmXTlT9wR5UZScttM=
github.com/pascaldekloe/name v1.0.1 h1:9lnXOHeqeHHnWLbKfH6X98+4+ETVqFqxN09UXSjcMb0=
github.com/pascaldekloe/name v1.0.1/go.mod h1:Z//MfYJnH4jVpQ9wkclwu2I2MkHmXTlT9wR5UZScttM=
github.com/paypal/gatt v0.0.0-20151011220935-4ae819d591cf/go.mod h1:+AwQL2mK3Pd3S+TUwg0tYQjid0q1txyNUJuuSmz8Kdk=
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=

View file

@ -1,7 +1,9 @@
//go:build tools
// +build tools
package main
import (
_ "github.com/alvaroloes/enumer"
_ "github.com/golang/mock/mockgen"
)