Modul Szenensteuerung

Ich kann es nicht beantworten, weil ich es im Moment nicht testen kann.

Grüße,
Kai

Hallo @paresy , gibt es hier schon etwas neues zu berichten?
Liebe Grüße

Edit: Ich muss das nochmal pushen. Ich verstehe ja, dass die ganze Energie in die neue Visu fließt, aber ich benötige die Funktion und fände es schön, wenn auch noch bestehende Module gepflegt werden, die von Symcon selber stammen.

Viele Grüße

2 „Gefällt mir“

@paresy
Es sind schon zwei Monate vergangen, ich und auch andere würden sich sicherlich auf eine Reaktion freuen :blush:

Viele Grüße

Ich hole mal @sunnyka98 dazu, die sich um den PR kümmert, sodass er endlich „reif“ wird. Der aktuelle Draft braucht noch etwas liebe :slight_smile: Sorry, dass es so lange dauert und danke für den Bump!

paresy

2 „Gefällt mir“

Hatte die Tage auch mit dem Modul gespielt da ich Z2M Licht und IP Lampen im Garten nett zusammen in verschiedene szenen zu bekommen. Aber beim wechseln der Szenen werden nicht alle Zustände wiederhergestellt wie gespeicht. Instanzen sind alle aufgenommen in die Konfiguration. Auch kann ich eine Szenen mehrmals starten und es kommen unterschiedliche Ergebnisse bei rum.
Würde mich freuen wenn so eine basic Funktion reif zum nutzen wird! @paresy @sunnyka98
Gruß BlackOrca

1 „Gefällt mir“

Tolle Idee und Modul!
Ich würde hier als Feature-Request noch vorschlagen, dass man einstellen kann, ob man speichern im Web-Interface möchte oder nicht. Ich würde das gerne deaktivieren, da ich schnell die Szenen auf dem iPhone aufrufen möchte und vermeiden möchte, versehentlich was zu überschreiben.

In der Kachel Visualisierung ist nur aufrufen auf der Kachel sichtbar. Erst wenn man diese expandiert, kann man auf Speichern drücken.

paresy

Hi Paresy,

ich habe hier auch den Speichern-Button…?

Hallo @sunnyka98 und @paresy ,
gibt es schon einen Zwischenstand? Leider ist das Modul so nicht brauchbar.

Viele Grüße
marvus

Ich befürchte, dass ich nicht mehr im Überblick habe, was an dem Modul kaputt ist. Wir haben für @seppm den Wunsch eingebaut, dass man die Szenen in der Konsole editieren kann. Da wartet noch ein PR auf einen Review. Aber mehr ist aktuell nicht geplant. Magst du noch mal kurz zitieren oder erklären was kaputt ist?

Ich sehe irgendwas mit dem HUE Modul - kannst du das Problem aber mal mit einer ganz normalen Variable inkl. Aktionsskript nachstellen?

paresy

1 „Gefällt mir“

Es geht glaube ich immer noch um das Thema mit dem Ablaufplan

Gruß
Stephan

Oh oh, völlig verpennt vor SIP Begeisterung. Und davor Olympia und Geburtstag :see_no_evil:
Hol ich nach :pray:

Hallo @paresy,
mein Problem ist, dass die ursprünglichen Werte der Hue Lampen (Farbe, Status, Sättigung etc.) nach Speichern nicht wieder aufgerufen werden können. Es wird der gespeicherte Wert also nicht wieder nach zwischenzeitlicher Veränderung über den Ablaufplan zurück in die Variable geschrieben.

Ich habe noch einmal einen einfachen Ablauf erstellt. Die Lampe ist vorher an und eine warme Farbe ist eingestellt. Daher sollte zum Schluss des Ablaufplans auch wieder eine warme Farbe zu sehen sein. Zwischen Speicherung und Abrufen, soll sie kurz grün werden. Die Lampe bleibt nach dem Durchlaufen des Ablaufplans aber grün und geht nicht wieder auf den gespeicherten Wert der warmen Farbe zurück.

Moin @marvus,
Ich glaube das Problem ist folgendes.
Ich habe ähnliche Probleme mit dem Zigbee2Mqtt Modul.
Ich vermute das im Fall das 3 Variablen auf einmal geändert werden die (Lampen)Integration bzw. das Lampensystem nicht alles übernehmen kann.
Ich habe mal spaßeshalber ein Script geschrieben mit einem Mehrstufigen aktivieren der gespeicherten Werte.
Sprich (das ist natürlich nicht mit einem Save Button zu realisieren, bzw. man müsste dann das geforderte händische eintragen von Werten im Konfigurator möglich machen um dann eine Start Priorität zu setzen).
In meinem Script sind es 3 Prioritäten.
Ich mache dann folgendes:
Wenn ich die „Szene“ starte dann werden erst alle Variablen der Priorität nach gesetzt.

  • Prio 1: In meinem Fall kommen da die Helligkeitswerte. Da bei den meisten Integrationen bei erhöhen der Helligkeit die Lampe sowieso angeht habe den Status nicht mit aufgenommen.
  • Prio 2: Farbe
  • Prio 3: Farbtemperatur

zwischen den Aufrufen habe ich erstmal IPS_Sleeps eingebaut damit die Lampen Integrationen eventuelle Übergangszeiten durchlaufen kann bzw. mit der Verarbeitung nachkommen.
Damit funktioniert es. Ich kämpfe jetzt eher mit Farbabweichungen der verschiedenen System (Govee, zigbee2mqtt) und ich meine nicht das rot nicht das gleich rot ist sondern trotz exakt eingestellten Farbwerte und abspeichern dieser das nicht wieder exakt das gleich beim Aufrufen bei rumkommt.

Hier mein Tree:

<?php

const targetIdsFirstStage = 
[
    42204, //Farbe von Gruppe 1
    44916, //Farbe von Lampe Y
    46925, //Farbe von Lampe X
    56387, //Farbe von Gruppe Z
];
const targetIdsSecondStage = 
[
    40414, //Helligkeit von Gruppe 1
    24632, //Helligkeit von Lampe Y
    36085, //Helligkeit von Lampe X
    57901 //Helligkeit von Gruppe Z
];
const targetIdsThirdStage = 
[
    57097, //Status von Gruppe 1
    44527 //Status von Gruppe 2
];

//Mapping von meinen vordefinierten Scenen (ID) auf die String Variablen (ID) der json kodierten Konfiguration
const sceneIdMapToSceneDataId = 
[
    31816 => 42651,
    35731 => 31718,
    12471 => 51614,
    21423 => 39961,
    46482 => 26804,
    12641 => 37149,
    58196 => 18771,
    45650 => 35483
];

if($_IPS['SENDER'] == "RunScript")
{    
    return SceneInvoke($_IPS['VARIABLE'], $_IPS['VALUE']);
}

function SceneInvoke($varId, $varValue)
{
    if(!array_key_exists($varId, sceneIdMapToSceneDataId))
    {
        IPS_LogMessage("Scene Control", "Scene ID not found in ToData Mapping! " . $varId);
        return false;
    }

    switch($varValue)
    {
        case 0: //nothing
        return true;

        case 1: //save
        return SaveScene($varId);

        case 2: //load
        return LoadScene($varId);
    }
}

function SaveScene($sceneId)
{
    $data = [];

    //Werte für die erste Stage speichern
    foreach(targetIdsFirstStage as $targetId)
    {
        if(!IPS_VariableExists($targetId))
            continue;
        
        $data[0][$targetId] = GetValue($targetId);          
    }
    //Werte für die zweite Stage speichern
    foreach(targetIdsSecondStage as $targetId)
    {
        if(!IPS_VariableExists($targetId))
            continue;
        
        $data[1][$targetId] = GetValue($targetId);
    }
    // Werte für die 3. Stage speichern
    foreach(targetIdsThirdStage as $targetId)
    {
        if(!IPS_VariableExists($targetId))
            continue;
        
        $data[2][$targetId] = GetValue($targetId);
    }
    
    SetValueString(sceneIdMapToSceneDataId[$sceneId], json_encode($data));

    return true;
}

function LoadScene($sceneId)
{
    $json = @GetValueString(sceneIdMapToSceneDataId[$sceneId]);
    if($json == false)
    {
        return false;
    }

    $targetWithValues = json_decode($json, false);
    
    // Über alle Stages gehen
    foreach($targetWithValues as $stage)
    {       
        // Über alle Variablen der Stage gehen und den gespeicherten Wert aufrufen
        foreach($stage as $id => $targetValue)
        {            
            if(!IPS_VariableExists($id))
                continue;

            RequestAction($id, $targetValue);
            
            // Halbe Sekunde warten damit das Gerät es verarbeiten kann. Da die nächste Variable eventuell das gleiche Gerät anspricht.
            IPS_Sleep(500);
        }
        // Wartezeit zwischen den Stages...
        IPS_Sleep(1000);
    }
    return true;
}

@paresy @sunnyka98 eventuell wirklich was bei den Verschiedenen Lampen Integrationen berücksichtig werden muss, das nicht alle gespeicherten Variablen im „gleichen“ Moment übergeben werden. Bei Zigbee2Mqtt und Govee funktioniert es definitiv nicht und wie es scheint bei Hue auch nicht. Entweder verwirft das Gerät die ganzen Aufforderungen oder es kommt zu Transition Abbrüchen oder die Farbe wird nicht ganz gesetzt bzw. Helligkeiten nicht erreicht.

Man muss also die Möglichkeit bekommen für jede Variable wie gewünscht die Möglichkeit bekommen den Variablen Wert genau setzen zu können und Abrufreihenfolgen zu definieren.
Hierdurch kann man auch eine Zeitliche Abfolge erstellen für eine Interessantes Einschaltverhalten (natürlich im gewissen Maße) Eine Licht Symphonie :smiley:

Ich hoffe das was ich erzähle macht sinn und ich habe die Problematik aufgewiesen…

Gruß
Dennis

1 „Gefällt mir“

Ich habe zwar keine Ahnung, wo es hängt, aber das scheint eine mögliche Lösung zu sein und ich hoffe @paresy und/oder @sunnyka98 können in nächster Zeit eine Lösung anbieten :blush:
@BlackOrca , danke fürs mitgrübeln :wink:

Hallo,
ich habe mich jetzt nochmal mit einer neuen Idee an die Sache gemacht.
Ich habe jetzt mit dem Modul Szenensteuerung für jede Variable der einzlenen Leuchte eine Szene abgespeichert.

Szene 3 = Status der einen Hue Lampe
Szene 4 = Helligkeit der einen Hue Lampe
Szene 5 = Farbe der einen Hue Lampe
Szene 6 = Farbtemperatur der einen Hue Lampe

Diese habe ich in einen Ablaufplan gelegt und nacheinander, sogar mit Pausen dazwischen, hinterlegt. Nun ändere ich die Farbe der Hue Lampe auf einen anderen Farbton und rufe nach 6 Sekunden wieder die Szenen nacheinander mit Pausen auf.

Damit habe ich jetzt versucht das Problem zu umgehen. Aber auch hier bleibt die veränderte Farbe im Ablaufplan bestehen und die gespeicherten Werte werden nicht aufgerufen.

@paresy Bitte lasst das Team da mal drüberschauen, da das Problem jetzt seit März besteht und ich mir wünsche, dass ein von euch bereitgestelltes Modul funktionieren sollte. Wieso werden die Werte nicht wieder aufgerufen?

Push

@paresy,
Bitte schaut euch dieses Modul an. Gerade jetzt in der dunklen Jahreszeit wird es verstärkt benötigt.

Das ist doch nicht mein Modul?!!
Michael

Nein…
image

Gruß,
BlackOrca

Tut mir Leid. Ich hatte vom Avatar auf Symcon geschlossen. Da die Cover von offizieller Seite ja nicht sehr offiziell wirken und bei deinem Avatar als Ort Lübeck steht :wink:
Mein Fehler :man_facepalming:t3:

1 „Gefällt mir“