Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Drehbett
15.04.2011, 18:39
Beitrag #1
Drehbett
Hallo,

ein neues Thema: Ich habe ein elektrisch drehbares Bett welches über die KNX angesteuert werden kann. Ziel ist es zum einen durch das Fenster Richtung Süden in den Garten - aber auch das TV an der gegenüber liegenden Seite sehen zu können, je nach Bedarf. Zusätzlich soll die Möglichkeit bestehen zwei weitere Positionen anzusteuern, also im Prinzip alle 90 Grad ein fest fixierte Position. Der Motor arbeitet stufenlos, kann in beide Richtungen drehen und wird bisher über die KNX angesteuert aber ohne fixierte Positionen:
21;1;<KNX><SETVALUE=3/1/16,1></KNX>;//3/1/20-\%=1>;NOCACHE;"// Drehbett Schlafzimmer EIN"
22;1;<KNX><SETVALUE=3/1/17,1></KNX>;//3/1/20-\%=0>;NOCACHE;"// Drehbett Schlafzimmer AUS"

Der Eintrag in der efs dazu ist:
Beleuchtung Obergeschoss.Schlafzimmer.3/1/16 Beweg Motor am Bett
EIS 1 'Switching' (1 Bit) Low
Beleuchtung Obergeschoss.Schlafzimmer.3/1/17 Stop/Schritt Motor am Bett
EIS 1 'Switching' (1 Bit) Low 0/6/6
Das funktioniert soweit, ich werde noch eine Änderung der Drehrichtung einbauen indem ich in die 3/1/16,0 eben noch die 0 programmiere.

Nun würd ich aber gerne die 4 Positionen ansteuern. Dazu gibt es in der efs folgende Einträge:
Zentral / Gruppenfunktion.Szene Bett.0/6/0 Szene 1, Bett drehen 25%
Uncertain (1 Byte) Low 0/6/1 0/6/2 0/6/3 0/6/4
Zentral / Gruppenfunktion.Szene Bett.0/6/1 Szene 2, Bett drehen 50%
Uncertain (1 Byte) Low
Zentral / Gruppenfunktion.Szene Bett.0/6/2 Szene 3, Bett drehen 75%
Uncertain (1 Byte) Low
Zentral / Gruppenfunktion.Szene Bett.0/6/3 Szene 4, Bett drehen 100%
Uncertain (1 Byte) Low
Zentral / Gruppenfunktion.Szene Bett.0/6/4 Szene 5, Bett drehen 50%
Uncertain (1 Byte) Low
Zentral / Gruppenfunktion.Szene Bett.0/6/5 R¸ckmeldung Hˆhe/Position
Uncertain (1 Byte) Low
Zentral / Gruppenfunktion.Szene Bett.0/6/6 Stop/Schritt Bett
EIS 1 'Switching' (1 Bit) Low

Wie ich das nun allerdings programmieren kann weis ich nicht, die Steuerung müsste über die Zeit erfolgen, ich würde eine Gesamtumdrehung messen. Kann mir da jemand helfen?
Darüber würd sich dafür in der GUI ein Slider sehr gut machen der Rund (ein Kreis) ist, gibt es soetwas?

Viele Grüße
Elmar
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.04.2011, 16:58
Beitrag #2
RE: Drehbett
Ich hab das nun nicht ganz verstanden...

Funktionieren die Gruppenadressen bezüglich der Positionierung aus der ESF Datei schon, oder nicht ??

LG

Mike Eudenbach (XING Profile)
nomos system AG
System Design/Integration/Planung

m..myhome/nomos in Unna, m..myhome/nomos auf Facebook
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.04.2011, 19:33
Beitrag #3
RE: Drehbett
Hallo,

100% ist die Dauer einer Umdrehung des Bettes (360°) dementsprechend sind die anderen Schritte 90, 180 und 270 Grad. Diese 4 Positionen sollen 4 feste Positionen sein die einen Button bekommen und die evtl. über noch zu programmierende Bedingungen angesteuert werden (z.B. Zeit, Wetter etc.)

Viele Grüße

Elmar
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.04.2011, 12:41
Beitrag #4
RE: Drehbett
Grundsätzlich kann m..myhome dies auch umsetzen, wird Dich aber nicht zum Ziel führen, da gewisse Problematik beachtet werden muss:

Wenn das Bett zB in Position 25% steht und du drückst die Szene für 50%, dann steht das Bett final auf 75%. Ebenso wäre die Richtung, also links- oder rechtsherum von Interesse ...

Man löst das eigentlich mit Jalousie Aktoren, die eine Position direkt anfahren können und überlässt die Intelligenz dem Aktor.

Ohne Erkennung der Endlagen, wird dies auch nur sehr unzuverlässig mit erweiterter Logik funktionieren.

...

Über m..myhome kann man so was (mit eben o.g. Problematik) über Timer lösen.

Timer werden in der timer.csv definiert, die in dem Verzeichnis .\misc liegt.

dort z.B. folgende Definition anlegen:
Code:
[CONFIG];
ACTIVE;YES
DEBUG;NO

[TIMERS];
STOP3s;ONESHOT;3;<KNX><SETVALUE=3/1/7,1></SYS>

Dies definiert einen Timer mit Namen "STOP3s" der bei start einmalig nach 3s die GA 3/1/7 auf den Wert "1" setzt.

Soll die "Bewegung" des Bettes nun nach 3s stoppen, muss der Befehl wie folgt gesendet werden.

[b]<KNX><SETVALUE=3/1/16,1></KNX><TIMER><START=STOP3s></TIMER>[/b]

In Abhängigkeit mit der Szenenfunktion kann der Aufruf natürlich auch über die KNX.csv erfolgen. Dies sähe dann wie folgt aus:

Code:
[DATAPOINTS];
// {KNX/EIB Gruppenadresse};{Bedingung};{m..myhome-Sequenz oder Scriptname}

0/6/0;1;<KNX><SETVALUE=3/1/16,1></KNX><TIMER><START=STOP3s></TIMER>;

Triggert den Befehl an, wenn auf der Adresse 0/6/0 eine "1" empfangen wird...

Da fällt mir grad auf, dass Du für Deine Szenen verschiedene Gruppenadressen verwendet hast, gleichzeitig aber einen 1Byte Datentyp verwendest. I.d.R ist das falsch Smile ...

LG

Mike Eudenbach (XING Profile)
nomos system AG
System Design/Integration/Planung

m..myhome/nomos in Unna, m..myhome/nomos auf Facebook
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.04.2011, 11:08
Beitrag #5
RE: Drehbett
Danke, ich denke, dass ich auf die Variante mit den Jalousienaktoren gehen werde.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.04.2011, 19:08
Beitrag #6
RE: Drehbett
Zitat:Da fällt mir grad auf, dass Du für Deine Szenen verschiedene Gruppenadressen verwendet hast, gleichzeitig aber einen 1Byte Datentyp verwendest. I.d.R ist das falsch ...

wie müsste ich es denn machen?, bzw. das hat mein Elektriker so programmiert
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.04.2011, 19:21
Beitrag #7
RE: Drehbett
Ohne in die Projektierung zu schauen ist das ein Blick in die Glaskugel..

LG

Mike Eudenbach (XING Profile)
nomos system AG
System Design/Integration/Planung

m..myhome/nomos in Unna, m..myhome/nomos auf Facebook
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.12.2012, 01:21
Beitrag #8
RE: Drehbett
Hallo,

inzwischen sind zwei Näherungsmelder im oben stehenden Projekt installiert. Folgende knx Adressen bestehen

Ansteuerung Jalousienaktor:
3/1/16,1 drehen links
3/1/16,0 drehen rechts
3/1/17,1 drehen stopp

Positionsmeldungen über den Binäraktor
3/1/23,1 Binärwert Position 1
3/1/24,1 Binärwert Position 2

Würde ich nun in der knx.csv programmieren:

3/1/23;1;<KNX><SETVALUE=3/1/17,1></KNX>

würde jedesmal wenn diese Position angesteuert wird der Befehl ausgeführt und der Stoppbefehl kommen. Das soll aber nicht sein sondern nur wenn auch diese Position angefahren werden soll. D.h. der Stoppbefehl soll nur dann an der Stelle ausgeführt werden wenn zwei Bedingungen erfüllt sind, nämlich der Button (z.B. Join 630 auf der GUI) der die Position angefahren soll und die 1 des Näherungsmelders , aber wie löse ich das mit zwei Bedingungen? Also quasi eine "UND-Funktion"?

Viele Grüße
Elmar
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.12.2012, 12:51
Beitrag #9
RE: Drehbett
Hallo,

besteht die Möglichkeit, dass man die Binärwerte ignorieren lässt. Ich würde mir das dann so vorstellen, dass die knx.csv so programmiert wird wie oben beschrieben und für den Fall, dass der Wert des Näherungsmelders nicht beachtet werden soll dieser dann für eine bestimmte Zeit ignoriert wird. Kann man das so machen und wenn ja wie?

Gruß
Elmar
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.12.2012, 14:05
Beitrag #10
RE: Drehbett
Du hast also in der GUI einen Button für POS1 und POS2?

Dann würde ich das mit Hilfe von Variablen lösen.

Als Bsp.:

Ich gehe davon aus, dass Dein dJOIN 630 für POS1 ausgelegt ist 631 für POS2.

mremote.csv

[DIGITAL]
630;1;<KNX><SETVALUE=3/1/16,1></KNX><SYS><SETVAR=POS1,1><SETVAR=POS2,0></SYS>;
631;1;<KNX><SETVALUE=3/1/16,1></KNX><SYS><SETVAR=POS1,0><SETVAR=POS2,1></SYS>;

knx.csv
[DATAPOINTS]
3/1/23;1;<KNX><SETVALUE=3/1/17,[POS1]></KNX><SYS><SETVAR=POS1,0></SYS>;
3/1/24;1;<KNX><SETVALUE=3/1/17,[POS2]></KNX><SYS><SETVAR=POS2,0></SYS>;

So würde ich es mal versuchen.
Im Prinzip setze ich die Variable als Merker für den Wert der GA für Stop. Dies funktioniert aber nur, sofern der Aktor bei 3/1/17,0 auch ruhig bleibt. Wenn nicht müssen wir die Variable bezogen auf die GA verwenden. Wenn dann die Variable gesetzt ist und Deine Endschalter sendet eine "1" wird nur STOP=1 an der benötigten Position gesendet. Nach dem Senden wird die Variable wieder auf "0" gesetzt.

Versuche das mal.

LG

Mike Eudenbach (XING Profile)
nomos system AG
System Design/Integration/Planung

m..myhome/nomos in Unna, m..myhome/nomos auf Facebook
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Kontakt | nomos system Forum | Nach oben | Zum Inhalt | Archiv-Modus | RSS-Synchronisation | Impressum