Lichtszenen per Webfront speichern

Hallo Gemeinde,

ich bräuchte mal eventuell ein paar denkanstöße, aber keine verweise auf enorm große scripte, die das machen, was ich will und noch viel mehr, was ich nicht will :slight_smile:

Was ich gerne umsetzten würde :

  • DMX slider über das webfront einstellen
  • diese werte abfragen, und mittels einer „store“ taste im webfront auf eine variable speichern.
  • diese soll dann bei erneutem druck die zuvor erstellte szene wiedergeben.(abfrage für fade und helligkeit bekomme ich hin)
  • das ganze so für 10-20 szenen.

Ich scheitere allerdings schon am abspeichern der werte :frowning:

Natürlich könnte man jetzt sagen, ich könne ja 3 variablen erstellen, und diese einzeln beschreiben…allerdings geht es später um 480 !!! werte und nicht eben nur um 3.

diesen kläglichen anfang habe ich schon geschafft und bekomme zumindestens mal 3 werte meiner slider über die print funktion angezeigt.

<?

$Red1 = (GetValueInteger(56965 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\Red G1]*/));
$Green1 = (GetValueInteger(26133 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\Green G1]*/));
$Blue1 = (GetValueInteger(13018 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\Blue G1]*/));

$programmer = array($Red1,$Green1,$Blue1);

//SetValueString(14793 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\Scene]*/,$programmer);

print_r ($programmer);

?>

Ich wäre euch sehr über lösungsansätze dankbar :slight_smile:

LG
Sascha

Für das Abspeichern gibt es sicherlich viele Ansätze.

[ul]
[li]in eine Datei schreiben [/li][li]in eine Variable speichern [/li][/ul]

Wie Du aber schon bemerkt hast kannst Du ein Array nicht in eine String speichern. Ich nutze dazu die Umwandlung von Array -> json mittels der Befehle SetValue(id_deiner_string, json_encode($Array)) oder die andere Richtung json -> Array mit json_decode(GetValue(id_deiner_string), true)

Mit diesem Weg arbeite ich in verschiedenen Skripten wenn ich Werte, egal wie groß oder welches Format die haben, zwischen- bzw. abspeichern will.

Wow…vielen dank, das klappte schon mal auf anhieb perfekt !!!

jetzt mach ich mal wieder ein wenig weiter :slight_smile:

LG
Sascha

Lange hats ja nicht gedauert :frowning:

Hier mal mein weitergeführtes script :

Wenn ich echo $Red1 ausführe, bekomme ich eine wunderbare integer zahl…allerdings hat DMX_Fade anscheinend irgendein Problem damit…

<?
$fade = 1;
$scene = (json_decode(GetValue(14793 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\Scene]*/), true));

//print_r ($scene);

$Red1 = substr(trim($scene[1]), 0,12);
$Green1 = substr(trim($scene[2]), 0,12);
$Blue1 = substr(trim($scene[3]), 0,12);
$Red2 = substr(trim($scene[4]), 0,12);
$Green2 = substr(trim($scene[5]), 0,12);
$Blue2 = substr(trim($scene[6]), 0,12);

echo $Red1;

DMX_Fade(50569 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1]*/,1,$Red1,$fade);
DMX_Fade(50569 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1]*/,2,$Green1,$fade);
DMX_Fade(50569 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1]*/,3,$Blue1,$fade);
DMX_Fade(50569 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1]*/,4,$Red2,$fade);
DMX_Fade(50569 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1]*/,5,$Green2,$fade);
DMX_Fade(50569 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1]*/,6,$Blue2,$fade);

?>

Fehlermeldung : Warning: Wrong parameter type for DMX_Fade() in C:\Program Files\Haussteuerung\IP-Symcon\scripts\32247.ips.php

hmmmmm…ist es doch keine integer zahl mehr ?

Diese Zeile habe ich aus einem Fritzbox auslese script geklaut…ich verstehe noch nicht genau die bedeutung von „0, 12“.
$Red1 = substr(trim($scene[1]), 0,12);

LG
Sascha

Hilft dir das weiter?

echo substr('abcdef', 0, 4);  // gibt abcd aus

Hallo Boui,

fast :slight_smile:

Die hintere Zahl beschränkt also die Ausgabe der Zeichen maximal.

Was macht die null ? Entfernt sonderzeichen oder Anführungszeichen ?

LG
Sascha

EDIT : ok…habs…es ist „Von“ „Bis“…

Leider bleibt meine Fehlermeldung immer noch :frowning:

Durch substr läßt sich ein Teil einer Zeichenkette (Text, String) ausgeben (Ausgabe eines Teil-Strings). Dabei gibt „Start“ das Startzeichen und „Länge“ die Anzahl der Zeichen an. Beim Parameter „Start“ beginnt die Zählung mit Null für das erste Zeichen. Bei einem negativen Wert für „Start“ beginnt die Zählung von hinten.

Beispiel

<?php
$zeichenkette = „mineralwasser“;
echo substr ($zeichenkette,0,6)."<br>";
echo substr ($zeichenkette,1,6)."<br>";
echo substr ($zeichenkette,-3,2);
?>
Ergebnis:

minera
ineral
se

Hallo Sascha,

die Null gibt den Start des Substrings an. Das PHP-Manual hilft dir im Zweifel weiter.

Gruß
Ralla

Ups! Zu spät.

ok…das war super erklärt :slight_smile:

ich habe nur angst vor dem wort „Text“…kann es sein, das aus diesem Grund jenes hier nicht funktioniert ?

Ich bekomme immer die Fehlermeldung :

Warning: Wrong parameter type for DMX_Fade() in C:\Program Files\Haussteuerung\IP-Symcon\scripts\32247.ips.php on line 16

Über echo $Red1 bekomme ich sauber die Zahl 24 ausgegeben

<?
$fade = 1;
$scene = (json_decode(GetValue(14793 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\Scene]*/), true));

//print_r ($scene);

$Red1 = substr($scene[1], 0,3);


echo $Red1;

DMX_Fade(50569 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1]*/,1,$Red1,$fade);


?>

die 0,3 muß ich lassen, da ich werte zwischen ein und dreistellig erwarte.

LG
Sascha

Versuch mal $Red1 als einen Integer-Wert zu ermitteln.

$Red1 = intval(substr($scene[1], 0,3));

Siehe auch hier.

Gruß
Ralla

Edit: Nach Hinweis von UVoigi Schreibfehler korrigiert.

Sollte es nicht besser intval statt intavl heißen?

Hallo Ralla,

volltreffer !!! Vielen Dank

Puh…da muß man erstmal wissen, nach was man suchen muß :slight_smile:
Zum Glück hat mich dein Link auf deinen kleinen Buchstabendreher hingewiesen :slight_smile:

So geht es jetzt fehlerfrei und macht das gewünschte :

Kurze Nachfrage : Kann man daß auch kürzer schreiben ? Das wird später mal für 480 ! Kanäle…da verheiz ich ja 5-7 Tastaturen.

<?
$fade = 1;
$scene = (json_decode(GetValue(14793 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\Scene]*/), true));

//print_r ($scene);

$Red1 = intval(substr($scene[1], 0,3));
$Green1 = intval(substr($scene[2], 0,3));
$Blue1 = intval(substr($scene[3], 0,3));
$Red2 = intval(substr($scene[4], 0,3));
$Green2 = intval(substr($scene[5], 0,3));
$Blue2 = intval(substr($scene[6], 0,3));

echo $Red1;


DMX_Fade(50569 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1]*/,1,$Red1,$fade);
DMX_Fade(50569 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1]*/,2,$Green1,$fade);
DMX_Fade(50569 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1]*/,3,$Blue1,$fade);
DMX_Fade(50569 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1]*/,4,$Red2,$fade);
DMX_Fade(50569 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1]*/,5,$Green2,$fade);
DMX_Fade(50569 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1]*/,6,$Blue2,$fade);

?>

LG
Sascha

@UVoigi
Danke für den Hinweis. Ist korrigiert.

@Sascha
Vielleicht so:


$AnzahlKanaele = 480;

for($i=1; $i <= $AnzahlKanaele; $i++){
  $FarbWert = intval(substr($scene[$i],0,3));
  DMX_Fade(50569 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1]*/,$i,$FarbWert,$fade);  
}  

Oder etwas pflegeleichter:


$AnzahlKanaele = count($scene);

for($i=1; $i <= $AnzahlKanaele; $i++){
  $FarbWert = intval(substr($scene[$i],0,3));
  DMX_Fade(50569 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1]*/,$i,$FarbWert,$fade);  
}  

oha…jetzt gehts ins eingemachte :slight_smile:

wir präsentieren stolz den Film : „Ein Anfänger beißt sich durch“ :slight_smile:

Ich versuch daß mal umzusetzen…sieht schon EXTREM kürzer aus, als mein Versuch.
Danach versuche ich das mal zu analysieren, um auch zu verstehen, wie das gemacht wird…

Das oben gepostete Script ist eines von 2 Scripten.

Dieses hier brauche ich um die Werte der Slider einzulesen…gerade die Zeile für den Array Eintrag ist schon bei nur 16 Kanälen sehr lang…gibt es da auch etwas kürzeres ?

Der Dummyeintrag ist nur dafür da, damit die nummerierung im Array mit meinen DMX Kanälen analog ist.

Aber schonmal vielen vielen Dank für die ganze Hilfe hier !!!

<?
$dummy = 0;

$Red1 = (GetValueInteger(56965 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\Red G1]*/));
$Green1 = (GetValueInteger(26133 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\Green G1]*/));
$Blue1 = (GetValueInteger(13018 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\Blue G1]*/));

$Red2 = (GetValueInteger(27559 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\Channel (4)]*/));
$Green2 = (GetValueInteger(41511 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\Channel (5)]*/));
$Blue2 = (GetValueInteger(37915 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\Channel (6)]*/));

$Red3 = (GetValueInteger(34391 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G03 Red]*/));
$Green3 = (GetValueInteger(49923 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G03 Green]*/));
$Blue3 = (GetValueInteger(35882 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G03 Blue]*/));

$Red4 = (GetValueInteger(57099 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G04 Red]*/));
$Green4 = (GetValueInteger(34923 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G04 Green]*/));
$Blue4 = (GetValueInteger(15848 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G04 Blue]*/));

$Red5 = (GetValueInteger(11801 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G05 Red]*/));
$Green5 = (GetValueInteger(19562 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G05 Green]*/));
$Blue5 = (GetValueInteger(16465 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G05 Blue]*/));

$Red6 = (GetValueInteger(48806 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G06 Red]*/));
$Green6 = (GetValueInteger(43376 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G06 Green]*/));
$Blue6 = (GetValueInteger(12771 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G06 Blue]*/));

$programmer = array($dummy,$Red1,$Green1,$Blue1,$Red2,$Green2,$Blue2,$Red3,$Green3,$Blue3,$Red4,$Green4,$Blue4,$Red5,$Green5,$Blue5,$Red6,$Green6,$Blue6);

SetValue(14793 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\Scene]*/, json_encode($programmer));
print_r ($programmer);

?>

Nachtrag :

Wow…das geht ja wirklich :slight_smile: Ein extrem kurzer 3 Zeiler macht soviel wie mein ganzes script vorher :slight_smile:
Das ist wohl die Königsklasse ^^

Ich bekomme allerdings bei Zeile 7 eine Meldung : Notice: Undefined offset: 19 in C:\Program Files\Haussteuerung\IP-Symcon\scripts\30099.ips.php on line 7

<?
$scene = (json_decode(GetValue(14793 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\Scene]*/), true));
$AnzahlKanaele = count($scene);
$fade = 2;

for($i=1; $i <= $AnzahlKanaele; $i++){
  $FarbWert = intval(substr($scene[$i],0,3));
  DMX_Fade(50569 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1]*/,$i,$FarbWert,$fade);
}

?>

geht wohl um folgende zeile :

$FarbWert = intval(substr($scene[$i],0,3)); 

Es gibt in der 3.1 #3342 ganz neu ein DMX RGB Modul, womit man im WebFront dann einen netten Farbkreis bekommt, der dann auch 5 Szenen speichern kann :slight_smile:

paresy

na dann mach das mal mit 480 Kanälen…3 kann jeder ^^

Ich habe RGB LED Röhren mit 16 RGB Modulen pro Meter…davon dann 10…später 20 Röhren ^^

Da kommt was zusammen :slight_smile:

Soooo…hier mal der zwischenstand :

Folgende 2 Scripte zum einlesen der slider und speichern in einer string variablen.
Das 2. Script dient zum „recall“ der zuvor in der string variable abgelegten scene (werte).

Das 2. Scrip wirft nun auch eine 2. Fehlermeldung heraus, mit denen ich beide nicht wahnsinnig viel anfangen kann :frowning:

  1. Script zum Einlesen :
<?

$Red1 = (GetValueInteger(56965 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G01 Red]*/));
$Green1 = (GetValueInteger(26133 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G01 Green]*/));
$Blue1 = (GetValueInteger(13018 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G01 Blue]*/));

$Red2 = (GetValueInteger(27559 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G02 Red]*/));
$Green2 = (GetValueInteger(41511 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G02 Green]*/));
$Blue2 = (GetValueInteger(37915 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G02 Blue]*/));

$Red3 = (GetValueInteger(34391 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G03 Red]*/));
$Green3 = (GetValueInteger(49923 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G03 Green]*/));
$Blue3 = (GetValueInteger(35882 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G03 Blue]*/));

$Red4 = (GetValueInteger(57099 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G04 Red]*/));
$Green4 = (GetValueInteger(34923 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G04 Green]*/));
$Blue4 = (GetValueInteger(15848 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G04 Blue]*/));

$Red5 = (GetValueInteger(11801 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G05 Red]*/));
$Green5 = (GetValueInteger(19562 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G05 Green]*/));
$Blue5 = (GetValueInteger(16465 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G05 Blue]*/));

$Red6 = (GetValueInteger(48806 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G06 Red]*/));
$Green6 = (GetValueInteger(43376 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G06 Green]*/));
$Blue6 = (GetValueInteger(12771 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G06 Blue]*/));

$Red7 = (GetValueInteger(19581 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G07 Red]*/));
$Green7 = (GetValueInteger(46463 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G07 Green]*/));
$Blue7 = (GetValueInteger(30541 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G07 Blue]*/));

$Red8 = (GetValueInteger(33249 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G08 Red]*/));
$Green8 = (GetValueInteger(46344 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G08 Green]*/));
$Blue8 = (GetValueInteger(57494 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G08 Blue]*/));

$Red9 = (GetValueInteger(44485 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G09 Red]*/));
$Green9 = (GetValueInteger(12606 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G09 Green]*/));
$Blue9 = (GetValueInteger(20956 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G09 Blue]*/));

$Red10 = (GetValueInteger(18066 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G10 Red]*/));
$Green10 = (GetValueInteger(31110 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G10 Green]*/));
$Blue10 = (GetValueInteger(44188 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G10 Blue]*/));

$Red11 = (GetValueInteger(17610 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G11 Red]*/));
$Green11 = (GetValueInteger(27023 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G11 Green]*/));
$Blue11 = (GetValueInteger(59695 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G11 Blue]*/));

$Red12 = (GetValueInteger(36786 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G12 Red]*/));
$Green12 = (GetValueInteger(27963 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G12 Green]*/));
$Blue12 = (GetValueInteger(16053 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G12 Blue]*/));

$Red13 = (GetValueInteger(45164 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G13 Red]*/));
$Green13 = (GetValueInteger(33476 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G13 Green]*/));
$Blue13 = (GetValueInteger(50489 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G13 Blue]*/));

$Red14 = (GetValueInteger(32212 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G14 Red]*/));
$Green14 = (GetValueInteger(32135 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G14 Green]*/));
$Blue14 = (GetValueInteger(43680 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G14 Blue]*/));

$Red15 = (GetValueInteger(48884 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G15 Red]*/));
$Green15 = (GetValueInteger(13340 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G15 Green]*/));
$Blue15 = (GetValueInteger(44994 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G15 Blue]*/));

$Red16 = (GetValueInteger(51009 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G16 Red]*/));
$Green16 = (GetValueInteger(37462 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G16 Green]*/));
$Blue16 = (GetValueInteger(49832 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\G16 Blue]*/));

$dummy = 0;

$programmer = array($dummy,$Red1,$Green1,$Blue1,$Red2,$Green2,$Blue2,$Red3,$Green3,$Blue3,$Red4,$Green4,$Blue4,$Red5,$Green5,$Blue5,$Red6,$Green6,$Blue6,$Red7,$Green7,$Blue7,$Red8,$Green8,$Blue8,$Red9,$Green9,$Blue9,$Red10,$Green10,$Blue10,$Red11,$Green11,$Blue11,$Red12,$Green12,$Blue12,$Red13,$Green13,$Blue13,$Red14,$Green14,$Blue14,$Red15,$Green15,$Blue15,$Red16,$Green16,$Blue16);

SetValue(14793 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\Scene]*/, json_encode($programmer));
//print_r ($programmer);

?>
  1. Script für den „recall“ der scene (werte werden wieder auf DMX geschrieben)
<?
$scene = (json_decode(GetValue(14793 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1\Scene]*/), true));
$AnzahlKanaele = count($scene);
$fade = 2;

for($i=1; $i <= $AnzahlKanaele; $i++){
  $FarbWert = intval(substr($scene[$i],0,3));
  DMX_Fade(50569 /*[Unsere Wohnung\Zimmer\Bad\Rechts\DMX Ausgang Universum 1]*/,$i,$FarbWert,$fade);
}

?>

und hier die Fehlermeldungen aus Script 2 :

Notice:  Undefined offset: 49 in C:\Program Files\Haussteuerung\IP-Symcon\scripts\30099.ips.php on line 7

Warning:  Channel not cannot be bigger than the configured channel count in C:\Program Files\Haussteuerung\IP-Symcon\scripts\30099.ips.php on line 8

Lieben Dank fürs helfen !
LG
Sascha

Ich denke die Schleife wird einmal zu oft durchlaufen.
Neuer Versuch:

for($i=1; $i < $AnzahlKanaele; $i++){

Ich denke du hast recht :slight_smile:

Jetzt sind alle Fehlermeldungen weg…läuft spitze !!!

Lieben Dank
Sascha

P.s: Ich versuch jetzt mal 10 minuten alleine klar zu kommen :slight_smile: