Abarbeitung Befehle in Loxone

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Alex_D
    Extension Master
    • 24.11.2016
    • 146

    #1

    Abarbeitung Befehle in Loxone

    Hallo,

    ich haette gerne einmal gewusst, inwiefern Loxone die Befehle intern verarbeitet.
    Bei einer SPS ist es ja so, das es einsprungsbaustein gibt. dieser wird zuerst aufgerufen und sturr Befehl von oben nach unten abgearbeitet, incl den ganzen Sprunganweisungen. Ist dann der komplette Source Code verarbeitet wurden, beginnt es wieder von vorne. Sprich es wird alles zyklisch abgearbeitet. Wie ist es denn nun bei Loxone?

    Meine Frage beruft sich darauf das ich derzeit folgendes Problem habe.

    Über eine Zeitschaltuhr (Software von Loxone) kann ich eine Zeit einstellen, wann die Wohnung von den Tag in den Nachtmodus geht. Geschieht, dies sollen unter anderem folgendes geschehen.

    Wenn Nachtmodus eingeschalten wird:

    1: Der Subwoofer soll abgeschalten werden
    2: Wenn Receiver an
    * Zone 2 einschalten
    * Lautstärke Zone 2 setzen
    * Zone 2 auf Mainsource schalten
    * Mainzone Mute
    3: Wenn Receiver aus
    * nichts machen

    Wenn TagModus eingeschalten wird
    1: Subwoofer einschalten
    2: Wenn Receiver an
    * MainZone Mute abschalten
    * Zone 2 ausschalten
    3: Wenn Receiver aus
    * nichts machen

    Folgendermassen habe ich es wie folgt realisiert

    1: Subwoofer wird über ein Nicht vom Merker Nachtmodus geschalten
    2: Merker Nachtmodus geht auf eine Flankenerkennung. der Ausgang veranlasst die Daten aus dem Receiver auszulesen ( über MQTT)
    3: Merker Nachtmodus, die Werte ( Power, Response, Http Status) gehen auf ein Status Bausstein. Dieser gibt je nachdem einen Wert -2 bis 2 aus für das was gemacht werden soll
    ( 0 = Gerät offline, nichts machen, -1 und -2 Fehlerhafte abfragen, 1 = Nachtmodus setzen, 2 = Tagesmodus setzen
    4: Ausgang vom Status Bausstei gehen auf Vergleicher und deren Ausgänge gehen wiederrrum auf verzögerte Impulse, wo die Befehle nacheinander dann gesendet werden.

    Soweit klappt auch fast alles wunderbar. Das Problem was ich habe ist folgendes

    Bei der letzten Umschalten in den Tagesmodus war der Receiver an. Durch die letzte Abfrage, bekam ich für Power ein On. Nun wird der Receiver via Hand abgeschalten und es findet die nächste Umschaltung statt. Die Werte werden brav vom Receiver ausgelesen. Er liefert auch ein Standby, aber das Programm arbeitet, vorher noch den Status Bausstein ab. dort ist ja noch ein on und somit wird versucht den Receiver auf mute zu schalten ( Nicht weiter schlimm, da er eh auf standby ist). Aber nun wird Zone 2 eingeschalten, was er nicht soll.

    Wie könnte man das alles am besten umgehen? Also das er erst die Werte auslesen tut und erst danach im Programm weiter macht.

    ​​​​​​​LG Alex


  • Christian Fenzl
    Lebende Foren Legende
    • 31.08.2015
    • 11238

    #2
    Das was du mit 1. 2. 3. … beschrieben hast, passiert ja alles gleichzeitig.

    Wenn du eine Reihenfolge einhalten willst, musst du die Funktion mit Pausen triggern.

    Das kannst du mit verzögerten Impulsen machen, oder per Sequencer.

    Für Ereignisse, die innerhalb eines Zyklus passieren, gibt es keine definierte Reihenfolge.
    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

    Kommentar


    • Alex_D
      Alex_D kommentierte
      Kommentar bearbeiten
      Hallo Christian,

      Das habe ich bereits mitbekommen, das er irgendwie alles parallel abarbeitet. Eine Pause da mit verzögerten Impuls einzubauen, die Idee hatte ich bereits gehabt, was aber zumindest für mich nicht ganz so einfach umzusetzen ist. Aber ich bin dran und versuche das mal mit Sequenzer und verzögerten Impuls umzusetzen. Würde dann hier mal ein Screen posten. Könntest du mal drüber schauen ob man das so lassen kann? Sicher fahre ich wieder mit der Kirche ums Dorf :s

      LG Alex
  • wild_child
    Extension Master
    • 19.05.2019
    • 157

    #3
    Ohne jetzt allzu tief darüber nachgedacht zu haben - wäre das nicht auch was für die Ablaufsteuerung? https://www.loxone.com/dede/kb/ablaufsteuerung/
    Haus: BJ 2019 - Einzug 2019 - Fertigstellung: 2058
    Automatisierung: Miniserver Gen. 1, 3x Extension, Dimmer Extension, 1-Wire-Extension, 2x Relay Extension, Tree Extension, Air Base Extension, x Rauchmelder Air, x Smart Socket, Wetterstation Tree
    Haustechnik: ETA PU15, Fußbodenheizung komplett, Vallox 350 MV
    Spielwiese: ioBroker, Loxberry

    Kommentar


    • Alex_D
      Alex_D kommentierte
      Kommentar bearbeiten
      Hallo wild_child,

      auch Dir ein Danke für Deine Antwort.
      Hab mir das mal angeschaut und würde sicher auch irgendwie funktionieren. Werde es aber erst einmal mit verzögerten Impuls und den Sequenzer probiren.

      LG ALex
  • Christian Fenzl
    Lebende Foren Legende
    • 31.08.2015
    • 11238

    #4
    Imho - wenn ich es richtig verstehe - geht es bei deinem Problem primär darum, dass du die Antwort des Receivers später erhältst als der Impuls für Tag/Nacht ausgelöst wird.
    Ich kenne deine aktuelle Umsetzung nicht, aber ansatzweise würde ich das so umsetzen, dass ich die Abfrage an den Receiver sofort triggern, zusätzlich den Impuls für Tag- bzw. Nachtmodus auf um 10 Sekunden verzögern würde. Nach diesen 10 Sekunden erst wertest du den Status des Receivers aus und hast sicher den aktuellen Status.
    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

    Kommentar

    • Alex_D
      Extension Master
      • 24.11.2016
      • 146

      #5
      Hallo Christian,

      fast!

      In der Software gibt es eine Zeitschaltuhr. Dort wird eingestellt wann in den Nachtmodus geschalten wird. Der Signal geht auf ein Merker. Wird später noch der Modus Nacht werden.
      Der Merker geht auf eine Flankenerkennung. Über diesen ( Ausgang Q) wird der Receiver ausgelesen. Dann gibt es noch einen Status Baustein. Dort frage ich den Status des Receivers ab ( Also ob an, ob daten richtig ausgelesen wurden, was für ein Modus vorliegt) am Ausgang wird dann der Receiver geschalten. Das Problem was besteht ist, das er ausliest aber zugleich in den Status Bausstein springt. Dort aber die Daten noch nicht aktualisiert sind. Bin grad dabei das alles umzubauen. Würde das dann gleich mal posten. Könntest du da mal bitte drüber schauen?

      Kommentar

      • Alex_D
        Extension Master
        • 24.11.2016
        • 146

        #6
        Hallo Christian,

        anbei wie ich es nun gelöst habe. Könnte es so klappen, oder fällt dir etwas auf was ich mal wieder falsch gemacht habe?

        LG Alex Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Status.gif
Ansichten: 316
Größe: 110,7 KB
ID: 330141 Klicke auf die Grafik für eine vergrößerte Ansicht

Name: MM.gif
Ansichten: 325
Größe: 73,8 KB
ID: 330142
        Angehängte Dateien

        Kommentar

        • Christian Fenzl
          Lebende Foren Legende
          • 31.08.2015
          • 11238

          #7
          Tut mir leid - Überfordert 🤪

          Ich schreib einfach bissl, was mir so auffällt:

          Die Zeitschaltuhr gibt selbst Flanken aus, du brauchst eigentlich keine zusätzliche Flankenerkennung.

          Ob der Impulsgeber nötig ist, bin ich auch nicht sicher.
          Ich mach das in der Regel so, dass ein aktiver Ausgang des Sequencers per (verzögertem oder direktem) Impuls den Tr des Sequencers schaltet. So schaltet sich faktisch der Sequencer selbst weiter.

          Das mit dem I1 des Statusbausteins würde ich auch genauso machen.

          Wenn der Receiver beispielsweise einen Zeitstempel mitliefert, könnte sogar direkt dieser genutzt werden als Impuls für die Auswertung.

          Wenn du die neue Loxone Config schon hast, wäre das wirklich, wie wild_child schon sagt, was für die Ablaufsteuerung. An deinem Beispiel sieht man gut, wie ein paar einfachste Bedingungen in der Config gleich zu einer riesen Bastelei ausarten können.
          Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

          Kommentar

          Lädt...