Comments (32)
Hallo,
Nach ca. 10 Stunden Laufzeit ist die RAM Nutzung jetzt wieder bei normalen ca 90 mb. Würde sagen dass das geholfen hat 🥳
from iobroker.ecovacs-deebot.
@volkerverkamp ich glaube das Feature gab es zu der Zeit, wo du deinen Bug gemeldet hattest noch nicht (mein github-Log sagt mir, dass ich das vor 20 Tagen eingebaut hab, dein Issue ist vor 22 Tagen gemeldet. Wie verhält sich denn dein System gerade so (App und iobroker) und auf welchen Versionen bist du unterwegs?
Ich hab seit damals auch kein Problem dieser Art mehr gesehen, hatte in den letzten Tagen extra noch den Speicherbedarf mitloggen lassen:
Hab gestern auf die aktuelle Github-Version aktualisiert, bin mir aber nicht mehr so ganz sicher welche es vorher war.
from iobroker.ecovacs-deebot.
hab mir jetzt mal den aktuellen git (13.4 ca 16 uhr) installiert. ich werde die situation weiter beobachten - stichprobenartig - und werde weiter berichten wenn ich auffäligkeiten merke im speicherverbauch.
from iobroker.ecovacs-deebot.
Klar gerne, installiere jetzt den aktuellen git
from iobroker.ecovacs-deebot.
hallo
ich konnte in den letzten tagen beobachten das sich der adapter immer mehr und mehr ram göhnt.
also nicht nur die üblichen 50-100 mb sondern gern mal über 200 mb ram (oder auch gerne noch mehr).
verwende den aktuellen git build (10.4 am abend).
bitte gebt mir infos wie ich beim finden des problems helfen kann.
Hallo @krobipd
- das war ein Ozmo 950 bei Dir, richtig?
- hast Du den Adapter mal neugestartet in der Zwischenzeit?
- konntest Du beobachten, ob das langsam anwächst oder z.B. erst beim/nach dem Reinigen?
- haben die anderen Adapter die üblichen Werte?
Btw: Ich hoffe Du bist Dir dessen bewusst, dass die GitHub Version i.d.R. nicht freigeben ist 😉
Wir sind aber natürlich für jede Unterstützung und Feedback dankbar.
from iobroker.ecovacs-deebot.
Hallo
Ja genau den 950iger ;-)
Nach dem Neustart des adapter oder auch vom iobroker direkt (bzw der ganzen VM) bewegt sich der adapter bei ca 60-70 mb.
Hab dir einen screenshot gemacht - ca 1 minute nach dem Neustart des adapters.
Ich mache gar nix, das ist das komische. Der adapter läuft einfach nur ohne das der Roboter irgendwas tut und nach einpaar stunden geht der Speicher nach oben.
Heute werde ich wohl leider nicht mehr dazu kommen das ganze effektiv (mit zeit usw) zu protokollieren aber ich werde das heute Nacht oder morgen mach mitschreiben.
from iobroker.ecovacs-deebot.
Hallo @krobipd
gibt es neue Erkentnisse?
Hat der Adapter oder der ioBroker eigentlich sonst irgendwelche Auffälligkeiten (im negativen Sinne) gezeigt? Oder läuft eigentlich alles recht normal?
from iobroker.ecovacs-deebot.
Serwus,
Habe heute im laufe des Tages immer wieder Stichproben gemacht, hier das Ergebnis:
Neustart des Adapters um 14:22
- 14:22 (einpaar Sekunden nachdem er fertig mit dem Neustart war) - 64,9 mb
- 15:33 - 103 mb
- 19:21 - 210 mb
- 20:03 - 231 mb
Mein iobroker läuft soweit problemlos, das einzige - abgesehen von neuen Skripten (aber keine die den 950iger betreffen) - was ich geändert habe die Tage war das ich den Shelly adapter installiert habe.
Und mit den einstellen bzgl dem Protokoll Sachen die es dort gibt herum probiert habe, da ich mir 2 rgbw2 zum Testen geholt habe. Die Shelly Geräte können CoAP bzw mqtt Protokoll vl hat es was damit auf sich?
Jetzt läuft der Shelly im standard CoAP aber vl gibs ja hier Probleme da ja der 950iger auch mqtt macht.
from iobroker.ecovacs-deebot.
@krobipd Hast Du auch Verbindungsprobleme im Zusammenhang mit dem Speicheranstieg beobachtet, so wie ich hier? Du kannst das loggen übrigens auch dem History-Adapter überlassen (Expertenmodus):
from iobroker.ecovacs-deebot.
Ja das wäre interessant zu wissen, ob das vielleicht auch mit Verbindungsproblemen zusammenhängt.
Btw. noch ein paar Fragen:
- Welche nodejs Version benutzt ihr?
- Welche JS controller Version ist für den ioBroker installiert?
- @krobipd: wieviel RAM hat Dein System zur Verfügung?
from iobroker.ecovacs-deebot.
Nodejs: 10.12
Npm: 6.14.4
Js Controller: 4.4.3
Achja 8gb RAM
from iobroker.ecovacs-deebot.
Js Controller: 4.4.3
Ich meine den Js Controller (nicht die Javascript Script Engine)
Die Version ist u.a. unter "Hosts" zu sehen.
from iobroker.ecovacs-deebot.
Sorry 🙈
Version 2.2.10
from iobroker.ecovacs-deebot.
Bei mir sieht es auf dem Raspi folgendermaßen aus:
Nodejs: 10.19.0
Npm: 6.13.4
Js Controller: 2.2.9
RAM: 1GB
Bisher habe ich keine Probleme in der Richtung feststellen können.
@volkerverkamp Ich habe aktuell sogar täglich Probleme mit meiner Internet Verbindung, weil mein Router mit der Anzahl von Geräten nicht mehr klar kommt ... aber auch dann habe ich keine Probleme in der Richtung bei mir feststellen können.
Habe aber eben auch nur 1GB RAM 😉
from iobroker.ecovacs-deebot.
Nach ca 14 Stunden Laufzeit verbraucht der adapter im moment 450 mb.
Was mir aber aufgefallen ist, ist das ich den Roboter seit Neuesten nicht mehr gezielt in einen Raum fahren lassen kann. Es passiert einfach gar nix wenn ich ihn in eine spotarea schicke. Auch im log steht nichts. Mach das über map - map number usw.
Habe die Bereiche (quasi die alte Funktion abgeschaltet) da ich diese Sachen nicht doppelt will/brauche. Vl liegt hier das Problem mit dem Speicher begraben.
from iobroker.ecovacs-deebot.
Nach ca 14 Stunden Laufzeit verbraucht der adapter im moment 450 mb.
Ja, das ist zu viel ...
Was mir aber aufgefallen ist, ist das ich den Roboter seit Neuesten nicht mehr gezielt in einen Raum fahren lassen kann. Es passiert einfach gar nix wenn ich ihn in eine spotarea schicke. Auch im log steht nichts. Mach das über map - map number usw.
Zwischendurch gab es mal kurz einen Ordner mit den Spot Areas unter "control"...
Meinst Du die Buttons die da drin waren (die sind nämlich obsolet)?
Oder die direkt unter "control" ( spotArea_0-n )?
Die sollten (noch) weiterhin funktionieren.
Perspektivisch wollen wir das aber unter "map" weiterführen.
Das ist also soweit die richtige Richtung 👍
Habe die Bereiche (quasi die alte Funktion abgeschaltet) da ich diese Sachen nicht doppelt will/brauche. Vl liegt hier das Problem mit dem Speicher begraben.
Das denke ich nicht, dass das damit was zu tun hat.
from iobroker.ecovacs-deebot.
Unter map die quasi neuen Sachen.
Habe in den Einstellungen untere Bereiche auch 0 gestellt da die ja sonst doppelt auftauchen? War ja zumindest mal so das die „alte“ und „neue“ Variante drin war.
from iobroker.ecovacs-deebot.
Unter map die quasi neuen Sachen.
Wie viele spotAreas hast Du?
Wenn das deutlich mehr als 10 sind könnte man mal in diese Richtung als Ursache für den Speicherverbrauch gehen.
from iobroker.ecovacs-deebot.
Sind 10
Ahja momentan 510 mb
from iobroker.ecovacs-deebot.
Sind 10
Ahja momentan 510 mb
Was passiert denn so im Log, wenn es auf "debug" steht?
from iobroker.ecovacs-deebot.
from iobroker.ecovacs-deebot.
Sorry finde keine Möglichkeit eine pdf anzuhängen mit dem gesamten log.
Also nur ein kurzer ausschnitt als text
Das hier passiert quasi jede minute, finde ich etwas komisch
2020-04-14 19:58:14.741 - debug: ecovacs-deebot.0 (5580) Maps: {"maps":[{"mapID":"41565800","mapIndex":0,"mapName":"Wohnung","mapStatus":1,"mapIsCurrentMap":true,"mapIsBuilt":true}]}
2020-04-14 19:58:14.798 - debug: ecovacs-deebot.0 (5580) state change info.errorCode => 0
2020-04-14 19:58:15.129 - debug: ecovacs-deebot.0 (5580) MapSpotAreas: {"mapID":"41565800","mapSetID":"10","mapSpotAreas":[{"mapSpotAreaID":"0"},{"mapSpotAreaID":"1"},{"mapSpotAreaID":"2"},{"mapSpotAreaID":"3"},{"mapSpotAreaID":"4"},{"mapSpotAreaID":"9"},{"mapSpotAreaID":"5"},{"mapSpotAreaID":"7"},{"mapSpotAreaID":"8"}]}
2020-04-14 19:58:15.333 - debug: ecovacs-deebot.0 (5580) MapSpotAreaInfo: {"mapID":"41565800","mapSpotAreaID":"0","mapSpotAreaName":"Dining room","mapSpotAreaConnections":"1","mapSpotAreaBoundaries":"-3500,-50;-3450,200;-3150,200;-3100,-100;-2950,-200;-2850,-100;-2850,700;-2500,700;-2150,800;-1900,650;-1900,500;-1750,350;-200,400;50,300;50,50;150,-100;150,-1700;-50,-1900;0,-2200;-1100,-2150;-1250,-2250;-1800,-2250;-2000,-2000;-2150,-2100;-2300,-2000;-2350,-2050;-2600,-2000;-2800,-2300;-3050,-2300;-3250,-2100;-2750,-2050;-2600,-1900;-2650,-1850;-2650,-350;-2800,-200;-2950,-300;-3300,-300;-3300,-200;-3400,-150;-3500,-50"}
2020-04-14 19:58:15.370 - debug: ecovacs-deebot.0 (5580) MapSpotAreaInfo: {"mapID":"41565800","mapSpotAreaID":"3","mapSpotAreaName":"D","mapSpotAreaConnections":"1","mapSpotAreaBoundaries":"-7150,2950;-7150,3950;-7050,4000;-6200,4000;-6100,3650;-5950,3750;-5900,3900;-5500,3950;-5450,3900;-5500,3750;-5350,3600;-5200,3900;-5200,3650;-5050,3550;-5050,2950;-5150,2800;-7100,2800;-7150,2950"}
2020-04-14 19:58:15.373 - debug: ecovacs-deebot.0 (5580) MapSpotAreaInfo: {"mapID":"41565800","mapSpotAreaID":"4","mapSpotAreaName":"Kitchen","mapSpotAreaConnections":"1","mapSpotAreaBoundaries":"-6550,-1550;-6550,100;-6500,150;-5100,200;-4750,450;-4750,650;-4650,750;-4100,650;-4100,-100;-4000,-200;-3850,-100;-3850,-750;-4200,-950;-4100,-1050;-3850,-1100;-3850,-1400;-4200,-1500;-4000,-1650;-3800,-1650;-3800,-2250;-4350,-2300;-4450,-1750;-4600,-2000;-4600,-2300;-5300,-2300;-5300,-1850;-5450,-1750;-5600,-1950;-5600,-2100;-5800,-2300;-6350,-2300;-6350,-1700;-6450,-1650;-6550,-1550"}
2020-04-14 19:58:15.374 - debug: ecovacs-deebot.0 (5580) MapSpotAreaInfo: {"mapID":"41565800","mapSpotAreaID":"5","mapSpotAreaName":"Bedroom","mapSpotAreaConnections":"1","mapSpotAreaBoundaries":"-2900,4600;-2800,5150;-2600,5350;-2600,5500;-2450,5650;-2500,5700;-2500,8650;-2350,8750;-1850,8700;-1600,8900;-1500,8800;-1350,8900;200,8900;250,8100;150,8000;-50,8100;-100,8050;-300,8100;-500,7900;-700,7850;-1800,7850;-1900,7750;-1900,6150;-1800,6050;-200,6050;0,5550;100,5700;100,6050;150,6050;300,5800;250,5750;300,4950;250,5000;200,4950;-1750,4950;-1900,4800;-1900,4550;-2100,4550;-2300,4350;-2800,4500;-2850,4600;-2900,4600"}
2020-04-14 19:58:15.378 - debug: ecovacs-deebot.0 (5580) MapSpotAreaInfo: {"mapID":"41565800","mapSpotAreaID":"7","mapSpotAreaName":"Laundry","mapSpotAreaConnections":"1","mapSpotAreaBoundaries":"-2000,3700;-1750,4050;-1450,4050;-1300,4200;-850,4250;-700,4050;-100,4100;0,3900;-50,3750;0,3350;-1250,3350;-1200,3500;-1350,3600;-1900,3450;-1950,3650;-2000,3700"}
2020-04-14 19:58:15.380 - debug: ecovacs-deebot.0 (5580) MapSpotAreaInfo: {"mapID":"41565800","mapSpotAreaID":"1","mapSpotAreaName":"B","mapSpotAreaConnections":"2,3,4,9,0,5,7,8","mapSpotAreaBoundaries":"-4950,3100;-4950,3650;-4700,3900;-4550,3850;-4250,4200;-3050,4150;-2900,4350;-2950,4500;-2300,4250;-2100,3900;-2050,3500;-1950,3400;-2400,3300;-2600,3100;-2600,3000;-2550,2150;-2450,2050;-2200,2050;-2050,1850;-2000,1350;-2150,1250;-2200,850;-2850,800;-2850,950;-3050,1200;-3750,1200;-4000,950;-4050,750;-4650,850;-4750,1150;-4750,1750;-4450,1850;-4400,2800;-4550,2900;-4750,2900;-4950,3100"}
2020-04-14 19:58:15.382 - debug: ecovacs-deebot.0 (5580) MapSpotAreaInfo: {"mapID":"41565800","mapSpotAreaID":"8","mapSpotAreaName":"Bathroom","mapSpotAreaConnections":"1","mapSpotAreaBoundaries":"-1950,1450;-1950,1850;-1800,2050;-1500,2050;-1100,2450;-950,2250;-800,2300;-350,2250;-350,1550;-550,1500;-500,1450;-550,1150;-1000,1150;-1200,1350;-1350,1250;-1600,1250;-1350,1350;-1050,1350;-900,1500;-1100,1600;-1300,1600;-1900,1400;-1950,1450"}
2020-04-14 19:58:15.414 - debug: ecovacs-deebot.0 (5580) MapSpotAreaInfo: {"mapID":"41565800","mapSpotAreaID":"2","mapSpotAreaName":"Living room","mapSpotAreaConnections":"1","mapSpotAreaBoundaries":"-8150,5550;-8050,5650;-8050,5850;-8150,5950;-7600,6050;-7600,7300;-7850,7450;-8000,7450;-7900,7600;-8000,7700;-7900,8500;-7600,8650;-7250,8600;-7150,8700;-6500,8650;-6300,8800;-6250,8750;-4300,8750;-4250,8600;-3900,8250;-3850,8150;-3900,7750;-4000,7650;-3950,7550;-4000,5600;-3800,5450;-3550,5450;-3650,5250;-3600,4300;-4250,4300;-4300,4450;-4600,4500;-4650,4700;-4850,4900;-5150,5050;-6200,5000;-6150,5250;-6300,5400;-7450,5400;-7600,5600;-7650,5550;-8150,5550"}
2020-04-14 19:58:15.416 - debug: ecovacs-deebot.0 (5580) MapSpotAreaInfo: {"mapID":"41565800","mapSpotAreaID":"9","mapSpotAreaName":"Storeroom","mapSpotAreaConnections":"1","mapSpotAreaBoundaries":"-6300,1450;-6300,1750;-5450,1700;-5350,1800;-5150,1700;-4850,1700;-4850,1200;-4950,1400;-5100,1250;-5550,1250;-5750,1100;-5950,1100;-6000,1300;-6250,1400;-6300,1450"}
2020
from iobroker.ecovacs-deebot.
Sorry finde keine Möglichkeit eine pdf anzuhängen mit dem gesamten log.
Also nur ein kurzer ausschnitt als text
@krobipd
Danke, das ist eh besser als ein PDF ;)
Das hier passiert quasi jede minute, finde ich etwas komisch
Das ist aktuell so gewollt, das das 1x pro Minute passiert.
Das könnte aber u.U. zu dem RAM-Verbrauch beitragen.
@boriswerner
Hast Du eine Idee?
Wie ist denn bei Dir aktuell der RAM-Verbrauch für den Adapter?
from iobroker.ecovacs-deebot.
@mrbungle64 ist die Map Anfrage in das minütliche Intervall aufgenommen?
Hatten wir das nicht nur bei Stadt des Adapters? Aber eigentlich sollte das auch den Speicher nicht hoch treiben. Ich schau mir das morgen Mal auf meinem System an.
@krobipd dazu, dass die Knöpfe für die Spots nicht funktionieren: erscheint im Log ein Fehler, wenn du drückst (Bot ist nicht auf der Mal oder die aktuelle Position nicht bekannt, dann muss erst ein relocate gemacht werden. Da Suche ich noch nach einer Lösung automatisch ein relocate zu machen und dann neu zu versuchen. Dazu braucht es aber eine Warteschlange)
from iobroker.ecovacs-deebot.
Bei den spots kommt nur das hier, sonst passiert rein gar nix
(5580) state change 0.cleanSpotArea => true
Könnte es vl damit zusammen hängen das bei relocationState nichts drin steht? Ich sehe in der history das da mal Sachen drin standen aber seit einigen Tagen nur null oder nichts drin steht.
from iobroker.ecovacs-deebot.
@mrbungle64 ist die Map Anfrage in das minütliche Intervall aufgenommen?
Hatten wir das nicht nur bei Stadt des Adapters? ...
@boriswerner
Die ist in der vacbotGetStatesInterval() Methode.
Die wird beim Start aufgerufen und auch im Intervall.
Evtl. ist das dann aus Versehen mit im Intervall drin.
Wenn Du da für den Ozmo 950 keine Notwendigkeit siehst, würde ich das mal aus dem Intervall rausnehmen.
from iobroker.ecovacs-deebot.
@boriswerner
Ich habe die Map Anfrage mal aus dem Intervall genommen.
@krobipd
Kannst Du bitte mal testen, ob sich der RAM-Verbrauch mit der gerade veröffentlichten GitHub Version normalisiert?
from iobroker.ecovacs-deebot.
Bei den spots kommt nur das hier, sonst passiert rein gar nix
(5580) state change 0.cleanSpotArea => true
@krobipd
Ich habe bei der aktuellen Version noch mal was geändert. Es kann sein, dass sich die Version davor nicht korrekt verhalten hat (war dann mein Fehler). Das sollte jetzt aber behoben sein.
from iobroker.ecovacs-deebot.
Okay, ich kann das bei mir nachvollziehen.
Mit der minütlichen Abfrage geht die Memory Usage hoch, mit der aktuellsten github Version nicht mehr (@krobipd ich hoffe, du kannst das bestätigen, vielen Dank auf jeden Fall für das Finding).
@mrbungle64 wenn meine Vermutung korrekt ist, müsste das aber auch bei den nicht950-ern der Fall sein.
Wenn ich das nämlich richtig sehe, wird in das Array mapSpotAreaInfos mit jedem Aufruf (bei dir _handle_pullM, bei mir _handle_mapsubset) immer neu reingepusht. Das lässt das Array dann immer weiter anwachsen. Das Array selbst benutzen wir derzeit zur Bestimmung des aktuellen Raums anhand der position. Das würde ich heute Abend mal anpassen, sodass dort die ID der spotArea als Array-Index genutzt wird und somit nur reingeschrieben wird, wenn noch nicht vorhanden,
@volkerverkamp ich glaube das Feature gab es zu der Zeit, wo du deinen Bug gemeldet hattest noch nicht (mein github-Log sagt mir, dass ich das vor 20 Tagen eingebaut hab, dein Issue ist vor 22 Tagen gemeldet. Wie verhält sich denn dein System gerade so (App und iobroker) und auf welchen Versionen bist du unterwegs?
from iobroker.ecovacs-deebot.
Okay, ich kann das bei mir nachvollziehen.
Mit der minütlichen Abfrage geht die Memory Usage hoch, mit der aktuellsten github Version nicht mehr (@krobipd ich hoffe, du kannst das bestätigen, vielen Dank auf jeden Fall für das Finding).
@mrbungle64 wenn meine Vermutung korrekt ist, müsste das aber auch bei den nicht950-ern der Fall sein.
Wenn ich das nämlich richtig sehe, wird in das Array mapSpotAreaInfos mit jedem Aufruf (bei dir _handle_pullM, bei mir _handle_mapsubset) immer neu reingepusht. Das lässt das Array dann immer weiter anwachsen. Das Array selbst benutzen wir derzeit zur Bestimmung des aktuellen Raums anhand der position. Das würde ich heute Abend mal anpassen, sodass dort die ID der spotArea als Array-Index genutzt wird und somit nur reingeschrieben wird, wenn noch nicht vorhanden,
@boriswerner
Die RAM-Problematik habe ich bisher bei meinen Geräten nicht beobachten können.
Wir hatten uns aber vor einigen Tagen mal darüber unterhalten, dass beim Deebot 901 der Array ständig anwächst. Das hatte ich dann ja folgendermaßen versucht zu lösen:
mrbungle64/ecovacs-deebot.js@012363b
Anschließend hatte ich das dann aber wieder rückgängig gemacht und einen neuen Ansatz gewählt:
mrbungle64/ecovacs-deebot.js@55365a0
Sorry, ich hatte das so verstanden, dass der Array beim Ozmo 950 auch zur Laufzeit wie gewünscht ausschaut. Du kannst Dir den Ansatz ja auch mal anschauen.
from iobroker.ecovacs-deebot.
@krobipd danke für die Bestätigung.
@mrbungle64 das hatte ich leider nicht in Verbindung gebracht oder falsch verstanden.
Ist die Frage, ob wir das generell aus der minütlichen Aktualisierung rauslassen und nur einen Button zur Aktualisierung der Infos bereitstellen (hatten wir glaube ich auch schonmal angedacht). Aber wenn ich es dann mal vernünftig implementiert hab kann man es ja auch wieder anschalten (vielleicht auch einfach eine Einstellung in der Admin ;-) )
from iobroker.ecovacs-deebot.
Ich schließe den Issue mal.
Vielen Dank für die Infos 👍
Damit konnten wir es dann doch relativ zeitnah fixen
from iobroker.ecovacs-deebot.
Related Issues (20)
- T9 AIVI: ecovacs-deebot.0.control.spotArea_cleanings HOT 4
- T9 AIVI: commands like stop and charge HOT 3
- Zu Viele api anfragen HOT 5
- Robot not reachable HOT 5
- Replaced Deebots data doesn't show up in iobroker HOT 3
- Wrong "Bot arrived at destination" message for not reachable places HOT 1
- ...was compiled against a different Node.js version HOT 4
- Received disconnect event from library: true HOT 10
- x2 Omni HOT 4
- T20 OMNI HOT 2
- can you please add Australia for country for my ecovacs 920? 🙏 HOT 8
- Zu häufige API anfragen vom Adapter HOT 5
- ecovacs-deebot.0.status > status not changing HOT 3
- X2 Steuerung HOT 15
- Video Screenshot HOT 1
- X2: "Benutzerdefinierte Reinigung" und weiteres HOT 52
- Adapter Error undefined is not a valid state value HOT 7
- GotoPosition doesn't work in 1.4.14 HOT 9
- Update stable version in repo from 1.4.13 to 1.4.14 HOT 1
- X2: resume und error HOT 15
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from iobroker.ecovacs-deebot.