Git Product home page Git Product logo

Comments (16)

magnetus26 avatar magnetus26 commented on June 26, 2024

I will love to see charger_source_priority dropdown as well
thanks
M.

from esphome-pipsolar.

ans-gw avatar ans-gw commented on June 26, 2024

I ll love too

from esphome-pipsolar.

magnetus26 avatar magnetus26 commented on June 26, 2024

syssi if you, you could tell me wich files are involve, i could try to butch the files using the inverter output priority select as a template and try with my inverter.
thanks.
M.

from esphome-pipsolar.

WallK avatar WallK commented on June 26, 2024

But it already has is
Here's a piece of my config
image

from esphome-pipsolar.

hosflow avatar hosflow commented on June 26, 2024

But it already has is Here's a piece of my config image

Im using this and esphome return error, any help?


select:
  - platform: pipsolar
    pipsolar_id: ${id}
    charger_source_priority:
      id: ${id}_charger_source_priority_select
      name: $(name) Charger Source Priority Select
      optionsmap:
        "Solar first": "PCP01"
        "Solar and utility": "PCP02"
        "Solar charging only": "PCP03"
      statusmap:
        "1": "Solar first"
        "2": "Solar and utility"
        "3": "Solar charging only"

ERROR
Platform not found: 'select.pipsolar'.

from esphome-pipsolar.

WallK avatar WallK commented on June 26, 2024

@hosflow I think you don't have this installed
It should be a part of ESPHome by default for a while, maybe you have a very old version?
Do sensors work, for example?

from esphome-pipsolar.

hosflow avatar hosflow commented on June 26, 2024

@hosflow I think you don't have this installed It should be a part of ESPHome by default for a while, maybe you have a very old version? Do sensors work, for example?

Everything works from pipsolar, it only stops working if you add this configuration, I don't know if I have to install another one, I'm new to esphome and what I used was a docker container that I uploaded less than 10 days ago, version 2024.2.1, I even tried run a clean build files, but it gives the error: Platform not found: 'select.pipsolar'. But if you remove that part everything works.

substitutions:
id: inverter0

select:

  • platform: pipsolar
    pipsolar_id: ${id}
    charger_source_priority:
    id: ${id}_charger_source_priority_select
    name: $(name) Charger Source Priority Select
    optionsmap:
    "Solar first": "PCP01"
    "Solar and utility": "PCP02"
    "Solar charging only": "PCP03"
    statusmap:
    "1": "Solar first"
    "2": "Solar and utility"
    "3": "Solar charging only"

from esphome-pipsolar.

WallK avatar WallK commented on June 26, 2024

Do you use this repo?
You'll need

external_components:
  - source: github://syssi/esphome-pipsolar

in your config
Or specify a branch with "@" after

from esphome-pipsolar.

hosflow avatar hosflow commented on June 26, 2024

Do you use this repo? You'll need

external_components:
  - source: github://syssi/esphome-pipsolar

in your config Or specify a branch with "@" after

    Could not find components folder for source. Please check the source contains a 'components' or 'esphome/components' folder.
    source: github://syssi/esphome-pipsolar@main
    refresh: 0s

I tried with @main and about 5 different branches and it didn't work, it gives the error above or others with options not found. I would like to take advantage of this and thank you for taking the time to try to help me. Thank you very much

from esphome-pipsolar.

syssi avatar syssi commented on June 26, 2024

@hosflow Could you provide your complete YAML? :-)

from esphome-pipsolar.

hosflow avatar hosflow commented on June 26, 2024

@hosflow Could you provide your complete YAML? :-)

Of course, follow below

substitutions:
  name: pipsolar
  tx_pin: GPIO1
  rx_pin: GPIO3
  id: inverter0

esphome:
  name: ${name}
  
esp8266:
  board: esp01_1m

external_components:
  - source: github://syssi/esphome-pipsolar@main
    refresh: 0s

logger:
  baud_rate: 0
  level: INFO

api:
  encryption:
    key: "PInurfsFYyPLd3S4Ek2/vKdMvfjeWr/4coB2h5GD7Dc="
ota:
  password: "8f2c8da7ac6d03005c844371073dd7dc"
 
wifi:
  networks:
  - ssid: !secret wifi_ssid
    password: !secret wifi_password
  - ssid: LIVE TIM_5201_2G
    password: dazegT53
  power_save_mode: none
  manual_ip:
    static_ip: 192.168.177.121
    gateway: 192.168.177.1
    subnet: 255.255.255.0

  ap:
    ssid: "${name} Hotspot"
    password: "U1SFCinhg9jy"

# Warning:
#
# If you configure a lot of the possible sensors etc. it could be that you run
# out of memory (on esp8266). If you configure nearly all sensors etc. you run
# in a stack-size issue. In this case you have to increase stack size!
#
#  https://github.com/esphome/issues/issues/855

uart:
  id: uart_0
  baud_rate: 2400
  tx_pin: ${tx_pin}
  rx_pin: ${rx_pin}
  debug:
    direction: BOTH
    dummy_receiver: false
    after:
      delimiter: "\r"
    sequence:
      - lambda: UARTDebug::log_string(direction, bytes);

pipsolar:
  uart_id: uart_0
  id: inverter0

sensor:
  - platform: pipsolar
    pipsolar_id: inverter0
    # QPIRI
#    grid_rating_voltage:
#      name: "${name} grid_rating_voltage"
#    grid_rating_current:
#      name: "${name} grid_rating_current"
#    ac_output_rating_voltage:
#      name: "${name} ac_output_rating_voltage"
#    ac_output_rating_frequency:
#      name: "${name} ac_output_rating_frequency"
#    ac_output_rating_current:
#      name: "${name} ac_output_rating_current"
#    ac_output_rating_apparent_power:
#      name: "${name} ac_output_rating_apparent_power"
#    ac_output_rating_active_power:
#      name: "${name} ac_output_rating_active_power"
#    battery_rating_voltage:
#      name: "${name} battery_rating_voltage"
#    battery_recharge_voltage:
#      name: "${name} battery_recharge_voltage"
#    battery_under_voltage:
#      name: "${name} battery_under_voltage"
#    battery_bulk_voltage:
#      name: "${name} battery_bulk_voltage"
#    battery_float_voltage:
#      name: "${name} battery_float_voltage"
#    battery_type:
#      name: "${name} battery_type"
    current_max_ac_charging_current:
      name: "${name} current_max_ac_charging_current"
    current_max_charging_current:
      name: "${name} current_max_charging_current"
#    input_voltage_range:
#      name: "${name} input_voltage_range"
    output_source_priority:
      name: "${name} output_source_priority"
    # charger_source_priority:
    #   name: "${name} charger_source_priority"
#    parallel_max_num:
#      name: "${name} parallel_max_num"
#    machine_type:
#      name: "${name} machine_type"
#    topology:
#      name: "${name} topology"
#    output_mode:
#      name: "${name} output_mode"
#    battery_redischarge_voltage:
#      name: "${name} battery_redischarge_voltage"
#    pv_ok_condition_for_parallel:
#      name: "${name} pv_ok_condition_for_parallel"
#    pv_power_balance:
#      name: "${name} pv_power_balance"

    # QPIGS
    grid_voltage:
      name: "${name} grid_voltage"
    grid_frequency:
      name: "${name} grid_frequency"
    ac_output_voltage:
      name: "${name} ac_output_voltage"
    ac_output_frequency:
      name: "${name} ac_output_frequency"
    ac_output_apparent_power:
      name: "${name} ac_output_apparent_power"
    ac_output_active_power:
      name: "${name} ac_output_active_power"
    output_load_percent:
      name: "${name} output_load_percent"
    bus_voltage:
      name: "${name} bus_voltage"
    battery_voltage:
      name: "${name} battery_voltage"
    battery_charging_current:
      name: "${name} battery_charging_current"
    battery_capacity_percent:
      name: "${name} battery_capacity_percent"
    inverter_heat_sink_temperature:
      name: "${name} inverter_heat_sink_temperature"
    pv_input_current_for_battery:
      name: "${name} pv_input_current_for_battery"
    pv_input_voltage:
      name: "${name} pv_input_voltage"
    battery_voltage_scc:
      name: "${name} battery_voltage_scc"
    battery_discharge_current:
      name: "${name} battery_discharge_current"
    battery_voltage_offset_for_fans_on:
      name: "${name} battery_voltage_offset_for_fans_on"
#    eeprom_version:
#      name: "${name} eeprom_version"
    pv_charging_power:
      name: "${name} pv_charging_power"

text_sensor:
  - platform: pipsolar
    pipsolar_id: inverter0
    device_mode:
      name: "${name} device_mode"
#    last_qpigs:
#      name: "${name} last_qpigs"
#    last_qpiri:
#      name: "${name} last_qpiri"
#    last_qmod:
#      name: "${name} last_qmod"
#    last_qflag:
#      name: "${name} last_qflag"

binary_sensor:
  - platform: pipsolar
    pipsolar_id: inverter0
    add_sbu_priority_version:
      name: "${name} add_sbu_priority_version"
    configuration_status:
      name: "${name} configuration_status"
    scc_firmware_version:
      name: "${name} scc_firmware_version"
    load_status:
      name: "${name} load_status"
    # battery_voltage_to_steady_while_charging:
    #   name: "${name} battery_voltage_to_steady_while_charging"
    charging_status:
      name: "${name} charging_status"
    scc_charging_status:
      name: "${name} scc_charging_status"
    ac_charging_status:
      name: "${name} ac_charging_status"
    charging_to_floating_mode:
      name: "${name} charging_to_floating_mode"
    switch_on:
      name: "${name} switch_on"
#    dustproof_installed:
#      name: "${name} dustproof_installed"
    silence_buzzer_open_buzzer:
      name: "${name} silence_buzzer_open_buzzer"
    overload_bypass_function:
      name: "${name} overload_bypass_function"
    lcd_escape_to_default:
      name: "${name} lcd_escape_to_default"
    overload_restart_function:
      name: "${name} overload_restart_function"
    over_temperature_restart_function:
      name: "${name} over_temperature_restart_function"
    backlight_on:
      name: "${name} backlight_on"

switch:
  - platform: pipsolar
    pipsolar_id: inverter0
    output_source_priority_utility:
      name: "${name} output_source_priority_utility"
    output_source_priority_solar:
      name: "${name} output_source_priority_solar"
    output_source_priority_battery:
      name: "${name} output_source_priority_battery"
    # input_voltage_range:
    #   name: "${name} input_voltage_range"
    # pv_ok_condition_for_parallel:
    #   name: "${name} pv_ok_condition_for_parallel"
    # pv_power_balance:
    #   name: "${name} pv_power_balance"

output:
  - platform: pipsolar
    pipsolar_id: inverter0
    battery_recharge_voltage:
      id: inverter0_battery_recharge_voltage_out

select:
  - platform: pipsolar
    pipsolar_id: ${id}
    charger_source_priority:
      id: ${id}_charger_source_priority_select
      name: $(name) Charger Source Priority Select
      optionsmap:
        "Solar first": "PCP01"
        "Solar and utility": "PCP02"
        "Solar charging only": "PCP03"
      statusmap:
        "1": "Solar first"
        "2": "Solar and utility"
        "3": "Solar charging only"
# select:
#   - platform: pipsolar
#     pipsolar_id: ${id}
#     output_source_priority:
#       id: ${id}_output_source_priority_select
#       name: ${name} Output Source Priority Select
#       optionsmap:
#         "Utility first": "POP00"
#         "Solar only": "POP01"
#         "Solar Battery Utility": "POP02"
#       statusmap:
#         "0": "Utility first"
#         "1": "Solar only"
#         "2": "Solar Battery Utility"

from esphome-pipsolar.

syssi avatar syssi commented on June 26, 2024

I've changed the branch to pip8084 and made some minor changes because of the updated code base. Please give it a try:

substitutions:
  name: pipsolar
  tx_pin: GPIO1
  rx_pin: GPIO3
  id: inverter0

esphome:
  name: ${name}
  
esp8266:
  board: esp01_1m

external_components:
  - source: github://syssi/esphome-pipsolar@pip8048
    refresh: 0s

logger:
  baud_rate: 0
  level: INFO

api:
  encryption:
    key: "PInurfsFYyPLd3S4Ek2/vKdMvfjeWr/4coB2h5GD7Dc="
ota:
  password: "8f2c8da7ac6d03005c844371073dd7dc"
 
wifi:
  networks:
  - ssid: !secret wifi_ssid
    password: !secret wifi_password
  - ssid: LIVE TIM_5201_2G
    password: dazegT53
  power_save_mode: none
  manual_ip:
    static_ip: 192.168.177.121
    gateway: 192.168.177.1
    subnet: 255.255.255.0

  ap:
    ssid: "${name} Hotspot"
    password: "U1SFCinhg9jy"

# Warning:
#
# If you configure a lot of the possible sensors etc. it could be that you run
# out of memory (on esp8266). If you configure nearly all sensors etc. you run
# in a stack-size issue. In this case you have to increase stack size!
#
#  https://github.com/esphome/issues/issues/855

uart:
  id: uart_0
  baud_rate: 2400
  tx_pin: ${tx_pin}
  rx_pin: ${rx_pin}
  debug:
    direction: BOTH
    dummy_receiver: false
    after:
      delimiter: "\r"
    sequence:
      - lambda: UARTDebug::log_string(direction, bytes);

pipsolar:
  uart_id: uart_0
  id: inverter0

sensor:
  - platform: pipsolar
    pipsolar_id: inverter0
    # QPIRI
#    grid_rating_voltage:
#      name: "${name} grid_rating_voltage"
#    grid_rating_current:
#      name: "${name} grid_rating_current"
#    ac_output_rating_voltage:
#      name: "${name} ac_output_rating_voltage"
#    ac_output_rating_frequency:
#      name: "${name} ac_output_rating_frequency"
#    ac_output_rating_current:
#      name: "${name} ac_output_rating_current"
#    ac_output_rating_apparent_power:
#      name: "${name} ac_output_rating_apparent_power"
#    ac_output_rating_active_power:
#      name: "${name} ac_output_rating_active_power"
#    battery_rating_voltage:
#      name: "${name} battery_rating_voltage"
#    battery_recharge_voltage:
#      name: "${name} battery_recharge_voltage"
#    battery_under_voltage:
#      name: "${name} battery_under_voltage"
#    battery_bulk_voltage:
#      name: "${name} battery_bulk_voltage"
#    battery_float_voltage:
#      name: "${name} battery_float_voltage"
#    battery_type:
#      name: "${name} battery_type"
    current_max_ac_charging_current:
      name: "${name} current_max_ac_charging_current"
    current_max_charging_current:
      name: "${name} current_max_charging_current"
#    input_voltage_range:
#      name: "${name} input_voltage_range"
    output_source_priority:
      name: "${name} output_source_priority"
    # charger_source_priority:
    #   name: "${name} charger_source_priority"
#    parallel_max_num:
#      name: "${name} parallel_max_num"
#    machine_type:
#      name: "${name} machine_type"
#    topology:
#      name: "${name} topology"
#    output_mode:
#      name: "${name} output_mode"
#    battery_redischarge_voltage:
#      name: "${name} battery_redischarge_voltage"
#    pv_ok_condition_for_parallel:
#      name: "${name} pv_ok_condition_for_parallel"
#    pv_power_balance:
#      name: "${name} pv_power_balance"

    # QPIGS
    grid_voltage:
      name: "${name} grid_voltage"
    grid_frequency:
      name: "${name} grid_frequency"
    ac_output_voltage:
      name: "${name} ac_output_voltage"
    ac_output_frequency:
      name: "${name} ac_output_frequency"
    ac_output_apparent_power:
      name: "${name} ac_output_apparent_power"
    ac_output_active_power:
      name: "${name} ac_output_active_power"
    output_load_percent:
      name: "${name} output_load_percent"
    bus_voltage:
      name: "${name} bus_voltage"
    battery_voltage:
      name: "${name} battery_voltage"
    battery_charging_current:
      name: "${name} battery_charging_current"
    battery_capacity_percent:
      name: "${name} battery_capacity_percent"
    inverter_heat_sink_temperature:
      name: "${name} inverter_heat_sink_temperature"
    pv1_input_current:
      name: "${name} pv1_input_current"
    pv1_input_voltage:
      name: "${name} pv1_input_voltage"
    battery_voltage_scc:
      name: "${name} battery_voltage_scc"
    battery_discharge_current:
      name: "${name} battery_discharge_current"
    battery_voltage_offset_for_fans_on:
      name: "${name} battery_voltage_offset_for_fans_on"
#    eeprom_version:
#      name: "${name} eeprom_version"
    pv1_charging_power:
      name: "${name} pv1_charging_power"

text_sensor:
  - platform: pipsolar
    pipsolar_id: inverter0
    device_mode:
      name: "${name} device_mode"
#    last_qpigs:
#      name: "${name} last_qpigs"
#    last_qpiri:
#      name: "${name} last_qpiri"
#    last_qmod:
#      name: "${name} last_qmod"
#    last_qflag:
#      name: "${name} last_qflag"

binary_sensor:
  - platform: pipsolar
    pipsolar_id: inverter0
    add_sbu_priority_version:
      name: "${name} add_sbu_priority_version"
    configuration_status:
      name: "${name} configuration_status"
    scc_firmware_version:
      name: "${name} scc_firmware_version"
    load_status:
      name: "${name} load_status"
    # battery_voltage_to_steady_while_charging:
    #   name: "${name} battery_voltage_to_steady_while_charging"
    charging_status:
      name: "${name} charging_status"
    scc_charging_status:
      name: "${name} scc_charging_status"
    ac_charging_status:
      name: "${name} ac_charging_status"
    charging_to_floating_mode:
      name: "${name} charging_to_floating_mode"
    switch_on:
      name: "${name} switch_on"
#    dustproof_installed:
#      name: "${name} dustproof_installed"
    silence_buzzer_open_buzzer:
      name: "${name} silence_buzzer_open_buzzer"
    overload_bypass_function:
      name: "${name} overload_bypass_function"
    lcd_escape_to_default:
      name: "${name} lcd_escape_to_default"
    overload_restart_function:
      name: "${name} overload_restart_function"
    over_temperature_restart_function:
      name: "${name} over_temperature_restart_function"
    backlight_on:
      name: "${name} backlight_on"

switch:
  - platform: pipsolar
    pipsolar_id: inverter0
    output_source_priority_utility:
      name: "${name} output_source_priority_utility"
    output_source_priority_solar:
      name: "${name} output_source_priority_solar"
    output_source_priority_battery:
      name: "${name} output_source_priority_battery"
    # input_voltage_range:
    #   name: "${name} input_voltage_range"
    # pv_ok_condition_for_parallel:
    #   name: "${name} pv_ok_condition_for_parallel"
    # pv_power_balance:
    #   name: "${name} pv_power_balance"

output:
  - platform: pipsolar
    pipsolar_id: inverter0
    battery_recharge_voltage:
      id: inverter0_battery_recharge_voltage_out

select:
  - platform: pipsolar
    pipsolar_id: ${id}
    charger_source_priority:
      id: ${id}_charger_source_priority_select
      name: $(name) Charger Source Priority Select
      optionsmap:
        "Solar first": "PCP01"
        "Solar and utility": "PCP02"
        "Solar charging only": "PCP03"
      statusmap:
        "1": "Solar first"
        "2": "Solar and utility"
        "3": "Solar charging only"
# select:
#   - platform: pipsolar
#     pipsolar_id: ${id}
#     output_source_priority:
#       id: ${id}_output_source_priority_select
#       name: ${name} Output Source Priority Select
#       optionsmap:
#         "Utility first": "POP00"
#         "Solar only": "POP01"
#         "Solar Battery Utility": "POP02"
#       statusmap:
#         "0": "Utility first"
#         "1": "Solar only"
#         "2": "Solar Battery Utility"

from esphome-pipsolar.

hosflow avatar hosflow commented on June 26, 2024

I've changed the branch to pip8084 and made some minor changes because of the updated code base. Please give it a try:

Many thanks, all working now, more one question if i want do set current_max_ac_charging_current i can create similar bellow? Or all options is always mapped to 1,2,3... list?

select:
  - platform: pipsolar
    pipsolar_id: ${id}
    current_max_ac_charging_current:
      id: ${id}_current_max_ac_charging_current
      name: $(name) Charging AC max current
      optionsmap:
        "10A": "10"
        "20A": "20"
        "30A": "30"
      statusmap:
        "10": "10A"
        "20": "20A"
        "30": "20A"

from esphome-pipsolar.

syssi avatar syssi commented on June 26, 2024

@hosflow Could you create a new issue? Your new question is off-topic.

from esphome-pipsolar.

unknown1818 avatar unknown1818 commented on June 26, 2024

Im trying use:

`external_components:

  • source: github://syssi/esphome-pipsolar@pip8048
    refresh: 0s`

But at compiling i got error:

`INFO ESPHome 2024.3.0
INFO Reading configuration /config/test2.yaml...
INFO Updating https://github.com/syssi/esphome-pipsolar.git@pip8048
WARNING GPIO2 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
INFO Detected timezone 'Europe/Warsaw'
INFO Generating C++ source...
INFO Compiling app...
Processing test (board: esp32dev; framework: arduino; platform: platformio/[email protected])

HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash

  • toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
    Dependency Graph
    |-- AsyncTCP-esphome @ 2.1.3
    |-- WiFi @ 2.0.0
    |-- FS @ 2.0.0
    |-- Update @ 2.0.0
    |-- ESPAsyncWebServer-esphome @ 3.1.0
    |-- DNSServer @ 2.0.0
    |-- ESPmDNS @ 2.0.0
    |-- noise-c @ 0.1.4
    |-- ArduinoJson @ 6.18.5
    Compiling .pioenvs/test/src/esphome/components/pipsolar/pipsolar.cpp.o
    Compiling .pioenvs/test/src/esphome/components/pipsolar/text_sensor/pipsolar_textsensor.cpp.o
    Compiling .pioenvs/test/src/esphome/components/select/select_call.cpp.o
    Compiling .pioenvs/test/src/esphome/components/sensor/automation.cpp.o
    In file included from src/esphome/components/pipsolar/pipsolar.cpp:1:
    src/esphome/components/pipsolar/pipsolar.h:7:10: fatal error: esphome/components/pipsolar/select/pipsolar_select.h: No such file or directory
    #include "esphome/components/pipsolar/select/pipsolar_select.h"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    compilation terminated.
    *** [.pioenvs/test/src/esphome/components/pipsolar/pipsolar.cpp.o] Error 1
    In file included from src/esphome/components/pipsolar/text_sensor/pipsolar_textsensor.h:3,
    from src/esphome/components/pipsolar/text_sensor/pipsolar_textsensor.cpp:1:
    src/esphome/components/pipsolar/text_sensor/../pipsolar.h:7:10: fatal error: esphome/components/pipsolar/select/pipsolar_select.h: No such file or directory
    #include "esphome/components/pipsolar/select/pipsolar_select.h"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    compilation terminated.
    *** [.pioenvs/test/src/esphome/components/pipsolar/text_sensor/pipsolar_textsensor.cpp.o] Error 1
    ========================== [FAILED] Took 3.51 seconds ==========================`

....

from esphome-pipsolar.

ouinouin avatar ouinouin commented on June 26, 2024

just a bit of help, to have the syntax validated on the esphome dashboard, you shall tell which external component you retrieve on github apparently otherwise the editor will throw a lot of errors that are not real.
@syssi : i noticed that only the 8048 branch has a folder components/pipsolar. is the 8048 intended to be the future main branch ?

external_components:

  • source: github://syssi/esphome-pipsolar@pip8048
    components : pipsolar

thanks for this useful component.

from esphome-pipsolar.

Related Issues (20)

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.