Coder Social home page Coder Social logo

homeassistant-dijnet's Introduction

homeassistant-dijnet

hacs_badge GitHub release (latest by date including pre-releases) GitHub GitHub all releases HA integration usage Donate

Dijnet integration for Home Assistant

Installation

You can install this integration via HACS or manually.

HACS

This integration is included in HACS. Search for the Dijnet integration and choose install. Reboot Home Assistant and configure the 'Dijnet' integration via the integrations page or press the blue button below.

Open your Home Assistant instance and start setting up a new integration.

Manual

Copy the custom_components/dijnet to your custom_components folder. Reboot Home Assistant and configure the 'Dijnet' integration via the integrations page or press the blue button below.

Open your Home Assistant instance and start setting up a new integration.

Features

  • The integration provides services for every invoice issuer. Every invoice issuer could have multiple providers. For example DBH Zrt. invoice issuer handles invoices for FV Zrt. and FCSM Zrt. In that case the integration creates separate sensors for these providers.
  • For all providers an invoice amount sensor is created. It contains the sum of unpaid amount for a provider. The details of the unpaid invoices can be read out from unpaid_invoices attribute of the sensor.

Enable debug logging

The logger integration lets you define the level of logging activities in Home Assistant. Turning on debug mode will show more information about the running of the integration in the homeassistant.log file.

logger:
  default: error
  logs:
    custom_components.dijnet: debug

homeassistant-dijnet's People

Contributors

laszlojakab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

szala24

homeassistant-dijnet's Issues

install -> async_install

Szia László!

Az alábbi warning -ot dobta a frissítést követően a HA:

Log Details (WARNING)
Logger: hacs.repository.integration.laszlojakab.homeassistant-dijnet
Source: custom_components/hacs/repositories/helpers/methods/installation.py:17
First occurred: 7:15:19 PM (1 occurrences)
Last logged: 7:15:19 PM

'install' is deprecated, use 'async_install' instead

Hibát nem okozott, szépen települt az új verzió. ;)

Rendszer:
Home Assistant Core 0.111.0
HassOS 4.10
Supervisor: 227

Szép napot,
kga

Negatív összeg probléma

Szia Laszló!

A következő problémát vettem észre. A dijnettől e-mail -ben értesített egy negatív összeggel szereplő számla miatt, amit természetesen nem kell kifizetnem, de a HA -n belül már pozitív összegként látom.

dijnet02
dijnet01
dijnet03

Screenshot mellékelve.

Ha szükséges valamilyen napló bejegyzés, akkor azt szívesen mellékelem / elkülldöm.

Szép napot!
kga

No sensors showing up after 2022-11-18

Hi,

Trying to enable dijnet sensor in my environment, for some reason nothing is showing up. No new sensor is visible, sensors should be available not found. In the log I find that sensors are successfuly set up but no sensor found.

Thanks,
tamás

Nem jeleníti meg az összes regisztrált számlakibocsátót

Díjnet integráció verzió 0.5.0
Home Assistant verzió: core-2021.12.10

A legutóbbi frissítés óta a 4 számlakibocsátóból csak kettőt jelenít meg. Az a kettő amit megjelenít, jelenleg befizetetlen számlával rendelkezik.

Két Díjnet fiók van regisztrálva a HA alá. Az első fiókhoz 3 számlakibocsátó van regisztrálva és azokat mind megjelenítette a frissítés után, annak ellenére, hogy nincs fizetni való számla. A második fiókhoz 4 számlakibocsátó tartozik, abból kettő megjelent a HA-ban, a másik kettő nem.

A frissítés óta már többször újraindítottam a HA-t, illetve már jelszót is cseréltem a második fióknál abban a reményben, hogy ez egy új lekérdezést eredményez. Sajnos ez sem segített.

Setting up dijnet platform fails

HA Core: 2024.2.2
Dijnet integration: 0.6.3

Setting up dijnet platform fails:

Feb 19 14:25:09 raspberrypi hass[198884]: 2024-02-19 14:25:09 ERROR Error while setting up dijnet platform for sensor
Feb 19 14:25:09 raspberrypi hass[198884]: Traceback (most recent call last):
Feb 19 14:25:09 raspberrypi hass[198884]:   File "/home/pi/ha_venv3_12/lib/python3.12/site-packages/homeassistant/helpers/entity_platform.py", line 344, in _async_setup_platform
Feb 19 14:25:09 raspberrypi hass[198884]:     await asyncio.shield(task)
Feb 19 14:25:09 raspberrypi hass[198884]:   File "/home/pi/homeassistant_conf/custom_components/dijnet/sensor.py", line 78, in async_setup_entry
Feb 19 14:25:09 raspberrypi hass[198884]:     for registered_invoice_issuer in await controller.get_issuers():
Feb 19 14:25:09 raspberrypi hass[198884]:                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 19 14:25:09 raspberrypi hass[198884]:   File "/home/pi/homeassistant_conf/custom_components/dijnet/controller.py", line 386, in get_issuers
Feb 19 14:25:09 raspberrypi hass[198884]:     await self.update_registered_issuers()
Feb 19 14:25:09 raspberrypi hass[198884]:   File "/home/pi/homeassistant_conf/custom_components/dijnet/controller.py", line 420, in update_registered_issuers
Feb 19 14:25:09 raspberrypi hass[198884]:     issuer_name = row.children("td:nth-child(1)").text()
Feb 19 14:25:09 raspberrypi hass[198884]:                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 19 14:25:09 raspberrypi hass[198884]:   File "/home/pi/ha_venv3_12/lib/python3.12/site-packages/pyquery/pyquery.py", line 1156, in text
Feb 19 14:25:09 raspberrypi hass[198884]:     return ' '.join(
Feb 19 14:25:09 raspberrypi hass[198884]:            ^^^^^^^^^
Feb 19 14:25:09 raspberrypi hass[198884]:   File "/home/pi/ha_venv3_12/lib/python3.12/site-packages/pyquery/pyquery.py", line 1158, in <genexpr>
Feb 19 14:25:09 raspberrypi hass[198884]:     extract_text(tag, **kwargs) for tag in self
Feb 19 14:25:09 raspberrypi hass[198884]:     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 19 14:25:09 raspberrypi hass[198884]:   File "/home/pi/ha_venv3_12/lib/python3.12/site-packages/pyquery/text.py", line 100, in extract_text
Feb 19 14:25:09 raspberrypi hass[198884]:     a = extract_text_array(dom, squash_artifical_nl=squash_space)
Feb 19 14:25:09 raspberrypi hass[198884]:         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 19 14:25:09 raspberrypi hass[198884]:   File "/home/pi/ha_venv3_12/lib/python3.12/site-packages/pyquery/text.py", line 82, in extract_text_array
Feb 19 14:25:09 raspberrypi hass[198884]:     if dom.text is not None:
Feb 19 14:25:09 raspberrypi hass[198884]:        ^^^^^^^^
Feb 19 14:25:09 raspberrypi hass[198884]:   File "src/lxml/etree.pyx", line 1042, in lxml.etree._Element.text.__get__
Feb 19 14:25:09 raspberrypi hass[198884]:   File "src/lxml/apihelpers.pxi", line 708, in lxml.etree._collectText
Feb 19 14:25:09 raspberrypi hass[198884]:   File "src/lxml/apihelpers.pxi", line 1512, in lxml.etree.funicode
Feb 19 14:25:09 raspberrypi hass[198884]: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xed in position 1: invalid continuation byte

(please discard the fact that logs go into the root syslog; that's caused by the new toyota integration)

Deleting cancelled providers

How can I delete from HA the cancelled providers (for example UPC and Vodafone)? These providers are already cancelled in Dipnet, but they are still visible in HA.

registry file not found

Dijnet integration v0.5.6.

Suddenly registry file is not found (it used to work before):

2022-11-18 09:55:14.404 ERROR (MainThread) [homeassistant.helpers.entity] Update for sensor.dijnet_b3_szemet fails
Traceback (most recent call last):
  File "/home/pi/ha_venv3_9/lib/python3.9/site-packages/homeassistant/helpers/entity.py", line 527, in async_update_ha_state
    await self.async_device_update()
  File "/home/pi/ha_venv3_9/lib/python3.9/site-packages/homeassistant/helpers/entity.py", line 722, in async_device_update
    raise exc
  File "/home/pi/homeassistant_conf/custom_components/dijnet/sensor.py", line 121, in async_update
    invoices = [invoice for invoice in await self._controller.get_unpaid_invoices() if invoice.display_name == self._invoice_issuer.display_name and invoice.provider == self._provider]
  File "/home/pi/homeassistant_conf/custom_components/dijnet/controller.py", line 362, in get_unpaid_invoices
    await self.update_invoices()
  File "/home/pi/homeassistant_conf/custom_components/dijnet/controller.py", line 588, in update_invoices
    with open(get_registry_filename(self._username), "w") as file:
PermissionError: [Errno 13] Permission denied: '.dijnet_registry_amaximus.yaml'
(ha_venv3_9) pi@raspberrypi:~/homeassistant_conf $find . -name \*dijnet_registry_amaximus\*
(ha_venv3_9) pi@raspberrypi:~/homeassistant_conf $ls -a custom_components/dijnet/
.  ..  config_flow.py  const.py  controller.py  dijnet_session.py  __init__.py  manifest.json  __pycache__  sensor.py  strings.json  translations
(ha_venv3_9) pi@raspberrypi:~/homeassistant_conf $

Figyelmen kívül hagy a plugin pár számlát

Több szolgáltatóm is a dijnet-en keresztül küldi a szmlát és bár van ami jól működik, de van olyan ami nem jelenik meg.
Szeritem az utóbbi frissítés óta van ez így, mert korábban ez működött.
HA - dijnet
Az Áram és Gázszámlák jól megjelennek, de a Hulladék szállításról a számla nem, holott az is még függőben van.
Ahogy a csatolt képeken is látni lehet.
Web - dijnet

Hibás állapot

Tisztelt Uram!

Az integráció beállítása után azt vettem észre, hogy az egyik szolgáltatónál nyitott tételt jelez.
Pedig az a számla már rég befizetésre került.
Ellenőriztem a dijnet felületén, és ott sincs nyitott tételem.
Szükség van esetleg még valamilyen plusz információra?

/BL

Ismerkedés a díjnet integrációval HA alatt

Szia Laci!
Nagyon megörültem amikor ráakadtam az általad készített dijnet integrációra. Máris telepítettem is, azonban a működésén még valamit optimalizálni kell, ebben kérném a segítséged hol induljak el?
Két probléma is van:

  1. Van 2 EON os számla amire a sensor ismeretlen státuszt ír
  2. Az összes számlát 0 Ft-al hozza, pedig a díjnet alapján pl. a telekom-os számlám jelenleg van
    image

Merre keressem a hibát?
Segítségedet előre is köszönöm

Telepítési hiba

Szia megpróbáltam felrakni ezt az integrációt de ezt a hibaüzenetet kaptam:
"This integration does not support via the UI. If you followed this link from home asssistant website, make sure you run latest version of Home Assitant."

Van erre valami megoldás?
HA verzió: core-2022.6.5
Köszi

The integration does not show the invoices anymore

4 days ago all the services became 0. It did earlier as well if you check the attached diagram, but it solved itself in a second:
image
image

I set the log level to debug, but it does not give a clue.
2024-01-27 21:53:52.351 INFO (MainThread) [custom_components.dijnet.sensor] Setting up Dijnet sensors.
2024-01-27 21:53:52.351 DEBUG (MainThread) [custom_components.dijnet.controller] Updating issuers.
2024-01-27 21:53:52.810 DEBUG (MainThread) [custom_components.dijnet.dijnet_session] Posting login information to login_check_ajax.
2024-01-27 21:53:55.920 DEBUG (MainThread) [custom_components.dijnet.dijnet_session] Getting main page.
2024-01-27 21:54:06.816 DEBUG (MainThread) [custom_components.dijnet.dijnet_session] Getting szamla_search page.
2024-01-27 21:54:10.169 DEBUG (MainThread) [custom_components.dijnet.dijnet_session] Getting regszolg_new page.
2024-01-27 21:54:46.631 DEBUG (MainThread) [custom_components.dijnet.dijnet_session] Getting regszolg_list page.
2024-01-27 21:54:48.690 DEBUG (MainThread) [custom_components.dijnet.controller] Issuer found (Díjbeszedő - ... )
2024-01-27 21:54:48.771 DEBUG (MainThread) [custom_components.dijnet.controller] Issuer found (Díjbeszedő - ... )
2024-01-27 21:54:48.890 DEBUG (MainThread) [custom_components.dijnet.controller] Issuer found (MVM Next - Áram - ... )
2024-01-27 21:54:48.990 DEBUG (MainThread) [custom_components.dijnet.controller] Issuer found (MVM Next - Földgáz - ... )
2024-01-27 21:54:49.087 DEBUG (MainThread) [custom_components.dijnet.sensor] Sensor added (Díjbeszedő - ... )
2024-01-27 21:54:49.087 DEBUG (MainThread) [custom_components.dijnet.sensor] Sensor added (Díjbeszedő - ... )
2024-01-27 21:54:49.088 DEBUG (MainThread) [custom_components.dijnet.sensor] Sensor added (MVM Next - Áram - ... )
2024-01-27 21:54:49.088 DEBUG (MainThread) [custom_components.dijnet.sensor] Sensor added (MVM Next - Földgáz - ... )
2024-01-27 21:54:49.088 INFO (MainThread) [custom_components.dijnet.sensor] Setting up Dijnet sensors completed.
2024-01-27 21:55:23.120 DEBUG (MainThread) [custom_components.dijnet.controller] Updating invoices.
2024-01-27 21:55:23.124 DEBUG (MainThread) [custom_components.dijnet.controller] Loading registry from ".dijnet_registry_XXXX.yaml"
2024-01-27 21:55:23.129 DEBUG (MainThread) [custom_components.dijnet.controller] Loading invoices from ".dijnet_paid_invoices_XXXX.yaml"
2024-01-27 21:55:23.924 DEBUG (MainThread) [custom_components.dijnet.dijnet_session] Posting login information to login_check_ajax.
2024-01-27 21:55:24.092 DEBUG (MainThread) [custom_components.dijnet.dijnet_session] Getting main page.
2024-01-27 21:55:24.745 DEBUG (MainThread) [custom_components.dijnet.dijnet_session] Getting szamla_search page.
2024-01-27 21:55:25.114 DEBUG (MainThread) [custom_components.dijnet.dijnet_session] Posting search to szamla_search_submit.

I have checked the ".dijnet_registry_XXXX.yaml" file, and it was updated at 21:55, and it contains this line:
"next_query_date: '2023-12-27'"
But the ".dijnet_registry_XXXX.yaml" file was last modified at 2024/01/15, and it looks like it can not be updated the integration stops at "Posting search to szamla_search_submit.".
There is no other log entry after this one. I was really patiant.

Sensors are not updateing

Hello!

I use the newest HA (Home Assistant 2023.2.5, with Supervisor 2023.01.1) My dijnet sensors are not updateing, only when I restart my HA. I treid update with entity update service, but not updateing. If I try manual update then in the log (/var/log/syslog and messages too) I see this, what I cannot understand (what does ewelink have to do with dijnet):

Feb 21 20:38:41 (my-server-name) addon_f4f71350_ewelink_smart_home_slug[803]: 2023-02-21T19:38:41.322Z [INFO] HA emit call_service event: {"domain":"homeassistant","service":"update_entity","service_data":{"entity_id":["sensor.dijnet_mvm_next_foldgaz_fizetendo_osszeg","sensor.dijnet_mvm_next_foldgaz_fizetendo_osszeg_2"]}}

In HA log I see this (but this independent from the above):

2023-02-21 19:51:25.914 WARNING (MainThread) [homeassistant.helpers.entity] Update of sensor.dijnet_dijbeszedo_zrt_fizetendo_osszeg is taking over 10 seconds

Thank you!

HA 2021.12.2

HA logban írja, hogy jelentsem neked ezt:

2021-12-16 19:48:43 WARNING (MainThread) [homeassistant.helpers.entity] Entity sensor.dijnet_fotav (<class 'custom_components.dijnet.sensor.DijnetProviderSensor'>) implements device_state_attributes. Please report it to the custom component author.
2021-12-16 19:48:43 WARNING (MainThread) [homeassistant.helpers.entity] Entity sensor.dijnet_dbh_hulladekgazdalkodas (<class 'custom_components.dijnet.sensor.DijnetProviderSensor'>) implements device_state_attributes. Please report it to the custom component author.
2021-12-16 19:48:43 WARNING (MainThread) [homeassistant.helpers.entity] Entity sensor.dijnet_fizetendo_szamlak_osszege (<class 'custom_components.dijnet.sensor.DijnetTotalSensor'>) implements device_state_attributes. Please report it to the custom component author.

Platform dijnet does not generate unique IDs

Szia Laci!

Sajnos a dijnet integrációban megjelenik minden entitás, de az értéke nem változik. Tegnap készült a gázszámlám, de 0 Ft-ot ír a sensor, és látom a naplóban, hogy az alábbi hibaüzenetek jelennek meg:

Platform dijnet does not generate unique IDs. ID 6e12260df9e56bf9cf43d8a917c2fa6e_Allianz_AHB936578XXX_Allianz_amount already exists - ignoring sensor.dijnet_allianz_tompi_e38 Platform dijnet does not generate unique IDs. ID 6e12260df9e56bf9cf43d8a917c2fa6e_ÉRV Zrt._670000196XXX_Allianz_amount already exists - ignoring sensor.dijnet_erv Platform dijnet does not generate unique IDs. ID 6e12260df9e56bf9cf43d8a917c2fa6e_MVM Next - Földgáz_000033024807_Allianz_amount already exists - ignoring sensor.dijnet_mvm_foldgaz Platform dijnet does not generate unique IDs. ID 6e12260df9e56bf9cf43d8a917c2fa6e_NHKV Zrt._00160131700000146680205_Allianz_amount already exists - ignoring sensor.dijnet_nhkv Platform dijnet does not generate unique IDs. ID 6e12260df9e56bf9cf43d8a917c2fa6e_Telekom otthoni, Telekom-összevont_400093363_Allianz_amount already exists - ignoring sensor.dijnet_telekom

Először csak Allianz elnevezésekkel jelentek meg az entitások, de valamiért nem működik így megfelelően. A telepítés óta csak Allianz volt fizetendő eddig, az működött hozzáadáskor ahogy kell. Tudsz esetleg segíteni, hogy mit rontok el?

Köszönöm! Üdv: Tompi

nem tölti le a számlákat

Helló!

Nem rég vettem észre, hogy 2022. novemberben töltött le utoljára számlákat.
Más is mondta, hogy találkozott ezzel a hibával. Ki probáltam régebbi verzióval, de azzal sem.
Lehetne segítséget kérni hogy merre lehetne elindulni?

Köszönöm!

Integration is using deprecated `DEVICE_CLASS_*` constants

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

No version key

Az újabb HA verziókban ez a figyelmeztetés jelenik meg:

Logger: homeassistant.loader
Source: loader.py:786
First occurred: April 9, 2021, 11:45:06 PM (1 occurrences)
Last logged: April 9, 2021, 11:45:06 PM

No 'version' key in the manifest file for custom integration 'dijnet'. As of Home Assistant 2021.6, this integration will no longer be loaded. Please report this to the maintainer of 'dijnet'

Failed to determine invoice state. State column text: Internetbanknak átadva

Szia,

Kaptam számlákat a Dijnet-be, viszont nem jeleníti meg a fizetendő tételeket és a naplóban ez a hibaüzenet jelenik meg:
**_Logger: custom_components.dijnet.controller
Source: custom_components/dijnet/controller.py:468
Integration: Dijnet (documentation, issues)
First occurred: 15:20:52 (2 occurrences)
Last logged: 15:20:53

Failed to determine invoice state. State column text: Internetbanknak átadva_**

A számlákat beküldetem az internetbankba és onnan fizetem (CIB), ami azt jelenti, hogy amint bekerül a Dijnet rendszerében, beküldi az internetbankba, ahonnan egyszerűen tudom fizetni és egészen addig ebben a státuszban marad, amíg ki nem fizetem és akkor kerül át rendezett státuszban. Ez egy nem kifizetett számlának minősül ilyenkor.

Köszi.
Üdv.:
Dani

Fizetendő számla összege nem jelenik meg.

Üdvözletem!

Az integráció nem jeleníti meg a fizetendő számlák összegét.
Nem tudom, milyen időközönként kéri le az alkalmazás az adatokat, de a dijenttől 11:49-kor érkezett értesítés, az integrációban pedig még most sem jelent meg az összeg (15:20).

Illetve, ha jól rémlik, akkor az integráció egy korábbi fázisában volt egy olyan szenzor is, amely a nyitott tételek teljes összegét tartalmazta.
Ez miért került kivezetésre?
Azért volt hasznos, mert nem kellett külön-külön figyelni az egyes számlakibocsátókat, hanem ha az az érték nem nulla volt, akkor tudtam, hogy van befizetendőm.

dijnet

Missing sensors

I use the following versions. HA 2022.8.6, OS 8.5, Dijnet 0.5.6. My problem is I can see only the FCSM and FV services. However, I have more services under Dijnet. Am I doing something wrong?

I/O loop

Ezt a hibát dobja HA induláskor:

2020-05-26 12:31:11 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for dijnet doing I/O at custom_components/dijnet/sensor.py, line 211: session.get('https://www.dijnet.hu')
2020-05-26 12:31:12 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for dijnet doing I/O at custom_components/dijnet/sensor.py, line 215: data={'username': self._username, 'password': self._password})
2020-05-26 12:31:12 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for dijnet doing I/O at custom_components/dijnet/sensor.py, line 100: session.get("https://www.dijnet.hu/ekonto/control/main")
2020-05-26 12:31:12 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for dijnet doing I/O at custom_components/dijnet/sensor.py, line 103: session.get("https://www.dijnet.hu/ekonto/control/regszolg_new")
2020-05-26 12:31:13 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for dijnet doing I/O at custom_components/dijnet/sensor.py, line 107: "https://www.dijnet.hu/ekonto/control/regszolg_list")

sensor.yaml:

- platform: dijnet
  username: !secret dijnet_username
  password: !secret dijnet_password
  download_dir: 'dijnet'

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.