richardlevy / solis-cloud-scraper Goto Github PK
View Code? Open in Web Editor NEWNode script to scrape daily solar stats from Solis Cloud website and expose data locally via an easily accessible endpoint.
Node script to scrape daily solar stats from Solis Cloud website and expose data locally via an easily accessible endpoint.
Hi,
Can You please help me setting up the "My Solar" apple watch app? I'm trying the solis cloud scraper method. I can already run the scraper.js and can even already query in the cmd using the curl method. But I can't setup properly it to the Iphone app. I'm trying to input the http://[ip address]:port/data on the solis scraper uri part, username and solis scraper password, but when I test it, it saying Cannot Connect. What should I do? What is it that I'm doing wrong?
Best Regards and Thank You,
Luigi
Wonder if its possible to update this so that not only can it scrape from sols-cloud but send through settings to invertor control on solis cloud such as charge/discharge times?
Hey @richardlevy - today I've noticed the website's been updated. I've applied the new selectors to my fork, feel free to copy over ๐
The specific version of Chromium, loaded by Puppeteer, ends up with some strange character output to console.
One can solve this issue with the default installation of Chromium provided by the package manager.
sudo apt install chromium
The binary is found here: /usr/bin/chromium
Next you need to add this path as parameter while initialize puppeteer.launch
const browser = await puppeteer.launch({
headless:true,
executablePath: '/usr/bin/chromium',
args: ['--no-zygote', '--no-sandbox']
});
@richardlevy Thank you for sharing!
I have installed your solis-cloud-scraper.
The curl command delivers the correct data from soliscloud. So all runns fine.
Is it possible to run the json script in ioBroker?
Hi! I tried to use this but I was not able to get anything back from the cloud.
I get the following error when running scraper.js
Scrape requested at Fri, 16 Jun 2023 17:43:55 GMT
Solis cloud scraper V2.0 listening on port 5561
Reloading selector (Current stats diagram). 4 retries remaining
Reloading selector (Current stats diagram). 3 retries remaining
Reloading selector (Current stats diagram). 2 retries remaining
Reloading selector (Current stats diagram). 1 retries remaining
Reloading selector (Current stats diagram). 0 retries remaining
Error - Cannot read property 'getProperty' of null
Error fetching data - using previous data
When running curl -u username:password http://[your.ip.addr]:[port]/v2/data
this is the output:
{
"currentYield": 0,
"currentYieldUnit": "",
"currentBatteryCharge": 0,
"currentBatteryChargeUnit": "",
"currentBatteryUsage": 0,
"currentBatteryUsageUnit": "",
"currentGridUsage": 0,
"currentGridUsageUnit": "",
"currentHouseConsumption": 0,
"currentHouseConsumptionUnit": "",
"todayYield": 0,
"todayYieldUnit": "",
"todaysCharging": 0,
"todaysChargingUnit": "",
"todaysDischarging": 0,
"todaysDischargingUnit": "",
"todayGridImport": 0,
"todayGridImportUnit": "",
"todayGridExport": 0,
"todayGridExportUnit": "",
"stationCapacity": 0,
"stationCapacityUnit": "",
"scrapeStartDurationMs": 1686937783109,
"scrapeEndTimeMs": 1686937783109
}
Any ideas as to what is going on?
Hey Richard,
On 12th of April Solis made a small update to their animation and changed selectors for grid data.
House load: .animation > .wrap > .grid-side > .content > span
Today consumption: .animation > .wrap > .grid-side > .use-power > span:nth-child(2)
Hope this helps ๐
Sorry novice user here. Do you have Docker system?
First of all, thanks for the great work on the scraper ๐
As per the limitations section in the readme, the app is returning strings with values and units. What do you think about stripping the units and returning numbers where possible? I'll be piping this to openhab, influxdb and eventually grafana, and values like "14.3kWh"
are not easy to store / visualise.
Happy to make a PR if you'd like!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.