Compare commits

...
632 Commits
Author SHA1 Message Date
fengzeroz 93effef50a Merge pull request #2170 from fengzeroz/v2.9
version: 2.9.2
2024-07-30 15:03:14 +08:00
fengzero c7fd967d89 version: 2.9.2 2024-07-30 07:02:39 +00:00
fengzeroz 3fd7670ff1 Merge pull request #2169 from hxy7yx/v2.9-2
[v2.9]feat(modbus tcp):configure optional message header verification
2024-07-30 15:01:43 +08:00
hxy7yx b64f323fcc feat(modbus tcp):configure optional message header verification 2024-07-29 14:38:01 +08:00
fengzeroz beb19a14dc Merge pull request #2152 from hxy7yx/v2.9-1
[v2.9]feat:core subscription supports filtering error tags
2024-07-29 14:30:22 +08:00
hxy7yx 67c32c6f15 feat:core subscription supports filtering error messages 2024-07-26 14:55:53 +08:00
fengzeroz 4d952e2ea0 Merge pull request #2162 from ZhouBox/v2.9
[v2.9]feat(rest):add api about configure status
2024-07-24 13:59:09 +08:00
xiang.zhou bb3b17faf2 feat(rest):add api about configure status 2024-07-24 11:38:30 +08:00
fengzeroz 4b0ee30be8 Merge pull request #2156 from hxy7yx/v2.9-2
[v2.9]fix(modbus):reconnect when recv error messages
2024-07-24 10:23:41 +08:00
hxy7yx f3cfadd3e8 fix(modbus):reconnect when recv error messages 2024-07-23 16:49:36 +08:00
hxy7yx 6ff4ad52d8 feat:core subscription supports filtering error messages 2024-07-23 15:53:09 +08:00
fengzeroz d39aa057bd Merge pull request #2146 from fengzeroz/v2.9
Revert "cyclic reporting does not detect change"
2024-07-18 10:15:04 +08:00
fengzero 55c2a05d03 Revert "cyclic reporting does not detect change"
This reverts commit 458af374bb.
2024-07-18 02:14:28 +00:00
fengzeroz d07735be93 Merge pull request #2143 from hxy7yx/v2.9-1
refactor(read paginate): optimize efficiency without filtering errors
2024-07-18 10:11:56 +08:00
hxy7yx 1db02f1573 refactor(read paginate): optimize efficiency without filtering errors 2024-07-15 14:55:09 +08:00
fengzeroz 707029bee2 Merge pull request #2140 from fengzeroz/v2.9
cyclic reporting does not detect change
2024-07-15 10:20:57 +08:00
fengzero 458af374bb cyclic reporting does not detect change 2024-07-15 02:20:25 +00:00
fengzeroz 09da1cdab6 Merge pull request #2138 from fengzeroz/v2.9
version: 2.9.1
2024-07-12 09:43:05 +08:00
fengzero 35849a00a9 version: 2.9.1 2024-07-12 01:42:11 +00:00
fengzeroz 305cb7449a Merge pull request #2134 from eeff/v2.9
Pick to v2.9 fix(core): set metric to init value when reset
2024-07-10 10:08:23 +08:00
eeff 9467bdaa36 fix(core): set metric to init value when reset 2024-07-10 10:01:02 +08:00
fengzeroz 79dde6ecf4 Merge pull request #2129 from eeff/v2.9
Pick to v2.9 fix(core): event loop check stop flag
2024-07-04 16:17:48 +08:00
eeff d71f240ec7 fix(core): event loop check stop flag 2024-07-04 16:15:19 +08:00
fengzeroz 47af1617a8 Merge pull request #2126 from fengzeroz/v2.9
version: 2.9.0
2024-07-01 11:18:16 +08:00
fengzero 4b54f98177 version: 2.9.0 2024-07-01 03:17:32 +00:00
fengzeroz ad3ad077b2 Merge pull request #2121 from eeff/v2.9
Pick to v2.9 chore: add error code `NEU_ERR_BODY_TOO_BIG`
2024-07-01 09:56:45 +08:00
eeff a50d3416ee chore: add error code NEU_ERR_BODY_TOO_BIG 2024-06-27 00:17:35 +08:00
fengzeroz fbe538ed91 Merge pull request #2113 from ZhouBox/v2.9
[v2.9]add notice log about node,group,sub
2024-06-25 14:18:43 +08:00
xiang.zhou 0f8d70d024 add notice log about node,group,sub 2024-06-18 16:59:55 +08:00
fengzeroz 7a534bc95e Merge pull request #2110 from fengzeroz/v2.9
version: 2.9.0-beta3
2024-06-18 15:58:37 +08:00
fengzero bf094f2731 version: 2.9.0-beta3 2024-06-18 07:47:25 +00:00
fengzeroz 9e99a662ba Merge pull request #2107 from hxy7yx/v2.9-2
[v2.9]rename precision when read floating-tag
2024-06-18 13:59:02 +08:00
hxy7yx 9e4ba7e51d rename precision when read floating-tag 2024-06-18 13:49:35 +08:00
fengzeroz c3a198270d Merge pull request #2104 from fengzeroz/v2.9
version: 2.9.0-beta2
2024-06-14 15:45:24 +08:00
fengzero 202dc73e25 version: 2.9.0-beta2 2024-06-14 07:42:23 +00:00
fengzeroz db8a95d99e Merge pull request #2100 from hxy7yx/v2.9-2
[v2.9]fix(test read): stop group timer while testing
2024-06-14 15:28:01 +08:00
fengzeroz c3e85e8f45 Merge pull request #2102 from hxy7yx/v2.9-1
[v2.9]fix(manager): exit after sending uninit msg failed
2024-06-14 15:27:40 +08:00
hxy7yx 921c2d6c57 fix(manager): exit even if send uninit msg failed 2024-06-14 15:03:22 +08:00
hxy7yx ab7f39b63f fix(test read): stop group timer while testing 2024-06-14 11:18:04 +08:00
fengzeroz 49f4cccc2a Merge pull request #2091 from ZhouBox/v2.9
[v2.9]display optimization for float and double types when setting bias
2024-06-14 09:52:08 +08:00
fengzeroz 9a6c7c427a Merge pull request #2093 from eeff/v2.9
Pick to v2.9 feat(core): add `interval` field to struct neu_plugin_group
2024-06-14 09:51:40 +08:00
fengzeroz 9226da5f60 Merge pull request #2098 from eeff/eeff/fix
Pick to v2.9 fix(core): read_report_group add tag bias
2024-06-14 09:51:21 +08:00
eeff a13bb136c4 fix(core): read_report_group add tag bias 2024-06-13 15:17:03 +08:00
eeff 0ac53e159f feat(core): add interval field to struct neu_plugin_group 2024-06-13 15:00:46 +08:00
xiang.zhou cf10ec0ad9 display optimization for float and double types when setting bias 2024-06-13 13:59:47 +08:00
fengzeroz 0ad6f4fe56 Merge pull request #2090 from hxy7yx/v2.9-1
fix(write): write *.0
2024-06-13 13:45:48 +08:00
hxy7yx d96413b83c fix(write): write *.0 2024-06-13 10:55:37 +08:00
fengzeroz 3fb0388dfa Merge pull request #2083 from gc87/jwt-exp-v2.9
[v2.9]fix(jwt): replacing expired tokens
2024-06-11 16:16:00 +08:00
gc87 3799af3569 fix(jwt): replacing expired tokens 2024-06-11 14:53:27 +08:00
fengzeroz 9dde3e8b84 Merge pull request #2079 from ZhouBox/v2.9
[v2.9]async queue:add api about length
2024-06-07 15:43:15 +08:00
fengzeroz a803228ded Merge pull request #2081 from fengzeroz/v2.9
2.9.0-beta1
2024-06-07 15:42:56 +08:00
fengzero bf4f176f39 2.9.0-beta1 2024-06-07 07:42:09 +00:00
xiang.zhou 1c7a91394f async queue:add api about length 2024-06-07 15:24:22 +08:00
fengzeroz dc07471634 Merge pull request #2077 from hxy7yx/v2.9-1
[v2.9]ft(modbus):test read tag
2024-06-07 14:58:32 +08:00
hxy7yx 5f4fed39a1 ft(modbus):test read tag 2024-06-07 14:48:33 +08:00
fengzeroz 7f66db88c9 Merge pull request #2074 from hxy7yx/v2.9-1
[v2.9]feat(core & modbus tcp): test read tag
2024-06-07 10:10:54 +08:00
hxy7yx 4a0835cf40 feat(core & modbus tcp): test read tag 2024-06-06 17:25:48 +08:00
fengzeroz 830d670358 Merge pull request #2073 from fengzeroz/v2.9
set node start if loading node state is ready
2024-06-05 14:50:44 +08:00
fengzero b6cefdb5fa fix init msg state init 2024-06-05 06:36:32 +00:00
fengzero c00d085d85 start node if node state is ready 2024-06-05 06:29:30 +00:00
fengzeroz 1a972f57f4 Merge pull request #2068 from eeff/v2.9
Pick to v2.9 feat(mqtt): schema client-id and write req/resp topic default value
2024-06-05 10:43:33 +08:00
eeff fcbbacfd31 feat(mqtt): schema client-id and write req/resp topic default value 2024-06-05 10:41:06 +08:00
fengzeroz 9f291833f1 Merge pull request #2062 from hxy7yx/v2.9-3
[v2.9]read(filter): name(name || desc)
2024-06-04 15:55:19 +08:00
hxy7yx 76b6df700d read(filter): name(name || desc) 2024-06-04 15:43:03 +08:00
fengzeroz b9c2739abb Merge pull request #2059 from hxy7yx/v2.9-3
[v2.9]feat(read):support pagination and filter(error) when reading tags
2024-06-04 09:51:15 +08:00
hxy7yx 301c92bee7 feat(read):support pagination and filter(error) when reading tags 2024-06-03 18:07:39 +08:00
fengzeroz 05f21357b7 Merge pull request #2051 from hxy7yx/v2.9-3
[v2.9]fix: memory leak
2024-05-31 15:12:40 +08:00
hxy7yx eab24cf1b5 fix: memory leak 2024-05-31 14:43:18 +08:00
fengzeroz 8d72fc9e31 Merge pull request #2047 from fengzeroz/v2.9
fix(update): update error when value is error
2024-05-30 11:20:11 +08:00
fengzero bd36224fba fix(update): update error when value is error 2024-05-30 03:11:47 +00:00
fengzeroz 3f884cf6ba Merge pull request #2040 from hxy7yx/v2.9-2
[v2.9]check and handle NaN for float and double in read and report operations
2024-05-29 17:29:31 +08:00
hxy7yx df2f6b74e5 check and handle NaN for float and double in read and report operations 2024-05-29 16:56:08 +08:00
fengzeroz bc4a23688b Merge pull request #2032 from hxy7yx/v2.9-2
[v2.9]metric: reset send&recv bytes when restart node
2024-05-29 14:48:26 +08:00
fengzeroz d29996506a Merge pull request #2036 from eeff/v2.9
Pick to v2.9 fix: update trans_data metric only when plugin is started
2024-05-29 14:47:18 +08:00
eeff 34f071a8ee fix(mqtt): update trans_data metric only when plugin is started 2024-05-29 14:38:30 +08:00
eeff a3557cd0af fix(ekuiper): update trans_data metric only when plugin is started 2024-05-29 14:38:30 +08:00
hxy7yx 31ece9eecc metric: reset send&recv bytes when restart node 2024-05-29 13:34:53 +08:00
fengzeroz 0512edbb52 Merge pull request #2009 from gc87/scan-tags-v2.9
[v2.9]feat: add scan tags reqest & response
2024-05-24 09:48:28 +08:00
fengzeroz 87acec1ede Merge pull request #2020 from ZhouBox/v2.9
[v2.9]display optimization for float and double types
2024-05-24 09:47:21 +08:00
xiang.zhou 144a925932 display optimization for float and double types 2024-05-23 16:47:15 +08:00
gc87 ba07160fc5 feat: add scan tags api 2024-05-20 18:00:56 +08:00
gc87 8927be9f81 feat: add scan tags reqest & response 2024-05-20 17:02:53 +08:00
fengzeroz c08e3b314a Merge pull request #2005 from eeff/v2.9
Pick to v2.9 feat(aws-iot): remove config default value
2024-05-17 15:58:49 +08:00
eeff abbe8a8847 feat(aws-iot): remove config default value 2024-05-17 15:55:07 +08:00
fengzeroz de4a53635c Merge pull request #2001 from ZhouBox/v2.9
[v2.9]driver:change log level
2024-05-17 14:59:57 +08:00
xiang.zhou cb997d9cf6 driver:change log level 2024-05-17 14:33:10 +08:00
fengzeroz af900bb0d4 Merge pull request #2000 from ZhouBox/v2.9
[v2.9]ft(plugin):update version
2024-05-17 14:00:14 +08:00
xiang.zhou 050cf5aafe ft(plugin):update version 2024-05-17 12:05:43 +08:00
fengzeroz 4f1f49de0f Merge pull request #1998 from fengzeroz/v2.9
branch v2.9
2024-05-17 11:10:14 +08:00
fengzero 22339ee248 branch v2.9 2024-05-17 03:05:54 +00:00
fengzeroz 86e2ed532f Merge pull request #1992 from hxy7yx/main-1
check if the written value conforms to the standard
2024-05-17 10:21:26 +08:00
fengzeroz d1ef1c06ab Merge pull request #1996 from ZhouBox/main
prgfile:add del flag
2024-05-16 14:15:55 +08:00
xiang.zhou 20855be480 prgfile:add del flag 2024-05-16 13:16:45 +08:00
hxy7yx 0b19e0b17b check if the written value conforms to the standard 2024-05-15 17:04:29 +08:00
fengzeroz baf1cbe3d4 Merge pull request #1991 from ZhouBox/main
prgfile:modify msg struct about upload prgfile
2024-05-15 16:35:09 +08:00
xiang.zhou 7183e37d2e prgfile:modify msg struct about upload prgfile 2024-05-15 16:27:41 +08:00
fengzeroz 6bac9517a6 Merge pull request #1990 from ZhouBox/main
dlclose dl when release version
2024-05-15 16:17:44 +08:00
xiang.zhou 11272bcc2a dlclose dl when release version 2024-05-15 15:53:06 +08:00
fengzeroz c86adfb1a9 Merge pull request #1984 from ZhouBox/main
fixbug:no close dl when del node
2024-05-14 16:58:35 +08:00
xiang.zhou df1c7f38e7 check handle 2024-05-14 15:58:57 +08:00
xiang.zhou 7a10c697d0 fixbug:no close dl when del node 2024-05-14 15:38:32 +08:00
fengzeroz 2e7c046116 Merge pull request #1978 from hxy7yx/main-1
ft:test launch configuration
2024-05-10 13:54:47 +08:00
hxy7yx c3309a5a29 ft:test launch configuration 2024-05-09 10:31:41 +08:00
fengzeroz 263c996991 Merge pull request #1977 from eeff/main
test(azure): add ft
2024-05-09 09:45:18 +08:00
eeff 68ca03f197 ci: Azure IoT plugin codecov report 2024-05-07 15:35:40 +08:00
eeff c39747b585 test(azure): add ft 2024-05-07 14:26:52 +08:00
eeff f2d851a5fa fix(azure): clean configuration keys 2024-05-07 14:26:52 +08:00
eeff ea8369ae98 feat(core): mqtt client subscription support wildcard 2024-05-07 14:26:52 +08:00
fengzeroz 3e1e6d0269 Merge pull request #1976 from hxy7yx/main-1
increase test coverage
2024-05-07 09:43:55 +08:00
hxy7yx f9718bc63a increase test coverage 2024-05-06 18:13:48 +08:00
fengzeroz dc041d102c Merge pull request #1966 from eeff/main
feat: add Azure IoT plugin
2024-05-06 09:46:47 +08:00
fengzeroz 8d6696fb78 Merge pull request #1972 from ZhouBox/main
fixbug:incomplete value print
2024-05-06 09:44:48 +08:00
fengzeroz b7205e1309 Merge pull request #1973 from eeff/eeff/dev
fix(restful): invalid free
2024-05-06 09:43:52 +08:00
eeff 8779c6558f fix(restful): invalid free 2024-04-30 16:27:06 +08:00
xiang.zhou bde8459aa2 fixbug:incomplete value print 2024-04-30 16:23:15 +08:00
eeff 19c44a0735 feat(azure): handle data upload 2024-04-29 16:07:43 +08:00
fengzeroz bbbb7c2b1a Merge pull request #1965 from hxy7yx/main-2
increase test coverage
2024-04-29 15:55:31 +08:00
eeff 8b9d275834 feat: add Azure IoT plugin 2024-04-29 15:06:03 +08:00
fengzeroz d724c52cb2 Merge pull request #1963 from eeff/main
fix: reset metrics when node stopped
2024-04-29 09:43:44 +08:00
hxy7yx 407f650fe1 increase test coverage 2024-04-28 17:35:38 +08:00
eeff 0ac0e0aa86 fix: start/stop group timer when driver started/stopped 2024-04-26 15:40:37 +08:00
eeff 2350cb87b0 feat: add metric type no reset flag 2024-04-26 15:34:24 +08:00
fengzeroz 1e30eea3f6 Merge pull request #1958 from fengzeroz/main
change update log level
2024-04-24 14:34:36 +08:00
fengzero 94023446c7 change update log level 2024-04-24 05:50:19 +00:00
fengzeroz 600e5ee56f Merge pull request #1956 from hxy7yx/main-1
test(tag):fix utf8 check & improve ft cov
2024-04-23 13:43:55 +08:00
fengzeroz f0d19af977 Merge pull request #1957 from eeff/main
chore: add AWS IoT to default plugins
2024-04-23 13:43:20 +08:00
eeff 0b4fed4693 chore: add AWS IoT to default plugins 2024-04-23 11:44:43 +08:00
hxy7yx 4c10678318 test(tag):fix utf8 check & improve ft cov 2024-04-22 15:07:43 +08:00
fengzeroz 719653c132 Merge pull request #1950 from hxy7yx/main-1
ft:add api for modbus address_base configuration
2024-04-22 09:38:13 +08:00
fengzeroz 84e0a6554c Merge pull request #1952 from hxy7yx/main-2
locating core dump files
2024-04-22 09:37:54 +08:00
fengzeroz 24789945d5 Merge pull request #1951 from eeff/main
feat(aws-iot): add aws-iot plugin
2024-04-22 09:36:25 +08:00
hxy7yx 8eb945e5f9 locating core dump files, adapting to NeuronEX 2024-04-19 17:56:51 +08:00
hxy7yx ee6199f2e5 ft:add api for modbus address_base configuration 2024-04-18 16:38:18 +08:00
eeff 27113aaeb4 feat(aws-iot): add aws-iot plugin 2024-04-17 18:25:53 +08:00
eeff ad5fa417ca refactor(mqtt): split plugin interface callback into separate translation unit 2024-04-16 15:27:12 +08:00
fengzeroz 7c611fd151 Merge pull request #1946 from eeff/main
fix(restful): read api invalid free
2024-04-15 15:35:34 +08:00
fengzeroz 0cc9631c9d Merge pull request #1944 from hxy7yx/main-2
remove the default values that carry variables in the schema
2024-04-15 11:38:57 +08:00
fengzeroz 8e0cc62c29 Merge pull request #1943 from hxy7yx/main-1
Revert "check if the written value conforms to the standard"
2024-04-15 11:38:13 +08:00
eeff 020026ae04 fix(restful): read api invalid free 2024-04-15 11:29:38 +08:00
hxy7yx 2a05178800 remove the default values that carry variables in the schema 2024-04-15 11:12:43 +08:00
hxy7yx 245a019082 Revert "check if the written value conforms to the standard"
This reverts commit d9157687ed.
2024-04-15 10:41:58 +08:00
fengzeroz 35d34721a4 Merge pull request #1941 from eeff/main
feat(ekuiper): support write multiple tags
2024-04-12 15:19:33 +08:00
eeff 173aa17eb9 test: add eKuiper write tags ft 2024-04-12 09:44:08 +08:00
eeff 0b67a088c1 feat(ekuiper): support write multiple tags 2024-04-12 09:44:08 +08:00
fengzeroz 6c43d599bc Merge pull request #1936 from eeff/main
feat(core): add tag bias field
2024-04-11 10:08:08 +08:00
eeff 1ed9a7d595 test: add ft for reading tag bias value 2024-04-10 14:42:36 +08:00
eeff 43aec2e5f2 feat(core): return bias tag value if needed 2024-04-10 14:42:36 +08:00
eeff 96bebcd81e test: tag bias ft 2024-04-10 14:42:36 +08:00
eeff bb793f6e14 feat(core): add tag bias field 2024-04-10 14:42:36 +08:00
eeff 7f9aa4cfc8 feat(persist): persist tag bias field 2024-04-10 14:42:36 +08:00
eeff 76914637c9 feat(persist): add SQL schema for tag bias field 2024-04-10 14:42:36 +08:00
fengzeroz 6f0ff2a862 Merge pull request #1937 from hxy7yx/main-1
determine whether tag(string) set endianness
2024-04-10 13:42:39 +08:00
hxy7yx 94d4a8db6e determine whether tag(string) set endianness 2024-04-10 11:47:59 +08:00
Rory 5d26cb1d77 ci: add code cov token in workflow (#1940)
Signed-off-by: Rory Z <16801068+Rory-Z@users.noreply.github.com>
2024-04-10 10:33:37 +08:00
fengzeroz 5f20e6dde3 Merge pull request #1932 from hxy7yx/main-1
supoort configuring endianness in node configuration
2024-03-29 16:57:31 +08:00
hxy7yx fbff7e68fd supoort configuring endianness in node configuration 2024-03-29 16:51:39 +08:00
fengzeroz 05d3e324d7 Merge pull request #1929 from hxy7yx/main-1
determine whether tag set endianness
2024-03-29 14:40:53 +08:00
hxy7yx c09b401e4a determine whether tag set endianness 2024-03-29 13:40:53 +08:00
fengzeroz 3d2d169935 Merge pull request #1924 from eeff/main
fix(ekuiper): check received aio NULL msg
2024-03-27 10:02:36 +08:00
eeff f831e71ad3 fix(ekuiper): check received aio data race 2024-03-26 10:29:47 +08:00
fengzeroz 6a13aeed8a Merge pull request #1923 from fengzeroz/main
ft time type
2024-03-25 10:19:45 +08:00
fengzero 76ce5acaf3 ft time type 2024-03-25 02:17:06 +00:00
fengzeroz 0c2c4fa920 Merge pull request #1919 from eeff/main
feat(core): add NEU_TYPE_TIME and NEU_TYPE_DATA_AND_TIME
2024-03-22 16:27:32 +08:00
eeff e76d24cd15 feat(persist): add SQL schema for NEU_TYPE_TIME/NEU_TYPE_DATA_AND_TIME 2024-03-22 16:08:15 +08:00
eeff a98e9ae904 feat(core): add NEU_TYPE_TIME and NEU_TYPE_DATA_AND_TIME 2024-03-22 16:08:15 +08:00
fengzeroz ce1e53d653 Merge pull request #1916 from fengzeroz/main
fix(conn): check offset reset
2024-03-21 09:54:27 +08:00
fengzero bf5fbdb31d fix(conn): check offset reset 2024-03-21 01:37:23 +00:00
fengzeroz ef991d9a6e Merge pull request #1913 from eeff/main
feat(modbus_tty_simlator): enhance command line interface
2024-03-19 15:45:58 +08:00
eeff 3eba902519 feat(modbus_tty_simlator): enhance command line interface 2024-03-19 11:53:41 +08:00
fengzeroz 7f3b698f69 Merge pull request #1910 from hxy7yx/main-1
move MAX_GROUPS check to validate function
2024-03-15 13:49:46 +08:00
hxy7yx 68d5bcec71 move MAX_GROUPS check to validate function 2024-03-15 12:03:53 +08:00
fengzeroz 5019983ce3 Merge pull request #1905 from hxy7yx/main-1
plugin(modbus): fix invalid message check
2024-03-14 16:57:11 +08:00
hxy7yx afd72ce259 plugin(modbus): fix invalid message check 2024-03-14 16:52:41 +08:00
fengzeroz 840f1aac3d Merge pull request #1900 from hxy7yx/main-1
plugin(modbus): fix modbus rtu slave check
2024-03-13 16:37:13 +08:00
hxy7yx 1d5d6de72c plugin(modbus): fix modbus rtu slave check 2024-03-13 16:15:09 +08:00
fengzeroz 7039ec3055 Merge pull request #1899 from hxy7yx/main-1
ft: move robotframework tests to pytest
2024-03-13 10:29:38 +08:00
hxy7yx 2eb52906e9 ft: move robotframework tests to pytest 2024-03-12 13:37:47 +08:00
fengzeroz c14b1e96e6 Merge pull request #1893 from hxy7yx/main-2
fix(add gtags): correct tag count when tag name conflict
2024-03-08 17:48:21 +08:00
hxy7yx d37bb5aa50 fix(add gtags): correct tag count when tag name conflict 2024-03-08 17:38:45 +08:00
fengzeroz 8ad0fdcf73 Merge pull request #1885 from eeff/main
fix(core): eliminate NEU_REQ_ADD_DRIVERS request data race
2024-03-08 13:52:23 +08:00
eeff 5478fd0fc5 fix(core): eliminate NEU_REQ_ADD_DRIVERS request data race 2024-03-08 11:34:26 +08:00
fengzeroz 74b45c91ee Merge pull request #1882 from eeff/main
fix(core): persist group when adding gtags
2024-03-07 17:34:01 +08:00
eeff 79fca4b18f fix(core): persist group when adding gtags 2024-03-07 17:30:47 +08:00
fengzeroz 142f31beff Merge pull request #1878 from eeff/main
feat(core): set domain socket to block mode and 1s timeout
2024-03-07 11:08:14 +08:00
eeff f17ab92e1f feat(core): set domain socket to block mode and 1s timeout 2024-03-07 10:45:15 +08:00
fengzeroz 32b4a251ae Merge pull request #1877 from fengzeroz/main
test
2024-03-06 18:11:59 +08:00
fengzero 8271e93af6 Revert "test"
This reverts commit 0c9c12c0e4.
2024-03-06 09:47:36 +00:00
fengzeroz a117ee2ba4 Merge pull request #1876 from fengzeroz/main
test
2024-03-06 17:20:24 +08:00
fengzero 0c9c12c0e4 test 2024-03-06 09:14:24 +00:00
fengzeroz b3d1b56084 Merge pull request #1875 from ZhouBox/main
check module name when update plugin
2024-03-06 11:20:58 +08:00
xiang.zhou 26e480982d check module name when update plugin 2024-03-06 10:59:59 +08:00
fengzeroz 45fa293fbc Merge pull request #1869 from eeff/main
fix: notify north app about driver group deletion
2024-03-06 09:44:49 +08:00
eeff b996ad1ac5 fix(ekuiper): handle NEU_REQ_DEL_GROUP 2024-03-05 17:59:41 +08:00
eeff 579df5c023 test(mqtt): data upload when driver group deleted 2024-03-05 17:59:41 +08:00
eeff 025fb8c30a fix(mqtt): handle NEU_REQ_DEL_GROUP 2024-03-05 17:59:41 +08:00
eeff f7d0be2e05 fix(core): notify app about driver group deletion 2024-03-05 17:59:41 +08:00
fengzeroz e4f4ec43cc Merge pull request #1865 from ZhouBox/main
remove the SIGSEGV signal handler
2024-02-27 16:54:14 +08:00
xiang.zhou 436e31a19f remove the SIGSEGV signal handler 2024-02-27 15:53:45 +08:00
fengzeroz d948d6f7e1 Merge pull request #1861 from eeff/eeff/dev
chore: remove useless code
2024-02-27 10:28:17 +08:00
fengzeroz 255e0d0e4d Merge pull request #1859 from yzewei/main
add loongarch64 support
2024-02-27 10:25:54 +08:00
fengzeroz 3b042446ed Merge pull request #1860 from hxy7yx/main-1
correct links in README
2024-02-27 10:25:44 +08:00
eeff 67c91ad61b chore: remove useless code 2024-02-26 23:29:28 +08:00
hxy7yx 19085abc3b correct links in README 2024-02-26 10:21:29 +08:00
yzewei fdabb69242 add loongarch64 support
Signed-off-by: yzewei <yangzewei@loongson.cn>
2024-02-26 08:51:55 +08:00
fengzeroz 1747041213 Merge pull request #1856 from hxy7yx/main-2
ft(modbus): add serial port testing
2024-02-22 11:05:56 +08:00
hxy7yx 31112b1a2a ft(modbus): add serial port testing 2024-02-22 10:50:00 +08:00
fengzeroz 821c4095f8 Merge pull request #1857 from eeff/eeff/dev
feat: use abstract domain socket instead of UDP
2024-02-22 10:15:42 +08:00
fengzeroz 0c80221c2a Merge pull request #1855 from hxy7yx/main-1
chore: improve parameter validation for API
2024-02-22 10:11:34 +08:00
hxy7yx cb4d477400 chore: improve parameter validation for API 2024-02-21 16:36:39 +08:00
eeff b0d12b07a5 feat: use abstract domain socket instead of UDP 2024-02-21 16:33:49 +08:00
fengzeroz 91b847dc3e Merge pull request #1853 from ZhouBox/main
riscv64:add build rule
2024-02-19 11:04:57 +08:00
xiang.zhou 40f208f6ad riscv64:add build rule 2024-02-19 10:57:24 +08:00
fengzeroz f233851cfd Merge pull request #1849 from eeff/eeff/dev
fix(restful): force clean stale rolling metrics
2024-02-19 10:40:23 +08:00
eeff 14e7f6f760 fix(restful): force clean stale rolling metrics 2024-02-05 17:17:36 +08:00
eeff e34cbb7c67 refactor(metrics): add lock to avoid data race 2024-02-05 17:17:36 +08:00
eeff e50076dc20 fix: rolling counter integer overflow 2024-02-05 16:53:43 +08:00
fengzeroz e943fe0bb5 Merge pull request #1847 from eeff/eeff/dev
feat(ekuiper): add rolling metrics
2024-02-05 15:49:34 +08:00
eeff 7ce97290bf fix(core): memory leak 2024-02-04 19:51:51 +08:00
eeff e8ab18f025 fix(metrics): correct registered rolling counter entry ref count 2024-02-04 18:46:05 +08:00
eeff f197f574a0 feat(ekuiper): add rolling metrics 2024-02-04 16:49:00 +08:00
fengzeroz 7bfe936ae9 Merge pull request #1838 from KunYi/main
improve crc16 of modbus performance
2024-02-04 10:19:35 +08:00
fengzeroz 8388f11aca Merge pull request #1844 from hxy7yx/main-2
feat: add tag name sql schema
2024-02-04 10:19:24 +08:00
hxy7yx 875d92f012 feat: add tag name sql schema 2024-02-02 17:53:03 +08:00
fengzeroz ce55e8cefc Merge pull request #1839 from eeff/eeff/dev
feat(mqtt): add rolling metrics
2024-02-02 16:17:31 +08:00
KunYi Chen 4133028d90 improve crc16 of modbus performance
use lookup method to reduce computing cycle
2024-02-02 15:00:55 +08:00
eeff 353dbcd18c feat(mqtt): add rolling metrics 2024-02-02 12:00:47 +08:00
eeff 6bea8c254e feat(metrics): support distribution counter 2024-02-02 12:00:47 +08:00
eeff 5ef9abfa5d test: rolling counter unit tests 2024-02-02 12:00:47 +08:00
eeff c81d40d351 feat: add rolling counter utility 2024-02-01 23:54:46 +08:00
fengzeroz 50ee1d759f Merge pull request #1833 from hxy7yx/main-1
update tag name length max to 128
2024-01-31 10:34:57 +08:00
hxy7yx c0ea9d15fe update tag name length max to 128 2024-01-30 17:44:25 +08:00
fengzeroz d8901f85dd Merge pull request #1832 from eeff/eeff/dev
build: cmake link libatomic
2024-01-30 17:27:56 +08:00
eeff 8278fa98d4 build: cmake link libatomic 2024-01-30 17:09:17 +08:00
fengzeroz d11ae338ab Merge pull request #1831 from hxy7yx/main-1
cleanup(parser): remove unused functions
2024-01-30 14:10:34 +08:00
hxy7yx 0a05ef50bc fix(json): fix parser errored out while processing string types 2024-01-29 18:13:01 +08:00
hxy7yx 9c6a90662c cleanup(parser): remove unused functions 2024-01-29 18:01:46 +08:00
fengzeroz 7b1de308ba Merge pull request #1830 from ZhouBox/main
modify reciver
2024-01-29 15:34:54 +08:00
xiang.zhou ba79454502 modify reciver 2024-01-29 15:06:13 +08:00
fengzeroz fc786bf4d5 Merge pull request #1827 from ZhouBox/main
judge cache type when report group
2024-01-29 13:52:11 +08:00
xiang.zhou 760858bafc feat:judge cache type when report group 2024-01-29 13:43:54 +08:00
fengzeroz 766897532a Merge pull request #1825 from ZhouBox/main
feat(prgfile):add prgfile api
2024-01-29 13:40:24 +08:00
xiang.zhou 5d29fb6a45 feat(prgfile):add prgfile api 2024-01-29 11:45:07 +08:00
fengzeroz 0bf39bbe3e Merge pull request #1824 from hxy7yx/main-1
test(ut):add async queue ut
2024-01-25 10:37:17 +08:00
hxy7yx e27ee0bd49 remove http_proxy 2024-01-25 10:07:20 +08:00
hxy7yx e25d408259 test(ut):add async queue ut 2024-01-24 11:33:03 +08:00
fengzeroz a677f9331c Merge pull request #1823 from eeff/eeff/dev
fix(persit): neu_sqlite_persister_create free non-malloc memory
2024-01-23 17:43:33 +08:00
eeff e11af94900 fix(persit): neu_sqlite_persister_create free non-malloc memory 2024-01-23 17:39:50 +08:00
fengzeroz 1ab37d97bc Merge pull request #1819 from hxy7yx/main-1
adjusting ut coverage
2024-01-23 10:00:01 +08:00
fengzeroz 4285a98751 Merge pull request #1820 from eeff/main
fix: PUT drivers api
2024-01-23 09:55:08 +08:00
fengzeroz cf17c7fc4e Merge pull request #1821 from eeff/eeff/dev
refactor: move SSL cert files to data diretory
2024-01-23 09:54:20 +08:00
hxy7yx d293f38db9 adjusting ut coverage 2024-01-23 09:49:56 +08:00
eeff 2a656feb91 refactor: move SSL cert files to data directory 2024-01-22 17:24:18 +08:00
eeff d871f6c203 fix: PUT drivers api 2024-01-22 16:42:13 +08:00
fengzeroz c8f7c0a974 Merge pull request #1818 from eeff/eeff/dev
feat(restful): add GET drivers api
2024-01-19 09:48:03 +08:00
eeff 8711212ce0 test: GET drivers api ft 2024-01-17 16:17:10 +08:00
eeff 93bbcd3a6a refactor(restful): PUT drivers handler reduce duplicate code 2024-01-17 16:17:10 +08:00
eeff 26ffce35e3 feat(restful): GET drivers api support name query parameter 2024-01-17 16:17:10 +08:00
eeff 7395f9bf13 feat: add neu_strset_t utility data structure 2024-01-17 16:17:10 +08:00
eeff b7221e701d feat(restful): add GET drivers api 2024-01-17 16:17:10 +08:00
eeff 5baf46bb18 feat: add driver json enconder 2024-01-17 16:17:10 +08:00
fengzeroz e9a3778ca1 Merge pull request #1816 from eeff/eeff/dev
feat(restful): put drivers api
2024-01-16 15:05:39 +08:00
eeff 0e2a10463c test: put drivers ft 2024-01-13 22:12:53 +08:00
eeff 2b4ea8c0bd feat(restful): put drivers api 2024-01-12 19:04:08 +08:00
eeff e871363d70 feat(core): support NEU_REQ_ADD_DRIVERS request 2024-01-12 18:51:55 +08:00
fengzeroz a55ddade3a Merge pull request #1813 from hxy7yx/main-1
fix(add gtag): memory overflow
2024-01-12 17:03:06 +08:00
hxy7yx 596b54f73c fix(add gtag): memory overflow 2024-01-12 16:56:13 +08:00
fengzeroz d74721620b Merge pull request #1808 from eeff/eeff/fix
fix: enlarge plugin lib length
2024-01-11 16:05:54 +08:00
eeff fa63962575 fix: enlarge plugin lib length 2024-01-11 15:39:00 +08:00
eeff e89a23ec59 feat: add driver request json parser 2024-01-10 18:03:43 +08:00
fengzeroz 20a3d6bc5a Merge pull request #1807 from hxy7yx/main-1
fix(add_gtag): parser memory free
2024-01-10 17:31:35 +08:00
hxy7yx 7bb4cfbf0d fix(add_gtag): parser memory free 2024-01-10 17:24:00 +08:00
fengzeroz d6ba5e371f Merge pull request #1805 from eeff/main
feat(restful): add node api support setting
2024-01-10 09:52:56 +08:00
eeff dd33b42a32 test: add node with setting ft 2024-01-09 16:11:30 +08:00
eeff dbe72f50bc feat(restful): add node api support setting 2024-01-09 15:37:13 +08:00
eeff 5584722dbd feat(core): add node request support setting 2024-01-09 15:36:39 +08:00
fengzeroz 56af317b74 Merge pull request #1804 from eeff/eeff/dev
feat(persist): abstract sqlite persister implementation
2024-01-09 10:47:10 +08:00
eeff 59f06f1836 feat(persist): abstract sqlite persister implementation 2024-01-05 16:05:10 +08:00
eeff c662e835d6 feat(persist): remove node/tag count 2024-01-05 15:00:44 +08:00
fengzeroz 4240f313e2 Merge pull request #1799 from hxy7yx/main-2
limit the number of groups to a maximum of 512
2024-01-04 16:20:56 +08:00
hxy7yx 9a12f36731 limit the number of groups to a maximum of 512 2024-01-04 16:11:47 +08:00
fengzeroz 623f2f7672 Merge pull request #1797 from eeff/eeff/dev
feat(core): get subscribe group request support filter
2024-01-04 14:54:14 +08:00
eeff 55e09d9a64 test: get subscribe info ft 2024-01-04 14:13:29 +08:00
eeff 3a76d3cef5 feat(restful): get subscribe group api support filtering 2024-01-04 14:13:29 +08:00
eeff ccb6a79a8e feat(core): get subscribe group request support filtering 2024-01-04 14:13:29 +08:00
fengzeroz 08eebcbca0 Merge pull request #1795 from fengzeroz/main
get tags: query description
2024-01-04 11:20:09 +08:00
fengzero 6dd4b0f2df get tags: query description 2024-01-04 03:10:20 +00:00
fengzeroz aa3462efe5 Merge pull request #1792 from eeff/eeff/dev
feat(core): read group support filter
2024-01-03 17:47:12 +08:00
eeff b4041b0be3 test: read group query ft 2024-01-03 17:17:09 +08:00
eeff b08869f404 feat(restful): read group handler support query 2024-01-03 17:13:42 +08:00
fengzeroz 595d7d4456 Merge pull request #1791 from eeff/eeff/dev
feat: remove template
2024-01-03 11:11:57 +08:00
eeff 284bf0446f feat(ft): remove template ft 2024-01-03 10:56:07 +08:00
eeff ccccc0889f feat(core): remove template 2024-01-03 10:27:42 +08:00
fengzeroz aaff4e4bac Merge pull request #1787 from hxy7yx/main-1
increase the size of EVENT_SIZE
2024-01-03 10:04:09 +08:00
fengzeroz 832b081cf8 Merge pull request #1784 from fengzeroz/main
msg q
2024-01-03 10:03:32 +08:00
hxy7yx e1db8f05b6 increase the size of EVENT_SIZE 2024-01-02 18:05:58 +08:00
eeff fe3bc96256 feat(core): read group support query matching 2024-01-02 17:12:00 +08:00
fengzero f1e4bed876 msg q 2023-12-29 06:53:00 +00:00
fengzeroz 5737511f22 Merge pull request #1782 from fengzeroz/main
lock tag table
2023-12-29 11:06:47 +08:00
fengzero 660a01c4cd lock tag table 2023-12-29 02:03:24 +00:00
fengzeroz 1a5ced01a9 Merge pull request #1780 from hxy7yx/main-1
adapter: removing unused code and enhancing test coverage
2023-12-25 15:27:10 +08:00
hxy7yx b7615ae955 adapter: removing unused code and enhancing test coverage 2023-12-25 14:42:21 +08:00
fengzeroz d23c67efec Merge pull request #1777 from fengzeroz/main
fix event leak
2023-12-25 11:19:34 +08:00
fengzero 2791128642 event log 2023-12-25 02:46:15 +00:00
fengzero 6db4a324d8 fix(event): timer/io index set 2023-12-25 02:44:44 +00:00
fengzeroz 25e7569be9 Merge pull request #1773 from eeff/eeff/dev
fix(core): replace path separator char in adapter log category
2023-12-22 14:51:06 +08:00
eeff 4b6b788b75 fix(core): replace path separator char in adapter log category 2023-12-22 14:38:03 +08:00
fengzeroz 0a53a1d761 Merge pull request #1768 from hxy7yx/main-1
test: add validation for uptime_seconds metric
2023-12-21 09:42:31 +08:00
hxy7yx a71e1c2fbc test: add validation for uptime_seconds metric 2023-12-20 11:45:15 +08:00
fengzeroz 68789bed4d Merge pull request #1767 from hxy7yx/main-1
check if the written value conforms to the standard
2023-12-19 17:16:38 +08:00
hxy7yx d9157687ed check if the written value conforms to the standard 2023-12-19 17:07:39 +08:00
fengzeroz b3f1e47b18 Merge pull request #1766 from hxy7yx/main-1
fix(add_gtags):license tag count
2023-12-19 14:23:03 +08:00
hxy7yx 79be7286d3 fix(add_gtags):license tag count 2023-12-19 14:16:59 +08:00
fengzeroz 077a216988 Merge pull request #1764 from eeff/eeff/dev
revert: ndriver code
2023-12-19 09:52:02 +08:00
eeff 0c5d96deef test: remove ndriver ft 2023-12-18 21:34:21 +08:00
eeff 862b195139 revert: ndriver code 2023-12-18 21:32:09 +08:00
fengzeroz 45c7d51446 Merge pull request #1762 from hxy7yx/main-1
fix http status
2023-12-18 18:10:45 +08:00
hxy7yx 128609cbab fix http status 2023-12-18 18:07:14 +08:00
hxy7yx 6e856b0346 fix http status 2023-12-18 18:06:17 +08:00
fengzeroz ec43e8ad88 Merge pull request #1760 from hxy7yx/main-1
fix: add_tags&add_gtags http resp code
2023-12-18 17:08:49 +08:00
hxy7yx 7a4ccb459d fix:add_tags and add_gtags http resp code 2023-12-18 16:47:52 +08:00
fengzeroz 603be49982 Merge pull request #1758 from fengzeroz/main
fix(conn): lock conn buf
2023-12-18 16:10:37 +08:00
fengzeroz 6573ff1af2 Merge pull request #1757 from ZhouBox/main
fix:add library update fail error code
2023-12-18 15:38:20 +08:00
fengzero aac982fb62 fix(conn): lock conn buf 2023-12-18 07:32:39 +00:00
xiang.zhou ade333526b fix:add library update fail error code 2023-12-18 15:00:14 +08:00
fengzeroz 1af7ead362 Merge pull request #1755 from eeff/eeff/dev
test(ekuiper): add ft
2023-12-18 09:54:58 +08:00
eeff 5cb0927ff2 ci: ekuiper codecov report 2023-12-15 18:51:26 +08:00
eeff 3658fdeb99 fix(ekuiper): configuration validation 2023-12-15 18:51:26 +08:00
eeff ab8c1569bc test(ekuiper): add ft 2023-12-15 18:51:26 +08:00
eeff 1d34e73dd6 fix(ekuiper): json parser memory leak 2023-12-15 18:44:16 +08:00
fengzeroz 9a8740214c Merge pull request #1753 from ZhouBox/main
fixbug:no update plugin when update plugin library
2023-12-15 09:29:33 +08:00
xiang.zhou 12c5b6a76f fixbug:no update plugin when update plugin library 2023-12-14 18:56:09 +08:00
fengzeroz babee89528 Merge pull request #1751 from eeff/eeff/dev
fix(test): ft setup.py packaging
2023-12-13 18:12:22 +08:00
eeff 1f1a4397e0 fix(test): ft setup.py packaging 2023-12-13 18:04:46 +08:00
eeff 85d5701a63 fix(test): make ft mqtt mocker more robust 2023-12-13 18:04:46 +08:00
fengzeroz 1ef66414b0 Merge pull request #1746 from hxy7yx/main-1
fix(NEU_REQ_ADD_GTAG): del added tags when add failed
2023-12-13 10:00:09 +08:00
hxy7yx 5836ec2ade fix(NEU_REQ_ADD_GTAG): del all tags when add failed 2023-12-12 15:52:35 +08:00
fengzeroz 2d1768c9ae Merge pull request #1748 from fengzeroz/main
event: log
2023-12-12 15:34:04 +08:00
fengzero cfbb91637e event: log 2023-12-12 07:21:50 +00:00
fengzeroz a399c494ab Merge pull request #1743 from fengzeroz/main
fix write tag in arm64
2023-12-12 10:30:49 +08:00
fengzero f51a028e3f fix write tag 2023-12-12 02:01:45 +00:00
fengzero 89f7e237a2 fix write tag in arm64 2023-12-11 10:35:38 +00:00
fengzeroz d6ef7da766 Merge pull request #1738 from fengzeroz/main
reg sigkill
2023-12-11 17:10:37 +08:00
fengzero 1e60faf3ae reg sigkill 2023-12-11 09:04:11 +00:00
fengzeroz 315101a862 Merge pull request #1734 from hxy7yx/main-1
add ft case for negative decimal
2023-12-11 16:17:35 +08:00
fengzeroz 81535fc2ee Merge pull request #1736 from fengzeroz/main
Revert "fix(conn): lock conn buf"
2023-12-11 16:00:20 +08:00
fengzero 3c6f9ca096 Revert "fix(conn): lock conn buf"
This reverts commit 1151bb43b8.
2023-12-11 07:47:48 +00:00
hxy7yx 34ee5ad644 add ft case for negative decimal 2023-12-11 14:42:55 +08:00
fengzeroz 3e721c9554 Merge pull request #1729 from fengzeroz/main
fix(conn): lock conn buf
2023-12-08 14:34:38 +08:00
fengzero 1151bb43b8 fix(conn): lock conn buf 2023-12-08 06:24:38 +00:00
fengzeroz 7f9842a039 Merge pull request #1728 from eeff/eeff/dev
test(mqtt): make ft more stable
2023-12-08 11:03:16 +08:00
eeff 583ec8ac79 test(mqtt): make ft more stable 2023-12-08 10:33:09 +08:00
fengzeroz 403129560a Merge pull request #1727 from hxy7yx/main-1
add ft cases for src/base
2023-12-08 09:49:39 +08:00
fengzeroz 8fc0eef7f0 Merge pull request #1722 from gc87/write_tags_int2d64
[main]fix: write tags api int->double type
2023-12-08 09:45:52 +08:00
hxy7yx eda26e0034 add ft cases for src/base 2023-12-07 18:30:28 +08:00
fengzeroz a2d64bf578 Merge pull request #1724 from fengzeroz/main
fix(conn): block link abnormal connection
2023-12-07 11:25:52 +08:00
fengzeroz 318c7b7802 Merge pull request #1715 from hxy7yx/main-2
fix(simulator):memory leak
2023-12-07 11:16:00 +08:00
fengzero de0b3a4610 fix(conn): block link abnormal connection 2023-12-07 03:08:44 +00:00
hxy7yx e0902f7e53 fix(simulator):memory leak 2023-12-07 10:15:56 +08:00
gc87 ee8282b8eb fix: write tags api int->double type 2023-12-06 19:05:57 +08:00
fengzeroz f1b8d4b37d Merge pull request #1719 from eeff/eeff/dev
test(mqtt): add mqtt write tags ft
2023-12-06 17:31:30 +08:00
eeff cf01ede2d3 test(mqtt): improve write tags ft coverage 2023-12-06 17:03:39 +08:00
eeff 1d669c24e5 refactor(mqtt): reduce write req handler duplicate code 2023-12-06 17:02:34 +08:00
fengzeroz a0e9b7eff3 Merge pull request #1720 from emqx/revert-1713-write_tags_int2d64
Revert "[main]fix: write tags api int->double type"
2023-12-06 16:44:19 +08:00
Gao Chun 0910f60eb9 Revert "[main]fix: write tags api int->double type" 2023-12-06 16:40:33 +08:00
fengzeroz d552b6bc37 Merge pull request #1718 from fengzeroz/main
upload data when subscribe group
2023-12-06 16:04:34 +08:00
fengzero 13499a925f upload data when subscribe group 2023-12-06 07:49:22 +00:00
fengzeroz 74944e79c2 Merge pull request #1713 from gc87/write_tags_int2d64
[main]fix: write tags api int->double type
2023-12-06 10:44:06 +08:00
fengzeroz 84f7d45c30 Merge pull request #1711 from eeff/eeff/dev
test: add mqtt ft
2023-12-06 10:32:17 +08:00
eeff effd34e08f test: add mqtt ft 2023-12-05 19:14:22 +08:00
eeff 821e7408db test: add mqtt test broker and client 2023-12-05 18:39:42 +08:00
eeff bec8bce390 fix(ci): remove ft duplicate run 2023-12-05 18:39:42 +08:00
eeff 4aeb5d7b54 fix(core): json read/write parser memory leak 2023-12-05 18:39:42 +08:00
eeff 4aac5571bf fix(core): neu_decode64 graceful return on error 2023-12-05 18:39:42 +08:00
eeff 9cb6d72bc7 fix(mqtt): memory double free and leak 2023-12-05 18:39:23 +08:00
gc87 5cd1cc6ef9 fix: write tags api int->double type 2023-12-05 16:41:10 +08:00
fengzeroz 617efbb2fa Merge pull request #1712 from hxy7yx/main-1
fix ft cov report
2023-12-05 13:49:11 +08:00
hxy7yx 4e97b8cbd4 fix ft cov report 2023-12-05 11:46:43 +08:00
fengzeroz 93f667843a Merge pull request #1709 from eeff/eeff/dev
fix(core): send unsubscribe group message when deleting app
2023-12-04 17:42:01 +08:00
eeff b10b964ab3 test: ft case for deleting subscribing app 2023-12-04 17:29:13 +08:00
eeff 43a87bcdcd fix(core): send unsubscribe group message when deleting app 2023-12-04 16:51:10 +08:00
fengzeroz 7e852118ff Merge pull request #1708 from ZhouBox/main
fix:memory leak
2023-12-04 10:25:36 +08:00
xiang.zhou a89a1b2044 fix:memory leak 2023-12-04 10:17:21 +08:00
fengzeroz 2afc8d94b1 Merge pull request #1705 from eeff/eeff/dev
chore: ft ignore faketime warning message
2023-12-01 11:00:01 +08:00
eeff 6ff9613756 chore: ft ignore faketime warning message 2023-12-01 10:57:15 +08:00
fengzeroz a8d1aed71c Merge pull request #1704 from hxy7yx/main-3
fix(connection):stop listening after the server mode node stops
2023-11-30 17:00:59 +08:00
hxy7yx 18bc31ef90 fix(connection):stop listening after the server mode node stops 2023-11-30 16:56:54 +08:00
fengzeroz 038f8f77cf Merge pull request #1703 from eeff/eeff/dev
feat(syslog): new log format
2023-11-30 09:45:57 +08:00
eeff 23ec078763 feat(syslog): new log format 2023-11-29 12:51:12 +08:00
fengzeroz c934a1f2c2 Merge pull request #1702 from eeff/eeff/dev
feat: remove monitor
2023-11-28 16:46:54 +08:00
eeff eb9f721c64 test(monitor): remove monitor related ft 2023-11-28 15:04:59 +08:00
eeff 73fd1cea34 feat: remove event messages 2023-11-28 14:52:47 +08:00
eeff 7c0119fce3 feat: remove monitor 2023-11-28 14:52:47 +08:00
fengzeroz d6e25331db Merge pull request #1701 from eeff/eeff/dev
feat: add license tag metrics
2023-11-27 16:42:36 +08:00
eeff 7adb40265f feat: add license tag metrics 2023-11-27 16:29:49 +08:00
fengzeroz 8525e83dbd Merge pull request #1700 from eeff/eeff/refactor
fix: memory used after free
2023-11-27 10:35:59 +08:00
eeff 4f51d094f3 fix: memory used after free 2023-11-27 10:17:44 +08:00
fengzeroz a6f166bbd2 Merge pull request #1699 from fengzeroz/main
ci: update source
2023-11-27 10:08:02 +08:00
fengzero a874d4c466 ci: update source 2023-11-27 02:01:16 +00:00
fengzeroz 4c9a699932 Merge pull request #1694 from eeff/eeff/refactor
refactor: send message by pointer
2023-11-27 09:56:11 +08:00
eeff f1587359e5 refactor: send msg by pointer 2023-11-24 10:22:35 +08:00
eeff fc9cfcf40c refactor: add neu_msg_t for internal messaging 2023-11-23 17:31:21 +08:00
fengzeroz ad42e626e5 Merge pull request #1691 from eeff/eeff/dev
fix(core): add/update plugin memory corruption
2023-11-23 11:24:54 +08:00
fengzeroz c40ba399e0 Merge pull request #1692 from eeff/eeff/fix
fix(core): send correct node name when del node
2023-11-23 11:11:29 +08:00
eeff 39f7367d2d fix(core): send correct node name when del node 2023-11-23 10:39:54 +08:00
eeff e20af56111 fix(core): add/update plugin memory corruption 2023-11-23 10:22:29 +08:00
fengzeroz 402f1ac7a1 Merge pull request #1688 from hxy7yx/main-2
add http api ft
2023-11-23 09:57:03 +08:00
fengzeroz b2dbd26762 Merge pull request #1689 from eeff/eeff/dev
feat: syslog message add priority
2023-11-23 09:55:24 +08:00
hxy7yx 12c58fe206 add http api ft 2023-11-22 18:28:28 +08:00
eeff e2067bf320 feat: syslog message add priority 2023-11-22 11:37:39 +08:00
fengzeroz 7d671eab23 Merge pull request #1684 from eeff/eeff/dev
fix: pid file work around fs.protected_regular
2023-11-22 10:06:52 +08:00
fengzeroz ac50ee2e52 Merge pull request #1687 from ZhouBox/main
feat(api):add version when get plugins info
2023-11-21 16:57:17 +08:00
xiang.zhou 603e3d8448 feat(api):add version when get plugins info 2023-11-21 16:23:20 +08:00
eeff 30d7c98d99 fix: pid file work around fs.protected_regular 2023-11-21 14:40:54 +08:00
fengzeroz a45e2d85de Merge pull request #1682 from fengzeroz/main
event: size 1024
2023-11-21 14:19:17 +08:00
fengzero c3ee176b05 event: size 1024 2023-11-21 06:13:30 +00:00
fengzeroz cea0ffaf16 Merge pull request #1680 from fengzeroz/main
chore(log): default size
2023-11-21 13:46:33 +08:00
fengzero 44673dab78 chore(log): default size 2023-11-21 03:41:40 +00:00
fengzeroz a99a147b80 Merge pull request #1679 from eeff/eeff/dev
fix: node cache SQL schema fk constraint
2023-11-20 15:23:34 +08:00
eeff 23523a0047 fix: node cache SQL schema fk constraint 2023-11-20 15:20:52 +08:00
fengzeroz ad6782654d Merge pull request #1675 from hxy7yx/main-2
add metrics ft case
2023-11-20 14:17:40 +08:00
fengzeroz 52e878c0ac Merge pull request #1677 from ZhouBox/main
feat(plugin):update plugin manager policy and update ft case
2023-11-20 14:06:58 +08:00
fengzeroz 6e0455ee64 Merge pull request #1676 from hxy7yx/main-1
merge user&password error code
2023-11-20 14:01:49 +08:00
hxy7yx 05fe61e58b merge user&password error code 2023-11-20 13:48:42 +08:00
xiang.zhou aebc24f162 feat(plugin):update plugin manager policy and update ft case 2023-11-17 20:38:03 +08:00
hxy7yx 8607d59c4e add metrics ft case 2023-11-17 15:38:48 +08:00
fengzeroz 174631e1bc Merge pull request #1669 from gc87/mqtt
feat(mqtt): add support for will message
2023-11-16 20:48:58 -06:00
gc87 e06d8a8e62 feat(mqtt): add support for will message 2023-11-16 18:45:28 +08:00
fengzeroz a2d794d8ed Merge pull request #1655 from hxy7yx/main-1
add subscription group count to node(app) state interface
2023-11-16 03:18:27 -06:00
fengzeroz 1aad6996fb Merge pull request #1670 from hxy7yx/main-3
improve: core/adapter log level
2023-11-16 15:28:22 +08:00
fengzeroz ae3ac9b5b0 Merge pull request #1671 from eeff/eeff/dev
refactor: reduce message size
2023-11-15 20:28:15 -06:00
eeff 92495c297f refactor: reduce write gtags message size 2023-11-16 00:40:47 +08:00
eeff be13500d24 refactor: reduce write tags message size 2023-11-16 00:18:03 +08:00
eeff 297b9b151d refactor: reduce write tag messages size 2023-11-15 18:20:43 +08:00
eeff ff1400cde6 refactor: reduce read group message size 2023-11-15 15:37:03 +08:00
eeff 41f77813e1 refactor: reduce trans data message size 2023-11-15 15:36:56 +08:00
fengzeroz 4795a4b97a Merge pull request #1670 from hxy7yx/main-3
improve: core/adapter log level
2023-11-14 21:34:12 -06:00
hxy7yx 78a61f1198 improve: core/adapter log level 2023-11-15 11:25:07 +08:00
fengzeroz b869590cb9 Merge pull request #1668 from eeff/eeff/dev
refactor: move request and response types into separate header
2023-11-14 20:01:02 -06:00
fengzeroz af95067ec7 Merge pull request #1667 from gc87/neu_type_ptr-leak-fix
fix(driver): neu_type_ptr leak
2023-11-14 19:46:33 -06:00
eeff ad3565c19e refactor: move request and response types into separate header 2023-11-14 16:32:07 +08:00
gc87 77defca959 fix(driver): neu_type_ptr leak 2023-11-14 15:28:47 +08:00
fengzeroz 65ef9e90d0 Merge pull request #1654 from ZhouBox/main
feat(metrics):add machine,clib,clib version and ft case
2023-11-14 00:00:29 -06:00
xiang.zhou afcd1f88cd feat(metrics):add machine,clib,clib version and ft case 2023-11-14 11:36:17 +08:00
fengzeroz 09c07609d5 Merge pull request #1662 from fengzeroz/main
chore(log): type con
2023-11-10 04:46:04 -06:00
fengzero 8dfe65e6f4 chore(log): type con 2023-11-10 10:45:06 +00:00
fengzeroz 6b23480717 Merge pull request #1658 from fengzeroz/main
fix(log): protocol log
2023-11-10 03:56:53 -06:00
fengzero 7e34947c8a chore: remove neuron in description 2023-11-10 09:50:39 +00:00
fengzero 0d37baca83 log: reduce alloc 2023-11-10 09:47:10 +00:00
fengzero 2b5d8efac1 fix(log): protocol log 2023-11-10 08:39:52 +00:00
fengzeroz b1075213d4 Merge pull request #1650 from fengzeroz/main
core: msg dup
2023-11-09 19:55:21 -06:00
fengzeroz bf12859ea9 Merge pull request #1653 from ZhouBox/main
ci:split pytest in same jobs
2023-11-08 19:43:40 -06:00
xiang.zhou 3042b11e88 ci:split pytest in same jobs 2023-11-08 15:12:29 +08:00
fengzero 64fe894dbe fix(core): free tags after free req 2023-11-08 06:03:00 +00:00
fengzero f5a21bf230 core: msg dup 2023-11-08 05:52:22 +00:00
fengzeroz 78825864c3 Merge pull request #1648 from hxy7yx/main-2
test(modbus):add test cases
2023-11-07 23:50:26 -06:00
hxy7yx dbf5089f8c test(modbus):add test cases 2023-11-08 09:52:41 +08:00
fengzeroz dae58cdc8a Merge pull request #1646 from eeff/eeff/dev
feat: add error code `NEU_ERR_LICENSE_TOKEN_NOT_FOUND`
2023-11-06 23:44:22 -06:00
eeff c551e667c8 feat: add error code NEU_ERR_LICENSE_TOKEN_NOT_FOUND 2023-11-07 11:41:36 +08:00
fengzeroz 8926a1dad7 Merge pull request #1621 from hxy7yx/main-3
feat(restful): Add API for single-request bulk tag addition across multiple groups
2023-11-05 20:38:24 -06:00
fengzeroz 2679214542 Merge pull request #1643 from eeff/eeff/dev
fix: utarray_steal dangling pointer
2023-11-02 20:52:29 -05:00
eeff ed57086b8a fix: utarray_steal dangling pointer 2023-11-02 16:45:54 +08:00
fengzeroz e4f703396c Merge pull request #1641 from fengzeroz/main
build: O0
2023-11-02 03:40:01 -05:00
fengzero c03642bf1b build: O0 2023-11-02 08:28:06 +00:00
fengzeroz d85f82a898 Merge pull request #1634 from fengzeroz/main
debug(connection): delay 50ms
2023-11-02 00:50:02 -05:00
fengzero 3ee1020860 ci: remove unused 2023-11-02 02:12:43 +00:00
fengzero 465fff7710 chore(conn): disconnect if udp recv error 2023-11-02 01:39:36 +00:00
fengzero ff9ea0109b debug(connection): delay 50ms 2023-11-02 01:39:36 +00:00
fengzeroz ae69f34769 Merge pull request #1637 from hxy7yx/main-1
fix memory leaks when get node state without any nodes
2023-11-01 04:37:03 -05:00
hxy7yx fb9e9cef46 fix memory leaks when get node state without any nodes 2023-11-01 16:36:45 +08:00
fengzeroz 18b8cc5408 Merge pull request #1631 from hxy7yx/main-1
log api supports independent core log
2023-11-01 01:35:25 -05:00
fengzeroz 90e81a23f6 Merge pull request #1633 from eeff/eeff/dev
fix: node cache sql schema
2023-11-01 00:52:32 -05:00
hxy7yx 9d77ccfaab Merge remote-tracking branch 'origin/main-1' into main-1 2023-11-01 13:45:28 +08:00
eeff 71acb2a7df fix: node cache sql schema 2023-11-01 12:31:05 +08:00
hxy7yx 611fc6c007 log api supports independent core log 2023-10-31 22:33:29 +08:00
hxy7yx d4ae3a6126 fix memory leaks 2023-10-31 10:00:43 +08:00
fengzeroz adbf5ad438 Merge pull request #1628 from ZhouBox/main
fixbug:value err using float type
2023-10-31 09:39:10 +08:00
xiang.zhou 9ac533c8c7 fixbug:value err using float type 2023-10-31 08:01:26 +08:00
fengzeroz 50842beea7 Merge pull request #1627 from eeff/eeff/dev
test: add ft get hardware token api
2023-10-30 15:57:38 +08:00
fengzeroz 09366ec674 Merge pull request #1626 from fengzeroz/main
event and connection delay
2023-10-30 14:36:20 +08:00
eeff 26b938927d test: add ft get hardware token api 2023-10-30 14:31:17 +08:00
fengzeroz d6963df69d Merge pull request #1626 from fengzeroz/main
event and connection delay
2023-10-27 17:42:47 +08:00
fengzero b8fcc51702 event: log get event fail 2023-10-27 09:25:59 +00:00
fengzero f24cc9c640 event: timer size 512 2023-10-27 09:25:11 +00:00
fengzero 163ea4a27c drive: default interval 100ms 2023-10-27 09:25:04 +00:00
fengzero d172e27275 debug: delay 20ms 2023-10-27 09:24:56 +00:00
fengzeroz dec7bff1e3 Merge pull request #1619 from fengzeroz/main
Revert "debug: write performance"
2023-10-27 15:18:02 +08:00
fengzero 14845d0fab Revert "debug: write performance"
This reverts commit cd3fab5453.
2023-10-27 07:09:19 +00:00
fengzeroz 22745dbdf7 Merge pull request #1614 from fengzeroz/main
write multiple group
2023-10-27 10:04:30 +08:00
fengzero ac0559d89b delay 10ms 2023-10-27 02:01:32 +00:00
fengzero 8485eaf1da delay 10ms 2023-10-27 02:01:27 +00:00
fengzero 2b870976c4 fix cppcheck 2023-10-27 01:58:39 +00:00
fengzero 32783096b7 write multiple group tag 2023-10-27 01:58:39 +00:00
fengzero cd3fab5453 debug: write performance 2023-10-27 01:58:39 +00:00
fengzeroz bdc6896aa9 Merge pull request #1618 from ZhouBox/main
fixbug:value err when  writing negative(example -40) using float type
2023-10-27 09:34:15 +08:00
xiang.zhou b96e8ff0cc fixbug:value err when writing negative using float type 2023-10-26 21:50:56 +08:00
fengzeroz 8c8c938b0a Merge pull request #1610 from fengzeroz/main
array deep clone
2023-10-26 17:53:34 +08:00
fengzero 4b98edef12 array deep clone 2023-10-26 09:44:54 +00:00
fengzeroz 920c0ade01 Merge pull request #1612 from eeff/eeff/dev
test: ft add virtual license api
2023-10-26 13:46:31 +08:00
eeff dae11c6614 test: ft add virtual license api 2023-10-26 12:14:07 +08:00
fengzeroz 27155d30a8 Merge pull request #1607 from ZhouBox/main
fix:api url err about write tags in ft
2023-10-25 16:26:15 +08:00
xiang.zhou 0cd43030fa fix:api url err about write tags in ft 2023-10-25 15:53:07 +08:00
fengzeroz fb4d8c0a56 Merge pull request #1604 from fengzeroz/main
group: default 300ms
2023-10-25 11:40:24 +08:00
fengzero cfa2d2b119 group: default 300ms 2023-10-25 03:28:14 +00:00
fengzeroz 24f173651b Merge pull request #1603 from eeff/eeff/dev
test: ft add template api
2023-10-24 10:57:45 +08:00
eeff ec74b1ad57 test: ft add template api 2023-10-24 10:28:54 +08:00
fengzeroz afaff3f2d7 Merge pull request #1601 from eeff/eeff/dev
test: ft api support restart neuron process
2023-10-23 16:20:12 +08:00
eeff 0884b88480 test: ft api support restart neuron process 2023-10-23 15:41:06 +08:00
fengzeroz 0a54266374 Merge pull request #1600 from eeff/eeff/dev
test: ft description support printing test arguments
2023-10-20 11:17:13 +08:00
eeff f01ac49d56 test: ft description support printing test arguments 2023-10-20 11:11:24 +08:00
fengzeroz 8a3d502431 Merge pull request #1599 from eeff/eeff/dev
test: augment ft neuron api
2023-10-20 10:49:07 +08:00
eeff 0219f46ed9 test: augment ft neuron api 2023-10-20 10:46:04 +08:00
fengzeroz 2a69ee369a Merge pull request #1596 from ZhouBox/test-ft
add ft tests case for plugin
2023-10-16 10:16:51 +08:00
xiang.zhou 22c0d44191 add ft tests case for plugin 2023-10-13 18:45:59 +08:00
fengzeroz 41d682c1b4 Merge pull request #1595 from fengzeroz/main
ft env
2023-10-13 16:41:49 +08:00
fengzero f6b94c0ce3 ft env 2023-10-13 07:32:31 +00:00
fengzeroz 8783bad19e Merge pull request #1590 from eeff/eeff/dev
feat(restful): tag read api support synchronous mode
2023-10-13 14:55:27 +08:00
fengzeroz 7018be06e5 Merge pull request #1594 from hxy7yx/main-2
remove api: file
2023-10-13 13:59:30 +08:00
hxy7yx d93c699694 remove api: file 2023-10-13 13:40:34 +08:00
eeff ddc5b1e69a test: add modbus sync read ft 2023-10-13 12:21:03 +08:00
eeff 4169265144 feat(mqtt): read request support synchronous read 2023-10-13 12:04:02 +08:00
eeff 38c54c5c28 feat(restful): tag read api support synchronous mode 2023-10-13 12:04:02 +08:00
eeff 79e1e385ae feat(core): support plugin synchronous read 2023-10-13 12:04:02 +08:00
fengzeroz d3c4d77e45 Merge pull request #1593 from fengzeroz/main
ft: rm modbus tcp
2023-10-13 09:59:51 +08:00
fengzero 527309d580 ft: rm modbus tcp 2023-10-13 01:58:01 +00:00
fengzeroz 99aa0e02aa Merge pull request #1592 from fengzeroz/main
ft: rm persistence file
2023-10-12 18:05:51 +08:00
fengzero 6e4f3e339b ft: rm persistence file 2023-10-12 10:04:27 +00:00
fengzeroz 1824ebb4a9 Merge pull request #1591 from fengzeroz/main
modbus pytest case
2023-10-12 15:25:54 +08:00
fengzero 3dd3e54e9c fix(ft): path 2023-10-12 07:15:21 +00:00
fengzero 91b9eb066d fix(ci): ui version 2023-10-12 07:12:15 +00:00
fengzero 2611199aeb ft: remove dup case 2023-10-12 07:09:46 +00:00
fengzero da05941676 modbus ft 2023-10-12 07:08:30 +00:00
fengzero 96a4158e78 version: 2.7.0-dev 2023-10-11 08:56:42 +00:00
fengzero fb924091dd driver test 2023-10-11 07:07:35 +00:00
fengzero 568100d869 ft: modbus tcp 2023-10-11 07:07:35 +00:00
fengzeroz 968870e662 Merge pull request #1586 from hxy7yx/main-2
verify that the length of modbus bytes point is even
2023-10-11 15:06:56 +08:00
hxy7yx e7bf3c74ca verify that the length of modbus bytes point is even 2023-10-11 13:48:18 +08:00
fengzeroz 00a8849807 Merge pull request #1584 from hxy7yx/main-2
update log_level api
2023-10-11 10:49:51 +08:00
hxy7yx c2471d7869 update log_level api 2023-10-11 10:32:43 +08:00
fengzeroz d81d90c194 Merge pull request #1583 from fengzeroz/main
ft: license api
2023-10-10 15:07:32 +08:00
fengzero aa8c32f46f ft: license api 2023-10-10 07:05:05 +00:00
fengzeroz e97dc9587d Merge pull request #1579 from fengzeroz/main
chore: replace nng_mtx with pthread_mtx
2023-10-10 10:53:08 +08:00
fengzero 0df2a94b3f chore: replace nng_mtx with pthread_mtx 2023-10-10 02:36:51 +00:00
fengzeroz 15fcbe2ae3 Merge pull request #1578 from fengzeroz/main
ci: pyft
2023-10-10 10:16:52 +08:00
fengzero bb52ef5d5f ci: pyft 2023-10-09 09:54:15 +00:00
fengzeroz 71f3b3cb24 Merge pull request #1576 from eeff/eeff/dev
fix: syslog format
2023-10-09 15:08:22 +08:00
fengzeroz a70e4a6e78 Merge pull request #1574 from fengzeroz/main
core: using lo udp replace pair1
2023-10-09 11:29:06 +08:00
fengzero 10e281573d fix(trans): memory leak 2023-10-09 03:18:14 +00:00
fengzero 3af0e237a5 chore: change ut directory 2023-10-09 02:57:20 +00:00
eeff ced9eccc14 fix: syslog format 2023-10-09 10:11:26 +08:00
fengzero bf4acdfb85 feat(core): trans_data msg are sent using a separate channel 2023-10-08 06:59:07 +00:00
fengzero ff87cc73b6 core: using lo udp replace pair1 2023-10-08 06:55:37 +00:00
fengzeroz 1c828623aa Merge pull request #1564 from eeff/eeff/dev
feat: support logs to remote syslog server
2023-10-08 14:33:05 +08:00
fengzeroz a77403712b Merge pull request #1552 from ZhouBox/main
feat:dynamic plugin management
2023-10-08 14:32:12 +08:00
eeff 94290e2a5c feat: support logs to remote syslog server 2023-10-07 15:45:08 +08:00
eeff 9e9413d492 feat: add syslog_host and syslog_port options 2023-10-07 14:34:01 +08:00
fengzeroz 0d2992257b Merge pull request #1572 from fengzeroz/main
fix(connection): server consume
2023-09-28 16:06:27 +08:00
fengzero 937fd4bb86 fix(connection): server consume 2023-09-28 07:46:53 +00:00
fengzeroz 84887e1d26 Merge pull request #1568 from eeff/eeff/fix
fix: guard against empty mqtt subscription topic
2023-09-28 15:05:42 +08:00
eeff c123b64f97 test: add ft test case for empty mqtt subscription topic 2023-09-27 18:04:33 +08:00
eeff da9e88cd84 fix: guard against empty mqtt subscription topic 2023-09-27 16:29:57 +08:00
fengzeroz a241c3af92 Merge pull request #1560 from fengzeroz/main
fix(timer): stop after callback done
2023-09-22 18:12:17 +08:00
fengzero b0c7854d12 fix(timer): stop after callback done 2023-09-22 10:02:20 +00:00
fengzeroz 555e77fe5b Merge pull request #1558 from fengzeroz/main
fix(event): lock event loop
2023-09-22 17:36:11 +08:00
fengzero 0bdb3ecc5e fix(event): lock event loop 2023-09-22 09:09:30 +00:00
fengzeroz 4cc7aaae63 Merge pull request #1557 from fengzeroz/main
fix(connection): compile warning
2023-09-22 14:03:50 +08:00
fengzero e4cb02b072 fix(connection): compile warning 2023-09-22 05:56:43 +00:00
fengzeroz 5ca91e1ffb Merge pull request #1553 from fengzeroz/main
fix(timer): use after free
2023-09-22 11:31:11 +08:00
fengzero 36b201879a fix(timer): use after free 2023-09-22 03:07:20 +00:00
fengzeroz 9efaf26dd1 Merge pull request #1528 from hxy7yx/main-2
Switch the log level and no longer automatically switch back
2023-09-21 19:42:25 +08:00
fengzeroz e09c37e8f7 Merge pull request #1523 from hxy7yx/main-1
core&modbus support ipv6
2023-09-21 19:41:49 +08:00
fengzeroz 6fbb4cbb28 Merge pull request #1551 from fengzeroz/main
log millisecond
2023-09-21 17:48:42 +08:00
fengzero 4a05c1ef52 ci: gcov directory 2023-09-21 09:47:06 +00:00
xiang.zhou bc67be3386 feat:dynamic plugin management 2023-09-21 17:40:37 +08:00
fengzero fec04c2b35 start report after read timer 2023-09-21 08:40:33 +00:00
fengzero ed2d350e36 log millisecond 2023-09-21 08:40:19 +00:00
fengzeroz df9a9acd72 Merge pull request #1549 from fengzeroz/main
ci: daily release
2023-09-21 16:35:09 +08:00
fengzero 3b19ed280e remove upload sdk 2023-09-21 08:29:05 +00:00
hxy7yx f91a162cce core&modbus support ipv6 2023-09-21 15:54:35 +08:00
fengzero 36fa7ef959 ci: create and update daily 2023-09-21 07:29:16 +00:00
hxy7yx 28cd412b97 Switch the log level to debug/notice and no longer automatically switch back 2023-09-21 15:06:57 +08:00
fengzeroz bd6746342c Merge pull request #1548 from fengzeroz/main
ci: checkout v4
2023-09-21 14:31:57 +08:00
fengzero c0ada25921 ci: checkout v4 2023-09-21 06:21:13 +00:00
fengzeroz 1ef64beb7e Merge pull request #1539 from eeff/eeff/dev
feat(monitor): move metrics api to restful plugin and remove singleton property
2023-09-21 14:04:27 +08:00
fengzeroz de8ae6e7eb Merge pull request #1542 from eeff/eeff/fix
chore: remove compiler warning
2023-09-21 10:48:46 +08:00
fengzeroz 37ad27f09f Merge pull request #1543 from hxy7yx/main-4
fix(modbus):rtu server recv&send
2023-09-21 10:46:55 +08:00
hxy7yx 87d0d371f0 fix(modbus):rtu server recv&send 2023-09-21 09:51:41 +08:00
eeff 85cb64673c chore: remove compiler warning 2023-09-20 17:22:51 +08:00
eeff 6a55e7b79c ci: run pyft depending on branch 2023-09-18 18:18:31 +08:00
eeff 5179eb2005 test: remove update node name test for monitor 2023-09-18 18:17:12 +08:00
eeff 5b79a351fa feat(monitor): make as non-singleton plugin 2023-09-18 11:54:31 +08:00
eeff 45d0a4ef12 feat(monitor): remove metrics http api 2023-09-18 11:54:31 +08:00
eeff e48638340d feat(restful): add metrics api 2023-09-18 11:54:31 +08:00
fengzeroz c44d097e78 Merge pull request #1536 from eeff/eeff/fix
fix(monitor): group update json event encoding
2023-09-15 09:29:11 +08:00
eeff 9456c59b2c fix(monitor): group update json event encoding 2023-09-14 17:51:41 +08:00
fengzeroz a58dd982d8 Merge pull request #1534 from fengzeroz/main
fix(driver): validate tag when loading tags
2023-09-14 14:52:29 +08:00
fengzero 5372e6b7bb fix(driver): validate tag when loading tags 2023-09-14 06:40:34 +00:00
fengzeroz b463e856bc Merge pull request #1531 from fengzeroz/main
fix(event): check io is null
2023-09-14 11:37:19 +08:00
fengzero 53de499f56 fix(event): check io is null 2023-09-14 03:17:20 +00:00
Rory 33ac2e7d33 ci: mark failed if cannot uploaded to codecov.io (#1530)
Signed-off-by: Rory Z <16801068+Rory-Z@users.noreply.github.com>
2023-09-13 14:02:38 +08:00
fengzeroz 512eca2d15 Merge pull request #1526 from eeff/eeff/dev
fix: zero out trailing hash key string
2023-09-13 10:58:12 +08:00
eeff 87afa777d0 fix: zero out trailing hash key string 2023-09-13 10:41:15 +08:00
fengzeroz 9f254665c6 Merge pull request #1521 from fengzeroz/main
fix(driver): check tags size
2023-09-11 16:29:37 +08:00
fengzero eaa9f21c65 fix(driver): check tags size 2023-09-11 08:19:04 +00:00
fengzeroz a2631f1ff6 Merge pull request #1519 from eeff/eeff/dev
feat: add virtual license sql schema
2023-09-08 17:45:47 +08:00
eeff ad5eb939d9 feat: add virtual license sql schema 2023-09-08 17:00:14 +08:00
fengzeroz d480b51cd6 Merge pull request #1516 from eeff/eeff/dev
fix(mqtt): enable SNI only when configured host is not IP address
2023-09-07 14:49:37 +08:00
eeff af1f1ecff1 fix(mqtt): enable SNI only when configured host is not IP address 2023-09-07 14:10:51 +08:00
fengzeroz eb2b14e680 Merge pull request #1515 from ZhouBox/main
fixbug:buffer size too small,host:port be truncated
2023-09-07 09:31:06 +08:00
xiang.zhou e0979d1759 fixbug:buffer size too small,host:port be truncated 2023-09-06 19:02:32 +08:00
fengzeroz 886e1df865 Merge pull request #1512 from ZhouBox/main
feat:add tag cache type
2023-09-06 18:21:18 +08:00
fengzeroz 639f05687b Merge pull request #1509 from eeff/eeff/fix
feat(restful): support update template group name
2023-09-06 18:20:59 +08:00
eeff aaaf68ddc3 test: add ft for template group name update 2023-09-06 17:46:34 +08:00
eeff 8edbee9f63 feat(restful): support update template group name 2023-09-06 17:46:34 +08:00
eeff 148cf4d212 feat(core): support update template group name 2023-09-06 17:46:34 +08:00
eeff 1c0bfa6263 feat: add json parser for updating template group 2023-09-06 17:46:34 +08:00
xiang.zhou a623b0c522 feat:add tag cache type 2023-09-06 17:39:09 +08:00
fengzeroz ffc82178a1 Merge pull request #1508 from eeff/eeff/dev
fix(metrics): update NEU_METRIC_TAGS_TOTAL when deleting group
2023-09-06 17:20:07 +08:00
eeff 56c1667210 fix(metrics): update NEU_METRIC_TAGS_TOTAL when deleting group 2023-09-06 11:33:36 +08:00
fengzeroz d10677be3a Merge pull request #1506 from fengzeroz/main
reduce retry time
2023-09-05 18:12:31 +08:00
fengzeroz bd9f244028 Merge pull request #1505 from ZhouBox/main
fixbug:send sigkill when stop timeout
2023-09-05 18:01:19 +08:00
fengzeroz c73dbaf966 Merge pull request #1501 from eeff/eeff/dev
fix(core): trigger group change when updating group name
2023-09-05 18:00:56 +08:00
fengzero 4e61ea9e3e reduce retry time 2023-09-05 09:58:52 +00:00
xiang.zhou 675d2d18a8 fixbug:send sigkill when stop timeout 2023-09-05 17:30:01 +08:00
eeff 1c605f0046 fix(core): trigger group change when updating group name 2023-09-05 14:43:35 +08:00
fengzeroz 9451a5ceb6 Merge pull request #1500 from ZhouBox/main
fixbug:log file name filtering error
2023-09-05 10:25:20 +08:00
xiang.zhou 7fe5ec735e fixbug:log file name filtering error 2023-09-05 09:56:08 +08:00
Rory de6f2c118f docs: add code cover badge (#1498)
Signed-off-by: Rory Z <16801068+Rory-Z@users.noreply.github.com>
2023-09-05 09:49:56 +08:00
fengzeroz bf2bf43838 Merge pull request #1496 from ZhouBox/main
fixbug:index error when endian in BL or LB
2023-09-05 09:48:35 +08:00
jinfahua e6c99ecb82 Code coverage CI for Neuron (#1491)
* ci: add code coverage

* ci: add code coverage

* ci: add code coverage

* ci: add code coverage

* ci: add code coverage

* Update check.yml

* upload result for unit test and pytest

* Try to remove the token
2023-09-05 09:23:21 +08:00
xiang.zhou 02f90c7780 fixbug:index error when endian in BL or LB 2023-09-05 08:45:53 +08:00
fengzeroz 472c655a79 Merge pull request #1492 from fengzeroz/main
fix(core): trans data dup
2023-09-04 14:26:49 +08:00
fengzero fad0311a91 fix(core): trans data dup 2023-09-04 06:24:03 +00:00
439 changed files with 25929 additions and 451779 deletions
-28
View File
@@ -1,28 +0,0 @@
name: Check helm version
on:
push:
paths:
- deploy/charts/neuron/templates/**
pull_request:
paths:
- deploy/charts/neuron/templates/**
jobs:
check-helm-version:
runs-on: ubuntu-latest
steps:
- run: minikube start
- uses: actions/checkout@v2
- name: Update helm
run: |
helm repo add emqx https://repos.emqx.io/charts
helm repo update
- name: Check helm version
run: |
old=$(helm show chart emqx/neuron |egrep "^version" | sed -r 's|^version:[[:space:]]([0-9]+.[0-9]+.[0-9]+)$|\1|g')
now=$(egrep "^version" deploy/charts/neuron/Chart.yaml | sed -r 's|^version:[[:space:]]([0-9]+.[0-9]+.[0-9]+)$|\1|g')
if [ "$old" = "$now" ];then
echo "Need update version for Chart.yaml"
exit 1
fi
+35 -69
View File
@@ -13,7 +13,7 @@ jobs:
steps:
# checkout
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: recursive
@@ -29,22 +29,22 @@ jobs:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: recursive
- name: cppcheck
run: |
sudo apt install cppcheck
cppcheck --enable=all --error-exitcode=2 --inline-suppr --suppress=missingInclude --suppress=unusedFunction ./plugins ./simulator ./src
cppcheck --enable=all --error-exitcode=2 --inline-suppr --suppress=missingInclude --suppress=unusedFunction ./plugins ./src
cppcheck --enable=all --error-exitcode=2 --inline-suppr --suppress=missingInclude --suppress=variableScope ./simulator
ut:
runs-on: ubuntu-20.04
container: ghcr.io/neugates/build:x86_64-main
container: ghcr.io/neugates/build:x86_64-v2.9
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: recursive
@@ -58,84 +58,50 @@ jobs:
- name: unit test
run: |
cd build
sudo apt-get update
sudo apt install -y lcov
ctest --output-on-failure -O tests/reports/ut.log --output-junit tests/reports/output.xml
lcov --capture --directory . --output-file testneuron.info --test-name testneuron
genhtml -o result testneuron.info
ctest --output-on-failure
- uses: actions/upload-artifact@v3
with:
name: ut_result
path: |
build/tests/reports/ut.log
build/tests/reports/output.xml
build/result/index.html
build/neuron.log
ft:
pft:
runs-on: ubuntu-20.04
container: ghcr.io/neugates/build:x86_64-main
container: ghcr.io/neugates/build:x86_64-v2.9
strategy:
matrix:
plugin: [core, ekuiper, modbus, mqtt, azure, metrics]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: recursive
- name: compile
run: |
git config --global --add safe.directory $(pwd)
mkdir -p build && cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/x86_64-linux-gnu.cmake
make -j4
- name: function test
- name: setup dependencies
run: |
sudo apt-get install -y mosquitto
mosquitto -v &
python3 -m pip install -U pip
python3 -m pip install -r ft/requirements.txt
python3 -m robot --maxerrorlines=600 -P ft/ -d ft/reports ft
pip install -U pytest requests prometheus-client gmqtt pynng sniffio
sudo apt-get install -y socat
- uses: actions/upload-artifact@v3
with:
name: ft_result
path: |
ft/reports/log.html
ft/reports/output.xml
ft/reports/report.html
build/neuron.log
pyft:
runs-on: ubuntu-20.04
container: ghcr.io/neugates/build:x86_64-main
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: compile
run: |
git config --global --add safe.directory $(pwd)
mkdir -p build && cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/x86_64-linux-gnu.cmake
cmake -DUSE_GCOV=1 .. -DCMAKE_TOOLCHAIN_FILE=../cmake/x86_64-linux-gnu.cmake
make -j4
- name: fetch neu-ft
uses: actions/checkout@v2
with:
repository: neugates/neu-ft
path: neu-ft
- name: function test
run: |
pip install -U pytest
pip install requests
pytest -s neu-ft/neuron
- uses: actions/upload-artifact@v3
with:
name: pyft_result
path: |
neu-ft/neuron/report
if [ "${{ matrix.plugin }}" = "core" ]; then
pytest -s -v tests/ft \
--ignore=tests/ft/app/test_ekuiper.py \
--ignore=tests/ft/app/test_mqtt.py \
--ignore=tests/ft/app/test_azure.py \
--ignore=tests/ft/driver/test_modbus.py \
--ignore=tests/ft/metrics/test_metrics.py
elif [ "${{ matrix.plugin }}" = "ekuiper" ]; then
pytest -s -v tests/ft/app/"test_ekuiper.py"
elif [ "${{ matrix.plugin }}" = "modbus" ]; then
pytest -s -v tests/ft/driver/"test_modbus.py"
elif [ "${{ matrix.plugin }}" = "mqtt" ]; then
pytest -s -v tests/ft/app/"test_mqtt.py"
elif [ "${{ matrix.plugin }}" = "azure" ]; then
pytest -s -v tests/ft/app/"test_azure.py"
else
pytest -s -v tests/ft/metrics/"test_metrics.py"
fi
+20 -163
View File
@@ -8,9 +8,9 @@ on:
- published
env:
VERSION: 2.6.0
UI_VERSION: 2.5.0
BRANCH: main
VERSION: 2.9.2
UI_VERSION: 2.6.1
BRANCH: v2.9
jobs:
cross-build:
@@ -21,10 +21,10 @@ jobs:
- [aarch64-linux-gnu, aarch64, arm64]
- [arm-linux-gnueabihf, armv4, armhf]
- [x86_64-linux-gnu, x86_64, amd64]
container: ghcr.io/neugates/build:${{ matrix.arch[1] }}-main
container: ghcr.io/neugates/build:${{ matrix.arch[1] }}-v2.9
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
@@ -54,7 +54,7 @@ jobs:
- uses: actions/upload-artifact@v3
with:
name: neuron-sdk-${{ matrix.arch[2] }}
name: neuron-sdk
path: |
neuron-sdk-*.tar.gz
@@ -64,10 +64,10 @@ jobs:
matrix:
arch:
- [x86_64-linux-gnu, x86_64, amd64]
container: ghcr.io/neugates/build:${{ matrix.arch[1] }}-main
container: ghcr.io/neugates/build:${{ matrix.arch[1] }}-v2.9
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
@@ -85,15 +85,14 @@ jobs:
- uses: actions/upload-artifact@v3
with:
name: neuron-sdk-debug-${{ matrix.arch[2] }}
name: neuron-sdk
path: |
neuron-sdk-debug-*.tar.gz
create_daily_release:
runs-on: ubuntu-20.04
create_update_daily_release:
runs-on: ubuntu-latest
if: github.event_name == 'push'
needs: [cross-build, build-debug-sdk]
steps:
- name: delete old daily-pre-release
uses: dev-drprasad/delete-tag-and-release@v0.2.1
@@ -103,159 +102,17 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: create daily-pre-release
id: create_release
uses: actions/create-release@v1
- uses: actions/download-artifact@v3
with:
name: neuron-sdk
- uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Daily Release(${{ env.BRANCH }})
tag_name: ${{ env.BRANCH }}-daily
release_name: Daily Release(${{ env.BRANCH }})
draft: false
prerelease: true
- shell: bash
run: |
echo "${{ steps.create_release.outputs.upload_url }}" > release_url.txt
- uses: actions/upload-artifact@v3
with:
name: release_url
path: release_url.txt
upload_daily_release_asset:
runs-on: ubuntu-20.04
if: github.event_name == 'push'
needs: create_daily_release
strategy:
matrix:
arch: [arm64, armhf, amd64]
type: [neuron-sdk]
package: [tar.gz]
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/download-artifact@v2
with:
name: release_url
- id: release_url
run: |
value=`cat release_url.txt`
echo "name=$value" >> $GITHUB_OUTPUT
- uses: actions/download-artifact@v2
with:
name: ${{ matrix.type }}-${{ matrix.arch }}
- id: package
run: echo "name=${{ matrix.type }}-${{ env.VERSION }}-${{ matrix.arch }}.${{ matrix.package }}" >> $GITHUB_OUTPUT
- name: upload daily release asset
id: upload-release-asset
uses: actions/upload-release-asset@v1.0.2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.release_url.outputs.name }}
asset_path: ./${{ steps.package.outputs.name }}
asset_name: ${{ matrix.type }}-${{ env.VERSION }}-daily-linux-${{ matrix.arch }}.${{ matrix.package }}
asset_content_type: application/octet-stream
upload_daily_release_debug_asset:
runs-on: ubuntu-20.04
if: github.event_name == 'push'
needs: create_daily_release
strategy:
matrix:
arch: [amd64]
type: [neuron-sdk-debug]
package: [tar.gz]
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/download-artifact@v2
with:
name: release_url
- id: release_url
run: |
value=`cat release_url.txt`
echo "name=$value" >> $GITHUB_OUTPUT
- uses: actions/download-artifact@v2
with:
name: ${{ matrix.type }}-${{ matrix.arch }}
- id: package
run: echo "name=${{ matrix.type }}-${{ env.VERSION }}-${{ matrix.arch }}.${{ matrix.package }}" >> $GITHUB_OUTPUT
- name: upload daily release asset
id: upload-release-asset
uses: actions/upload-release-asset@v1.0.2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.release_url.outputs.name }}
asset_path: ./${{ steps.package.outputs.name }}
asset_name: ${{ matrix.type }}-${{ env.VERSION }}-daily-linux-${{ matrix.arch }}.${{ matrix.package }}
asset_content_type: application/octet-stream
clean:
runs-on: ubuntu-20.04
needs: [upload_daily_release_asset, upload_daily_release_debug_asset]
steps:
- uses: geekyeggo/delete-artifact@v1
with:
name: release_url
release:
runs-on: ubuntu-20.04
if: github.event_name == 'release'
needs: cross-build
strategy:
matrix:
arch: [arm64, armhf, amd64]
type: [neuron-sdk]
package: [tar.gz]
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/download-artifact@v2
with:
name: ${{ matrix.type }}-${{ matrix.arch }}
- id: package
run: echo "name=${{ matrix.type }}-${{ env.VERSION }}-${{ matrix.arch }}.${{ matrix.package }}" >> $GITHUB_OUTPUT
- name: gen packages sha256
run: sudo bash -c "echo $(sha256sum ./${{ steps.package.outputs.name }} | awk '{print $1}') > ./${{ steps.package.outputs.name }}.sha256"
- uses: actions/upload-release-asset@v1
if: github.event_name == 'release'
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./${{ steps.package.outputs.name}}.sha256
asset_name: ${{ matrix.type }}-${{ env.VERSION }}-linux-${{ matrix.arch }}.${{ matrix.package }}.sha256
asset_content_type: application/octet-stream
- uses: actions/upload-release-asset@v1
if: github.event_name == 'release'
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./${{ steps.package.outputs.name}}
asset_name: ${{ matrix.type }}-${{ env.VERSION }}-linux-${{ matrix.arch }}.${{ matrix.package }}
asset_content_type: application/octet-stream
files: |
neuron-sdk-*
-44
View File
@@ -1,44 +0,0 @@
name: Release neuron
on:
push:
tags:
- "*"
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Check appVersion for helm
run: |
appVersion=$(egrep "^appVersion" deploy/charts/neuron/Chart.yaml | sed -r 's|^appVersion:[[:space:]]([0-9]+.[0-9]+.[0-9]+)$|\1|g')
if [ "$appVersion" != "${GITHUB_REF##*/}" ]; then
echo "Need update appVersion for Chart.yaml"
exit 1
fi
helm:
runs-on: self-hosted
if: github.repository_owner == 'emqx'
needs:
- release
steps:
- uses: actions/checkout@v2
- name: Check appVersion for helm
working-directory: deploy/charts/neuron
run: |
appVersion=$(egrep "^appVersion" Chart.yaml | sed -r 's|^appVersion:[[:space:]]([0-9]+.[0-9]+.[0-9]+)$|\1|g')
if [ "$appVersion" != "${GITHUB_REF##*/}" ]; then
echo "Need update appVersion for Chart.yaml"
exit 1
fi
- name: Update helm repo
uses: emqx/push-helm-action@v1
with:
charts_dir: "${{ github.workspace }}/deploy/charts/neuron"
version: ${{ github.ref_name }}
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws_region: "us-west-2"
aws_bucket_name: "repos-emqx-io"
+24 -12
View File
@@ -33,7 +33,7 @@ endif()
if(USE_GCOV)
message(STATUS "using gcov")
SET(GCC_COVERAGE_COMPILE_FLAGS "-fprofile-arcs -ftest-coverage")
SET(GCC_COVERAGE_COMPILE_FLAGS "-fprofile-arcs -ftest-coverage -O0")
SET(GCC_COVERAGE_LINK_FLAGS "-lgcov")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}")
@@ -41,7 +41,7 @@ if(USE_GCOV)
endif(USE_GCOV)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -g")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} -O1")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} -O0")
if(NOT DISABLE_ASAN)
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS} -fsanitize=address")
@@ -66,6 +66,7 @@ endif()
set(PERSIST_SOURCES
src/persist/persist.c
src/persist/sqlite.c
src/persist/json/persist_json_plugin.c)
aux_source_directory(src/parser NEURON_SRC_PARSE)
set(NEURON_BASE_SOURCES
@@ -74,7 +75,7 @@ set(NEURON_BASE_SOURCES
src/base/tag_sort.c
src/base/group.c
src/base/metrics.c
src/base/template.c
src/base/msg.c
src/connection/connection.c
src/connection/connection_eth.c
src/connection/mqtt_client.c
@@ -84,11 +85,9 @@ set(NEURON_BASE_SOURCES
src/utils/json.c
src/utils/http.c
src/utils/http_handler.c
src/utils/http_proxy.c
src/utils/neu_jwt.c
src/utils/base64.c
src/utils/async_queue.c
src/utils/mem_cache.c
src/utils/log.c
${PERSIST_SOURCES})
@@ -98,13 +97,24 @@ if (SMART_LINK)
set(NEURON_BASE_SOURCES ${NEURON_BASE_SOURCES} src/connection/smart_link.c)
endif()
if (CLIB)
message(STATUS "set clib")
add_definitions(-DNEU_CLIB=${CLIB})
endif()
if(CMAKE_BUILD_TYPE STREQUAL "Release")
message(STATUS "build release")
add_definitions(-DNEU_RELEASE)
endif()
add_library(neuron-base SHARED)
target_sources(neuron-base PRIVATE ${NEURON_BASE_SOURCES} ${NEURON_SRC_PARSE})
target_include_directories(neuron-base
PRIVATE include/neuron src)
target_link_libraries(neuron-base libssl.a libcrypto.a)
target_link_libraries(neuron-base nng libzlog.so jansson jwt
${CMAKE_THREAD_LIBS_INIT})
${CMAKE_THREAD_LIBS_INIT} -lm)
add_dependencies(neuron-base neuron-version)
# dependency imposed by nng
@@ -120,25 +130,24 @@ set(NEURON_SOURCES
src/core/subscribe.c
src/core/plugin_manager.c
src/core/node_manager.c
src/core/template_manager.c
src/core/storage.c
src/adapter/msg_q.c
src/adapter/storage.c
src/adapter/adapter.c
src/adapter/driver/cache.c
src/adapter/driver/driver.c
plugins/restful/handle.c
plugins/restful/log_handle.c
plugins/restful/file_handle.c
plugins/restful/metric_handle.c
plugins/restful/normal_handle.c
plugins/restful/rw_handle.c
plugins/restful/adapter_handle.c
plugins/restful/ndriver_handle.c
plugins/restful/datatag_handle.c
plugins/restful/global_config_handle.c
plugins/restful/group_config_handle.c
plugins/restful/plugin_handle.c
plugins/restful/template_handle.c
plugins/restful/version_handle.c
plugins/restful/scan_handle.c
plugins/restful/rest.c
plugins/restful/user.c)
@@ -164,14 +173,17 @@ file(COPY ${CMAKE_SOURCE_DIR}/default_plugins.json DESTINATION ${CMAKE_BINARY_DI
add_subdirectory(plugins/modbus)
add_subdirectory(plugins/mqtt)
add_subdirectory(plugins/ekuiper)
add_subdirectory(plugins/monitor)
add_subdirectory(simulator)
if(NOT DISABLE_UT)
add_subdirectory(tests)
add_subdirectory(tests/ut)
endif()
add_subdirectory(tests/plugins/c1)
add_subdirectory(tests/plugins/s1)
add_subdirectory(tests/plugins/sc1)
# Set sane defaults for multi-lib linux systems
include(GNUInstallDirs)
if(UNIX)
+3 -2
View File
@@ -2,6 +2,7 @@
[![GitHub Release](https://img.shields.io/github/release/emqx/neuron?color=brightgreen&label=Release)](https://github.com/emqx/neuron/releases)
[![Docker Pulls](https://img.shields.io/docker/pulls/emqx/neuron?label=Docker%20Pulls)](https://hub.docker.com/r/emqx/neuron)
[![codecov](https://codecov.io/gh/emqx/neuron/graph/badge.svg?token=X95RD0NUT0)](https://codecov.io/gh/emqx/neuron)
[![Slack](https://img.shields.io/badge/Slack-Neuron-39AE85?logo=slack)](https://slack-invite.emqx.io/)
[![Discord](https://img.shields.io/discord/931086341838622751?label=Discord&logo=discord)](https://discord.gg/xYGf3fQnES)
[![Twitter](https://img.shields.io/badge/Follow-EMQ-1DA1F2?logo=twitter)](https://twitter.com/EMQTech)
@@ -19,10 +20,10 @@ The following are some important features of Neuron:
- Support numerous protocols for industrial devices, including Modbus, OPCUA, Ethernet/IP, IEC104, BACnet and [more](https://neugates.io/docs/en/latest/configuration/south-devices/south-devices.html).
- Support simultaneous connection of a large number of industrial devices with different protocols.
- Combine with the rule engine function provided by [eKuiper](https://www.lfedge.org/projects/ekuiper) to quickly implement rule-based device control or AI/ML analytics.
- Support data access to industrial applications, such as MES or ERP, SCADA, historian and data analytics software via [SparkplugB](https://neugates.io/docs/en/latest/use-cases/use_cases.html#mqtt-sparkplugb-solution) solution.
- Support data access to industrial applications, such as MES or ERP, SCADA, historian and data analytics software via [SparkplugB](https://neugates.io/docs/en/latest/use-cases/sparkplug/sparkplug.html) solution.
- Has very low memory footprint, less than 10M, and CPU usage, can run on limited resource hardware like ARM, x86 and RISC-V.
- Support installation of native executable or deployed in containerized enviornment.
- Control industrial devices, and make changes to the parameters and data tags through [HTTP API](https://neugates.io/docs/en/latest/http-api/http-api.html) and [MQTT API](https://neugates.io/docs/en/latest/configuration/north-apps/mqtt/api.html) services.
- Control industrial devices, and make changes to the parameters and data tags through [HTTP API](https://neugates.io/docs/en/latest/api/configuration.html) and [MQTT API](https://neugates.io/docs/en/latest/configuration/north-apps/mqtt/api.html) services.
- Highly integrated with other EMQ products, including [EMQX](https://www.emqx.com/en/products/emqx), [NanoMQ](https://nanomq.io/), [eKuiper](https://ekuiper.org/).
- The code of the core framework and Modbus, MQTT and eKuiper are licensed under open source LGPLv3. Commercial modules require a [EMQ License](https://neugates.io/docs/en/latest/installation/license-install/license-install.html) to run.
+1 -1
View File
@@ -1,7 +1,7 @@
set(CMAKE_SYSTEM_NAME Linux)
set(COMPILER_PREFIX aarch64-linux-gnu)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
set(LIBRARY_DIR /home/neuron/main/libs)
set(LIBRARY_DIR /home/neuron/v2.9/libs)
set(CMAKE_C_COMPILER ${COMPILER_PREFIX}-gcc)
set(CMAKE_CXX_COMPILER ${COMPILER_PREFIX}-g++)
+1 -1
View File
@@ -1,7 +1,7 @@
set(CMAKE_SYSTEM_NAME Linux)
set(COMPILER_PREFIX arm-linux-gnueabi)
set(CMAKE_SYSTEM_PROCESSOR armv5tejl)
set(LIBRARY_DIR /home/neuron/main/libs)
set(LIBRARY_DIR /home/neuron/v2.9/libs)
set(CMAKE_C_COMPILER ${COMPILER_PREFIX}-gcc)
set(CMAKE_CXX_COMPILER ${COMPILER_PREFIX}-g++)
+1 -1
View File
@@ -1,7 +1,7 @@
set(CMAKE_SYSTEM_NAME Linux)
set(COMPILER_PREFIX arm-linux-gnueabihf)
set(CMAKE_SYSTEM_PROCESSOR armv7l)
set(LIBRARY_DIR /home/neuron/main/libs)
set(LIBRARY_DIR /home/neuron/v2.9/libs)
set(CMAKE_C_COMPILER ${COMPILER_PREFIX}-gcc)
set(CMAKE_CXX_COMPILER ${COMPILER_PREFIX}-g++)
+7
View File
@@ -21,3 +21,10 @@ link_directories(${CMAKE_STAGING_PREFIX})
if(CMAKE_SYSTEM_PROCESSOR MATCHES "mips32")
link_libraries(atomic)
endif()
if(CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64")
link_libraries(atomic)
endif()
if(CMAKE_SYSTEM_PROCESSOR MATCHES "loongarch64")
link_libraries(atomic)
endif()
+1 -1
View File
@@ -1,7 +1,7 @@
set(CMAKE_SYSTEM_NAME Linux)
set(COMPILER_PREFIX x86_64-linux-gnu)
set(CMAKE_SYSTEM_PROCESSOR x86_64)
set(LIBRARY_DIR /home/neuron/main/libs)
set(LIBRARY_DIR /home/neuron/v2.9/libs)
set(CMAKE_C_COMPILER ${COMPILER_PREFIX}-gcc)
set(CMAKE_CXX_COMPILER ${COMPILER_PREFIX}-g++)
+54
View File
@@ -0,0 +1,54 @@
#!/bin/bash
# core trace
lcov -c -d build/CMakeFiles/neuron-base.dir/src -o cov_report/cov-neuron-base.info
lcov -c -d build/CMakeFiles/neuron.dir/src -o cov_report/cov-neuron.info
lcov -c -d build/CMakeFiles/neuron.dir/plugins/restful -o cov_report/cov-restful.info
# always with core trace
function gen_trace () {
lcov -a cov-neuron-base.info -a cov-neuron.info -a cov-restful.info $@;
}
case $1 in
(ut)
rm -f cov_report/cov-neuron.info cov_report/cov-restful.info
for dir in build/tests/ut/CMakeFiles/*_test.dir; do
test_name=$(basename ${dir} "_test.dir")
lcov -c -d ${dir} -o "cov_report/cov-${test_name}_test.info"
done
cd cov_report
lcov $(for file in cov-*.info; do echo "-a $file "; done) -a cov-neuron-base.info -o cov-ut.info;;
(ft)
lcov -c -d build/plugins/mqtt/CMakeFiles/plugin-mqtt.dir -o cov_report/cov-mqtt.info
lcov -c -d build/plugins/modbus/CMakeFiles/plugin-modbus-rtu.dir -o cov_report/cov-modbus-rtu.info
lcov -c -d build/plugins/modbus/CMakeFiles/plugin-modbus-tcp.dir -o cov_report/cov-modbus-tcp.info
cd cov_report
gen_trace -a cov-mqtt.info -a cov-modbus-rtu.info -a cov-modbus-tcp.info -o cov-ft.info;;
(ekuiper)
lcov -c -d build/plugins/ekuiper/CMakeFiles/plugin-ekuiper.dir -o cov_report/cov-ekuiper.info
cd cov_report
gen_trace -a cov-ekuiper.info -o cov-ekuiper.info;;
(modbus)
lcov -c -d build/plugins/modbus/CMakeFiles/plugin-modbus-rtu.dir -o cov_report/cov-modbus-rtu.info
lcov -c -d build/plugins/modbus/CMakeFiles/plugin-modbus-tcp.dir -o cov_report/cov-modbus-tcp.info
lcov -c -d build/simulator/CMakeFiles/modbus_simulator.dir -o cov_report/cov-simulator-modbus.info
cd cov_report
gen_trace -a cov-simulator-modbus.info -a cov-modbus-rtu.info -a cov-modbus-tcp.info -o cov-modbus.info;;
(mqtt)
lcov -c -d build/plugins/mqtt/CMakeFiles/plugin-mqtt.dir -o cov_report/cov-mqtt.info
cd cov_report
gen_trace -a cov-mqtt.info -o cov-mqtt.info;;
(azure)
lcov -c -d build/plugins/mqtt/CMakeFiles/plugin-azure-iot.dir -o cov_report/cov-azure.info
cd cov_report
gen_trace -a cov-azure.info -o cov-azure.info;;
(core)
cd cov_report
gen_trace -o cov-core.info;;
(metrics)
cd cov_report
gen_trace -o cov-metrics.info;;
(*)
lcov -c -d build/plugins/$1/CMakeFiles/plugin-$1.dir -o cov_report/cov-$1.info;;
esac
+3 -2
View File
@@ -1,9 +1,10 @@
{
"plugins": [
"libplugin-mqtt.so",
"libplugin-aws-iot.so",
"libplugin-azure-iot.so",
"libplugin-ekuiper.so",
"libplugin-monitor.so",
"libplugin-modbus-tcp.so",
"libplugin-modbus-rtu.so"
]
}
}
+5 -3
View File
@@ -4,10 +4,12 @@ file perms = 666
[formats]
stdout_format = "%d [%V] [%c] %f:%L %m%n"
file_format = "%d [%V] %f:%L %m%n"
stdout_format = "%d:%ms [%V] [%c] %f:%L %m%n"
file_format = "%d:%ms [%V] %f:%L %m%n"
syslog = "<P>%d(%Y-%m-%dT%T%z) %H neuron[%p]: level=%v msg="[%c] %m" file="%f:%L"%n"
[rules]
*.* "./logs/%c.log", 50MB * 1 ~ "./logs/%c.#2s.log"; file_format
*.* "./logs/%c.log", 25MB * 1 ~ "./logs/%c.#2r.log"; file_format
*.* >stdout; stdout_format
*.* $remote_syslog,"%V"; syslog
-235
View File
@@ -1,235 +0,0 @@
from os import remove
import os
import random
import subprocess
import shutil
import time
def prepare_persistence_dir():
os.system("mkdir -p build/persistence")
class Neuron(object):
process = 0
profiler_process = None
def __init__(self):
pass
def Start_Neuron(self):
prepare_persistence_dir()
self.process = subprocess.Popen(['./neuron', '--log'], cwd='build/')
return self.process
def Stop_Neuron(self, remove_persistence_data=True):
if self.profiler_process is not None:
# wait for plotting
time.sleep(5)
self.process.kill()
if remove_persistence_data:
os.system("rm build/persistence/sqlite.db")
prepare_persistence_dir()
def End_Neuron(self, process):
process.kill()
def Remove_Persistence(self):
os.system("rm build/persistence/sqlite.db")
prepare_persistence_dir()
def Profile_Neuron(self, interval, result_dir):
cmd = [
'psrecord', str(self.process.pid),
'--interval', str(interval),
'--plot', result_dir + '/cpu_mem.svg'
]
self.profiler_process = subprocess.Popen(cmd)
class Tool(object):
def __init__(self):
pass
def Array_Len(self, array):
return len(array)
class Plugin(object):
def __init__(self):
pass
def Get_Plugin_By_Name(self, splugins, name):
for plugin in splugins:
if plugin['name'] == name:
return plugin['id']
return 0
def Plugin_With_Name_Sholud_Exist(self, splugins, name):
assert 0 != self.Get_Plugin_By_Name(splugins, name)
def Plugin_With_Name_Should_Not_Exist(self, splugins, name):
assert 0 == self.Get_Plugin_By_Name(splugins, name)
class GrpConfig(object):
def __init__(self):
pass
def Get_Interval_In_Group_Config(self, gconfigs, gname):
for gconfig in gconfigs[0]:
if gconfig['name'] == gname:
return gconfig['interval']
return 0
def Group_Config_Size(self, gconfigs):
size = 0
for gconfig in gconfigs[0]:
size = size + 1
return size
def Get_Random_Group_Config(self, gconfigs):
return random.choice(gconfigs)['name']
def Group_Config_Check(self, gconfigs, name, interval):
ret = -1
for gconfig in gconfigs:
if gconfig['name'] == name:
if gconfig['interval'] == int(interval):
ret = 0
break
return ret
def Get_Group_Config_By_Name(self, sgconfigs, name):
for gconfig in sgconfigs:
if gconfig['name'] == name:
return gconfig['name']
return 0
class Node(object):
def __init__(self):
pass
def Get_Node_By_Name(self, snodes, name):
for node in snodes:
if node['name'] == name:
return True
return False
def Node_Should_Exist(self, snodes, name):
assert True == self.Get_Node_By_Name(snodes, name)
def Node_Should_Not_Exist(self, snodes, name):
assert False == self.Get_Node_By_Name(snodes, name)
def Node_With_Name_Should_Not_Exist(self, snodes, name):
assert 0 == self.Get_Node_By_Name(snodes, name)
def Get_Random_Node(self, snodes):
return random.choice(snodes)['id']
class Tag(object):
def __init__(self):
pass
def Tag_Check(self, tags, name, type, group_config_name, attribute, address):
ret = -1
for tag in tags:
if tag['name'] == name:
if tag['type'] == int(type) and tag['group_config_name'] == group_config_name and tag['attribute'] == int(attribute) and tag['address'] == address:
ret = 0
break
return ret
def Tag_Find_By_Name(self, tags, name):
for tag in tags:
if tag['name'] == name:
return tag
return None
class Subscribe(object):
def __init__(self):
pass
def Subscribe_Check(self, groups, node_id, group_config_name):
ret = -1
for group in groups:
if group['node_id'] == int(node_id) and group['group_config_name'] == group_config_name:
ret = 0
break
return ret
class Read(object):
def __init__(self):
pass
def Compare_Tag_Value_Bool(self, tags, name, value):
ret = -1
for tag in tags:
if tag['name'] == name:
if isinstance(value, str):
if (tag['value'] == False and value.lower() == "false" or
tag['value'] == True and value.lower() == "true"):
ret = 0
elif tag['value'] == int(value):
ret = 0
break
return ret
def Compare_Tag_Value_Int(self, tags, name, value):
ret = -1
for tag in tags:
if tag['name'] == name:
if int(tag['value']) == int(value):
ret = 0
break
return ret
def Compare_Tag_Value_Float(self, tags, name, value):
ret = -1
for tag in tags:
if tag['name'] == name:
if float(tag['value']) <= float(value) + 0.1 and float(tag['value']) >= float(value) - 0.1:
ret = 0
break
return ret
def Compare_Tag_Value_String(self, tags, name, value):
ret = -1
for tag in tags:
if tag['name'] == name:
if tag['value'] == str(value):
ret = 0
break
return ret
def Compare_Tag_Value_Strings(self, tags, name, value):
ret = -1
for tag in tags:
if tag['name'] == name:
if "\"" + tag['value'] + "\"" == str(value):
ret = 0
break
return ret
def Check_Tag_Error(self, tags, name, value):
ret = -1
for tag in tags:
if tag['name'] == name:
if int(tag['error']) == int(value):
ret = 0
break
return ret
-35
View File
@@ -1,35 +0,0 @@
# Functional test
Functional testing uses the robotframework automated testing framework, providing templates for each test case of the northbound APP and southbound DRIVER types.
Testing is divided into the following categories.
|Test case|Description|
|-----|----------|
|Core interface test|Mainly including the addition, deletion, modification, query, subscription, and other operations of the HTTP API interface for core data(PLUGIN, NODE, GROUP, TAG)|
|Southbound DRIVER test||
|Northbound APP test||
|Plugin specific test case|Such as OPC UA specific device discovery, can different devices be connected normally|
To run all functional testers
Enter the neuron/build directory.
Install Mosquito software.
```shell
$ sudo apt-get install -y mosquitto
```
Start the mosquitto server.
```shell
$ mosquitto -v &
```
Install requirements.
```shell
$ python3 -m pip install -U pip
$ python3 -m pip install -r ft/requirements.txt
```
Run functional tests and generate test reports.
```shell
$ python3 -m robot --maxerroelines=600 -P ft/ -d ft/reports ft
```
@@ -1,10 +0,0 @@
{
"nodes": [
{
"type": 1,
"plugin_name": "modbus-tcp",
"name": "modbus-tcp-0000",
"state": 1
}
]
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0000",
"adapter_name": "modbus-tcp-0000"
}
@@ -1,7 +0,0 @@
{
"params": {
"host": "127.0.0.1",
"port": 60502,
"connection_mode": 0
}
}
@@ -1,11 +0,0 @@
{
"params": {
"req-topic": "Neuron/req",
"res-topic": "Neuron/resp",
"ssl": "false",
"host": "127.0.0.1",
"port": 1883,
"username": "",
"password": ""
}
}
@@ -1,10 +0,0 @@
{
"subscriptions": [
{
"sub_adapter_name": "mqtt-0000",
"group_config_name": "group-0000",
"src_adapter_name": "modbus-tcp-0000",
"read_interval": 1000
}
]
}
@@ -1,3 +0,0 @@
{
"plugins": []
}
@@ -1,10 +0,0 @@
{
"nodes": [
{
"type": 1,
"plugin_name": "modbus-tcp",
"name": "modbus-tcp-0000",
"state": 1
}
]
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0000",
"adapter_name": "modbus-tcp-0000"
}
@@ -1,7 +0,0 @@
{
"params": {
"host": "127.0.0.1",
"port": 60502,
"connection_mode": 0
}
}
@@ -1,11 +0,0 @@
{
"params": {
"req-topic": "Neuron/req",
"res-topic": "Neuron/resp",
"ssl": "false",
"host": "127.0.0.1",
"port": 1883,
"username": "",
"password": ""
}
}
@@ -1,10 +0,0 @@
{
"subscriptions": [
{
"sub_adapter_name": "mqtt-0000",
"group_config_name": "group-0000",
"src_adapter_name": "modbus-tcp-0000",
"read_interval": 1000
}
]
}
@@ -1,3 +0,0 @@
{
"plugins": []
}
-124
View File
@@ -1,124 +0,0 @@
{
"nodes": [
{
"type": 1,
"plugin_name": "modbus-tcp",
"name": "modbus-tcp-0000",
"state": 1
},
{
"type": 1,
"plugin_name": "modbus-tcp",
"name": "modbus-tcp-0001",
"state": 1
},
{
"type": 1,
"plugin_name": "modbus-tcp",
"name": "modbus-tcp-0002",
"state": 1
},
{
"type": 1,
"plugin_name": "modbus-tcp",
"name": "modbus-tcp-0003",
"state": 1
},
{
"type": 1,
"plugin_name": "modbus-tcp",
"name": "modbus-tcp-0004",
"state": 1
},
{
"type": 1,
"plugin_name": "modbus-tcp",
"name": "modbus-tcp-0005",
"state": 1
},
{
"type": 1,
"plugin_name": "modbus-tcp",
"name": "modbus-tcp-0006",
"state": 1
},
{
"type": 1,
"plugin_name": "modbus-tcp",
"name": "modbus-tcp-0007",
"state": 1
},
{
"type": 1,
"plugin_name": "modbus-tcp",
"name": "modbus-tcp-0008",
"state": 1
},
{
"type": 1,
"plugin_name": "modbus-tcp",
"name": "modbus-tcp-0009",
"state": 1
},
{
"type": 1,
"plugin_name": "neuron-opcua-plugin",
"name": "opcua-0000",
"state": 1
},
{
"type": 1,
"plugin_name": "neuron-opcua-plugin",
"name": "opcua-0001",
"state": 1
},
{
"type": 1,
"plugin_name": "neuron-opcua-plugin",
"name": "opcua-0002",
"state": 1
},
{
"type": 1,
"plugin_name": "neuron-opcua-plugin",
"name": "opcua-0003",
"state": 1
},
{
"type": 1,
"plugin_name": "neuron-opcua-plugin",
"name": "opcua-0004",
"state": 1
},
{
"type": 1,
"plugin_name": "neuron-opcua-plugin",
"name": "opcua-0005",
"state": 1
},
{
"type": 1,
"plugin_name": "neuron-opcua-plugin",
"name": "opcua-0006",
"state": 1
},
{
"type": 1,
"plugin_name": "neuron-opcua-plugin",
"name": "opcua-0007",
"state": 1
},
{
"type": 1,
"plugin_name": "neuron-opcua-plugin",
"name": "opcua-0008",
"state": 1
},
{
"type": 1,
"plugin_name": "neuron-opcua-plugin",
"name": "opcua-0009",
"state": 1
}
]
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0000",
"adapter_name": "modbus-tcp-0000"
}
@@ -1,604 +0,0 @@
{
"tags": [
{
"type": 4,
"name": "modbus1",
"attribute": 3,
"address": "1!400001"
},
{
"type": 4,
"name": "modbus2",
"attribute": 3,
"address": "1!400002"
},
{
"type": 4,
"name": "modbus3",
"attribute": 3,
"address": "1!400003"
},
{
"type": 4,
"name": "modbus4",
"attribute": 3,
"address": "1!400004"
},
{
"type": 4,
"name": "modbus5",
"attribute": 3,
"address": "1!400005"
},
{
"type": 4,
"name": "modbus6",
"attribute": 3,
"address": "1!400006"
},
{
"type": 4,
"name": "modbus7",
"attribute": 3,
"address": "1!400007"
},
{
"type": 4,
"name": "modbus8",
"attribute": 3,
"address": "1!400008"
},
{
"type": 4,
"name": "modbus9",
"attribute": 3,
"address": "1!400009"
},
{
"type": 4,
"name": "modbus10",
"attribute": 3,
"address": "1!400010"
},
{
"type": 4,
"name": "modbus11",
"attribute": 3,
"address": "1!400011"
},
{
"type": 4,
"name": "modbus12",
"attribute": 3,
"address": "1!400012"
},
{
"type": 4,
"name": "modbus13",
"attribute": 3,
"address": "1!400013"
},
{
"type": 4,
"name": "modbus14",
"attribute": 3,
"address": "1!400014"
},
{
"type": 4,
"name": "modbus15",
"attribute": 3,
"address": "1!400015"
},
{
"type": 4,
"name": "modbus16",
"attribute": 3,
"address": "1!400016"
},
{
"type": 4,
"name": "modbus17",
"attribute": 3,
"address": "1!400017"
},
{
"type": 4,
"name": "modbus18",
"attribute": 3,
"address": "1!400018"
},
{
"type": 4,
"name": "modbus19",
"attribute": 3,
"address": "1!400019"
},
{
"type": 4,
"name": "modbus20",
"attribute": 3,
"address": "1!400020"
},
{
"type": 4,
"name": "modbus21",
"attribute": 3,
"address": "1!400021"
},
{
"type": 4,
"name": "modbus22",
"attribute": 3,
"address": "1!400022"
},
{
"type": 4,
"name": "modbus23",
"attribute": 3,
"address": "1!400023"
},
{
"type": 4,
"name": "modbus24",
"attribute": 3,
"address": "1!400024"
},
{
"type": 4,
"name": "modbus25",
"attribute": 3,
"address": "1!400025"
},
{
"type": 4,
"name": "modbus26",
"attribute": 3,
"address": "1!400026"
},
{
"type": 4,
"name": "modbus27",
"attribute": 3,
"address": "1!400027"
},
{
"type": 4,
"name": "modbus28",
"attribute": 3,
"address": "1!400028"
},
{
"type": 4,
"name": "modbus29",
"attribute": 3,
"address": "1!400029"
},
{
"type": 4,
"name": "modbus30",
"attribute": 3,
"address": "1!400030"
},
{
"type": 4,
"name": "modbus31",
"attribute": 3,
"address": "1!400031"
},
{
"type": 4,
"name": "modbus32",
"attribute": 3,
"address": "1!400032"
},
{
"type": 4,
"name": "modbus33",
"attribute": 3,
"address": "1!400033"
},
{
"type": 4,
"name": "modbus34",
"attribute": 3,
"address": "1!400034"
},
{
"type": 4,
"name": "modbus35",
"attribute": 3,
"address": "1!400035"
},
{
"type": 4,
"name": "modbus36",
"attribute": 3,
"address": "1!400036"
},
{
"type": 4,
"name": "modbus37",
"attribute": 3,
"address": "1!400037"
},
{
"type": 4,
"name": "modbus38",
"attribute": 3,
"address": "1!400038"
},
{
"type": 4,
"name": "modbus39",
"attribute": 3,
"address": "1!400039"
},
{
"type": 4,
"name": "modbus40",
"attribute": 3,
"address": "1!400040"
},
{
"type": 4,
"name": "modbus41",
"attribute": 3,
"address": "1!400041"
},
{
"type": 4,
"name": "modbus42",
"attribute": 3,
"address": "1!400042"
},
{
"type": 4,
"name": "modbus43",
"attribute": 3,
"address": "1!400043"
},
{
"type": 4,
"name": "modbus44",
"attribute": 3,
"address": "1!400044"
},
{
"type": 4,
"name": "modbus45",
"attribute": 3,
"address": "1!400045"
},
{
"type": 4,
"name": "modbus46",
"attribute": 3,
"address": "1!400046"
},
{
"type": 4,
"name": "modbus47",
"attribute": 3,
"address": "1!400047"
},
{
"type": 4,
"name": "modbus48",
"attribute": 3,
"address": "1!400048"
},
{
"type": 4,
"name": "modbus49",
"attribute": 3,
"address": "1!400049"
},
{
"type": 4,
"name": "modbus50",
"attribute": 3,
"address": "1!400050"
},
{
"type": 4,
"name": "modbus51",
"attribute": 3,
"address": "1!400051"
},
{
"type": 4,
"name": "modbus52",
"attribute": 3,
"address": "1!400052"
},
{
"type": 4,
"name": "modbus53",
"attribute": 3,
"address": "1!400053"
},
{
"type": 4,
"name": "modbus54",
"attribute": 3,
"address": "1!400054"
},
{
"type": 4,
"name": "modbus55",
"attribute": 3,
"address": "1!400055"
},
{
"type": 4,
"name": "modbus56",
"attribute": 3,
"address": "1!400056"
},
{
"type": 4,
"name": "modbus57",
"attribute": 3,
"address": "1!400057"
},
{
"type": 4,
"name": "modbus58",
"attribute": 3,
"address": "1!400058"
},
{
"type": 4,
"name": "modbus59",
"attribute": 3,
"address": "1!400059"
},
{
"type": 4,
"name": "modbus60",
"attribute": 3,
"address": "1!400060"
},
{
"type": 4,
"name": "modbus61",
"attribute": 3,
"address": "1!400061"
},
{
"type": 4,
"name": "modbus62",
"attribute": 3,
"address": "1!400062"
},
{
"type": 4,
"name": "modbus63",
"attribute": 3,
"address": "1!400063"
},
{
"type": 4,
"name": "modbus64",
"attribute": 3,
"address": "1!400064"
},
{
"type": 4,
"name": "modbus65",
"attribute": 3,
"address": "1!400065"
},
{
"type": 4,
"name": "modbus66",
"attribute": 3,
"address": "1!400066"
},
{
"type": 4,
"name": "modbus67",
"attribute": 3,
"address": "1!400067"
},
{
"type": 4,
"name": "modbus68",
"attribute": 3,
"address": "1!400068"
},
{
"type": 4,
"name": "modbus69",
"attribute": 3,
"address": "1!400069"
},
{
"type": 4,
"name": "modbus70",
"attribute": 3,
"address": "1!400070"
},
{
"type": 4,
"name": "modbus71",
"attribute": 3,
"address": "1!400071"
},
{
"type": 4,
"name": "modbus72",
"attribute": 3,
"address": "1!400072"
},
{
"type": 4,
"name": "modbus73",
"attribute": 3,
"address": "1!400073"
},
{
"type": 4,
"name": "modbus74",
"attribute": 3,
"address": "1!400074"
},
{
"type": 4,
"name": "modbus75",
"attribute": 3,
"address": "1!400075"
},
{
"type": 4,
"name": "modbus76",
"attribute": 3,
"address": "1!400076"
},
{
"type": 4,
"name": "modbus77",
"attribute": 3,
"address": "1!400077"
},
{
"type": 4,
"name": "modbus78",
"attribute": 3,
"address": "1!400078"
},
{
"type": 4,
"name": "modbus79",
"attribute": 3,
"address": "1!400079"
},
{
"type": 4,
"name": "modbus80",
"attribute": 3,
"address": "1!400080"
},
{
"type": 4,
"name": "modbus81",
"attribute": 3,
"address": "1!400081"
},
{
"type": 4,
"name": "modbus82",
"attribute": 3,
"address": "1!400082"
},
{
"type": 4,
"name": "modbus83",
"attribute": 3,
"address": "1!400083"
},
{
"type": 4,
"name": "modbus84",
"attribute": 3,
"address": "1!400084"
},
{
"type": 4,
"name": "modbus85",
"attribute": 3,
"address": "1!400085"
},
{
"type": 4,
"name": "modbus86",
"attribute": 3,
"address": "1!400086"
},
{
"type": 4,
"name": "modbus87",
"attribute": 3,
"address": "1!400087"
},
{
"type": 4,
"name": "modbus88",
"attribute": 3,
"address": "1!400088"
},
{
"type": 4,
"name": "modbus89",
"attribute": 3,
"address": "1!400089"
},
{
"type": 4,
"name": "modbus90",
"attribute": 3,
"address": "1!400090"
},
{
"type": 4,
"name": "modbus91",
"attribute": 3,
"address": "1!400091"
},
{
"type": 4,
"name": "modbus92",
"attribute": 3,
"address": "1!400092"
},
{
"type": 4,
"name": "modbus93",
"attribute": 3,
"address": "1!400093"
},
{
"type": 4,
"name": "modbus94",
"attribute": 3,
"address": "1!400094"
},
{
"type": 4,
"name": "modbus95",
"attribute": 3,
"address": "1!400095"
},
{
"type": 4,
"name": "modbus96",
"attribute": 3,
"address": "1!400096"
},
{
"type": 4,
"name": "modbus97",
"attribute": 3,
"address": "1!400097"
},
{
"type": 4,
"name": "modbus98",
"attribute": 3,
"address": "1!400098"
},
{
"type": 4,
"name": "modbus99",
"attribute": 3,
"address": "1!400099"
},
{
"type": 4,
"name": "modbus100",
"attribute": 3,
"address": "1!400100"
}
]
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0001",
"adapter_name": "modbus-tcp-0000"
}
@@ -1,604 +0,0 @@
{
"tags": [
{
"type": 4,
"name": "modbus101",
"attribute": 3,
"address": "1!400101"
},
{
"type": 4,
"name": "modbus102",
"attribute": 3,
"address": "1!400102"
},
{
"type": 4,
"name": "modbus103",
"attribute": 3,
"address": "1!400103"
},
{
"type": 4,
"name": "modbus104",
"attribute": 3,
"address": "1!400104"
},
{
"type": 4,
"name": "modbus105",
"attribute": 3,
"address": "1!400105"
},
{
"type": 4,
"name": "modbus106",
"attribute": 3,
"address": "1!400106"
},
{
"type": 4,
"name": "modbus107",
"attribute": 3,
"address": "1!400107"
},
{
"type": 4,
"name": "modbus108",
"attribute": 3,
"address": "1!400108"
},
{
"type": 4,
"name": "modbus109",
"attribute": 3,
"address": "1!400109"
},
{
"type": 4,
"name": "modbus110",
"attribute": 3,
"address": "1!400110"
},
{
"type": 4,
"name": "modbus111",
"attribute": 3,
"address": "1!400111"
},
{
"type": 4,
"name": "modbus112",
"attribute": 3,
"address": "1!400112"
},
{
"type": 4,
"name": "modbus113",
"attribute": 3,
"address": "1!400113"
},
{
"type": 4,
"name": "modbus114",
"attribute": 3,
"address": "1!400114"
},
{
"type": 4,
"name": "modbus115",
"attribute": 3,
"address": "1!400115"
},
{
"type": 4,
"name": "modbus116",
"attribute": 3,
"address": "1!400116"
},
{
"type": 4,
"name": "modbus117",
"attribute": 3,
"address": "1!400117"
},
{
"type": 4,
"name": "modbus118",
"attribute": 3,
"address": "1!400118"
},
{
"type": 4,
"name": "modbus119",
"attribute": 3,
"address": "1!400119"
},
{
"type": 4,
"name": "modbus120",
"attribute": 3,
"address": "1!400120"
},
{
"type": 4,
"name": "modbus121",
"attribute": 3,
"address": "1!400121"
},
{
"type": 4,
"name": "modbus122",
"attribute": 3,
"address": "1!400122"
},
{
"type": 4,
"name": "modbus123",
"attribute": 3,
"address": "1!400123"
},
{
"type": 4,
"name": "modbus124",
"attribute": 3,
"address": "1!400124"
},
{
"type": 4,
"name": "modbus125",
"attribute": 3,
"address": "1!400125"
},
{
"type": 4,
"name": "modbus126",
"attribute": 3,
"address": "1!400126"
},
{
"type": 4,
"name": "modbus127",
"attribute": 3,
"address": "1!400127"
},
{
"type": 4,
"name": "modbus128",
"attribute": 3,
"address": "1!400128"
},
{
"type": 4,
"name": "modbus129",
"attribute": 3,
"address": "1!400129"
},
{
"type": 4,
"name": "modbus130",
"attribute": 3,
"address": "1!400130"
},
{
"type": 4,
"name": "modbus131",
"attribute": 3,
"address": "1!400131"
},
{
"type": 4,
"name": "modbus132",
"attribute": 3,
"address": "1!400132"
},
{
"type": 4,
"name": "modbus133",
"attribute": 3,
"address": "1!400133"
},
{
"type": 4,
"name": "modbus134",
"attribute": 3,
"address": "1!400134"
},
{
"type": 4,
"name": "modbus135",
"attribute": 3,
"address": "1!400135"
},
{
"type": 4,
"name": "modbus136",
"attribute": 3,
"address": "1!400136"
},
{
"type": 4,
"name": "modbus137",
"attribute": 3,
"address": "1!400137"
},
{
"type": 4,
"name": "modbus138",
"attribute": 3,
"address": "1!400138"
},
{
"type": 4,
"name": "modbus139",
"attribute": 3,
"address": "1!400139"
},
{
"type": 4,
"name": "modbus140",
"attribute": 3,
"address": "1!400140"
},
{
"type": 4,
"name": "modbus141",
"attribute": 3,
"address": "1!400141"
},
{
"type": 4,
"name": "modbus142",
"attribute": 3,
"address": "1!400142"
},
{
"type": 4,
"name": "modbus143",
"attribute": 3,
"address": "1!400143"
},
{
"type": 4,
"name": "modbus144",
"attribute": 3,
"address": "1!400144"
},
{
"type": 4,
"name": "modbus145",
"attribute": 3,
"address": "1!400145"
},
{
"type": 4,
"name": "modbus146",
"attribute": 3,
"address": "1!400146"
},
{
"type": 4,
"name": "modbus147",
"attribute": 3,
"address": "1!400147"
},
{
"type": 4,
"name": "modbus148",
"attribute": 3,
"address": "1!400148"
},
{
"type": 4,
"name": "modbus149",
"attribute": 3,
"address": "1!400149"
},
{
"type": 4,
"name": "modbus150",
"attribute": 3,
"address": "1!400150"
},
{
"type": 4,
"name": "modbus151",
"attribute": 3,
"address": "1!400151"
},
{
"type": 4,
"name": "modbus152",
"attribute": 3,
"address": "1!400152"
},
{
"type": 4,
"name": "modbus153",
"attribute": 3,
"address": "1!400153"
},
{
"type": 4,
"name": "modbus154",
"attribute": 3,
"address": "1!400154"
},
{
"type": 4,
"name": "modbus155",
"attribute": 3,
"address": "1!400155"
},
{
"type": 4,
"name": "modbus156",
"attribute": 3,
"address": "1!400156"
},
{
"type": 4,
"name": "modbus157",
"attribute": 3,
"address": "1!400157"
},
{
"type": 4,
"name": "modbus158",
"attribute": 3,
"address": "1!400158"
},
{
"type": 4,
"name": "modbus159",
"attribute": 3,
"address": "1!400159"
},
{
"type": 4,
"name": "modbus160",
"attribute": 3,
"address": "1!400160"
},
{
"type": 4,
"name": "modbus161",
"attribute": 3,
"address": "1!400161"
},
{
"type": 4,
"name": "modbus162",
"attribute": 3,
"address": "1!400162"
},
{
"type": 4,
"name": "modbus163",
"attribute": 3,
"address": "1!400163"
},
{
"type": 4,
"name": "modbus164",
"attribute": 3,
"address": "1!400164"
},
{
"type": 4,
"name": "modbus165",
"attribute": 3,
"address": "1!400165"
},
{
"type": 4,
"name": "modbus166",
"attribute": 3,
"address": "1!400166"
},
{
"type": 4,
"name": "modbus167",
"attribute": 3,
"address": "1!400167"
},
{
"type": 4,
"name": "modbus168",
"attribute": 3,
"address": "1!400168"
},
{
"type": 4,
"name": "modbus169",
"attribute": 3,
"address": "1!400169"
},
{
"type": 4,
"name": "modbus170",
"attribute": 3,
"address": "1!400170"
},
{
"type": 4,
"name": "modbus171",
"attribute": 3,
"address": "1!400171"
},
{
"type": 4,
"name": "modbus172",
"attribute": 3,
"address": "1!400172"
},
{
"type": 4,
"name": "modbus173",
"attribute": 3,
"address": "1!400173"
},
{
"type": 4,
"name": "modbus174",
"attribute": 3,
"address": "1!400174"
},
{
"type": 4,
"name": "modbus175",
"attribute": 3,
"address": "1!400175"
},
{
"type": 4,
"name": "modbus176",
"attribute": 3,
"address": "1!400176"
},
{
"type": 4,
"name": "modbus177",
"attribute": 3,
"address": "1!400177"
},
{
"type": 4,
"name": "modbus178",
"attribute": 3,
"address": "1!400178"
},
{
"type": 4,
"name": "modbus179",
"attribute": 3,
"address": "1!400179"
},
{
"type": 4,
"name": "modbus180",
"attribute": 3,
"address": "1!400180"
},
{
"type": 4,
"name": "modbus181",
"attribute": 3,
"address": "1!400181"
},
{
"type": 4,
"name": "modbus182",
"attribute": 3,
"address": "1!400182"
},
{
"type": 4,
"name": "modbus183",
"attribute": 3,
"address": "1!400183"
},
{
"type": 4,
"name": "modbus184",
"attribute": 3,
"address": "1!400184"
},
{
"type": 4,
"name": "modbus185",
"attribute": 3,
"address": "1!400185"
},
{
"type": 4,
"name": "modbus186",
"attribute": 3,
"address": "1!400186"
},
{
"type": 4,
"name": "modbus187",
"attribute": 3,
"address": "1!400187"
},
{
"type": 4,
"name": "modbus188",
"attribute": 3,
"address": "1!400188"
},
{
"type": 4,
"name": "modbus189",
"attribute": 3,
"address": "1!400189"
},
{
"type": 4,
"name": "modbus190",
"attribute": 3,
"address": "1!400190"
},
{
"type": 4,
"name": "modbus191",
"attribute": 3,
"address": "1!400191"
},
{
"type": 4,
"name": "modbus192",
"attribute": 3,
"address": "1!400192"
},
{
"type": 4,
"name": "modbus193",
"attribute": 3,
"address": "1!400193"
},
{
"type": 4,
"name": "modbus194",
"attribute": 3,
"address": "1!400194"
},
{
"type": 4,
"name": "modbus195",
"attribute": 3,
"address": "1!400195"
},
{
"type": 4,
"name": "modbus196",
"attribute": 3,
"address": "1!400196"
},
{
"type": 4,
"name": "modbus197",
"attribute": 3,
"address": "1!400197"
},
{
"type": 4,
"name": "modbus198",
"attribute": 3,
"address": "1!400198"
},
{
"type": 4,
"name": "modbus199",
"attribute": 3,
"address": "1!400199"
},
{
"type": 4,
"name": "modbus200",
"attribute": 3,
"address": "1!400200"
}
]
}
@@ -1,7 +0,0 @@
{
"params": {
"host":"127.0.0.1",
"port":60502,
"connection_mode":0
}
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0000",
"adapter_name": "modbus-tcp-0001"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0001",
"adapter_name": "modbus-tcp-0001"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0002",
"adapter_name": "modbus-tcp-0001"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0003",
"adapter_name": "modbus-tcp-0001"
}
@@ -1,7 +0,0 @@
{
"params": {
"host":"127.0.0.1",
"port":60502,
"connection_mode":0
}
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0000",
"adapter_name": "modbus-tcp-0002"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0001",
"adapter_name": "modbus-tcp-0002"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0002",
"adapter_name": "modbus-tcp-0002"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0003",
"adapter_name": "modbus-tcp-0002"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0004",
"adapter_name": "modbus-tcp-0002"
}
@@ -1,7 +0,0 @@
{
"params": {
"host":"127.0.0.1",
"port":60502,
"connection_mode":0
}
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0000",
"adapter_name": "modbus-tcp-0003"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0001",
"adapter_name": "modbus-tcp-0003"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0002",
"adapter_name": "modbus-tcp-0003"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0003",
"adapter_name": "modbus-tcp-0003"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0004",
"adapter_name": "modbus-tcp-0003"
}
@@ -1,7 +0,0 @@
{
"params": {
"host":"127.0.0.1",
"port":60502,
"connection_mode":0
}
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0000",
"adapter_name": "modbus-tcp-0004"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0001",
"adapter_name": "modbus-tcp-0004"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0002",
"adapter_name": "modbus-tcp-0004"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0003",
"adapter_name": "modbus-tcp-0004"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0004",
"adapter_name": "modbus-tcp-0004"
}
@@ -1,7 +0,0 @@
{
"params": {
"host":"127.0.0.1",
"port":60502,
"connection_mode":0
}
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0000",
"adapter_name": "modbus-tcp-0005"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0001",
"adapter_name": "modbus-tcp-0005"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0002",
"adapter_name": "modbus-tcp-0005"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0003",
"adapter_name": "modbus-tcp-0005"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0004",
"adapter_name": "modbus-tcp-0005"
}
@@ -1,7 +0,0 @@
{
"params": {
"host":"127.0.0.1",
"port":60502,
"connection_mode":0
}
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0000",
"adapter_name": "modbus-tcp-0006"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0001",
"adapter_name": "modbus-tcp-0006"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0002",
"adapter_name": "modbus-tcp-0006"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0003",
"adapter_name": "modbus-tcp-0006"
}
@@ -1,5 +0,0 @@
{
"read_interval": 1000,
"group_config_name": "group-0004",
"adapter_name": "modbus-tcp-0006"
}
@@ -1,7 +0,0 @@
{
"params": {
"host":"127.0.0.1",
"port":60502,
"connection_mode":0
}
}

Some files were not shown because too many files have changed in this diff Show More