biemond / com.athom.zevercloud

ZeverSolar Homey app
GNU General Public License v3.0
0 stars 0 forks source link

Homey Zevercloud app leest de api niet meer ? #4

Closed Schroemges closed 10 months ago

Schroemges commented 3 years ago

Hoi Edwin,

Heb jij enig idee waarom jouw Zevercloud app mijn api niet meer leest sinds gisteren ?

mvg Dave

biemond commented 3 years ago

He Dave,

inderdaad , 1 van hun api doet het niet meer https://www.zevercloud.com/api/v1/getPlantOverview

andere nog wel , Ik heb ze gemailed maar ik weet niet of ze daarop reageren.

Schroemges commented 3 years ago

Hoi Edwin,

Dank voor je snelle feedback we zullen zien. Ik houd je op de hoogte.

Mvg Dave

biemond commented 3 years ago

ze hebben gereageerd en ze hebben mij de nieuwe api doc toegestuurd.  Ik zal dat vanavond eens uitproberen en als het goed is vanavond een test release publiceren.

biemond commented 3 years ago

blijkbaar hebben ze hun oude api disabled maar ik weet wat ik nu moet doen, ( a signing request met een key en secret) daarna kan ik deze token gebruiken voor de echte api met de device api als key .

helaas kan ik niet meer inloggen op de site en ik heb ze weer gemailed. als dit werkt moet wel iedereen een key en secret bij hun sales of support aanvragen.

gr

Schroemges commented 3 years ago

Oh dat is goed nieuws... Moet ik iets doen of kan ik iets doen ? Wel vreemd dat ze dat zomaar afschakelen.

biemond commented 3 years ago

ja , ik denk dat ze ons niet door hadden dat wij nog de oude gebruiken. ik lees dat anderen dit al 2 jaar moeten doen. ik ga het nu handmatig testen zodat ik het daarna het kan toevoegen aan de app.

gr

biemond commented 3 years ago

Het werkt voor mij met deze endpoint http://api.general.zevercloud.cn/getPlantOverview. ik heb nu naast de api key nu ook een secret en appkey nodig. Nu nog omzetten naar nodejs

[INFO] Running com.aliyun.api.gateway.demo.Demo
{"body":"{\"sid\":53121,\"ludt\":\"2020-12-01 17:03:23\",\"status\":\"0\",\"E-Today\":{\"unit\":\"KWh\",\"value\":0.5},\"E-Month\":{\"unit\":\"KWh\",\"value\":0.5},\"E-Total\":{\"unit\":\"MWh\",\"value\":3.27},\"TotalYield\":{\"unit\":\"€\",\"value\":2289.69},\"CO2Avoided\":{\"unit\":\"T\",\"value\":2.62},\"Power\":{\"unit\":\"W\",\"value\":0}}","contentType":"text/plain;charset=UTF-8",...,"statusCode":200}
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.17 s - in com.aliyun.api.gateway.demo.Demo
Schroemges commented 3 years ago

Ik zal mijn DeviceID ,Secret + Api bij mijn Zonnepaneel aanbieder (Zonneplan) opvragen.

biemond commented 3 years ago

inderdaad , ik heb ze opgevraagd bij service.eu@zeversolar.net het zijn verborgen velden bij account settings.

Schroemges commented 3 years ago

IK heb de Doc gekregen en ze hebben mij de APPkey en APPSecret gekregen en is toegevoegd aan mijn account. Ik wacht rustig af zodat ik deze kan invoeren in joue app.

biemond commented 3 years ago

perfect. de app komt er aan.

biemond commented 3 years ago

node script , it works , only need to add the new 2 params to the app. but this will be breaking I guess.

const crypto = require('crypto');
const https = require('http')

var appSecret = 'xxxxxxx';
const appKey = 'xxxxxx';
const apiKey = 'xxxxx';

const op = 'GET';
const accept = 'application/json';
const time = Date.now();

const payload = op.concat('\n', accept,'\n\n\n',
                      '\nX-Ca-Key:', appKey,
                      '\nX-Ca-Timestamp:', time,
                      '\n/getPlantOverview?key=', apiKey );

console.log(payload);

const signedHeaders = "X-Ca-Signature-Headers: X-Ca-Key,X-Ca-Timestamp"

/*
GET
application/json

X-Ca-Key:xxx
X-Ca-Timestamp:1607109536050
/getPlantOverview?key=xxxx
*/

let signature = crypto.createHmac('sha256', appSecret).update(payload).digest("base64")

console.log(signature);

// 2020/12/04 20:20:12:126 CET [DEBUG] wire - >> "X-Ca-Timestamp: 1607109611458[\r][\n]"
// 2020/12/04 20:20:12:126 CET [DEBUG] wire - >> "Accept: application/json[\r][\n]"
// 2020/12/04 20:20:12:126 CET [DEBUG] wire - >> "X-Ca-Key: xxxx[\r][\n]"
// 2020/12/04 20:20:12:126 CET [DEBUG] wire - >> "X-Ca-Signature: v7UwJ+Lyu7EwdiWggCma6psZOyY48QoHBwz0FmRTuvs=[\r][\n]"
// 2020/12/04 20:20:12:127 CET [DEBUG] wire - >> "X-Ca-Signature-Headers: X-Ca-Key,X-Ca-Timestamp[\r][\n]"

const options = {
    protocol: 'http:',
    method: 'GET',
    headers: {
        'X-Ca-Timestamp': time,
        'Accept': accept,
        'X-Ca-Key': appKey,
        'X-Ca-Signature': signature,
        'X-Ca-Signature-Headers': 'X-Ca-Key,X-Ca-Timestamp'
    }
}
options.hostname = 'api.general.zevercloud.cn';
options.path = '/getPlantOverview?key='+ apiKey;

const reqX = https.request(options, resX => {
    console.log('-------------------');
    console.log(`statusCode: ${resX.statusCode}`);
    console.log(resX.headers);

    let body = "";
    resX.on("data", data => {
      body += data;
    });
    resX.on("end", () => {
        console.log(JSON.parse(body));
    });
})  

reqX.on('error', error => {
    console.error(error)
})
reqX.end()
biemond commented 3 years ago

he kun je deze testen https://homey.app/nl-nl/app/com.athom.zevercloud/ZeverCloud-Solar-Power/test/ je moet wel de secret and app key toevoegen aan de device. (opvragen bij service.eu@zeversolar.net )

biemond commented 3 years ago

mooi, heb je weiland of een schuur met panelen. vandaag had je 8.5kwh , ik had 0.5 met 8 panelen.

Schroemges commented 3 years ago

Lol, ik heb 12 x 295 Wp maar hier in Noord Limburg scheen best veel de zon dus dat verklaard ;-)

biemond commented 3 years ago

Screenshot_20201206-120041 yep nice

Schroemges commented 3 years ago

Hoi Edwin,

Ik zag jij hebt Zevercloud geupdate de test versie die ik heb geïnstalleerd in Homey hoef ik niet opnieuw te installeren he mijne die nu op mijn Homey staat is nu de LIVE versie toch ? Verder wil ik jouw erg bedanken voor je aanpassingen en support top werk. mvg Dave

biemond commented 3 years ago

he inderdaad, ik had zo'n 80 crash logs gekregen. de crash heb ik gefixed en ook deze wordt automatisch geïnstalleerd.

dank je wel. geniet ervan.

biemond commented 3 years ago

Ik zie het. ik zal eens kijken. ik vermoed dat severcloud mij kw of watt terug geeft afhankelijk als het meer dan 1000 watt is.

biemond commented 3 years ago

kan je ook een pic maken wanneer je op zonnepanelen klikt. of insights. vooral benieuwd naar de overgang naar 1kw en terug.

biemond commented 3 years ago

misschien is het een weergave bug https://github.com/biemond/com.athom.zevercloud/blob/master/drivers/plant/device.js#L212. ben benieuwd naar jouw insights misschien de unit is nu niet meer "kW"

{
  sid: 53121,
  ludt: '2020-12-25 13:25:23',
  status: '1',
  'E-Today': { unit: 'KWh', value: 0.4 },
  'E-Month': { unit: 'KWh', value: 11.04 },
  'E-Total': { unit: 'MWh', value: 3.28 },
  TotalYield: { unit: '€', value: 2297.07 },
  CO2Avoided: { unit: 'T', value: 2.63 },
  Power: { unit: 'W', value: 133 }
}
biemond commented 3 years ago

Ik zie ook KW in een voorbeeld. nu maar omgedraaid check nu voor watt en anders is het kW, dan weet ik het zeker

https://homey.app/nl-nl/app/com.athom.zevercloud/ZeverCloud-Solar-Power/test/

Schroemges commented 3 years ago

Ik zal even jouw beta versie testen.

Schroemges commented 3 years ago

Krijg dezelfde melding van jouw beta versie als op de foto hierboven vreemd.

biemond commented 3 years ago

via mijn https://my.homey.app/ kan je nu gemakkelijk je keys weer invullen.

Schroemges commented 3 years ago

Ja mooi he eindelijk weer een webapp eerst willen ze van webapp af en naar mobile only en weer terug hahahaha Ik test straks of morgen wel even op de laptop zit lekker tv te kijken met de vriendin. Komt goed Edwin fijn kerst m8

biemond commented 3 years ago

nice, wat een zon in limburg. zo verboden moeten worden. gelukkig hier ook een beetje