IPSLight

@Tetrapack

„Value“ wollte ich wissen - brauche den Namen, um die VariableId anhand der Instanze ID zu ermitteln.

Habe eine neue Komponente „IPSComponentSwitch_ModBus“ angelegt

Vielen dank, aber wie komme ich nun ans Update?
Wenn ich im WF nach Updates suche, dann wird zu IPSLight keins angezeigt!?
Allerdings habe ich noch so meine Probleme mit IPSLibrary …

Würdest du evtl. auch noch mal zu meiner Frage bezgl. des Tabgenerators (Darstellung IPSLight) etwas schreiben?

Gruß
Jens

Da Andreas eine neue Komponente für Dich angelegt hat, ist es wohl naheliegend die „IPSComponent“ upzudaten (2.50.15). IPSLight benutzt die Komponenten nur und bedarf deshalb keines Updates. :wink:

Gruß
Bruno

Hmmm … ich glaub ich habs jetzt hinbekommen, allerdings ein als fehlerhaft markiertes Scruipt im Objektbaum.

Das Script lautet: IPSModuleSwitch_IPSLight und wenn ich das manuell ausführe kommt folgende Fehlermeldung:

Fatal error: Class ‚IPSModule‘ not found in [Program\IPSLibrary\app\core\IPSComponent\IPSComponentSwitch\IPSModuleSwitch] on line 23
Abort Processing during Fatal-Error: Class ‚IPSModule‘ not found
Error in Script D:\IP-Symcon\scripts\IPSLibrary\app\core\IPSComponent\IPSComponentSwitch\IPSModuleSwitch.class.php on Line 23

Gruß
Jens

Dann stimmt wohl was nicht, sonst wäre es nicht rot. :rolleyes:

Und Du hast IPSComponent auf den richtigen Stand gebracht?

Ach was … da stimmt etwas nicht?
Da ich dieses Script aber nicht angelegt habe (wurde durch IPSLightangelegt), kann ich schlecht beurteilen WAS da nicht stimmt. DAS etwas nicht stimmt hatte ich bereits geschrieben … in der Hoffnung auf eine „sinnvolle“ Antwort.

Was das Update von IPSComponent an geht, bin ich der Meinung das es auf dem aktuellen Stand ist, zumindest ist eine neue Komponente „IPSComponentSwitch_ModBus“ vorhanden!

Es war Deine Aussage, nicht meine

Die nächste Frage ist, warum Du das Skript überhaupt manuell ausführst

Gruß
Bruno

Weil es NACH dem Update rot markiert war und ich mir nicht erklären konnte warum. Daher habe ich es manuell ausgeführt, um zu sehen wie die Fehlermeldung aussieht. Möglicherweise war es auch vorher schon rot, aber warum … das kann ICH nicht beurteilen (auch nicht ob und wo das Script in IPSLight benutzt wird), daher hatte ich das hier im Thread zu IPSLight geschrieben …

Ist im IPSLogger ein Fehler protokolliert worden?

@djtark

EIB Ansteuerung ist fertig

Ja, es wird im Logger ein Eintrag erzeugt. Aktuell wird das aber ständig duch IPSCam Meldungen überschrieben. Kann man die Meldungen von IPSCam irgendwie abschalten?

Fehler:

IPSCam:

Zum Testen deines neuen Moduls komme ich erst am WE :frowning:

Gruß
Jens

Super, vielen Dank - nur im Webfront bekomm ich nach erfolgter Config nix angezeigt…

Achja, und wo verstekct sich (nach Install via Modulmanager) das sagenumwobende Example-Verzeichnis ?

Euch ne schöne Zeit, ich hätt auch gern Urlaub…

Hi,

Das Konfig Example ist über das Datei System zu finden, alternativ siehe hier.

Die WebFront Konfiguration ist analog der API Funktionen, falls Du damit nich klar kommst, dann bau Dir einfach eins manuell …

Hallo Community,

ich habe ein größeres Problem mit der Installation des IPSLight Moduls.
Nach dem Aufruf der Installation wird im IPS unter data/modules/IPSLight zwar einiges angelegt aber unter Virtualization/WebFront/IPSLight passiert nichts (siehe Screenshot).


Im WebFront wird auch nur das Sysmbol mit der Glühbirne angelegt mehr nicht (siehe Screenshot).

Hier meine Configuration:

<?
	/*
	 * This file is part of the IPSLibrary.
	 *
	 * The IPSLibrary is free software: you can redistribute it and/or modify
	 * it under the terms of the GNU General Public License as published
	 * by the Free Software Foundation, either version 3 of the License, or
	 * (at your option) any later version.
	 *
	 * The IPSLibrary is distributed in the hope that it will be useful,
	 * but WITHOUT ANY WARRANTY; without even the implied warranty of
	 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
	 * GNU General Public License for more details.
	 *
	 * You should have received a copy of the GNU General Public License
	 * along with the IPSLibrary. If not, see http://www.gnu.org/licenses/gpl.txt.
	 */

	/**@defgroup ipslight_configuration IPSLight Konfiguration
	 * @ingroup ipslight
	 * @{
	 *
	 * @file          IPSLight_Configuration.inc.php
	 * @author        Andreas Brauneis
	 * @version
	 *  Version 2.50.1, 26.07.2012<br/>
	 *
	 * Konfigurations File für IPSLight
	 *
	 */

	/**
	 *
	 * Definition der Beleuchtungs Elemente
	 *
	 * Die Konfiguration erfolgt in Form eines Arrays, für jedes Beleuchtungselement wird ein Eintrag im Array erzeugt.
	 *
	 * Für jedes Beleuchtungselement werden dann die Eigenschaften in einem gesonderten Array hinterlegt:
	 *
	 * IPSLIGHT_NAME  - spezifiziert den Namen der Beleuchtung in der GUI, Änderungen an dieser Eigenschaft werden erst nach einem
	 *                  erneuten Ausführen der Installationsprozedur sichtbar.
	 *
	 * IPSLIGHT_GROUP - beinhaltet eine Liste aller Gruppen, der das Beleuchtungselement zugeordnet ist. Diese Eigenschaft kann
	 *                  jederzeit geändert werden (vorausgesetzt die Gruppe ist bereits definiert, siehe weiter unten).
	 *
	 * IPSLIGHT_TYPE  - spezifiziert den Type der Beleuchtung, zur Zeit werden 3 Beleuchtungstypen unterstützt:
	 *    - IPSLIGHT_TYPE_SWITCH:  Normale Beleuchtung mit Ein/Aus Funktionalität
	 *    - IPSLIGHT_TYPE_RGB:     RGB Beleuchtung
	 *    - IPSLIGHT_TYPE_DIMMER:  Dimmbare Beleuchtung
	 *                  Änderungen an diesem Parameter erfordern ein Ausführen der Installations Prozedure.
	 *
	 * IPSLIGHT_COMPONENT - dieser Eintrag spezifiziert die Hardware, die Angabe des Component Strings muss mit dem spezifizierten
	 *                      Beleuchtungstypen (siehe oben) zusammenpassen (Type Dimmer benötigt zB eine Klasse IPSComponentDimmer).
	 *
	 * IPSLIGHT_POWERCIRCLE - Hier kann spezifiziert werden an welchem Stromkreis die Lampe angeschlossen ist. Dieser Parameter ist
	 *                        optional.
	 *
	 * IPSLIGHT_POWERWATT - Spezifiert die maximale Leistung der Beleuchtung. Zusammen mit dem Parameter IPSLIGHT_POWERCIRCLE ist es 
	 *                      nun möglich die aktuelle Leistung eines Stromkreises abzufragen. Details siehe auch im WIKI.
	 *
	 * Eine ausführliche Beispielliste findet sich auch im Example Ordner
	 *
	 *
	 * Beispiel:
	 * @code
        function IPSLight_GetLightConfiguration() {
          return array(
            'Kueche'  =>  array(
               IPSLIGHT_NAME            => 'Küche',
               IPSLIGHT_GROUPS          => 'Erdgeschoss,All',
               IPSLIGHT_TYPE            => IPSLIGHT_TYPE_SWITCH',
               IPSLIGHT_COMPONENT       => 'IPSComponentSwitch_Homematic,12345',
               IPSLIGHT_POWERCIRCLE     => 1,
               IPSLIGHT_POWERWATT       => 60),
            'Ambiente'  =>  array(
               IPSLIGHT_NAME            => 'Ambiente',
               IPSLIGHT_GROUPS          => 'Erdgeschoss,All',
               IPSLIGHT_TYPE            => IPSLIGHT_TYPE_RGB,
               IPSLIGHT_COMPONENT       => 'IPSComponentRGB_IPS868,12345'),
             );
        }
	 * @endcocde
	 *
	 * @return string Liefert Array mit Beleuchtungs Elementen
	 */
	function IPSLight_GetLightConfiguration() {
		return array(
			'Fitness'           =>	array('Fitness',         'Erdgeschoss,All', 'Switch', 'IPSComponentSwitch_Homematic,21996','L1',12),
		);
	}


	/**
	 *
	 * Definition der Beleuchtungs Gruppen
	 *
	 * Die Konfiguration erfolgt in Form eines Arrays, für jede Beleuchtungsgruppe wird ein Eintrag im Array erzeugt.
	 *
	 * Für jede Beleuchtungsgruppe werden dann die Eigenschaften in einem gesonderten Array hinterlegt:
	 *
	 * IPSLIGHT_NAME  - spezifiziert den Namen der Gruppe in der GUI, Änderungen an dieser Eigenschaft werden erst nach einem
	 *                  erneuten Ausführen der Installationsprozedur sichtbar.
	 *
	 * IPSLIGHT_ACTIVATABLE - gibt an, ob die Gruppe über die GUI eingeschaltet werden kann
	 *
	 * Eine Liste mit diversen Beispiel Konfigurationen findet sich auch im Example Ordner
	 *
	 *
	 * Beispiel:
	 * @code
        function IPSLight_GetGroupConfiguration() {
          return array(
            'All'  =>  array(
               IPSLIGHT_NAME            => 'All',
               IPSLIGHT_ACTIVATABLE     => false),
            'Erdgeschoss'  =>  array(
               IPSLIGHT_NAME            => 'Erdgeschoss',
               IPSLIGHT_ACTIVATABLE     => false),
             );
        }
	 * @endcocde
	 *
	 * @return string Liefert Array mit Beleuchtungs Gruppen
	 */
	function IPSLight_GetGroupConfiguration() {
		return array('All'             =>	array('All',            IPSLIGHT_ACTIVATABLE => false,),
		             'Erdgeschoss'     =>	array('Erdgeschoss',    IPSLIGHT_ACTIVATABLE => false,),
	   );
	}

	/**
	 *
	 * Definition der Beleuchtungs Programme
	 *
	 * Die Konfiguration erfolgt in Form eines Arrays, für jedes Beleuchtungsprogramm wird ein Eintrag im Array erzeugt.
	 *
	 * Für jedes Beleuchtungsprogramm werden dann die einzelnen Programme ebenfalls als Array hinterlegt, diese wiederum haben ihre
	 * Eigenschaften nochmals in einem Array gespeichert:
	 *
	 * IPSLIGHT_PROGRAMON  - Liste mit Beleuchungselementen, die bei diesem Programm eingeschaltet sein sollen.
	 *
	 * IPSLIGHT_PROGRAMOFF  - Liste mit Beleuchungselementen, die bei diesem Programm ausgeschaltet sein sollen.
	 *
	 * IPSLIGHT_PROGRAMLEVEL  - Liste mit Beleuchungselementen, die auf einen bestimmten Dimm Level gestellt werden sollen
	 *
	 * Eine Liste mit diversen Beispiel Konfigurationen findet sich auch im Example Ordner
	 *
	 *
	 * Beispiel:
	 * @code
        function IPSLight_GetProgramConfiguration() {
          return array(
				'Aus'  	=>	array(
					IPSLIGHT_PROGRAMOFF		=> 	'WellnessWand,WellnessDecke,WellnessSauna,WellnessDusche,WellnessAmbiente',
				),
				'TV'  	=>	array(
					IPSLIGHT_PROGRAMLEVEL	=> 	'WellnessWand,30',
					IPSLIGHT_PROGRAMOFF		=> 	'WellnessDecke,WellnessSauna,WellnessDusche,WellnessAmbiente',

				),
				'Relax'  	=>	array(
					IPSLIGHT_PROGRAMON		=> 	'WellnessSauna,WellnessDusche,WellnessAmbiente',
					IPSLIGHT_PROGRAMLEVEL	=> 	'WellnessDecke,30,WellnessWand,30',

				),
             );
        }
	 * @endcocde
	 *
	 * @return string Liefert Array mit Beleuchtungs Gruppen
	 */
	function IPSLight_GetProgramConfiguration() {
		return array(
		);
	}

	/**
	 *
	 * Definition der WebFront GUI
	 *
	 * Die Konfiguration der WebFront Oberfläche ist NICHT dokumentiert, ist aber analog zur normalen WebFront Konfigurator GUI
	 * aufgebaut.
	 *
	 * Beispiele finden sich im Example Ordner
	 *
	 * @return string Liefert Array zum Aufbau des WebFronts
	 */
	function IPSLight_GetWebFrontConfiguration() {
		return array(
		);
	}

	/**
	 *
	 * Definition der Mobile GUI
	 *
	 * Die Konfiguration der Mobile GUI ist NICHT dokumentiert
	 *
	 * Beispiele finden sich im Example Ordner
	 *
	 * @return string Liefert Array zum Aufbau der Mobile GUI
	 */
	function IPSLight_GetMobileConfiguration() {
		return array(
		);
	}

	/** @}*/
?>

Und zu guter letzt noch der Screenshot des Logs der Installation:

HILFE - Ich habe keine Idee woran das liegen könnte…

Grüße Heinz

Hallo Heinz,

schau dir das Script noch einmal genau an … :wink:
Das dort nichts angezeigt wird ist scheinbar vom Autor so gewollt.
Im Beispielordner ist eine Datei in der gezeigt wird wie es gehen KÖNNTE. Allerdings ist die Anordnung jedem selbst überlassen. Ich selbst habe damit auch so meine Probleme und würde mir eine Art „Default“ Anordnung wünschen, ist aber wie schon erwähnt nicht vorhanden.
Also entweder per Webfront selbst zusammenbauen oder sich in das Beispielscript einarbeiten und anwenden.

Gruß
Jens

Wie kann man denn in einem Script eine ganze Gruppe (z.B. „All“) schalten?

Grüße, Jürgen

  • IPSLIGHT_ACTIVATABLE - gibt an, ob die Gruppe über die GUI eingeschaltet werden kann

–>


            'All'  =>  array(
               IPSLIGHT_NAME            => 'All',
               IPSLIGHT_ACTIVATABLE     => true),

Hallo Andreas,
damit kann ich aber nur einstellen, ob die Gruppe im Webfront geschaltet werden kann.
Ich wollte jedoch in einem Script die Gruppe schalten.
Es gibt z.B. ein „Gute Nacht“ Script, in dem ich nachts verschiedene Elemente ausschalte. Unter anderem möchte ich da alle Lichter im Haus ausschalten. Mit dem Befehl

SetValue($ID_All,false);

wird zwar die Variable All auf false gesetzt, jedoch nichts geschaltet.

Grüße, Jürgen

Das kannst Du mit IPSLight_SetGroup machen, siehe auch API Funktionen im WIKI

Danke Andreas, das war’s.

Grüße und dickes Lob für deine tollen Sachen hier.

Jürgen