Taster / Kacheln / Stromstoßschalter

Ein herzliches Hallo an das Forum,
Ich wollte die neue Kachelansicht nutzen, um bei mir mal richtig Aufzuräumen.
Programmiertechnisch ist das bei mir alles Chaos (hauptsächlich dadurch bedingt das ich keine Ahnung vom Programmieren habe). Ich bin eher so der Hardware Mensch. Daher bitte ich schon mal im Vorweege um Entschuldigung für dumme Fragen.

Zu meinem Setup: Ich hab Stromstoßschalter und Taster im ganzen Haus.
Diese laufen „out of the Box“ ganz ohne ein Stück Software und somit auch wenn der Symcon-Server down sein sollte. Später kam die Homematic und Symcon dazu.

Aktuell läuft das also so : Symcon schaltet über ein Script einen digitalen Ausgang eines Stromstoßschalters. Die Homematic erkennt das und schaltet den Ausgang wieder zurück. So entsteht der Impuls für den Stromstoßschalter. Den den Status des Stromstoßschalters lese ich über einen Digitaleingang zurück . Dieses erfolgt durch das gleiche Script welches über das Ändern des Zustandes des digitalen Eingangs getriggert wird. (high=offen=Lampe Aus / low=geschlossen=Lampe AN). Damit ändere ich das Icon vom Script, so das ich sehe ,ob die Lampe an oder aus ist. In der alten Visualisierung läuft bei mir also alles über das Anklicken von Scripten.

Nun zur Kachelfrage :
Geht das nicht irgendwie besser ?
Ich würde gerne eine Kachel als Taster verwenden, die den Status der Lampe anzeigt. Doch irgendwie verträgt sich das nicht. Der Status des schaltenden Ausgangs ist ja nach jedem Durchgang Low und der Digitale Eingang immer invers. Die des Scriptes zeigt also nichts an und die Kachel des Digiteleingangs zeigt eingeschaltete Lampen als ausgeschaltet an und umgekehrt.
Ich hab auch schon versucht eine Variabele zu erstellen und den Status zu invertieren (ähnlich wie beim Akku des Energiemanagers ). Doch Variabelen werden bei mir in den Kacheln nicht (als Geräte) angezeigt (auch nicht mit dem ~Switch-Profiel).
Ich würde mich freuen, wenn man das irgendwie zusammenfassen könnte.

Weiterhin werden die eingeschalteten Geräte (bei mir noch ausgeschaltete ) nicht an eine obere Instanz in der Baumstruktur weitergereicht. Beispiel : Erdgeschoss keine Eingeschalteten Geräte. Wohnzimmer (im Erdgeschoss) zwei eingeschaltete Geräte , Flur (im Erdgeschoss) zwei eingeschaltete Geräte.

Wenn einner mit meiner Beschreibung etwas anfangen kann würd ich mich über Hilfe freuen.

Schönen Abend noch.
XSper

Alles über variablen ist zumindest der korrekte Ansatz. Die Variablen brauchen aber auch zumindest eine Standardaktion damit die über die visualisierung geschaltet werden können.

Gruß
Stephan

Das ist natürlich eher ungünstig, da IP-Symcon am besten funktioniert, wenn du einen Zustand An/Aus sauber senden kannst. Könntest du dir vorstellen deine physikalische Ebene irgendwie so anzupassen, dass du weniger in Tastern denkst (wie bleiben für die Taster trotzdem!) aber dass es für IP-Symcon irgendwo eine Zwischenebene gibt, die den echten Zustand kennt und dort auch gesetzt werden kann?

Für eine SPS sieht das dann so aus: Wago und Taster. Die einzig wahre Lösung!

Dann hast du immernoch den Taster für die normale Bedienung, aber ein Merker kennt immer den exakten Zustand auf den IP-Symcon auch direkt einwirken kann. Beide Welten sind damit glücklich.

paresy

Hallo und danke für die schnelle Antworten,
Ich habe natürlich den aktuellen Zustand des Lichtes über den Digital in nur halt invertiert.
Und dieser koreliert natürlich nicht mit dem Digitalen Ausgang der immer am ende eines Durchlaufes „false“ ist. Ich hab auch schon versucht den Zustand des Digitalen Eingangs Invertiert in eine weitere Variabele zu übergeben. Frei nach dem Motto minus mal minus ergibt plus. Doch Variabele werden bei mir in den Kachel nicht als eingeschaltete Geräte angezeigt.
Einen schönen Abend noch
XSper

Hallo da8ter . So und nun kommen die versprochenen dummen Fragen :
Was ist eine Standartaktion?
Ich hab :

  • Einen digitalen Ausgang der Toggelt und eigendlich danach immer „false“ ist Den will ich eigendlich (außer über das Skript) nicht schalten.
  • Einen digitalen Eingang der den aktuellen Lampenstatus widergibt (nur halt invertiert). Den darf (und will) ich manuell nicht schalten.
  • Und eine Variable die den Invertierten Wert des digitalen Eingangs bekommt und dem ~SWITCH Profiel zugeordnet ist. Die könnte ich zwar schalten, macht jedoch keinen sinn, da der Wert ja mit dem digitalen Eingeng zusammenhängen muss.
    Grüße
    XSper

Moin,

also als erstes etwas zur Darstellung der Variablen in der Visualisierung:

  1. Wenn die Variable keine Aktion besitzt wird sie einfach als NICHT schaltbare Variable angezeigt. Wenn du die Variable über die Visualisierung schalten möchtest braucht die Variable eine Aktion.

Darstellung ohne Aktion:

image

Keine Aktion hinterlegt:

klick auf das Plus bei „Eigene Aktion“ dann wird unterhalb der Variable ein Aktionscript angelegt. Danach sollte die Variable so aussehen und sich schalten lassen:

image

in dem angelegten Aktionscript kannst du jetzt einstellen was beim schalten der Variable passieren soll.

Das zu den Basics…

Erstelle eine Bool Variable, weise das Switch Profil zu und erstelle ein Aktionscript. Erstelle ein Ereignis (Ereignis, Ausgelöst, bei Änderung, Aktion: auf auslösenden Wert schalten) das die neue Variable immer auf den Wert der Digitaleingang Variable schaltet.

Um das Ergebnis von deinem Digiteleingang zu invertieren kannst du den Code im Aktionscript durch folgenden ersetzen:

switch ($_IPS['SENDER']) {
    case 'WebFront':
        // Befehl zum Schalten des digitalen Ausgang
        break;

    default:
        //invertiert den Wert
        $invertedValue = !$_IPS['VALUE'];

        // Setzen des invertierten Wertes
        SetValue($_IPS['VARIABLE'], $invertedValue);

        break;
}

Im case ‚WebFront‘ den Schaltbefehl für den Digitalen Ausgang setzen.

Das jetzt mal so grob aus dem Gedächtnis, keine Garantie dass das so läuft… Vielleicht meldet sich hier ja noch jemand der eine elegantere Variante hat.

Viele Grüße
Stephan

Moin da8ter,
vielen dank für deine Unterstüzung.
So weit so gut.
Mein Script sieht nun so aus:

<?php
$id_script = xxxxx;                 // Aktuelles Script nocht nicht genutzt 
$id_Relay = xxxxx;                  // Ausgang zum anstuern des Relays
$id_Lampenstatus = xxxxx;           // Eingang des Relayzustandes False = AN 
$id_Kachel = xxxxx;                 // Id der Kachel zu der dieses Script gehört
$id_Hilfsvariable = false;          // Nur zum Invertieren des Lampenstatus

//---------------------------------- Programm -------------------------------
if ($_IPS['SENDER'] == "WebFront") 	                    // Wenn Skript durch Frontend aufgerufen wird
   {
   HM_WriteValueBoolean($id_Relay, "STATE", true);  	// Status Relay anziehen / Abfall erfolgt automatisch durch Homematicscript
   }

if ($_IPS['SENDER'] == "AlexaSmartHome") 	            // Wenn Skript durch Alexa aufgerufen
   {
   HM_WriteValueBoolean($id_Relay, "STATE", true);  	// Status Relay anziehen / Abfall erfolgt automatisch durch Homematicscript
   }

//if ($_IPS['SENDER'] == "RunScript") 	                // Skript wird durch on change des Lampenstatus aufgerufen
//   {                                                  // Nur Variable auslesen und invertieren
//   }

if (GetValueBoolean($id_Lampenstatus ) == true)         // Status der Lampe holen
    {
    $id_Hilfsvariable=false;                            // Wert Invertieren
    }
else
    {
    $id_Hilfsvariable=true;                            // Wert Invertieren
    }

SetValue($id_Kachel,$id_Hilfsvariable );               // Setzen des invertierten Wertes 
?>

Die Kachel wird auch entsprechend angezeigt. Nur in dem darüber liegenden Ordner (Kachel) fehlt die Information „ingeschaltete Geräte“ immernoch.

Soll
grafik

Ist
grafik

Unter der Lichtkachel liegen die einzelnen Lampen.
Wenn du noch ne Idee hast würd mich das freuen.
Ansonsten leb ich erst mal mit dem stand und bedanke mich auf Herzlichste.

Im großen und ganzen schon verdampt viel Aufwand (Aktionscript, Homematicscript Auslösendes Script) für eine Lampe und das dann für alle wiederholen … hab gehofft das es einfacher geht … aber is wohl so. Taster sind nicht Symcons Freunde :slight_smile:

Schönen Abend noch
XSper