Ankündigung

Einklappen
Keine Ankündigung bisher.

Homeserver Logik: kontextabhängige Ausführung/Speicherung

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

    Homeserver Logik: kontextabhängige Ausführung/Speicherung

    Hallo,
    ich wollte gestern den Vatertag nutzen und eine (wie ich dachte) einfache Logik in meinem Homeserver 3 implementieren. Dabei bin ich bisher gescheitert und komme nicht weiter und würde mich daher über eine Hilfestellung der Profis freuen. Kurz zum Hintergrund:

    Ich habe einen Bewegungsmelder (BWM) der eine Lampe (L) schaltet. Der Status von L wird über einen Dimmaktor als Gruppenadresse (GA) 1/1/90 (1=Lampe an, 0=Lampe aus) auf dem Bus zur Verfügung gestellt. Der BWM liefert zusätzlich einen Helligkeitswert in periodischen Abtänden (alle 30 sec.) über GA 1/5/50 als Byte-Wert auf den Bus.

    Ich möchte jetzt gerne auf dem Homeserver in einem internen Kommunikationsobjekt den Helligkeitswert des BWM speichern, aber nur dann, wenn L den Status "aus" hat. Ich möchte also letztendlich den Helligkeitswert ohne die "Verfälschung" durch künstliche Lichtquellen speichern.

    Was ich also implementieren wollte, ist ungefähr das:
    • Wenn GA 1/5/50 (Helligkeitswert) des BWM eintrifft, und die GA 1/1/90 (Status der Lampe) ist 0 (= aus), dann speichere der Wert von GA 1/1/50 in einem internen KO.
    Im ersten Ansatz habe ich folgende Logik erstellt:

    Logik.jpg
    Diese funktioniert aber nicht, da diese sowohl auslöst bei
    1. Eintreffen von GA 1/5/50 (was ok ist) als auch
    2. Eintreffen von GA 1/1/90
    Letzteres führt zu einem fehlerhaften Ergebnis, da bei dem Statuswechsel von "Lampe an" zu "Lampe aus" und dem dadurch verursachten Senden der GA 1/1/90 mit dem Wert "0" aufgrund der nur periodischen Bereitstellung des Helligkeitswertes durch den BWM dann in der Logik natürlich nur der Helligkeitswert im Zustand "Lampe an" zur Verfügung steht.

    Wie kann hier eine Lösung aussehen?

    Vielen Dank,
    Dirk
    Angehängte Dateien
    Zuletzt geändert von dira; 10.05.2024, 07:57.

    #2
    Also ich finde es ungewöhnlich, dass Du beim Lampenstatus 0 = ein und 1= aus hast (das steht oben in Deinem Post, weiter unten steht dann, dass die 0 = aus ist) - würde mich kirre machen, vor allem, weil Du sicherlich mit einer 1 einschalten und mit einer 0 ausschalten musst. Aber sei es drum...

    ....damit müsste es gehen (jetzt mal für "Licht aus = 1" wie oben von Dir beschrieben, ist es so wie weiter unten musst nur den E1 an der Sperre negieren) - der Helligkeitswert wird nur durchgelassen, wenn die Lampe aus ist. Es wird also der erste Wert gespeichert, den Du auf dem Helligkeitswert bekommst, nachdem die Lampe ausgeschaltet wurde.

    grafik.png
    Aber was machst Du mit der Information? Mit jedem neuen zyklisch kommenden Wert überschreibst Du Dein gespeichertes Objekt doch wieder, hast also immer nur den letzten gespeicherten Helligkeitswert in dem Objekt. Solange die Lampe aus ist, ist das also immer exakt der gleiche Wert, der vorne auch reinkommt? Würde sich hier nicht eher ein Ringspeicher oder ein Archiv und die Darstellung als Diagramm oder sowas anbieten?
    Zuletzt geändert von Hightech; 10.05.2024, 07:53.
    Möchte den Komfort meiner Installation nicht mehr missen!

    Kommentar


      #3
      Vielen Dank für Deine Antwort.
      Bei der Beschreibung habe ich tatsächlich den Lampenstatus vertauscht. Habe ich im Post berichtigt.
      Ich werde Deinen Vorschlag heute abend mal in Ruhe nachvollziehen und testen. Sieht so einfach aus, wenn man weiß was man tun muss 😀.

      Ich melde mich auf jeden Fall zurück.

      Noch zu Deiner letzten Frage: Wir haben in unserem Haus insbesondere in den Fluren eine Lichtsteuerung über Bewegungsmelder. Dabei kommen zwei Typen zum Einsatz:
      • Zennio ZN1IO-DETEC (an der Decke angebracht)
      • Gira Automatik-Schalter 1,10m
      Die Bewegungsmelder geben nur die Impluse für die Bewegungserkennung. Die eigentliche Lichtsteuerung (d.h. Licht an bzw. ausschalten) erfolgt über den Homeserver mittels des Bausteins "Treppenhauslicht-Funktion". Die Zeitdauer für die Treppenlichtfunktion kann über die Visu angepasst werden.
      Wesentlich in dem Set-up ist natürlich die Nachtriggerfunktion des Bausteins, damit das Licht nicht über den Baustein ausgeschaltete wird, solange die BWM noch Bewegungen erkennen.
      Mit den Gira-Schaltern funktioniert das ganz gut, da diese eine entsprechende Logik in Abhängigkeit zur Helligkeit haben: ein Bewegungsimpuls wird zwar immer erkannt, aber nur bei Unterschreiten einer vorgegebenen Helligkeit als Einschaltmeldung über Gruppenadresse gemeldet. Wenn diese Einschaltmeldung dann gegeben worden ist, gibt der Gira-Schalter bei jeder weiteren Bewegungserkennung (unabhängig von der durch die eingeschaltete Lampe erzeugten Helligkeitsveränderung) einen Nachtriggerimplus. Dieser sorgt dann in Verbindung mit dem Baustein "Treppenhauslicht-Funktion" für die entsprechende Nachtriggerung der Zeit.
      Bei den Zennios ist das leider nicht so schön gelost. Diese haben zwar auch eine Nachtriggerfunktion aber nur in Abhängigkeit von der Umgebungshelligkeit. Das führt dazu, dass der Zennio also unter einer bestimmten Helligkeit das Einschaltsignal auf den Bus gibt und der Treppenlicht-Baustein die Lampe anschaltet. Durch die Helligkeitsänderung der Lampe wird aber die Helligkeitsschwelle für den Nachtrigger-Implus des Zennio überschritten, so das keine Nachtriggerung erfolgt und das Licht nach Ablauf der vordefinierten Zeit durch den Treppenlicht-Baustein ausgeschaltet wird. Danach sendet dann zwar der Zennio wieder einen Einschaltbefehl (aufgrund der durch das Ausschlaten der Lampe redzierten Grundhelligkeit), aber man hat immer einen kurzen Moment wo kein Licht eingeschaltet ist.

      Meine Idee war jetzt, das der Zennio eine Bewegungserkennung unabhängig von der Umgebungshelligkeit sendet. Dies würde im aktuellen Set-up zwar das oben beschriebenen Problem lösen, würde aber auch dazu führen, dass das Licht auch bei strahlend hellem Tageslicht eingeschaltet wird.
      Also soll jetzt hier noch eine Prüfung mit dem Helligkeitswert (ohne eingeschaltete Lampe) erfolgen, d.h. die Homeserver-Logik soll letztendlich anhang des Helligkeitswertes (ohne eingeschaltete Lampe) entscheiden, ob die Lampe angeschaltet wird oder nicht.

      Hoffe das ist so verständlich...

      Viele Grüße,
      Dirk

      Kommentar

      Lädt...
      X