Running on a Raspberry Pi 4, CyberPower UPS over USB. Can’t figure out if this is a config file problem or something else. Doesn’t help that I don’t know what I’m doing.
Here’s my config:
users:
- username: Sunshine
password: GreenFlower
instcmds:
- all
actions: []
devices:
- name: CyberPower 750VA SL750U
driver: usbhid-ups
port: auto
config: []
mode: netserver
shutdown_host: 'false'
And here’s my log:
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] nut: applying...
[fix-attrs.d] nut: exited 0.
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-banner.sh: executing...
-----------------------------------------------------------
Add-on: Network UPS Tools
Manage battery backup (UPS) devices
-----------------------------------------------------------
Add-on version: 0.1.2
You are running the latest version of this add-on.
System: HassOS 3.13 (armv7 / raspberrypi4)
Home Assistant Core: 0.108.6
Home Assistant Supervisor: 217
-----------------------------------------------------------
Please, share the above information when looking for help
or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing...
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] nut.sh: executing...
[21:04:48] INFO: Setting mode to netserver...
[21:04:49] INFO: Generating /etc/nut/upsd.users...
[21:04:49] INFO: Configuring user: Sunshine
[21:04:50] INFO: Password is NOT in the Have I Been Pwned database! Nice!
[21:04:51] INFO: Configuring Device named CyberPower 750VA SL750U...
[21:04:51] INFO: Starting the UPS drivers...
Network UPS Tools - UPS driver controller 3.8.0-3396-gcdc7c4b5b1
Error: no UPS definitions found in ups.conf
[cont-init.d] nut.sh: exited 1.
[cont-finish.d] executing container finish scripts...
[cont-finish.d] 99-message.sh: executing...
-----------------------------------------------------------
Oops! Something went wrong.
We are so sorry, but something went terribly wrong when
starting or running this add-on.
Be sure to check the log above, line by line, for hints.
-----------------------------------------------------------
[cont-finish.d] 99-message.sh: exited 0.
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
Thanks!
Содержание
- unixforum.org
- подружить USB-UPS с NUT (настройка)
- подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Re: подружить USB-UPS с NUT
- Настройка с нуля сервиса управления ИБП Network UPS Tools (NUT) для управления локально подключенным ИБП
- Описание
- Установка NUT
- Защита конфигурационных файлов
- Настройка NUT
- Настройка драйвера, способа подключения и времени выключения
- Настройка доступа системной группы NUT к ИБП по USB
- Настройка адресов и портов прослушивания подключений к NUT
- Настройка профиля пользователя для доступа к NUT
- Настройки мониторинга NUT
- Тест соединения
- Внутренние команды и переменные ИБП
- Настройка планировщика задач NUT upssched
- Заключение
- UPS not view #213
- Comments
- NUT LOG No matching HID UPS found Driver failed to start (exit status=1) Network UPS Tools — Generic HID driver 0.41 (2.7.4) USB communication driver 0.33 Network UPS Tools — UPS driver controller 2.7.4 [cont-init.d] nut.sh: exited 1. [cont-finish.d] executing container finish scripts. [cont-finish.d] 99-message.sh: executing.
- Be sure to check the log above, line by line, for hints.
- Expected behavior
- Actual behavior
- Steps to reproduce
- Proposed changes
- i set the option but not see any ups and my ups is support from NUT the log is: [s6-init] making user provided files available at /var/run/s6/etc. exited 0. [s6-init] ensuring user provided files have correct perms. exited 0. [fix-attrs.d] applying ownership & permissions fixes. [fix-attrs.d] nut: applying. [fix-attrs.d] nut: exited 0. [fix-attrs.d] done. [cont-init.d] executing container initialization scripts. [cont-init.d] 00-banner.sh: executing.
- Add-on: Network UPS Tools Manage battery backup (UPS) devices
- Add-on version: 0.9.1 You are running the latest version of this add-on. System: Home Assistant OS 7.4 (amd64 / qemux86-64) Home Assistant Core: 2022.3.0 Home Assistant Supervisor: 2022.01.1
- Please, share the above information when looking for help or support in, e.g., GitHub, forums or the Discord chat.
- [cont-init.d] 00-banner.sh: exited 0. [cont-init.d] 01-log-level.sh: executing. [cont-init.d] 01-log-level.sh: exited 0. [cont-init.d] nut.sh: executing. [11:03:50] INFO: Setting mode to netserver. [11:03:50] INFO: Generating /etc/nut/upsd.users. [11:03:50] INFO: Configuring user: manustar [11:03:51] INFO: Password is NOT in the Have I Been Pwned database! Nice! [11:03:51] INFO: Configuring Device named UPS Server. [11:03:51] INFO: Starting the UPS drivers. Network UPS Tools — UPS driver controller 2.7.4 Error: no UPS definitions found in ups.conf [cont-init.d] nut.sh: exited 1. [cont-finish.d] executing container finish scripts. [cont-finish.d] 99-message.sh: executing.
- Be sure to check the log above, line by line, for hints.
- Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 047: ID 0463:ffff MGE UPS Systems UPS Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub [22:28:03] INFO: Generating /etc/nut/upsd.users. [22:28:03] INFO: Configuring user: manustar [22:28:04] INFO: Password is NOT in the Have I Been Pwned database! Nice! [22:28:04] INFO: Configuring Device named UPS Server. [22:28:04] INFO: Starting the UPS drivers. Error: no UPS definitions found in ups.conf Network UPS Tools — UPS driver controller 2.7.4 [cont-init.d] nut.sh: exited 1. [cont-finish.d] executing container finish scripts. [cont-finish.d] 99-message.sh: executing.
unixforum.org
Форум для пользователей UNIX-подобных систем
- Темы без ответов
- Активные темы
- Поиск
- Статус форума
подружить USB-UPS с NUT (настройка)
подружить USB-UPS с NUT
Сообщение Doka » 24.01.2008 23:35
UPS — Ippon SmartPower Pro 1000
cистема — Fedora7
lsusb молчит как партизан про наличие USB-UPSa, но dmesg при подключении кабеля выдает:
какой порт указывать в директиве:
Re: подружить USB-UPS с NUT
Сообщение Doka » 25.01.2008 00:07
но проверка не работает:
Re: подружить USB-UPS с NUT
Сообщение Goodvin » 25.01.2008 00:37
Re: подружить USB-UPS с NUT
Сообщение Doka » 25.01.2008 16:12
NUT:
тут ситуация изменилась. инструкция на вики оказалась неполной. нашел другую: http://fedoranews.org/contributors/kazutoshi_morioka/nut/ надо было еще настроить /etc/sysconfig/ups (из за этого демон стартовал с ошибкой)
Re: подружить USB-UPS с NUT
Сообщение Doka » 25.01.2008 16:23
почему-то не может загрузить этот megatec. что видно при останове:
притом сам драйвер в системе присутствует и дело, как я понимаю по логам старта: в неправильном указании девайса.
Re: подружить USB-UPS с NUT
Сообщение Doka » 26.01.2008 21:07
в сети нашел инфу о том ,что существует проблема с NUT и УПСами, в которых USB реализован как USB-to-Serial конвертер, поэтому пытаюсь (пока) настроить через СОМ-порт. вот что выдаёт:
т.е. теперь драйвер загружается, УПС вроде как определяется, однако опять » UPS myups@localhost is unavailable«
непонятно про какую «No such file or directory» может идти речь .
порт указан как /dev/ttyS0
Re: подружить USB-UPS с NUT
Сообщение Doka » 26.01.2008 22:37
Re: подружить USB-UPS с NUT
Сообщение rm_ » 05.09.2008 18:45
Re: подружить USB-UPS с NUT
— chmod u+rx /usr/sbin/upssched-cmd
Обратить внимание на строку
где OL – on line (все нормально, питание от сети); OB – питание от батареи; LB – батарея разряжена, OL CHRG – online и идет зарядка батарей.
Re: подружить USB-UPS с NUT
Сообщение rm_ » 06.09.2008 14:47
Re: подружить USB-UPS с NUT
Сообщение rm_ » 19.12.2008 23:00
Re: подружить USB-UPS с NUT
Сообщение mixaiii » 26.12.2008 16:04
Re: подружить USB-UPS с NUT
Сообщение mixaiii » 05.01.2009 05:36
вообщем, у меня так и не получилось по usb Ippon подкл.
сейчас по com работает
может кто-нибудь ставил nut 2.4.0-pre1, как там с usb?
Re: подружить USB-UPS с NUT
Сообщение 156 » 02.03.2009 09:06
Re: подружить USB-UPS с NUT
Сообщение 156 » 03.03.2009 12:51
Re: подружить USB-UPS с NUT
Сообщение rm_ » 03.03.2009 19:02
Насколько мне известно невозможно заставить работать USB Ippon не пропатчив драйвер megatec_usb, как указано по ссылке выше. И даже в том случае, Output Voltage будет отображаться неверно.
Автор NUT’а сообщил, что теоретически, поддерживаться Ippon’ы должны через драйвер blazer_usb, но драйвер этот на текущий момент работает с ними некорректно, что приводит к однократному считыванию показаний, и последующему отвалу UPS’а (до переподключения USB-шнура).
Re: подружить USB-UPS с NUT
Сообщение 156 » 04.03.2009 21:50
И ещё одна заморочка, если в файле ups.conf убрать строку user = root то перезапуска не происхдит по причине незагрузки драйвера по команде
rcupsd restart , а если эту строку оставить, то не загружается драйвер по команде /usr/lib/ups/driver/megatec -a myups
Народ, подскажите, что бы это могло значить?
Re: подружить USB-UPS с NUT
Сообщение Terkin » 05.12.2009 19:37
Имеется упс Ippon Smart Winner 3000.
Никак не могу понять, что не так. В упс.конф указал в качестве драйвера megatec_usb, rcupsd выдает следующее:
Попробовал по другому:
Этот упс не поддерживается этим драйвером? Если да, то что можно еще попробовать.
Re: подружить USB-UPS с NUT
Сообщение Terkin » 08.12.2009 08:24
Владельцы иппонов, а как у вас в lsusb определяется ваш упс, насколько я понимаю, у меня так:
Re: подружить USB-UPS с NUT
Сообщение rm_ » 08.12.2009 09:21
Re: подружить USB-UPS с NUT
Сообщение Terkin » 08.12.2009 10:28
Дело в том, что у моей модели иппона помимо юсб есть и рс232, я конечно попробую подключить его по ком-порту, но такое подозрение, что эффекта это не даст.
ЗЫ ну таки у кого как иппоны определяются?
Re: подружить USB-UPS с NUT
Сообщение rm_ » 08.12.2009 11:10
Дело в том, что у моей модели иппона помимо юсб есть и рс232, я конечно попробую подключить его по ком-порту, но такое подозрение, что эффекта это не даст.
Re: подружить USB-UPS с NUT
Сообщение Terkin » 10.12.2009 21:35
Re: подружить USB-UPS с NUT
Сообщение rm_ » 25.04.2010 17:15
Re: подружить USB-UPS с NUT
Сообщение DjSpike » 29.06.2014 21:33
Помогите разобраться ,у меня тоже UPS Ippon Smart pro 1000.
Настроил его по вот этой инструкции http://warlomak.blogspot.ru/2011/08/ups-ippon-ubuntu.html
sudo upsdrvctl start
Network UPS Tools — UPS driver controller 2.7.1
addchar: discarding invalid character (0xc2)!
addchar: discarding invalid character (0xab)!
addchar: discarding invalid character (0xc2)!
addchar: discarding invalid character (0xbb)!
Network UPS Tools — Megatec/Q1 protocol USB driver 0.10 (2.7.1)
addchar: discarding invalid character (0xc2)!
addchar: discarding invalid character (0xab)!
addchar: discarding invalid character (0xc2)!
addchar: discarding invalid character (0xbb)!
Duplicate driver instance detected! Terminating other driver!
Broadcast Message from nut@home
(somewhere) at 21:33 .
Communications with UPS ippon@localhost lost
Supported UPS detected with megatec protocol
Vendor information unavailable
Battery runtime will not be calculated (runtimecal not set)
Broadcast Message from nut@home
(somewhere) at 21:33 .
Communications with UPS ippon@localhost established
При запуске программы NUT-monitor она зависает намертво.
Источник
Настройка с нуля сервиса управления ИБП Network UPS Tools (NUT) для управления локально подключенным ИБП
Описание
Сервис Linux NUT (Network UPS Tools) — это комплекс программ мониторинга и управления различными блоками бесперебойного питания (далее ИБП). Полный список поддерживаемых моделей можно получить, посмотрев список драйверов в файле /usr/share/nut/driver.list.
В руководстве описана настройка отключения ПК агентом NUT при потере напряжения в сети на примере ИБП Eaton 5E 650iUSB на Ubuntu-подобных дистрибутивах. Для использования под другие дистрибутивы используйте пакетный мененджер своего дистрибутива или соберите из исходных кодов. Новейшую версию Network UPS Tools можно скачать на GitHub по ссылке ссылке.
Установка NUT
Для начала следует установить NUT:
Сделаем резерную копию папки с файлами конфигурации NUT:
Теперь добавим директиву, указывающую, что ИБП подключен к данному компьютеру, а не к удаленному:
Теперь подключим ИБП к компьютеру и посмотрим вывод команды lsusb:
Ищем, поддерживается ли ИБП сервисом NUT. Можно либо просмотреть его вручную либо вывести строки с упоминанием марки ИБП, например:
Теперь, когда мы определились с драйвером, можно настраивать NUT.
Защита конфигурационных файлов
Следует выставить верные права доступа и владельцев для файлов конфигурации NUT
Настройка NUT
Настройка драйвера, способа подключения и времени выключения
Дописываем строки в конец файла /etc/nut/ups.conf или создаем новый с таким содержимым:
Настройка доступа системной группы NUT к ИБП по USB
Чтобы NUT имел право на доступ к USB интерфейсу ИБП, нужно написать правило доступа для udev.
udev — подсистема управления устройствами Linux. Благодаря udev в папке /dev находятся только подключенные в данный момент устройства.
и найдем строку, соответствующую ИБП. В нашем примере это
где после ID идет idVendor:idProduct (0463:ffff)
Теперь создадим файл с правилом для udev:
После создания правила следует перезагрузить сервис udev:
После этого следует отключить и заново подключить USB кабель от ИБП. После этого выполним команду для проверки работоспособности udev правила:
Если вывод приблизительно такой, то все настроено правильно.
Настройка адресов и портов прослушивания подключений к NUT
Дописываем строки в конец файла /etc/nut/upsd.conf или создаем новый с таким содержимым:
Имейте в ввиду что LISTEN должно быть написано именно большими буквами, или работать ничего не будет.
Настройка профиля пользователя для доступа к NUT
Создаем пользователя upsmonitor без права логина и домашней папки, с UID меньше 1000, чтобы он считался служебным и его не было на экране входа пользователей в систему, и с GID’ом группы nut.
Узнаем GID группы nut:
Теперь подберем UID для пользователя. Либо выберем такой, какой врядли используется какой либо программой, например, 339, либо выполняем:
и если ничего не выводит, то UID свободен и его можно использовать для создания пользователя upsmonitor:
Теперь добавим этого пользователя в файл профилей пользователей NUT /etc/nut/upsd.users:
Настройки мониторинга NUT
Дописываем строки в конец файла /etc/nut/upsmon.conf или создаем новый с таким содержимым:
Тест соединения
Посмотрим, что ИБП может сообщить о своем состоянии:
Все поля более менее очевидны или были определены нами в конфигурационных файлах ранее. Коды состояний ИБП отображаются в поле ups.status: и могут принимать значения:
- OL — система работает от сети;
- OB — система работает от батареи;
- LB — система работает от разряженной батареи.
Внутренние команды и переменные ИБП
ИБП можно давать команды напрямую из консоли, с помощью команды upscmd. Список доступных команд можно получить, выполнив команду:
Настройки beeper.* управляют сигнализацией ИБП в случае потери напряжения в сети, load.off выключает ПК немедленно, load.off.delay задержка в секундах до выключения ПК, shutdown.stop — команда прерывания процесса отключения ПК.
В некоторых ИБП присутствуют и другие опции, например, тест батареи или shutdown.return, в случае использования которой компьютер будет выключен, но ИБП пошлет сигнал включения ПК как только восстановится питание в сети. Чтобы это сработало, в БИОСе ПК дожна быть включена соответствующая функция, которая обычно находится где то в районе настроек питания.
Для примера выключим писк ИБП, когда пропадает питание в сети:
Чтобы включить, замените beeper.disable на beeper.enable.
Настройка планировщика задач NUT upssched
Дописываем строки в конец файла /etc/nut/upssched.conf или создаем новый с таким содержимым:
Теперь теперь нужен скрипт /etc/nut/cmd.sh. Создадим его, выставим права и заполним его:
Заключение
На этом настройка завершена. Можно протестировать, банально выдернув ИБП из розетки.
Источник
UPS not view #213
The my ups connect on usb to HA virtual machine not work .
I state that with this configuration previously it worked. on ha i see ups correctly but on nut i get this log
HA UPS
[ 5926.324242] usb 2-2.1: Product: Eaton 5P
[ 5926.324243] usb 2-2.1: Manufacturer: EATON
NUT LOG
No matching HID UPS found
Driver failed to start (exit status=1)
Network UPS Tools — Generic HID driver 0.41 (2.7.4)
USB communication driver 0.33
Network UPS Tools — UPS driver controller 2.7.4
[cont-init.d] nut.sh: exited 1.
[cont-finish.d] executing container finish scripts.
[cont-finish.d] 99-message.sh: executing.
We are so sorry, but something went terribly wrong when
starting or running this add-on.
Be sure to check the log above, line by line, for hints.
[cont-finish.d] 99-message.sh: exited 0.
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
Expected behavior
Actual behavior
Steps to reproduce
(How can someone else make/see it happen)
Proposed changes
(If you have a proposed change, workaround or fix,
describe the rationale behind it)
The text was updated successfully, but these errors were encountered:
There hasn’t been any activity on this issue recently, so we clean up some of the older and inactive issues.
Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by leaving a comment 👍
This issue has now been marked as stale and will be closed if no further activity occurs. Thanks!
Getting the same issue!
the issu not resolve. my ha install is ova for vmware esxi 6.7 and ups is connect to usb hypervisor
Same Issue here.
UPDATE: I juste made a bunch of tests and It looks like the USB port of my APC no longer works.
The issue is on my side. Sorry about that.
Ensure your ups is listed as a valid device. Also try USB2/3 ports and confirm the cables. Also ensure your device is listed as supported on the main NUT documentation.
Please do not add comments as «Same Issue».
i set the option but not see any ups and my ups is support from NUT
the log is:
[s6-init] making user provided files available at /var/run/s6/etc. exited 0.
[s6-init] ensuring user provided files have correct perms. exited 0.
[fix-attrs.d] applying ownership & permissions fixes.
[fix-attrs.d] nut: applying.
[fix-attrs.d] nut: exited 0.
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts.
[cont-init.d] 00-banner.sh: executing.
Add-on version: 0.9.1
You are running the latest version of this add-on.
System: Home Assistant OS 7.4 (amd64 / qemux86-64)
Home Assistant Core: 2022.3.0
Home Assistant Supervisor: 2022.01.1
We are so sorry, but something went terribly wrong when
starting or running this add-on.
Be sure to check the log above, line by line, for hints.
[cont-finish.d] 99-message.sh: exited 0.
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
on the esxi server the ups is connected to vm and HA see them
From that log you didn’t set the option, as it would show the devices connected.
on the esxi server the ups is connected to vm and HA see them
What do you mean HA see’s the device?, try changing the port in ESX to be USB 2 or 3.
This really sounds like a hardware/hypervisor issue.
this configuration:
`devices:
- name: UPS Server
driver: usbhid-ups
port: auto
config:- vendorid = 0463
mode: netserver
shutdown_host: ‘false’
users:
- vendorid = 0463
- actions: []
instcmds:- all
password: password
username: user
list_usb_divices: true`
- all
and this via cli ha:
[core-ssh
]$ ha hardware info | grep EATON
ID_SERIAL: EATON_Eaton_5P_P111J07GM8
ID_VENDOR: EATON
ID_VENDOR_ENC: EATON
list_usb_divices: true should be list_usb_devices: true
Also please post your config with formatting.
corrected my oversight now you see the ups
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 047: ID 0463:ffff MGE UPS Systems UPS
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
[22:28:03] INFO: Generating /etc/nut/upsd.users.
[22:28:03] INFO: Configuring user: manustar
[22:28:04] INFO: Password is NOT in the Have I Been Pwned database! Nice!
[22:28:04] INFO: Configuring Device named UPS Server.
[22:28:04] INFO: Starting the UPS drivers.
Error: no UPS definitions found in ups.conf
Network UPS Tools — UPS driver controller 2.7.4
[cont-init.d] nut.sh: exited 1.
[cont-finish.d] executing container finish scripts.
[cont-finish.d] 99-message.sh: executing.
We are so sorry, but something went terribly wrong when
starting or running this add-on.
Источник
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.