Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Dimmwert zwischenspeichern und wieder aufrufen

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

    - √ - Dimmwert zwischenspeichern und wieder aufrufen

    Hallo Ihrs,

    Gegeben sei folgende Situation:
    In der Küche steht das Deckenlicht auf z.B. 30% gedimmt. Nun komme ich mit dem Staubsauger (da brauche ich 100% Licht - der EibPC soll sich vorher aber den eingestellten Dimmwert von z.B. 30% merken) - und bin kurz später damit fertig (Staubsauger aus oder ich weg). Nun soll der ursprüngliche Status wieder gesetzt werden (30%).

    Erläuterung:
    - Staubsauger läuft, wenn er an Steckdose "EG SD Staubsauger SV-4/1/16" > 4A Strom zieht (hier: 4.0f16)
    - "EG Ku BM Auro motionout-2/1/3" zeigt, wenn ich mich in der Küche bewege (Nachlaufzeit 30s, wird nicht für Licht verwendet)
    - "EG Ku BM Auro luxout-2/1/5"<1200.0f16 - Es ist kleiner 1200 Lux hell - sonst brauche ich kein Licht zum Saugen.

    Der Code:
    [highlight=epc]
    // Variable einmalig initialisieren
    EG_Ku_Deckenlicht_Dimmer_Memory=100%
    // Wenn Staubsauger an und Bewegung in der Küche und es dort zu dunkel ist: Aktuellen Dimmwert merken und Licht 100% an
    if ("EG SD Staubsauger SV-4/1/16">4.0f16) and ("EG Ku BM Auro motionout-2/1/3" == EIN) and ("EG Ku BM Auro luxout-2/1/5"<1200.0f16) then {
    EG_Ku_Deckenlicht_Dimmer_Memory="EG Kü Deckenlicht Helligkeitswert RM-3/1/25";
    write("EG Kü Deckenlicht Helligkeitswert-3/1/24", 100%)
    } endif
    // Wenn Staubsauger oder Präsenz aus geht, stelle wieder auf alten Dimmwert zurück //
    if ("EG SD Staubsauger SV-4/1/16" < 4.0f16) or ("EG Ku BM Auro motionout-2/1/3" == AUS) then { write("EG Kü Deckenlicht Helligkeitswert-3/1/24", EG_Ku_Deckenlicht_Dimmer_Memory) } endif
    [/highlight]

    funktioniert leider nicht. EG_Ku_Deckenlicht_Dimmer_Memory wird immer auf 0 gesetzt. Das Licht geht also nach dem Saugen aus und der Dimmwert wird auf 0 gesetzt. Wie kann ich erreichen, dass der vorherige Wert "gemerkt" und später wieder gesetzt wird?

    Gruß, Joachim
    EibPC - Wiregate

    #2
    ich hoff ich erzähl keinen Scheiß..

    aber ich würds mal mit:
    [highlight=epc]
    EG_Ku_Deckenlicht_Dimmer_Memory=read "EG Kü Deckenlicht Helligkeitswert RM-3/1/25"
    [/highlight]
    probieren....

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

    Kommentar


      #3
      Zitat von joda123 Beitrag anzeigen
      EG_Ku_Deckenlicht_Dimmer_Memory wird immer auf 0 gesetzt
      Also von der Logik her sieht das OK aus, würde ich auch so machen. Mir kommt es so vor, daß Du beim Auslesen des Istwertes vor dem Speichern bereits eine 0 bekommst. Am besten mal mit dem Debugger die Werte anschauen bevor Du den Staubsauger einschaltest. Dann siehst Du, was drin steht bzw. geliefert wird. Einfach mal mit dem Debugger die GA auslesen, erst den Wert vom EIBPC, dann mal nen Bus-Read absetzen und schauen, was da zurückkommt. Evtl. auch ein Thema mit der Variablendefinition.
      Nur mal so auf die schnelle wie ich an die Sache herangehen würde...

      Kommentar


        #4
        yep. Vielleicht noch ein initga("EG Kü Deckenlicht Helligkeitswert RM-3/1/25") dazu und sicher sein per ETS das der Helligkeitswert auch wirklich ankommt...

        Kommentar


          #5
          Zitat von Brick Beitrag anzeigen
          ich hoff ich erzähl keinen Scheiß..
          [highlight=epc]
          EG_Ku_Deckenlicht_Dimmer_Memory=read "EG Kü Deckenlicht Helligkeitswert RM-3/1/25"
          [/highlight]
          nee, read hat keinen Rückgabewert.
          offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
          Enertex Produkte kaufen

          Kommentar


            #6
            Hallo,

            kontrolliere doch mal den Begriff:

            if ("EG SD Staubsauger SV-4/1/16">4.0f16)
            mich wundert, das SV in einer anderen Farbe dargestellt wird, als ob es nicht als eine Adresse erkannt wird!
            Der schöne Niederrhein läßt Grüssen

            Andreas


            Alter Hof mit neuer Technik

            Kommentar


              #7
              Das mit dem SV ist schon richtig so, da die Forensoftware nachdem Einfärben noch die Quicklinks zum Lexikon (hier SV=Spannungsversorgung) drüberbügelt.
              Gruß, Markus
              Über Mobile Device

              Kommentar


                #8
                Nach Änderung der Zeile 5 von
                EG_Ku_Deckenlicht_Dimmer_Memory="EG Kü Deckenlicht Helligkeitswert RM-3/1/25";
                nach
                EG_Ku_Deckenlicht_Dimmer_Memory="EG Kü Deckenlicht Helligkeitswert-3/1/24";
                funktioniert das Programm jetzt! Ich verwende jetzt also nicht mehr das Rückmelde-Objekt, sondern das Objekt zum Setzen des Helligkeitswertes. Dieser Wert wird nur einmal übertragen, während über das Rückmeldeobjekt beim Ein- oder Ausschalten eine Anzahl von Telegrammen geschickt werden. Ursache ist das langsame Auf- bzw. Abdimmen beim Ein- und Ausschalten.

                Weshalb der Code bei Verwendung des RM-Objektes immer eine Null geliefert hatte, ist mir zwar immer noch nicht klar. Aber letztlich funktioniert der geänderte Code nun.

                Das Debuggen habe ich mir deutlich erleichtert, indem ich mir auch diesen Memory-Wert auf den Bus geschrieben habe und mir alle relevanten Objekte in der Comet-Visu des Wiregate angezeigt bzw. veränderbar (als Schalter) ausgeführt habe. Die Comet-Visu des Wiregate aktualisiert die Darstellung auf dem iPad "life", also in <1s. Da braucht man nicht erst auf den nächsten Refresh des Webservers auf dem EibPC warten.

                Vielen Dank für Eure Unterstützung!

                Gruß, Joachim



                Sent from my iPad using Tapatalk
                EibPC - Wiregate

                Kommentar


                  #9
                  Zitat von joda123 Beitrag anzeigen
                  Ursache ist das langsame Auf- bzw. Abdimmen beim Ein- und Ausschalten.
                  Weshalb der Code bei Verwendung des RM-Objektes immer eine Null geliefert hatte, ist mir zwar immer noch nicht klar. Aber letztlich funktioniert der geänderte Code nun.
                  GGf. hast Du Dir zu früh den Dimmwert des Statusobjekts "gemerkt" - es dauert halt bis der Status vom Bus kommt.
                  offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                  Enertex Produkte kaufen

                  Kommentar

                  Lädt...
                  X