NEWS
-
Erstmal Danke für den Adapter, sowas habe ich schon lange gesucht und funktioniert auch grundsätzlich -
Aber: Wenn ich den Adapter starte, dann gönnt dieser sich eine Prozessorlast von ca. 12% und der redis server läuft auf Anschlag mit 99% und das System ist eigentlich nicht mehr zu gebrauchen. Wenn ich den Adapter stoppe geht die Last auf dem Rechner wieder auf Normalzustand.Kann das evtl. jemand nachvollziehen? Mein Setup läuft auf einem HP Gen8 Server unter Ubuntu Server 18, Intel Celeron Dual Core CPU (1886 MHz) mit 4GB RAM
Node.js 10.21.0 & NPM 6.10.0Danke...
-
Erstmal Danke für den Adapter, sowas habe ich schon lange gesucht und funktioniert auch grundsätzlich -
Aber: Wenn ich den Adapter starte, dann gönnt dieser sich eine Prozessorlast von ca. 12% und der redis server läuft auf Anschlag mit 99% und das System ist eigentlich nicht mehr zu gebrauchen. Wenn ich den Adapter stoppe geht die Last auf dem Rechner wieder auf Normalzustand.Kann das evtl. jemand nachvollziehen? Mein Setup läuft auf einem HP Gen8 Server unter Ubuntu Server 18, Intel Celeron Dual Core CPU (1886 MHz) mit 4GB RAM
Node.js 10.21.0 & NPM 6.10.0Danke...
@spaceduck
hm, da würde mich mal die Beobachtung der anderen interessieren.
Der Adapter macht beim Start nicht besonders viel.
Es werden lediglich eine Zeitfunktion initialisiert, die einmal pro Sekunde alle Timerstates abfragt und prüft, ob ein Timer die Endezeit erreicht hat um dann den Action-Status zu ändern.
Der Rest des Adapters wartet nur darauf, das man einen State ändert. Das wird aber von iobroker aus getriggertaus deinem text kam das nicht ganz heraus, wann die Prozessorlast genau hochgeht, da du einmal schreibst, nachdem der adapter gestartet ist geht die last hoch und dann weiter wenn du startest, dann geht es auf den Normalzustand.
Wieviele Timer hast du eingestellt?
-
@spaceduck
hm, da würde mich mal die Beobachtung der anderen interessieren.
Der Adapter macht beim Start nicht besonders viel.
Es werden lediglich eine Zeitfunktion initialisiert, die einmal pro Sekunde alle Timerstates abfragt und prüft, ob ein Timer die Endezeit erreicht hat um dann den Action-Status zu ändern.
Der Rest des Adapters wartet nur darauf, das man einen State ändert. Das wird aber von iobroker aus getriggertaus deinem text kam das nicht ganz heraus, wann die Prozessorlast genau hochgeht, da du einmal schreibst, nachdem der adapter gestartet ist geht die last hoch und dann weiter wenn du startest, dann geht es auf den Normalzustand.
Wieviele Timer hast du eingestellt?
@OliverIO
bei mir wird beim start des adapters in htop nichts auffälliges angezeigt - kurz meldet sich der js-controller (5 timer definiert)auch getestet während ein timer aktiv geschalten war

alles ok
-
@spaceduck
hm, da würde mich mal die Beobachtung der anderen interessieren.
Der Adapter macht beim Start nicht besonders viel.
Es werden lediglich eine Zeitfunktion initialisiert, die einmal pro Sekunde alle Timerstates abfragt und prüft, ob ein Timer die Endezeit erreicht hat um dann den Action-Status zu ändern.
Der Rest des Adapters wartet nur darauf, das man einen State ändert. Das wird aber von iobroker aus getriggertaus deinem text kam das nicht ganz heraus, wann die Prozessorlast genau hochgeht, da du einmal schreibst, nachdem der adapter gestartet ist geht die last hoch und dann weiter wenn du startest, dann geht es auf den Normalzustand.
Wieviele Timer hast du eingestellt?
@OliverIO
Ich hatte mich oben verschrieben, die Last geht wieder runter wenn ich den Adapter stoppe.Also so sieht es aus wenn ich den Adapter starte:

Nach Adapter stopp beruhigt sich die Kiste wieder:

Ich habe genau einen Timer eingestellt.
Hier mal noch die Versionen: Just in case...
ioBroker.admin 4.1.1
JS controller 3.1.5
MyTime 0.3.0 -
Neue Version 0.3.1
- die kachel mit der Bezeichnung mytime aus der iobroker-Übersicht wurde entfernt
- der Initialwert der countdown flipclock im widget wurde auf 0 gesetzt
- die css-klassen des adapters haben nun ein prefix cd erhalten um css artefakte bspw mit dem adapter kodi zu vermeiden
- das widget icon für countdown flipclokc wurde getauscht
-
@OliverIO said in Test Adapter mytime v0.1.x:
so sieht es bei mir auch aus.
kurze Frage: Benutzt Du zur Statespeicherung JSON (iobroker default) oder Redis?
@spaceduck
redis auf einem nuc -
@spaceduck
redis auf einem nuc -
@OliverIO
Das ist jetzt aber wirklich interessant - ich habe gerade von Redis auf JSON zurückgestellt und jetzt läuft der Adapter normal - zurück auf Redis und er hat hohe CPU Last.@spaceduck
Redis ist ja keine Adapter spezifische Einstellung
Sondern betrifft das speichern aller states. -
Mein neuer Adapter soll sich um das Thema Zeit kümmern.
Als erster Funktionsbaustein habe ich einen Countdown-Timer
inklusive 2 Widgets umgesetzt.
Eine detaillierte Beschreibung der Möglichkeiten ist in der Readme auf github zu findenInstallation und Einrichtung
Schritt 1 - Installation
Der Adapter ist aktuell nur auf github verfügbar.
Name des Repository ist https://github.com/oweitman/iobroker.mytimeSchritt 2 - Instanz hinzufügen
Der Adapter müsste dann im Abschnitt adapter im iobroker angezeigt werden.
Manchmal kommt es vor, das insbesondere bei einem neuen Release mit Webänderungen (Widgets/Konfigurationsdialog) die Änderungen nicht sichtbar sind, muss evtl. auf der Kommandozeile folgender Befehl ausgeführt werden:
iobroker upload mytime
Im rechten Bereich in der Zeile des Adapters kann über den Plus-Knopf eine Instanz hinzugefügt werdenSchritt 3 - Konfiguration
Die Konfiguration ist relativ simpel. Es gibt nur wenige Felder.
In den Eingabefeldern muss dem neuen Countdowntimer ein Name gegeben werden, sowie zur Erstkonfiguration die Angabe über die Dauer. diese kann aber später jederzeit über bestimmte Befehle auch von vis aus geändert werden.Über den Plus Knopf kann der Eintrag dann hinzugefügt werden. Das ändern und löschen eines Eintrags ist dann über die angezeigten Knöpfe hinter dem jeweiligen Countdown möglich.
Schritt 4 - vis und widgets
Aktuell gibt es 2 widgets- Countdown Plain (reine Textanzeige, formatierbar über einen Templatestring)
- Countdown Circle (Ein Ring oder Kreis, der gemäß des Countdowns entsprechend abläuft.
Eine detaillierte Beschreibung über die verfügbaren Datenpunkte, den verwertbaren States, die Verwendung der widgets inklusive einer Beispiel widgetgruppe für eine komplette Steuerung ist auf englisch in der Readme zu finden.
Bei Fragen wie immer hier im Forum schreiben.
Ich freue mich über reges testen und Vorschlag von Erweiterungen.
Fehler können hier, aber auch auf github https://github.com/oweitman/ioBroker.mytime
gemeldet werden.Cool wäre es noch wenn man einen Farbverlauf in Abhängigkeit der Zeit hätte.
-
@spaceduck
Redis ist ja keine Adapter spezifische Einstellung
Sondern betrifft das speichern aller states.@OliverIO said in Test Adapter mytime v0.1.x:
@spaceduck
Redis ist ja keine Adapter spezifische Einstellung
Sondern betrifft das speichern aller states.Das ist mir schon klar, ich kann das aber mit der Auslastung reproduzieren indem ich zwischen beiden Varianten Der Statespeicherung wechsle. States mit redis Speichern erzeugt ausschließlich beim mytime Adapter und bei redis eine hohe CPU Last, mit JSON läuft es normal. Warum das so ist und warum es im speziellen bei dir nicht so ist kann ich nicht beantworten.
-
@OliverIO said in Test Adapter mytime v0.1.x:
@spaceduck
Redis ist ja keine Adapter spezifische Einstellung
Sondern betrifft das speichern aller states.Das ist mir schon klar, ich kann das aber mit der Auslastung reproduzieren indem ich zwischen beiden Varianten Der Statespeicherung wechsle. States mit redis Speichern erzeugt ausschließlich beim mytime Adapter und bei redis eine hohe CPU Last, mit JSON läuft es normal. Warum das so ist und warum es im speziellen bei dir nicht so ist kann ich nicht beantworten.
@spaceduck
Welche Iobroker Version benutz du? -
@spaceduck
Welche Iobroker Version benutz du? -
@OliverIO
Hatte ich schon mal Weiter oben gepostet, hier nochmal die VersionenioBroker.admin 4.1.1
JS controller 3.1.5ich habe mal auf meinem raspi-testsystem ebenfalls auf redis umgestellt und iobroker und admin auf die neueste Version aktualisiert.
System funktioniert weiterhin einwandfrei.Allerdings ist mir aufgefallen, das durch aktivieren dieses Adapters die Last des redis-servers von 0.7 auf 5% bis 10% der cpu steigt. wie gesagt, der pi3 war dadurch lang nicht ausgelastet.
die höhe der Auslastung ist zwar nicht so plausibel, aber kann ich mir erklären, da ich ja jede Sekunde die states abfrage, ob sich da etwas geändert hat.
Ein weiterer Adapter, frag ebenfalls sehr häufig die states ab (auch jede Sekunde ein mal). Dort erhöht sich die Last des redis-servers aber nur wenig (last 3%-5% auf pi3).Da ich bei mytime die states per Range abfrage (also mytime.0.*) komme ich zum Schluss, das dies wohl redis mehr fordert.
Ich werde mal schauen, ob ich das optimieren kann. -
@OliverIO sagte in Test Adapter mytime v0.1.x:
neues Widget, Countdowntimer im Nixie-tube/LED-style
Scheint zwar auf, wird aber in der Vis (weder Edit noch produktiv) angezeigt.

-
@OliverIO sagte in Test Adapter mytime v0.1.x:
Nixie-tube/LED-style
Commando retour

Wird jetzt im Produktiv angezeigt und im Edit auch.
Hat wohl etwas gedauert trotz nochmaligem Upload.Schriftgröße geht unter CSS Font & Style nicht zu ändern.
Wird hier ein eigener CSS benötigt?
-
