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 (
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:
Loading...
}