NEWS
[Vorlage]-Blockly Script für Stoppuhr, Laufzeiten aufzeichen
-
aus einer kleinen nachfrage ( @Schlagschatten -danke fürs testen) für eine stoppuhr wurde ein script, welches sich auch zur laufzeitaufzeichnung eignet. würde es hier gerne vorstellen und zur verfügung stellen. einige beispiele für die anwendung:
- simple stoppuhr - start -stop-reset
- messen wie lange der fernseher, computer, pumpen, ... läuft (pro jahr, tag)
- berechnung von stromkosten, bei geräten mit konstanter energieaufnahme z.b infrarotheizung
- allgemein: wieviel zeit (Tage, Stunden, Minuten und Sekunden) sind seit einem ereignis vergangen
nach einer unterbrechung durch den Stopp-Datenpunkt, kann durch aktivieren des Start-Datenpunktes der messvorgang fortgeführt werden ("Stopp wurde dann zur Pause") - die gesamtzeiten werden addiert
es wird kein sekunden-zählen angewendet sondern anhand der startzeit werden die werte berechnet. somit kann
das script auch zählen, wenn iobroker oder das script selbst mal ausfällt oder neugestartet werden muss.je nach dem, was man gerne als priorität der anzeige haben möchte (sekunden, minuten, stunden, tage) kann das script angeglichen werden - somit werden die werte z.b nur einmal pro minute berechnet, wenn das für die anzeige ausreichen ist. das spart rechenleistung. egal welche zeitperiode für das anzeigen gewählt wird, bei der beendigung einer messung, wird der richtige gesamtwert berechnet.
das nächste bild zeigt einen zähler, der am vortag (21:04) gestartet wurde und der iobroker server von 02:00 bis 6:30 abgeschalten war. (durch die berechnung geht leider manchmal eine sekunde verloren - dies ist aber kein additiver wert, da immer neu berechnet wird!)
das script installiert datenpunkte unter javascript.0.STOPPUHR1.
zu beachten:
das ansteuern der datenpunkte (start, stopp, reset) ist wichtig. auch sollten zwischen den schaltvorgängen mindestens 2-3 sekunden vergehen (gleichzeitig stopp und reset ansteuern funktioniert nicht!).
mögliche schaltvorgänge:
start ->stop ->reset
start -> stop ->start ->stop -> ... ... ->stop -> reset
-> hier wird der Stopp-Datenpunkt als "Pause" verwendetdas vorgehen für mehrere gleichzeitig laufende scripte:
nehme das script und öffne es mit einem editor (nicht in iobroker)
- suche nach STOPPUHR1 und ersetze alle mit STOPPUHR2 (für alle anderen scripts ändere die 2 zu der nächsten nummer) - man kann natürlich auch andere namen verwenden
- erst jetzt das bearbeitete script in ein leeres iobroker-blockly-script importieren und sichern
- die Javascriptfunktion "DatenPunktAnlegen" öffnen und kontrollieren, ob die richtigen Datenpunkte darinstehen !!!
- durch das ersetzen hast du alle datenpunkt erzeugt und das script selbst angeglichen
für die vis kann man das auch machen - exportiere dein ganzes widget - ersetze die werte - und importiere es wieder in die vis
ZUSATZ:
wählt man bei mehreren laufenden scripten verschiedene primzahlen als berechnungperiode, kann eine überschneidung der berechnungen vermieden werden
das script:
version 1.1 ("Erststart" als zusätzlicher Datenpunkt)
STOPPUHR-blockly.txtdas widget für den import in die vis
WIDGET-VIS-STOPPUHR.txtSchematische Darstellung
möchte man eine anderes format der datums- oder zeitangabe für den beginn oder das ende der messung, kann man das hier einstellen - Anzeigehilfe entspricht dem Startwert.
ein weiteres vis-beispiel:
download für dieses widget: https://forum.iobroker.net/post/262276 -
@liv-in-sky sagte in [Vorlage]-Blockly Script für Stoppuhr, Laufzeiten aufzeichen ..:
das widget für den import in die vis
keine Dateiendung .....?
-
danke - hab es geändert
-
@liv-in-sky sagte in [Vorlage]-Blockly Script für Stoppuhr, Laufzeiten aufzeichen ..:
ein weiteres vis-beispiel:
Cool, kann man das auch haben?
-
@sigi234 meinst du das blau schwarze widget ?
-
@sigi234 sagte in [Vorlage]-Blockly Script für Stoppuhr, Laufzeiten aufzeichen ..:
Cool, kann man das auch haben?
Für so eine Anfrage den ganzen Beitrag kopieren!?
Und dann noch die Links für das Script und Widget übersehen -
@rantanplan sagte in [Vorlage]-Blockly Script für Stoppuhr, Laufzeiten aufzeichen ..:
Für so eine Anfrage den ganzen Beitrag kopieren!?
Fehler ausgebessert............
-
@liv-in-sky sagte in [Vorlage]-Blockly Script für Stoppuhr, Laufzeiten aufzeichen ..:
@sigi234 meinst du das blau schwarze widget ?
Ja....
-
@rantanplan sagte in [Vorlage]-Blockly Script für Stoppuhr, Laufzeiten aufzeichen ..:
Und dann noch die Links für das Script und Widget übersehen
Ist nicht das Blaue Widget...........
-
das blaue kommt eh nicht von mir - habe bild aus anderem thread kopiert
das ist von @Schlagschatten vielleicht gibt er es dir
-
Prima, werd ich heute Abend gleich mal testen.
-
@rantanplan sagte in [Vorlage]-Blockly Script für Stoppuhr, Laufzeiten aufzeichen ..:
Und dann noch die Links für das Script und Widget übersehen
Man sollte schon genau lesen bevor man so was schreibt............
-
@sigi234 sagte in [Vorlage]-Blockly Script für Stoppuhr, Laufzeiten aufzeichen ..:
@rantanplan sagte in [Vorlage]-Blockly Script für Stoppuhr, Laufzeiten aufzeichen ..:
Und dann noch die Links für das Script und Widget übersehen
Man sollte schon genau lesen bevor man so was schreibt............
Man sollte genauer beschreiben was man will. Und sich etwas mehr Mühe beim Zitieren machen.
Nach Deiner Änderung kann man es auch erkennen. Für mich ist das Thema damit erledigt -
Hallo,
erstmal ein großes Lob an den Entwickler. Hier das Wideget, es sind jqui und justgage icon(bitte vorher unter adapter installieren).
Die blauen Kreise in Vis unter Signalbilder anpassen. Als Beispiel, bei Start blinkt der Kreis um den Play-button und bei Stop bleibt der Kreis um den Stop-button stehen.Hier die Iconbilder
-
Irgenwie begreife ich das Skript nicht, wo muss ich den DP eingeben für zB. Laufzeit meines Geschirrspülers?
-
hier noch ein umgesetztes beispiel, das, wie ich finde , sehr gut aussieht.
-
@sigi234 (sorry - deine frage hab ich übersehen)
das funktioniert anders - wenn der geschirrspüler angeht, setzt man im script den d-punkt start - wenn der geschirrspüler stoppt, setzt man den datenpunkt -stopp -> dann weiß man, wie lange er gelaufen ist - es ist nur eine stopp-uhr. die laufzeit wird nich eingegeben sonder ausgerechnet
-
das was du suchst, könnte man auch machen - durch eine eingabe einer startzeit, könnte ein script einen cron erstellen und würde das dann starten - ich habe sowas mi8t meinem tv gemacht. ich stelle die uhrzeit ein und wähle das programm aus --> das script schaltet dann um diese uhrezeit den tv ein und das gewünschte programm
-
Sag mal, wie hast du dir das mit dem automatischen Anlegen der Datenpunkte vorgestellt.
Unter javascript.0.STOPPUHR1. finde ich nichts. -
wenn das script das erste mal läuft, legt es die datenpunkte an - hast du das script enabled ?