sunvoltaic-js
v1.0.1
Published
É 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.
Downloads
5
Readme
Sunvoltaic (Javascript)
É 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.
Instanciando o Sunvoltaic
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.`)
O que vem por aí?
- [ ] 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.