
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@yyberi/fronius-comm
Advanced tools
A small Node.js library for communicating with Fronius solar inverters. It provides a simple client to fetch real-time and historical energy production data.
http and moment-timezone for UTC date handling@yyberi/loggernpm install @yyberi/fronius-comm
# or
yarn add @yyberi/fronius-comm
import { FroniusClient, SimpleInverterRealtimeData } from '@yyberi/fronius-comm';
// Instantiate with inverter IP, scope, device ID and device class:
const client = new FroniusClient(
'192.168.1.100', // your inverter IP
'Device', // scope (e.g. "Device" or "System")
'1', // deviceId
'Inverter' // deviceClass
);
async function fetchRealtime() {
try {
const data: SimpleInverterRealtimeData = await client.getRealtimeData();
console.log('Total Energy (kWh):', data.totalEnergy);
console.log('Year Energy (kWh):', data.yearEnergy);
console.log('Day Energy (kWh):', data.dayEnergy);
console.log('Current Power (W):', data.actPower);
} catch (err) {
console.error('Error fetching real-time data:', err);
}
}
fetchRealtime();
new FroniusClient(ip, scope, deviceId, deviceClass, logLevel?)Creates a new client instance.
ip: string — Inverter hostname or IP addressscope: string — API scope (usually "Device" or "System")deviceId: string — Numeric device identifier (e.g. "1")deviceClass: string — Class of the device (e.g. "Inverter")logLevel?: LogLevel — Optional log level from @yyberi/logger (default: LogLevel.INFO)getRealtimeData(): Promise<SimpleInverterRealtimeData>Fetches real-time inverter data. Returns a promise resolving to:
export interface SimpleInverterRealtimeData {
/** Cumulative energy (kWh) */
totalEnergy?: number;
/** Energy produced this year (kWh) */
yearEnergy?: number;
/** Energy produced today (kWh) */
dayEnergy?: number;
/** Instantaneous AC power (W) */
actPower?: number;
/** ISO timestamp of the reading */
ts?: string;
}
Throws on HTTP errors, timeouts or invalid JSON.
All archive methods accept either:
YYYY-MM-DD) to fetch one full day, orstart, end) to fetch an arbitrary rangeThey all return arrays of:
export interface TimeRangeValueData {
/** ISO string of interval end time */
time: string;
/** Energy produced during the interval */
value: number;
}
parseEnergyReal_WAC_Sum_Produced_5min(dateOrStart, end?)Fetches raw 5-minute interval data.
const data5min = await client.parseEnergyReal_WAC_Sum_Produced_5min('2025-06-14');
// or
const data5min = await client.parseEnergyReal_WAC_Sum_Produced_5min('2025-06-13', '2025-06-14');
parseEnergyReal_WAC_Sum_Produced_15min(dateOrStart, end?)Fetches and groups every three 5-min intervals into 15-min sums.
const { data5min, data15min } =
await client.parseEnergyReal_WAC_Sum_Produced_15min('2025-06-14');
parseEnergyReal_WAC_Sum_Produced_All(dateOrStart, end?)Fetches 5-min and 15-min data, and additionally aggregates into hourly sums.
const { data5min, data15min, data60min } =
await client.parseEnergyReal_WAC_Sum_Produced_All('2025-06-14');
npm run build — compile TypeScript to dist/npm test — run Vitest unit tests@yyberi/loggermoment-timezoneMIT © yyberi
FAQs
Library for communicating with Fronius solar inverters
We found that @yyberi/fronius-comm demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.