braindead1 / iobroker.robonect Goto Github PK
View Code? Open in Web Editor NEWThis project forked from sthufnagl/iobroker.robonect
ioBroker.robonect is an ioBroker adapter for your Robonect HX enabled lawn mower.
License: MIT License
This project forked from sthufnagl/iobroker.robonect
ioBroker.robonect is an ioBroker adapter for your Robonect HX enabled lawn mower.
License: MIT License
Describe the idea
Due to the habit of the lawn mowers to beep while requesting some information from the API, it would be good to implement idle times. In this time the adapter should not call the API.
`
robonect.0 | 2021-10-18 14:18:00.020 | debug | (19013) API call /json?cmd=weather done |
---|---|---|---|
robonect.0 | 2021-10-18 14:17:59.942 | debug | (19013) API call /json?cmd=weather started |
robonect.0 | 2021-10-18 14:17:59.942 | debug | (19013) API call /json?cmd=version done |
robonect.0 | 2021-10-18 14:17:59.942 | error | (19013) Error: JSON not valid |
robonect.0 | 2021-10-18 14:17:49.859 | debug | (19013) API call /json?cmd=version started |
robonect.0 | 2021-10-18 14:17:49.859 | debug | (19013) API call /json?cmd=timer done |
robonect.0 | 2021-10-18 14:17:49.585 | debug | (19013) API call /json?cmd=timer started |
robonect.0 | 2021-10-18 14:17:49.584 | debug | (19013) API call /json?cmd=push done |
robonect.0 | 2021-10-18 14:17:49.499 | debug | (19013) API call /json?cmd=push started |
robonect.0 | 2021-10-18 14:17:49.499 | debug | (19013) API call /json?cmd=motor done |
robonect.0 | 2021-10-18 14:17:49.498 | error | (19013) Error: JSON not valid |
robonect.0 | 2021-10-18 14:17:39.464 | debug | (19013) API call /json?cmd=motor started |
robonect.0 | 2021-10-18 14:17:39.464 | debug | (19013) API call /json?cmd=hour done |
robonect.0 | 2021-10-18 14:17:39.461 | error | (19013) Error: JSON not valid |
robonect.0 | 2021-10-18 14:17:29.379 | debug | (19013) API call /json?cmd=hour started |
robonect.0 | 2021-10-18 14:17:29.379 | debug | (19013) API call /json?cmd=ext done |
robonect.0 | 2021-10-18 14:17:29.327 | debug | (19013) API call /json?cmd=ext started |
robonect.0 | 2021-10-18 14:17:29.327 | debug | (19013) API call /json?cmd=error done |
robonect.0 | 2021-10-18 14:17:29.326 | error | (19013) Error: JSON not valid |
robonect.0 | 2021-10-18 14:17:19.291 | debug | (19013) API call /json?cmd=error started |
robonect.0 | 2021-10-18 14:17:19.290 | debug | (19013) API call /json?cmd=battery done |
robonect.0 | 2021-10-18 14:17:19.290 | error | (19013) Error: JSON not valid |
robonect.0 | 2021-10-18 14:17:09.207 | debug | (19013) API call /json?cmd=battery started |
robonect.0 | 2021-10-18 14:17:09.206 | debug | (19013) doRegularPoll: false |
robonect.0 | 2021-10-18 14:17:09.206 | debug | (19013) currentStatus: 17 |
Aktuell kann man in der Adapter Konfiguration nur eine IP Adresse, bzw. einen Hostnamen mit einer begrenzten Anzahl an Zeichen einstellen. Hier wäre es schön wenn man auch einen FQDN eintragen kann, z.B. robonect.mein-heim-netzwerk.de
The info message "Polling done" is constantly logged in the IoBroker log file, e.g. every minute what is the default configuration.
This will fill the log file very soon, so that other log messages are almost invisible or even swapped out.
Suggestion: Make this logging configurable or even easier: change the log level from this.log.info('Polling done') to this.log.debug('Polling done');
Although the mower is offline, the mower is displayed as online in the iobroker object.
LOG:
2021-01-24 11:12:46.764 - ^[[31merror^[[39m: robonect.0 (27662) No connection to lawn mower. Check network connection.
2021-01-24 11:12:46.768 - ^[[31merror^[[39m: robonect.0 (27662) No connection to lawn mower. Check network connection.
Beste Grüße
Holger
System-devil
Hallo braindead,
unter json?cmd=status gibt es auch den Status des Gargentors ("dooropen").
Könntest du das noch mit aufnehmen?
Desweiteren gibt es in der Web UI noch den ein oder anderen Schalter / Parameter dazu:
Allerdings: mit der 1.2 RC0 gibt es gerade dies bzgl. Probleme:
https://robonect.de/viewtopic.php?p=23695#p23695
Danke und Gruß
Thorsten
Hallo,
Mein Robonect HX hat die Version 1.1b
Ich kann keine Verbindung halten mit dem Adapter.
Die Werte sind kurz da, der Adapter wird aber sofort Rot und die Verbindung bricht ab.
Ich denke man muss den Adapter auf die neue Version updaten?
`
host.ioBroker-RasPi4 | 2019-11-17 21:38:43.771 | error | instance system.adapter.robonect.0 terminated with code 0 (OK) |
---|---|---|---|
host.ioBroker-RasPi4 | 2019-11-17 21:38:43.771 | error | Caught by controller[0]: at process._tickCallback (internal/process/next_tick.js:63:19) |
host.ioBroker-RasPi4 | 2019-11-17 21:38:43.771 | error | Caught by controller[0]: at endReadableNT (_stream_readable.js:1129:12) |
host.ioBroker-RasPi4 | 2019-11-17 21:38:43.771 | error | Caught by controller[0]: at IncomingMessage.emit (events.js:203:15) |
host.ioBroker-RasPi4 | 2019-11-17 21:38:43.771 | error | Caught by controller[0]: at Object.onceWrapper (events.js:286:20) |
host.ioBroker-RasPi4 | 2019-11-17 21:38:43.771 | error | Caught by controller[0]: at IncomingMessage. (/opt/iobroker/node_modules/iobroker.robonect/node_modules/request/request.js:1083:12) |
host.ioBroker-RasPi4 | 2019-11-17 21:38:43.771 | error | Caught by controller[0]: at Request.emit (events.js:198:13) |
host.ioBroker-RasPi4 | 2019-11-17 21:38:43.771 | error | Caught by controller[0]: at Request. (/opt/iobroker/node_modules/iobroker.robonect/node_modules/request/request.js:1161:10) |
host.ioBroker-RasPi4 | 2019-11-17 21:38:43.771 | error | Caught by controller[0]: at Request.emit (events.js:198:13) |
host.ioBroker-RasPi4 | 2019-11-17 21:38:43.771 | error | Caught by controller[0]: at Request.self.callback (/opt/iobroker/node_modules/iobroker.robonect/node_modules/request/request.js:185:22) |
host.ioBroker-RasPi4 | 2019-11-17 21:38:43.771 | error | Caught by controller[0]: at Request._callback (/opt/iobroker/node_modules/iobroker.robonect/lib/robonect.js:4071:77) |
host.ioBroker-RasPi4 | 2019-11-17 21:38:43.771 | error | Caught by controller[0]: TypeError: Cannot read property 'quality' of undefined |
robonect.0 | 2019-11-17 21:38:43.661 | error | Error: read ECONNRESET |
robonect.0 | 2019-11-17 21:38:43.659 | error | Error: read ECONNRESET |
robonect.0 | 2019-11-17 21:38:43.656 | error | Error: read ECONNRESET |
robonect.0 | 2019-11-17 21:38:43.655 | error | Error: read ECONNRESET |
robonect.0 | 2019-11-17 21:38:43.650 | error | Error: read ECONNRESET |
robonect.0 | 2019-11-17 21:38:43.649 | error | Error: read ECONNRESET |
robonect.0 | 2019-11-17 21:38:43.641 | error | Error: socket hang up |
robonect.0 | 2019-11-17 21:38:43.638 | error | Error: socket hang up |
`
Version: stable=0.1.3 (273 days old) => latest=0.1.4 (15 days old)
Installs: stable=302 (74.75%), latest=64 (15.84%), total=404
Click to edit
Hi, it looks like you are using @alcalzone/release-script
to manage your releases.
When updating to the latest version, you need to remove the following line from your .github/workflows/test-and-release.yml
if you want the releases to keep working:
deploy:
# Trigger this step only when a commit on master is tagged with a version number
if: |
contains(github.event.head_commit.message, '[skip ci]') == false &&
github.event_name == 'push' &&
- github.event.base_ref == 'refs/heads/master' &&
startsWith(github.ref, 'refs/tags/v')
It may also look like this one:
deploy:
# Trigger this step only when a commit on master is tagged with a version number
if: |
contains(github.event.head_commit.message, '[skip ci]') == false &&
github.event_name == 'push' &&
- github.event.base_ref == 'refs/heads/main' &&
startsWith(github.ref, 'refs/tags/v')
host.raspberrypi | 2020-03-17 14:29:31.644 | info | Restart adapter system.adapter.robonect.0 because enabled |
---|---|---|---|
host.raspberrypi | 2020-03-17 14:29:31.644 | info | instance system.adapter.robonect.0 terminated with code 0 (NO_ERROR) |
host.raspberrypi | 2020-03-17 14:29:31.644 | error | Caught by controller[0]: at process._tickCallback (internal/process/next_tick.js:63:19) |
host.raspberrypi | 2020-03-17 14:29:31.643 | error | Caught by controller[0]: at endReadableNT (_stream_readable.js:1145:12) |
host.raspberrypi | 2020-03-17 14:29:31.643 | error | Caught by controller[0]: at IncomingMessage.emit (events.js:203:15) |
host.raspberrypi | 2020-03-17 14:29:31.643 | error | Caught by controller[0]: at Object.onceWrapper (events.js:286:20) |
host.raspberrypi | 2020-03-17 14:29:31.643 | error | Caught by controller[0]: at IncomingMessage. (/opt/iobroker/node_modules/request/request.js:1076:12) |
host.raspberrypi | 2020-03-17 14:29:31.643 | error | Caught by controller[0]: at Request.emit (events.js:198:13) |
host.raspberrypi | 2020-03-17 14:29:31.643 | error | Caught by controller[0]: at Request. (/opt/iobroker/node_modules/request/request.js:1154:10) |
host.raspberrypi | 2020-03-17 14:29:31.642 | error | Caught by controller[0]: at Request.emit (events.js:198:13) |
host.raspberrypi | 2020-03-17 14:29:31.642 | error | Caught by controller[0]: at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22) |
host.raspberrypi | 2020-03-17 14:29:31.642 | error | Caught by controller[0]: at Request._callback (/opt/iobroker/node_modules/iobroker.robonect/lib/robonect.js:4192:81) |
host.raspberrypi | 2020-03-17 14:29:31.641 | error | Caught by controller[0]: TypeError: Cannot read property 'quality' of undefined |
robonect.0 | 2020-03-17 14:29:31.111 | info | (26848) Terminated (NO_ERROR): Without reason |
robonect.0 | 2020-03-17 14:29:31.110 | info | (26848) terminating |
robonect.0 | 2020-03-17 14:29:31.078 | info | (26848) cleaned everything up... |
robonect.0 | 2020-03-17 14:29:31.077 | error | (26848) TypeError: Cannot read property 'quality' of undefined at Request._callback (/opt/iobroker/node_modules/iobroker.robonect/lib/robonect.js:4192:81) at Request.self.callback (/opt/iobrok |
robonect.0 | 2020-03-17 14:29:31.076 | error | (26848) uncaught exception: Cannot read property 'quality' of undefined |
robonect.0 | 2020-03-17 14:29:30.967 | info | (26848) Done |
robonect.0 | 2020-03-17 14:29:30.820 | info | (26848) starting. Version 0.0.6 in /opt/iobroker/node_modules/iobroker.robonect, node: v10.19.0 |
Due to inactivity this adapter has been moved to https://github.com/Grizzelbee/ioBroker.robonect at ioBroker repositories
Please open new issues at this repository.
This repository is considered private / outdated now.
Hallo,
habe den Automover 430x. Der Adapter geht nur auf grün, wenn ich ihn neu starte.
Logfile sagt:
robonect.0 | 2021-04-03 19:57:26.485 | info | (28172) Terminated (NO_ERROR): Without reason |
---|---|---|---|
robonect.0 | 2021-04-03 19:57:26.484 | info | (28172) terminating |
robonect.0 | 2021-04-03 19:57:26.476 | info | (28172) cleaned everything up... |
robonect.0 | 2021-04-03 19:57:26.475 | error | (28172) TypeError: Cannot read property 'status' of undefined at Robonect. (/opt/iobroker/node_modules/iobroker.robonect/main.js:295:42) at runMicrotasks () at proces |
robonect.0 | 2021-04-03 19:57:26.474 | error | (28172) unhandled promise rejection: Cannot read property 'status' of undefined |
robonect.0 | 2021-04-03 19:57:26.473 | error | Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). |
robonect.0 | 2021-04-03 19:57:26.470 | error | (28172) Error: Error: Parse Error: Expected HTTP/ |
robonect.0 | 2021-04-03 19:57:26.395 | info | (28172) Done |
robonect.0 | 2021-04-03 19:57:23.458 | info | (28172) Rest period 2 not configured. Period will be ignored. |
robonect.0 | 2021-04-03 19:57:23.457 | info | (28172) Rest period 1 not configured. Period will be ignored. |
robonect.0 | 2021-04-03 19:57:23.423 | info | (28172) starting. Version 0.1.3 in /opt/iobroker/node_modules/iobroker.robonect, node: v12.21.0, js-controller: 3.1.6 |
Vielleicht kann jemand helfen.
Danke
2020-08-02 14:44:31.489 - error: robonect.0 (5567) Error: Error: connect ETIMEDOUT 192.168.171.67:80
2020-08-02 14:44:31.494 - error: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
2020-08-02 14:44:31.494 - error: robonect.0 (5567) unhandled promise rejection: Cannot read property 'status' of undefined
2020-08-02 14:44:31.496 - error: robonect.0 (5567) TypeError: Cannot read property 'status' of undefined
at Robonect. (/opt/iobroker/node_modules/iobroker.robonect/main.js:295:42)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:97:5)
2020-08-02 14:44:32.094 - info: host.usv instance system.adapter.robonect.0 terminated with code 0 (NO_ERROR)
2020-08-02 14:44:32.099 - info: host.usv Restart adapter system.adapter.robonect.0 because enabled
Describe the idea
According to https://forum.robonect.de/viewtopic.php?f=10&t=2535 some API calls are not or not fully implemented. The missing API calls should be implemented if they are useful in the adapter.
Hi,
I am trying to use your adapter with my H30X module on a Gardena R40li. There seems to be an exception thrown with ever poll:
`
host.Atom-NUC | 2019-04-28 09:56:32.681 | error | instance system.adapter.robonect.0 terminated with code 0 (OK) |
---|---|---|---|
Caught | 2019-04-28 09:56:32.681 | error | by controller[0]: at processTicksAndRejections (internal/process/next_tick.js:76:17) |
Caught | 2019-04-28 09:56:32.681 | error | by controller[0]: at endReadableNT (_stream_readable.js:1129:12) |
Caught | 2019-04-28 09:56:32.681 | error | by controller[0]: at IncomingMessage.emit (events.js:202:15) |
Caught | 2019-04-28 09:56:32.681 | error | by controller[0]: at Object.onceWrapper (events.js:285:13) |
Caught | 2019-04-28 09:56:32.681 | error | by controller[0]: at IncomingMessage. (/opt/iobroker/node_modules/iobroker.robonect/node_modules/request/request.js:1083:12) |
Caught | 2019-04-28 09:56:32.680 | error | by controller[0]: at Request.emit (events.js:197:13) |
Caught | 2019-04-28 09:56:32.680 | error | by controller[0]: at Request. (/opt/iobroker/node_modules/iobroker.robonect/node_modules/request/request.js:1161:10) |
Caught | 2019-04-28 09:56:32.680 | error | by controller[0]: at Request.emit (events.js:197:13) |
Caught | 2019-04-28 09:56:32.680 | error | by controller[0]: at Request.self.callback (/opt/iobroker/node_modules/iobroker.robonect/node_modules/request/request.js:185:22) |
Caught | 2019-04-28 09:56:32.680 | error | by controller[0]: at Request._callback (/opt/iobroker/node_modules/iobroker.robonect/lib/robonect.js:4182:86) |
Caught | 2019-04-28 09:56:32.680 | error | by controller[0]: TypeError: Cannot read property 'enable' of undefined |
robonect.0 | 2019-04-28 09:56:32.633 | info | cleaned everything up... |
robonect.0 | 2019-04-28 09:56:32.632 | error | at processTicksAndRejections (internal/process/next_tick.js:76:17) |
robonect.0 | 2019-04-28 09:56:32.632 | error | at endReadableNT (_stream_readable.js:1129:12) |
robonect.0 | 2019-04-28 09:56:32.632 | error | at IncomingMessage.emit (events.js:202:15) |
robonect.0 | 2019-04-28 09:56:32.632 | error | at Object.onceWrapper (events.js:285:13) |
robonect.0 | 2019-04-28 09:56:32.632 | error | at IncomingMessage. (/opt/iobroker/node_modules/iobroker.robonect/node_modules/request/request.js:1083:12) |
robonect.0 | 2019-04-28 09:56:32.632 | error | at Request.emit (events.js:197:13) |
robonect.0 | 2019-04-28 09:56:32.632 | error | at Request. (/opt/iobroker/node_modules/iobroker.robonect/node_modules/request/request.js:1161:10) |
robonect.0 | 2019-04-28 09:56:32.632 | error | at Request.emit (events.js:197:13) |
robonect.0 | 2019-04-28 09:56:32.632 | error | at Request.self.callback (/opt/iobroker/node_modules/iobroker.robonect/node_modules/request/request.js:185:22) |
robonect.0 | 2019-04-28 09:56:32.632 | error | at Request._callback (/opt/iobroker/node_modules/iobroker.robonect/lib/robonect.js:4182:86) |
robonect.0 | 2019-04-28 09:56:32.632 | error | TypeError: Cannot read property 'enable' of undefined |
robonect.0 | 2019-04-28 09:56:32.632 | error | uncaught exception: Cannot read property 'enable' of undefined |
robonect.0 | 2019-04-28 09:56:31.551 | error | Error: socket hang up |
robonect.0 | 2019-04-28 09:56:31.549 | error | Error: socket hang up |
robonect.0 | 2019-04-28 09:56:31.448 | info | Polling done (Initial) |
robonect.0 | 2019-04-28 09:56:30.972 | info | Done |
robonect.0 | 2019-04-28 09:56:30.897 | info | starting. Version 0.0.4 in /opt/iobroker/node_modules/iobroker.robonect, node: v11.8.0 |
`
Any idea how to fix it?
Thanks,
Frank
Hi,
I installed my Robonect today, of course I had to install your adapter as well ;). Thanks for your work and time you dedicate to this adapter.
My Robonect is working well, however the adapter doesn't. Double checked user and password multiple times :(
error message in the log:
`
robonect.0 | 2020-08-14 15:00:50.250 | info | (14889) Terminated (NO_ERROR): Without reason |
---|---|---|---|
robonect.0 | 2020-08-14 15:00:50.249 | info | (14889) terminating |
robonect.0 | 2020-08-14 15:00:50.099 | info | (14889) cleaned everything up... |
robonect.0 | 2020-08-14 15:00:50.098 | error | (14889) TypeError: Cannot read property 'status' of undefined at Robonect. (/opt/iobroker/node_modules/iobroker.robonect/main.js:295:42) at process._tickCallback (internal/process/n |
robonect.0 | 2020-08-14 15:00:50.090 | error | (14889) unhandled promise rejection: Cannot read property 'status' of undefined |
robonect.0 | 2020-08-14 15:00:50.090 | error | Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). |
robonect.0 | 2020-08-14 15:00:50.081 | error | (14889) Error: Error: getaddrinfo ENOTFOUND xxx xxx:80 |
robonect.0 | 2020-08-14 15:00:49.845 | info | (14889) Done |
robonect.0 | 2020-08-14 15:00:02.549 | info | (14889) Rest period 2 not configured. Period will be ignored. |
robonect.0 | 2020-08-14 15:00:02.548 | info | (14889) Rest period 1 not configured. Period will be ignored. |
robonect.0 | 2020-08-14 15:00:02.436 | info | (14889) starting. Version 0.1.3 in /opt/iobroker/node_modules/iobroker.robonect, node: v10.19.0, js-controller: 3.1.6 |
` | |||
Any help apprecciated |
(As I don't know which source is monitored I also raised the topic at the ioBroker Forum
Hallo, kann ich über reden Adapter auch einen Job starten (90 Minuten mähen, danach auto; oder so ähnlich..)
Liebe Grüße
Michel
Hi,
nach dem Update auf Version 0.0.9 heute habe ich im iObroker LOG dauerhaft folgende Einträge
robonect.0 2020-03-21 21:37:16.307 info (27506) Polling done (Initial)
robonect.0 2020-03-21 21:37:16.250 error (27506) JSON not valid
robonect.0 2020-03-21 21:37:15.982 error (27506) JSON not valid
robonect.0 2020-03-21 21:37:15.958 error (27506) JSON not valid
robonect.0 2020-03-21 21:37:15.912 error (27506) JSON not valid
robonect.0 2020-03-21 21:37:15.886 error (27506) JSON not valid
robonect.0 2020-03-21 21:37:15.728 info (27506) Done
robonect.0 2020-03-21 21:37:15.676 info (27506) starting. Version 0.0.9 in /opt/iobroker/node_modules/iobroker.robonect, node: v10.19.0
robonect.0 2020-03-21 21:36:59.105 warn (27399) Got terminate signal. Checking desired PID: 27506 vs own PID 27399
robonect.0 2020-03-21 21:36:59.101 info (27399) Terminated (START_IMMEDIATELY_AFTER_STOP): Without reason
robonect.0 2020-03-21 21:36:59.100 info (27399) terminating
robonect.0 2020-03-21 21:36:59.099 info (27399) cleaned everything up...
robonect.0 2020-03-21 21:36:59.097 warn (27399) Got terminate signal. Checking desired PID: 0 vs own PID 27399
robonect.0 2020-03-21 21:36:45.926 info (27399) Polling done (Initial)
robonect.0 2020-03-21 21:36:45.895 error (27399) JSON not valid
robonect.0 2020-03-21 21:36:45.677 error (27399) JSON not valid
robonect.0 2020-03-21 21:36:45.652 error (27399) JSON not valid
robonect.0 2020-03-21 21:36:45.601 error (27399) JSON not valid
robonect.0 2020-03-21 21:36:45.577 error (27399) JSON not valid
robonect.0 2020-03-21 21:36:45.403 info (27399) Done
robonect.0 2020-03-21 21:36:45.360 info (27399) starting. Version 0.0.9 in /opt/iobroker/node_modules/iobroker.robonect, node: v10.19.0
Ich Frage alles bis auf die Punkte "Erweiterungen, Portal und Push" ab.
Habe schon mal geschaut ob es einen Unterschied gibt, wenn ich nur eine Option wie Batterie oder Fehler abfrage, jedoch ohne Änderung.
Folgende Werte bekomme ich vom Roli bei der normalen Status Abfrage
{"name": "R70Li", "id": "53C8D6", "status": {"status": 16, "distance": 0, "stopped": true, "duration": 264889, "mode": 2, "battery": 96, "hours": 131}, "timer": {"status": 0}, "blades": {"quality": 17, "hours": 0, "days": 151}, "wlan": {"signal": -64}, "health": {"temperature": 26, "humidity": 0}, "clock": {"date": "2020-03-21", "time": "21:26:26", "unix": 1584825986}, "successful": true}
System Infos
ioBroker.admin 4.0.4
Raspi 4
robonect 0.0.9
Gruß & Danke
The calculation of latitude and longitude is wrong. Additionally there is a problem with the number of satellites.
https://forum.iobroker.net/topic/11834/neuer-robonect-hx-adapter/212
Thx @braindead1 for this great adapter!
So far the commands "0": "Auto", "1": "Manuell", "2": "Home", "98": "End of day" and "99": "Job" are implemented.
It would be great to have a further command "stop" to halt the mower instantaneously.
This feature is especially useful if the mower cannot go back to its charging station, e. g. due to heavy rain starting in a hilly landscape, or if the job is done in a 2nd area (with no charging station) where the mower has been placed manually.
PS: The robonect app is offering such a command.
Thank you in advance for sharing any ideas and comments on that proposal!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.