Skip to content

Commit 0659b91

Browse files
committed
all try--catch
1 parent 881fe5d commit 0659b91

10 files changed

Lines changed: 199 additions & 147 deletions

ENPHASE1.plugin.txt

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
///////// <version>1.0.0</version>
1+
///////// <version>1.0.1</version>
22
///////// ENPHASE1 /////////////
33
///////// Plugin to extract Enphase Solar data for Toon ///////////////
44
///////// By Oepi-Loepi ///////////////
@@ -10,13 +10,19 @@
1010
http.onreadystatechange = function() {
1111
if (http.readyState == XMLHttpRequest.DONE) {
1212
if (http.status === 200 || http.status === 300 || http.status === 302) {
13-
var JsonString = http.responseText
14-
var JsonObject= JSON.parse(JsonString)
15-
var today2
16-
currentPower = parseInt(JsonObject.wattsNow)
17-
today2=parseInt(JsonObject.wattHoursToday)
18-
totalValue= parseInt(JsonObject.wattHoursLifetime)
19-
parseReturnData(currentPower,totalValue,today2,0,0,0,0,http.status,"succes")
13+
try {
14+
var JsonString = http.responseText
15+
var JsonObject= JSON.parse(JsonString)
16+
var today2
17+
currentPower = parseInt(JsonObject.wattsNow)
18+
today2=parseInt(JsonObject.wattHoursToday)
19+
totalValue= parseInt(JsonObject.wattHoursLifetime)
20+
parseReturnData(currentPower,totalValue,today2,0,0,0,0,http.status,"succes")
21+
}
22+
catch (e){
23+
currentPower = 0
24+
parseReturnData(0,totalValue,todayValue,0,0,0,0, http.status,"error")
25+
}
2026
} else {
2127
if (debugOutput) console.log("*********SolarPanel error: " + http.status)
2228
parseReturnData(0,totalValue,0,0,0,0,0, http.status,"error")

FRONIUS1.plugin.txt

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
///////// <version>1.0.4</version>
1+
///////// <version>1.0.6</version>
22
///////// FRONIUS1 /////////////
33
///////// Plugin to extract Fronius Solar data for Toon ///////////////
44
///////// By Oepi-Loepi ///////////////
@@ -11,27 +11,32 @@
1111
if (http.readyState == XMLHttpRequest.DONE) {
1212
if (http.status === 200 || http.status === 300 || http.status === 302) {
1313
var JsonString = http.responseText
14-
var JsonObject= JSON.parse(JsonString)
15-
var froniusCode = parseInt(JsonObject.Head.Status.Code)
16-
var today2
17-
if (froniusCode == 0) { //All Ok
18-
var froniusStatus = parseInt(JsonObject.Body.Data.DeviceStatus.StatusCode)
19-
if (froniusStatus == 7) {
20-
currentPower = parseInt(JsonObject.Body.Data.PAC.Value)
14+
try {
15+
var JsonObject= JSON.parse(JsonString)
16+
var froniusCode = parseInt(JsonObject.Head.Status.Code)
17+
var today2
18+
if (froniusCode == 0) { //All Ok
19+
var froniusStatus = parseInt(JsonObject.Body.Data.DeviceStatus.StatusCode)
20+
if (froniusStatus == 7) {
21+
currentPower = parseInt(JsonObject.Body.Data.PAC.Value)
22+
}
23+
else{
24+
currentPower = 0
25+
}
26+
totalValue = parseInt(JsonObject.Body.Data.TOTAL_ENERGY.Value)
27+
today2 = parseInt(JsonObject.Body.Data.DAY_ENERGY.Value)
28+
parseReturnData(currentPower,totalValue,today2,0,0,0,0,http.status,"succes")
2129
}
22-
else{
23-
currentPower = 0
24-
}
25-
totalValue = Math.floor(JsonObject.Body.Data.TOTAL_ENERGY.Value)
26-
today2 = Math.floor(JsonObject.Body.Data.DAY_ENERGY.Value)
27-
parseReturnData(currentPower,totalValue,today2,0,0,0,0,http.status,"succes")
30+
}
31+
catch (e){
32+
currentPower = 0
33+
parseReturnData(0,totalValue,todayValue,0,0,0,0, http.status,"error")
2834
}
2935
} else {
30-
if (debugOutput) console.log("*********SolarPanel error: " + http.status)
3136
parseReturnData(0,totalValue,todayValue,0,0,0,0, http.status,"error")
3237
}
3338
}
3439
}
3540
http.send();
3641
}
37-
42+

GOODWE1.plugin.txt

Lines changed: 37 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
///////// <version>1.0.2</version>
1+
///////// <version>1.0.3</version>
22
///////// GOODWE1 /////////////
33
///////// Plugin to extract Goodwe Solar data for Toon ///////////////
44
///////// By Oepi-Loepi ///////////////
@@ -19,15 +19,20 @@
1919
http.onreadystatechange = function() { // Call a function when the state changes.
2020
if (http.readyState === 4) {
2121
if (http.status === 200) {
22-
if (debugOutput) console.log("*********SolarPanel http.responseText : " + http.responseText)
23-
var JsonString = http.responseText
24-
var JsonObject= JSON.parse(JsonString)
25-
var uid = JsonObject.data.uid
26-
var token = JsonObject.data.token
27-
var timestamp = JsonObject.data.timestamp
28-
if (debugOutput) console.log("*********SolarPanel uid : " + uid)
29-
if (debugOutput) console.log("*********SolarPanel token : " + token)
30-
getStep2(uid,token, timestamp)
22+
try {
23+
var JsonString = http.responseText
24+
var JsonObject= JSON.parse(JsonString)
25+
var uid = JsonObject.data.uid
26+
var token = JsonObject.data.token
27+
var timestamp = JsonObject.data.timestamp
28+
if (debugOutput) console.log("*********SolarPanel uid : " + uid)
29+
if (debugOutput) console.log("*********SolarPanel token : " + token)
30+
getStep2(uid,token, timestamp)
31+
}
32+
catch (e){
33+
currentPower = 0
34+
parseReturnData(0,totalValue,todayValue,0,0,0,0, http.status,"error")
35+
}
3136
} else {
3237
if (debugOutput) console.log("*********SolarPanel error: " + http.status)
3338
parseReturnData(0,totalValue,0,0,0,0,0, http.status,"error")
@@ -53,23 +58,28 @@
5358
http.onreadystatechange = function() { // Call a function when the state changes.
5459
if (http.readyState === 4) {
5560
if (http.status === 200) {
56-
if (debugOutput) console.log("*********SolarPanel http.responseText : " + http.responseText)
57-
var JsonString = http.responseText
58-
var JsonObject= JSON.parse(JsonString)
59-
var hasError = JsonObject.hasError
60-
var succes = JsonObject.msg
61-
var today2
62-
if (debugOutput) console.log ("*********SolarPanel JsonObject.hasError : " + JsonObject.hasError)
63-
if(!hasError){
64-
currentPower = parseInt(JsonObject.data[0].pac)
65-
today2 = Math.floor((JsonObject.data[0].eday)*1000)
66-
totalValue = Math.floor((JsonObject.data[0].etotal)*1000)
67-
if (debugOutput) console.log ("*********SolarPanel currentPower: " + currentPower)
68-
if (debugOutput) console.log ("*********SolarPanel totalValue: " + totalValue)
69-
parseReturnData(currentPower,totalValue,today2,0,0,0,0,http.status,"succes")
70-
} else {
71-
if (debugOutput) console.log("*********SolarPanel Plugin error")
72-
parseReturnData(0,totalValue,0,0,0,0,0, http.status,"error")
61+
try {
62+
var JsonString = http.responseText
63+
var JsonObject= JSON.parse(JsonString)
64+
var hasError = JsonObject.hasError
65+
var succes = JsonObject.msg
66+
var today2
67+
if (debugOutput) console.log ("*********SolarPanel JsonObject.hasError : " + JsonObject.hasError)
68+
if(!hasError){
69+
currentPower = parseInt(JsonObject.data[0].pac)
70+
today2 = Math.floor((JsonObject.data[0].eday)*1000)
71+
totalValue = Math.floor((JsonObject.data[0].etotal)*1000)
72+
if (debugOutput) console.log ("*********SolarPanel currentPower: " + currentPower)
73+
if (debugOutput) console.log ("*********SolarPanel totalValue: " + totalValue)
74+
parseReturnData(currentPower,totalValue,today2,0,0,0,0,http.status,"succes")
75+
} else {
76+
if (debugOutput) console.log("*********SolarPanel Plugin error")
77+
parseReturnData(0,totalValue,0,0,0,0,0, http.status,"error")
78+
}
79+
}
80+
catch (e){
81+
currentPower = 0
82+
parseReturnData(0,totalValue,todayValue,0,0,0,0, http.status,"error")
7383
}
7484
} else {
7585
if (debugOutput) console.log("*********SolarPanel error: " + http.status)

GROW1.plugin.txt

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
///////// <version>1.0.9</version>
1+
///////// <version>1.0.10</version>
22
///////// GROW1 /////////////
33
///////// Plugin to extract Growatt Solar data for Toon ///////////////
44
///////// By Oepi-Loepi ///////////////
@@ -32,8 +32,7 @@
3232
if (http.status === 200) {
3333
getGrowattStep2();
3434
} else {
35-
if (debugOutput) console.log("*********SolarPanel error: " + http.status)
36-
parseReturnData(0,totalValue,0,0,0,0,0, http.status,"error")
35+
parseReturnData(0,totalValue,0,0,0,0,0, http.status,"error")
3736
}
3837
}
3938
}
@@ -50,15 +49,19 @@
5049
http.onreadystatechange = function() { // Call a function when the state changes.
5150
if (http.readyState === 4) {
5251
if (http.status === 200) {
53-
if (debugOutput) console.log("*********SolarPanel Growatt: " + http.responseText)
54-
var JsonString = http.responseText
55-
var JsonObject= JSON.parse(JsonString)
56-
currentPower = parseInt(JsonObject.powerValue)
57-
var today2 = Math.floor((JsonObject.todayValue)*1000)
58-
totalValue= Math.floor((JsonObject.totalValue)*1000)
59-
parseReturnData(currentPower,totalValue,today2,0,0,0,0,http.status,"succes")
52+
try {
53+
var JsonString = http.responseText
54+
var JsonObject= JSON.parse(JsonString)
55+
currentPower = parseInt(JsonObject.powerValue)
56+
var today2 = Math.floor((JsonObject.todayValue)*1000)
57+
totalValue= Math.floor((JsonObject.totalValue)*1000)
58+
parseReturnData(currentPower,totalValue,today2,0,0,0,0,http.status,"succes")
59+
}
60+
catch (e){
61+
currentPower = 0
62+
parseReturnData(0,totalValue,todayValue,0,0,0,0, http.status,"error")
63+
}
6064
} else {
61-
if (debugOutput) console.log("*********SolarPanel error: " + http.status)
6265
parseReturnData(0,totalValue,0,0,0,0,0, http.status,"error")
6366
}
6467
}

KOSTAL1.plugin.txt

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
///////// <version>1.0.1</version>
1+
///////// <version>1.0.2</version>
22
///////// KOSTAL1 /////////////
33
///////// Plugin to extract Kostal Piko Solar data for Toon ///////////////
44
///////// By Oepi-Loepi ///////////////
@@ -9,18 +9,23 @@ function getSolarData(passWord,userName,apiKey,siteid,urlString,totalValue){
99
http.onreadystatechange = function() {
1010
if (http.readyState == XMLHttpRequest.DONE) {
1111
if (http.status === 200 || http.status === 300 || http.status === 302) {
12-
if (debugOutput) console.log("*********SolarPanel http.responseText: " +http.responseText)
13-
var responseText = http.responseText
14-
var today2
15-
var kostalarray = responseText.split('bgcolor="#FFFFFF">')
16-
for(var x in kostalarray){
17-
if (isNaN(parseFloat(kostalarray[x]))){kostalarray[x]=0}
18-
}
19-
currentPower = parseInt(parseFloat(kostalarray[1]))
20-
todayValue = Math.floor(parseFloat(kostalarray[3]) * 1000)
12+
try {
13+
var responseText = http.responseText
14+
var today2
15+
var kostalarray = responseText.split('bgcolor="#FFFFFF">')
16+
for(var x in kostalarray){
17+
if (isNaN(parseFloat(kostalarray[x]))){kostalarray[x]=0}
18+
}
19+
currentPower = parseInt(parseFloat(kostalarray[1]))
20+
todayValue = Math.floor(parseFloat(kostalarray[3]) * 1000)
2121

22-
totalValue= Math.floor(parseFloat(kostalarray[2]) * 1000)
23-
parseReturnData(currentPower,totalValue,today2,0,0,0,0,http.status,"succes")
22+
totalValue= Math.floor(parseFloat(kostalarray[2]) * 1000)
23+
parseReturnData(currentPower,totalValue,today2,0,0,0,0,http.status,"succes")
24+
}
25+
catch (e){
26+
currentPower = 0
27+
parseReturnData(0,totalValue,todayValue,0,0,0,0, http.status,"error")
28+
}
2429
} else {
2530
if (debugOutput) console.log("*********SolarPanel error: " + http.status)
2631
parseReturnData(0,totalValue,0,0,0,0,0, http.status,"error")

OMNIK1.plugin.txt

Lines changed: 31 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
///////// <version>1.0.1</version>
1+
///////// <version>1.0.2</version>
22
///////// OMNIK1 /////////////
33
///////// Plugin to extract Omnik Solar data for Toon ///////////////
44
///////// By Oepi-Loepi ///////////////
@@ -16,15 +16,20 @@
1616
http.onreadystatechange = function() { // Call a function when the state changes.
1717
if (http.readyState === 4) {
1818
if (http.status === 200) {
19-
if (debugOutput) console.log("*********SolarPanel http.responseText : " + http.responseText)
20-
var JsonString = http.responseText
21-
var JsonObject= JSON.parse(JsonString)
22-
var user_id = JsonObject.data.c_user_id
23-
if (debugOutput) console.log("*********SolarPanel uid : " + user_id)
24-
getStep2(user_id)
19+
try {
20+
var JsonString = http.responseText
21+
var JsonObject= JSON.parse(JsonString)
22+
var user_id = JsonObject.data.c_user_id
23+
if (debugOutput) console.log("*********SolarPanel uid : " + user_id)
24+
getStep2(user_id)
25+
}
26+
catch (e){
27+
currentPower = 0
28+
parseReturnData(0,totalValue,todayValue,0,0,0,0, http.status,"error")
29+
}
2530
}
2631
} else {
27-
if (debugOutput) console.log("*********SolarPanel error: " + http.status)
32+
2833
parseReturnData(0,totalValue,0,0,0,0,0, http.status,"error")
2934
}
3035
}
@@ -44,19 +49,24 @@
4449
http.onreadystatechange = function() { // Call a function when the state changes.
4550
if (http.readyState === 4) {
4651
if (http.status === 200) {
47-
console.log(http.responseText)
48-
var today2
49-
var JsonString = http.responseText
50-
var JsonObject= JSON.parse(JsonString)
51-
currentPower = parseInt(JsonObject.data.plants[0].current_power * 1000)
52-
today2 = parseInt(JsonObject.data.plants[0].today_energy * 1000)
53-
totalValue = parseInt(JsonObject.data.plants[0].total_energy * 1000)
54-
if (isNaN(currentPower))currentPower=0
55-
if (isNaN(today2))today2=0
56-
if (isNaN(totalValue))totalValue=0
57-
if (debugOutput) console.log ("*********SolarPanel currentPower: " + currentPower)
58-
if (debugOutput) console.log ("*********SolarPanel totalValue: " + totalValue)
59-
parseReturnData(currentPower,totalValue,today2,0,0,0,0,http.status,"succes")
52+
try {
53+
var today2
54+
var JsonString = http.responseText
55+
var JsonObject= JSON.parse(JsonString)
56+
currentPower = parseInt(JsonObject.data.plants[0].current_power * 1000)
57+
today2 = parseInt(JsonObject.data.plants[0].today_energy * 1000)
58+
totalValue = parseInt(JsonObject.data.plants[0].total_energy * 1000)
59+
if (isNaN(currentPower))currentPower=0
60+
if (isNaN(today2))today2=0
61+
if (isNaN(totalValue))totalValue=0
62+
if (debugOutput) console.log ("*********SolarPanel currentPower: " + currentPower)
63+
if (debugOutput) console.log ("*********SolarPanel totalValue: " + totalValue)
64+
parseReturnData(currentPower,totalValue,today2,0,0,0,0,http.status,"succes")
65+
}
66+
catch (e){
67+
currentPower = 0
68+
parseReturnData(0,totalValue,todayValue,0,0,0,0, http.status,"error")
69+
}
6070
} else {
6171
if (debugOutput) console.log("*********SolarPanel Plugin error")
6272
parseReturnData(0,totalValue,0,0,0,0,0, http.status,"error")

PVOUTPUT1.plugin.txt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
///////// <version>1.0.1</version>
1+
///////// <version>1.0.3</version>
22
///////// PVOUTPUT1 /////////////
33
///////// Plugin to extract PVoutput data for Toon ///////////////
44
///////// By Oepi-Loepi ///////////////
@@ -13,11 +13,10 @@ function getSolarData(passWord,userName,apiKey,siteid,urlString,totalValue){
1313
http.onreadystatechange = function() { // Call a function when the state changes.
1414
if (http.readyState === 4) {
1515
if (http.status === 200) {
16-
if (debugOutput) console.log("*********SolarPanel PVOutput: " + http.responseText)
17-
var today2
16+
var today2
1817
var pvoutputararray = http.responseText.split(",")
1918
currentPower = parseInt(pvoutputararray[1])
20-
today2 = parseInt(pvoutputararray[0])
19+
today2 = parseInt(pvoutputararray[0])
2120
getPVOutputData2(apiKey,siteid,currentPower,today2)
2221
} else {
2322
parseReturnData(currentPower,totalValue,0,0,0,0,0, http.status,"error")

SOLEDGE1.plugin.txt

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
///////// <version>1.0.1</version>
1+
///////// <version>1.0.2</version>
22
///////// SOLEDGE1 /////////////
33
///////// Plugin to extract SolarEdge Solar data for Toon ///////////////
44
///////// By Oepi-Loepi ///////////////
@@ -8,19 +8,23 @@ function getSolarData(passWord,userName,apiKey,siteid,urlString,totalValue){
88
var fingerprint = "69 01 51 C2 49 16 4A 38 93 FA 7C A8 E4 BC 61 9A 25 4B 98 BF"
99
var http = new XMLHttpRequest();
1010
http.open("GET", "https://monitoringapi.solaredge.com/site/" + siteid + "/overview.json?api_key=" + apiKey, true)
11-
if (debugOutput) console.log("*********SolarPanel solaredgeUrl: " + "https://monitoringapi.solaredge.com/site/" + siteid + "/overview.json?api_key=" + apiKey)
1211
http.onreadystatechange = function() {
1312
if (http.readyState == XMLHttpRequest.DONE) {
1413
if (http.status === 200 || http.status === 300 || http.status === 302) {
15-
var JsonString = http.responseText
16-
var JsonObject= JSON.parse(JsonString)
17-
var today2
18-
currentPower = parseInt(JsonObject.overview.currentPower.power)
19-
today2 = Math.floor(JsonObject.overview.lastDayData.energy)
20-
totalValue= Math.floor(JsonObject.overview.lifeTimeData.energy)
21-
parseReturnData(currentPower,totalValue,today2,0,0,0,0,http.status,"succes")
14+
try {
15+
var JsonString = http.responseText
16+
var JsonObject= JSON.parse(JsonString)
17+
var today2
18+
currentPower = parseInt(JsonObject.overview.currentPower.power)
19+
today2 = Math.floor(JsonObject.overview.lastDayData.energy)
20+
totalValue= Math.floor(JsonObject.overview.lifeTimeData.energy)
21+
parseReturnData(currentPower,totalValue,today2,0,0,0,0,http.status,"succes")
22+
}
23+
catch (e){
24+
currentPower = 0
25+
parseReturnData(0,totalValue,todayValue,0,0,0,0, http.status,"error")
26+
}
2227
} else {
23-
if (debugOutput) console.log("*********SolarPanel error: " + http.status)
2428
parseReturnData(currentPower,totalValue,0,0,0,0,0, http.status,"error")
2529
}
2630
}

0 commit comments

Comments
 (0)