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.
@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 -
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
-
@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" } -
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 :-)
-
@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 :+1:
Du meldest Dich, wenn ich testen soll?
-
@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 :+1:
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 :-))
-
@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 :-)
-
@apollon77 said in IOBroker auf RasPi 4 wird immer lahmer:
Ok, Simple-API GitHub version bitte testen!
Ähm....wie mach ich das?
-
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
-
@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
Ich hatte am Montagvormittag diverse Adapter aktualisiert. Die Größe der Objects-DB (Redis) hat sich von Montagmorgen auf Dienstagmorgen um ca. 8MB verringert. Ist das auf die simple-api zurückzuführen?
-
Ich hatte am Montagvormittag diverse Adapter aktualisiert. Die Größe der Objects-DB (Redis) hat sich von Montagmorgen auf Dienstagmorgen um ca. 8MB verringert. Ist das auf die simple-api zurückzuführen?
@ofbeqnpolkkl6mby5e13 Ne, denke liegt eher daran das einige Adapter jetzt nicht mehr "alte Konfig JavaScript Files" zusätzlich speichern sondern beim update aufgeräumt wird
-
@ofbeqnpolkkl6mby5e13 Ne, denke liegt eher daran das einige Adapter jetzt nicht mehr "alte Konfig JavaScript Files" zusätzlich speichern sondern beim update aufgeräumt wird
Okay, danke. Ich finde, dass 8MB bei ~80MB schon erheblich sind...
-
Okay, danke. Ich finde, dass 8MB bei ~80MB schon erheblich sind...
@ofbeqnpolkkl6mby5e13 Ich finde 80MB Objects-Redis db sehr klein ... eigentlich zu klein ...
