Giter VIP home page Giter VIP logo

gateway's Introduction

Deploy SLS

SLS (Smart Logic System)

Поддержите проект: https://boosty.to/slsys

SLS Сообщество - 3200 участников сообщества, неравнодушных к миру SMART и желающих "оцифровать" свой собственный мир. В сообществе можно найти огромное количество полезной информации.

SLS Железо - это железо, собираемое многотысячным сообществом любителей радиоэлектроники своими руками (DIY).

SLS Прошивка - универсальная прошивка, в которой реализована поддержка транспортных протоколов: Zigbee, Matter, OpenTherm, eBUS, 1-Wire, CAN, DALI, DMX, KNX и многих других.

SLS Облако - облако, через которое можно в удобном виде получать статистику со всех своих шлюзов SLS, строить графики и интегрировать с голосовыми помощниками.

SLS Pro - готовые решения от разработчиков с официальной поддержкой и отличными планами развития.

Универсальный контроллер с расширяемым функционалом, можно подключить два модуля расширения, например OpenTherm и Zigbee. Это отличное и проверенное устройство от команды проекта. Является решением SLS Pro.

В основе концепции SLS изначально лежал протокол Zigbee, под его задачи были реализованы основные функции, которые теперь можно использовать на любых шлюзах SLS.
Толчком для развития проекта в самостоятельный продукт послужило множество факторов:

  • доступность относительно недорогих и энергоэффективных беспроводных устройств Zigbee (SLS поддерживает около 250 востребованных различных устройств, при необходимости можно поддержать любые проверенные сообществами Zigbee устройства z2m, blakadder).
  • огромнейшее сообщество неравнодушных пользователей программных координаторов Zigbee2mqtt и др. подобных решений,
  • стремление к популяризации DIY-сообществ, заинтересованных в стремлении разобраться в вопросах взаимодействия протоколов и технологий, побудить при стартовых нулевых навыках заинтересованного самостоятельно изготовить устройство своими руками на основе проектов на сайте modkam.ru

SLS сегодня

  • Невероятно настраиваемый и программируемый функционал на основе языка сценариев Lua
  • Возможность ручной тонкой настройки оборудование.
  • Отсутствие привязки к облачным интерфейсам вендоров.
  • Возможность работы устройств и настройка автоматизаций без использования облачных технологий.
  • Огромное количество поддерживаемых проводных и беспроводных устройств.

gateway's People

Contributors

aalcxa avatar avenitos avatar bagunda avatar bastshoes avatar blackwarriornt avatar ckesc avatar com30n avatar conrad66 avatar dimon78 avatar directman66 avatar eaglealex avatar gorec2005 avatar jager-f avatar kasitoru avatar litichevskiydv avatar mihing avatar namolem avatar nick7zmail avatar nurikk avatar rupreht avatar ryabchikus avatar schmurtzm avatar skk2010 avatar slydiman avatar svrooij avatar tsurkan-av avatar v-a-s avatar william-aqn avatar xomarnd avatar yorulez avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gateway's Issues

Дополнительные mode для встроенных светодиодов

Хотелось бы увидеть в шлюзе реализацию некоторых световых эффектов для аппаратных LED.
Первое, что уже спрашивало несколько человек - режим blink (мерцание с заданными таймингами). Сделать можно что то типа такого:

{"mode":"blink","hex":"#FFFFFF","on_duration":"500","off_duration":"500"}

где on_duration - продолжительность во включенном состоянии (мсек), а off_duration - соответственно, в выключенном.

Еще в голову приходит режим, при котором происходит плавная смена цвета от предыдущего к новому заданному. Например, так:

{"mode":"smooth","hex":"#FFFFFF","duration":"1000"}

Уже только на основе этого можно запрограммировать интересные световые эффекты для разных задач.

Add device support: The Sunricher ZG9101SAC-HP device is not fully supported by SMS Gateway

Hello,
I'm on Version: 2020.07.24d1 on-board on a 16Mb device.

SLS Info
Version: 2020.07.24d1
Zigbee devices: 12
Uptime: 00:06:31
LastSave: 00:06:20
FreeHeap: 177852 bytes
FreeHeapCommon: 4329988 bytes
TotalPsram: 4194252 bytes
FreePsram: 4194252 bytes
FirmwareSize: 1631200 bytes
Flash: 16Mb QOUT 80

The Sunricher ZG9101SAC-HP device is not fully supported by SMS Gateway.

Manuf: Sunricher
ModelId: ZG9101SAC-HP

In the past I used it on ZigbeeToMqtt and it was fully integrated without any problem.

With SLS, after joining, this device is highlighted in yellow with "support unknow" label.
No topic has been created for this device.
Only link quality is properly shown.

Is it possible to integrate this device? It would be highly appreciated.
What information can I provide to allow you to do so?

Thank you

image
image
image

Добавить LWT для MQTT

Собственно, полезная функция. Хотелось бы это увидеть на шлюзе. К тому же, похожий по смыслу топик уже есть (/zigbee/bridge/state), осталось просто указывать его в lastWillTopic при подключении к брокеру.

Add feature - Xiaomi Aqara RTCGQ01LM occupancy "false" after occupancy timeout

I added the a Xiaomi Aqara RTCGQ01LM (https://www.zigbee2mqtt.io/devices/RTCGQ01LM.html)
This is the topic when it detects the presence..

Zigbee7634/sensore_presenza {"battery":100,"illuminance":1,"linkquality":78,"occupancy":true,"occupancy_timeout":90,"voltage":3.06,"model_name":"lumi.sensor_motion.aq2"}

...but gateway doesn't send any topic with occupancy: false after occupancy_timeout

For now I have solved creating a binary sensor like this...

binary_sensor:
- platform: "mqtt" 
  name: "Sensore Presenza" 
  state_topic: "Zigbee7634/sensore_presenza" 
  availability_topic: "Zigbee7634/bridge/state"
  payload_on: true 
  off_delay: 10 
  value_template: "{{ value_json.occupancy }}" 
  device_class: "motion"

...but using homeassistant autodiscovery, binary sensor entity is not set as showed (with off_delay) and it's required an automation to change PIR state to false.

it would be useful if the gateway sent a topic with occupancy: false

Gateway is resetting on receiving MQTT message for Xiaomi relay

If you send a MQTT message for relay (MiGateway/0x00158D0003CB8DEE/set/state_l1/) the watchdog is triggered. It occures first about 6 minutes after gateway started. Other binded devices work fine.
The configuration with the same hardware, but without ESP32 was tested with zigbee2mqtt and it works.

Here are the logs:
192.168.188.57-20200212-212116.log
192.168.188.57-20200211-190633.log

Configuration:

  • ESP32 Firmware version: 20200202
  • Gateway from Jager with CC2538+CC2592
  • CC2538 firmware:
    MODKAMRU_V3_UART-no-flow-control
    CC2538ZNP-UART-without-SBL-cc2592
    (tried both)
  • Relay LLKZMK11LM

Add new device support - _TZE200_oisqyl4o - TS0601

SLS Version: 2020.10.05d3

New Lonsonho Tuya Zigbee wall switches 1/2/3 pole WITHOUT neutral wire.

Data example for 1-pole switch device:
Pairing log: https://pastebin.com/hmx7tPkt

Device info:
Router
ieeeAddr - 0x842E14FFFE13CF84
nwkAddr - 0xFB2A
Power source - Yes
ManufName - _TZE200_oisqyl4o
ModelId - TS0601
Routes
Endpoint No1
ProfileId - 0x0104
DeviceId - 0x0051
Input clusters
GEN_BASIC
GEN_GROUPS
GEN_SCENES
Output clusters
GEN_TIME
OTA

Device States:
linkquality
trSeqNum
20201005215456

Добавить поддержку SysLog

т.к. почему то в requests пожелание добавить не удалось напишу тут.
Предлагаю добавить поддержку syslog с разными уровнями логирования, от полного до только критичного с указанием syslog сервера

Шлюз как виртуальное устройство в списке ZigBee

Добавить шлюз в список ZigBee устройств в виде "виртуального" с соответствующими топиками управления по MQTT. Ведь по сути, помимо функции шлюза он так же является и исполнительным устройством - подсветка, режим сопряжения, события кнопки, звук и т.д.

Link quality is always 0 for SONOFF BASICZBR3

Hello,
I'm on Version: 2020.07.24d1 on-board on a 16Mb device.

SLS Info
Version: 2020.07.24d1
Zigbee devices: 12
Uptime: 00:06:31
LastSave: 00:06:20
FreeHeap: 177852 bytes
FreeHeapCommon: 4329988 bytes
TotalPsram: 4194252 bytes
FreePsram: 4194252 bytes
FirmwareSize: 1631200 bytes
Flash: 16Mb QOUT 80

After joining a device Manuf: SONOFF ModelId: BASICZBR3, there are no values for linkquality property.
This device is also a router and all the end-device connected to it, have no values for linkquality property as well.

thank you

can add lan8720 support ?

esp32 lan8720 default define works RJ45

#ifdef ETH_CLK_MODE
#undef ETH_CLK_MODE
#endif
#define ETH_CLK_MODE ETH_CLOCK_GPIO17_OUT
#define ETH_POWER_PIN -1
#define ETH_TYPE ETH_PHY_LAN8720
#define ETH_ADDR 0
#define ETH_MDC_PIN 2
#define ETH_MDIO_PIN 18

lan8720 clock sync with esp32 gpio17 output
then add wifiEvent() void.


void WiFiEvent(WiFiEvent_t event)
{
    switch (event) {
    case SYSTEM_EVENT_ETH_START:
        Serial.println("ETH Started");
        //set eth hostname here
        ETH.setHostname("esp32-ethernet");
        break;
    case SYSTEM_EVENT_ETH_CONNECTED:
        Serial.println("ETH Connected");
        break;
    case SYSTEM_EVENT_ETH_GOT_IP:
        Serial.print("ETH MAC: ");
        Serial.print(ETH.macAddress());
        Serial.print(", IPv4: ");
        Serial.print(ETH.localIP());
        if (ETH.fullDuplex()) {
            Serial.print(", FULL_DUPLEX");
        }
        Serial.print(", ");
        Serial.print(ETH.linkSpeed());
        Serial.println("Mbps");
        eth_connected = true;
        break;
    case SYSTEM_EVENT_ETH_DISCONNECTED:
        Serial.println("ETH Disconnected");
        eth_connected = false;
        break;
    case SYSTEM_EVENT_ETH_STOP:
        Serial.println("ETH Stopped");
        eth_connected = false;
        break;
    default:
        break;
    }
}

setup with

    WiFi.onEvent(WiFiEvent);
    ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLK_MODE);

eth base with wifi function ,thanks !

Проблемы с модулем TuYa TS0601_thermostat

Описание модуля на zibee2mqtt

В процессе эксплуатации модуля с прошивкой шлюза 2020.12.16d1 было замечено следующее:

картинка от какого-то настенного выключателя и не соответствует изображению термоголовки
Как на шлюзе так и в home assistant отсутствуют параметры

  1. переключатель открытого окна. Пользуют через zigbee2mqtt все работает, на шлюзе этого параметра нет
  2. возможность блокировки кнопок. В zigbee2mqtt есть, через шлюз такая возможность отсутсвует.

Очень хотелось бы, чтобы эти недочеты были устранены.

TRÅDFRI shortcut button repeats same command 4 times

TRÅDFRI shortcut button (v.2.3.015) sends the same command four times for a single action. The trSeqNum is the same for all four repetitions.
It causes a toggle action to be executed 4 times in SimpleBind which makes it useless.

Web log: https://pastebin.com/GWwFLjjy

As possible solution, add a check for trSeqNum to ignore subsequent commands with the same trSeqNum.

разметка текста в telegram.send()

при отправке сообщения вида "При\nвет" дойдет только "При", никакого перевода строки не будет.

и, так же, при попытке разметить текст сообщения, например "Привет" приходит именно то, что написано, со звездочками, никого жирного текста нет

Топик состояния для конечных устройств

В настоящее время шлюз умеет отдавать свое состояние в топик /zigbee/bridge/state (присылает online или offline).
Было бы неплохо, чтобы каждое из спаренных устройств умело делать тоже самое (в топик /zigbee/sensor_name/state).
Для тех устройств, которые не отсылают свой статус, можно туда дублировать state самого шлюза. Для остальных же получим удобный инструмент определения доступности устройства, тем более что подобный функционал поддерживается системами умного дома "из коробки" (в HA точно - у устройств есть специальный параметр state_topic для этого).

Не работает Backup Version: 2020.08.24d12

Где должен быть config.json, пусто.
file: backup_20200907_051553.sls

{"version":"2020.08.24d12","date":"05:15:53 07.09.2020","MAC":"***Crop***"}
{"name":"/config.json","size":0}

{"name":"/devices.json","size":2479}
{"24414": "*** Crop ***"}
{"name":"/groups.json","size":4}
null

--
Хотелось иметь backup всех файлов из раздела scripts (*.json, *.lua, *.html)

Add new device support - _TZ3000_peszejy7 - TS0041

SLS Version: 2020.11.29d1

Lonsonho Tuya Wireless Zigbee Switch

Data example for 1-pole switch device:
Pairing log: https://pastebin.com/G6TytJDH

Device info:
EndDevice
ieeeAddr - 0x5C0272FFFECAC32C
nwkAddr - 0xD698
Power source
ManufName - _TZ3000_peszejy7
ModelId - TS0041
Routes
Endpoint No1
ProfileId - 0x0104
DeviceId - 0x0000
Input clusters
GEN_BASIC
GEN_POWER_CFG
GEN_ON_OFF
GEN_TIME
Output clusters
OTA

Device States:
linkquality
trSeqNum

20201205141345

Wrong device class for DIYRuZ_Flower's soil moisture sensor sents to MQTT topic

Gateway sents to topic homeassistant/sensor/<sensor_address>/soil_moisture/config message with device class moisture

{
  "device_class": "moisture",
  "unit_of_measurement": "%",
  "value_template": "{{ value_json.soil_moisture }}",
  ....
}.

But according to documentation such device class is not supported for sensors, so Home Assistant can not automatically create entity for sensor.

Add MQTT auto discovery for Home Assistant

Could be great to add MQTT auto discovery for Home Assistant.
https://home-assistant.io/docs/mqtt/discovery/

More and more automation systems are able to use the auto-discovery feature with MQTT broker (so basically you don't need to declare one by one all your sensors, switches,... in your automation system, they are automatically created with correct type first time your device is going to connect to the MQTT broker of your system).

So here is the cooking book for it ;)

  • you need to setup the root prefix for autodiscovery (should be a field to fill). For Home Assistant it's homeassistant basically. That field should be combined with a button to "activate" the discovery and a unique node ID (user filable).

  • Once discovery button has been pushed and device restarted, it'll send automatically on MQTT broker setup in SLS Gateway a configuration topic for each hardware device configured in SLS Gateway.
    The configuration topic should be formatted this way:
    <discovery_prefix>/<component>/[<node_id>/]<object_id>/config

    • "component" being one of the type previously listed

    • "node_id" being an optional field to supply node providing the topic

    • "object_id" being the unique node ID filled by user in SLS Gateway parameters (if not filled can be by default the last digits of the MAC address of the zigbee device for example)

    • "<>" being the config or state to define current action.

For more details with Home assistant (basically same process with all MQTT clients that support auto-discovery): https://home-assistant.io/docs/mqtt/discovery/

If you need a tester, I'm your man :)

Hello, can I support horn-pir -- a3.9-e? It is possible on ZigBee 2mqtt.

Hello, can I support horn-pir -- a3.9-e? It is possible on ZigBee 2mqtt.

Thank you very much.

K)PB8P}VBX0PEW~Z$Q5%%V

[09:56:47.218] [89] Thread Link, core: 0 [09:56:50.821] -- RawReceive[1,34]: fe 1d 44 81 00 00 00 05 e6 22 01 01 00 5c 00 f5 f2 3e 00 00 09 19 11 00 01 00 00 00 00 00 e6 22 1d a5 [09:56:50.827] [D] -- ReceiveCmd: 0x4481 AREQ_AF_INCOMING_MSG, Len: 29, Data: 00000005E6220101005C00F5F23E000009191100010000000000E6221D [09:56:50.837] [V] AREQ_AF_INCOMING_MSG GroupId: 0x0000, ClusterId: 0x0500 SS_IAS_ZONE, SrcAddr: 0x22E6, SrcEn: 1, DstEn: 1, WasBr: 0x00, LinkQuality: 92, SecurityUse: 0x00, TimeStamp: 0x003EF2F5, TransSeqNum: 0, Len: 9, Data: 191100010000000000 [09:56:50.859] [V] ZCL FrameControl: 0x19, Type: 01, ManuSpecific: 00, Direction: 01, DisableDefaultRsp: 01, TrSeqNum: 17, CmdId: 0x00 ZONE_STATUS_CHANGE_NOTIFICATION, Payload: 010000000000 [09:56:50.875] ParseZCLHeader time: 16 [09:56:50.879] [D] SetDeviceState nwkAddr: 0x22E6, linkquality = UINT8: 92 [09:56:50.885] SimpleBind_Handle prepare 0x22E6, Name: linkquality, Value: 92 [09:56:50.891] SimpleBind_Handle 0 ts: 7 [09:56:50.895] SimpleBind_Handle 1 ts: 11 [09:56:50.899] SimpleBind_Handle 2 ts: 15 [09:56:50.927] SimpleBind_Handle 2.5 ts: 18 1 1 1 [09:56:50.933] [D] SetDeviceState nwkAddr: 0x22E6, trSeqNum = UINT8: 17 [09:56:50.937] SimpleBind_Handle prepare 0x22E6, Name: trSeqNum, Value: 17 [09:56:50.941] SimpleBind_Handle 0 ts: 3 [09:56:50.944] SimpleBind_Handle 1 ts: 7 [09:56:50.949] SimpleBind_Handle 2 ts: 12 [09:56:50.957] SimpleBind_Handle 2.5 ts: 18 1 1 1 [09:56:50.961] FZ0 time: 83 [09:56:50.966] [ERROR] Device: 0x00124B0015FDAC5E converter FromZigbee not found for ModelId: HORN-PIR--A3.9-E [09:56:50.973] FromZigBeeConverter time: 95 [09:56:50.976] ParseZCLPayload time: 98 [09:56:50.978] Zigbee.ProcessMessage() mem: 189576 - 185868 = 3708 [09:56:50.208] [8] Thread WebServer, core: 1, WS Clients: 1 [09:56:53.061] [1] Thread Zigbee, core: 0 [09:56:54.400] [0] Thread Main, core: 0

Add new device support - _TZE200_wunufsil - TS0601

SLS Version: 2020.10.05d3

New Lonsonho Tuya Zigbee wall switches 1/2/3 pole with neutral wire.

Data example for 2-pole switch device:
Pairing log: https://pastebin.com/Gc4d7Gt8

Device info:
Router
ieeeAddr - 0x842E14FFFE13D269
nwkAddr - 0x31FF
Power source - Yes
ManufName - _TZE200_wunufsil
ModelId - TS0601
Routes
Endpoint No1
ProfileId - 0x0104
DeviceId - 0x0051
Input clusters
GEN_BASIC
GEN_GROUPS
GEN_SCENES
Output clusters
GEN_TIME
OTA

Device States:
linkquality
trSeqNum
20201005215456

Add new device support - _TZE200_fhn3negr - TS0601

SLS Version: 2020.11.29d1
Tuya ZigBee 3.0 Smart Thermostatic Radiator
Pairing log: https://pastebin.com/wCVZCMjb
Device info:

EndDevice
Friendly name
termo1
ieeeAddr
0x5C0272FFFEEDF502
nwkAddr
0x4AAE
Power source

ManufName
_TZE200_fhn3negr
ModelId
TS0601
Routes

Endpoint #1

ProfileId
0x0104
DeviceId
0x0051
Input clusters
GEN_BASIC
GEN_GROUPS
GEN_SCENES
GEN_TIME

Output clusters
OTA

Device States:
linkquality
trSeqNum
Screenshot at Dec 07 15-47-10
Tuya-ZigBee-3-0-Smart-Thermostatic-Radiator-Valve-Home-Thermostat-Heater-TRV-Voice-Control-with-Alexa jpg_50x50

Xiaomi WXKG01LM - no long click

Hello
I'm using 3 Xiaomi WXKG01LM, everything is detected, but not the long click.
Instead of the long click, after 3 "of pressure, I receive a" long_release" when the contact is released.

Gateway continously disconnects from MQTT broker

Hi all!
I noticed repeated disconnections from MQTT broker, and I don't understand why.
It worked fine for days, but now it continously disconnects from broker.
Now I'm on a board with ESP32 16MB + CC2538/CC2592, but I've got this problem on another gw based on ESP32 4MB + CC2530.
MQTT broker (mosquitto) is working fine. Every device connected to broker is working fine, but SLS continously disconnects.

I tried a soft reboot...same problem
I tried ad hard reboot...same problem
I tried a mosquitto restart...same problem
I tried a RPI restart...same problem.

I can't figured out...
This is my status page...

image

I set mosquitto and sls-gw log levels to debug...

SLS-GW Log

[02:51:34.790] [2] Thread WebServer, core: 1, WS Clients: 1
[02:51:38.407] [1] Thread Zigbee, core: 1
[02:51:42.530] [0] Thread Main, core: 1
[02:51:44.497] [1] Thread WebServer, core: 1, WS Clients: 1
[02:51:46.098] [NA] Connection failed...
[02:51:46.106] [D] [MQTT] Not connected Server: 192.168.1.10, Time:  00:00:33, State: -3
[02:51:46.210] [MQTT] Connecting to server... 3 1 Server: 192.168.1.10:1883, User: snakuzzo
[02:51:46.228] [MQTT] Connected! ClientId: SLS-Zigbee7634
[02:51:46.240] [14177] Thread Link, core: 1
[02:51:46.255] [MQTT] payload_length: 6
[02:51:46.261] [MQTT] write_count: 6
[02:51:47.214] [3] Thread Zigbee, core: 1
[02:51:51.036] [3] Thread Main, core: 1
[02:51:53.211] [8] Thread WebServer, core: 1, WS Clients: 1
[02:51:56.938] [94] Thread Link, core: 0
[02:51:57.019] [1] Thread Zigbee, core: 1
[02:52:01.541] [1] Thread Main, core: 1
[02:52:01.113] [NA] Connecting to 's1.slsys.io', port: 26732...
[02:52:03.919] [2] Thread WebServer, core: 1, WS Clients: 1
[02:52:07.823] [0] Thread Zigbee, core: 1
[02:52:10.045] [0] Thread Main, core: 1
[02:52:13.629] [4] Thread WebServer, core: 1, WS Clients: 1
[02:52:17.628] [1] Thread Zigbee, core: 1
[02:52:20.551] [1] Thread Main, core: 1
[02:52:20.607] [NA] Connection failed...
[02:52:20.613] [MQTT] Send HB (184) {"Uptime":1494,"UptimeStr":"00:24:54","IP":"192.168.1.19","RSSI":"-58","Version":"2020.07.24d1","FreeMem":185944,"LastRxTS":317,"LastTxTS":1230,"log_level":"debug","permit_join":false}
[02:52:20.635] [D] [MQTT] Not connected Server: 192.168.1.10, Time:  00:00:33, State: -3
[02:52:20.740] [MQTT] Connecting to server... 3 1 Server: 192.168.1.10:1883, User: snakuzzo
[02:52:20.762] [MQTT] Connected! ClientId: SLS-Zigbee7634
[02:52:20.781] [14238] Thread Link, core: 1
[02:52:20.796] [MQTT] payload_length: 184
[02:52:20.802] [MQTT] write_count: 184
[02:52:20.808] [MQTT] payload_length: 6
[02:52:20.813] [MQTT] write_count: 6
[02:52:23.338] [1] Thread WebServer, core: 1, WS Clients: 1
[02:52:27.435] [4] Thread Zigbee, core: 1
[02:52:29.057] [3] Thread Main, core: 1
[02:52:30.488] [103] Thread Link, core: 0
[02:52:32.046] [1] Thread WebServer, core: 1, WS Clients: 1
[02:52:35.663] [NA] Connecting to 's1.slsys.io', port: 26732...
[02:52:36.239] [0] Thread Zigbee, core: 1
[02:52:39.562] [2] Thread Main, core: 1
[02:52:42.753] [3] Thread WebServer, core: 1, WS Clients: 1
[02:52:46.045] [2] Thread Zigbee, core: 1
[02:52:48.066] [1] Thread Main, core: 1
[02:52:52.460] [2] Thread WebServer, core: 1, WS Clients: 1
[02:52:53.118] [NA] Connection failed...
[02:52:53.127] [D] [MQTT] Not connected Server: 192.168.1.10, Time:  00:00:33, State: -3
[02:52:53.231] [MQTT] Connecting to server... 3 1 Server: 192.168.1.10:1883, User: snakuzzo
[02:52:53.252] [MQTT] Connected! ClientId: SLS-Zigbee7634
[02:52:53.273] [14180] Thread Link, core: 1
[02:52:53.289] [MQTT] payload_length: 6
[02:52:54.295] [MQTT] write_count: 6
[02:52:56.851] [2] Thread Zigbee, core: 1
[02:52:58.573] [4] Thread Main, core: 1
[02:53:01.173] [7] Thread WebServer, core: 1, WS Clients: 1
[02:53:03.972] [94] Thread Link, core: 0
[02:53:06.656] [0] Thread Zigbee, core: 1
[02:53:07.078] [2] Thread Main, core: 1
[02:53:08.147] [NA] Connecting to 's1.slsys.io', port: 26732...
[02:53:11.883] [5] Thread WebServer, core: 1, WS Clients: 1
[02:53:16.461] [1] Thread Zigbee, core: 1
[02:53:17.583] [1] Thread Main, core: 1
[02:53:21.592] [2] Thread WebServer, core: 1, WS Clients: 1
[02:53:25.265] [0] Thread Zigbee, core: 1
[02:53:26.087] [1] Thread Main, core: 1
[02:53:27.628] [NA] Connection failed...
[02:53:27.635] [MQTT] Send HB (184) {"Uptime":1561,"UptimeStr":"00:26:01","IP":"192.168.1.19","RSSI":"-57","Version":"2020.07.24d1","FreeMem":185944,"LastRxTS":384,"LastTxTS":1297,"log_level":"debug","permit_join":false}
[02:53:27.658] [D] [MQTT] Not connected Server: 192.168.1.10, Time:  00:00:33, State: -3
[02:53:27.762] [MQTT] Connecting to server... 3 1 Server: 192.168.1.10:1883, User: snakuzzo
[02:53:27.783] [MQTT] Connected! ClientId: SLS-Zigbee7634
[02:53:27.800] [14223] Thread Link, core: 1
[02:53:27.815] [MQTT] payload_length: 184
[02:53:27.821] [MQTT] write_count: 184
[02:53:27.829] [MQTT] payload_length: 6
[02:53:27.832] [MQTT] write_count: 6
[02:53:31.298] [1] Thread WebServer, core: 1, WS Clients: 1
[02:53:35.074] [5] Thread Zigbee, core: 1
[02:53:36.596] [5] Thread Main, core: 1
[02:53:37.509] [104] Thread Link, core: 0
[02:53:40.005] [2] Thread WebServer, core: 1, WS Clients: 1
[02:53:42.684] [NA] Connecting to 's1.slsys.io', port: 26732...

Mosquitto Log

1595724696: Client SLS-Zigbee7634 has exceeded timeout, disconnecting.
1595724696: Sending PUBLISH to home-assistant (d0, q0, r0, m0, 'Zigbee7634/bridge/state', ... (7 bytes))
1595724706: New client connected from 192.168.1.19 as SLS-Zigbee7634 (p2, c1, k15, u'snakuzzo').
1595724706: 	Zigbee7634/bridge/state
1595724706: Sending CONNACK to SLS-Zigbee7634 (0, 0)
1595724706: Received SUBSCRIBE from SLS-Zigbee7634
1595724706: 	Zigbee7634/bridge/config/+ (QoS 0)
1595724706: SLS-Zigbee7634 0 Zigbee7634/bridge/config/+
1595724706: Sending SUBACK to SLS-Zigbee7634
1595724706: Received SUBSCRIBE from SLS-Zigbee7634
1595724706: 	Zigbee7634/bridge/config/+/+ (QoS 0)
1595724706: SLS-Zigbee7634 0 Zigbee7634/bridge/config/+/+
1595724706: Sending SUBACK to SLS-Zigbee7634
1595724706: Received SUBSCRIBE from SLS-Zigbee7634
1595724706: 	Zigbee7634/bridge/networkmap (QoS 0)
1595724706: SLS-Zigbee7634 0 Zigbee7634/bridge/networkmap
1595724706: Sending SUBACK to SLS-Zigbee7634
1595724706: Received SUBSCRIBE from SLS-Zigbee7634
1595724706: 	Zigbee7634/+/set/# (QoS 0)
1595724706: SLS-Zigbee7634 0 Zigbee7634/+/set/#
1595724706: Sending SUBACK to SLS-Zigbee7634
1595724706: Received SUBSCRIBE from SLS-Zigbee7634
1595724706: 	Zigbee7634/+/+/set/# (QoS 0)
1595724706: SLS-Zigbee7634 0 Zigbee7634/+/+/set/#
1595724706: Sending SUBACK to SLS-Zigbee7634
1595724706: Received SUBSCRIBE from SLS-Zigbee7634
1595724706: 	Zigbee7634/led/# (QoS 0)
1595724706: SLS-Zigbee7634 0 Zigbee7634/led/#
1595724706: Sending SUBACK to SLS-Zigbee7634
1595724706: Received SUBSCRIBE from SLS-Zigbee7634
1595724706: 	Zigbee7634/reboot/# (QoS 0)
1595724706: SLS-Zigbee7634 0 Zigbee7634/reboot/#
1595724706: Sending SUBACK to SLS-Zigbee7634
1595724707: Received PUBLISH from SLS-Zigbee7634 (d0, q0, r1, m0, 'Zigbee7634/bridge/state', ... (6 bytes))
1595724707: Sending PUBLISH to home-assistant (d0, q0, r0, m0, 'Zigbee7634/bridge/state', ... (6 bytes))
1595724729: Client SLS-Zigbee7634 has exceeded timeout, disconnecting.
1595724729: Sending PUBLISH to home-assistant (d0, q0, r0, m0, 'Zigbee7634/bridge/state', ... (7 bytes))
1595724740: New client connected from 192.168.1.19 as SLS-Zigbee7634 (p2, c1, k15, u'snakuzzo').
1595724740: 	Zigbee7634/bridge/state
1595724740: Sending CONNACK to SLS-Zigbee7634 (0, 0)
1595724740: Received SUBSCRIBE from SLS-Zigbee7634
1595724740: 	Zigbee7634/bridge/config/+ (QoS 0)
1595724740: SLS-Zigbee7634 0 Zigbee7634/bridge/config/+
1595724740: Sending SUBACK to SLS-Zigbee7634
1595724740: Received SUBSCRIBE from SLS-Zigbee7634
1595724740: 	Zigbee7634/bridge/config/+/+ (QoS 0)
1595724740: SLS-Zigbee7634 0 Zigbee7634/bridge/config/+/+
1595724740: Sending SUBACK to SLS-Zigbee7634
1595724740: Received SUBSCRIBE from SLS-Zigbee7634
1595724740: 	Zigbee7634/bridge/networkmap (QoS 0)
1595724740: SLS-Zigbee7634 0 Zigbee7634/bridge/networkmap
1595724740: Sending SUBACK to SLS-Zigbee7634
1595724740: Received SUBSCRIBE from SLS-Zigbee7634
1595724740: 	Zigbee7634/+/set/# (QoS 0)
1595724740: SLS-Zigbee7634 0 Zigbee7634/+/set/#
1595724740: Sending SUBACK to SLS-Zigbee7634
1595724740: Received SUBSCRIBE from SLS-Zigbee7634
1595724740: 	Zigbee7634/+/+/set/# (QoS 0)
1595724740: SLS-Zigbee7634 0 Zigbee7634/+/+/set/#
1595724740: Sending SUBACK to SLS-Zigbee7634
1595724740: Received SUBSCRIBE from SLS-Zigbee7634
1595724740: 	Zigbee7634/led/# (QoS 0)
1595724740: SLS-Zigbee7634 0 Zigbee7634/led/#
1595724740: Sending SUBACK to SLS-Zigbee7634
1595724740: Received SUBSCRIBE from SLS-Zigbee7634
1595724740: 	Zigbee7634/reboot/# (QoS 0)
1595724740: SLS-Zigbee7634 0 Zigbee7634/reboot/#
1595724740: Sending SUBACK to SLS-Zigbee7634
1595724740: Received PUBLISH from SLS-Zigbee7634 (d0, q0, r0, m0, 'Zigbee7634/bridge/config', ... (184 bytes))
1595724740: Sending PUBLISH to home-assistant (d0, q0, r0, m0, 'Zigbee7634/bridge/config', ... (184 bytes))
1595724740: Received PUBLISH from SLS-Zigbee7634 (d0, q0, r1, m0, 'Zigbee7634/bridge/state', ... (6 bytes))
1595724740: Sending PUBLISH to home-assistant (d0, q0, r0, m0, 'Zigbee7634/bridge/state', ... (6 bytes))
1595724763: Client SLS-Zigbee7634 has exceeded timeout, disconnecting.
1595724763: Sending PUBLISH to home-assistant (d0, q0, r0, m0, 'Zigbee7634/bridge/state', ... (7 bytes))
1595724773: New client connected from 192.168.1.19 as SLS-Zigbee7634 (p2, c1, k15, u'snakuzzo').
1595724773: 	Zigbee7634/bridge/state
1595724773: Sending CONNACK to SLS-Zigbee7634 (0, 0)
1595724773: Received SUBSCRIBE from SLS-Zigbee7634
1595724773: 	Zigbee7634/bridge/config/+ (QoS 0)
1595724773: SLS-Zigbee7634 0 Zigbee7634/bridge/config/+
1595724773: Sending SUBACK to SLS-Zigbee7634
1595724774: Received SUBSCRIBE from SLS-Zigbee7634
1595724774: 	Zigbee7634/bridge/config/+/+ (QoS 0)
1595724774: SLS-Zigbee7634 0 Zigbee7634/bridge/config/+/+
1595724774: Sending SUBACK to SLS-Zigbee7634
1595724774: Received SUBSCRIBE from SLS-Zigbee7634
1595724774: 	Zigbee7634/bridge/networkmap (QoS 0)
1595724774: SLS-Zigbee7634 0 Zigbee7634/bridge/networkmap
1595724774: Sending SUBACK to SLS-Zigbee7634
1595724774: Received SUBSCRIBE from SLS-Zigbee7634
1595724774: 	Zigbee7634/+/set/# (QoS 0)
1595724774: SLS-Zigbee7634 0 Zigbee7634/+/set/#
1595724774: Sending SUBACK to SLS-Zigbee7634
1595724774: Received SUBSCRIBE from SLS-Zigbee7634
1595724774: 	Zigbee7634/+/+/set/# (QoS 0)
1595724774: SLS-Zigbee7634 0 Zigbee7634/+/+/set/#
1595724774: Sending SUBACK to SLS-Zigbee7634
1595724774: Received SUBSCRIBE from SLS-Zigbee7634
1595724774: 	Zigbee7634/led/# (QoS 0)
1595724774: SLS-Zigbee7634 0 Zigbee7634/led/#
1595724774: Sending SUBACK to SLS-Zigbee7634
1595724774: Received SUBSCRIBE from SLS-Zigbee7634
1595724774: 	Zigbee7634/reboot/# (QoS 0)
1595724774: SLS-Zigbee7634 0 Zigbee7634/reboot/#
1595724774: Sending SUBACK to SLS-Zigbee7634
1595724774: Received PUBLISH from SLS-Zigbee7634 (d0, q0, r1, m0, 'Zigbee7634/bridge/state', ... (6 bytes))
1595724774: Sending PUBLISH to home-assistant (d0, q0, r0, m0, 'Zigbee7634/bridge/state', ... (6 bytes))
1595724796: Client SLS-Zigbee7634 has exceeded timeout, disconnecting.
1595724796: Sending PUBLISH to home-assistant (d0, q0, r0, m0, 'Zigbee7634/bridge/state', ... (7 bytes))
1595724807: New client connected from 192.168.1.19 as SLS-Zigbee7634 (p2, c1, k15, u'snakuzzo').
1595724807: 	Zigbee7634/bridge/state
1595724807: Sending CONNACK to SLS-Zigbee7634 (0, 0)
1595724807: Received SUBSCRIBE from SLS-Zigbee7634
1595724807: 	Zigbee7634/bridge/config/+ (QoS 0)
1595724807: SLS-Zigbee7634 0 Zigbee7634/bridge/config/+
1595724807: Sending SUBACK to SLS-Zigbee7634
1595724807: Received SUBSCRIBE from SLS-Zigbee7634
1595724807: 	Zigbee7634/bridge/config/+/+ (QoS 0)
1595724807: SLS-Zigbee7634 0 Zigbee7634/bridge/config/+/+
1595724807: Sending SUBACK to SLS-Zigbee7634
1595724807: Received SUBSCRIBE from SLS-Zigbee7634
1595724807: 	Zigbee7634/bridge/networkmap (QoS 0)
1595724807: SLS-Zigbee7634 0 Zigbee7634/bridge/networkmap
1595724807: Sending SUBACK to SLS-Zigbee7634
1595724807: Received SUBSCRIBE from SLS-Zigbee7634
1595724807: 	Zigbee7634/+/set/# (QoS 0)
1595724807: SLS-Zigbee7634 0 Zigbee7634/+/set/#
1595724807: Sending SUBACK to SLS-Zigbee7634
1595724807: Received SUBSCRIBE from SLS-Zigbee7634
1595724807: 	Zigbee7634/+/+/set/# (QoS 0)
1595724807: SLS-Zigbee7634 0 Zigbee7634/+/+/set/#
1595724807: Sending SUBACK to SLS-Zigbee7634
1595724807: Received SUBSCRIBE from SLS-Zigbee7634
1595724807: 	Zigbee7634/led/# (QoS 0)
1595724807: SLS-Zigbee7634 0 Zigbee7634/led/#
1595724807: Sending SUBACK to SLS-Zigbee7634
1595724807: Received SUBSCRIBE from SLS-Zigbee7634
1595724807: 	Zigbee7634/reboot/# (QoS 0)
1595724807: SLS-Zigbee7634 0 Zigbee7634/reboot/#
1595724807: Sending SUBACK to SLS-Zigbee7634
1595724807: Received PUBLISH from SLS-Zigbee7634 (d0, q0, r0, m0, 'Zigbee7634/bridge/config', ... (184 bytes))
1595724807: Sending PUBLISH to home-assistant (d0, q0, r0, m0, 'Zigbee7634/bridge/config', ... (184 bytes))
1595724807: Received PUBLISH from SLS-Zigbee7634 (d0, q0, r1, m0, 'Zigbee7634/bridge/state', ... (6 bytes))
1595724807: Sending PUBLISH to home-assistant (d0, q0, r0, m0, 'Zigbee7634/bridge/state', ... (6 bytes))

Any idea about the reason ?

add support for IKEA Tradfri Outlet E1603/E1702

Hi all!
I'm on fw 2020.05.11
I'm trying to control my IKEA Tradfri Outlet...it's not in your supported devices list
Device paired successfully but when I try to publish a set command to turn it on/off it doesn't work.

This is the log...

[23:37:16.037] [V] [MQTT] Received [presa_ikea : set] off
[23:37:16.039] MQTT_ProcessDeviceCommand Ident: presa_ikea, Topic: set, Endpoint: , Cmd: set, delim_pos: -1, delim_pos_last: -1, Payload: off

...no endpoint in ProcessDeviceCommand

Here the device details...

image

add support for Eurotronic Spirit ZigBee Radiator Thermostat

hello

please add support for Eurotronic Spirit ZigBee Radiator Thermostat, here it is: https://www.amazon.de/Eurotronic-Heizungsthermostat-Spirit-ZigBee-LCD-Temperatur-Anzeige/dp/B077GCDDBY

I've had one for testing and can support community on it.

please see pics attached.
https://www.dropbox.com/s/jx8e9bo68bu76i7/Screenshot%202020-03-01%2001.51.58.png?dl=0
https://www.dropbox.com/s/i93kckixr6lvp1k/Screenshot%202020-03-01%2001.51.12.png?dl=0

I'm using SLS Version: 2020.02.27

Добавить опцию управления системными индикаторами

На данный момент встроенная подсветка шлюза при "mode: auto" используется для индикации режима спаривания и моментов приема ZigBee пакетов.
Хотелось бы иметь возможность настройки событий, которые надо индицировать. Как пример - периодические моргания красным светом (прием пакетов) в ночное время суток слишком сильно заметно и хотелось бы это отключить. Можно использовать для этого "mode: off/manual", но тогда индикация режима спаривания тоже перестанет работать, а это очень полезная штука.
Можно реализовать это в виде чекбоксов в hw setup, чтобы пользователь сам выбирал, для каких из событий использовать аппаратные светодиоды при "mode: auto". Ну и в довесок добавить выбор цвета для этих событий.

Double command for single click> Add new device support - _TZ3400_keyjqthh - TS0041

SLS Version: 2020.11.29d1

Lonsonho Tuya Scene switch

Data example for 1-pole switch device:
Pairing log: https://pastebin.com/m1U61r5S

Device info:
EndDevice
ieeeAddr - 0xEC1BBDFFFE302B77
nwkAddr - 0x69A6
Power source
ManufName - _TZ3400_keyjqthh
ModelId - TS0041
Routes
Endpoint No1
ProfileId - 0x0104
DeviceId - 0x0000
Input clusters
GEN_BASIC
GEN_POWER_CFG
GEN_ON_OFF
Output clusters
GEN_TIME
OTA

Device States:
linkquality
trSeqNum

Add feature - enable MQTT retain for single device

Hi all!
it may be useful to have an option to enable MQTT retain for each device

This would be very useful in the case of deep sleep sensors (eg. Aqara doors and windows sensors).
If hub (e.g. homeassistant) restarts and state topic was not retained, the state is wrong until next state change or until next publish and...IMHO...it's wrong to enable MQTT retain for every MQTT messages of every device .

Thanks

Работа SLS Шлюза некорректна?

При пропадание инета на домашнем роуторе перестают работать оборудование в системе MajorDoMo подключенные к шлюзу. Вопрос, с чем это связано?

add battery percentage on IKEA Tradfri on/off Switch E1743

Hi all!
I'm on fw 2020.05.11
I'm can control fine my IKEA button E1743 but it's not in your supported devices list
All commands are ok, but I can't retreive battery percentage.

Here messages published over MQTT...

Zigbee7634/pulsante_ikea {"click":"off","linkquality":39}
Zigbee7634/pulsante_ikea {"click":"on","linkquality":94}
Zigbee7634/pulsante_ikea {"click":"brightness_up","linkquality":99}
Zigbee7634/pulsante_ikea {"click":"brightness_stop","linkquality":97}
Zigbee7634/pulsante_ikea {"click":"brightness_down","linkquality":110}
Zigbee7634/pulsante_ikea {"click":"brightness_stop","linkquality":110}

Here the device details...

image

XIAOMI пылесос

А пылесосы будут? К примеру Робот-пылесос XIAOMI Roborock Vacuum Cleaner S552-02, 58Вт и тому подобные.

Add new device support SITERWELL GS361A-H04

HI, please add support for this, thx.

Model GS361A-H04
Vendor Siterwell
Description Radiator valve with thermostat
Supports thermostat, temperature
White-label Essentials 120112
Picture  image

zigbee2mqtt.io device page

zigbee2mqtt in zigbee-herdsman debug mode log

sls join log

EndDevice
ieeeAddr 0xCCCCCCFFFEDA865B
nwkAddr 0x8A92
Power source image
ManufName _TYST11_zivfvd7h
ModelId ivfvd7h
Routes
Endpoint # 1
ProfileId 0x0104
DeviceId 0x0000
Input clusters GEN_BASIC
GEN_IDENTIFY
Output clusters GEN_IDENTIFY
OTA

Feature request: basic HTTP authentication

Очень нужна хотя бы самая простая аутентификация, а то совсем беда.
Делается очень легко, двумя http-заголовками.

  • Значение пароля задается в админке или в отдельном файле.
  • В режиме AP пароль сбрасывается, иначе забытый пароль будет не восстановить.

Opensource the firmware

I am sure you build the firmware base on many public lib and knowledge from other project.
So why you not opensource the firmware running on ESP32?
Opensource it make it trust by people do not want to use cloud service gateway like zigbee2mqtt

Добавление модулей LUA

Есть мощная штука, загрузка модулей.
Например, json или base64 (для HTTP Basic Authorization)

json = require("json")
print(json.encode({ 1, 2, 'fred', {first='mars',second='venus',third='earth'} }))

Предлагаю варианты реализации:

  1. Безопасный: Не добавлять в парсер require, заранее загружать определенные разработчиком модули.
  2. Свободный: загружать любые LUA_PATH="?.lua;lua/?/?.lua"

lua.org.ru: 6.3 - Модули
lua.org: 8.1 – The require Function

Add new device support - _TZ3000_o005nuxx - TS011F

SLS Version: 2020.11.29d1
UseeLink Smart Power Bar Multiple Outlet Extension Cord with 2 USB and 4 AC Plugs by Tuya
Pairing log: https://pastebin.com/YiEWDHBH

Device info:
Router
Friendly name
power5_zigbee1
ieeeAddr
0xBC33ACFFFE6E88F6
nwkAddr
0x11B8
Power source

ManufName
_TZ3000_o005nuxx
ModelId
TS011F
Routes

Endpoint #1

ProfileId
0x0104
DeviceId
0x010A
Input clusters
GEN_BASIC
GEN_IDENTIFY
GEN_GROUPS
GEN_SCENES
GEN_ON_OFF

Output clusters
GEN_TIME
OTA
Endpoint #2

ProfileId
0x0104
DeviceId
0x010A
Input clusters
GEN_IDENTIFY
GEN_GROUPS
GEN_SCENES
GEN_ON_OFF

Output clusters
None
Endpoint #3

ProfileId
0x0104
DeviceId
0x010A
Input clusters
GEN_IDENTIFY
GEN_GROUPS
GEN_SCENES
GEN_ON_OFF

Output clusters
None
Endpoint #4

ProfileId
0x0104
DeviceId
0x010A
Input clusters
GEN_IDENTIFY
GEN_GROUPS
GEN_SCENES
GEN_ON_OFF

Output clusters
None
Endpoint #5

ProfileId
0x0104
DeviceId
0x010A
Input clusters
GEN_IDENTIFY
GEN_GROUPS
GEN_SCENES
GEN_ON_OFF

Output clusters
None
Endpoint #242

ProfileId
0xA1E0
DeviceId
0x0061
Input clusters
None
Output clusters
GREEN_POWER_PROXY

Device States:
linkquality
trSeqNum
Screenshot at Dec 07 15-07-27
ZigBee-UseeLink jpg_50x50

Web интерфейс на IOS ( iphone, Ipad)

Из web интерфейса на устройствах под управлением IOS невозможно выполнить:
Zigbee reset и Reboot system
p.s.
Данные команды на Android выполняются

add support GLEDOPTO GL-S-004ZS

Please add support of 12V RGB LAMP
GLEDOPTO GL-S-004ZS

https://aliexpress.ru/item/4000388089377.html?spm=a2g0v.12010612.8148356.5.73ff7dd1ecQw9r&_ga=2.166445883.444941941.1594757062-885525948.1583566821

Router
Friendly name
GLED 12V-1
ieeeAddr
0x00124B001F69F7F0
nwkAddr
0x62D3
Power source
ManufName
GLEDOPTO
ModelId
GL-S-004ZS
Routes
Endpoint #11
ProfileId
0xC05E
DeviceId
0x0210
Input clusters
GEN_BASIC
GEN_IDENTIFY
GEN_GROUPS
GEN_SCENES
GEN_ON_OFF
GEN_LEVEL_CONTROL
LIGHTING_COLOR_CONTROL
Output clusters
None
Endpoint #13
ProfileId
0xC05E
DeviceId
0x0210
Input clusters
TOUCHLINK
Output clusters
TOUCHLINK

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.