Alles aus

Hallo und guten Abend Zusammen,

im Forum finde ich nichts - ansonsten gerne verweisen.

Ich möchte gern alle Lichter auf einmal schalten, alle Rollläden gleichzeitig runterfahren etc…

Gedacht habe ich mir das so, dass ich alle Rollläden in ein Skript packe und den Zustand „Variabel“ ansteuer. Dies bedeutet, dass ich dann nur noch eine Variable in das Scribt übergebe und dieser Zustand auf alle darin befindlichen Lampen übergeben wird (alles aus / alles an).

Einen Vorteil verspreche ich mir durch diese Vorgehensweise, da ich nur ein Skript pflegen muss, und eine neue Lampe nicht in Skript „An“ und zusätzlich in Skript „Aus“ eintragen muss.

Hoffe mein Anliegen ist soweit verständlich und nachvollziehbar. Falls das praktisch unpraktisch / unsinnig ist bin ich für eine ehrliche Meinung dankbar, da ich blutiger Anfänger bin.

Herzlichen Dank im Voraus.

Marucs.

Prinzipiell io aber die Frage ist welche HW steckt dahinter. Wired klappt das, bei Funk musst du aufpassen, gibt je nach hw Typ Limits wieviel pro Minute gesendet werden darf. Zudem wenn es die HW hergibt und du Gruppenschaltungen definieren kannst wäre das vorzuziehen. Bsp eaton Moeller, da gebe teile ich alle Geräte in eine Gruppe zbsp NR 99.in IPS sage ich schalt 99 aus. Das ist nur ein funkbefehl der Rest wird durch die Geräte selbst gemacht. Fhz hat auch gruppenadressen etc. gruss

Moin!

Falls die eben genannten Dinge bei deiner Hardware nicht funktionieren, dann könntest dir eine eigene function für Lampen schreiben (darin stehen alle notwendigen Dinge um die Lampen zu schalten) und eine funcion für Rollläden (in welcher alle Infos für die Rollladen stehen).

Und diese dann z.B. so ansprechen: Licht(‚WZ Decke‘, ‚AN‘); Licht(‚WZ Decke‘, ‚50‘); Licht(‚ALLE‘, ‚AUS‘); Rollladen(‚Kueche‘, ‚RUNTER‘); usw. :slight_smile:

ODER als optionale Parameter die Einschaltzeit:
Licht(‚FlurWand‘, ‚AN‘, ‚60‘); // Licht 60 Sek an
Licht(‚FlurWand‘, ‚AN‘, ‚0‘); // Licht unendlich an

Dann musst du nur noch ein Skript pflegen, ich finde das so sehr angenehm. Muss halt einmal eingerichtet werden und in anderen Skripten brauchst du dann nur 2 Zeilen. Einmal den include und einmal genannte Beispiele.

…und sollte sich irgendwann der Aktor (z.B. einer Lampe) ändern, warum auch immer (Typ, Hersteller, …), dann musste du nur deine function überarbeiten und alle anderen Skripte funktionieren weiter :slight_smile:

Grüße,
Chris

Hallo Chris,
Deine Möglichkeit klingt super. Als HW nutzen wir meist Eltako.
Kannst Du mir deine Möglichkeit genauer beschreiben? Wie funktioniert das?

Vielen Dank im Voraus.

LG Marcus.

Abend Marcus!

Meine Steuerung ist aktuell nur für HomeMatic, da ich aktuell nichts anderes an Hardware habe. Aber ist so vorbereitet, dass man auch andere Hersteller einbauen kann.

Ist bissi schwer zu erklären.

Ich hab mir halt eine eigene Funktion gebaut, dann brauch ich nur die Funktion über include einbauen und dann kann ich folgende Befehle in den Skripten verwenden:

/***BEISPIELE***/
//AktorSteuerung('Wohnzimmer_Stehlampe_Hinten', 'AN');             // AN
//AktorSteuerung('Wohnzimmer_Stehlampe_Hinten', 'AN', 10);         // Einschaltdauer in Sekunden (ON_TIME)
//AktorSteuerung('Wohnzimmer_Stehlampe_Hinten', 'AUS');            // AUS
//AktorSteuerung('Wohnzimmer_Stehlampe_Hinten', 'DIM', 50);        // Wert in Prozent
//AktorSteuerung('Wohnzimmer_Stehlampe_Hinten', 'DIMZEIT', 20);    // Zeit in Sekunden um auf gewählten Wert zu dimmen (RAMP_TIME)
//AktorSteuerung('Wohnzimmer_Stehlampe_Hinten', 'SPERRE', 'AUS');  // Bewegungsmelder (ent)sperren

Ist bissi schwer jetzt zu erklären, das Skript hat aktuell schon ~400 Zeilen und kommt ja noch bissi was dazu.

Ich versuche es so zu bauen, dass ich es für alle veröffentlichen kann, aber da fehlt mir noch bissi die Ahnung das alles so zu bauen wie ich es möchte. Aber ich arbeite dran und vlt. kann ich es ja bald allen zur Verfügung stellen :slight_smile:

Grüße,
Chris

Hallo Chris,

genau so habe ich meine Skipte und Scenen bisher auch gebaut.

Aber wie kann man jetzt einzelne Geräte mit „include“ ansteuern?

Vielen Dank im Voraus,
Marcus.

Um mal auf den Ursprung zurück zu komme.
Das Zauberwort heißt IPS_RunScriptEx.
Hier wird ein Script aufgerufen und Werte übergeben.
Im Zielscript können diese Werte dann verwendet werden um Intanze Befehle mit dem variablen Inhalt zu füllen, also sowohl ein & aus. Oder hoch & runter…
IPS_RunScriptEx — IP-Symcon :: Automatisierungssoftware
Michael

Marcus…noch eine Info > Wenn du so viele Sachen auf einmal schalten willst (wie auch immer), dann wäre es evtl. sinnvoll (je nachdem wie deine Umgebung so aussieht), wenn du mit Semaphore arbeitest.
Seit ich das bei mir in HomeMatic eingebaut habe, ist wieder alles die Zuverlässigkeit in Person :slight_smile:

IPS_SemaphoreEnter — IP-Symcon :: Automatisierungssoftware

Ansonsten…viele Wege führen nach Rom. Was man wie am besten umsetzt, das muss am Ende jeder für sich selbst entscheiden und kommt auf die eigene Umgebung, die verwendete Hardware und die Aktoren an usw.
> Und wie viel Aufwand man betreiben möchte :smiley:

Ich habe bei fast allem es so aufgebaut, dass ich z.B. nur durch das Ändern einer Variable den TV schalten kann, meinen AV Receiver, die LED Beleuchtung, usw…
Damit brauch ich z.B. in anderen Skripten nur noch schreiben „SetValue(12345, 0);“ und mein TV geht an, weil im Hintergrund das „Einschalt-Skript“ für den TV aufgerufen wird. Das hat den Vorteil, dass man nur ein Skript ändern muss, wenn sich die Hardware ändert, also so, wie du es in deinem 1. Post beschrieben hast. So konnte ich auch einfach einen neuen TV hinstellen, mein TV-Skript anpassen und schon lief wieder alles.

Grüße,
Chris