Shutter Control mit PCF8574 Skript

hi jungs,
da ich mich grade mit meiner Rolladen Steuerung beschäftige und mir die Instanz Shutter Control sehr gut gefällt würde ich diese gerne verwenden. aber es hängt bei mir grade an dem Skript.

aber langsam und erst mal von vorn.

ich habe eine PCF8574 der auf ein Relais Karte ist.
jetzt habe ich das Modul von JPaeper (Link) installier, was auch Einwand frei funktioniert.

jetzt zu mein probtem:
ich komme nicht ganz klar mit den Skript für den Shutter Controler. ich würde es ja mit den Object ID machen aber komme grade mit den Skript überhaut nicht klar.:confused::confused::confused:

kann mir da jemand helfen?

Wenn sich das soweit steuern lässt brauchst Du halt drei Funktionen für rauf, runter und stop. Die müssten entweder dokumentiert sein oder mal im Modul Thread danach fragen. Dann musst Du das Skript mit der GUID des Moduls und den passenden Funktionen ergänzen, auch diese sollten dokumentiert sein oder im Modulthread danach fragen.

Hallo next,

ich habe dies folgendermaßen zustande gebracht.

Das in der Dokumentation beim Shutter Control angegebene Script habe ich genommen und
angepasst.

Ich habe alles für mich unnötige entfernt und es Shutter_Script_PCF8574 genannt.
(Du kannst natürlich später noch alle IPS_LogMessage .entfernen)


<?
//Variables provided by ShutterControl Module
IPS_LogMessage("InstanceID", $_IPS['INSTANCE']); /* InstanceID */
IPS_LogMessage("Direction", $_IPS['DIRECTION']); /* {0..2} Stop, Up, Down */
IPS_LogMessage("Duration", $_IPS['DURATION']); /* ms */

define("SC_DIRECTION_STOP", 0);
define("SC_DIRECTION_UP", 1);
define("SC_DIRECTION_DOWN", 2);

 switch($_IPS['DIRECTION']) {
    case SC_DIRECTION_STOP:
		I2GIO1_SetPinOutput($_IPS['INSTANCE'], $_IPS['PIN_HOCH'], true);
		I2GIO1_SetPinOutput($_IPS['INSTANCE'], $_IPS['PIN_RUNTER'], true);
	    break;
    case SC_DIRECTION_UP:
        I2GIO1_SetPinOutput($_IPS['INSTANCE'], $_IPS['PIN_HOCH'], false);
        if($_IPS['DURATION'] > 0) {
            IPS_Sleep($_IPS['DURATION']);
            I2GIO1_SetPinOutput($_IPS['INSTANCE'], $_IPS['PIN_HOCH'], true);
        }
        break;
    case SC_DIRECTION_DOWN:
        I2GIO1_SetPinOutput($_IPS['INSTANCE'], $_IPS['PIN_RUNTER'], false);
        if($_IPS['DURATION'] > 0) {
            IPS_Sleep($_IPS['DURATION']);
            I2GIO1_SetPinOutput($_IPS['INSTANCE'], $_IPS['PIN_RUNTER'], true);
        }
        break;
}
 ?>

BITTE BEACHTEN ! Das true und false bei den Schaltbefehlen musst du entsprechend deiner Ansteuerung
ggf. austauschen. So wie ich es hier angegeben habe funktioniert es nur wenn deine Relais mit einem LOW Signal aktiv werden. (LOW Aktiv) Die Einstellung findest du in Joachims PCF8574 Instanz Einstellungsformular.

Dann habe ich ein zweites Script erzeugt in dem ich das Script Shutter_Script_PCF8574
aufrufe. Das Script Shutter_Script_PCF8574 kann so unverändert bleiben für alle Rolläden
die du über Joachims Modul ansprichst.

Ich benenne es jeweils mit einem sprechendem Namen.
z.B. Shutter_Script_Wohnzimmer_Rolladen _1


<?
	//Variables provided by ShutterControl Module
IPS_LogMessage("InstanceID", $_IPS['INSTANCE']); /* InstanceID */
IPS_LogMessage("Direction", $_IPS['DIRECTION']); /* {0..2} Stop, Up, Down */
IPS_LogMessage("Duration", $_IPS['DURATION']); /* ms */

// Aufruf des Shutter_Script mit folgenden Parametern
//
// Die Script ID [Shutter_Script_PCF8574] anpassen !!!
// PIN_HOCH => x       Den PIN des PCF8574 eintragen der den Rolladen hochfahren soll. x = 0-7  Anpassen!!!
// PIN_RUNTER => x   Den PIN des PCF8574 eintragen der den Rolladen runterfahren soll. x = 0-7  Anpassen!!!
//
IPS_RunScriptEx( 35189 /*[Shutter_Script_PCF8574]*/ , Array( "PIN_HOCH" => 0, "PIN_RUNTER" => 1, "INSTANCE" => $_IPS['INSTANCE'], "DIRECTION" => $_IPS['DIRECTION'], "DURATION" => $_IPS['DURATION'] ) );
?>

Dann folgt die Anlage der Instanz Symcon Shutter.

Unter Sende Instanz wählst du, die bereits angelegte und funktionierende PCF8574 Instanz von Joachim aus.

Unter Abarbeitungsscript trägst du das Script (in meinem Fall) Shutter_Script_Wohnzimmer_Rolladen _1 ein.

Dann sollte die Ansteuerung der Pins des PCF 8574 für hoch und runter bereits funktionieren.

Dann noch einmessen und ausprobieren…

Für jeden Rolladen muss dann später, neben der Symcon Shutter Instanz auch das kleine Startscript ( in meinem Fall: Shutter_Script_Wohnzimmer_Rolladen _1) in angepasster Form mit den benötigten PIN’s des PCF 8574 angelegt werden!

Eine andere Lösung habe ich als blutiger Anfänger nicht gefunden…
Ich hoffe ich konnte helfen… :wink:

Gruß

Ralf