Ankündigung

Einklappen
Keine Ankündigung bisher.

Linknx - Bewässerung Delayproblematik

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

    KNX/EIB Linknx - Bewässerung Delayproblematik

    Hi,
    ich habe im Garten eine Bewässerung eingebaut.
    Die Pumpe ist zwar stark, schafft aber nicht aller Beregnet gleichzeitig zu betreiben.

    Ich möchte also folgendes erreichen.

    Regner1 - 10 min
    Regner2 - 2 min
    Regner3 - 2 min

    Folgendes funktioniert nicht, da dann alle Regner gleichzeitig starten:
    <action type="set-value" id="Regner1" value="on" />
    <action type="set-value" id="Regner1" value="off" delay="600"/>
    <action type="set-value" id="Regner2" value="on" />
    <action type="set-value" id="Regner2" value="off" delay="120"/>
    <action type="set-value" id="Regner3" value="on" />
    <action type="set-value" id="Regner3" value="off" delay="120"/>

    Ich kann also nur so arbeiten:
    <action type="set-value" id="Regner1" value="on" />
    <action type="set-value" id="Regner1" value="off" delay="600"/>
    <action type="set-value" id="Regner2" value="on" delay="601" />
    <action type="set-value" id="Regner2" value="off" delay="720"/>
    <action type="set-value" id="Regner3" value="on" delay="721"/>
    <action type="set-value" id="Regner3" value="off" delay="840"/>

    Das ist nicht besonders komfortabel, insbesondere, wenn man jetzt die erste Beregnungszeit verlängern möchte muss man alles weitere berechnen und korrigieren.
    Möchte man es jetzt noch die Gesamtzeit variabel halten wäre das der Ausgangspunkt:

    regner1 60% (von der Gesamtzeit)
    regner2 20% (von der Gesamtzeit)
    regner3 20% (von der Gesamtzeit)

    Hat jemand hierzu Ideen??

    #2
    Mit ein paar weiteren Rules könntest Du Dir eine Sequenz schaffen ... also so in der Art:

    Wenn Regenbit gesetzt ist
    UND alle Regner aus sind, dann Regner1 an und mit Delay aus

    Wenn Regenbit gesetzt ist
    UND wenn Regner1 ausschaltet dann Regner 2 an und mit Delay aus.

    ... sorry, ich bin gerade auf der Arbeit (Mittagspause) und bin zu faul, nachzuschauen, wie man das am Besten in die Linknx-Syntax übersetzt ... müsste aber problemlos machbar sein. Wichtig ist, mit dem Ausschalten des einen Regners, den nächsten zu "triggern".

    Viele Grüße,

    Stefan

    EDIT: Das mit der prozentualen Gesamtzeit habe ich eben erst gesehen - das wird wohl nicht so einfach. Ggf. kann man was mit Variablen - und LUA machen, aber da kenne ich mich dan gaaar nicht aus. Für's Erste würde ich den von mir geschilderten Ansatz verfolgen - und ggf. mit kürzeren Schaltzeiten arbeiten, so dass die Sequenz eben mehrmals durchläuft.
    Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

    Kommentar


      #3
      Die Idee ist nicht schlecht.
      Problem ist hier, dass ich die Kette eh schon mindestens 2 fach durchlaufen muss, da ich eine Böschung habe und diese bei einmaligem langen bewässern wegschwimmt.

      Sprich ich würde nicht

      Regner1
      Regner2
      Regner3
      fertig

      haben, sondern

      Regner1
      Regner2
      Regner3
      Regner1
      Regner2

      fertig.

      Ideen?

      Kommentar


        #4
        Hi,

        mein Vorschlag, damit Du die Prozentuale Beregnung hinbekommst: Nutze PWM.

        Also:
        Regner1 läuft 36 Sek (60%),
        Regner2 läuft 12 Sek (20%),
        Regner3 läuft 12 Sek (20%)
        Die Basiszeit wäre hier 1 Minute. Bei 10 Minuten Beregnungszeit lässt Du die Sequenz 10 mal laufen.

        Die Sequenz machst Du so, dass der Regner1 angestossen werden muss, die anderen werden immer vom Aus-Signal des vorherigen angestossen.
        Jetzt brauchst Du nur noch einen Timer, der den ersten Regner jede Minute anstößt, und das so oft wie Du willst, bis die Beregnungszeit erreicht ist.

        Das kannst Du natürlich frei skalieren, als Basiszeit z.B. 10 Min. nehmen oder 5 Sekunden...


        Andere Idee: Internes Objekt mit Werten 0-5, Regner1 ist AN für die Werte 1,2,3 (60%), Regner2 beim Wert 4 und Regner3 beim Wert 5 (je 20%). Bei 0 sind die alle aus.

        Jetzt zählst Du dieses interne Objekt eine Zeit lang (z.B. 30 Minuten lang, das wäre die Beregnungszeit) minütlich (das wäre die Basiszeit) hoch von 1-5, dann wieder auf 1.

        Nach 30 Minuten setzt Du es auf 0.
        Das geht auch ohne LUA, mit LUA wird es sogar recht einfach.

        So wie ich das sehe, sollte das Deine Anforderungen abdecken:
        1. Die Beregnungszeit wird prozentual auf die Regner aufgeteilt
        2. Es wird nichts so lang beregnet, dass was wegschwimmen könnte.

        Auch ich bin derzeit bei der Arbeit und kann es nicht ausprobieren, aber wenn Du Fragen hast, meld Dich einfach.

        Gruß, Waldemar
        OpenKNX www.openknx.de

        Kommentar


          #5
          Gibt's hier schon Code-Schnipsel für?! Mich würde interessieren, wie es Andere angehen....



          Habe da auch schon was im Einsatz. Was gut läuft ist die Regenerkennung. Mangels Feuchtesensor im Boden mache ich eine einfache Rule über den Regensensor der Wetterstation:

          Code:
          <rule id="RegenCheckAll">
              <condition type="or">
                  <condition type="time-counter" threshold="1h" reset-delay="12h" >
                          <condition type="object" id="WetterstationRegen" value="on" trigger="true" />
                  </condition>
                  <condition type="time-counter" threshold="2h" reset-delay="24h" >
                          <condition type="object" id="WetterstationRegen" value="on" trigger="true" />
                  </condition>
              </condition>
              <actionlist type="on-true">
                          <action type="set-value" id="WetterstationRegenAll" value="1" />
                          <action type="shell-cmd" cmd="/usr/local/bin/prowlknx 'Regen Detect' ON" />
              </actionlist>
              <actionlist type="on-false">
                          <action type="set-value" id="WetterstationRegenAll" value="0" />
                          <action type="shell-cmd" cmd="/usr/local/bin/prowlknx 'Regen Detect' OFF" />
              </actionlist>
          </rule>
          Sollte es innerhalb der letzten 12h insgesamt 1h geregnet haben oder innerhalb der letzten 24h mehr als 2h, so wird "RegenDetect" gesetzt und entsprechend nicht gesprengt. Hier wird natürlich leider nicht die Regenmenge gemessen...

          Ansonsten nutze ich noch die aktuelle Temperatur über die letzten 12h um eine Intensität zu bestimmen....unter 20 Grad wird mal einfach gar nicht bewässert:

          Code:
          <rule id="Temperatur_Intensity_1">
              <condition type="time-counter" threshold="30m" reset-delay="12h" >
                 <condition type="object" id="WetterstationTemperatur" op="gt" value="20" trigger="true" />
              </condition>
              <actionlist type="on-true">
                          <action type="set-value" id="TemperaturIntensityMerker1" value="1" />
              </actionlist>
              <actionlist type="on-false">
                          <action type="set-value" id="TemperaturIntensityMerker1" value="0" />
              </actionlist>
          </rule>
          
          <rule id="Temperatur_Intensity_2">
              <condition type="time-counter" threshold="30m" reset-delay="12h" >
                 <condition type="object" id="WetterstationTemperatur" op="gt" value="24" trigger="true" />
              </condition>
              <actionlist type="on-true">
                          <action type="set-value" id="TemperaturIntensityMerker2" value="2" />
              </actionlist>
              <actionlist type="on-false">
                          <action type="set-value" id="TemperaturIntensityMerker2" value="0" />
              </actionlist>
          </rule>
          
          <rule id="Temperatur_Intensity_3">
              <condition type="time-counter" threshold="30m" reset-delay="12h" >
                 <condition type="object" id="WetterstationTemperatur" op="gt" value="29" trigger="true" />
              </condition>
              <actionlist type="on-true">
                          <action type="set-value" id="TemperaturIntensityMerker3" value="3" />
              </actionlist>
              <actionlist type="on-false">
                          <action type="set-value" id="TemperaturIntensityMerker3" value="0" />
              </actionlist>
          </rule>
          
          <rule id="Temperature_Intensity_All">
                  <condition type="or">
                          <condition type="object" id="TemperaturIntensityMerker1"  trigger="true" />
                          <condition type="object" id="TemperaturIntensityMerker2"  trigger="true" />
                          <condition type="object" id="TemperaturIntensityMerker3"  trigger="true" />
                  </condition>
                  <actionlist type="if-true">
                          <action type="script">
                                  st1 = obj("TemperaturIntensityMerker1");
                                  st2 = obj("TemperaturIntensityMerker2");
                                  st3 = obj("TemperaturIntensityMerker3");
                                  status = math.max(st1, st2, st3);
                                  set("TemperaturIntensityAll", status);
                          </action>
                  </actionlist>
          </rule>
          Die Länge der Bewässerung richtet sich dann nach der "TempraturIntensität".

          Die eigentliche Beregnung sieht dann so aus:

          Code:
          <rule id="BewaesserungAutomatic_Intensity_1">
                  <condition type="and">
                          <condition type="or">
                                  <condition type="timer" trigger="true">
                                          <at hour="5" min="00" />
                                  </condition>
                          </condition>
                          <condition type="object" id="WetterstationRegenAll" value="0" />
                          <condition type="object" id="TemperaturIntensityAll" value="1" />
                  </condition>
                  <actionlist>
                          <action type="shell-cmd" cmd="/usr/local/bin/prowlknx 'Wasser Automatic' Started Intensity1" />
                          <action type="set-value" id="BewaesserungToggleStatus"      value="1" />
                          <action type="set-value" id="BewaesserungToggleStatus"      value="2" delay="3m" />
                          <action type="set-value" id="BewaesserungToggleStatus"      value="3" delay="8m" />
                          <action type="set-value" id="BewaesserungToggleStatus"      value="0" delay="13m" />
                          <action type="shell-cmd" cmd="/usr/local/bin/prowlknx 'Wasser Automatic' Finished Intensity1" delay="13m" />
                  </actionlist>
          </rule>
          Dabei wird mit "BewaesserungsToggleStatus" der Regner ausgewählt, bei "0" sind alle aus:

          Code:
          <rule id="Bewaesserung_Line1_ON">
                  <condition type="time-counter" threshold="2" reset-delay="1" >
                          <condition type="object" id="BewaesserungToggleStatus"  value="1" trigger="true" />
                  </condition>
                  <actionlist>
                          <action type="cancel" rule-id="Bewaesserung_LineAll_OFF" />
                          <action type="set-value" id="BewaesserungGesamtAnAus"    value="0" />
                          <action type="set-value" id="BewaesserungLine1AnAus"   value="1" delay="2s" />
                          <action type="shell-cmd" cmd="/usr/local/bin/prowlknx 'Wasser' Line1 ON" />
                  </actionlist>
          </rule>
          (Ähnlich dann für die anderen zwei Leitungen)

          Prinzipiell funktioniert das auch alles ganz gut, jedoch habe ich es schon ein paar weniger Male erlebt, dass aus irgendwelchen Gründen zwei Regner gleichzeitig an waren und damit natürlich der Druck nicht ausgereicht hat. Ist schwer zu debuggen, da es sich ja nicht reproduzieren lässt. Wobei es natürlich keine ganz große Katastrophe, solange Sie prinzipiell überhaupt ausgehen :-)

          Bei einer höheren Intensität gehe ich überigens auch mehrfach über die Regner um dem Boden die Chance zu geben, das Wasser aufzunehmen.


          Wie gesagt...funktioniert prinzipiell schon ganz gut, aber die Idee, was mit "%" Werten für die Intensität zu machen gefällt mir auch extrem gut...


          Netsrac

          Kommentar


            #6
            Hi,
            ich hab meine Idee mal in linknx gegossen, ist aber bisher nur Testweise im Einsatz (noch keine Beregnung da). Ich hab versucht, es zu kommentieren, vielleicht hilft es jemanden.

            Erstmal die Objekte:
            Code:
                <!-- Eingabeparameter -->    
                <object id="BeregnungEinschalten" gad="11/4/0" init="0">Input: 1 schaltet die Beregnung ein</object>
                <object id="Beregnungszeit" gad="11/4/1" type="5.xxx" init="10">Input: Beregnungszeit in Minuten, sollte vielfaches von 5 (Basiszeit) sein</object> 
            
                <!-- Ausgaenge fuer die Regner -->
                <object id="Regner1" gad="11/5/1" init="0">Output: Regner 1 (60%)</object>
                <object id="Regner2" gad="11/5/2" init="0">Output: Regner 2 (30%)</object>
                <object id="Regner3" gad="11/5/3" init="0">Output: Regner 3 (10%)</object>
            
                <!-- Hilfsgroessen -->
                <object id="Verteiler" type="5.xxx" init="0">
                  Verteilt die Beregnungszeit auf die Regner, wird alle 30 Sek. erhöht.
                  Wert 0    - keine Beregnung, keine Erhöung
                  Wert 1-6  - Regner1
                  Wert 7-9  - Regner2
                  Wert 10   - Regner3
                </object>
                <object id="Hilfszaehler" type="8.xxx" init="0">Zaehlt die bisher abgelaufene Zeit in 30 Sek Schritten runter</object>
            Und dann das Coding:
            Code:
                <rule id="BeregnungEin" description="Schaltet die Beregnung ein bzw. aus">
                  <condition type="object" id="BeregnungEinschalten" value="1" trigger="true"/>
                  <actionlist>
                    <!-- Da der Hilfszaeher in 30 Sekunden-Schritten runtergezaehlt wird, wird er initial auf Beregnungszeit * 2 gesetzt -->
                    <action type="formula" id="Hilfszaehler" x="Beregnungszeit" a="2"/>
                    <!-- Verteiler initialisieren -->
                    <action type="set-value" id="Verteiler" value="0"/>
                  </actionlist>
                  <actionlist type="on-false">
                    <!-- Verteiler zuruecksetzen (Beregnung aus) -->
                    <action type="set-value" id="Verteiler" value="0"/>        
                  </actionlist>
                </rule>
                
                <rule id="Regner1Schalten" description="Schaltet den Regner in Abhängigkeit vom Verteiler ein bzw. aus">
                  <condition type="and">
                    <!-- Ueber die Condition wird der prozentuale Anteil für den Regner festgestellt (Anzahl der 30 Sek. Zeitscheiben) -->
                    <condition type="object" id="Verteiler" op="gte" value="1" trigger="true"/>
                    <condition type="object" id="Verteiler" op="lte" value="6"/>
                  </condition>
                  <actionlist>
                    <action type="set-value" id="Regner1" value="on"/>
                  </actionlist>
                  <actionlist type="on-false">
                    <action type="set-value" id="Regner1" value="off"/>
                  </actionlist>
                </rule>
                
                <rule id="Regner2Schalten" description="Schaltet den Regner in Abhängigkeit vom Verteiler ein bzw. aus">
                  <condition type="and">
                    <!-- Ueber die Condition wird der prozentuale Anteil für den Regner festgestellt (Anzahl der 30 Sek. Zeitscheiben) -->
                    <condition type="object" id="Verteiler" op="gte" value="7" trigger="true"/>
                    <condition type="object" id="Verteiler" op="lte" value="9"/>
                  </condition>
                  <actionlist>
                    <action type="set-value" id="Regner2" value="on"/>
                  </actionlist>
                  <actionlist type="on-false">
                    <action type="set-value" id="Regner2" value="off"/>
                  </actionlist>
                </rule>
                
                <rule id="Regner3Schalten" description="Schaltet den Regner in Abhängigkeit vom Verteiler ein bzw. aus">
                  <condition type="and">
                    <!-- Ueber die Condition wird der prozentuale Anteil für den Regner festgestellt (Anzahl der 30 Sek. Zeitscheiben) -->
                    <condition type="object" id="Verteiler" value="10" trigger="true"/>
                  </condition>
                  <actionlist>
                    <action type="set-value" id="Regner3" value="on"/>
                  </actionlist>
                  <actionlist type="on-false">
                    <action type="set-value" id="Regner3" value="off"/>
                  </actionlist>
                </rule>
                
                <rule id="BeregnungDurchfuehren" description="Weiterschalten des Verteilers alle 30 Sekunden">
                  <condition type="and">
                    <!-- Nur wenn die Beregnung an ist wird alle 30 Sekunden weitergeschaltet -->
                    <condition type="object" id="BeregnungEinschalten" value="1"/>
                    <condition type="timer" trigger="true">
                      <every>30</every>
                    </condition>
                  </condition>
                  <actionlist>
                    <!-- Der Hilfszaehler wird decrementiert -->
                    <action type="formula" id="Hilfszaehler" x="Hilfszaehler" c="-1"/>
                    <!-- Der Verteiler wird incrementiert -->
                    <action type="formula" id="Verteiler" x="Verteiler" c="1"/>
                  </actionlist>
                </rule>
                
                <rule id="VerteilerZuruecksetzen" description="Verteiler soll nur von 1-10 laufen, bei 11 wird wieder auf 1 gesetzt">
                  <!-- Robustness: Eigentlich wird max. der Wert 11 erreicht, aber wir setzen auch bei groesseren Werten zurueck -->
                  <condition type="object" id="Verteiler" op="gte" value="11" trigger="true"/>
                  <actionlist>
                    <action type="set-value" id="Verteiler" value="1"/>
                  </actionlist>
                </rule>
                
                <rule id="BeregnungEnde" description="Ende der Beregnung">
                  <condition type="object" id="Hilfszaehler" op="lt" value="1" trigger="true"/>
                  <actionlist>
                    <!-- Hier ist der delay wichtig, da sonst manchmal der Verteiler auf 1 haengen bleibt -->
                    <action type="set-value" id="BeregnungEinschalten" value="0" delay="1"/>
                  </actionlist>
                </rule>
            Zur Sicherheit würde ich die Aktoren, die die Ventile schalten, so parametrisieren, dass sie automatisch nach einiger Zeit ausgehen - nur falls linknx mal stehenbleibt oder so. Ich bin noch am überlegen, wie man das hinbekommnt, dass die %-Verteilung pro Regner auch noch per GA eingestellt werden kann.

            Achja, da ich hier action type="formula" verwende, geht das Ganze erst ab linknx 0.0.1.30

            Edit (zum Konzept): Ich verwende 10 Zeitscheiben von 30 Sekunden, das macht eine Zykluszeit von 5 Minuten. Die Beregnungszeit sollte idealerweise ein Vielfaches von 5 Minuten sein, damit immer ein voller Zyklus auch am Ende läuft. Beregnungszeit ist per GA einstellbar, der Algorithmus ist über eine andere GA ein- bzw. ausschaltbar (die beiden mit Input kommentierten GA's). In den conditions, die die Regner schalten, kann sich jeder Regner auf n Zeitscheiben registrieren und so seinen prozentualen Anteil am Zyklus bekommen. Am Ende der Beregnungszeit schaltet sich der Algorithmus selbst ab. Da es 10 Zeitscheiben gibt, hat man eine Auflösung von 10%.

            Verändern kann man das Ganze, indem man mehr Zeitscheiben, andere Zeitscheibendauer oder mehr Regner macht. Mir ging es erstmal darum, das Konzept in Coding zu giessen.

            Gruß, Waldemar
            OpenKNX www.openknx.de

            Kommentar


              #7
              Hi nochmal,
              hab mir das den letzten Code angeschaut.

              Nun ok - es wird kompliziert.
              Hilfszähler usw., trotzdem nur mässige Möglichkeiten hier Vorgaben zu machen.

              z.B. sollen 40 Min Regenzeit autom. auf die Regner verteilt werden. Unter Berücksichtigung von z.B vorgegebenen Maxzeit der einzelnen Regner (um Schwimmen zu vermeiden) und vorgegebenen prozentualen Anteilen der Beregnungszeit (auch Vorgabe in Prozent für jeden Regner).

              Selbst wenn dies noch in Linknx machbar sein sollte, so denke ich auch, dass die Übersichtlichkeit und Lesbarkeit des Codes so schon am Ende ist - XML macht es nicht eben lesbarer.

              Würde es nicht deutlich einfacher sein, wenn man ein LUA-Script einbettet?

              Kommentar


                #8
                Zitat von knxtester Beitrag anzeigen
                Selbst wenn dies noch in Linknx machbar sein sollte, so denke ich auch, dass die Übersichtlichkeit und Lesbarkeit des Codes so schon am Ende ist - XML macht es nicht eben lesbarer.
                Nun, das bestätige ich nicht so unbedingt...ich gebe zu, dass man es lesen können muss, aber das ist mit jeder Programmiersprache so...

                Ob ich nun eigene XML-Rules habe oder mit Funktionen arbeiet ist doch das Selbe.

                Es kommt doch immer auf die Wünsche des Einzelnen an. Wenn Du wirklich eine feste Zeit vorgeben willst und die dann auf die einzelnen Regner verteilt willst, so lässt sich das sicherlich machen...

                Kommentar


                  #9
                  Zitat von knxtester Beitrag anzeigen
                  Nun ok - es wird kompliziert.
                  Hmmm, das ist natürlich Ansichtssache - ich fand das Stück XML sehr einfach, da die Verteilungsidee direkt runterzuschreiben war. Das hat kaum ne Stunde gedauert - mit Test. Ich habe Logiken, die sind nach Tagen nicht fertig!
                  Ausserdem: Ne Regel fürs Einschalten, Ausschalten und jeden Regner brauchst Du immer. Ich hab dann noch 2 mehr: Die eigentliche Verteilerlogik und ne Regel zum Zurücksetzen. Das ist schon recht kompakt.

                  Zitat von knxtester Beitrag anzeigen
                  z.B. sollen 40 Min Regenzeit autom. auf die Regner verteilt werden.
                  Klar, ist in meinem Beispiel die Beregnungszeit, per GA einstellbar.
                  Zitat von knxtester Beitrag anzeigen
                  Unter Berücksichtigung von z.B vorgegebenen Maxzeit der einzelnen Regner (um Schwimmen zu vermeiden)
                  Das ist die Zykluszeit, im Beispiel 5 Minuten. Falls da schon Schwimmgefahr besteht, machst Du sie einfach kürzer.
                  Zitat von knxtester Beitrag anzeigen
                  und vorgegebenen prozentualen Anteilen der Beregnungszeit (auch Vorgabe in Prozent für jeden Regner).
                  Das wird doch gemacht, im Beispiel 60%, 30% und 10%. Und falls das das per GA gehen soll, brauchst Du noch 3 input GA's mit DPT 5.001 und die musst Du dann mit Formeln auf passende Intervalle umrechnen und je nach Auflösung die Zeitscheiben anpassen. Hab ich nicht gemacht, da meiner Meinung nach eine Auflösung von 10% bei Beregnung ausreicht.

                  Zitat von knxtester Beitrag anzeigen
                  Selbst wenn dies noch in Linknx machbar sein sollte, so denke ich auch, dass die Übersichtlichkeit und Lesbarkeit des Codes so schon am Ende ist - XML macht es nicht eben lesbarer.
                  Das ist doch nur ne Frage des Editors, im Visual Studio sieht das z.B. so aus
                  Code:
                  [SIZE=2][FONT=Consolas][COLOR=#0000ff][SIZE=2][FONT=Consolas][COLOR=#0000ff][SIZE=2][FONT=Consolas][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]<[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]rule [/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000]id[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]BeregnungDurchfuehren[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]" [/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000]description[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Weiterschalten des Verteilers alle 30 Sekunden[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]>[/COLOR][/SIZE][/FONT]
                  [SIZE=2][FONT=Consolas][COLOR=#0000ff] <[/COLOR][/FONT][/SIZE][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]condition [/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000]type[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]and[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]>[/COLOR][/SIZE][/FONT]
                  [SIZE=2][FONT=Consolas][COLOR=#0000ff]  <!--[/COLOR][/FONT][/SIZE][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#008000][FONT=Consolas][SIZE=2][COLOR=#008000][FONT=Consolas][SIZE=2][COLOR=#008000] Nur wenn die Beregnung an ist wird alle 30 Sekunden weitergeschaltet [/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]-->[/COLOR][/SIZE][/FONT]
                  [SIZE=2][FONT=Consolas][COLOR=#0000ff]  <[/COLOR][/FONT][/SIZE][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]condition [/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000]type[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]object[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]" [/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000]id[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]BeregnungEinschalten[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]" [/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000]value[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]1[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]/>[/COLOR][/SIZE][/FONT]
                  [SIZE=2][FONT=Consolas][COLOR=#0000ff]  <[/COLOR][/FONT][/SIZE][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]condition [/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000]type[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]timer[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]" [/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000]trigger[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]true[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]>[/COLOR][/SIZE][/FONT]
                  [SIZE=2][FONT=Consolas][COLOR=#0000ff]    <[/COLOR][/FONT][/SIZE][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]every[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]>[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]30[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]</[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]every[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]>[/COLOR][/SIZE][/FONT]
                  [SIZE=2][FONT=Consolas][COLOR=#0000ff]  </[/COLOR][/FONT][/SIZE][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]condition[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]>[/COLOR][/SIZE][/FONT]
                  [SIZE=2][FONT=Consolas][COLOR=#0000ff] </[/COLOR][/FONT][/SIZE][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]condition[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]>[/COLOR][/SIZE][/FONT]
                  [SIZE=2][FONT=Consolas][COLOR=#0000ff] <[/COLOR][/FONT][/SIZE][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]actionlist[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]>[/COLOR][/SIZE][/FONT]
                  [SIZE=2][FONT=Consolas][COLOR=#0000ff]  <!--[/COLOR][/FONT][/SIZE][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#008000][FONT=Consolas][SIZE=2][COLOR=#008000][FONT=Consolas][SIZE=2][COLOR=#008000] Der Hilfszaehler wird decrementiert [/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]-->[/COLOR][/SIZE][/FONT]
                  [SIZE=2][FONT=Consolas][COLOR=#0000ff]  <[/COLOR][/FONT][/SIZE][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]action [/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000]type[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]formula[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]" [/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000]id[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Hilfszaehler[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]" [/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000]x[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Hilfszaehler[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]" [/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000]c[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]-1[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]/>  [/COLOR][/SIZE][/FONT]
                  [SIZE=2][FONT=Consolas][COLOR=#0000ff]  <!--[/COLOR][/FONT][/SIZE][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#008000][FONT=Consolas][SIZE=2][COLOR=#008000][FONT=Consolas][SIZE=2][COLOR=#008000] Der Verteiler wird incrementiert [/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]-->[/COLOR][/SIZE][/FONT]
                  [SIZE=2][FONT=Consolas][COLOR=#0000ff]  <[/COLOR][/FONT][/SIZE][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]action [/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000]type[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]formula[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]" [/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000]id[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Verteiler[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]" [/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000]x[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Verteiler[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]" [/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000][FONT=Consolas][SIZE=2][COLOR=#ff0000]c[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]=[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]1[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#000000]"[/COLOR][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]/>[/COLOR][/SIZE][/FONT]
                  [SIZE=2][FONT=Consolas][COLOR=#0000ff] </[/COLOR][/FONT][/SIZE][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]actionlist[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]>[/COLOR][/SIZE][/FONT]
                  [SIZE=2][FONT=Consolas][COLOR=#0000ff]</[/COLOR][/FONT][/SIZE][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]rule[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]>[/COLOR][/SIZE][/FONT]
                  [/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/FONT][/SIZE][/COLOR][/FONT][/SIZE][/COLOR][/FONT][/SIZE]
                  Das finde ich sehr gut lesbar. Beim editieren hab ich dann noch code completion, check auf konsistente ID's, contextsensitive Hilfe etc. Notepad++ macht es ähnlich (zumindest was das Aussehen betrifft). Aber das ist natürlich subjektiv, was man als "übersichtlich" empfindet.

                  Zitat von knxtester Beitrag anzeigen
                  Würde es nicht deutlich einfacher sein, wenn man ein LUA-Script einbettet?



                  Kann man versuchen, ich würde es aber nicht machen:
                  • Ich hab kein gutes Gefühl, eine action (die das Script ausführt) über die gesamte Beregnungszeit (also > 30 Min) laufen zu lassen.
                  • Was passiert, wenn das abbricht? In welchem Zustand sind dann die Regner?
                  • Debugging? In den logs steht nicht allzu viel über die LUA execution drin.
                  • Übersicht: für LUA hast Du keinen Editor mit color coding, code completion, error checking. Es ist einfach eine CDATA section...
                  • LUA ist in linknx eingebettet, ich finde es wichtig für die Erweiterung der linknx Funktionen, aber ich würde in diesem "Fremdkörper" nicht den Hauptalgorithmus zu formulieren.
                  Linknx logged dagegen alles sehr gut und es ist einfach nachzuvollziehen, was schief gegangen ist - falls was schiefgegangen ist.

                  Ich weiss nicht, auf welcher Hardware Du unterwegs bist, aber falls es das WG ist, wäre dann ein Plugin in Perl eher angebracht als LUA in linknx.

                  Viele Grüße,
                  Waldemar
                  OpenKNX www.openknx.de

                  Kommentar

                  Lädt...
                  X