Coder Social home page Coder Social logo

luuuis / hass_wibeee Goto Github PK

View Code? Open in Web Editor NEW

This project forked from abacao/hass_wibeee

19.0 19.0 7.0 206 KB

Home Assistant: Wibeee energy monitor custom component

Home Page: https://community.home-assistant.io/t/new-integration-energy-monitoring-device-circutor-wibeee/45276/176

License: GNU General Public License v3.0

Python 98.49% Shell 1.51%
circutor mirubee smilics wibeee

hass_wibeee's People

Contributors

abacao avatar edurenye avatar juanjosanz avatar luuuis avatar misa1515 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

hass_wibeee's Issues

Logo não aparece

Sei que poderá não ser muito importante mas ficava esteticamente mais agradável se a integração tivesse um logo.
No meu caso não tem.
Screenshot_2023-01-21-23-59-49-43_c3a231c25ed346e59462e84656a70e50

Energy panel stops working after some time in Local Push mode

I've noticed that from time to time the energy panel in HA stops receiving data from wibeee. The workaround is rebooting HA.

For example, today at 6am stopped working:

Screenshot_218

The only message from wibeee at that hour is this:

2024-02-20 06:00:08.667 WARNING (MainThread) [homeassistant.helpers.entity] Updating state for sensor.wibeee_001ec0350aaa_reactive_power_l1 (<class 'custom_components.wibeee.sensor.WibeeeSensor'>) took 1.967 seconds. Please create a bug report at https://github.com/luuuis/hass_wibeee/issues

This is the energy panel config:

Screenshot_219

I think the sensor itself continues working as expected getting values (I must check it when the problem araises again), so it seems a problem related to the energy panel.

If you need additional info please tell me.

Thank you.

Reconnect wibeee after become online

After a Wibeee device comes online after being disconnected, its possible to retry the connetion to get the status again?
Only works after a HA restart.

image

Logs:
image

Integration doesn't start when Wibeee XML API does not respond

When I restart HA, the integration doesn't start, and to solve the issue, I have to reload the integration entries.

wibeee

wibeee_2

wibeee_3

LOGS

This error originated from a custom integration.

Logger: custom_components.wibeee.api
Source: custom_components/wibeee/api.py:73
Integration: wibeee (documentation, issues)
First occurred: 9:46:46 AM (28 occurrences)
Last logged: 12:36:10 PM

Error getting http://192.168.68.210/en/status.xml after 3 retries: ClientResponseError: 400, message="Expected HTTP/:\n\n b'AT+CIPSENDBUF=4,415'\n ^", url=URL('http://192.168.68.210/en/status.xml')
Error getting http://192.168.68.210/en/status.xml after 3 retries: ClientResponseError: 400, message="Expected HTTP/:\n\n b''\n ^", url=URL('http://192.168.68.210/en/status.xml')
Error getting http://192.168.68.210/en/status.xml after 3 retries: ServerDisconnectedError: Server disconnected
Error getting http://192.168.68.210/en/status.xml after 3 retries: TimeoutError:
Error getting http://192.168.68.210/en/status.xml after 3 retries: ClientResponseError: 400, message="Expected HTTP/:\n\n b'AT+CIPSENDBUF=4,412'\n ^", url=URL('http://192.168.68.210/en/status.xml')


Logger: homeassistant.components.sensor
Source: runner.py:188
Integration: Sensor (documentation, issues)
First occurred: 9:40:35 AM (1 occurrences)
Last logged: 9:40:35 AM

Setup of sensor platform wibeee is taking over 10 seconds.


Logger: homeassistant.components.sensor
Source: helpers/entity_platform.py:361
Integration: Sensor (documentation, issues)
First occurred: 9:40:31 AM (1 occurrences)
Last logged: 9:40:31 AM

Error while setting up wibeee platform for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 361, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/wibeee/sensor.py", line 207, in async_setup_entry
initial_status = await api.async_fetch_status(retries=10)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/wibeee/api.py", line 27, in async_fetch_status
return status["response"]
~~~~~~^^^^^^^^^^^^
KeyError: 'response'

(wiki) incorrect sensor names used in `integration` sensor examples

Following the sensors example, custom template sensor miss the "name" field. Without the "name" field, they're gonna be generated as "sensor.template_grid..."
image

this leads to a fail when creating "Integration - Riemann sum integral" sensors, as they search for "sensor.grid..."
image

Propossed code to solution it's just add name field to template example:

template:
  sensor:
    - name: grid_import_export_power
      unique_id: grid_import_export_power
      device_class: power
      unit_of_measurement: 'W'
      state_class: measurement
      state: >-
        {% if states('sensor.wibeee_phase4_power_factor') | float < 0 %}
          {{ states('sensor.wibeee_phase4_active_power') | float * -1 | round(0) }}
        {% else %}
          {{ states('sensor.wibeee_phase4_active_power') | float | round(0) }}
        {% endif %}
      availability: "{{ not states('sensor.wibeee_phase4_active_power') in ('unavailable', 'unknown') and not states('sensor.wibeee_phase4_power_factor') in ('unavailable', 'unknown') }}"
      attributes:
        friendly_name: "Grid import(+) or export(-) power"
    - name: grid_import_power
      unique_id: grid_import_power
      device_class: power
      unit_of_measurement: 'W'
      state_class: measurement
      state: "{{ [states('sensor.template_grid_import_export_power') | float, 0] | max | round(0) }}"
      availability: "{{ not states('sensor.template_grid_import_export_power') in ('unavailable', 'unknown') }}"
      attributes:
        friendly_name: "Grid import power"
    - name: grid_export_power
      unique_id: grid_export_power
      device_class: power
      unit_of_measurement: 'W'
      state_class: measurement
      state: "{{ [states('sensor.template_grid_import_export_power') | float, 0] | min | abs | round(0) }}"
      availability: "{{ not states('sensor.template_grid_import_export_power') in ('unavailable', 'unknown') }}"
      attributes:
        friendly_name: "Grid export power"

Add configuration options to change the upstream URL

In #59 you suggested me to use the Local Push support, but I couldn't use it since my provider uses another upstream other than nest and they have their own app and so on. But I noticed that pulling all the time makes the wibeee device unresponsible from time to time and it doesn't happen when I stop pulling, so I want to try the 'Local Push support', as it should give no extra load to the device.

I think this is a great feature for all the people that does not use the official 'http://nest-ingest.wibeee.com' upstream.

Wibeee Sensors not showing in HASS (fw 4.6.170)

My Wibeee is a Wibeee BOX with fw version 4.6.170 and I get this error in HASS:

Error getting http://192.168.1.199/services/user/values2.xml?id=WIBEEE after 10 retries: ServerDisconnectedError: Server disconnected

I have checked via command line that this URL returns an error but if I change values2.xml to values.xml it does work. And it also works http://192.168.1.199/en/status.xml

But I have not been able to configure the integration to use one of these URLs. Can you help me with this?

Thanks!

Errors after moving from old repo to luuuis repo

Luis,

hi. Yesterday I moved from abacao to your version, however I'm facing new (different) errors

image

Error getting http://192.168.31.228:80/en/status.xml, will retry. ExpatError: mismatched tag: line 48, column 25
21:11:04 – (AVISO) wibeee (custom integration) - mensagem ocorreu primeiro em 21:09:34 e repetiu-se 2 vezes
Error getting http://192.168.31.228:80/en/status.xml, will retry. ServerDisconnectedError: Server disconnected
21:08:49 – (AVISO) wibeee (custom integration)
Error getting http://192.168.31.228:80/en/status.xml, will retry. TimeoutError:
21:08:41 – (AVISO) wibeee (custom integration)

Wibeee Box Mono with firmware 4.4.171, no Sensors showing in Home Assistant.

Hi,
I've installed the "hass_wibee" via HACS. I was able to install the Integration and add the device IP and "Disabled (polling only)", also tried the other options. It shows that one entry "Wibeee 7D09A2" and bellow shows "No devices or entries". (see attachment) But unfortunatly I cannot see any sensors. Do I need to create them manually or should they have been populated during the configuration?
It's a Wibeee Box Mono with firmware 4.4.171. I've 3 connectors.
wibeee-1
I'm using Home Assistant Container, so it's not easy to edit files in the config folder.
Any advise?
Thank you.

Warning in log about invalid unit for `power_factor` device class

`Logger: homeassistant.components.sensor
Source: components/sensor/init.py:677
Integration: Sensor (documentation, issues)
First occurred: 17:21:34 (2 occurrences)
Last logged: 17:21:34

Entity sensor.wibeee_84f3eba16954_power_factor_l1 (<class 'custom_components.wibeee.sensor.WibeeeSensor'>) is using native unit of measurement '' which is not a valid unit for the device class ('power_factor') it is using; expected one of ['%', 'no unit of measurement']; Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.
Entity sensor.wibeee_84f3eba16954_power_factor_l4 (<class 'custom_components.wibeee.sensor.WibeeeSensor'>) is using native unit of measurement '' which is not a valid unit for the device class ('power_factor') it is using; expected one of ['%', 'no unit of measurement']; Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.`

Error getting http://xxxxx/en/status.xml

Este erro teve origem numa integração personalizada.

Logger: custom_components.wibeee.api
Source: custom_components/wibeee/api.py:77
Integration: wibeee (documentation, issues)
First occurred: 18:45:26 (2 occurrences)
Last logged: 19:35:05

Error getting http://xxx.xxx.x.xx/en/status.xml after 3 retries: ClientResponseError: 400, message='Expected HTTP/', url=URL('http://xxx.xxx.1.xx/en/status.xml')

good afternoon… this error is appearing and sometimes the sensor goes to zero. I've already tried increasing the interval time but it doesn't solve the problem. I'm not using the API anywhere else and I have the firmware up to date. Does anyone know what else I can try? Thanks

Entities not shown on the energy dashboard

When trying to set the grid consumption on the energy dashboard from Home Assistant, the entity suggested are sensor.wibeee_xxxxxx_active_energy_lx but for the grid consumption case, the value is always 0. The entity showing the right data is sensor.wibeee_xxxxxx_active_power_lX.
When scrolling down there's an option that says:
Why is my entity not listed? Learn more about statistics and a link here. Maybe that should be changed in order to be able to use this entity instead.

Integration failed to start

I did not have debug logs enabled, but caught this on the log.

2024-01-17 21:27:39.015 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up wibeee platform for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 360, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/wibeee/sensor.py", line 228, in async_setup_entry
device = await api.async_fetch_device_info(retries=5)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/wibeee/api.py", line 67, in async_fetch_device_info
device_vars = {var['id']: var['value'] for var in values['values']['variable']}
~~~~~~^^^^^^^^^^
KeyError: 'values'

Iberdrola changed URL of Wibeee server data: ingest-prod-iberdrola.wibeee.com

10 days ago my Wibeee stopped working. Errors show timeouts when getting Wibeee data. After trying several options, I found that factory resetting the device and joining again using Iberdrola's Monitor Smart app, now is back to work.

However, URL of Iberdrola Server has changed. Now the device has the following config: image

May be necessary to change hass_wibee integration to reflect this new server, or allow manually enter URL of server for relaying data.

Wibeee (old mirubee) local activation

Hi Luis, this may not be a real issue, is more a doubt. In nest I can't find the option to change the IP in order to activate the local push. Can you help with that?

Not showing active energy

I´ve integrated Wibee into HA succesfully but when i try to insert it in the energy tab panel, the only 4 sensors shown are "Active energy" but their value is always "0".

I was trying to take data from "Capacitive Reactive Energy" (VARh) but they are not shown in the list to pick, linking to:
https://www.home-assistant.io/more-info/statistics/

Now i am doing this with Riemann sum integral and taking data from "Active power" sensor.

Is there any way to implement it directly?
Thanks.

Entities not shown on the energy dashboard

When using the wibee home app, the entity that shows the same amount as the app is WIBEEE Active Power L2 instead of the ones suggested in the energy dashboard WIBEEE Active Energy L4. When scrolling down there's an option that says:
Why is my entity not listed? Learn more about statistics and a link here. Maybe that should be changed in order to be able to use the same as the app.

Can’t create the sensor in the exemple code

I’m new to HA so forgive me to asking probably a noob question:

I replicate the exemple code to configuration.yaml file and check for errors. Also change the name of the sensor for the correct one.

it works with the sensor.grid_import_or_export_power, but the sensor.grid_import_power I have the “unavailable” and with sensor.grid_import_energy the result is unknown.

Do I miss a step?

Solar panels configuration

Hi!

I've got solar panels, and I can't figure out the configuration needed to use the solar panel figure of the energy panel on hass,

could I get some assistance on this?

RaspPI4 is slow to display graphs when Local Push is enabled

Good afternoon, I have local push configured to avoid errors in status.xml. Because of this, updates are made every 1 second
This way the database is heavily underloaded. Just to view daily consumption, RaspPI4, takes a long time. On another occasion he told me about the "recorder", but it is not possible to edit the recording time on specific sensors.
Would there be another way, with local push configured, to change the polling interval? Thank you and congratulations for the work

Como usar medidor produção e consumo?

Bom dia! Peço desculpa de usar a língua portuguesa para o caso.
Eu tenho dois equipamentos wibeee. Trifásico e monofásico.
Utilizo o equipamento trifásico para medir o consumo energético da casa e o monofásico para medir a produção dos painéis.
O medidor está a captar dados pela linha 1 e injeta na fase 1 da rede de casa.
Os valores de medição de produção de energia não deveriam ser negativos?
Atualmente não consigo perceber o valor que estou a injetar agora a rede. Todos os valores se apresentam como positivos. Na app wibeee nest consigo mudar a orientação da linha e a produção aparece com valores negativos. O que devo fazer?

Separating and integrating yields to jumps

This is a comment on the suggestion to create a template sensor for import and another one for export. When integrating these, after a long time of being zero, the energy sensor shows a "jump" that isn't real.

It happens because it adds the area of a very wide triangle (all the time it was zero) and a small height (1W).

Any idea how to fix that?

Screenshot_20230617_192930

Otherwise, this integration seems to be working perfectly!! Thanks!!

se pierde configuracion

buenas, con los reinicios de HA la configuracion se pierde y tengo que volver a meter los datos de la IP, ¿A alquien mas le pasa?

sensor.wibeee_xxxxx_apparent_power_lx has unit VA which is unsupported for device_class power

Hi,

I have plenty of messages like this in the log due to units that do not match the device_class. Also in the developer's menu, Statistics section there are messages related to some of the sensors coming from the WIBEE integration.

I recently visited the "integrations sensor" page:
https://www.home-assistant.io/integrations/sensor/
and notices there are "maybe new" device classes and units that might be more appropriate for some of the sensors, for example there is one device_class for "apparent_powe" whose unit it VA. and another one called "reactive_power" for a unit called "var" and another one for power_factor in the "%" unit.

So this issue is to send a heads up on this topic and see if it would be possible to update the sensor units.

Regards
Ignacio

It does not work anymore

With the new firmware update the addon can no longer connect "Couldn't read device info", i am having these problems with Wibeee Box Tri.

Energy sensors missing `last_reset` attribute

First of all, thank you for the progress with your integration.
The problem I have is that the energy panel does not work for me, I attach a screenshot. It must be included in the attribute of the entity "last reset" I do not know how to solve it.
Thanks
Screenshot_62

Energy

Good morning again, sorry to bother you again. Let's see if you can help me again. As you can see in the attachment, the consumption graphs are not visible. As you can see, the entity gives values ​​that are not normal. Greetings and thanks again.

Screenshot_63
Screenshot_64
Screenshot_66

Connector Error, plus

The response-time is wonderful, but still the connection problems persiste:

This error originated from a custom integration.

Logger: custom_components.wibeee.api
Source: custom_components/wibeee/api.py:31
Integration: wibeee (documentation, issues)
First occurred: 21 July 2023 at 21:41:26 (258 occurrences)
Last logged: 18:50:21

Error getting http://192.168.2.139/services/user/devices.xml after 5 retries: ClientConnectorError: Cannot connect to host 192.168.2.139:80 ssl:default [Connect call failed ('192.168.2.139', 80)]

And I tried to solve it with some automations and reloads of integration/entities.

But a new one has been added:

Logger: homeassistant.components.sensor
Source: custom_components/wibeee/api.py:32
Integration: Sensor (documentation, issues)
First occurred: 21 July 2023 at 21:41:26 (258 occurrences)
Last logged: 18:50:21

Error while setting up wibeee platform for sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 353, in _async_setup_platform
    await asyncio.shield(task)
  File "/config/custom_components/wibeee/sensor.py", line 206, in async_setup_entry
    device = await api.async_fetch_device_info(retries=5)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/wibeee/api.py", line 32, in async_fetch_device_info
    device_id = devices['devices']['id']
                ~~~~~~~^^^^^^^^^^^
KeyError: 'devices'

Any ideas, @luuuis?

Ps. "258 occurrences", in both cases... that's a lot.

port 8600

It does not allow me the option nest proxy port 8600, port closed

ConnectionResetError in Wibeee Nest listener

Reported in Active Energy L1 (eac1) returns 0 while eacprod1 and eaccons1 have positive values #80. When configured for Local Push there is an error happening in Nest listener when getting push updates from firmware 4.4.171.

2024-02-27 07:30:02.582 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 543, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/wibeee/nest.py", line 68, in handler
    mac_addr, push_data, forward_body = await decode_data(req)
                                        ^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/wibeee/nest.py", line 136, in extract_json_body
    body = await req.text() if req.can_read_body else None
           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_request.py", line 678, in text
    bytes_body = await self.read()
                 ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_request.py", line 663, in read
    chunk = await self._payload.readany()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/streams.py", line 395, in readany
    await self._wait("readany")
  File "/usr/local/lib/python3.12/site-packages/aiohttp/streams.py", line 302, in _wait
    await waiter
  File "/usr/local/lib/python3.12/asyncio/selector_events.py", line 999, in _read_ready__data_received
    data = self._sock.recv(self.max_size)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ConnectionResetError: [Errno 104] Connection reset by peer

HA local push not working for firmware 3.4.082

When setting the wibeee integration to local

imagen

It doesn't receive any data (only after 1800 seconds when the polling is triggered) Meanwhile this is what log states:

2024-01-23 20:37:31.532 DEBUG (MainThread) [custom_components.wibeee.nest] Ignoring unexpected GET /Wibeee/receiver 2024-01-23 20:37:32.517 DEBUG (MainThread) [custom_components.wibeee.nest] Ignoring unexpected GET /Wibeee/receiver 2024-01-23 20:37:33.508 DEBUG (MainThread) [custom_components.wibeee.nest] Ignoring unexpected GET /Wibeee/receiver 2024-01-23 20:37:34.508 DEBUG (MainThread) [custom_components.wibeee.nest] Ignoring unexpected GET /Wibeee/receiver ....

When I try to access my HA instance through port 8600 http://xxx.xxx.xxx.xxx:8600 (get) with the web explorer I receive an empty file. I don't know if that's the supposed normal behaviour.

Any help will be much appreciated.

Thanks.

Issues using tthe Wibeee Nest option

Hi luuuis,

I've tried to configure the Wibee HACS integration using the Wibeee Nest option, but it seems that I'm having some issues.
Note: I'm trying this option since I'm trying to move from the XML pooling each minute, since my Wibee started auto reset it self during the day.

Wibee BOX Mono: Firmware 4.4.171
HomeAssistant: Core 2024.2.2
Wibee HACS: 3.5.0

Steps to reproduce

  1. Configured the WibeeBox with server: 192.168.1.89, Port 8600
  2. Configured HA integration with Wibeee Nest option; Device Polling Interval: 1200

Expected behavior

  1. The Wibee box should have the blue light fixed and the red light blinking normally
  2. In the HA the data should update each second
  3. The NEST App should be updated each second

Actual behavior

  1. The Wibee box has the blue light blinking fast and the red light blinking normally
  2. In the HA the data updates randomly, normally each 10 to 60 seconds
  3. The NEST App updated at the beginning then stopped updating

What extra information or action do you need me to provide?

Thank you

XML API becomes unavailable, Nest Push continues to work

I've noticed that since last week I'm constantly having to manually reload the integration, or the sensors will be and stay "unavailable".

To the old error, during the startup:

Logger: custom_components.wibeee.api
Source: custom_components/wibeee/api.py:26
Integration: wibeee (documentation, issues)
First occurred: 10:19:21 (1 occurrences)
Last logged: 10:19:21

Error getting http://192.168.2.139/en/status.xml after 3 retries: TimeoutError:

Now there was other one, that I can't replicate:

Logger: homeassistant.components.sensor
Source: custom_components/wibeee/api.py:39
Integration: Sensor (documentation, issues)
First occurred: 07:31:16 (1 occurrences)
Last logged: 07:31:16

Error while setting up wibeee platform for sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 281, in _async_setup_platform
    await asyncio.shield(task)
  File "/config/custom_components/wibeee/sensor.py", line 198, in async_setup_entry
    device = await api.async_fetch_device_info(retries=5)
  File "/config/custom_components/wibeee/api.py", line 39, in async_fetch_device_info
    device_vars = {var['id']: var['value'] for var in values['values']['variable']}
KeyError: 'values'

Exemple (28/11 to 6/12) of activity, between the hass_wibeee component in HA and Wibeee Nest:
ha
wibeee

Not reaching the device

once introduced the proper IP address of the Mirubee device, it's not reachable.

Device is dated 2015, am I missing any step?

HA Modbus integration

Hi, Are you planning a Modbus version of this integration? it seems that now when you enable Modbus it continue to send data to the cloud platform (Nest)

Inestability of entities availability

Hi, the integration worked fine although it was hard to get the conection to the device (mirubee box v2) the first time, but from time to time I lose the availability of the related entities... However the mobile APP wibeee works continuesly without problem.
I don't have idea about the reason, I was thinking that the wifi connection to the device is not good, indeed is far from the router, bu
Captura
t not much.... however the APP aplication in my mobile is always receiving data and the raspberry not... Any idea?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.