Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Scene
25.05.2012, 10:13
Beitrag #1
Scene
Someone can help me make a module scenes?

Could be done somehow, we could call a few lights, and them, record to a scene?

Thanks!
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.05.2012, 20:48
Beitrag #2
Scene
You can call a scene by sending a 1byte, for calling scene 1 you send value 0 and for saving scene 1 you send value 128 and for calling scene 2 you send value 1 and for saving scene 2 you send value 129.... And so on, use the actuators or push buttons for storing the scenes...

Best regards
Mikkel
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.05.2012, 20:02 (Dieser Beitrag wurde zuletzt bearbeitet: 31.05.2012 20:18 von meudenbach.)
Beitrag #3
RE: Scene
Hi Santi,

sorry for the delay but I was very busy at the last week. Scenes are possible with our fabulous system but the implementation of it is a little bit difficult because this function is not a really NOMOS/m..myhome theme. For future we think about an easier handling.

A static scene, I mean, is no problem for you. You only have to write a script in order set values. But this is more a sequence like a scene in our understanding. The problem is to save or set values dynamically. In the following example you see the procedure.

First of all you have to generate sysvars as placeholder for the current value state and for the stored scene values.

In my example I have 2 groups of scene's with each 4 values. You can add more groups and also you can add more values/channels.

sysvars.csv
Code:
// **** Scene Memory ****

// Room 1 (Scene Group)

KNXGA_ROOM1_STATE1;0/0/1        // Group Adresses for Scene group
KNXGA_ROOM1_STATE2;0/0/2
KNXGA_ROOM1_STATE3;0/0/3
KNXGA_ROOM1_STATE4;0/0/4

ROOM1_STATE_VALUE1;10            // Marker for current Group Adress state
ROOM1_STATE_VALUE2;15
ROOM1_STATE_VALUE3;20
ROOM1_STATE_VALUE4;30

ROOM1_SZ1_VALUE1;30                // Memory for Scene
ROOM1_SZ1_VALUE2;50
ROOM1_SZ1_VALUE3;70
ROOM1_SZ1_VALUE4;100

ROOM1_SZ2_VALUE1;30                // Memory for Scene
ROOM1_SZ2_VALUE2;60
ROOM1_SZ2_VALUE3;30
ROOM1_SZ2_VALUE4;80

ROOM1_SZ3_VALUE1;30                // Memory for Scene
ROOM1_SZ3_VALUE2;50
ROOM1_SZ3_VALUE3;70
ROOM1_SZ3_VALUE4;100

// Room 2 (Scene Group)

KNXGA_ROOM2_STATE1;0/0/5        // Group Adresses for Scene group
KNXGA_ROOM2_STATE2;0/0/6
KNXGA_ROOM2_STATE3;0/0/7
KNXGA_ROOM2_STATE4;0/0/8

ROOM2_STATE_VALUE1;30            // Marker for current Group Adress state
ROOM2_STATE_VALUE2;50
ROOM2_STATE_VALUE3;70
ROOM2_STATE_VALUE4;100

ROOM2_SZ1_VALUE1;30                // Memory for Scene
ROOM2_SZ1_VALUE2;50
ROOM2_SZ1_VALUE3;70
ROOM2_SZ1_VALUE4;100

ROOM2_SZ2_VALUE1;30                // Memory for Scene
ROOM2_SZ2_VALUE2;60
ROOM2_SZ2_VALUE3;30
ROOM2_SZ2_VALUE4;80

ROOM2_SZ3_VALUE1;30                // Memory for Scene
ROOM2_SZ3_VALUE2;50
ROOM2_SZ3_VALUE3;70
ROOM2_SZ3_VALUE4;100

You see, I always work with sysvars also for the KNX Group Adress. You don't have to do it like this, but I it's much easier for later usage and finally you have a clear overview at all.

KNXGA_ROOMx_STATEx means the actual GA for the "scene member"

ROOMx_STATE_VALUEx means the marker for the actual channel value (we need that to store this value or values to any scene memory)

ROOMx_SZx_VALUEx means the fixed memory, each "channel" for a scene group.

The trick here is to set the ROOMx_STATE_VALUEx sysvar automatically by using events if you have an active value state object from you knx device. I will show you the easiest way to do that.

knx.csv (be sure that the GA you used are registered in the *.esf file)

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

0/1/1;#;<SYS><SETVAR=ROOM1_STATE_VALUE1,\#></SYS>
0/1/2;#;<SYS><SETVAR=ROOM1_STATE_VALUE2,\#></SYS>
0/1/3;#;<SYS><SETVAR=ROOM1_STATE_VALUE3,\#></SYS>
0/1/4;#;<SYS><SETVAR=ROOM1_STATE_VALUE4,\#></SYS>

0/1/5;#;<SYS><SETVAR=ROOM2_STATE_VALUE1,\#></SYS>
0/1/6;#;<SYS><SETVAR=ROOM2_STATE_VALUE2,\#></SYS>
0/1/7;#;<SYS><SETVAR=ROOM2_STATE_VALUE3,\#></SYS>
0/1/8;#;<SYS><SETVAR=ROOM2_STATE_VALUE4,\#></SYS>

Please complete your [CONFIG] header of the knx.csv !!

With this entry NOMOS/m..myhome updated automatically the marker of the current state values to the sysvars. So it doesn't matter from witch side the current values are changed.

To save the current values to one of the 3 scene memories you can use the following script.

SAVE_ROOM1_SZ().myh
for the first room/group
Code:
<SYS><LOCKVARS=OFF><SETVAR=ROOM1_SZ[ARG]_VALUE1,[ROOM1_STATE_VALUE1]><SETVAR=ROOM1_SZ[ARG]_VALUE2,[ROOM1_STATE_VALUE2]><SETVAR=ROOM1_SZ[ARG]_VALUE3,[ROOM1_STATE_VALUE3]><SETVAR=ROOM1_SZ[ARG]_VALUE4,[ROOM1_STATE_VALUE4]><LOCKVARS=ON></SYS>

Please store the script file in the folder ./scripts

To store the the current values use the follow command:

<SCRIPT><RUN=SAVE_ROOM1_SZ().myh><GARG=1></SCRIPT>

<GARG=1> means, that all placeholder "[ARG]" will be filled with "1".

Change the KNX Values again and use the next command:

<SCRIPT><RUN=SAVE_ROOM1_SZ().myh><GARG=2></SCRIPT>

... and so on.

To call a scene use this script:

SET_ROOM1_SZ().myh
Zitat:<KNX><SETVALUE=[KNXGA_ROOM1_STATE1],[ROOM1_SZ[ARG]_VALUE1]><SETVALUE=[KNXGA_ROOM1_STATE2],[ROOM1_SZ[ARG]_VALUE2]><SETVALUE=[KNXGA_ROOM1_STATE3],[ROOM1_SZ[ARG]_VALUE3]><SETVALUE=[KNXGA_ROOM1_STATE4],[ROOM1_SZ[ARG]_VALUE4]></KNX>

Please store the script file in the folder ./scripts also

To call the the scene use command:

<SCRIPT><RUN=SET_ROOM1_SZ().myh><GARG=1></SCRIPT>

for scene one

<SCRIPT><RUN=SET_ROOM1_SZ().myh><GARG=2></SCRIPT>

for scene 2, and so on...

Usage on GUI side:
You can setup a HOLD Button in the mremote.csv to call the scene by a short push an store the scene by a long press as follow:
mremote.csv
Code:
[DIGITAL];;

541;HOLD=3000;<SCRIPT><RUN=SAVE_ROOM1_SZ().myh><GARG=1></SCRIPT>;<SCRIPT><RUN=SET_ROOM1_SZ().myh><GARG=1></SCRIPT>;        // Scene 1
542;HOLD=3000;<SCRIPT><RUN=SAVE_ROOM1_SZ().myh><GARG=2></SCRIPT>;<SCRIPT><RUN=SET_ROOM1_SZ().myh><GARG=2></SCRIPT>;        // Scene 2
543;HOLD=3000;<SCRIPT><RUN=SAVE_ROOM1_SZ().myh><GARG=3></SCRIPT>;<SCRIPT><RUN=SET_ROOM1_SZ().myh><GARG=3></SCRIPT>;        // Scene 3

... test and have fun with it Wink

regards

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
14.05.2015, 23:33
Beitrag #4
RE: Scene
This works perfectly, Just remember to put in a small <DELAY=0.250> or something like that between "<KNX><SETVALUE=[KNXGA_ROOM1_STATE1],[ROOM1_SZ[ARG]_VALUE1]>" and the next one. Or else the KNX will only handle every second or third command (at least when i tried it without the delay).
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