Licht Zentral ausschalten

HMIP lokale Installation

Moderator: Co-Administratoren

DonEx
Beiträge: 15
Registriert: 07.02.2023, 14:28
System: CCU
Hat sich bedankt: 1 Mal
Danksagung erhalten: 3 Mal

Licht Zentral ausschalten

Beitrag von DonEx » 07.02.2023, 14:49

Guten Tag, ich bin neu im SmartHome Thema und habe kaum bis keine Erfahrung.
Ich habe mir jetzt Zuhause in jeden Lichtschalter einen Mess Schaltaktor eingebaut Typ : HmIp-BSM
Zwei HmIP-BSM sind direkt verknüpft und simulieren eine Wechselschaltung. Auf einem vom beiden möchte ich gerne per langen Tastendruck das komplette licht der Wohnung ausschalten.

In der Direktverknüpfung habe ich für die Wechselschaltung den kurzen Tastendruck belegt auf beiden Stellungen ( Wippstellung Oben und Unten / Unten ein , Oben aus )
Nun wollte ich gerne das bei einem der beiden BSM, langer Tastendruck Oben --> alle Lichter aus.

Dazu habe ich ein Programm in der CUU3 erstellt wo mit einem Skript das Gewerk "LICHT" abgefragt wird und dann alle dort vorhanden Aktoren ausschalten soll.

In den Experten Modus habe ich in der Direktverknüpfung den Langen Tastendruck deaktiviert bei dem BSM der das Licht Zentral ausschalten soll. Damit sollte der lange Tastendruck frei sein für das CCU3 Programm.

Jetzt zu meinen Problem: das Programm funktioniert in meiner Konfiguration nicht, wo liegt der Fehler?

Hier noch das Skript welches ich verwende:

string l = dom.GetObject("Licht").EnumUsedIDs();
var i = dom.GetObject("Licht");

string itemID;

foreach(itemID, i.EnumUsedIDs())
{
var item = dom.GetObject(itemID);
if (item.IsTypeOf(OT_CHANNEL))
{
var device = dom.GetObject(item.Device());
if ((device.HssType().Find("HM-LC-Sw") >= 0) && (item.State())) { item.State(0); }
if ((device.HssType().Find("HM-LC-Dim") >= 0) && (item.State())) { item.State(0.00); }
}
}

! Ende des Scripts


Vielen Dank schon mal im Voraus.
liebe Grüße Robert

Benutzeravatar
Henke
Beiträge: 1521
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 140 Mal
Danksagung erhalten: 306 Mal

Re: Licht Zentral ausschalten

Beitrag von Henke » 07.02.2023, 15:29

Code: Alles auswählen

! var source = dom.GetObject("$src$");
! var sysVar = dom.GetObject("IO-Test");
! sysVar.Variable("$src$");

! "Licht"
object sec = dom.GetObject("Licht");
string itemId;

foreach(itemId, sec.EnumUsedIDs())
{
    var item = dom.GetObject(itemId);

    if (item.IsTypeOf(OT_CHANNEL))
    {
        var device = dom.GetObject(item.Device());
        var hssType = device.HssType();
        object stateObj = item.DPByHssDP("STATE");
		var state = stateObj.Value();
		real out;

		! Dimmer anders behandeln
		if (hssType == "HM-LC-Dim1L-Pl")        {            out = 0.0;        }
        else        {			out = 0;        }
        if ( out != state.ToFloat() ) { stateObj.State(out); }
!   	    WriteLine(        "$val$" );
   	    WriteLine(itemId #" " #item #": "#state.ToFloat().ToString(2) # " " # hssType );
	}
}
Nimm das mal als Grundlage.

DonEx
Beiträge: 15
Registriert: 07.02.2023, 14:28
System: CCU
Hat sich bedankt: 1 Mal
Danksagung erhalten: 3 Mal

Re: Licht Zentral ausschalten

Beitrag von DonEx » 07.02.2023, 16:43

Super vielen Dank, jetzt funktioniert es.

Kannst du mir bitte noch erklären was ich falsch gemacht habe damit ich aus den Fehler lernen kann?

Mit freundlichen Grüßen
Robert

Benutzeravatar
Henke
Beiträge: 1521
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 140 Mal
Danksagung erhalten: 306 Mal

Re: Licht Zentral ausschalten

Beitrag von Henke » 07.02.2023, 17:27

item.State() vs. item.DPByHssDP("STATE").State()

Benutzeravatar
Baxxy
Beiträge: 10781
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 604 Mal
Danksagung erhalten: 2205 Mal

Re: Licht Zentral ausschalten

Beitrag von Baxxy » 07.02.2023, 17:44

Zumindest bei HM-Schaltaktoren sollte...

Code: Alles auswählen

item.State()
... funktionieren.
Bei HM-Dimmern weiß ich es nicht.

Ich hatte nur nen CUx zum spielen, verhält sich aber wie HM. :wink:

Code: Alles auswählen

object oKanal = channels.Get ("CUxD-PMSw1-Dev:1");
object oDevice = oKanal.Device();
string Dev_HSSType = dom.GetObject(oDevice).HssType();

if (Dev_HSSType == "HM-ES-PMSw1-Pl") {
    WriteLine("HSSType ok: "# Dev_HSSType );
     if (oKanal.State()) {
         WriteLine("Status EIN --> Schalte AUS");
         oKanal.State(false);
      }
      else {
        WriteLine("Status AUS --> Schalte EIN");
        oKanal.State(true);
        }
      }

Benutzeravatar
shartelt
Beiträge: 7421
Registriert: 14.01.2015, 14:59
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 524 Mal
Danksagung erhalten: 753 Mal

Re: Licht Zentral ausschalten

Beitrag von shartelt » 07.02.2023, 20:11

würde das per virtuelle Tasten machen und dann ne DV vom Master auf die virtuellen Tasten….

ist wesentlich performanter und braucht kein Skript…

nur so als Verbesserungsvorschlag :)

DonEx
Beiträge: 15
Registriert: 07.02.2023, 14:28
System: CCU
Hat sich bedankt: 1 Mal
Danksagung erhalten: 3 Mal

Re: Licht Zentral ausschalten

Beitrag von DonEx » 07.02.2023, 20:32

Ich danke euch allen für die Hilfe.
Das mit den virtuellen Tasten schau ich mir mal an. Hab zwar noch keine Ahnung davon, aber dann lerne ich gleich dort was neues.
Gibt es da was zu beachten wenn man mit virtuellen Tasten arbeitet?

liebe Grüße
Robert

DonEx
Beiträge: 15
Registriert: 07.02.2023, 14:28
System: CCU
Hat sich bedankt: 1 Mal
Danksagung erhalten: 3 Mal

Re: Licht Zentral ausschalten

Beitrag von DonEx » 08.02.2023, 16:11

Danke für den Tipp mit den virtuellen Tasten. Habe es ausprobiert und für die bessere Lösung erkannt. Es ist performanter und weniger Belastung für den Duty Cycle.

Danke euch allen für die Unterstützung und ich habe gleich zwei neue Sachen gelernt, was will man mehr :)

liebe Grüße
Robert

RO-Smart
Beiträge: 140
Registriert: 02.02.2018, 10:57
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 75 Mal
Danksagung erhalten: 5 Mal

Re: Licht Zentral ausschalten

Beitrag von RO-Smart » 28.11.2023, 22:58

DonEx hat geschrieben:
08.02.2023, 16:11
Danke für den Tipp mit den virtuellen Tasten. Habe es ausprobiert und für die bessere Lösung erkannt. Es ist performanter und weniger Belastung für den Duty Cycle.

Danke euch allen für die Unterstützung und ich habe gleich zwei neue Sachen gelernt, was will man mehr :)

liebe Grüße
Robert
Hi Robert, Dein Post ist zwar schon etwas älter aber magst vielleicht mal etwas detaillierter ausführen wie Du das mit den virtuellen Tastern umgesetzt hast? Danke Dir, Dieter
RPi4+RPI-RF-MOD (groß, neu), Umfeld HMClassic (RF+Wired) und HmIP(RF+Wired), 511 Kanäle in 81 Geräten und 32 CUxD-Kanäle in 2 CUxD-Geräten, HomeAssistant auf IntelNuc

DonEx
Beiträge: 15
Registriert: 07.02.2023, 14:28
System: CCU
Hat sich bedankt: 1 Mal
Danksagung erhalten: 3 Mal

Re: Licht Zentral ausschalten

Beitrag von DonEx » 21.01.2024, 11:39

Sry das ich jetzt erst Antworte.

Habe mir ein Programm Erstellt, wenn ich meinen von mir festgelegten Zentralen Licht-Aus Taster drücke, dieser dann einen Virtuellen Taster triggert. Der Virtuelle Taster hat direkte Verknüpfungen mit den Kanälen von allen Schalten die aus gehen sollen.
Bildschirmfoto 2024-01-21 um 11.36.20.png
Bildschirmfoto 2024-01-21 um 11.35.06.png
Bildschirmfoto 2024-01-21 um 11.33.35.png
Hoffe du kannst damit was anfangen was ich versucht habe zu beschreiben.

Mit freundlichen Grüßen
Robert

Antworten

Zurück zu „HomeMatic IP mit CCU“