Giter Site home page Giter Site logo

hass-control4's People

Contributors

lawtancool avatar mellis avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

hass-control4's Issues

Can't setup Alarm and binary sensors

When I try to configure the modes for my alarm system I get error logs in home assistant. This may be related to #2

For my config options, my control4 instance has 4 options: Stay, Away, Instant, and Maximum and i have mapped them as such in the ui:

  • away mode name: Away
  • home mode name: Stay
  • night mode name: Instant
  • custom bypass mode name: (not set)
  • vacation mode name: Maximum

Not sure if I am setting my config options correctly or there is something else needed to get this work. All other entities appear as expected (lights and locks).

My Control4 instance is on the following version: 3.1.3.574826-res (May 19 2020)

Errors

Category sensors does not exist on this Control4 system, entities from this domain will not be setup.
Logger: custom_components.control4
Source: custom_components/control4/init.py:168
Integration: Control4
First occurred: 2:02:01 PM (94 occurrences)

Category sensors does not exist on this Control4 system, entities from this domain will not be setup.
Traceback (most recent call last):
File "/config/custom_components/control4/init.py", line 168, in get_items_of_category
return_list = await director.getAllItemsByCategory(category)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyControl4/director.py", line 112, in getAllItemsByCategory
return_list = await self.sendGetRequest(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyControl4/director.py", line 63, in sendGetRequest
await checkResponseForError(await resp.text())
File "/usr/local/lib/python3.11/site-packages/pyControl4/error_handling.py", line 123, in checkResponseForError
raise exception(response_text)
pyControl4.error_handling.InvalidCategory: {
"error": "Invalid category"
}

Error while setting up control4 platform for alarm_control_panel

Logger: homeassistant.components.alarm_control_panel
Source: helpers/entity_platform.py:359
Integration: Alarm control panel (documentation, issues)
First occurred: 2:02:01 PM (94 occurrences)
Last logged: 2:52:01 PM

Error while setting up control4 platform for alarm_control_panel
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 359, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/control4/alarm_control_panel.py", line 225, in async_setup_entry
item_setup_info = await director.getItemSetup(item_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyControl4/director.py", line 135, in getItemSetup
return await self.sendPostRequest(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyControl4/director.py", line 99, in sendPostRequest
await checkResponseForError(await resp.text())
File "/usr/local/lib/python3.11/site-packages/pyControl4/error_handling.py", line 123, in checkResponseForError
raise exception(response_text)
pyControl4.error_handling.C4Exception: {
"error": "Z6B[Z5e.h5t(...)] is not a function"
}

Control4 User Name & Password

Hi, I think I'm being thick!!! What user name and password should you use to connect to your c4 controller - I've used all my accounts and non seem to work!

P

Enhancement: Control of lighting units not marked as lights

Hi.

I have a number of C4 lighting control panels. Some of them are controlling other items such as outdoor heaters, pool pump etc. They are connected to the relays in the lighting control panels as the non-dimming lighting controls support up to 16A per switch pair.

In C4 the dealer must have been able to mark them as something other than a light as they have their own icons (heater / pump etc) and do not show up under lights.

Unfortunately, they do not show in the HA integration, only the lights do. Since they are using the same C4 devices, I'm hoping it's not too far a stretch to pick these devices also and add them as a switch of some kind in HA?

Thanks
Barry

Alarm & Binary Sensor integration not working: "Unknown device properties received from Control4"

EA-3 running 3.2.4, Qolsys IQPanel2 driver. Works fine from the C4 side. I get this in the logs:

2022-01-22 13:56:36 WARNING (MainThread) [custom_components.control4.alarm_control_panel] Unknown device properties received from Control4: 'details' {'type': 7, 'typeName': 'device', 'name': 'IQPanel2', 'parentId': 1793, 'id': 1794, 'filename': 'securitypanel.c4i', 'proxy': 'securitypanel', 'proxyOrder': 1, 'proxyMeta': [{'proxybindingid': 5001, 'smallSource': 'composer', 'smallImage': 'devices_sm/dsc_16.gif', 'largeSource': 'composer', 'largeImage': 'devices_lg/dsc_32.gif', 'proxy': 'securitypanel'}], 'categories': ['security'], 'siteId': 8, 'siteName': 'Home', 'buildingId': 9, 'buildingName': 'House', 'floorId': 10, 'floorName': 'System', 'roomId': 11, 'roomName': 'System', 'largeImage': 'devices_lg/Security_32.gif', 'smallImage': 'devices_sm/Security_16.gif', 'protocolId': 1793, 'protocolName': 'IQPanel2 Security Panel', 'protocolFilename': 'IQPanel2SecurityPanel.c4z', 'capabilities': {'arm_states': 'Stay,Away,Stay Instant,Away Instant', 'button_A': {'type': 'xml', 'visible': True, 'label': 'Button A Text'}, 'button_B': {'type': 'xml', 'visible': True, 'label': 'Button B Text'}, 'button_C': {'type': 'xml', 'visible': True, 'label': 'Button C Text'}, 'button_D': {'type': 'xml', 'visible': True, 'label': 'Button D Text'}, 'can_activate_partitions': True, 'can_set_time': True, 'has_fire': True, 'has_medical': False, 'has_panic': True, 'has_police': True, 'pound_label': '#', 'star_label': '*', 'ui_version': 2}, 'control': 'securitypanel', 'version': 1, 'created': '09/19/2013', 'modified': '09/19/2013', 'model': '', 'manufacturer': '', 'protocolControl': 'lua_gen', 'deviceOrder': 20, 'allControlBindingsHidden': 1, 'URIs': {'variables': '/api/v1/categories/security/1794/variables', 'network': '/api/v1/categories/security/1794/network', 'commands': '/api/v1/categories/security/1794/commands'}}
2022-01-22 13:56:36 WARNING (MainThread) [custom_components.control4.alarm_control_panel] Unknown device properties received from Control4: 'details' {'type': 7, 'typeName': 'device', 'name': 'Security System', 'parentId': 1793, 'id': 1795, 'filename': 'security.c4i', 'proxy': 'security', 'proxyOrder': 2, 'proxyMeta': [{'proxybindingid': 5001, 'smallSource': 'composer', 'smallImage': 'devices_sm/dsc_16.gif', 'largeSource': 'composer', 'largeImage': 'devices_lg/dsc_32.gif', 'proxy': 'securitypanel'}], 'categories': ['security'], 'siteId': 8, 'siteName': 'Home', 'buildingId': 9, 'buildingName': 'House', 'floorId': 10, 'floorName': 'System', 'roomId': 11, 'roomName': 'System', 'largeImage': 'devices_lg/Security_32.gif', 'smallImage': 'devices_sm/Security_16.gif', 'protocolId': 1793, 'protocolName': 'IQPanel2 Security Panel', 'protocolFilename': 'IQPanel2SecurityPanel.c4z', 'capabilities': {'arm_states': 'Stay,Away,Stay Instant,Away Instant', 'button_A': {'type': 'xml', 'visible': True, 'label': 'Button A Text'}, 'button_B': {'type': 'xml', 'visible': True, 'label': 'Button B Text'}, 'button_C': {'type': 'xml', 'visible': True, 'label': 'Button C Text'}, 'button_D': {'type': 'xml', 'visible': True, 'label': 'Button D Text'}, 'can_activate_partitions': True, 'can_set_time': True, 'has_fire': True, 'has_medical': False, 'has_panic': True, 'has_police': True, 'pound_label': '#', 'star_label': '*', 'ui_version': 2}, 'control': 'security', 'version': 3, 'created': '6/17/2005', 'modified': '11/15/2013', 'model': '', 'manufacturer': '', 'protocolControl': 'lua_gen', 'deviceOrder': 21, 'allControlBindingsHidden': 0, 'URIs': {'variables': '/api/v1/categories/security/1795/variables', 'network': '/api/v1/categories/security/1795/network', 'bindings': '/api/v1/categories/security/1795/bindings', 'commands': '/api/v1/categories/security/1795/commands'}}
2022-01-22 13:56:36 WARNING (MainThread) [custom_components.control4.binary_sensor] Unknown device properties received from Control4: {'type': 7, 'typeName': 'device', 'name': 'Front Door Motion', 'parentId': 473, 'id': 1915, 'filename': 'contactsingle_motionsensor_c4.c4i', 'proxy': 'contactsingle_motionsensor_c4', 'proxyOrder': 1, 'proxyMeta': [{'name': 'contactsingle_motionsensor_c4', 'smallImage': 'devices_sm/contactsingle_motionsensor_close.gif', 'smallSource': 'composer', 'largeImage': 'devices_lg/contactsingle_motionsensor_close.gif', 'largeSource': 'composer'}], 'categories': ['sensors'], 'siteId': 8, 'siteName': 'Home', 'buildingId': 9, 'buildingName': 'House', 'floorId': 467, 'floorName': 'First', 'roomId': 473, 'roomName': 'Entrance', 'largeImage': 'devices_lg/contactsingle_motionsensor_close.gif', 'smallImage': 'devices_sm/contactsingle_motionsensor_close.gif', 'protocolId': 1915, 'protocolName': 'Front Door Motion', 'protocolFilename': 'contactsingle_motionsensor_c4.c4i', 'capabilities': {}, 'events': [{'id': 1, 'description': 'When the NAME senses motion'}, {'id': 2, 'description': 'When the NAME stops sensing motion'}], 'conditionals': {'conditional': [{'id': 0, 'description': 'the NAME is sensing motion'}, {'id': 1, 'description': 'the NAME is not sensing motion'}]}, 'control': 'control4_contactsingle', 'version': 3, 'created': '1/20/2005 2:22:54 PM', 'modified': '12/17/2014 4:23 PM', 'model': 'Motion Sensor', 'manufacturer': 'Generic', 'protocolControl': 'control4_contactsingle', 'deviceOrder': 1, 'allControlBindingsHidden': 0, 'URIs': {'variables': '/api/v1/categories/sensors/1915/variables', 'bindings': '/api/v1/categories/sensors/1915/bindings', 'commands': '/api/v1/categories/sensors/1915/commands'}}
2022-01-22 13:56:36 WARNING (MainThread) [custom_components.control4.alarm_control_panel] Unknown device properties received from Control4: 'details' {'type': 7, 'typeName': 'device', 'name': 'Security System 2', 'parentId': 1793, 'id': 1796, 'filename': 'security.c4i', 'proxy': 'security', 'proxyOrder': 3, 'proxyMeta': [{'proxybindingid': 5001, 'smallSource': 'composer', 'smallImage': 'devices_sm/dsc_16.gif', 'largeSource': 'composer', 'largeImage': 'devices_lg/dsc_32.gif', 'proxy': 'securitypanel'}], 'categories': ['security'], 'siteId': 8, 'siteName': 'Home', 'buildingId': 9, 'buildingName': 'House', 'floorId': 10, 'floorName': 'System', 'roomId': 11, 'roomName': 'System', 'largeImage': 'devices_lg/Security_32.gif', 'smallImage': 'devices_sm/Security_16.gif', 'protocolId': 1793, 'protocolName': 'IQPanel2 Security Panel', 'protocolFilename': 'IQPanel2SecurityPanel.c4z', 'capabilities': {'arm_states': 'Stay,Away,Stay Instant,Away Instant', 'button_A': {'type': 'xml', 'visible': True, 'label': 'Button A Text'}, 'button_B': {'type': 'xml', 'visible': True, 'label': 'Button B Text'}, 'button_C': {'type': 'xml', 'visible': True, 'label': 'Button C Text'}, 'button_D': {'type': 'xml', 'visible': True, 'label': 'Button D Text'}, 'can_activate_partitions': True, 'can_set_time': True, 'has_fire': True, 'has_medical': False, 'has_panic': True, 'has_police': True, 'pound_label': '#', 'star_label': '*', 'ui_version': 2}, 'control': 'security', 'version': 3, 'created': '6/17/2005', 'modified': '11/15/2013', 'model': '', 'manufacturer': '', 'protocolControl': 'lua_gen', 'deviceOrder': 22, 'allControlBindingsHidden': 0, 'URIs': {'variables': '/api/v1/categories/security/1796/variables', 'network': '/api/v1/categories/security/1796/network', 'bindings': '/api/v1/categories/security/1796/bindings', 'commands': '/api/v1/categories/security/1796/commands'}}

Control4 Climate

Hi, what is the currently best option to control the Control4 Thermostat? I have tried hass-control4, homeassistant-control4, but there is no Climate control. I have tried different repositories, based on itsfrosty 2way driver, but it is still giving me a message, there is no module for control4 climate and also, it is more than 2 years old. This add-on looks as the newest, but it doesnt have the climate or support multiple buttons from keypad dimmers or configurable keypads.

Can't configure binary_sensor

I get this Error, when I try to configure the binary sensors. At the Moment only the Lights work with the integration.

Error while setting up control4 platform for binary_sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 356, in _async_setup_platform
await asyncio.shield(awaitable)
File "/config/custom_components/control4/binary_sensor.py", line 134, in async_setup_entry
item_setup_info = await director.getItemSetup(item_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/pyControl4/director.py", line 135, in getItemSetup
return await self.sendPostRequest(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/pyControl4/director.py", line 99, in sendPostRequest
await checkResponseForError(await resp.text())
File "/usr/local/lib/python3.12/site-packages/pyControl4/error_handling.py", line 123, in checkResponseForError
raise exception(response_text)
pyControl4.error_handling.C4Exception: {
"error": "_0x238377[a19_0x8231(...)] is not a function"
}

Dimming

I am able to pull all my lights from the C4 controller (running version 3.3.0). However the lights are all pulling in as switches with no dimming options. Although under info I am seeing this. What am I doing wrong?

MINUTES ON
68,413
MINUTES OFF
1,857,867
MINUTES ON TODAY
0
CURRENT POWER
0
ENERGY USED
22,596
ENERGY USED TODAY
0
WATTS
100
MODULE OVERRIDE LEVEL
100
Navigator Dynamic Capabilities
DynamicCapabilities:
dimmer: true
supports_target: false
supports_color: false
supports_color_correlated_temperature: false
color_correlated_temperature_min: 1000
color_correlated_temperature_max: 20000
color_rate_behavior: 1
color_rate_min: 0
color_rate_max: 0
has_extras: false
click_rate_min: 250
click_rate_max: 86400000
hold_rate_min: 1000
hold_rate_max: 86400000
LIGHT STATE
0
Brightness Presets
Brightness Active Presets
light_brightness_active_presets:
preset:

  • name: 'Off'
    id: 2
  • name: Slow Off
    id: 4
    Brightness Percent
    0
    PRESET LEVEL
    100
    Item ID
    353
    Parent item ID
    352

Support for relay control

Hi, are there plans to implement relay control to this plugin?

I have a garage door on a Control4 relay (wired into the green relays on the back of the EA3) which isn't visible in the system at all and would like to see how this could be enabled in HomeAssistant.

Thanks.

Scene Panel

Can I add a scene panel to my home assistant?

Lawtancool Thank you !

First of all i want to thank you for the code you shared it really helped !!
Second, i would like to know if there is any plan to add Blind (Shade) since i really want to control that ..
willing to help and share some data if needed ...

Please advise,
Asaf

Error while setting up control4 platform for light

Updated the light.py file. After the reintegration, a C4 switch appeared as a unknown device with class light. The lights no longer function correctly. Lights turn On, but the UI displays "Failed to call service light/turn_on 224" when attempting to dim or turn Off. These errors now appear in the log:

2020-08-16 03:19:52 ERROR (MainThread) [homeassistant.components.light] Error while setting up control4 platform for light
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 192, in _async_setup_platform
    await asyncio.gather(*pending)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 301, in async_add_entities
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 474, in _async_add_entity
    entity.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 281, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 305, in _async_write_ha_state
    sstate = self.state
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 595, in state
    return STATE_ON if self.is_on else STATE_OFF
  File "/config/custom_components/control4/light.py", line 170, in is_on
    return self._coordinator.data[self._idx]["value"] > 0
KeyError: 224
2020-08-16 03:19:52 ERROR (MainThread) [homeassistant.components.light] control4: Error on device update!
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 335, in _async_add_entity
    await entity.async_device_update(warning=False)
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 454, in async_device_update
    await self.async_update()  # type: ignore
  File "/config/custom_components/control4/__init__.py", line 224, in async_update
    await self._coordinator.async_request_refresh()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 125, in async_request_refresh
    await self._debounced_refresh.async_call()
  File "/usr/src/homeassistant/homeassistant/helpers/debounce.py", line 60, in async_call
    await self.hass.async_add_job(self.function)  # type: ignore
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 192, in async_refresh
    update_callback()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 281, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 305, in _async_write_ha_state
    sstate = self.state
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 595, in state
    return STATE_ON if self.is_on else STATE_OFF
  File "/config/custom_components/control4/light.py", line 170, in is_on
    return self._coordinator.data[self._idx]["value"] > 0
KeyError: 224
2020-08-16 03:19:57 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 118, in _handle_refresh_interval
    await self.async_refresh()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 192, in async_refresh
    update_callback()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 281, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 305, in _async_write_ha_state
    sstate = self.state
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 595, in state
    return STATE_ON if self.is_on else STATE_OFF
  File "/config/custom_components/control4/light.py", line 170, in is_on
    return self._coordinator.data[self._idx]["value"] > 0
KeyError: 224

The Task exception error repeats every poll. Screenshots;
dfvices

entities

Integration token expires without renewing

The integration periodically fails because the API token used when invoking C4 expires. A disable/enable of the integration renews the token and restores function.

I suspect the API token comes with a readable expiry date. It'd be great if the integration could either renew the token before that date or renew the token upon receiving an expired token error from an API call.

I pulled the following from the logs:

Evening Lights: Error executing script. Unexpected error for call_service at pos 1: { "error": "Unauthorized", "details": "Expired or invalid token" } 7:34:26 PM – (ERROR) Automation (custom integration) - message first occurred at 7:16:11 PM and shows up 4 times

Control4 integration is crashed,below message is detail

2022-04-19 04:01:32 WARNING (SyncWorker_3) [homeassistant.loader] We found a custom integration control4 which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-04-19 04:02:13 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry control4_hc800_000FFFXXXXXX for control4
File "/usr/local/lib/python3.9/site-packages/pyControl4/account.py", line 74, in __sendAccountAuthRequest
File "/config/custom_components/control4/init.py", line 63, in async_setup_entry
File "/config/custom_components/control4/init.py", line 164, in refresh_tokens
File "/usr/local/lib/python3.9/site-packages/pyControl4/account.py", line 147, in getAccountBearerToken
File "/usr/local/lib/python3.9/site-packages/pyControl4/account.py", line 78, in __sendAccountAuthRequest
File "/config/custom_components/control4/config_flow.py", line 196, in async_step_init

Token expire

Look like token were expired, and all solution righ tnow is not working unforthenetly

Logger: homeassistant.components.websocket_api.http.connection
Source: custom_components/control4/light.py:132
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 4:31:19 PM (3 occurrences)
Last logged: 5:47:30 PM

[139866916344512] { "error": "Unauthorized", "details": "Expired or invalid token" }
[139866717870400] { "error": "Unauthorized", "details": "Expired or invalid token" }
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 226, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1974, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2011, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/homeassistant/init.py", line 130, in async_handle_turn_service
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/core.py", line 1974, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2011, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
return await service.entity_service_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 898, in entity_service_call
task.result() # pop exception if have
^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1199, in async_request_call
return await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 942, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/light/init.py", line 580, in async_handle_light_on_service
await light.async_turn_on(**filter_turn_on_params(light, params))
File "/config/custom_components/control4/light.py", line 132, in async_turn_on
await c4_light.rampToLevel(brightness, transition_length)
File "/usr/local/lib/python3.11/site-packages/pyControl4/light.py", line 51, in rampToLevel
await self.director.sendPostRequest(
File "/usr/local/lib/python3.11/site-packages/pyControl4/director.py", line 99, in sendPostRequest
await checkResponseForError(await resp.text())
File "/usr/local/lib/python3.11/site-packages/pyControl4/error_handling.py", line 114, in checkResponseForError
raise exception(response_text)
pyControl4.error_handling.BadToken: {
"error": "Unauthorized",
"details": "Expired or invalid token"
}

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.