Ankündigung

Einklappen
Keine Ankündigung bisher.

Countdown für Timer bzw. Autotimer

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Countdown für Timer bzw. Autotimer

    Bin seit einiger Zeit am Basteln um geschaltete Steckdosen per Timer oder Autotimer für unterschiedlich lange Zeiten laufen zu lassen.
    Konnte mir bereits einige Buttons erstellen die beim betätigen die Dauer auf den hinterlegten Wert setzen und nach dem Aktivieren der Steckdose diese nach Ablauf der Zeit wieder abschalten.
    Nun möchte ich noch die Info über die Restlaufzeit erhalten so dass quasi ein Countdown läuft, evtl. nur mit Stunden:Minuten oder Minuten:Sekunden.
    Das müsste doch über ausgewählte Laufzeit - last_change_age möglich sein?

    Für Hinweise wäre ich sehr dankbar und den Wert last_change_age habe ich gerade gefunden weshalb ich es noch nicht getestet habe.

    Schon mal vielen Dank für Infos.

    Gruß
    Paul

    #2
    Was ich noch vergessen habe, es ist smarthomeNG 1.6.1 mit dem Image 2.2 von Onkel Andy im Einsatz.
    Den laufenden Countdown will ich dann in smartVISU 2.9 anzeigen lassen.

    Übrigens bin ich von der Arbeit und dem Forum begeistert aber leider habe ich mit Programmierung und Python wenig zu tun.

    Gruß
    Paul
    Zuletzt geändert von bmx; 11.09.2019, 14:36.

    Kommentar


      #3
      Das wird so nicht klappen: Du müßtest ein Item haben, das die Restlaufzeit bereitstellt. Dieses Item könnte dann zwar in der SmartVISU visualisiert werden aber Du hast durch das sich ständig ändernde Item andauernd Änderungen und das ist keinesfalls synchron hinzubekommen.

      Besser wäre es in dem Fall ein Item zu haben, das die Zeitinformation des Ablaufs bereitstellt und damit an die SmartVISU übermittelt wird. Leider kann die SmartVISU zum jetzigen Zeitpunkt keine Zeitdifferenz zwischen der aktuellen Browserzeit und einer von SmartHomeNG gelieferten Zeit darstellen. Das wäre - weil die Differenzberechnung nur im Browser stattfinden würde - dann fix genug.
      Vielleicht findet sich ja aber jemand, der das implementieren möchte ...

      Kommentar


        #4
        Hi bmx,

        das hatte ich mir wohl etwas zu einfach vorgestellt.
        Eigentlich reicht mir auch wenn mir die Endzeit angezeigt wird. Möcht nur in der Visu sehen wann die Steckdose wieder abgeschaltet wird.

        Also Danke für die Infos und Respekt für den geleisteten Support und das tolle Projekt.
        Gruß Paul

        Kommentar


          #5
          Moin Paul,
          ich habe sowas für meine Gartenbewässerung gemacht.
          Folgendes habe ich benötigt
          - Item das den Bewässerungskreis (Lampe, ...) schaltet. In meinem Fall ist das das Item "Rundbeet"
          - Item über das ich in der Visu die Dauer setze
          - Item das zyklisch die Restdauer berechnet in dem es das Alter des Items zwei Ebenen höher von dem Wert des Items eine Ebene höher abzieht. DIeses Item kann dann in der Visu anzeigt werden.
          Code:
          Bewaesserung:
              OnOff:
                  Rasen:
                      Rundbeet:
                          type: bool
                          autotimer: sh..Dauer() = false
                          visu_acl: rw
                          enforce_updates: 'true'
                        
                          Dauer:
                              type: num
                              cache: true
                              visu_acl: rw
                              enforce_updates: 'true'
                            
                              Rest:
                                  type: num
                                  visu_acl: ro
                                  enforce_updates: 'true'
                                  eval: sh...() - sh....age() if sh....() else 0
                                  eval_trigger: ...                  
                                  cycle: 10
          Wie BMX schon angemerkt hat, führt das theoretisch zu ständigen Änderungen. Deshalb habe ich durch cycle:10 die Änderungsrate begrenzt. Ich gebe die Restlaufzeit nur in Minuten mit einer Nachkommastelle an. Das reicht mir.

          Wenn du statt desen anzeigen willst, wann abgeschaltet wird, müsste es reichen in Rest auf das letzte Änderungsdatum (on_change) des Großelternitems die Dauer zu addieren, statt sie von Age abzuziehen.

          Gruß, Sebastian
          Zuletzt geändert von Bainit; 13.10.2019, 12:10.
          Baustelle 2.0 (Detailprogrammierung und Restarbeiten)
          Ruhri? -> Komm zum Stammtisch

          Kommentar

          Lädt...
          X