NEWS
Restlaufzeitanzeige - Umsetzungsidee gesucht
-
@codierknecht sagte in Restlaufzeitanzeige - Umsetzungsidee gesucht:
@wolfgangfb sagte in Restlaufzeitanzeige - Umsetzungsidee gesucht:
ich suche eine Lösung, wie man das optimieren kann wenn man eben mehr als einen Countdown hat
Statt 16 DP könnte man einen nehmen und die Timer als Array oder JSON verwalten.
Das eigentliche Problem behebt das allerdings nicht.Doch, an die Lösung mit Array oder Json habe ich auch schon gedacht, ich weiß dann nur nicht wie ich in VIS aus einem Json oder einem Array genau einen Wert anzeige, wenn Du mir dazu einen Lösungsansatz nennen könntest wäre mir geholfen.
Das ist aber eher ein hypothetisches Problem. Oder hast Du tatsächlich 16 Timer gleichzeitig laufen?
Ich habe mehr als 16 Lampen Ich habe natürlich nich für jede Lampe ein eigenes Skript.
Ich habe genau ein Skript, dass einmal jede Sekunde ausgeführt wird. Das geht über eine Schleife alle Lampen durch,const LichtStateDP = $('alias.0.Raum.*.Licht.*.state'); ... schedule("*/1 * * * * *", function () { var AktuelleZeit = (new Date().getTime()); for(var i=0; i<LichtStateDP.length; i++){ var LichtState = getState(LichtStateDP[i]).val; // ist das Licht eingeschaltet if (LichtState == true){ // Zeeiten überprüfen, Licht ausschalten etc.
wenn die Lampe eingeschaltet ist schaut es nach, wie lange die ohne zugeordnete Bewegung an sein darf, berechnet die Zeit wie lange die Lampe schon an ist, ist die Zeit kleiner als die erlaubte Zeit wird in den Restlaufzeit Datenpunkt die verbleibende Zeit geschrieben (die dann in VIS für die entsprechende Lampe angezeigt wird), dieser Schreibvorgang ist der kritische Punkt! Ist die Zeit größer als die erlaubte Zeit, wird die Lampe ausgeschaaltet.
Zur Not könnte man im Adapter auch das Limit auf 1.000 einfach erhöhen. Holzhammermethode
Das will ich ja gerade vermeiden.
Ist eigentlich nur das Schreiben von Datenpunkten so schlimm oder sollte man auch das Lesen reduzieren (in meinem Fall auf die Lichtereignisse zusätzlich triggern und die Zustände in einem Array halten)?
-
da könnte ich diesen adapter von mir empfehlen
https://github.com/oweitman/ioBroker.mytimedarin gibt es den countdown timer mit entsprechenden anzeige widgets.
das sekündliche abfragen macht eigentlich kein sinn, wenn dann würde ich nur was machen wenn tatsächlich auch was passiert (licht ein: timer starten, licht aus: timer stoppen/resetten, timer abgelaufen: licht aus)
-
@wolfgangfb sagte: sollte man auch das Lesen reduzieren (in meinem Fall auf die Lichtereignisse zusätzlich triggern und die Zustände in einem Array halten)?
Es reduziert auch die Systemlast, obwohl Lesen (aus dem JS-Instanz-Puffer) weit weniger komplex ist als Schreiben.
-
@oliverio sagte in Restlaufzeitanzeige - Umsetzungsidee gesucht:
da könnte ich diesen adapter von mir empfehlen
https://github.com/oweitman/ioBroker.mytimedarin gibt es den countdown timer mit entsprechenden anzeige widgets.
Die Installation klappt bei mir nicht. Ich uss den ja aus github installieren.
Es kommt:$ iobroker url https://github.com/oweitman/iobroker.mytime --host raspberrypi --debug install oweitman/iobroker.mytime#d3d71b42d0320f577230e10452f2855ad0a8cd48 NPM version: 8.15.0Installing oweitman/iobroker.mytime#d3d71b42d0320f577230e10452f2855ad0a8cd48... (System call)
und dann passiert (seit 10 Minuten) nichts.
Aber mal rein vom Verständnis. Wenn ich das richtig verstehe setzt der ja auch jede Menge Datenpuinkte. Ist das aus einem Adapter weniger schlimm als aus einem Javascript? -
@wolfgangfb
Nein du solltest ihn von Stable
Installieren
Aktuell bin ich in Vorbereitung einer neuen Version die mit der aktuellen Admin besser arbeitet. Auf Guthaben ist der aktuelle nicht langfädige EntwicklungsstandJe nach Browser kann es aktuell etwas schwierig sein ein neuen Countdown Timer einzurichten
-
@oliverio sagte in Restlaufzeitanzeige - Umsetzungsidee gesucht:
Auf Guthaben ist der aktuelle nicht langfädige Entwicklungsstand
Hat hier die Textersetzung zugeschlagen? Ich versteh' nur Bahnhof
-
@codierknecht
Ja
Guthaben = Github
Und
Lauffähig -
@oliverio sagte in Restlaufzeitanzeige - Umsetzungsidee gesucht:
Nein du solltest ihn von Stable Installieren
Servus! Ich bin auf Stable
dein Adapter wird mir aber leider nicht angeboten?
Im Repro Latest wird mir die v 0.7.12 angeboten
Soll ich besser warten bis
Aktuell bin ich in Vorbereitung einer neuen Version die mit der aktuellen Admin besser arbeitet.
Danke für deine Arbeit!
LG, mxa -
hm,
der adapter muss automatisch deinstalliert worden sein.
selbst auf meiner entwicklungsmaschine ist er nicht mehr
leider fin ich auf github da kein commit in den repositories
wo das entfernt worden ist -
@oliverio Danke für deine Rückmeldung. Ich warte mal ab, bis sich da oder dort was tut. Du für dein dankenswertes Hobby Zeit hast.
LG