import React, { useState, useEffect } from 'react'; import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts'; import axios from 'axios'; import moment from 'moment'; import './App.css'; function App() { const [data, setData] = useState(false); useEffect(() => { const get = async() => { try { const res = await axios.get('https://reg.t0.vc/solar.json'); setData(res.data); } catch (error) { setData(false); } }; get(); const interval = setInterval(get, 1000); return () => clearInterval(interval); }, []); const listen = () => { var audioCtx = new (window.AudioContext || window.webkitAudioContext)(); var myArrayBuffer = audioCtx.createBuffer(2, audioCtx.sampleRate * 5, audioCtx.sampleRate); for (var channel = 0; channel < myArrayBuffer.numberOfChannels; channel++) { var nowBuffering = myArrayBuffer.getChannelData(channel); for (var i = 0; i < myArrayBuffer.length; i++) { nowBuffering[i] = data.history[i % data.history.length].total / 24000.0; } } var source = audioCtx.createBufferSource(); source.buffer = myArrayBuffer; source.connect(audioCtx.destination); source.start(); } return (
{data ?
moment.utc(timeStr).format('HH:mm')} /> 'Time: ' + moment.utc(timeStr).format('HH:mm')} /> {data.night ?

The sun has set 😴

:

Total: {data.actual_total} W — {parseInt(data.actual_total / 5985 * 100)}%

Today: {data.today_energy} kWh

Updated: {data.timestamp.split(' ')[1]}

Individual panels:

{Object.values(data.inverters).map((x, i) => <>
{x.power[0]}
{i != 2 &&
{x.power[1]}
} )}
}
:

Loading...

}
); } export default App;