Biblioteca TypeScript para consultar o Solcast API ASYNC/Promise Baseado
Este módulo permite que os usuários registrados consultem a API Solcast https://api.solcast.com.au. Você precisará registrar sua conta de usuário para obter uma chave da API https://solcast.com.au/api/register. Sem uma chave de API, você não poderá obter com sucesso os resultados válidos da API.
Retorna uma promessa do PowerForecast no local da entrada do ponto de latlng
export interface PowerForecast {
forecasts: Forecast [ ] ;
}
export interface Forecast {
period_end: Date ;
period: string ;
pv_estimate: number ;
} Retornar a promessa de RadiationForecast no local da entrada do ponto de latlng
export interface RadiationForecast {
forecasts: Forecast [ ] ;
}
export interface Forecast {
ghi: number ;
ghi90: number ;
ghi10: number ;
ebh: number ;
dni: number ;
dni10: number ;
dni90: number ;
dhi: number ;
air_temp: number ;
zenith: number ;
azimuth: number ;
cloud_opacity: number ;
period_end: Date ;
period: string ;
}Você pode usar variáveis de ambiente padrão para manter sua chave da API e não precisar passar o objeto Opcional {Radiation | Power}
Nomes de variáveis de ambiente
SOLCAST_API_KEY
SOLCAST_API_URL
Acessível através da variável de ambiente de processo comum.
process.env.SOLCAST_API_KEY
process.env.SOLCAST_API_URL
import * as solcast from 'solcast' ;
const point = solcast . latLng ( - 33.865143 , 151.209900 ) ; // Sydney, Australia
const radiationOptions = solcast . Options . radiation ( ) ;
radiationOptions . APIKey = 'YOUR API KEY HERE' ;
const promiseFn = solcast . Radiation . forecast ( point , radiationOptions ) ;
promiseFn . then ( results => {
console . log ( results ) ;
} )
. catch ( err => {
console . log ( err ) ;
} ) ; const solcast = require ( 'solcast' ) ;
const point = solcast . latLng ( - 33.865143 , 151.209900 ) ; // Sydney, Australia
const radiationOptions = solcast . Options . radiation ( ) ;
radiationOptions . APIKey = 'YOUR API KEY HERE' ;
const fn = async function ( ) {
return await solcast . Radiation . forecast ( point , radiationOptions )
} ;
fn ( ) . then ( results => {
console . log ( results ) ;
} )
. catch ( err => {
console . log ( err ) ;
} ) ; const solcast = require ( 'solcast' ) ;
const point = solcast . latLng ( - 33.865143 , 151.209900 ) ; // Sydney, Australia
const radiationOptions = solcast . Options . radiation ( ) ;
radiationOptions . APIKey = 'YOUR API KEY HERE' ;
const results = solcast . Radiation . forecast ( point , radiationOptions ) ;
results . then ( results => {
console . log ( results ) ;
} )
. catch ( err => {
console . log ( err ) ;
} ) ; { forecasts:
[ { ghi: 0,
ghi90: 0,
ghi10: 0,
ebh: 0,
dni: 0,
dni10: 0,
dni90: 0,
dhi: 0,
air_temp: 10,
zenith: 103,
azimuth: -88,
cloud_opacity: 3,
period_end: '2017-08-31T19:30:00.0000000Z',
period: 'PT30M' },
...
]
}
.env.json.sample to .env.jsonSOLCAST_API_KEY no arquivo json após se registrar em https://solcast.com.au/api/register/