Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Best Practice: Parameter für eigene Logik?

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

    - √ - Best Practice: Parameter für eigene Logik?

    Hallo zusammen,

    ich versuche mich gerade an meiner ersten Logik und habe mir dabei die automatische Steuerung meiner Raffstores vorgenommen. Grundsätzlich funktioniert das ganze schon ziemlich gut, jetzt geht es darum, die Steuerung für die verschiedenen Raffstores zu Parametrisieren.
    Ich habe insgesamt 9 Raffstores, die in vier verschiedenen Gruppen angesteuert werden sollen. Die Steuerrungslogik bekommt dabei etwa 15 verschiedene Parameter pro Gruppe (z. B. Statische Positionen für Tag/Nacht/Dämmerung, Ausrichtung der Fasade etc. für automatische Lamellenverstellung, ...). Ich suche nun nach der Best Practice, um all diese Parameter für jede meiner vier Raffstore-Gruppen abzulegen.
    Grundsätzlich sehe ich dabei zwei Möglichkeiten:
    • Die Parameter werden in der Logik hartcodiert und an die Automatik übergeben
    • Für die Parameter werden eigene Items angelegt, die mit Werten versehen werden. Diese Items (bzw. das übergeordnete Item pro Gruppe) werden an die Logik übergeben.

    Grundsätzlich gehe ich davon aus, dass sich die meisten der Parameter selten bis gar nicht ändern, wenn sie einmal passen. Das würde für die erste Variante sprechen.

    Auf der anderen Seite ist es natürlich übersichtlicher, die Parameter von der Logik getrennt zu haben und in einer items/*.conf festzulegen. Dies hätte zudem den Vorteil, bestimmte Parameter z. B. über die Visu anzupassen, wenn man das möchte.

    Wie habt Ihr das bei euren Logiken gelöst?

    Grüße
    Thomas

    #2
    Mojn,
    Ich habe die meissten Werte als Parameter in den Items. Dann kann ich sie
    über die Visu verstellen. Auch wenn sie sich selten ändern ist das recht
    praktisch weil das dann auch andere können. Mein Sohn hat sein Rollo
    bei Sonnenschein gerne weiter runter als ich. So kann das jeder machen wie
    er möchte. Feste Werte in der Logik findest du spätestens nach nem
    halben Jahr selber nicht mehr wieder. Gruß,

    Michael

    Kommentar


      #3
      Hallo Thomas,

      ich würde das über Item-Attribute lösen, und nicht über separate Items.

      Code:
      [meinitem]
         meinattribut = bla
      Das kann in einer Logik so ausgelesen werden:

      Code:
      sh.meinitem.conf['meinattribut']
      Mit sh.find_items(configattribute) kann man auch alle Items suchen, die ein spezielles Attribut gesetzt haben.

      Bis bald

      Marcus

      Kommentar


        #4
        Hallo Marcus,

        das ist natürlich die eleganteste Methode, da sie auch den wenigsten Overhead hat. Dann kann ich mir zudem auch die separaten Gruppenadressen pro Raffstoregruppe sparen und stattdessen einfach alle Items suchen, bei denen die Automatik parametrisiert ist. So werde ich ess machen.

        Grüße
        Thomas

        P. S. Auch wenn das meine ersten Gehversuche mit Python sind, kann ich das Ergebnis hier gerne mal einstellen, wenn Interesse besteht.

        Kommentar


          #5
          Zitat von offline Beitrag anzeigen
          P. S. Auch wenn das meine ersten Gehversuche mit Python sind, kann ich das Ergebnis hier gerne mal einstellen, wenn Interesse besteht.
          Immer her damit... jedes Beispiel hilft vielleicht dem nächsten Anfänger sich damit zurecht zu finden.
          Mit freundlichen Grüßen
          Niko Will

          Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
          - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

          Kommentar


            #6
            Nabend zusammen,

            ich habe meine Logik unter dem Thema "https://knx-user-forum.de/smarthome-...steuerung.html" geposted.

            Kommentar

            Lädt...
            X