GithubHelp home page GithubHelp logo

braindead1 / iobroker.robonect Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sthufnagl/iobroker.robonect

8.0 3.0 4.0 11.52 MB

ioBroker.robonect is an ioBroker adapter for your Robonect HX enabled lawn mower.

License: MIT License

HTML 22.85% JavaScript 77.15%
iobroker robonect

iobroker.robonect's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

iobroker.robonect's Issues

Implement idle time

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.

Seit upgrade zu JS controller 3.3.18, bekomme ich im LOG "JSON not valid"

`

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
`

IP / Domain

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

Polling done message fills the log file

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');

Status online although Mower offline

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.

log_error
mower_object

Beste Grüße
Holger
System-devil

Status Garagentor

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:

grafik

Allerdings: mit der 1.2 RC0 gibt es gerade dies bzgl. Probleme:
https://robonect.de/viewtopic.php?p=23695#p23695

Danke und Gruß
Thorsten

Keine Verbindung mit Robonect Applikation V1.1b

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

`

Release script: Action required

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')

Bekomme Adapter nicht zum Laufen, wegen folgenden Fehlermeldungen

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

Bekomme den Adapter nicht dauerhat auf grün

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

Error if connection is lost while adapter waits for anwer

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

Robonect keine verbindung

Hallo,

bekomme leider keine Verbindung, mehr wie IP und Zugangsdaten kann ich ja nicht einstellen.
Was passt hier nicht?!
Screenshot_1
Screenshot_2
Screenshot_3

wird robonect unter admin 5 noch nicht unterstützt?

Grüße Julian

Exception thrown with FW 1.07a

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

Adapter doesnt connect to robonect

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

Job starten

Hallo, kann ich über reden Adapter auch einen Job starten (90 Minuten mähen, danach auto; oder so ähnlich..)
Liebe Grüße
Michel

iObroker Log "JSON not valid" after install Version 0.0.9

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

grafik

Gruß & Danke

Împlement a Stop command

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!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.