Simples Random-Farb-Script für den RGBW-868 Stripe

kein Script, ein Event. das hängst Du an das Script und als auslösende Variable press_short - dann geht’s…

Ahhhhhh…wieder was elementares verstanden. Super :slight_smile:

Irgendwie habe ich aber das Problem das bei dem angelernten Sender alle Variablen auf „false“ bleiben und nur die „Install-Test“ Variable immer auf „True“ steht und sich bei Drücken des Senders nur die zeit hinter dem „True“ ändert.

Die Verschlüsselung musste ausgeschalten werden…Jetzt aktualisiert sich die Press Short Variable :wink:

Allerdings funktioniert das Starten des Scripts noch nicht.

Habe ein Ereignis zu dem RandomScript hinzugefügt. Habe „bei Variablenänderung“ ausgewählt.
Allerdings ändert sich ja auch hier wieder die Variable nicht, sondern nur die Zeit :frowning:

Stehe bisschen auf dem Schlauch.

Ich möchte den oberen Kanal des 2fach Senders zum Ein-und Ausschalten des Scripts nutzen.

Der untere Kanal soll ein anderes Script ein-und ausschalten.

Wat so’n bischen Suchen doch hilft :wink:

Allerdings funktioniert das Starten des Scripts noch nicht … ein Ereignis … „bei Variablenänderung“ …
Allerdings ändert sich ja auch hier wieder die Variable nicht, sondern nur die Zeit :frowning:

Was könnte es wohl dann sein :wink:

Stehe bisschen auf dem Schlauch.

Geh doch runter, vielleicht einfach mal was ausprobieren

Ich möchte den oberen Kanal des 2fach Senders zum Ein-und Ausschalten des Scripts nutzen.
Der untere Kanal soll ein anderes Script ein-und ausschalten.

Dann tu das, das Prinzip steht oben. Zum Ein- und Ausschalten vielleicht mal nach „Toggle-Button“ suchen. Wenn die Forensuche nicht geht, über Goggle (ip-symcon Toggle-Button)

Gruß
Bruno

EDIT: siehe letzter Beitrag

Dann schreib ne Zeile zum Deaktivieren des Events in Dein Skript mit rein

	IPS_SetEventActive(38621, false);

edit: siehe Beitrag unten:

Hallo,
ich muss das Thema nochmal anreißen.
Ich habe noch immer ein problem das RGB Script mittels eines tatsers zu starten.
Wenn ich dieses Script direkt über Ip-Symcon starte, dann geht es.


 <?

// Installation:
//1. Bei $LEDid die ID der RGBW-868 Instanz eintragen.
//2. Script mit dem Ausühren-Button oder Runscript starten.
//3. Alles so schön bunt hier!

//An-Ausschalten mit:
//1. "Ausführen" Button im Editor oder
//2. IPS_runscript (diese Script-ID) oder
//3. direktes Ändern der Variablen "Aktiv" auf true oder false


$LEDid=29750 /*[Haus\Erdgeschoss\Küche\RGB LED Stripe Küche]*/;
$fade=8; //Fadetime / Zeit bis zur nächsten Farbe in Sek.

if(($IPS_SENDER == "Runscript")or($IPS_SENDER == "Execute")or($IPS_SENDER == "WebFront")){
   $aktivid = @IPS_GetVariableIDByName("Aktiv", $IPS_SELF);
   if($aktivid===false) {
      $aktivid = IPS_CreateVariable(0);
      IPS_SetParent($aktivid, $IPS_SELF);
      IPS_SetName($aktivid, "Aktiv");
   }
    $eid = @IPS_GetEventIDByName("Aktiv-Event", $IPS_SELF);
   if($eid===false) {
      $eid = IPS_CreateEvent(0);
      IPS_SetEventTrigger($eid, 1, $aktivid);
      IPS_SetParent($eid, $IPS_SELF);
      IPS_SetName($eid, "Aktiv-Event");
      IPS_SetEventActive($eid, true);
   }
   SetValue ($aktivid, (GetValue($aktivid) ? false:true));
    }

if($IPS_SENDER == "Variable")    {
   $aktivid = @IPS_GetVariableIDByName("Aktiv", $IPS_SELF);
   $aktiv=GetValue($aktivid);
    if($aktiv){
       IPS_SetScriptTimer($IPS_SELF, 1);
        }
    else{
       IPS_SetScriptTimer($IPS_SELF, 0);
       PJ_DimRGBW($LEDid,0,0,0,0,0,0,0,0);
       }
    }

if($IPS_SENDER == "TimerEvent"){
    $rot=rand(0,255);$gruen=rand(0,255);$blau=rand(0,255);
    PJ_DimRGBW($LEDid,$rot,$fade,$gruen,$fade,$blau,$fade,0,0);
    IPS_SetScriptTimer($IPS_SELF, $fade);
    }
    
    
?>


Habe jetzt noch ein Script erstellt. Mit diesem möchte ich das RGB Script über den HM Taster starten.


<?

$taster = GetValueBoolean(31303 /*[WandsenderHM\WandsenderKuecheRGBScript\PRESS_SHORT]*/);

If ($taster == true)


{
 IPS_RunScript(27154 /*[Skripte\RGB\Küche\KuecheRGBStripe]*/);
}

?>

Habe dazu ein auslösendes Ereignis hinzugefügt, dass bei Aktualisierung der Press-Short Variable das Script auslösen soll.

Allerdings passiert leider nix, wenn ich den Taster drücke :frowning:

Hat keiner eine Idee? :confused: Haben am Wochenende Einzugsparty, da wäre es cool, wenn es gehen würde :):o

Könnte ich mit dem Script auch die RGB variablen anderer Komponenten triggern? Evtl sogar die HSL Slider der HUES?
Gibt es eigentlich auch eine Art „Disco“ Script für HM Komponenten (Dimmer/Lichtschaltaktoren) als kleinen Spaßfaktor, Demonstrationszweck?

Moin,
da ich das Script nach langer Zeit mal wieder nutzen wollte, ich aber mittlerweile auf der 5.x bin und es nicht mehr lief:

[ul]
[li]Die Variable $IPS_SENDER gibt es nicht mehr und muss durch $_IPS[‚SENDER‘] ersetzt werden.
[/li][li]Die Variable $IPS_SELF gibt es nicht mehr und muss durch $_IPS[‚SELF‘] ersetzt werden.
[/li][li]
[/li][/ul]

Mit diesen Änderungen sollte es wieder laufen.

Hallo zusammen,

ich habe das Skript von hier (Simples Random-Farb-Script für den RGBW-868 Stripe) erfolgreich umgezogen und alles läuft perfekt.
Ich habe das Skript dreimal im Einsatz, nämlich für einen LED Stripe in der Saune, im Saunaraum und einmal im Duschbereich.
Jetzt wäre es super (laut meiner Frau :smiley: ) wenn die Farben der drei Stripes, die ich über die drei IPS-868 RGBWs ansteuere die gleiche Farbe haben und im gleichen Rhythmus wechseln.
Ich kann aber natürlich nur eine $LEDid eintragen und logischerweise macht dann jeder Stripe seine eigenen Farben und Rhythmen.

Gibt es eine Möglichkeit, dass ich die rigendwie syncron bekommen.

Danke für jeglichen Hinweis oder Hilfe.

Speed-Baron

Der schnellste, einfachste und nicht so „perfekte“ Weg wäre, du setzt dir oben 3 IDs, $LEDid1-3 und kopierst unten die PJ_ Befehle jeweils dreimal und trägst jeweils eine Variable ein. Dann kannst du alle drei Stripes mit einem Script ansteuern.

Nur für dich haben wir alle Hebel in Bewegung gesetzt um hinter dem heutigen Adventskalender Türchen ein Modul plazieren zu können, welches genau deinen Ansprüchen entspricht. :wink:
Suche einfach im Module Store nach dem Zufällige Beleuchtungs-Modul und aktiviere in der Instanzkonfiguration die Option gleichzeitiges Schalten.
Hier der Link zum heutigen Türchen: [Tag 5] Modul: Zufällige Beleuchtung

Noch eine schöne Adventszeit.

parzival

Hallo zusammen,

erstmal ein Dankeschön an beide Hilfesteller aber beide Lösungen machen nicht das gewünschte.
Der erste Ansatz, schaltet zwar alle drei auf einmal, heißt Zeitsyncron aber die Farben sind unterschiedlich.
Das Adventskalender Modul schaltet Zeitsyncron und auch Farbsyncron aber ich muss hier die Farben auswählen.
Hier wäre der Ansatz der ersten Lösung der gewünschte, nämlich dass die Farben per Zufallswert kommen.
Also im Modul noch eine Einstellung, dass anstatt der Farbliste, die ich händisch zusammenklickern muss, ein Zufallsgenerator die Farben bestimmt.

Den ersten Lösungsansatz habe ich folgendermaßen erweitert, vielleicht habe ich ja auch was falsch Verstanden?

$LEDid1=41503 /[RGBW-868 (Stripe)]/;
$LEDid2=47473 /[RGBW-868 (Stripe)]/;

und weiter unten im Skript ebenfalls, wie beschrieben, die Zeilen ergänzt:

PJ_DimRGBW($LEDid1,0,0,0,0,0,0,0,0);
PJ_DimRGBW($LEDid2,0,0,0,0,0,0,0,0);

und

PJ_DimRGBW($LEDid1,rand(0,$maxlum),$fade,rand(0,$maxlum),$fade,rand(0,$maxlum),$fade,0,0);
PJ_DimRGBW($LEDid2,rand(0,$maxlum),$fade,rand(0,$maxlum),$fade,rand(0,$maxlum),$fade,0,0);

Bin weiterhin für jeden Tip bzw. Verbesserung dankbar

Schöne Grüße
Speedy

Ich hatte nicht gesehen, dass das rand() in dem Befehl erfolgt. Wenn du für jeden einzeln rand() machst, dann ist das natürlich immer ein anderer Wert.

Erst rand() und dann alle PJ_… mit dem gleichen Wert aufrufen ;).


$vaule1 = rand(0,$maxlum);
$value2 = rand(0,$maxlum);
$value3 = rand(0,$maxlum);

PJ_DimRGBW($LEDid1,$value1,$fade,$value2,$fade,$value3,$fade,0,0);
PJ_DimRGBW($LEDid2,$value1,$fade,$value2,$fade,$value3,$fade,0,0);

P E R F E K T !!!

Tausend Dank - funktioniert genau wie ich (sie :slight_smile: ) es wollte.

Hast Du noch eine Idee, wie man die Werte von Dimmzeit und Helligkeit im Webfront und der App editieren kann?
Nicht Kriegsentscheidend aber im Webfront werden die Werte angezeigt, in der App gar nicht.
Sind aber nicht editierebar.

Danke
Speedy

Vermutlich haben die Variablen kein Profil gesetzt, dass kannst du in der Konsole machen, danach sollten es möglich sein sie zu bearbeiten.

Hallo Ralf,

ich habe mal ein Variablenprofil erstellt vom Typ Integer mit einem Bereich von 1 bis 60 Sekunden und dann der Variable Dimmzeit zugewiesen aber da passiert leider nichts.
Es ändert sich die Anzeige im Webfrontend und in der iPhone App bleibt es weiterhin ausgeblendet.

Hast Du noch einen Tip für mich?

Danke und schöne Grüße
Speedy

Hallo zusammen,

nachdem nun eigentlich alles läuft wie gewünscht, habe ich versucht, das Skript per Alexa zu starten.
Dazzu habe ich mein Skript in der Alexa Verwaltung unter Szenen eingefügt und danach in der Alexa App auf dem Smartphone auch gefunden.
Wenn ich nun den Sprachbefehl „Alexa starte Saunalicht“ sage, sehe ich in der Konsole, dass das Skript angetriggert wird - es ändert sich nämlich der Zeitstempel auf das aktuelle Dtum und Uhrzeit.
Nur das Skript läuft nicht los. prich meine LED Stripes gehen nicht an.

Um das ganze einzugrenzen, habe ich mir folgendes kleine Skript eingefügt, um damit sozusagen mit einem Skript das andere zu starten - abver auch das bleibt ohne Aktion.

IPS_Runscript (26743);

Die Skript ID meines Farbwechslerskriptes ist die 26743 - logo - aber es will einfach nicht.

Ich vermute, dass ich nur irgendeine Kleinigkeit übersehe - manchmal sieht man den Wald vor lauter Bäumen nicht und als Anfänger ist das irgendwie manchmal schwierig.

Mal wieder vielen Dank im Voraus für jegliche Hilfe und TZipps.

Speed