IPSLight

Lichtsteuerung und Anwesenheitssimulation

IPSLight ist ein Modul, das die Steuerung des Lichtes über Schalter, Dimmer, Gruppen und Programme ermöglicht.

Nähere Details zum Modul sind im WIKI Beitrag zu finden

Potenzielle Erweiterungen

[ul]
[li]Anwesenheitssimulation, Möglichkeit zum Abspielen eines beliebigen Tages in der Vergangenheit
[/li][/ul]

Hallo Andreas

Ich habe dein Modul mal Installiert. Wie immer tolle Arbeit von Dir.
Leider werden ein paar Variablen nicht Aktualisiert wenn ich diese von Extern schalte.
Dies ist zb. bei einem Dimmer so.
Hier mal ein Auszug aus der Config Datei.

 'Flur EG'  =>    array('Flur EG',   'Erdgeschoss,Alle', 'Dimmer', 'IPSComponentDimmer_Homematic,13669'),

Was mir noch aufgefallen ist wenn ich den Namen ändere und das Modul installiere dann wird die alte Variable nicht gelöscht.

Mfg Stefan

Hallo Stefan,

Rückmeldung der Homematic Dimmer muss ich noch implementieren, das Löschen der unbenutzten Devices ebenfalls…

Vielleicht ne blöde Frage aber geht das auch mit FS20?
In den Configs sehe ich nur den RGBW und Homematic.
Da ich bald auf Zwave umsteige frage ich da auch direkt mal nach.

Ja. Das geht. Habe ich gerade eingerichtet.
Du musst dann nur IPSComponentSwitch_Zw oder _FS20 anstelle von _Homematic in der Konfig nutzen.

Gruss
b71

Super , dann habe ich ja noch was vor mir :smiley:

…das erklärt einiges ^^

Trotzdem ein klasse Modul !

Was alles geht steht im IPS unter

Program -> IPSLibrary -> app -> core -> IPSComponent, dann nach Geräten sortiert :wink:

Hallo Andreas,

bei den Fibaro Doppelaktoren schmeisst das
IPSLibrary LOG
Undefined poperty : IPSComponenentSwitch_ZW::channeID
als Fehlermeldung aus.

Ich denke das dies daran liegt das Fibaro Doppelaktoren nicht in der ersten Version des Moduls vorgesehen sind, oder ?

Die Fibaros haben 2 schaltbare Ausgänge die unter der InstanzID liegen.
Somit müsste ein weiterer Parameter für den jeweiligen Ausgang mitgegeben werden, oder ?

Habe ich in der Konfig etwas übersehen ?

Gruss
B71

Das wird wohl noch nicht implementiert sein, kannst Du mal die Befehle zur Ansteuerung posten.

Klaro.

Ein:

ZW_SwitchModeEx(51326 /[EG\Wohnen\Lampen rechts]/, true, 1); //Gerät einschalten
ZW_SwitchModeEx(51326 /[EG\Wohnen\Lampen rechts]/, true, 2); //Gerät einschalten

Aus:
ZW_SwitchModeEx(51326 /[EG\Wohnen\Lampen rechts]/, false, 1); //Gerät einschalten
ZW_SwitchModeEx(51326 /[EG\Wohnen\Lampen rechts]/, false, 2); //Gerät einschalten

Gruss
B71

Hi,

das sollte eigentlich bereits implementiert sein (hat Kollege McFly gemacht), hab noch einen kleinen Fehler gefunden, bin mir aber nicht sicher, ob das die Ursache wahr.
Kannst Du nochmal ein Update von IPSComponent machen und nochmals testen. Bei Fehler, bitte die genaue Fehlermeldung +Stack aus dem IPSLogger posten.

Moin :slight_smile:

Ich habe jetzt auch mal versucht IPSLight zu installieren … mehr oder weniger erfolgreich.
Zum einen hatte ich im Oktober IPSLibrary installiert und jetzt einfach noch mal „drüber“ installiert. Die Modue ließen sich erst nicht updaten, was aber wohl am Pfad gelegen hat ($Pfad = ‚https://raw.github.com/MCS-51/IPSLibrary/Development/:wink: , das MCS-51 habe ich jetzt gegen „Brownson“ ausgetauscht und dann lief zumindest die Modulinstallation durch. Wird das Script bei einer Installation nicht überschrieben??

Jetzt aber zu meiner Frage … im WF unter /App/Core/Component ist IPSComponentSwitch aufgeführt, was dann wohl die Geräteauflistung für IPSLight sein soll, oder?

Was muss ich tun, wenn ich meine SPS darüber ansteuern möchte, die das Licht über Taster schaltet. Da blicke ich aktuell noch nicht wirklich durch … mein Schaltscript sieht zur Zeit so aus:

ModBus_WriteCoil(14296 /*[Wago unten\Merker\Merker01 - Essen]*/, true);
IPS_Sleep(200);             	// 200ms warten
ModBus_WriteCoil(14296 /*[Wago unten\Merker\Merker01 - Essen]*/, false);

Oder geht so etwas damit nicht?

Ob Licht an oder aus ist, zeige ich über die Abfrage der Ausgänge an. Ich weiß das es eine andere Möglichkeit zur Ansteuerung gibt (einzig wahre Lösung Taster mit Wago), aber dazu habe ich mich bisher noch nicht durchgerungen. :wink:

Gruß
Jens

Hallo Andreas,
die LOG Meldung bleibt nun aus.

Die Ansteuerung direkt an der Instanz uasserhalb IPSlight wird jedoch, entgegen der HM und FS20 Aktoren, noch nicht angezeigt.

Dies wäre das final round off.
Hier könnte ich mir vorstellen, da man in den ZW Instanzen von Fibaro ja die jeweiligen Variablen unterhalb der Instanz verändert, das die Logik etwas anderes ist als bei den HM Aktoren die ja nur eine State Variable unterhalb der Instanz haben, oder ?

Gruss
B71

@Jens

Kannst Du auch noch die Kommandos zum Abfragen der Stati posten.

@B71

Das hab ich noch nicht ganz verstanden, ist das eine Eigenheit von ZWave, muss man da bei der Ansteuerung noch was zusätzlich machen (eventuell hilft mir ein Screenshot)…

Abfragen ist ne Art Automatik … das sind ja Ausgänge (Instanzen), die eine feste Variable haben welche dann von IPS automatisch aktualisiert wird.

Das läuft so ab, dass das Licht entweder über einen externen Taster geschaltet wird, welcher dann in der SPS den Ausgang setzt (IPS gleicht das dann ab und ändert die Statusvariable) oder aber über den Code von oben, welcher dann einen Merker in der SPS kurz setzt und wieder rücksetzt und somit den Taster simuliert. Ergebnis ist dasselbe … Ausgang wird gesetzt und der Status in IPS aktualisiert.

Achso, könntest du evtl. ein Beispiel für die Darstellung im WF mal genauer erklären? Im Example Ordner ist zwar ein Beispiel, aber das hilft mir irgendwie nicht so recht weiter. Ist eher für Leute geeignet, die sowieso wissen wie man das WF per Script erstellt … zu denen gehöre ich leider nicht :frowning:

			'Obergeschoss' => array(
				array(IPSLIGHT_WFCSPLITPANEL, 'Light_2_SPv1',        'LightTP',        'Obergeschoss',null,1,50,0,0,'true'),
				array(IPSLIGHT_WFCSPLITPANEL,   'Light_2_SPv1h1x',   'Light_2_SPv1',    null,null,0,100,0,1,'true'),
				array(IPSLIGHT_WFCCATEGORY,       'Light_2_CAv1h1',  'Light_2_SPv1h1x', null,null),
				array(IPSLIGHT_WFCLINKS,            '',              'Light_2_CAv1h1',  'Obergeschoss'),
				array(IPSLIGHT_WFCCATEGORY,       'Light_2_CAv1h2',  'Light_2_SPv1h1x', null,null),
				array(IPSLIGHT_WFCGROUP,            'Obergeschoss',  'Light_2_CAv1h2',  'Stiege OG,Vorraum,Bad,Gaestezimmer,Kinderzimmer,Schlafzimmer,Schrankraum', 'Stiege OG,Vorraum,Bad,Gästezimmer,Kinderzimmer,Schlafzimmer,Schrankraum'),
				array(IPSLIGHT_WFCSPLITPANEL,   'Light_2_SPv2h1x',   'Light_2_SPv1',    null,null,0,500,0,1,'true'),
				array(IPSLIGHT_WFCCATEGORY,       'Light_2_CAv2h1',  'Light_2_SPv2h1x', null,null),
				array(IPSLIGHT_WFCCATEGORY,       'Light_2_CAv2h2',  'Light_2_SPv2h1x', null,null),

Vielleicht an dem Beispiel ?
Und evtl. mit Bild ? :rolleyes:

Gruß
Jens

Hallo Andreas,

Es ist das ,1 und ,2 in der obigen Ansteuerungszeile.

Hinter dem True/False wird noch der Kanal mitgegeben.

Gruss
B71

@Jens

… und wie kann ich diese Status Variable abfragen (Name oder Ident), ich brauch das, damit ich die Ansteuerung vollständig implementieren kann.

Naja, wenn dann denke macht es nur Sinn die ObjektID der Statusvariable anzugeben, damit per GetValue(12345) den Status holen und dann True/False abfragen!? Oder verstehe ich jetzt deine Frage nicht :confused:

Gruß
Jens

Danke Brownson,
für ein weiteres tolles Script - so bekommt IPS doch nach und nach die Module, einfach, fein und anpassbar.

Toll wäre hierfür eine Implementierung der EIB-Befehle, im Wesentlichen sind dies:

Schalten:

$id = 15560 /[Beleuchtung\Automatisch\Schlafen Süd Wecklicht]/;
EIB_Switch($id,True);

Dimmen:

EIB_DimControl(16047 /[Beleuchtung\Dimmen (Dimmer)\Lounge 3er]/,$IPS_VALUE);

Wertgeber (Bei mir jetzt Dimmen 2.0)

EIB_Scale (30765 /[Beleuchtung\Wertgeber\Lounge Wert]/, $IPS_VALUE);

Mercie !