NEWS
IOBroker auf RasPi 4 wird immer lahmer
-
Ist jetzt vielleicht nur noch philosophisch aber es erstaunt mich schon etwas, dass die Simple-API kurzfristig so viel CPU-Leistung verlangt, wenn man Daten übergibt. Klar, von meiner PV-Anlage kommen da alle 20 Sekunden 13 Werte aber so viel ist das nun ja auch nicht...... oder?
War halt für die Arduino's immer ziemlich praktisch. Über die Simple-API kann man ohne großen Aufwand mit einem Arduino Werte an den IOBroker übergeben.
-
Was wäre, wenn du nur die simple-api auf einem Slave laufen lassen würdest, dann wäre der Master doch bzgl. der VIS entlastet, oder?
-
@ofbeqnpolkkl6mby5e13 sagte in IOBroker auf RasPi 4 wird immer lahmer:
Was wäre, wenn du nur die simple-api auf einem Slave laufen lassen würdest, dann wäre der Master doch bzgl. der VIS entlastet, oder?
nee,
Es ist ja nicht nur der simple api, der mit ~50% CPU zu Buche schlägt, sondern viel mehr der js-controller, der mit ~134% CPU alles ausbremst.
Der musst die Daten ja auch verwalten, wenn sie vom slave kommen -
@homoran said in IOBroker auf RasPi 4 wird immer lahmer:
@ofbeqnpolkkl6mby5e13 sagte in IOBroker auf RasPi 4 wird immer lahmer:
Was wäre, wenn du nur die simple-api auf einem Slave laufen lassen würdest, dann wäre der Master doch bzgl. der VIS entlastet, oder?
nee,
Es ist ja nicht nur der simple api, der mit ~50% CPU zu Buche schlägt, sondern viel mehr der js-controller, der mit ~134% CPU alles ausbremst.
Der musst die Daten ja auch verwalten, wenn sie vom slave kommenOk, so hab ich mir das auch gedacht. Ist eine 2-Teilige Geschichte.
Nun bin ich am grübeln, wie ich die Daten von Solaranlage, Heizung und Stromspeicher in den IOBroker bekomme. Weil es ist ja nicht nur ein übertragen der Daten sondern auch überwachen, archivieren und verarbeiten. Und da muss ich ja nun alles umbauen. MQTT oder ESPHome sind die Optionen.
Schlimm ist, dass ich vermutlich meine History-Daten so nicht mehr haben werde. Weil die ja nach dem Umbau auf den alten Datenpunkten sitzen werden.
Jetzt wäre wieder eine Datenbank gut Datenbank einrichte, die alten Historydaten in die DB importieren und gut isses. Hört sich einfach an ... Hat jemand ein Skript, dass das alles vollautomatisch macht?
-
@bernd33-1 Leg doch mal ein Simple API issue mit einem Debug log mit aktueller GitHub/Beta Version von simple-api an.
EDIT:
Ich hab reingeschaut ... Naja simple-api arbeitet da sehr ... sagen wir mal ... suboptimal ... und generiert bei sich und in der Objects-DB (und damit dem js.controller) unnötig viel Last ... Debug Log brauch ich keins. Nur issue anlegen bitte. Kann ich mir ansehen -
@bernd33-1 Sag mal ... wie genau sieht denn der setBulk Call aus? Nutzt du da die Object IDs oder Namen ?
-
Ich nutz die Namen. Das ist der Teil, in dem der ESP8266 die Daten an dein IOB überträgt:
String htmlcontent; htmlcontent = String ("http://192.168.0.177:8087/setBulk?Ampere=") + cur + String ("&Energy=") + ener + String ("&Frequenz=") + freq + String ("&Volt=") + volt + String ("&Watt=") + powe + String ("&CollectorTemp=") + temp; HTTPClient http; http.begin(htmlcontent); http.addHeader("Content-Type", "text/plain"); int httpCode = http.GET(); //Send the request String payload = http.getString(); http.end(); //Close connection
-
@bernd33-1 Jupp, wie vermutet ... Du nutzt "Namen" und die werden jeeeeeeedes mal aufgelöst ... Fixe es
-
Du meinst im MC Code soll statt :
....String("&Energy=")....
sowas :
.... String (&"javascript.0.Photovoltaik.Energy=")...
stehen? So sieht die Objekteigenschaft aus:
{ "_id": "javascript.0.Photovoltaik.Ampere", "type": "state", "common": { "name": "Ampere", "role": "", "type": "mixed", "desc": "Manuell erzeugt", "unit": "A", "min": 0, "max": 3500, "def": 0, "read": true, "write": true, "custom": { "history.0": { "enabled": true, "changesOnly": true, "debounce": "1000", "maxLength": "960", "retention": "31536000", "changesRelogInterval": 0, "changesMinDelta": 0, "aliasId": "" } } }, "native": {}, "from": "system.adapter.admin.0", "ts": 1568399468812, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "user": "system.user.admin" }
-
@bernd33-1 Also ja, wenn du anstelle "Energy" das "javascript.0.Photovoltaik.Energy"nutzen würdest dann hättest du diese performance issues nicht. Aber lass jetzt mal so, sonst kann ja keiner meinen Fix testen
-
@apollon77 said in IOBroker auf RasPi 4 wird immer lahmer:
@bernd33-1 Also ja, wenn du anstelle "Energy" das "javascript.0.Photovoltaik.Energy"nutzen würdest dann hättest du diese performance issues nicht. Aber lass jetzt mal so, sonst kann ja keiner meinen Fix testen
Alles gut Ich hab eine Powerwall, die per Simple-API liefert und eine PV, die per Simple-API liefert. Wir können testen
Du meldest Dich, wenn ich testen soll?
-
@bernd33-1 Wir spät heute abend bzw morgen, bin noch über was anderes gestolpert ... Jetzt erstmal Sport :-))
-
@apollon77 said in IOBroker auf RasPi 4 wird immer lahmer:
@bernd33-1 Wir spät heute abend bzw morgen, bin noch über was anderes gestolpert ... Jetzt erstmal Sport :-))
Kein Stress. Soweit läuft ja alles Have fun
-
Ok, Simple-API GitHub version bitte testen!
-
@apollon77 said in IOBroker auf RasPi 4 wird immer lahmer:
Ok, Simple-API GitHub version bitte testen!
Ähm....wie mach ich das?
-
Ich habs schon released, also:
Admin - Expertenmodus - GitHub icon - tab "Install von npm" ... dort simple-api wählen ... dann installiert er es
oder, falls Du Beta Repo nimmst, dann sollte es schon als Update angeboten werden
-
Ok, ich muss aber erst noch ein Backup machen . Dann leg ich los.
-
ok, jetzt ist die Simple-API 2.6.4 installiert und in den ersten 10 Minuten schaut es gut aus Die Performance ist gefühlt raketengleich
-
@bernd33-1 Hochinteressant das das seit zig Jahren keinem vorher mal aufgefallen ist Aber ja ... passiert auch nur wenn man mit Namen und nicht mit State-IDs arbeitet. Aber gut das es jetzt gelöst ist
-
Läuft jetzt seit gut 3 Sunden und es gibt nichts auffälliges. Ich denke das "Problem" ist behoben.
Vielen lieben Dank für den super Support und die rasche Problemlösung