NEWS
Laufzeit Gerät berechnen
-
Nimm den aktualisiere Baustein. Dort kannst du dann die Variable rein setzten, genau so wie einen Datenpunkt (anstatt dem "Wert von").
Du kannst im Text erstellen Block auch noch mit den Mathematik Bausteinen arbeiten. Dann kannst du es dir noch in Stunden etc umrechnen.
-
habe es jetzt so angepasst, aber der datenpunkt zählt einfach nicht hoch.
-
Word die erste Telegram denn versendet?
-
@balzmatthias ich kenne die Funktion Pause nicht und weiß nicht was die wirklich tut.
Hast du die mal gegen ein Timeout getauscht?
Hast du mal debug Bausteine eingebaut um zu sehen, welche Teile des Skripts überhaupt ablaufen? -
Pause hab ich letzte Woche auch zum ersten Mal verwendet.
Hatte ein Skript was von der Logig her komplett richtig war.
Wurden auch einige Variablen geschrieben, auch zu Datenpunkten. Eine Variable hatte nie geklappt. Nachdem ich dann an eine Stelle eine 30ms Pause eingefügt habe, hat alles geklappt. -
@david-g sagte in Laufzeit Gerät berechnen:
Wurden auch einige Variablen geschrieben, auch zu Datenpunkten. Eine Variable hatte nie geklappt. Nachdem ich dann an eine Stelle eine 30ms Pause eingefügt habe, hat alles geklappt.
javascript arbeitet asynchron. Wenn du Werte aus frisch geschriebenen Datenpunkten verwendest, kann es sein dass der neue Wert noch nicht da angekommen ist.
Daher bitte immer die vollständigen Skripte posten
-
@homoran
das ist das vollständige script, was ja auch soweit funktioniert, bis auf die Variable die hochzählen soll. -
@balzmatthias sagte in Laufzeit Gerät berechnen:
das ist das vollständige script
ist mir klar, aber du schriebst
@david-g sagte in Laufzeit Gerät berechnen:
Hatte ein Skript
darauf habe ich mich bezogen!
bleiben die restlichen Fragen:
@homoran sagte in Laufzeit Gerät berechnen:
Hast du mal debug Bausteine eingebaut um zu sehen, welche Teile des Skripts überhaupt ablaufen?
ich würde außerdem noch im Falls nach laufzeit=0 filtern, da das Falls sonst dauernd wieder gestartet wird
und dann natürlich ein stop Intervall vorherEdit:
ist blödsinn
du triggerst ja auf den StateAlso erst mal debugs um zu sehen wo es hängt
-
Konnte es auch nicht nachvollziehen.
Da es jetzt klappt, mache ich auch kein Thread für auf.
Falls du es sehen möchtest zeige ich es grade mal kurz off topic.Das Skript ist für dieses Passworteibgabefeld. Leider kennt Lovelace keine Passwortfelder.
VideoHier das Skript (geht evtl auch viel leichter )
Wo genau das Problem lag, weiß ich nicht mehr. Die Pause hat aber das Problem gelöst.
-
vielleicht hilft dir ja ein vorbereitetes Blockly?
https://forum.iobroker.net/post/437865 -
@david-g sagte in Laufzeit Gerät berechnen:
Das Skript ist für dieses Passworteibgabefeld. Leider kennt Lovelace keine Passwortfelder.
Videobitte keine Links oder Dateien!
So etwas nutzt mobil weder etwas, noch hilft es.Code in Code-tags und ggf.. in Spoiler posten!
was ist jetzt mit deinen debug-Ergebnissen?
-
Okay,
Lasse Links ab sofort. Vieles lässt sich eben schlecht als Bild oder gif darstellen. Ein Youtube Video zeigt es besser. Wobei das mit externen Quellen schon stimmt, allein wegen Haftungsfragen.
Hab ich Code gepostst, der nicht entsprechend in Tags ist?
Beim Debug war vermutlich nicht ich gemeint.
-
@david-g sagte in Laufzeit Gerät berechnen:
Beim Debug war vermutlich nicht ich gemeint.
Ooops - da hattest du wohl den Thread gekapert, dass ich dachte du wärst der Threadersteller
-
@balzmatthias
Ich hatte das Problem auch einmal und konnte es beheben, indem ich den Datenpunkt mit "aktualisiere nach Zahl" aktualisieren lasse.
Vielleicht hilft das ja weiter.
EDIT sagt:
Du kannst das Skript auch noch etwas vereinfachen, indem Du bei "falls" nur Wert = wahr nimmst.
Da der Trigger ja Status_Fernseher ist, wird so auch automatisch dieser Wert genommen. -
@jockel_bln sagte in Laufzeit Gerät berechnen:
Du kannst das Skript auch noch etwas vereinfachen, indem Du bei "falls" nur Wert = wahr nimmst.
und wenn du unbedingt kürzen willst schreibst du nur noch "falls Wert", das wahr ist impliziert
-
@homoran
Sorry, ich bin auch erst noch beim Lernen und stehe gerade etwas auf dem Schlauch.
Meinst Du so:
Wieder was gelernt, danke für den Tipp -
@jockel_bln sagte in Laufzeit Gerät berechnen:
Meinst Du so:
Ja!
und statt false: "falls nicht Wert"
-
Hier schlägt @paul53 nkch eine Variante mit Zeitstempeln vor.
So habe ich es jetzt bei meinen TV umgesetzt.Muss ja nur minimal angepasst werden, wenn man sofort nach dem Ausschalten den Wert zugesendet haben möchte. Ich zähle die Tagesgesamtzeit.
Der "Nachteil" bei der Variante ist, dass man den Wert erst nach dem Ausschalten des Gerätes bekommt.
-
Hallo,
ich melde mich auch mal.
Bin vom ermitteln der Laufzeit wieder zurück zu dieser Variante, da sich das Verhalten um Mitternacht besser beeinflussen lässt (falls das Gerät beim Tageswechsel eingeschaltet ist).Habe das Hochzählen in eine Funktion gepackt, damit ich es auch auslösen kann, falls das Skript neustartet während die Zeit hochgezählt wird (mit anhalten des Skripts stopt vermutlich auch der Intervall?).
Allerdings habe ich ein kleines Problem. An sich klappt das hochzählen. Es wird auch schön addiert, wenn das Gerät aus und eingeschaltet wird.
Wenn jedoch das Skript während das Gerät aus ist (im Zustand "an" noch nich getestet) neugestartet wird, fängt er an bei 0 los zu zählen anstatt bei dem Wert aus dem Datenpunkt.
Zum testen habe ich schon wo es geht alles in eine Zahl gewandelt.