briis / meteobridge Goto Github PK
View Code? Open in Web Editor NEWThe Meteobridge Integration adds support for retrieving current weather data from a Meteobridge datalogger connected to a local Weather Station.
License: MIT License
The Meteobridge Integration adds support for retrieving current weather data from a Meteobridge datalogger connected to a local Weather Station.
License: MIT License
unless I am misunderstanding or my configuration has been wrong for years, it looks like sea level and station pressures are inverted with this release
I would expect
sea level = absolute pressure
station = relative pressure
I've just updated to version 3.2, after sorting my previous issues.
The integration has installed correctly, and on HA startup, the data is populated correctly. However, the integration does not then update the data again unless you restart it, at which point it goes around the same loop - updates once, then stops updating.
I have tried changing the update interval, but I still get the same issue.
I updated yesterday trying to go from 2.6 to 3.0. I followed the instructions exactly updating, then restarting, deleting integration, then adding integration. All of those steps were successful.
While the integration is successfully completed, I immediately get the following error:
Retrying setup: time data 'None' does not match format '%Y%m%d%H%M%S'
I rolled back to 2.6 and everything was up and running again (yesterday)
Seeing the 3.1 update, I decided to try it all again, this time not double tasking so I was more focused, realizing the update notes did not cover this issue, but considering user error on my side.
Same process to update, restart, delete, add integration. Same outcome.
Are my steps in the wrong order? I dont have logs enabled yet, but I can get them going if it will help. My plan was to roll back to 2.6 again at this point.
Thanks
Good morning, I just discovered some Log entries after restarting HASS.
Is this a wrong config on my side?
File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for
return fut.result()
File "/usr/src/homeassistant/homeassistant/components/upnp/sensor.py", line 89, in async_setup_entry
device: Device = hass.data[DOMAIN]["devices"][udn]
KeyError: 'uuid:4533e9c7-2b08-4bac-9e9d-743d972b6ac7'
2020-07-05 08:14:45 ERROR (MainThread) [homeassistant.components.ipp] Error fetching ipp data: Invalid response from API: Error occurred while communicating with IPP server.
2020-07-05 08:14:45 WARNING (MainThread) [homeassistant.config_entries] Config entry for ipp not ready yet. Retrying in 10 seconds.
2020-07-05 08:14:55 WARNING (MainThread) [homeassistant.helpers.condition] Value cannot be processed as a number: <state sensor.temperature=19.6; attribution=Powered by Meteobridge, brand=Meteobridge, station_hw=Meteobridge Nano, station_ip=192.168.1.209, unit_of_measurement=°C, friendly_name=Temperature, icon=mdi:thermometer, device_class=temperature @ 2020-07-05T08:14:55.016080+02:00> (Offending entity: ?)
2020-07-05 08:14:59 ERROR (MainThread) [homeassistant.components.ipp] Error fetching ipp data: Invalid response from API: Error occurred while communicating with IPP server.
2020-07-05 08:14:59 WARNING (MainThread) [homeassistant.config_entries] Config entry for ipp not ready yet. Retrying in 20 seconds.
2020-07-05 08:15:06 WARNING (MainThread) [homeassistant.helpers.condition] Value cannot be processed as a number: <state sensor.temperature=19.7; attribution=Powered by Meteobridge, brand=Meteobridge, station_hw=Meteobridge Nano, station_ip=192.168.1.209, unit_of_measurement=°C, friendly_name=Temperature, icon=mdi:thermometer, device_class=temperature @ 2020-07-05T08:15:06.647188+02:00> (Offending entity: ?)
2020-07-05 08:15:15 ERROR (SyncWorker_3) [homeassistant.components.command_line.sensor] Command failed: echo $ ((' cat /sys/class/thermal/thermal_zone0/temp | cut -c1-2'))
2020-07-05 08:15:23 ERROR (MainThread) [homeassistant.components.ipp] Error fetching ipp data: Invalid response from API: Error occurred while communicating with IPP server.
2020-07-05 08:15:23 WARNING (MainThread) [homeassistant.config_entries] Config entry for ipp not ready yet. Retrying in 40 seconds.
2020-07-05 08:16:07 ERROR (MainThread) [homeassistant.components.ipp] Error fetching ipp data: Invalid response from API: Error occurred while communicating with IPP server.
2020-07-05 08:16:07 WARNING (MainThread) [homeassistant.config_entries] Config entry for ipp not ready yet. Retrying in 80 seconds.
2020-07-05 08:16:16 ERROR (SyncWorker_9) [homeassistant.components.command_line.sensor] Command failed: echo $ ((' cat /sys/class/thermal/thermal_zone0/temp | cut -c1-2'))
2020-07-05 08:17:17 ERROR (SyncWorker_13) [homeassistant.components.command_line.sensor] Command failed: echo $ ((' cat /sys/class/thermal/thermal_zone0/temp | cut -c1-2'))
2020-07-05 08:17:31 ERROR (MainThread) [homeassistant.components.ipp] Error fetching ipp data: Invalid response from API: Error occurred while communicating with IPP server.
2020-07-05 08:17:31 WARNING (MainThread) [homeassistant.config_entries] Config entry for ipp not ready yet. Retrying in 80 seconds.
2020-07-05 08:18:18 ERROR (SyncWorker_11) [homeassistant.components.command_line.sensor] Command failed: echo $ ((' cat /sys/class/thermal/thermal_zone0/temp | cut -c1-2'))
2020-07-05 08:18:55 ERROR (MainThread) [homeassistant.components.ipp] Error fetching ipp data: Invalid response from API: Error occurred while communicating with IPP server.
2020-07-05 08:18:55 WARNING (MainThread) [homeassistant.config_entries] Config entry for ipp not ready yet. Retrying in 80 seconds.
2020-07-05 08:19:08 WARNING (MainThread) [homeassistant.helpers.condition] Value cannot be processed as a number: <state sensor.temperature=19.8; attribution=Powered by Meteobridge, brand=Meteobridge, station_hw=Meteobridge Nano, station_ip=192.168.1.209, unit_of_measurement=°C, friendly_name=Temperature, icon=mdi:thermometer, device_class=temperature @ 2020-07-05T08:19:08.625258+02:00> (Offending entity: ?)
2020-07-05 08:19:19 ERROR (SyncWorker_17) [homeassistant.components.command_line.sensor] Command failed: echo $ ((' cat /sys/class/thermal/thermal_zone0/temp | cut -c1-2'))
This custom integration uses deprecated DEVICE_CLASS_*
constants in its codebase.
The DEVICE_CLASS_*
constants have been deprecated and replaced in Home Assistant Core 2021.12 (over a year ago). I would highly suggest updating/migrating this integration to the new enums.
For example, for the device classes supported by the sensor
platform, there is now a SensorDeviceClass
enum. So if a sensor previously used the DEVICE_CLASS_ENERGY
constant, it should now use SensorDeviceClass.ENERGY
. Other platforms (like binary_sensor
, and number
) provide similar enumerations for their supported device classes.
The migration thus only consists of replacing constants with an enumeration member and is, therefore, very low impact and should be fairly straightforward.
If I can help resolve any questions regarding this change or migration, feel free to ask or respond to this issue. I'm happy to help!
Kindest regards,
../Frenck
As can be seen from the screenshot, I have a configuration that produces 8 extra sensors. Arguably 7 because #1 is missing. There might be eight easily, however, because I am using the MeteoBridge with a GW1000 from Ecowitt, which in turn supports 8 different channels for additional temp/humidity sensors (there are other types of sensors also supporting up to 8).
The integration's code only checks for extra sensors 1-7 and thus misses my 8th sensor. A comment in another issue suggests that using MeteoBridge sensor mapping may help with this, but it is not clear how. The screenshot was produced without any custom mappings in place. At the least you might want to include documentation to describe which "logical" sensors will be picked up by the integration, so that a suitable one may be chosen.
So I'd like to understand how I can get that 8th sensor to show up, or alternatively for the integration to support 8 extra sensors (7 seems a rather odd number to have been chosen, but that's the engineer in me speaking).
Who can help me to fix these two errors?
Questo errore ha avuto origine da un'integrazione personalizzata.
Registratore: custom_components.meteobridge
Fonte: helpers/update_coordinator.py:350
integration: Meteobridge Datalogger (documentazione, problemi)
Prima occorrenza: 23 marzo 2024, 21:00:03 (5 occorrenze)
Ultima registrazione: 06:00:04
Error fetching meteobridge data: Error while retreiving data: Error requesting data from Meteobridge: Server disconnected
Error fetching meteobridge data: Error while retreiving data: Error requesting data from Meteobridge: Cannot connect to host admin.meteobridge.com:443 ssl:default [Connect call failed ('162...*', 443)]
I have three Davis Weather stations (one ISS, and two temperature stations) connected to a Weatherlink Live which is feeding meteobridge.
I have configured the Meteobridge integration setting for additional sensors to "2" and have also tried the maximum of "7". Also "Enable newly added entities" and "Enable polling for updates" are both enabled. My two additional two sensors do not get populated in Home Assistant.
Meteobridge version: Meteobridge 5.2 (Dec 5 2021, build 2460), FW 1.3
Running HASSOS. Version info below.
Meteobridge Datalogger Integration v3.2.4 installed via HACS
version | core-2021.12.7 |
---|---|
installation_type | Home Assistant OS |
dev | false |
hassio | true |
docker | true |
user | root |
virtualenv | false |
python_version | 3.9.7 |
os_name | Linux |
os_version | 5.10.83 |
arch | x86_64 |
timezone | America/New_York |
GitHub API | ok |
---|---|
Github API Calls Remaining | 4809 |
Installed Version | 1.19.1 |
Stage | running |
Available Repositories | 931 |
Downloaded Repositories | 11 |
logged_in | false |
---|---|
can_reach_cert_server | ok |
can_reach_cloud_auth | ok |
can_reach_cloud | failed to load: timeout |
host_os | Home Assistant OS 7.0 |
---|---|
update_channel | stable |
supervisor_version | supervisor-2021.12.2 |
docker_version | 20.10.9 |
disk_total | 118.5 GB |
disk_used | 13.2 GB |
healthy | true |
supported | true |
board | generic-x86-64 |
supervisor_api | ok |
version_api | ok |
installed_addons | Terminal & SSH (9.2.2), AdGuard Home (4.4.2), Grafana (7.4.0), InfluxDB (4.3.0), Mosquitto broker (6.0.1), Network UPS Tools (0.9.0), Node-RED (10.2.2), Studio Code Server (3.7.0), UniFi Network Application (1.1.3), Samba share (9.5.1), Dnsmasq with DHCP (1.0.1), Z-Wave JS (0.1.51), Check Home Assistant configuration (3.9.0), Samba Backup (5.0.0) |
dashboards | 8 |
---|---|
resources | 4 |
views | 12 |
mode | storage |
2022-01-08 20:19:55 DEBUG (MainThread) [custom_components.meteobridge] Connected to Meteobridge Platform Davis-WLL
2022-01-08 20:19:59 DEBUG (MainThread) [custom_components.meteobridge] Finished fetching meteobridge data in 4.152 seconds (success: True)
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.binary_sensor] Adding binary sensor entity Is Freezing
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.binary_sensor] Adding binary sensor entity Is Raining
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Air Temperature
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Sea Level Pressure
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Station Pressure
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Relative Humidity
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Precipitation Rate
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Precipitation Today
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Precipitation Current Month
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Precipitation Current Year
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Wind Speed
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Wind Direction
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Wind Gust
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Beaufort
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Solar Radiation
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity UV Index
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Feels Like Temperature
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Heat Index
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Wind Chill
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Dewpoint
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Visibility
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Temperature Trend
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Pressure Trend
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity UV Description
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Wind Cardinal
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Beaufort Description
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Indoor Temperature
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Indoor Humidity
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Air Density
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Wet Bulb Temperature
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Air Temperature Day Min
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Air Temperature Day Max
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Air Temperature Month Min
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Air Temperature Month Max
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Air Temperature Year Min
2022-01-08 20:20:00 DEBUG (MainThread) [custom_components.meteobridge.sensor] Adding sensor entity Air Temperature Year Max
Im struggling with the update to the new version. I followed the instructions, but I keep getting an 'Unknown Error' error when I attempt to start the new integration. Ive checked that I don't have any traces of the old version still present. I checked the Host logs, and I get the following:
2021-11-29 17:20:07 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/aiohttp/web_protocol.py", line 422, in _handle_request
resp = await self._request_handler(request)
File "/usr/local/lib/python3.9/site-packages/aiohttp/web_app.py", line 499, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.9/site-packages/aiohttp/web_middlewares.py", line 119, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 98, in forwarded_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 24, in request_context_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 78, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 138, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 135, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 157, in post
return await super().post(request, flow_id)
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 62, in wrapper
result = await method(view, request, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
result = await self._flow_mgr.async_configure(flow_id, data)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 246, in async_configure
result = await self._async_handle_step(flow, cur_step["step_id"], user_input)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 320, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File "/config/custom_components/meteobridge/config_flow.py", line 58, in async_step_user
await meteobridge.initialize()
File "/usr/local/lib/python3.9/site-packages/pymeteobridgedata/api.py", line 76, in initialize
data = await self._process_request_result(result, FIELDS_STATION)
File "/usr/local/lib/python3.9/site-packages/pymeteobridgedata/api.py", line 295, in _process_request_result
return ast.literal_eval(data)
File "/usr/local/lib/python3.9/ast.py", line 62, in literal_eval
node_or_string = parse(node_or_string, mode='eval')
File "/usr/local/lib/python3.9/ast.py", line 50, in parse
return compile(source, filename, mode, flags,
File "", line 1
{'mac': 'B8:D8:12:60:5B:50', 'swversion': 5.2, 'platform': 'VOCORE2', 'station': 'Vantage', 'timezone': 'Europe/London', 'uptime': 1874, 'ip': XXX.XXX.XXX.XXX', 'elevation': --}
^
SyntaxError: unexpected EOF while parsing
Can you help me with this? I am guessing this is something wrong my end, but i can't see the issue looking at the above.
Many thanks!
This is a non-serious error as it does not seem to impact the system ,just shows up i nthe logs alot.
`
Log Details (ERROR)
Logger: custom_components.meteobridge
Source: helpers/update_coordinator.py:124
Integration: Meteobridge Datalogger (documentation)
First occurred: 9:12:20 AM (20 occurrences)
Last logged: 8:39:24 PM
Unexpected error fetching meteobridge data: local variable 'sensor_item' referenced before assignment
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 136, in async_refresh
self.data = await self._async_update_data()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 124, in _async_update_data
return await self.update_method()
File "/usr/local/lib/python3.7/site-packages/pymeteobridgeio/client.py", line 61, in get_sensor_data
return await self._sensor_data()
File "/usr/local/lib/python3.7/site-packages/pymeteobridgeio/client.py", line 413, in _sensor_data
return sensor_item
UnboundLocalError: local variable 'sensor_item' referenced before assignment
`
I had to reinstall the Integration. But now it is in the HACS Integration but not on the integration page in the settings anymore? The files are on their place and I did it twice. Any hint?
I did not see a way to change my password. I had to reinstall the integration which meant I have to rename all the sensors again.
Hi,
After the upgrade from 2.6.3 to 3.2.2 I am missing sensors showing the year and month precipitation totals as available in 2.6.3, only the daily precipitation total is still available in 3.2.2 (sensor.meteobridge_precipitation_today). Is it possible to add these sensors showing the monthly and yearly precipitation total again?
Thanks for the good work!
Regards,
Tim
Is there a way to remove the units for U -index? I am used to this being unit less.
Hi,
Since the last couple of days the integration is showing Retrying setup: 'NoneType' object has no attribute 'value'
Have it removed and installed again but that did not help.
The error in de core-log shows:
2021-12-15 17:15:56 ERROR (MainThread) [custom_components.meteobridge] Unexpected error fetching meteobridge data: 'NoneType' object has no attribute 'value' Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 187, in _async_refresh self.data = await self._async_update_data() File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 147, in _async_update_data return await self.update_method() File "/config/custom_components/meteobridge/__init__.py", line 94, in async_update_data data: ObservationDescription = await meteobridgeapi.update_observations() File "/usr/local/lib/python3.9/site-packages/pymeteobridgedata/api.py", line 139, in update_observations beaufort=beaufort_data.value, AttributeError: 'NoneType' object has no attribute 'value'
Can not figure out what the problem is. Thought that it was related to the new HA version so I upgraded HA.
That did not help and tried to remove and install it again but that did not help either.
The meteobridge was up and running but to be certain I rebooted the meteobridge but seeing the same error in the log.
Running version of HA:
core-2021.12.1
supervisor-2021.12.2
Home Assistant OS 7.0
Running on the meteobridge : Meteobridge 5.2 (Dec 6 2021, build 4077), FW 1.4
Hope you can help to solve this.
Thanks.
Regards,
Wouter
Hello thank you for working on this. I have a few extra senses mainly temperature and soil temp that show up on my metrobridge anyway to include them in your output?
Homeassistant logs are indicating wind sensor is using measurement of mi/h
however expecting on of these: 'kn', 'mph', 'km/h', 'm/s', 'ft/s'
2023-03-12 23:47:25.781 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.meteobridge_wind_speed (<class 'custom_components.meteobridge.sensor.MeteobridgeSensor'>) is using native unit of measurement 'mi/h' which is not a valid unit for the device class ('wind_speed') it is using; expected one of ['kn', 'mph', 'km/h', 'm/s', 'ft/s']; Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.
As already indicated via HACommunity, I would like the measured time as an extra attribute for the following sensors:
This is something I had built when I was tooling around with accessing my GW1000, it is a "generic" weather component that can use both darksky (or another weather component) and injects weather data from the gw1000. This could give you a foundation to build something similar for the metobridge, injecting sensor data where/when available.
https://github.com/xannor/hass_gw1000/blob/master/custom_components/gw1000/weather.py
this is handy since there is no weather template.
Hi everybody,
if my meteobridge is in another wifi area is it possible to use this integration?
Thanks
Title says it all. Would be nice to be able to override the default units. While it did choose the right temperature degrees for me, pressure is using inHg instead of mb/hPa.
where do i add the ip/user/pass ?
i have 2.6.3 installed via HACS, i see the folders in custom_components
that's where i get lost or miss something. (reinstalled/restarted multiple times)
HACS 1.13.2
Home Assistant 2021.7.3
Hi...
question/issue... I used to be able to pull my indoor temperature and humidity from the data logger.
I'm guessing these are gone? is there any chance at replacing them?
Meteobridge shows that Wind Chill is currently 38.1F, whereas this HACS addon is showing 59.4F. The addon's value is changing as Meteobridge's value changes, but the addon's value is consistently higher than it should be.
in the current implementation the extra sensors are limited to 2. The Meteobridge PRO >4.4 supports now secondary stations like a cheap GW1000 (Ecowitt) or DP1500 (Froggit) where you can add multiple sensors in a cheap way, but I can't get them in HA.
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.