Modul Szenensteuerung

juhu es funktioniert wieder alles bestens.

Einen Vorschlag hätte ich noch zur Auswahl der Szenen. Wäre es möglich diese Auswahl in eine Variable zu packen? d.h. man Setzt diese Variable auf 1 dann wird die erste Szene aufgerufen. bei 2 auf die zweite Szene usw.

bin gerade am Überlegen wie ich das sonst am besten in die IPSView Visu bekomme.

Danke schonmal an euch.
Werde jetzt wohl einiges hier umbauen können.

Vlt versteh ich es nicht recht aber das ist in IPSview einfach.
Jede Szene hat ja eine ID. Da machst 2 Value Button je Szene in IPSview.
Zum speichern übergibst den Wert 1, zum aufrufen Wert 2. Fertig.
Wie Du die Szenen nennst ist dabei völlig egal.
Über Aktive Szene seh ich was gerade aufgerufen wurde.

Aber vlt. hast Du eine Anforderung die ich nicht kenne/brauchte.

Cheers Seppm

Ja ich versteh was du meinst.
Ich möchte dies für jeden Raum einheitlich darstellen. Da es aber Räume gibt mit nur 2 Szenen und Räume mit bis zu 8 Szenen würde dann in dem eine ganze Seite nur mit Szenen angezeigt werden.

Meine Überlegung war die, dass ja immer nur eine Szene aktiv ist.

Also Szene: Abend

Beim Tippen kommt dann eine Liste der vorhandenen Auswahlbaren Szenen.

Jetzt beim Schreiben ist mir der Knoten geplatzt und ich weiß wie ich das einfach hin bekomme. Ja kann ich mir auch selbst zusammen bauen. Aber evtl braucht noch jemand das im webfront. :slight_smile:

Dann mach mal keine Mördergrube aus Deiner Idee!
Jetzt hast mich neugierig gemacht, freu mich immer über neue Anstöße :slight_smile:
Cheers Seppm

Unbekannt = Aktelle Szene, darübgelegt dann ein Unsichtbarer Button zu einen Popup Fenster

{DAF7AC45-4AE6-4874-99BB-3354DA028B01}

Hier die einzelnen Szenen die man im Popup Auswählen kann ob 2 3 oder usw 6 Szenen sind.

Diese dann mit den IDs verknüpft.
Einen Button um das Speichern zu aktivieren oder nur zum Aufrufen.

Szene 1 ist immer OFF (Alles Aus) kann nicht im Webfront überspeichert werden.

1 „Gefällt mir“

Ich glaube ich stehe auch auf dem Schlauch. Das Modul verhält sich ganz anders als früher.
Ich stelle es mal mit Bildern dar:

  1. Nach der Installation des Moduls gebe ich beispielsweise eine 3 als Anzahl der Szenen ein. Früher war es die dritte Szene, die man abspeichern möchte.
  2. Ich füge 3 Variablen hinzu.
  3. Ich drücke „Änderungen speichern“

Nun erhalte ich 3 identische Szenen. Das war vorher nicht so. Und das erklärt auch, wieso meine zwei Szenen, die ich angelegt habe immer überschrieben wurden nach dem Speichern. Seht selbst:



das war doch schon immer so oder nicht? Wie soll den ein Szenen Modul sonst funktionieren?
Vorher hast du halt nicht sehen können was im Einzelnen in einer Szene gespeichert wurde.

Aber was bringen mir dann 3 gleiche Szenen?
Also muss ich für 2 unterschiedliche Szenen 2 Szenensteuerungsinstanzen anlegen?

P.S. Der Link zur Dokumentation im Modul führt zur 404.

Nein, natürlich nicht. Du hast drei Szenen z.b. mit zwei Lampen drinnen. In Szene 1 sind z.b. alle Lampen aus. In Szene 2 ist Lampe 1 rot und Lampe 2 Blau. In Szene 3 Lampe 1 aus und Lampe 2 auf 50% gedimmt. Du kannst doch einstellen was welches Gerät in welcher Szene für Einstellungen hat.

Gruß
Stephan

1 „Gefällt mir“

Ok, danke. Dann hatte ich es bisher immer falsch verstanden oder es ist mir beim Testen nicht aufgefallen. Aber dann bedeutet es, dass wenn ich unterschiedliche Variablen, die nicht zusammenhängen, ebenfalls als Szene abspeichern möchte, eine zweite Szenenmodulinstanz erstellen muss, oder?

Das ist Dir überlassen ob du für unterschiedliche Sachen ein extra Szenen Instanz einrichtest. Du hast damit jedenfalls eine sauberere Trennung. In der neuen Version kannst du ja variablen vom schalten in einer Szene ausschließen. Du kannst also eine variable z.b. nur in Szene 5 verwenden. Musst dann halt in allen anderen Szenen einstellen dass diese Variable nicht geschaltet werden soll. Ist halt mehr Aufwand beim einrichten. Außerdem kannst du das nur in der Konsole machen. Sinn ist es ja eigentlich das man in der Visu alles so einstellt wie man es haben möchte und dann in der Visu die Szene abspeichert. Die Einstellungen in der Konsole sind ja eigentlich nur für Problemfälle oder feintuning.

1 „Gefällt mir“

Danke, dann habe ich es verstanden :slight_smile:

Besteht denn die Möglichkeit dass wir eine ganze Instanz in eine Szene einbinden anstelle einzelner Variablen? Ich denke hier z.B. an ein RGB Leuchtmittel. Da brauche Ich Status, Helligkeit, Farbe ggf. Effekt. Das würde sich mit eine Instanz schneller realisieren lassen. Vorallem wenn man von 10 oder mehr Leuchtmitteln spricht sind das schnell mal 40 Variablen was das ganze wieder sehr unübersichtlich macht.

Moin,
Also ich glaube zu wissen das es mit dem aktuellen Modul nicht geht. Ob das tatsächlich kommt denke ich weniger da es ein erheblicher Aufwand ist. Das Modul muss die Instanz nach allem schaltbaren Sucher, dir auflisten und dir zusätzlich die Möglichkeit auch eventuell variablen von der jeweiligen Instanz auszuschließen…

Gruß BlackOrca

Ich muss leider noch einmal zurückmelden, dass die zuverlässige Speicherung und das Abrufen von Hue Leuchtmitteln immer noch nicht funtkioniert. Das Problem besteht jetzt bereits seit über einem Jahr.
Entweder die Leuchtmittel behalten die veränderte Farbe nach dem Abrufen der vorher gespeicherten Szene, nur manche Leuchtmittel nehmen den Ursprungszustand an oder die Leuchten nehmen eine starre andere Farbe an.

@paresy Könnt ihr euch das bitte angucken?
Viele Grüße
marvus



Hast du mal bei der Verzögerung etwas eingetragen? Vielleicht kommt die Hue Bridge da einfach nicht hinterher…

noch ein Vorschlag.

Wäre es Möglich einen Ausgang für die Szenen zu Definieren, der angiebt ob alle Werte auf 0 sind?

Ich möchte die Szenen zur Raumsteuerung nutzen und damit ist jetzt aktuell immer Szene 0 OFF definiert, die alle Lichter ausschaltet wenn keiner mehr im Raum ist. für die Visu wäre es schön, wenn es einen Bool Wert gibt, der 0 wenn z.B. Szene OFF aktiv ist und 1 wenn irgenwas anderes oder Unbekannt aktiv ist.

Bin Gerade etwas in der Findungsphase wie man das am besten Standardisieren kann.
aktuell habe ich mir eine Baumstruktur gebaut.

  • Haus
    • Etage 1
      • Schlafzimmer
        • Licht 1
        • Licht 2
      • Büro
        • Licht 1
        • Licht 2
    • Etage 2

wenn ich dann Schlafzimmer den Bool auf 0 hab, dann sind alle Lichter aus gegangen.
Möchte das jetzt über Szenen steuern.

Jeder Raum hat Bewegungsmelder verbaut. der Soll dann Tageweise die Szenen ansteuern. Dies soll jetzt durch die Szenensteuerung ersetzt werden. Da aktuell noch hinter jedem Licht ein Wochenplan Steckt, der die Einschalthelligkeit des jeweiligen Lichtes vorgibt.

wie habt ihr das so gelöst? Ich möchte noch ein paar Sonderszenen dazu packen, die dann aber von anderen Ereignissen getriggert werden. Die Szene „- OFF -“ ist immer die den Raum ausschaltet.

<?php

$IDScript               = $_IPS['SELF'];
$EventName              = IPS_GetName ($_IPS['EVENT']);


$IDAktiv                = IPS_GetParent ($IDScript);
$SzeneVorgabe           = '- OFF -';
$IDModul                = IPS_GetInstanceIDByName ("Szenensteuerung", $IDAktiv);
$IDSzeneOff             = IPS_GetVariableIDByName ($SzeneVorgabe, $IDModul);

$IDLichtAktiv           = IPS_GetVariableIDByName ("LichtAktiv", $IDScript);

$IDDaemmerung           = IPS_GetVariableIDByName ("info_dämmerung", $IDScript);
$Daemmerung             = GetValue ($IDDaemmerung);

$BrightAktuell          = getvalue (IPS_GetEvent(IPS_GetEventIDByName ("helligkeit",    $IDScript))["TriggerVariableID"]);
$BewRaum                = getvalue (IPS_GetEvent(IPS_GetEventIDByName ("bewegung_main", $IDScript))["TriggerVariableID"]);

$Stunde                 = date("H", time());


// Abfrage ob Script aktive
if (getvalue ($IDAktiv) == 0) {goto Programmende;}else{}



// Schaltet bei Dunkelheit einmalig ein
if ($EventName == "helligkeit"      and     $BrightAktuell  < 300        and     $Daemmerung     == false)   {setvalue ($IDDaemmerung, true);  RequestAction (IPS_GetVariableIDByName (Tagesszene ($Stunde), $IDModul), 2);}

// Schaltet bei Helligkeit einmalig aus
if ($EventName == "helligkeit"      and     $BrightAktuell  > 600        and     $Daemmerung     == true)    {setvalue ($IDDaemmerung, false); Ausschalten (); }


// Schalten bei bewegung ein
if ($EventName == "bewegung_main"   and     $BewRaum        == true      and     $Daemmerung     == true)    {RequestAction (IPS_GetVariableIDByName (Tagesszene ($Stunde), $IDModul), 2);}

// Schalten bei bewegung ein
if ($EventName == "bewegung_main"   and     $BewRaum        == false     and     $Daemmerung     == true)    {Ausschalten ();}


function Ausschalten () {
    global $IDLichtAktiv, $IDSzeneOff;
    RequestAction ($IDSzeneOff, 2);
    setvalue ($IDLichtAktiv, false); 
}


function Tagesszene ($StundeUebergabe) {
    global $IDLichtAktiv, $IDSzeneOff;
    setvalue ($IDLichtAktiv, true); 

    switch ($StundeUebergabe){
        case  0:    
        case  1:    
        case  2:    
        case  3:    
        case  4:    
        case  5: return '4 Nachts'; break;
        case  6:
        case  7:
        case  8: return '1 Früh'; break;
        case  9:    
        case 10:    
        case 11: return '2 Tagsüber'; break;    
        case 12:    
        case 13:    
        case 14:    
        case 15:    
        case 16: return '3 Abends'; break;   
        case 17: 
        case 18:    
        case 19:    
        case 20:    
        case 21: return '4 Nachts'; break;
        case 22:    
        case 23:

    }

}

Programmende:

hat noch jemand das problem, dass die variable „aktive szene“ eben genau das aufrufen dieser Szene in KNX verhindert?
habe die Szenen raumweise getrennt und teilweise nur eine Szene. die kann ich dann über die Visu aber nur 1x aufrufen und dann geht nix mehr.
in Symcon sehe ich zwar dass er was macht, aber im KNX kommt nix an

ich hab jetzt nicht alles gelesen von Dir (wenn oben mehr steht).
Ging es schon mal? Wie übergibst die Szenen an KNX?
Hab das letzte Mal Szenen mit KNX gemacht, da war kein Problem.
Mag jetzt aber anders sein, bin demnächst wieder dran was zu änden.
Cheers Seppm

glaube das ist aktuell mein problem. wo lässt sich das einstellen?
bei mir schaltet er nur wenn die aktuelle szene eine andere ist