datmaffin / homebridge-tesla-powerwall Goto Github PK
View Code? Open in Web Editor NEWHomebridge Plugin for the Tesla Powerwall
License: ISC License
Homebridge Plugin for the Tesla Powerwall
License: ISC License
First of all, thank you for this amazing project. I'm running the latest beta and the gridisdown button is extremely useful for automation (I've tested it successfully). I have a situation where due to how the power is arranged in my home, I've needed to utilize two different sets of gateways. I was able to successfully add the first gateway, but I'm struggling to figure out how to add the second gateway to my config. I receive the following error message when trying to load the plugin:
[07/11/2022, 13:19:44] Error: Cannot add a bridged Accessory with the same UUID as another bridged Accessory: ************* at Bridge.Accessory.addBridgedAccessory (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:594:15) at /var/lib/homebridge/node_modules/homebridge/src/bridgeService.ts:552:25 at Array.forEach (<anonymous>) at /var/lib/homebridge/node_modules/homebridge/src/bridgeService.ts:539:21 at /var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/once.ts:10:18 at TeslaPowerwall.accessories (/var/lib/homebridge/node_modules/homebridge-tesla-powerwall/index.js:493:9) at /var/lib/homebridge/node_modules/homebridge/src/bridgeService.ts:534:24 at new Promise (<anonymous>) at BridgeService.loadPlatformAccessories (/var/lib/homebridge/node_modules/homebridge/src/bridgeService.ts:528:12) at /var/lib/homebridge/node_modules/homebridge/src/server.ts:478:42
Is there a way to add a secondary gateway to the configuration without the need to reload the plugin? Thank you in advance.
Hi, Tesla has started replacing peoples' inverters with Tesla-brand inverters. These inverters seem to offer a similar web-based interface as the Powerwall, but it looks like the API is less functional. Some info on it is here, but it looks like no one has figured out how to pull any useful information off the inverters' API except in the 15 minute interval after it is power cycled: https://www.reddit.com/r/TeslaSolar/comments/plew0k/tesla_inverter_local_api/
Opening this issue here because I think it'd be awesome to be able to see/use production numbers for various automations.
In HomeKit, Powerwall On/Off switch is showing that it can be toggled. It also shows battery %. I like the battery % status, but pressing the On/Off switch doesn't really change state. Not sure how this is being used, and why one would want to turn it off?
Is it possible to make the battery % status separate from the On/Off switch?
Hi, I get the following in my log with the latest plugin from npm. It was previously working.
Sep 4 09:47:52 raspberrypi homebridge[5860]: └──────────────────────────────────────────────────────────────┘
Sep 4 09:47:52 raspberrypi homebridge[5860]: [2018-9-4 09:47:52] Loaded config.json with 2 accessories and 1 platforms.
Sep 4 09:47:52 raspberrypi homebridge[5860]: [2018-9-4 09:47:52] ---
Sep 4 09:47:52 raspberrypi homebridge[5860]: [2018-9-4 09:47:52] Loaded plugin: homebridge-raspberrypi-temperature
Sep 4 09:47:52 raspberrypi homebridge[5860]: [2018-9-4 09:47:52] Registering accessory 'homebridge-raspberrypi-temperature.RaspberryPiTemperature'
Sep 4 09:47:52 raspberrypi homebridge[5860]: [2018-9-4 09:47:52] ---
Sep 4 09:47:54 raspberrypi homebridge[5860]: [2018-9-4 09:47:54] Loaded plugin: homebridge-roomba
Sep 4 09:47:54 raspberrypi homebridge[5860]: [2018-9-4 09:47:54] Registering accessory 'homebridge-roomba.Roomba'
Sep 4 09:47:54 raspberrypi homebridge[5860]: [2018-9-4 09:47:54] ---
Sep 4 09:47:55 raspberrypi homebridge[5860]: [2018-9-4 09:47:55] Loaded plugin: homebridge-tesla-powerwall
Sep 4 09:47:56 raspberrypi homebridge[5860]: [2018-9-4 09:47:56] Registering platform 'homebridge-tesla-powerwall.TeslaPowerwall'
Sep 4 09:47:56 raspberrypi homebridge[5860]: [2018-9-4 09:47:56] ---
Sep 4 09:47:56 raspberrypi homebridge[5860]: [2018-9-4 09:47:56] Loading 1 platforms...
Sep 4 09:47:56 raspberrypi homebridge[5860]: [2018-9-4 09:47:56] [Tesla] Initializing TeslaPowerwall platform...
Sep 4 09:47:56 raspberrypi homebridge[5860]: [2018-9-4 09:47:56] [Tesla] Initializing platform accessory 'Powerwall'...
Sep 4 09:47:56 raspberrypi homebridge[5860]: /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:155
Sep 4 09:47:56 raspberrypi homebridge[5860]: this.services.push(service);
Sep 4 09:47:56 raspberrypi homebridge[5860]: ^
Sep 4 09:47:56 raspberrypi homebridge[5860]: TypeError: Cannot read property 'push' of undefined
Sep 4 09:47:56 raspberrypi homebridge[5860]: at Powerwall.Accessory.addService (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:155:17)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at FakeGatoHistory.registerEvents (/usr/lib/node_modules/homebridge-tesla-powerwall/node_modules/fakegato-history/fakegato-history.js:455:35)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at new FakeGatoHistory (/usr/lib/node_modules/homebridge-tesla-powerwall/node_modules/fakegato-history/fakegato-history.js:441:9)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at Powerwall.getServices (/usr/lib/node_modules/homebridge-tesla-powerwall/index.js:455:17)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at Server._createAccessory (/usr/lib/node_modules/homebridge/lib/server.js:409:36)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at Server. (/usr/lib/node_modules/homebridge/lib/server.js:395:32)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/once.js:16:19
Sep 4 09:47:56 raspberrypi homebridge[5860]: at TeslaPowerwall.accessories (/usr/lib/node_modules/homebridge-tesla-powerwall/index.js:353:9)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at Server._loadPlatformAccessories (/usr/lib/node_modules/homebridge/lib/server.js:385:20)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at Server._loadPlatforms (/usr/lib/node_modules/homebridge/lib/server.js:329:16)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at Server.run (/usr/lib/node_modules/homebridge/lib/server.js:85:36)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at module.exports (/usr/lib/node_modules/homebridge/lib/cli.js:43:10)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at Object. (/usr/lib/node_modules/homebridge/bin/homebridge:17:22)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at Module._compile (module.js:652:30)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at Object.Module._extensions..js (module.js:663:10)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at Module.load (module.js:565:32)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at tryModuleLoad (module.js:505:12)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at Function.Module._load (module.js:497:3)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at Function.Module.runMain (module.js:693:10)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at startup (bootstrap_node.js:191:16)
Sep 4 09:47:56 raspberrypi homebridge[5860]: at bootstrap_node.js:612:3
Sep 4 09:47:56 raspberrypi systemd[1]: homebridge.service: Main process exited, code=exited, status=1/FAILURE
Sep 4 09:47:56 raspberrypi systemd[1]: homebridge.service: Unit entered failed state.
Sep 4 09:47:56 raspberrypi systemd[1]: homebridge.service: Failed with result 'exit-code'.
Thanks for a great project!
This is quite possibly not an issue in this project -- but posting to see if anyone else has ideas or shares same experience.
Situation is:
Anyone have any ideas?
Note: different to issue #33, I believe, as there is sounds like a direct login to powerwall web interface does still work.
Hi, been trying to set up on my HOOBS for a week or so now, getting some errors that I can’t seem to solve. I’ve proven the IP I enter but when the errors come back it’s saying a complete different IP. Are you able to help me? Happily donate for your time to get this up and running!
Regards
Luke Hosking
First just wanted to say this is awesome.
Just happened to find this plugin. So great to see the battery status and the data in the Home app.
I installed everything without a hitch.
However in the apple Home app i see two "buttons". "Battery Charge" and "Grid feed". They both show as Not supported in the home app. Is this expected behavior? or do i have a setting that is off in my config.
thanks!
Hello,
thank you for all your efforts to write this Plug-In for Homebridge.
Is it possible to integrate an additional function to change the operation Mode?
I like to change from autonomous (aka Time of Use (TOU)) and self_consumption and back via HomeKit.
Unfortunately I don't know how to do it by myself :-(
Thank you very much.
GET /api/operation
request: curl --header "Authorization: Bearer OgiGHjoNvwx17SRIaYFIOWPJSaKBYwmMGc5K4tTz57EziltPYsdtjU_DJ08tJqaWbWjTuI3fa_8QW32ED5zg1A==" https://192.168.xxx.xxx/api/operation
response: {"mode":"self_consumption","backup_reserve_percent":15}
POST /api/operation
The below request would set the battery mode to "Self-powered" and a "Reserve for Power Outages" to 20% (app value) using the token retrieved from the authentication example.
request: curl --header "Authorization: Bearer OgiGHjoNvwx17SRIaYFIOWPJSaKBYwmMGc5K4tTz57EziltPYsdtjU_DJ08tJqaWbWjTuI3fa_8QW32ED5zg1A==" -X POST -d '{"mode":"self_consumption","backup_reserve_percent":24.6}' https://192.168.xxx.xxx/api/operation
response: {"mode":"self_consumption","backup_reserve_percent":24.6}
Valid Modes:
self_consumption
backup
autonomous (aka Time of Use (TOU) as reported by dlieu on the teslamotorsclub.com forums)
scheduler aka Aggregation - This seems like it is not supported now.
Great work here, first of all.
I would like to be notified if the system is feeding to the grid (or pulling power from the grid), and the cleanest way to do this, it seems, would be to expose HomeKit sensors that can trigger native notifications.
HI,
when the plugin cannot connect to the tesla for some reason, which it does quite frequency as it seems that the Tesla is quite sensitive with its wifi connection and gets disrupted easily, it rather takes over the homebridge log, with the following error text showing every few seconds:
[03/12/2020, 07:40:08] [Tesla Powerwall] status code: undefined
[03/12/2020, 07:40:08] [Tesla Powerwall] body: undefined
[03/12/2020, 07:40:08] [Tesla Powerwall] error: Error: connect EHOSTUNREACH 192.168.1.36:80
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
errno: -113,
code: 'EHOSTUNREACH',
syscall: 'connect',
address: 'XXX.XXX.XXX.XXX',
port: 80
}
My log rolls off the top buffers within seconds, meaning I cannot view anything else going on.
Is it possible to make this be handled a bit better, with perhaps less text and less frequently added to tog? A reminder event 15 or 30 minutes after a initial message would be more than sufficient.
I don't have any verbose logging switch on on the homebridge as far as I can see.
Thanks
Chris
Hello, i m Paolo from italy and i love your plugin. I need a change: can you switch off the homekiy switch when the battery level is low? Thanks to this change i can make some scene only when powerwall is ready
Thanks
Hello, if I install the adapter and set up the config, he finds the powerwall and displays everything!
then the homebridge crashes!
this plugin is incompatible with the alexa plugin!
if I remove the config everything goes back!
Hi,
I am continuously getting the following error - any idea:
[4/22/2020, 9:32:54 PM] [Tesla Powerwall] status code: undefined
[4/22/2020, 9:32:54 PM] [Tesla Powerwall] body: undefined
[4/22/2020, 9:32:54 PM] [Tesla Powerwall] error: Error: connect EHOSTUNREACH 192.168.xx.xx:80
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1134:16) {
errno: 'EHOSTUNREACH',
code: 'EHOSTUNREACH',
syscall: 'connect',
address: '192.168.xx.xx',
port: 80
}
Thanks
keep getting these warnings in loges for Homebridge.
[25/03/2021, 10:46:26 pm] [homebridge-tesla-powerwall] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https://git.io/JtMGR for more info.
[25/03/2021, 10:46:26 pm] [homebridge-tesla-powerwall] This plugin generated a warning from the characteristic 'Battery Level': characteristic value expected valid finite number and received "undefined" (undefined). See https://git.io/JtMGR for more info.
[25/03/2021, 10:46:27 pm] [homebridge-tesla-powerwall] This plugin generated a warning from the characteristic 'Hue': characteristic value expected valid finite number and received "NaN" (number). See https://git.io/JtMGR for more info.
[25/03/2021, 10:46:27 pm] [homebridge-tesla-powerwall] This plugin generated a warning from the characteristic 'Current Temperature': characteristic value expected valid finite number and received "undefined" (undefined). See https://git.io/JtMGR for more info.
[25/03/2021, 10:46:27 pm] [homebridge-tesla-powerwall] This plugin generated a warning from the characteristic 'Brightness': characteristic value expected valid finite number and received "undefined" (undefined). See https://git.io/JtMGR for more info.
Not a bug really but wondering if you could implement a work around so that I could remove from favorites the current unsupported accessories that show up in the home app?
This was a suggested workaround I was able to find. Not ideal but if it could work would do the trick.
ebaauw/homebridge-p1#41 (comment)
Hello,
After a few months of working fine, we're now on power wall build 21.35.0 and I am having to login to the powerwall via web browser on the PI in order to enable the connection.
The log shows
06/11/2021, 6:31:01 am] [Tesla Powerwall] error: null
[06/11/2021, 6:31:01 am] [Tesla Powerwall] status code: 403
[06/11/2021, 6:31:01 am] [Tesla Powerwall] body: {"code":403,"error":"Unable to GET to resource","message":"User does not have adequate access rights"}
but once I log in on the homebridge machine to the power wall the plugin can login again.
Is it possible to add a LoadButton similar to the Batterylow to reflect a simple load status?
Would it be possible to add something what would allow a user to change the operating control mode between Self-Powered and Time-based and to be able to set the Low Backup Reserve?
This enhancement would allow a big step forward in automating whole home behaviour.
Implement it analogous to:
https://github.com/simont77/homebridge-myhome/blob/master/index.js#L1310
I haven't seen this happen before, and nothing has changed. But all of a sudden, I am getting this error about access rights.
Nothing seems to be changed or not working correctly, so I'm not sure if this is a random error or something that needs remediation.
I'm not sure what to change, though. Any thoughts?
Hello,I can not turn powerwall 2 on or off via homekit despite user and password
Hi,
It seems that the plugin attempts to invoke the powerwall API before the login completes ... (see below)
I've verified the credentials are correct using https://github.com/vloschiavo/powerwall2/blob/master/samples/powerwallstats.sh
The plugin is partially working ... the Battery Charge and Grid Feed accessories are market as not supported
[1/18/2022, 9:50:55 AM] [Tesla Powerwall] Unexpected response: 403 User does not have adequate access rights [1/18/2022, 9:50:55 AM] [Tesla Powerwall] Unexpected response: 403 User does not have adequate access rights [1/18/2022, 9:50:55 AM] [Tesla Powerwall] Login successful
I just installed this in HOOBS, but can't seem to connect it. I keep getting the following error:
7/19/2023, 1:36:07 PMTesla Powerwall BridgeTeslaPowerwallRequest failed: Error: connect ECONNREFUSED 127.0.0.1:443
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1278:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 443
}
In my config, I'm using the ip address of the gateway and I can access it fine via a browser and log in no problem. I'm using the same password and email that I would use to log in via the browser. Is there something else that I'm doing wrong or need to change?
I just installed this plugin and getting Not Support for Battery Charge and Grid Feed Accessory in the Apple Home App. All the Flow Accessory showing up normally with Fan icon.
After upgrading to Homebridge 1.3, it seems like there are some changes to characteristics such that the errors spam the console logs over and over every few seconds. It seems like the old values still work, it's just a logging issue at this point, but they may stop working with a future version.
[23/02/2021, 14:41:45] [homebridge-tesla-powerwall] This plugin generated a warning from the characteristic 'Battery Level': characteristic value expected number and received undefined. See https://git.io/JtMGR for more info.
[23/02/2021, 14:41:55] [homebridge-tesla-powerwall] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https://git.io/JtMGR for more info.
There may be others with accessories/features I'm not using, but these are the two I see. Just wanted to put this on your radar, if it's not there already.
During the winter, in order to avoid using grid power during peak time, we arrange for the PowerWall to charge to a minimum of 50% (whether via grid or solar) during off-peak time. The instruction on the Tesla App is for the PowerWall to allocate 50% to Backup and 50% to Self-Powered.
At the start of the peak electricity price period, we set the Backup to 0% and Self-Powered to 100%.
After the end of the peak electricity price period, and before the start of the next one, we set the Backup back to 50% again. The timing of this change depends on the weather. In sunny weather, we would leave this change as late as possible, on the basis that the battery will charge from solar. In wintery overcast weather, we might as well make the change immediately after the end of the peak electricity period.
I would like to be able to automate the change of allocation of the Tesla capacity between Backup and Self-Powered. Whether this be simply on the basis of time of day, or more sophisticated adding a factor related to the weather.
Is this change of the allocation of Tesla capacity between Backup and Self-Powered something that can be done via Homebridge? If so, how please?
Updated to the latest and the Battery Charge and Grid Feed show in Homebridge but not in the Apple Home App.
In the Apple Home App they just say Not supported - no value, etc.
Also even if I uncheck favorite they don't hold that choice and continue to remain on Home page.
Help, love this plugin but obviously need those bits to work!
Is it possible to add the plugin feature to set the Powerwall battery reserve percentage, as exposed by the API?
Thank you
Hello,
I'm trying to configure my PowerWall plugin, and I keep getting a JSON error when I click save, I can't figure out what's going on?
TIA.
{
"platform": "TeslaPowerwall",
"name": "Tesla Powerwall",
"ip": "10.X.X.X",
"username": "customer",
"email": "[email protected]",
"password": "XXXXXX",
"loginInterval": 39600000,
"pollingInterval": 15000,
"historyInterval": 300000,
"lowBattery": 20,
"additionalServices": {
"powerwall": {
"homekitVisual": true,
"eveHistory": true,
"batteryIsLowSwitch": false,
"batteryIsChargingSwitch": false,
"makeOnOffSwitchReadOnly": true
},
"solar": {
"homekitVisual": true,
"evePowerMeter": true,
"eveHistory": true,
"eveLineGraph": false,
"pullingFromSensor": false,
"sensorThreshold": 0
},
"grid": {
"homekitVisual": true,
"positiveEvePowerMeter": true,
"negativeEvePowerMeter": true,
"eveHistory": true,
"eveLineGraph": false,
"feedingToSensor": false,
"pullingFromSensor": false,
"sensorThreshold": 0
},
"battery": {
"homekitVisual": true,
"positiveEvePowerMeter": true,
"negativeEvePowerMeter": true,
"eveHistory": true,
"eveLineGraph": false,
"feedingToSensor": false,
"pullingFromSensor": false,
"sensorThreshold": 0
},
"home": {
"homekitVisual": true,
"evePowerMeter": true,
"eveHistory": true,
"eveLineGraph": false,
"feedingToSensor": false,
"sensorThreshold": 0
},
"gridstatus": {
"gridIsDownSwitch": false,
"gridIsUpSwitch": false,
"gridIsNotYetInSyncSwitch": false,
"gridIsDownSensor": false,
"gridIsUpSensor": false
}
}
I really would like to use the plugin, it also appears in the HomeKit app but says: no answer or e.g. Grid Feed (not supported). Any ideas?
Posting as issue in case I'm missing something obvious here.
I'm trying to trigger automations based on Powerwall battery level, e.g., when battery over 95% full, turn on pool heating so as not to waste excess power.
However, I'm struggling to do this with any of the current accessories:
So my next steps are:
Before I do that ... is there anything obvious I'm missing? Thanks!
I have Homebridge 1.5.0 (Node.js v16.16.0) installed on Raspberry Pi 4 (2GB RAM) that is running OpenMediaVault 6. I installed the Tesla Powerwall plugin as a separate bridge this morning, and I can see "home bridge: homebridge-tesla-powerwall" gradually using more and more memory when I run htop (VIRT column goes up consistently). Is anyone else having the same issue? Here's a graph from OMV's GUI:
I tried v3.1.0-Beta5, but VIRT memory consistently increases, just like v3.0.0.
Here is my config:
{
"platform": "TeslaPowerwall",
"name": "Tesla Powerwall",
"_bridge": {
"username": "1E:82:FA:2C:5F:1F",
"port": 56251
},
"ip": "192.168.82.23",
"password": "[redacted]",
"additionalServices": {
"powerwall": {
"eveHistory": false
},
"solar": {
"homekitVisual": false,
"evePowerMeter": false,
"eveHistory": false
},
"grid": {
"positiveEvePowerMeter": false,
"negativeEvePowerMeter": false,
"eveHistory": false
},
"battery": {
"positiveEvePowerMeter": false,
"negativeEvePowerMeter": false,
"eveHistory": false
},
"home": {
"evePowerMeter": false,
"eveHistory": false
}
}
},
Hi,
Great plug in. Is there a way to display what mode the battery is in or even force it to charge off the grid by clicking a button? I read the API to the servers is quicker than the API to the gateway. (Hope I have that right).
Cheers
in V1.x it was possible to transfer the data points from Tesla Powerwall to ioBroker due wrapping modus of homebridge-tesla-powerwall in a iobroker.ham. instanc.
Unfortunately, this no longer works in V2. Does anyone already have a workaround?
The Powerwall device itself is showing as a light in the device summary. It is excluded from the Home Summary, but is still showing as a light in the summary for the room containing it.
Is there a way to suppress this?
characteristic was supplied illegal value: number -141.63087646484374 exceeded minimum of -100
For example:
After updating to version 20.49.0 the plugin does not work.
Thank you
Add option to output the power as kW instead of W. Mainly for the Homekit "display" services.
Questions (for me)
are there any plans to support (garage) doors ?
I’d love to be able to automate some actions (turn things off mostly) when the grid is down and the battery is low. Is there any way to do this with the API you use?
I was hoping some documentation for the "gridIsNotYetInSyncSwitch" switch could be added.
Basically upstream leeliu@37b1e1a .
The change was implemented in the past and can therefore be installed via: sudo npm install -g [email protected]
.
Commit that implemented the change in this repo: f144a9c
Things missing would be (this were the reasons for the revert before the release of 2.0.0):
Hi, software update 20.49.0 broke the communication with the powerwall. From reading through the API GitHub, some features now require authentication.
Hi,
How do you change the tariffs for power that it uses to calculate total cost etc?
I had a look in the Eve app and the plugin source but can't work it out.
Thanks
Great plugin, thank you for creating it!
A suggestion to consider. Homekit has built-in notifications for sensor states changing but not switches. I'd like to get native notifications when the grid goes down (as well as automating a few things). In homekit, sensors can be used to trigger automation just like switches can. Consider swapping out the switch accessories for the "grid up/down" service with a contact sensor (or two) that are set to open/closed when the circuit is. A nice bonus is the mental mapping between "open circuit" and "open contact sensor" for electronics :)
Add example configs for the following situations:
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.