É responsável por conter fórmulas (métodos) úteis para cálculos fotovoltaicos; Foi construído inicialmente para estimar os valores de uma usina com base no valor da entrada da conta de energia.
Você pode instalar facilmente através do NPM.
npm i sunvoltaic-js
Você precisa de um arquivo de configuração, para tudo funcionar adequadamente, com o nome sunvoltaic.config.js
,
neste arquivo você irá configurar:
Parâmetro | Tipo | Descrição |
---|---|---|
average_sun |
Numeric |
Radiação Solar |
plant_age |
Numeric |
Para estimativas de ecônomia de CO² e outros |
plate_w |
Numeric |
Quantidades de Watts das Placa. |
value_kwv |
Object (all are numeric) |
Deverá conter residential (Default), commercial e/ou agro |
reference_kwh |
Function => Numeric |
Uma função que recebe o parâmetro used_kit e deverá retornar um valor numérico |
Todas as entradas são obrigatórias, enquanto value_kwv
precisa receber no mínimo um Objeto com residential
.
Para utilizar de forma estática (não haverá mudança nos valores de Configuração):
// sunvoltaic.config.js
module.exports = {
average_sun: 4.66,
plant_age: 25,
plate_w: 530,
value_kwv: {
residential: 0.89,
commercial: 0.99,
agro: 1,
},
reference_kwh: (used_kit) => {
return used_kit > 5 ? 6555.5 : 7999.9;
}
}
Se desejar que esses valores sejam dinâmicos, você pode criar apenas como uma variável contendo este mesmo Objeto, que será passado como o 3° Parâmetro da Instância.
A classe Sunvoltaic recebe "apenas" 3 parâmetros:
- 1° Valor da Conta Energética
- 2° Tipo de Atividade (1 =
residential
2 =commercial
3 =agro
referenciados no Objetovalue_kwv
de sunvoltaic.config.js) - 3° O Objeto de Configuração (O próprio sunvoltaic.config.js)
const Sunvoltaic = require('sunvoltaic-js')
const SunvoltaicConfig = require('./sunvoltaic.config.js')
let energy_bill = 250
let type_activity = 1
const {
daily_power,
monthly_power,
planted_trees,
plant_age
} = new Sunvoltaic(energy_bill, type_activity, SunvoltaicConfig)
console.log(`Potência gerada diária: ${daily_power} kWh`)
console.log(`Potência gerada mensal: ${monthly_power} kWh`)
console.log(`${planted_trees} Árvores deixarão de ser cortadas em ${plant_age} anos.`)
Você poderá adquirir:
Valor | Tipo | Descrição |
---|---|---|
energy_bill |
number |
Valor da Conta de Energia |
plant_age |
number |
Idade da Usina |
average_sun |
number |
Radiação Solar |
value_kwh |
number |
Valor de Kwh |
monthly_consumption |
number |
Consumo mensal |
indicated_kit |
number |
Kit Indicado |
used_kit |
number |
Kit Utitlizado |
plate_quantity |
number |
Quantidade de Placas |
daily_power |
number |
Potência Diaria |
monthly_power |
number |
Potência Mensal |
annual_power |
number |
Potência Anual |
power_archieved |
number |
Potência da Usina baseada na Idade da Usina (plant_age ) |
planted_trees |
number |
Estimativa de Árvores que deixarão de ser cortadas |
CO2_reduction |
number |
Estimativa de diminuição do CO² |
km_cars |
number |
Estimativa de Km rodados |
payback |
number |
Valor de Payback (em meses) |
average_plant |
number |
Valor Médio da Usina |
economy_value |
number |
Valor de Ecônomia (mensal) |
required_space |
number |
Estimativa de Espaço Necessário (em m²) |
structure |
number |
Estimativa de Peso da Estrutura (em Kg) |
Você pode desestruturar esses valores da Instância (como no exemplo acima) ou referenciando direto do Objeto, como por exemplo:
// ...
const Calculator = new Sunvoltaic(250, 1, SunvoltaicConfig)
console.log(`Potência gerada diária: ${Calculator.daily_power} kWh`)
console.log(`Potência gerada mensal: ${Calculator.monthly_power} kWh`)
console.log(`${Calculator.planted_trees} Árvores deixarão de ser cortadas em ${Calculator.plant_age} anos.`)
- Reescrever biblioteca utilizando Typescript
- Obter Radiação Solar apartir de API (ou similar)
- Substituir entrada de Radiação Solar por CEP
Deixe as suas sugestões via Issue.