NEWS
Test js-controller 0.15.1
-
Hallo
js-controler 0.15.1 und admin 1.6.10
laufen bei mir nun 2 Tage ohne Probleme.
Grüße
-
Da ich dort am besten alles testen kann habe ich mein Produktivsystem (nach einem Backup :lol: ) auf die git Version von js-controller, admin, vis und web geupdated.
Bisher läuft fast alles rund, keine Probleme beim Updaten (alles über shell) und beim Starten danach.
Eine Sache ist mir aber aufgefallen, ich kann aber nicht sagen ob es am Update liegt, weil ich es vorher nicht getestet habe:
Wenn ich Web/Vis mit https und auth absichere, kann ich nur noch mit dem Standard-Admin User auf die Views zugreifen. Ein zweiter User, welcher auch in der Admin-Gruppe ist, kann zwar edit.html nutzen, aber index.html bleibt bei "Lade Werte…" hängen. In der Browserkonsole kommt dies hier:
conn.js:266 2017-01-20T11:18:03.426Z Connected => authenticate conn.js:281 2017-01-20T11:18:03.561Z Authenticated: true vis.js:3202 Request 0 states.
Mit dem Standard-Admin User:
conn.js:266 2017-01-20T11:20:29.266Z Connected => authenticate conn.js:281 2017-01-20T11:20:29.382Z Authenticated: true vis.js:3202 Request 0 states. vis.js:3219 Create inner vis object harmony.0.Wohnzimmer_Hub.TV.Exit vis.js:3219 Create inner vis object harmony.0.Wohnzimmer_Hub.TV.Return vis.js:3219 Create inner vis object harmony.0.Wohnzimmer_Hub.TV.Select [...] vis.js:2796 [1484911229917] Request 115 states.
-
Heute ist mir bei der Entwicklung meines neuen Adapters aufgefallen das bei Löschen einer Instanz nun folgende Fehlermeldung kommt:
2017-01-20 15:01:02.154 - info: iobroker host.bilbo Counted 1 instances of unifi.0 2017-01-20 15:01:02.778 - info: iobroker host.bilbo Counted 7 objects of unifi.0 2017-01-20 15:01:02.945 - info: iobroker host.bilbo Counted 6 objects of states of unifi.0 2017-01-20 15:01:02.945 - info: iobroker host.bilbo Deleting 7 object(s). 2017-01-20 15:01:02.947 - error: message system.adapter.unifi.0.alive null Cannot read property 'common' of null 2017-01-20 15:01:02.948 - error: message system.adapter.unifi.0.alive null Cannot read property 'common' of null 2017-01-20 15:01:02.947 - error: message system.adapter.unifi.0.alive null Cannot read property 'common' of null 2017-01-20 15:01:02.947 - error: message system.adapter.unifi.0.alive null Cannot read property 'common' of null 2017-01-20 15:01:02.949 - error: message system.adapter.unifi.0.alive null Cannot read property 'common' of null 2017-01-20 15:01:02.948 - error: message system.adapter.unifi.0.alive null Cannot read property 'common' of null 2017-01-20 15:01:02.948 - error: TypeError: Cannot read property 'common' of null at Object.that.objects.Objects.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:724:28) at Socket. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/lib/objects/objectsInMemClient.js:74:30) at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20) at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:270:10) at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:228:12) at Manager. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15) at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20) at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:332:8) at Decoder. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15) at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20)</anonymous></anonymous></anonymous>
Ich meine mich zu erinnern das dies erst seit Installation der 0.15.1 passiert ist?!? Ich konnte zwar eine neue Instanz generieren und das auch ohne Probleme, aber der Fehler tritt hier reproduzierbar immer auf sobald ich wieder versuche eine Instanz zu löschen. Kann einer versuchen zu reproduzieren ob das löschen von Instanzen prinzipiell jetzt immer solch einen Fehler wirft?
-
Ich habe mal einen Pull Request auf GitHub gemacht, der mein Problem lösen sollte.
Das Problem ist, dass beim Check der Rechte pro State nie die Callbackfunktion aufgerufen wird, wenn die ids ein leeres Array sind.
-
Hm,
ich habe den schon länger drauf. Weiß nicht ob es am JS Controler liegt aber ich habe seitdem das Problem das ich keine Instanzen mehr vernünftig löschen kann.
Hatte ich an anderer Stelle schonmal mit logfile geschrieben:
http://forum.iobroker.net/viewtopic.php?f=22&t=4779
Auch weiß ich nicht ob die Falsche anzeige meiner VIS Version etwas damit zu tun hat, siehe hier:
http://forum.iobroker.net/viewtopic.php … 160#p47593
Gruß
Mirko
-
Hm,
ich habe den schon länger drauf. Weiß nicht ob es am JS Controler liegt aber ich habe seitdem das Problem das ich keine Instanzen mehr vernünftig löschen kann.
Hatte ich an anderer Stelle schonmal mit logfile geschrieben:
http://forum.iobroker.net/viewtopic.php?f=22&t=4779
Auch weiß ich nicht ob die Falsche anzeige meiner VIS Version etwas damit zu tun hat, siehe hier:
http://forum.iobroker.net/viewtopic.php … 160#p47593
Gruß
Mirko `
Bitte 0.15.2 installieren. Da ist es gefixt. -
Hi Bluefox,
habe eben aus dem Git aktualisiert ==> hab jetzt js-controller 0.15.3
Als Admin läuft die Version 1.6.10
Ich bin mir nicht sicher, aber ich sehe es jetzt zum ersten Mal - rechts oben im Admin kommt eine rote Meldung "Zu viele Ereignisse" (siehe Screenshot).
Die Meldung verschwindet auch nach kurzer Zeit. Als ich sie aber einmal angeklickt habe, war der Admin weg (Webseite nicht erreichbar) und kam auch erst nach einigen Sekunden zurück.
Muss ich mir Sorgen machen?
Gruß,
Eric
-
Hi Bluefox,
habe eben aus dem Git aktualisiert ==> hab jetzt js-controller 0.15.3
Als Admin läuft die Version 1.6.10
Ich bin mir nicht sicher, aber ich sehe es jetzt zum ersten Mal - rechts oben im Admin kommt eine rote Meldung "Zu viele Ereignisse" (siehe Screenshot).
ereignisse.png
Gruß,
Eric `
Wenn zu viele Ereignisse dauerhaft (3 Sekunden über 180 Events) kommen, dann werden die für admin abgeschaltet.Nach eine Minute wird es wieder eingeschaltet.
> Die Meldung verschwindet auch nach kurzer Zeit. Als ich sie aber einmal angeklickt habe, war der Admin weg (Webseite nicht erreichbar) und kam auch erst nach einigen Sekunden zurück.
Da sollte eine Fehlermeldung in /opt/iobroker/log/20…..log drin sein. Kann ich die sehen? -
Da sollte eine Fehlermeldung in /opt/iobroker/log/20…..log drin sein. Kann ich die sehen?
Meinst Du diese Meldung
> 2017-01-20 21:06:52.604 - info: admin.0 Unsubscribe from all states, except system's, because over 3 seconds the number of events is over 60 (in last second 0) `Ach so, ich habe Redis laufen.
Gruß,
Eric
-
Da sollte eine Fehlermeldung in /opt/iobroker/log/20…..log drin sein. Kann ich die sehen?
Meinst Du diese Meldung
> 2017-01-20 21:06:52.604 - info: admin.0 Unsubscribe from all states, except system's, because over 3 seconds the number of events is over 60 (in last second 0) `Ach so, ich habe Redis laufen.
Gruß,
Eric `
Es sollte Meldung sein, was bei Absturz von admin kommt. Gleich danach -
Hier mal einen ganzen Block (ab der Meldung):
`2017-01-20 21:25:05.104 - ^[[32minfo^[[39m: admin.0 Unsubscribe from all states, except system's, because over 3 seconds the number of events is over 60 (in last second 0) 2017-01-20 21:25:18.304 - ^[[32minfo^[[39m: admin.0 Subscribe on all states again 2017-01-20 21:25:18.801 - ^[[32minfo^[[39m: admin.0 received all states 2017-01-20 21:25:18.816 - ^[[31merror^[[39m: admin.0 uncaught exception: Cannot read property 'val' of null 2017-01-20 21:25:18.820 - ^[[31merror^[[39m: admin.0 TypeError: Cannot read property 'val' of null at /opt/iobroker/node_modules/iobroker.admin/admin.js:700:128 at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3337:61 at Command.callback (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:305:49) at normal_reply (/opt/iobroker/node_modules/redis/index.js:714:21) at RedisClient.return_reply (/opt/iobroker/node_modules/redis/index.js:816:9) at JavascriptRedisParser.Parser.returnReply (/opt/iobroker/node_modules/redis/index.js:188:18) at JavascriptRedisParser.execute (/opt/iobroker/node_modules/redis-parser/lib/parser.js:415:12) at Socket. <anonymous>(/opt/iobroker/node_modules/redis/index.js:267:27) at emitOne (events.js:77:13) at Socket.emit (events.js:169:7) 2017-01-20 21:25:18.820 - ^[[32minfo^[[39m: admin.0 terminating http server on port 8081 2017-01-20 21:25:18.845 - ^[[31merror^[[39m: host.iobroker instance system.adapter.admin.0 terminated with code 0 (OK) 2017-01-20 21:25:18.850 - ^[[32minfo^[[39m: hm-rpc.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.855 - ^[[32minfo^[[39m: fritzbox.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.855 - ^[[32minfo^[[39m: sonos.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.856 - ^[[32minfo^[[39m: pushover.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.856 - ^[[32minfo^[[39m: simple-api.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.857 - ^[[32minfo^[[39m: web.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.857 - ^[[32minfo^[[39m: node-red.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.858 - ^[[32minfo^[[39m: node-red.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.858 - ^[[32minfo^[[39m: socketio.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.859 - ^[[32minfo^[[39m: text2command.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.859 - ^[[32minfo^[[39m: sayit.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.860 - ^[[32minfo^[[39m: botvac.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.860 - ^[[32minfo^[[39m: hm-rpc.1 system.adapter.admin.0: logging false 2017-01-20 21:25:18.861 - ^[[32minfo^[[39m: harmony.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.862 - ^[[32minfo^[[39m: pushover.1 system.adapter.admin.0: logging false 2017-01-20 21:25:18.862 - ^[[32minfo^[[39m: cloud.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.866 - ^[[32minfo^[[39m: sql.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.864 - ^[[32minfo^[[39m: tankerkoenig.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.866 - ^[[32minfo^[[39m: sql.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.869 - ^[[32minfo^[[39m: javascript.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.869 - ^[[32minfo^[[39m: javascript.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.846 - ^[[32minfo^[[39m: host.iobroker Restart adapter system.adapter.admin.0 because enabled 2017-01-20 21:25:18.853 - ^[[32minfo^[[39m: hm-rega.0 system.adapter.admin.0: logging false[/code]</anonymous>` Gruß, Eric
-
Bei mir tritt leider auch der Fehler "Zu viele Ereignisse" auf.
Wahrscheinlich ist die Meldung zutreffend. Der Philips Hue Adapter verursacht bei mir viele Meldungen (zwei Adapter rund 70 Leuchtmittel). Stoppen dieser Adapter führt zum Erfolg. Auch der neue unifi Adapter geizt nicht mit Meldungen. Auf meinem Rechner ist das Limit von 180 Events/3 sec sicherlich nicht nötig. Vielleicht sollte man im admin Adapter das Limit einstellen können. Auf kleineren Maschinen wie raspi wird er sicherlich Sinn machen.
-
Ja. 180 ist schon zu wenig. Aber irgendwann ist auf jeder Machine Schluss.
Bitte bis zu nächster Version diese Zeile auf z.B 1000 anpassen:
https://github.com/ioBroker/ioBroker.ad … min.js#L40
value: 60,
Bis dorthin überlege ich wie es besser zu machen ist.
-
Hier mal einen ganzen Block (ab der Meldung):
`2017-01-20 21:25:05.104 - ^[[32minfo^[[39m: admin.0 Unsubscribe from all states, except system's, because over 3 seconds the number of events is over 60 (in last second 0) 2017-01-20 21:25:18.304 - ^[[32minfo^[[39m: admin.0 Subscribe on all states again 2017-01-20 21:25:18.801 - ^[[32minfo^[[39m: admin.0 received all states 2017-01-20 21:25:18.816 - ^[[31merror^[[39m: admin.0 uncaught exception: Cannot read property 'val' of null 2017-01-20 21:25:18.820 - ^[[31merror^[[39m: admin.0 TypeError: Cannot read property 'val' of null at /opt/iobroker/node_modules/iobroker.admin/admin.js:700:128 at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3337:61 at Command.callback (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:305:49) at normal_reply (/opt/iobroker/node_modules/redis/index.js:714:21) at RedisClient.return_reply (/opt/iobroker/node_modules/redis/index.js:816:9) at JavascriptRedisParser.Parser.returnReply (/opt/iobroker/node_modules/redis/index.js:188:18) at JavascriptRedisParser.execute (/opt/iobroker/node_modules/redis-parser/lib/parser.js:415:12) at Socket. <anonymous>(/opt/iobroker/node_modules/redis/index.js:267:27) at emitOne (events.js:77:13) at Socket.emit (events.js:169:7) 2017-01-20 21:25:18.820 - ^[[32minfo^[[39m: admin.0 terminating http server on port 8081 2017-01-20 21:25:18.845 - ^[[31merror^[[39m: host.iobroker instance system.adapter.admin.0 terminated with code 0 (OK) 2017-01-20 21:25:18.850 - ^[[32minfo^[[39m: hm-rpc.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.855 - ^[[32minfo^[[39m: fritzbox.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.855 - ^[[32minfo^[[39m: sonos.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.856 - ^[[32minfo^[[39m: pushover.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.856 - ^[[32minfo^[[39m: simple-api.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.857 - ^[[32minfo^[[39m: web.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.857 - ^[[32minfo^[[39m: node-red.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.858 - ^[[32minfo^[[39m: node-red.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.858 - ^[[32minfo^[[39m: socketio.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.859 - ^[[32minfo^[[39m: text2command.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.859 - ^[[32minfo^[[39m: sayit.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.860 - ^[[32minfo^[[39m: botvac.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.860 - ^[[32minfo^[[39m: hm-rpc.1 system.adapter.admin.0: logging false 2017-01-20 21:25:18.861 - ^[[32minfo^[[39m: harmony.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.862 - ^[[32minfo^[[39m: pushover.1 system.adapter.admin.0: logging false 2017-01-20 21:25:18.862 - ^[[32minfo^[[39m: cloud.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.866 - ^[[32minfo^[[39m: sql.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.864 - ^[[32minfo^[[39m: tankerkoenig.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.866 - ^[[32minfo^[[39m: sql.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.869 - ^[[32minfo^[[39m: javascript.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.869 - ^[[32minfo^[[39m: javascript.0 system.adapter.admin.0: logging false 2017-01-20 21:25:18.846 - ^[[32minfo^[[39m: host.iobroker Restart adapter system.adapter.admin.0 because enabled 2017-01-20 21:25:18.853 - ^[[32minfo^[[39m: hm-rega.0 system.adapter.admin.0: logging false[/code]</anonymous>` Gruß, Eric Danke. Konnte ich fixen. ``` `
-
Umsetzung hat geholfen. Spannend ist, ob Du eine Möglichkeit findest, die Zahl der max Events dynamisch ermitteln kannst? Evt. ist es interessant zu ermitteln, wie lange eine Subscription benötigt, um auf ein Event zu reagieren. Andererseits frage ich mich auch, ob wirklich so vile Events abgesetzt werden müssen. Beispielsweise treten bei dem unifi Adapter/genauso hue-Apdater häufig keine Änderungen auf. Wäre es nicht sinnvoll die Adapter-Entwickler zu animieren, die Zahl der Events auf die notwendigen zu beschränken? Dass dürfte das System insgesamt entlasten.
-
Hi Bluefox,
nur mal damit ichs verstehe. Für was steht denn dieser Wert? Denn ich konnte bisher zumindest keine negativen Erscheinungen feststellen. Und mein System haut wahrscheinlich ziemlich viele Events raus. Zumindest mehr, als der Browser (im selben Netz) unter dem Reiter Events flüssig darstellen kann.
Oder stehen diese Events für etwas anderes?
Vielleicht könnte man ja so etwas wie einen Eventzähler(Tacho?) in den Admin einbauen. So in der Art wie beim Log wenn ich dieses anhalte, nur eben dauernd. Als Pulsanzeige quasi.
Das wäre möglicherweise auch ein ziemlich guter Performancemesser für die unterschiedlichen Hardwareplattformen.
Bis 100 Transaktionen reicht ein Raspi.
Ab dann bis 500 wäre ein Raspi3 nötig.
und ab diesem Wert braucht es schnellere Prozessoren/mehr Ram etc.
Vielleicht ließe sich so eine ungefähre Kalkulation für den benötigten Rechner im Vorfeld einer Installation ermitteln.
Ist nur so ne Idee.
Gruß
Bernhard
-
Hallo Bernhard,
@Heinzelmaennchen:Das wäre möglicherweise auch ein ziemlich guter Performancemesser für die unterschiedlichen Hardwareplattformen. `
Ich verstehe leider nicht alles in diesem Thread, aber wenn das so ist, wie du es (nachvollziehbar) beschreibst, fände ich so eine Kennzahl wirklich brauchbar.Gruß
Rainer
-
Hi Bluefox,
nur mal damit ichs verstehe. Für was steht denn dieser Wert? Denn ich konnte bisher zumindest keine negativen Erscheinungen feststellen. Und mein System haut wahrscheinlich ziemlich viele Events raus. Zumindest mehr, als der Browser (im selben Netz) unter dem Reiter Events flüssig darstellen kann.
Oder stehen diese Events für etwas anderes?
Vielleicht könnte man ja so etwas wie einen Eventzähler(Tacho?) in den Admin einbauen. So in der Art wie beim Log wenn ich dieses anhalte, nur eben dauernd. Als Pulsanzeige quasi.
Das wäre möglicherweise auch ein ziemlich guter Performancemesser für die unterschiedlichen Hardwareplattformen.
Bis 100 Transaktionen reicht ein Raspi.
Ab dann bis 500 wäre ein Raspi3 nötig.
und ab diesem Wert braucht es schnellere Prozessoren/mehr Ram etc.
Vielleicht ließe sich so eine ungefähre Kalkulation für den benötigten Rechner im Vorfeld einer Installation ermitteln.
Ist nur so ne Idee.
Gruß
Bernhard `
Es geht um Browser. Wie viele events kann ein Browser verarbeiten.So ein Pulsmessung ist interessant.
-
Bei mir läuft der 15.3 ohne die Meldung. Wenn man sich die Ereignisse anschaut, dann ist der Philips Hue Adapter wirklich spitzenreiter.
@gst666
> zwei Adapter rund 70 Leuchtmittel
Hast du deine ganze Straße damit ausgestattet? :lol: :shock: -
In der nächsten js-controller Version kommen die States, die input/output rates zeigen.
Man kann damit die Übeltäter erkennen.