Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Cycle und Echtzeitvisu

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

    - √ - Cycle und Echtzeitvisu

    Hallo,

    hab mal ne Frage zur Handhabung von cycle... klar, an der Funktion hat sich nichts geändert, aber:

    wenn ich jetzt div. Werte anzeigen lassen will, hab ich das früher immer so gemacht:

    [highlight=epc]
    if cycle(00,30) then {
    pdisplay(2, convert("Aussentemp-1/3/1",$$c14)+$ °C$c14, TEMPERATURE,INACTIVE,GREEN,ObergeschossID);
    pdisplay(20, convert("Isttemp Eltern Schlafzimmer-1/2/1",$$c14)+$ °C$c14, TEMPERATURE,INACTIVE,GREEN,ObergeschossID);
    pdisplay(25, convert("Isttemp Bad-1/2/13",$$c14)+$ °C$c14, TEMPERATURE,INACTIVE,GREEN,ObergeschossID);
    pdisplay(28, convert("Isttemp Kind1-1/2/3",$$c14)+$ °C$c14, TEMPERATURE,INACTIVE,GREEN,ObergeschossID);
    pdisplay(31, convert("Isttemp Kind2-1/2/12",$$c14)+$ °C$c14, TEMPERATURE,INACTIVE,GREEN,ObergeschossID);
    pdisplay(22, convert(convert(convert("HK Eltern Schlafzimmer-1/2/0",0f16)/2.5488f16,0u08),$$)+$ %$, MONITOR,INACTIVE,GREEN,ObergeschossID);
    pdisplay(24, convert(convert(convert("Status HK Bad-1/2/6",0f16)/2.5488f16,0u08),$$)+$ %$, MONITOR,INACTIVE,GREEN,ObergeschossID);
    pdisplay(27, convert(convert(convert("Status HK Kind1-1/2/7",0f16)/2.5488f16,0u08),$$)+$ %$, MONITOR,INACTIVE,GREEN,ObergeschossID);
    pdisplay(30, convert(convert(convert("Status HK Kind2-1/2/8",0f16)/2.5488f16,0u08),$$)+$ %$, MONITOR,INACTIVE,GREEN,ObergeschossID);
    }endif
    [/highlight]

    jetzt möchte ich aber alle Werte Zeitnah geändert haben...

    Unschön wäre so etwas :

    [highlight=epc]
    if change("Aussentemp-1/3/1") or change("Isttemp Eltern Schlafzimmer-1/2/1") or change (....).... then {
    pdisplay(2, convert("Aussentemp-1/3/1",$$c14)+$ °C$c14, TEMPERATURE,INACTIVE,GREEN,ObergeschossID);
    pdisplay(20, convert("Isttemp Eltern Schlafzimmer-1/2/1",$$c14)+$ °C$c14, TEMPERATURE,INACTIVE,GREEN,ObergeschossID);
    pdisplay(25, convert("Isttemp Bad-1/2/13",$$c14)+$ °C$c14, TEMPERATURE,INACTIVE,GREEN,ObergeschossID);
    pdisplay(28, convert("Isttemp Kind1-1/2/3",$$c14)+$ °C$c14, TEMPERATURE,INACTIVE,GREEN,ObergeschossID);
    pdisplay(31, convert("Isttemp Kind2-1/2/12",$$c14)+$ °C$c14, TEMPERATURE,INACTIVE,GREEN,ObergeschossID);
    pdisplay(22, convert(convert(convert("HK Eltern Schlafzimmer-1/2/0",0f16)/2.5488f16,0u08),$$)+$ %$, MONITOR,INACTIVE,GREEN,ObergeschossID);
    pdisplay(24, convert(convert(convert("Status HK Bad-1/2/6",0f16)/2.5488f16,0u08),$$)+$ %$, MONITOR,INACTIVE,GREEN,ObergeschossID);
    pdisplay(27, convert(convert(convert("Status HK Kind1-1/2/7",0f16)/2.5488f16,0u08),$$)+$ %$, MONITOR,INACTIVE,GREEN,ObergeschossID);
    pdisplay(30, convert(convert(convert("Status HK Kind2-1/2/8",0f16)/2.5488f16,0u08),$$)+$ %$, MONITOR,INACTIVE,GREEN,ObergeschossID);
    }endif

    [/highlight]

    gibt es da eine bessere Lösung ??

    ich mein, bei drei -fünf Werten mag das noch ok sein.. aber wenn wie hier im Beispiel 9 oder gar mehr Werte dargestellt werden sollen wird das schon unschön lang !

    evlt. wärs ein Featurewunsch !

    evlt. würde Comobject gehen... allerdings müssten da alle GA's bzw. Variablen vom gleichen Datentyp sein.. und ich will jetzt nicht im comboject mit "convert" anfangen !



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

    #2
    Zitat von Brick Beitrag anzeigen
    gibt es da eine bessere Lösung ??
    Direkt im Makro mitverpacken. Die sonstigen Buttons etc. machen das genauso.
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      Moin Martin,

      warum gibst Du nicht einfach direkt bei Wertänderung jeden Wert aus?

      [highlight=epc]

      if change("Aussentemp-1/3/1") then {
      pdisplay(2, convert("Aussentemp-1/3/1",$$c14)+$ °C$c14, TEMPERATURE,INACTIVE,GREEN,ObergeschossID);
      } endif

      if change("Isttemp Eltern Schlafzimmer-1/2/1") then {
      pdisplay(20, convert("Isttemp Eltern Schlafzimmer-1/2/1",$$c14)+$ °C$c14, TEMPERATURE,INACTIVE,GREEN,ObergeschossID);
      } endif

      ...

      [/highlight]


      Das Ganze läßt sich auch prima in Makros giessen. Schau mal das enertex web makro an.

      Gruß,
      Bernd

      Kommentar


        #4
        Zitat von bmx Beitrag anzeigen
        warum gibst Du nicht einfach direkt bei Wertänderung jeden Wert aus?
        weil es mehr Schreibarbeit gewesen wäre... vieles davon stammt noch von meine EibPC-Anfängen, da war ich mit Macros noch nicht warm...

        auch jetzt scheu ich mich irgendwie davor alles umzuschreiben... Macro hin.. Macro her !

        Aber danke für die Tipps...
        Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

        Kommentar


          #5
          Deine Version hat ja umgekehrt auch den Nachteil, dass Du immer alle Werte neu schreibst, auch wenn sich nur einer davon geändert hat.
          ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

          Kommentar


            #6
            Absolut... schon klar.. am besten wäre jeden einzelnen
            Button per if change() anbinden..

            hab nur gehofft da jetzt irgendwie einfach um viel Schreibarbeit
            zu kommen..

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

            Kommentar


              #7
              Zitat von Uwe! Beitrag anzeigen
              Deine Version hat ja umgekehrt auch den Nachteil, dass Du immer alle Werte neu schreibst, auch wenn sich nur einer davon geändert hat.
              Exakt richtig. Schon alleine aus diesem Grund solltest Du es anders machen!
              offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
              Enertex Produkte kaufen

              Kommentar


                #8
                hab jetzt die Variante mit jedem einzelnen Wert per:
                if change() then ... endif
                zu bestücken..

                das mit dem Macro hat für mich keinen Sinn gemacht, weil
                ich in das Macro ja auch alles übergeben müsste, ID; PageID, GA,
                STATE, usw... wenn ich das alles neu in Macros pflegen müsste (für jeden Button) , kann ichs auch gleich direkt im Code schreiben..

                was ich auch gemacht habe... war doch nicht so viel Arbeit, wie ich Eingangs
                gedacht hatte !!

                Thema erledigt.. !!
                Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                Kommentar


                  #9
                  Also ich habe irgendwann alle "pdisplay"- und "pbutton"-Aufrufe auf Makros umgestellt und würde das auch weiterempfehlen.

                  So kann man an zentraler Stelle optimieren, z.B. "stringformat" statt "convert" einsetzen oder alle Temperatur-Anzeigen auf ein schönes neues Symbol umstellen oder alle Texte grau statt grün machen oder ...

                  Kommentar

                  Lädt...
                  X