Willkommen auf unserer neuen Forenplattform für das Bus-Profi Forum

Neue Felder für die persönlichen Daten
Man kann jetzt seine öffentlich einsehbare Daten genau bestimmen. Details findet ihr in in diesem Beitrag.

Durch die neue Forensoftware und die Portierung der Daten konnten die Passwörter aus dem alten Forum nicht übernommen werden, bitte lassen Sie sich ein neues Passwort über die Passwort vergessen Funktion zusenden. Sollte es zu Problemen kommen kontaktieren Sie das Bus-Profi Team per E-Mail.

Domiq: Hinweise zur Syntax und zur Nomenklatur

Hard- und Softwarefragen rund Domiq-Module fürs LCN-System
Benutzeravatar

Themenersteller
Beleuchtfix
Administrator
Administrator
Beiträge: 5281
Registriert: Mi 10. Jan 2007, 18:49
Hat sich bedankt: 3 Mal
Danksagung erhalten: 15 Mal
Kontaktdaten:

#1 Domiq: Hinweise zur Syntax und zur Nomenklatur

Beitragvon Beleuchtfix » Mi 27. Jun 2012, 12:56

nicht alles intuitiv. Manches in der Syntax ist anfänglich verwirrend, deshalb hier ein paar Hinweise. Wer Ergänzungen hat, kann sich hier gerne anschließen.

Channel:Befehlskanal, z.B. eine Funktion eines LCN Moduls. Alle möglichen Befehle um diese Funktion zu steuern.
Bei den Channels gibt es einmal Kommandos, die Base an das LCN System schickt oder Ereignisse (Events), auf die Base reagiert. Im kompletten Befehl (Channel Dokumentaion) werden Commands mit C.xxxx und Events mit E. gekennzeichnet.

Hier einmal ein Kommando zerlegt, die dem Base zugrundeliegende Programmsprache LUA ist Case sensitivity, es ist also auf genaue Groß- und Kleinschreibung zu achten.

Beispiel 1:
C.LCN.output.0.50.1=50; ramp:3
C. Command
LCN. Kommando ans LCN System (immer Großbuchstaben)
output. Ausgang des Moduls (1,2,3) (klein!)
0.50. Segmentnummer und Modulnummer, Angaben ohne führende 0!
0g50 Segment- und Gruppennummer. Bei der Gruppennummer fehlt der Punkt zwischen Segment und Modul!
1= Nummer des Ausgangs
50; (hinter dem = steht dann der eigentlich zu übergebende Wert) Mehrere mögliche Parameter werden durch ein Semikolon getrennt.
ramp: weiterer Parameter, hier die LCN Rampe. Achtung, hier kommt jetzt ein Doppelpunkt und kein Gleichheitszeichen.
3 Wert der Rampe.

C.LCN.output.0.50.1=50; ramp:3 ist der komplette Befehl, so wie er in der Channel-Dokumentation beschrieben ist. Nur wird der Befehl so nicht überall eingegeben.

Hier das Beispiel für einen Dimmer-Button in Display:
channel: LCN.output.0.50.1 (C. wird nicht angegeben, die Eingabe darf nur bis zum = erfolgen.)
param: hier wird ramp:5 eingegeben. (Das = erscheint nie)

Etwas anders müssen die Befehle für on und off eingegeben werden, hier ist das komplette channel (ohne C) einzugeben.

on: LCN.output.0.62.2=on; ramp:5
off: LCN.output.0.62.2=off; ramp:5

Ein Klicken auf die Taste löst entweder das on oder off Kommando aus, bei langem Drücken wird der Channel und Param Befehl ausgelöst. Beim Loslassen erfolgt ein Rampe Stop Befehl.

Eingabe im Bereich Events bei Aktionen
Im Bereich LCN hinzufügen kann man die gewünschte Funktion problemlos zusammenklicken. Bei Befehl hinzufügen besteht dafür die Möglichkeit universelle Channel Befehle einzugeben.

Beispiel 2:
Es soll der Timer mit dem Namen “one” nach 10 Sekunden das Relay 7 am Modul 62 aussschalten.
Name: TIMER.one.10s.C.LCN.relay.0.62.7
TIMER. TIMER Channel
one. Name des Timers
10s. Nach 10 Sekunden
C. Kommando auslösen
LCN. Für LCN
relay. Relais
0.62. Modul 62 im Segment 0
7 Relais Nr. 7
Wert: off

Anzeigefeld Value/Wert
Hier unterscheiden sich leider die Eingaben in Remote und Display deutlich!
Remote:
Kanal LCN.value.0.85.r1
Base value 1000
Maßeinheit °C
Skalierungsfaktor 10
Display:
channel LCN.value.0.85.r1
prefix XYZ
suffix °C
offset -1000 (!)
gain 0.1 (!)

Events:
Bei den Events muss bei Befehl hinzufügen das C für Command mit eingegeben werden
Name: C.VAR.rueck.links
Wert: 100
Setze die Variable rueck.links auf den Wert 100.

VAR hinzufügen: Hier wird eine dauerhafte Variable vom Typ MEM erzeugt und nicht eine VAR Variable.

set Kommando in Lua:
Es gibt unterschiedliche Wege, im Base Variablen zu setzen, zum Teil auch mit sehr unterschiedlichen Auswirkungen!
someVariable = use 'LCN.output.0.10.1' -- someVariable ist mit dem Ausgang 1 des Moduls 10 verbunden.
Um den Ausgang zu ändern und gleichzeitig die Lua Variabel anzupassen nimmt man:
someVariable:set(100) -- Es wird zuerst der Ausgang auf 100 gesetzt und anschließend die Variable nachgeführt.
set ('someVariable',100) -- hier wird nur die Variable im Base gesetzt! Der Ausgang selbst wird nicht geschaltet.


Viel Erfolg
Florian

Zurück zu „Domiq-Module - DOMIQ Sp. z o.o.“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste