Ankündigung

Einklappen
Keine Ankündigung bisher.

EibPC optimaler code

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

    EibPC optimaler code

    Moin,

    :begin Wert2(GruppenAdresse,Unit,Icon,ButtonID,PageID,Tei ler)
    if (change(GruppenAdresse)==EIN) or (systemstart()==EIN) or (pbutton(ButtonID,PageID)==1) then {
    read(GruppenAdresse);
    pdisplay(ButtonID,convert(convert(GruppenAdresse,T eiler)/Teiler,$$)+Unit,Icon,DISPLAY,GREEN,PageID)
    }endif

    da ich ja noch neu bin und erst die eigenheiten des EibPC skripts leerne wollte ich mal nachfragen ob das Makro was oben steht optimal ist oder ab dies zu unnötigen bus abfragen oder sonstige unnötige last erzeugt.

    #2
    was mir so als erstes einfällt:
    die zwei "==EIN" kannst Du ersatzlos streichen. Nicht falsch, aber auch nicht nötig.
    Das "read(GA)" liest immer wenn sich die GA ändert (und damit eh bekannt ist) die GA noch mal ein. => unnötig
    pack die GA in die [init] Sektion, dann ist sie beim Start aktuell und danach eh immer automatisch.
    ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

    Kommentar


      #3
      Hallo

      Danke für dein Feedback.
      Beim testen ist mir aufgefallen das pbutton abfrage den read befehl braucht.
      Ohne das wird nur beim zyklische senden aktualisiert und man kann dann nicht pushen wenn man auf den button klickt.
      Habe das nun getrennt.

      Kommentar


        #4
        Zitat von PharaDOS Beitrag anzeigen
        Beim testen ist mir aufgefallen das pbutton abfrage den read befehl braucht.
        kann eigentlich nicht sein
        ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

        Kommentar


          #5
          Ohne read liest er ja nur den letzten bekannten Wert. Wenn sich der geändert hat und das KNX-Gerät den nur zyklisch, aber nicht bei Änderung sendet, weiß der EibPC ja nichts davon. mit read kann man halt aktiv lesen lassen.

          Kommentar


            #6
            ok, sorry. Wenn Du KNX-Geräte hast, die eine Änderung nicht aktiv auf den Bus schreiben, dann macht der read() wirklich Sinn. Ich lasse Änderungen grundsätzlich auf den Bus schreiben.
            ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

            Kommentar


              #7
              Ich bin halt noch am überlegen wie ich das mache. Aber wenn du z.b. aktiv abfragen willst dann schadet solche abfrage glaube ich nicht.

              Kommentar


                #8
                nein, dann nicht.
                ich geh halt lieber den anderen Weg, wenn sich was ändert, geht das auf den Bus und dann "wissen alle Bescheid". Den Read machst Du sonst ggf. 20 mal, obwohl der Wert sich nicht geändert hat.
                Ja, ok, ggf. geht natürlich auch 20 mal ein aktualisierter Wert über den Bus, der nicht interessiert.
                Aber für jegliche Art von Visualisierung bist Du eigentlich immer auf laufend aktuelle Werte angewiesen.
                Eine Visu soll sich ja nicht erst dann aktualisieren, wenn ich auf den Knopf drücke.
                ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

                Kommentar


                  #9
                  Also bei jedem Knopfdrücken auf der Visu ein read auslösen ist schon eher kontraproduktiv und nicht notwendig, da der EibPC die Zustände kennt. Sowas bitte erst gar nicht in die Überlegungen mit aufnehmen.
                  Sinnvoll kann das nur sein, z.B. beim zyklischen Abfragen des Windalarms (wobei dann auch sinnvoll sein kann, das Gerät per se zu überwachen, vgl. die EEnertexPhyMonitor.lib und die Beispiele hierzu).
                  offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                  Enertex Produkte kaufen

                  Kommentar


                    #10
                    Ok. Also nur die Geräte zyklisch oder bei änderung senden lassen und einen read befehl also nur beim systemstart senden.
                    Oder selbst bei einem systemstart nur wie uwe beschrieben hat die GA zu initialisieren.

                    Als Sensoren habe ich nur Temperatur, feuchte, co2, enertex smartmeter und die Enertex Spannungsversorgung sowie zwei Wettersensoren.

                    Kommentar

                    Lädt...
                    X