NEWS
Js-controller 0.16
-
Hallo BF,
ich habe beides (admin und js-controller) upgedatet. Es läuft alles wie geschmiert. Und ich möchte an dieser Stelle auch mal betonen, dass ich seit bestimmt einem Jahr alle meine Updates über die Admin-Oberfläche starte und nicht über die Konsole. Das funktioniert einwandfrei. Großes Kompliment!!
Jetzt sind ja auch die events zu sehen und da hab ich direkt eine Farge bzw. auch einen Wunsch.
Frage: gibt es die Möglichkeit ALLE in/out Events kumuliert zu sehen, oder kann man das irgendwie berechnen lassen??
Wunsch: Ähnlich dem Task Manager von Windows per Klick auf die Spaltenüberschriften die Adapterzeilen so neu zu sortieren, sodass man die Möglichkeit hätte, die mit dem höchsten Transaktionszahlen, bzw. die mit dem größten Speicherverbrauch nach Oben zu holen
Ansonsten sehe ich derzeit, dass mein System in Summe grob geschätzt etwa 4000-5000 "in"-Events und ca 1500 "out"-Events anzeigt. Auch wenn ich das noch nicht richtig deuten kann (Hier wäre etwas Interpretationshilfe toll) reicht es allemal, dass ich mit den Einstellungen die Du mit dem 0.16.1 js-controller auslieferst ständig "too many events" angezeigt bekomme. Den Wert werde ich jetzt mal hochsetzen.
-
Ja, zu den Events würde ich mir auch etwas Interpretationshilfe wünschen. Ich kann mir noch nicht so ganz einen Reim drauf machen was die aussagen…
-
So, auch ich habe das Update vom Controller und Admin gemacht. Alles läuft, genaue Tests werden im Praxisbetrieb folgen.
Lg
Günther
-
Update vom Master durchgeführt. Funktioniert.
ubuntu 16.04
Update über die Weboberfläche durchgeführt
Da reinstall.sh Skript hätte ich vorher gebraucht
Mein Fehler. Hatte mir einen Satelliten beim Upgrade von node von 4.x auf 6.x zerschossen.
Mit input/output kann ich noch nicht viel anfangen.
-
Jeder Adapter empfängt und sendet updates für States. E.g. neue Temperatur oder noch irgendwas.
Da wird gezählt wie viele Ereignisse bekommt (oder generiert) ein oder anderer Adapter.
Ich erwarte, dass Javascript viel bekommen sollte (input) und hm-rpc viel generieren (output) o.ä.
-
Für welchen Zeitraum gelten denn die angezeigten Ereignisse?
-
Ich habe einen der Satelliten ebenfalls hochgezogen.
Ich vermute mal das es In/ und Output um Werte je Sekunde geht.
Output steht bei beiden Hosts fest auf 10 und Input schwankt um die 50.
Vom Bauch her würde ich sagen, dass das nicht plausibel klingt.
-
Habe das Testsystem auch auf die neuen Versionen gebracht. Ohne manuelle Installation (außerhalb vom web admin) und iobroker stop/start ging's leider nicht auf dem node 4.8 System.
Egal, die Ereignisse sind interessant. Hab rausgefunden dass das untere Limit von den 'out' 8 ist, also scheinen das die Adapter-Statusereignisse sein. Wollte eigentlich schon immer mal fragen ob man das nicht abstellen kann!
Ich will entscheiden können ob ich solche
! ````
stateChange system.adapter.sql.1.memRss 49.77 true sql.1 2017-03-02 00:12:27.625 2017-03-02 00:11:42.603
stateChange system.adapter.sql.1.connected true true sql.1 2017-03-02 00:12:27.622 2017-02-28 23:21:04.985
stateChange system.adapter.sql.1.alive true true sql.1 2017-03-02 00:12:27.612 2017-02-28 23:21:04.974
stateChange javascript.0.StateMachine_test.mPrint 116 false javascript.0 2017-03-02 00:12:25.573 2017-03-02 00:12:25.573
stateChange system.adapter.web.0.outputCount 8 true web.0 2017-03-02 00:12:24.261 2017-03-02 00:01:23.907
stateChange system.adapter.web.0.inputCount 80 true web.0 2017-03-02 00:12:24.260 2017-03-02 00:12:24.260
stateChange system.adapter.web.0.uptime 89518 true web.0 2017-03-02 00:12:24.258 2017-03-02 00:12:24.258
stateChange system.adapter.web.0.memHeapUsed 13.98 true web.0 2017-03-02 00:12:24.255 2017-03-02 00:12:24.255
stateChange system.adapter.web.0.memHeapTotal 17.39 true web.0 2017-03-02 00:12:24.242 2017-03-02 00:10:24.178
stateChange system.adapter.web.0.memRss 37.64 true web.0 2017-03-02 00:12:24.240 2017-03-02 00:12:24.240
stateChange system.adapter.web.0.connected true true web.0 2017-03-02 00:12:24.237 2017-02-28 23:20:29.813
stateChange system.adapter.web.0.alive true true web.0 2017-03-02 00:12:24.231 2017-02-28 23:20:29.809
stateChange rpi2.0.gpio.26.state false true rpi2.0 2017-03-02 00:12:22.804 2017-03-02 00:11:55.783
stateChange rpi2.0.gpio.26.state false false javascript.0 2017-03-02 00:12:22.792 2017-03-02 00:11:55.783
stateChange javascript.0.StateMachine_test.Led 0 false javascript.0 2017-03-02 00:12:22.725 2017-03-02 00:12:22.725
stateChange javascript.0.StateMachine_test.mPrint 115 false javascript.0 2017-03-02 00:12:22.673 2017-03-02 00:12:22.673
stateDann hab ich da noch einen Javascript-Adapter auf dem ich eines meiner (bald zu veröffentlichten) Projekte entwickle. Er zeigt >60 Ereignisse am in und ich weiß genau dass da nur alle 5-20 Sekunden ein Ereignis daherkommt. also warum werden dann so viele gezählt? Etwas verwirrend und eine klare Definition würde helfen.
-
Das ist die Anzahl von Ereignissen in 30 Sekunden und wenn da 60 steht, dass heißt 2 Ereignisse pro Sekunde.
Die Ereignisse werden schon richtig gezählt. Die Basis Ereignisse 8 sind natürlich nicht alle nötig, aber 5 sind wichtig. Und wenn schon 5 da sind dann machen 8 in 30 Sekunden nicht so viel aus.
-
@fsjoke:Habe das Testsystem auch auf die neuen Versionen gebracht. Ohne manuelle Installation (außerhalb vom web admin) und iobroker stop/start ging's leider nicht auf dem node 4.8 System.
Egal, die Ereignisse sind interessant. Hab rausgefunden dass das untere Limit von den 'out' 8 ist, also scheinen das die Adapter-Statusereignisse sein. Wollte eigentlich schon immer mal fragen ob man das nicht abstellen kann!
Ich will entscheiden können ob ich solche
! ````
stateChange system.adapter.sql.1.memRss 49.77 true sql.1 2017-03-02 00:12:27.625 2017-03-02 00:11:42.603
stateChange system.adapter.sql.1.connected true true sql.1 2017-03-02 00:12:27.622 2017-02-28 23:21:04.985
stateChange system.adapter.sql.1.alive true true sql.1 2017-03-02 00:12:27.612 2017-02-28 23:21:04.974
stateChange javascript.0.StateMachine_test.mPrint 116 false javascript.0 2017-03-02 00:12:25.573 2017-03-02 00:12:25.573
stateChange system.adapter.web.0.outputCount 8 true web.0 2017-03-02 00:12:24.261 2017-03-02 00:01:23.907
stateChange system.adapter.web.0.inputCount 80 true web.0 2017-03-02 00:12:24.260 2017-03-02 00:12:24.260
stateChange system.adapter.web.0.uptime 89518 true web.0 2017-03-02 00:12:24.258 2017-03-02 00:12:24.258
stateChange system.adapter.web.0.memHeapUsed 13.98 true web.0 2017-03-02 00:12:24.255 2017-03-02 00:12:24.255
stateChange system.adapter.web.0.memHeapTotal 17.39 true web.0 2017-03-02 00:12:24.242 2017-03-02 00:10:24.178
stateChange system.adapter.web.0.memRss 37.64 true web.0 2017-03-02 00:12:24.240 2017-03-02 00:12:24.240
stateChange system.adapter.web.0.connected true true web.0 2017-03-02 00:12:24.237 2017-02-28 23:20:29.813
stateChange system.adapter.web.0.alive true true web.0 2017-03-02 00:12:24.231 2017-02-28 23:20:29.809
stateChange rpi2.0.gpio.26.state false true rpi2.0 2017-03-02 00:12:22.804 2017-03-02 00:11:55.783
stateChange rpi2.0.gpio.26.state false false javascript.0 2017-03-02 00:12:22.792 2017-03-02 00:11:55.783
stateChange javascript.0.StateMachine_test.Led 0 false javascript.0 2017-03-02 00:12:22.725 2017-03-02 00:12:22.725
stateChange javascript.0.StateMachine_test.mPrint 115 false javascript.0 2017-03-02 00:12:22.673 2017-03-02 00:12:22.673
stateDann hab ich da noch einen Javascript-Adapter auf dem ich eines meiner (bald zu veröffentlichten) Projekte entwickle. Er zeigt >60 Ereignisse am in und ich weiß genau dass da nur alle 5-20 Sekunden ein Ereignis daherkommt. also warum werden dann so viele gezählt? Etwas verwirrend und eine klare Definition würde helfen. `
Javascript ist default massig an alle Ereignisse unterschreiben. Das heißt dein System hat Grundlast von 2 Ereignisse pro Sekunde. Gar nicht so viel.
Man kann dieses Wert auch verbessern in dem man Optimierung…. in Javascript einschaltet.
Man wird aber nicht können das Wert so zu lesen
getStste ('id').val
Sondern nur so
getState ('id', function (err,state){ state.val })
-
Das ist die Anzahl von Ereignissen in 30 Sekunden und wenn da 60 steht, dass heißt 2 Ereignisse pro Sekunde.
Die Ereignisse werden schon richtig gezählt. Die Basis Ereignisse 8 sind natürlich nicht alle nötig, aber 5 sind wichtig. Und wenn schon 5 da sind dann machen 8 in 30 Sekunden nicht so viel aus. `
Danke für die Erklärung - jetzt kann ich mir was drunter vorstellen. Dann hab ich allerdings mit jeweils durchschnittlich 10 bis in der Spitze auch mal 20 Ereignissen in 2 Javascript- und einem SQL-Adapter ganz schön viele - oder? Gibt's da sowas wie eine kritische Grenze?
-
Gibt's da sowas wie eine kritische Grenze? `
Ich denke das die Systemabhängig ist (also von Deinem System).
meine Einschätzung (lasse mich da gern korrigieren wenn ich Blödsinn schreibe):
Wenn die States in der File-DB (Standard) gespeichert werden ist es am Ende "nur" I/O … kann aber natürlich wenn das auf ner SD-Karte läuft ggf schneller zu Problemen führen, aber auch nicht wirklich.
Wenn die States-DB ein Redis ist dann fällt das I/O-Argument weg weil Redis alles im Speicher hält. Klar auch hier wird idealerweise regelmäßig ein Snapshot auf Platte geschrieben, aber das ist nicht so wild und konfigurierbar.
Man sollte schauen das man diese Datenpunkte vllt eher nicht per "History"-loggt weil dann schlägt das I/O-Thema von oben nochmals zu.
-
Wie schon Apollon77 geschrieben hat, es wirklich system abhängig ist.
Ich habe mit Redis mit 1000 Variablen 3 mal pro Sekunde getestet, also 90000 Ereignisse in 30 Sekunden und vis ging immer noch.
Es war aber aber kein Raspi oder Tablet, sondern PC und nur vis 0.12.x.
-
Seit der installation des js-controllers 0.16 meldet der Radar Adapter folgendes im LOG
radar.0 2017-03-03 09:44:30.387 warn Noble not available, Error: { [Error: Cannot find module 'bluetooth-hci-socket'] code: 'MODULE_NOT_FOUND' }
Davor hatte ich diese Meldung nie
Gruß
Adrian
-
Kannst Du mal versuchen radar neu zu installieren?
-
Also ich habe schon mal drüber installiert! Aber der Fehler ist geblieben!
Ich weiß aber nicht 100%ig ob ich das Warning [WARNING SIGN]️ vorher nicht einfach übersehen hab!
Aber ich glaube das wäre mir aufgefallen!
Ich werde den Adapter jetzt einmal löschen und neu installieren! Ich berichte gleich
Gruß
Adrian
Gesendet von iPhone mit Tapatalk Pro
-
Kannst Du mal versuchen radar neu zu installieren? `
Also ich habe den Adapter komplett gelöscht und neu installiert, der Fehler blieb aber.
Mir ist aber bei der Installation folgendes aufgefallen
npm WARN optional dep failed, continuing bluetooth-hci-socket@0.5.1 iobroker 2017-03-03 11:00:59.263 info not ok iobroker 2017-03-03 11:00:59.263 info ERR! iobroker 2017-03-03 11:00:59.263 info gyp iobroker 2017-03-03 11:00:59.263 info node-gyp -v v3.4.0 iobroker 2017-03-03 11:00:59.262 info iobroker 2017-03-03 11:00:59.262 info gyp ERR! iobroker 2017-03-03 11:00:59.262 info ERR! node -v v4.7.3 iobroker 2017-03-03 11:00:59.262 info gyp iobroker 2017-03-03 11:00:59.262 info gyp ERR! cwd /opt/iobroker/node_modules/iobroker.radar/node_modules/noble/node_modules/bluetooth-hci-socket iobroker 2017-03-03 11:00:59.262 info gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" iobroker 2017-03-03 11:00:59.262 info gyp ERR! System Linux 4.4.0-57-generic iobroker 2017-03-03 11:00:59.262 info gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:12) iobroker 2017-03-03 11:00:59.262 info gyp ERR! stack at emitTwo (events.js:87:13)gyp ERR! stack at ChildProcess.emit (events.js:172:7)
Ist das vielleicht ein Adapter Problem und hat nichts mit dem js-controller zutun? Aber wie gesagt, der Fehler ist mir erst jetzt aufgefallen und das nach dem Update auf 0.16
Gruß
Adrian
-
Kannst Du mal versuchen radar neu zu installieren? `
Also ich habe den Adapter komplett gelöscht und neu installiert, der Fehler blieb aber.
Mir ist aber bei der Installation folgendes aufgefallen
npm WARN optional dep failed, continuing bluetooth-hci-socket@0.5.1 iobroker 2017-03-03 11:00:59.263 info not ok iobroker 2017-03-03 11:00:59.263 info ERR! iobroker 2017-03-03 11:00:59.263 info gyp iobroker 2017-03-03 11:00:59.263 info node-gyp -v v3.4.0 iobroker 2017-03-03 11:00:59.262 info iobroker 2017-03-03 11:00:59.262 info gyp ERR! iobroker 2017-03-03 11:00:59.262 info ERR! node -v v4.7.3 iobroker 2017-03-03 11:00:59.262 info gyp iobroker 2017-03-03 11:00:59.262 info gyp ERR! cwd /opt/iobroker/node_modules/iobroker.radar/node_modules/noble/node_modules/bluetooth-hci-socket iobroker 2017-03-03 11:00:59.262 info gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" iobroker 2017-03-03 11:00:59.262 info gyp ERR! System Linux 4.4.0-57-generic iobroker 2017-03-03 11:00:59.262 info gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:12) iobroker 2017-03-03 11:00:59.262 info gyp ERR! stack at emitTwo (events.js:87:13)gyp ERR! stack at ChildProcess.emit (events.js:172:7)
Ist das vielleicht ein Adapter Problem und hat nichts mit dem js-controller zutun? Aber wie gesagt, der Fehler ist mir erst jetzt aufgefallen und das nach dem Update auf 0.16
Gruß
Adrian `
Es ist ein Adapterproblem. Hast du in der letzten Zeit node.js upgedated vielleicht? -
Es ist ein Adapterproblem. Hast du in der letzten Zeit node.js upgedated vielleicht? `
Nein gar nicht, die Version habe ich schon seit Ewigkeiten drauf. Dann war ich die ganze Zeit Blind und habe den Fehler vorher nicht gesehen :lol:
Gruß
Adrian
-
Dann publische ich mal 0.16 + admin damit man dann an discovery arbeiten kann.