IPSShadowing - eine Beschattungssteuerung

Hallo Christian,

vielen Dank für die Info, funktioniert bei mir aber leider nicht.

Viele Grüsse,

Bernd

Hallo Christian,

vielen Dank für Deine Antwort. Gerne würde ich Dein Angebot annehmen und das Skript bei mir implementieren. Ich warte dann bis nächste Woche,
Schönen Urlaub!

Viele Grüsse,

Bernd

Kann es sein, dass ich das script in der basic version von IPS gar nicht installieren kann? Er will ja immer ein eigenes TabPane einrichten und hängt dabei… das geht ja glaub ich bei der Basic gar nicht?

Du solltest aufpassen, das Script verbraucht sehr viele Variablen und nein, soweit ich das weiß brauchst du mindestens die Professionalversion dafür, zumindest für die Library.

Ich hab auch mal ne Frage, wie kann ich denn den Homematic Regensensor einbinden? IPShadowing möchte ja eine Booleanvariable beim Regensensor haben, der Homematic Regensensor gibt eine Integer aus?
Er erkennt das dann ja nicht oder? Möchte das ungern ausprobieren und die Markise fährt dann beim Regen nicht ein.

Viele Grüße,

ProfDexter

Abend!

Ich habe IPSShadowing nicht im Einsatz. Aber falls IPSShadowing mit der Int-Variable nicht umgehen kann, könntest du dir eine Bool-Hilfs-Variable anlegen. Dazu ein Skript mit Ereignis (Trigger), welches bei Überschreitung von einem Wert die Bool-Variable schaltet und bei Unterschreitung die Bool-Variable wieder zurückschaltet.

Grüße,
Chris

Hallo,

ich habe noch immer das Problem, dass 1 oder 2 Rolläden (jeweils unterschiedliche) morgens/abends nicht hoch-/ runterfahren. Als Tagesbeginn/-ende benutze ich die Dämmerung mit einem zeitlichen Versatz. Allerdings werden sämtliche Befehle laut Log Files ordnungsgemäß ausgeführt. Auch in der Übersicht sind die nicht gefahrenen Rolläden als offen/geschlossen aufgeführt, obwohl das nicht der Fall ist. Ich habe das Modul bereits mehrmals neu installiert und weiß nun nicht mehr weiter.

Hat jemand ähnliche Probleme oder kann mir helfen?

Vielen Dank im Voraus.

Gruß,

Bernd

Gutne Morgen,

wie bereits hier erwähnt, möchte ich Umlaute im Config-File einsetzen:

c_ShadowingDevice_5 => array(
c_Property_ShadowingType => c_ShadowingType_Shutter,
c_Property_Name => ‚Küche‘,
c_Property_Component => ‚IPSComponentShutter_EIB,27796‘,
c_Property_TimeOpening => 60,
c_Property_TimeClosing => 60,
c_Property_TimePause => 1,
c_Property_TempSensorIndoor => ‚24606‘,
),
c_ShadowingDevice_6 => array(
c_Property_ShadowingType => c_ShadowingType_Shutter,
c_Property_Name => ‚Eßzimmer‘,
c_Property_Component => ‚IPSComponentShutter_EIB,20362‘,
c_Property_TimeOpening => 60,
c_Property_TimeClosing => 60,
c_Property_TimePause => 1,
c_Property_TempSensorIndoor => ‚38773‘,

Allerdings sorgt dies dafür, dass die Installation abschmiert>

CUSTOM | PHP | Error: Warning: Ident darf nur Buchstaben und Zahlen enthalten
Error in Script /usr/share/symcon/scripts/IPSLibrary/install/IPSInstaller/IPSInstaller.inc.php on Line 41
134 in IPSLibrary/app/core/IPSLogger/IPSLogger.inc.php (call IPSLogger_Out)
37 in IPSLibrary/app/core/IPSLogger/IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
in IPSLogger_PhpErrorHandler
41 in IPSLibrary/install/IPSInstaller/IPSInstaller.inc.php (call IPS_SetIdent)
689 in IPSLibrary/install/InstallationScripts/IPSShadowing_Installation.ips.php (call CreateCategory)
673 in IPSLibrary/install/IPSModuleManager/IPSModuleManager.class.php (call include)
74 in webfront/user/IPSModuleManagerGUI/IPSModuleManagerGUI_Receiver.php (call InstallModule)

Wie kann ich Umlaute (s.o.) einsetzen bzw. wann wird es möglich sein, Umlaute ohne Workaround zu benutzen?

Gruss,

Jörg

Hallo
ist es möglich den Zeitversatz von aktuell 5min. Abständen zu verkleinern? z.B 1 Minute?

Einfach mal die Profileinstellungen anpassen

Wo genau? Im webfront?

Guten Morgen,
Gibt es eine Möglichkeit, die aktuelle Position der Rollladen (über KNX gesteuert) im IPsShadowing abzubilden und für die Steuerung zu berücksichtigen?

Mit freundlichen Grüßen und ein frohes Fest,
Jörg

Das sollte sich analog zu Homematic lösen lassen, Event auf die Variable des Aktors anlegen und über die Sync Position Funktion nach IPSSchadowing synchronisieren.

Wenn Du auch das File IPSShadowing_Installation anpasst, kannst Du auch die Events gleich automatisch anlegen…

Hallo,

nach der Installation von IPSShadowing bekomme ich immer folgende Fehlermeldung in IPS 4.0,
wenn ich denn Rollladen über IPSShadowing ansteuern möchte.

IPS-Err-PHP 2016-01-04 08:05:26.618 Warning: Instance does not implement this function
Error in Script C:\IP-Symcon\scripts\IPSLibrary\app\core\IPSComponent\IPSComponentShutter\IPSComponentShutter_Enocean.class.php on Line 85
134 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)
37 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
in IPSLogger_PhpErrorHandler
85 in scripts\IPSLibrary\app\core\IPSComponent\IPSComponentShutter\IPSComponentShutter_Enocean.class.php (call ENO_SwitchMode)
138 in scripts\IPSLibrary\app\modules\IPSShadowing\IPSShadowing_Device.class.php (call MoveUp)
537 in scripts\IPSLibrary\app\modules\IPSShadowing\IPSShadowing_Device.class.php (call MoveByCommand)
168 in scripts\IPSLibrary\app\modules\IPSShadowing\IPSShadowing_Device.class.php (call ExecuteNextStep)
385 in scripts\IPSLibrary\app\modules\IPSShadowing\IPSShadowing_Device.class.php (call MoveByStatus)
47 in scripts\IPSLibrary\app\modules\IPSShadowing\IPSShadowing_ChangeSettings.ips.php (call MoveByControl) IPS-Inf-C:\IP-Symcon 2016-01-04 08:05:26.630 Öffnen von ‚Kueche‘ (Manuelle Steuerung)

Der FSB12 Aktor ist als „Eltako Shutter“ angelernt. Die Variable „RunningMode“ wird entsprechend erzeugt
und ich kann den Rollladen manuell über das WebFront (nicht IPSShadowing Oberfläche) steuern.

Hat jemand eine Idee an was das liegen kann?

Gruß Tobias

Poste doch mal Deine Config, anhand der Fehlermeldung würde ich jetzt mal vermuten, dass Du anstatt der Instanz ID, die ID einer Statusvariable in der Config angegeben hast.

In dem Configfile habe ich die Instanz ID des jeweilgen Aktors eingetragen.

Auszug aus der „IPSShadowing_Configuration“

IPSUtils_Include („IPSShadowing_Constants.inc.php“, „IPSLibrary::app::modules::IPSShadowing“);
IPSUtils_Include („IPSTwilight_Configuration.inc.php“, „IPSLibrary::config::modules::Weather::IPSTwilight“);

/
function get_ShadowingConfiguration() {
return array(
c_ShadowingDevice_1 => array(
c_Property_ShadowingType => c_ShadowingType_Jalousie,
c_Property_Name => ‚Kueche‘,
c_Property_Component => 'IPSComponentShutter_Enocean, 29239 /
[Steuerung EG-DG\Küche\Aktoren\Küche - Rollladen]/’,
c_Property_TimeOpening => 23,
c_Property_TimeClosing => 23,
c_Property_TimeDimoutUp => 2,
c_Property_TimeDimoutDown => 3,
c_Property_TimePause => 1,
c_Property_TempSensorIndoor => ‚‘,
),
c_ShadowingDevice_2 => array(
c_Property_ShadowingType => c_ShadowingType_Shutter,
c_Property_Name => ‚Esszimmer Sued‘,
c_Property_Component => 'IPSComponentShutter_Enocean, 36634 /
[Steuerung EG-DG\Esszimmer\Aktoren\Esszimmer - Rollladen Süd]/’,
c_Property_TimeOpening => 23,
c_Property_TimeClosing => 23,
c_Property_TimePause => 1,
c_Property_TempSensorIndoor => ‚‘,
),
c_ShadowingDevice_3 => array(
c_Property_ShadowingType => c_ShadowingType_Shutter,
c_Property_Name => ‚Relexecke Sued‘,
c_Property_Component => 'IPSComponentShutter_Enocean, 56313 /
[Steuerung EG-DG\Esszimmer\Aktoren\Relaxecke - Rollladen Süd]/’,
c_Property_TimeOpening => 23,
c_Property_TimeClosing => 23,
c_Property_TimePause => 1,
c_Property_TempSensorIndoor => ‚‘,
),
c_ShadowingDevice_4 => array(
c_Property_ShadowingType => c_ShadowingType_Shutter,
c_Property_Name => ‚Relexecke West‘,
c_Property_Component => 'IPSComponentShutter_Enocean,47232 /
[Steuerung EG-DG\Esszimmer\Aktoren\Relaxecke - Rolladen West]*/’,
c_Property_TimeOpening => 23,
c_Property_TimeClosing => 23,
c_Property_TimePause => 1,
c_Property_TempSensorIndoor => ‚‘,
),

 );

}
/** @}*/

Auszug Strukturbaum:

Beim betätigen des Button „Runter“ im WebFront kommt die Fehlermeldung mit dem Verweis auf Zeile 97,
bei „Hoch“ mit dem Verweis auf Zeile 85.

Auszug WebFront „Fehlermeldung“:

Auszug „IPSComponentShutter_Enocean“:
Auszug IPSComponentShutter_Enocean.JPG

Hi,

sieht alles korrekt aus - ich hab bei mir noch eine alternative Implementierung von „IPSComponentShutter_Enocean“,
ich vermute mal, dass die für Dich passt, da sie für Shutter Instanzen ist.

Versuch die Version mal, hab grad keine Ahnung, wieso ich die nie online gestellt habe :confused::confused:


 <?
    /**@addtogroup ipscomponent
     * @{
     *
      *
     * @file          IPSComponentShutter_Enocean.class.php
     * @author        Andreas Brauneis
     *
     *
     */

   /**
    * @class IPSComponentShutter_Enocean
    *
    * Definiert ein IPSComponentShutter_Enocean Object, das ein IPSComponentShutter Object für Enocean implementiert.
    *
    * @author Andreas Brauneis
    * @version
    * Version 2.50.1, 31.01.2012<br/>
    */

    IPSUtils_Include ('IPSComponentShutter.class.php', 'IPSLibrary::app::core::IPSComponent::IPSComponentShutter');

    class IPSComponentShutter_Enocean extends IPSComponentShutter {

        private $instanceId;

        /**
         * @public
         *
         * Initialisierung eines IPSComponentShutter_Enocean Objektes
         *
         * @param integer $instanceId InstanceId des Enocean Devices
         */
        public function __construct($instanceId) {
            $this->instanceId = IPSUtil_ObjectIDByPath($instanceId);
        }

        /**
         * @public
         *
         * Funktion liefert String IPSComponent Constructor String.
         * String kann dazu benützt werden, das Object mit der IPSComponent::CreateObjectByParams
         * wieder neu zu erzeugen.
         *
         * @return string Parameter String des IPSComponent Object
         */
        public function GetComponentParams() {
            return get_class($this).','.$this->instanceId;
        }

        /**
         * @public
         *
         * Function um Events zu behandeln, diese Funktion wird vom IPSMessageHandler aufgerufen, um ein aufgetretenes Event
         * an das entsprechende Module zu leiten.
         *
         * @param integer $variable ID der auslösenden Variable
         * @param string $value Wert der Variable
         * @param IPSModuleShutter $module Module Object an das das aufgetretene Event weitergeleitet werden soll
         */
        public function HandleEvent($variable, $value, IPSModuleShutter $module){
            $name = IPS_GetName($variable);
            throw new IPSComponentException('Event Handling NOT supported for Variable '.$variable.'('.$name.')');
        }

        /**
         * @public
         *
         * Hinauffahren der Beschattung
         */
        public function MoveUp(){
            ENO_ShutterMoveUp($this->instanceId);
        }

        /**
         * @public
         *
         * Hinunterfahren der Beschattung
         */
        public function MoveDown(){
            ENO_ShutterMoveDown($this->instanceId);
        }

        /**
         * @public
         *
         * Stop
         */
        public function Stop() {
            ENO_ShutterStop($this->instanceId);
        }
    }

    /** @}*/
?> 

Bin begeistert, die Rollläden lassen sich entsprechend ansteuern :slight_smile:
Besten Dank für die schnelle Unterstützung !!!

Ein kleines Manko besteht noch. Wenn ein Befehl im IPSShadowing ausgeführt wird,
erscheint rechts im WebFront „Fehler“. Im IPSLogging ist kein Hinweis auf einen Fehler ersichtlich.

Auszug WebFront:

Das wird dann wohl der „Klassiker“ mit dem Leerzeichen oder CR am Ende des Scriptes sein - check doch noch mal das File „IPSComponentShutter_Enocean“

Super, alle Fehler behoben und das Modul läuft einwandfrei.

Hallo Andreas,

das kommt noch von mir. Ich hatte die Enocean Instanz damals geschrieben und zu diesem Zeitpunkt gab es die Eltako Instanzen noch nicht in IP-Symcon.

Mittlerweile gehen sie und es wäre auch geschickt das umzustellen. Vielleicht über eine 2te Instanz bei deinen Components, damit es die „alten“ User nicht verhaut.

Gruß
Maze

OK, danke, habs nun als IPSComponentShutter_EnoceanShutter hinzugefügt…