Ankündigung

Einklappen
Keine Ankündigung bisher.

Zeit rückwärts zählen, Ablauftimer

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

    Zeit rückwärts zählen, Ablauftimer

    Hallo zusammen,

    folgendes möchte ich umsetzen.
    Die Kinder sollen nicht nehr als 2h / Tag Geräte wie PC,PS3 oder TV benutzen.
    Steckdose ist via enocean am KNX Bus. Kann also Steckdose via Bus an/ausschalten etc.
    Zusätzlich sind alle Steckdosen an einem Aktor mit Strommessung.
    Anhand der mA Werte kann ich erkennen, ob TV etc aktiv ist, nämlich immer dann wenn mA größer 800 ist.
    Mit delay kann man ja Zeit als Ablauftimer angeben. Nur schalten die Kinder ja die Geräte zwischndurch mal aus. Hier müsste der Ablauftimer stehen bleiben, bis mA wieder größer 800 ist etc etc. Nach Erreichen der 120 min ist dann Schicht.

    Hat jemand schon ein ähnl. Makro erstellt. Wie kann ich das lösen?

    Danke im Voraus

    Gruß

    Ralf

    #2
    ich hab einen Zähler.. der funktioniert eigentlich genau so.. nur
    anders rum..

    bin jetzt nicht am PC.. aber grob geschrieben wars etwa so:

    if cycle(01,00) and TV_Status == EIN then var=var +1u08 endif
    if var == 120u08 then write "GA TV Aktor", AUS); var = 0u08 endif

    getippt am iphone..

    Gruß Martin
    Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

    Kommentar


      #3
      Zitat von amazing Beitrag anzeigen
      Hallo zusammen,
      Mit delay kann man ja Zeit als Ablauftimer angeben. Nur schalten die Kinder ja die Geräte zwischndurch mal aus. Hier müsste der Ablauftimer stehen bleiben, bis mA wieder größer 800 ist etc etc. Nach Erreichen der 120 min ist dann Schicht.
      Schau dir mal Afterc und Delayc an, am besten auch mal die Sufu nutzen fuer Beispiele hier im Forum.
      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
      Enertex Produkte kaufen

      Kommentar


        #4
        Zitat von enertegus Beitrag anzeigen
        Schau dir mal Afterc und Delayc an, am besten auch mal die Sufu nutzen fuer Beispiele hier im Forum.
        Hatte bei der Sufu nach Ablauftimer, Zähler rückwärts und weitere gesucht, war aber nicht erfolgreich. Delayc etc. schau ich mir an, danke für den Hinweis.

        Kommentar


          #5
          Zitat von Brick Beitrag anzeigen
          ich hab einen Zähler.. der funktioniert eigentlich genau so.. nur
          anders rum..

          bin jetzt nicht am PC.. aber grob geschrieben wars etwa so:

          if cycle(01,00) and TV_Status == EIN then var=var +1u08 endif
          if var == 120u08 then write "GA TV Aktor", AUS); var = 0u08 endif

          getippt am iphone..

          Gruß Martin
          Würde ja auch gehen. Zum Verständnis wenn TV aus ist und nach z.B 55 min wieder an ist, wird dann var den Wert haben als TV ausgeschaltet worden ist, so dass jetzt nach der Unterbrechung weitergezählt wird?
          Wenn dem so ist, dann wäre es schon die Lösung, oder? Bräuchte nicht mit delayc arbeiten.
          Muss var in der Section variabeln definiert sein?

          Gruß

          Ralf

          Kommentar


            #6
            achso und könnte man var anzeigen um zu sehen wieviel Restzeit noch da ist?


            Gruß

            Ralf

            Kommentar


              #7
              Martin hat doch die Lösung auf dem Silbertablett serviert ...

              Kommentar


                #8
                Zitat von amazing Beitrag anzeigen
                achso und könnte man var anzeigen um zu sehen wieviel Restzeit noch da ist?
                das ist genau auch, was delayc macht.
                offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                Enertex Produkte kaufen

                Kommentar


                  #9
                  Zitat von Jambala Beitrag anzeigen
                  Martin hat doch die Lösung auf dem Silbertablett serviert ...
                  ja schon... versteh aber noch nicht, ob bei Unterbrechung var den bis dahin gültigen Wert behält und bei Wiederanschalten var weiter um 1 erhöht wird., oder wird var dann auf 0 gesetzt?

                  Ansonsten habe ich es so eingebaut. @ Martin, vielen Dank für den Code

                  [highlight=epc]
                  if "YT Strom-6/3/4">800f16 then TV_Status =EIN else TV_Status=AUS endif
                  if cycle(01,00) and TV_Status == EIN then varTV=varTV +1u08 endif
                  if varTV == 120u08 then write ("mobileSD-4/1/0",AUS); varTV = 0u08 endif
                  [/highlight]

                  Kommentar


                    #10
                    Wer oder was sollte denn var zurücksetzen wenn Du dies nicht selbst per Code machst?

                    Ich würde dies hier bei der Anforderung jede Nacht um 24 Uhr machen.

                    Kommentar


                      #11
                      jupp, momentan wird nach Erreichen der 120 min. auf null gesetzt, während Steckdose ausbleibt, Steckdose wird erst wieder am nächsten Tag zur Zeit x auf AN gestellt.

                      Kommentar


                        #12
                        sorry, dass ich mich jetzt erst melde..

                        var würde nicht zurück gesetzt werden.. du kannst dir
                        die Variable in der Visu anzeigen lassen.. und nach
                        120 min wird die Steckdose ausgeschaltet..

                        jetzt baust noch sowas wie
                        if htime (00,00) then var=0u08 endif
                        dann startet der counter täglich neu..

                        evtl. würd ich mir noch ne freigabe einstellen,
                        um als elternteil auch mal nen längeren Film sehen
                        zu können..
                        also
                        if var==120u08 and eltern_freifabe then write...

                        Gruß Martin
                        Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                        Kommentar


                          #13
                          Zitat von Brick Beitrag anzeigen
                          sorry, dass ich mich jetzt erst melde..

                          var würde nicht zurück gesetzt werden.. du kannst dir
                          die Variable in der Visu anzeigen lassen.. und nach
                          120 min wird die Steckdose ausgeschaltet..

                          jetzt baust noch sowas wie
                          if htime (00,00) then var=0u08 endif
                          dann startet der counter täglich neu..

                          evtl. würd ich mir noch ne freigabe einstellen,
                          um als elternteil auch mal nen längeren Film sehen
                          zu können..
                          also
                          if var==120u08 and eltern_freifabe then write...

                          Gruß Martin

                          kein Thema, aber genauso habe ich es gemacht. Habe eine Freigabevariabel definiert und kann diese mit UmschaltButtonZustandVar in der Visu schalten.
                          Die Zeit lass ich mi§ auch anzeigen.
                          Dein Code hat mir sehr gut geholfen, die weiteren Anpassungen habe ich dann hinbekommen.

                          Kommentar

                          Lädt...
                          X