Prima dann sollte der Rest auch gehen. NEO ist nur in der Lage Skripte in IP-Symcon zu triggern und Variablen zu ändern. Daher leider als Workaround zunächst eine Variable angelegt werden, die den eigentlichen Gerätebefehl absetzt. Ein direktes Ausführen des Gerätebefehl ist leider aus NEO zur Zeit nicht möglich.
Folgendes Vorgehen ist dafür in IP-Symcon notwendig um Digitalstrom sauber von NEO schalten zu können:
Digitalstrom Dimmer für NEO Bedienung einrichten
Instanz hinzufügen (CTRL + 1) -> Dummy Module anlegen
Unterhalb der Instanz eine Variable hinzufügen (CTRL + 2) -> Typ Integer , Variablenprofil Intensity.255
Unterhalb der Variable ein Skript hinzufügen (CTRL + 3), benennen und folgenden Inhalt in das Skript kopieren
<?
$brightness = $_IPS['VALUE'];
SetValue($_IPS['VARIABLE'], $brightness);
$objectiddimmer = 12345; // Objekt ID des Digitalstrom Dimmer
DS_DimSet($objectiddimmer, $brightness);
?>
anschließend speichern.
Jetzt erneut die Variable mit Doppelklick öffnen und als Aktionskript das soeben erzeugte Skript auswählen.
Digitalstrom Shutter für NEO Bedienung einrichten
Instanz hinzufügen (CTRL + 1) -> Dummy Module anlegen
Unterhalb der Instanz eine Variable hinzufügen (CTRL + 2) -> Typ Integer , Variablenprofil Intensity.255 -> Name Position
Unterhalb der Variable ein Skript hinzufügen (CTRL + 3), benennen und folgenden Inhalt in das Skript kopieren
<?
$position = $_IPS['VALUE'];
SetValue($_IPS['VARIABLE'], $position);
$objectidshutter = 12345; // Objekt ID des Digitalstrom Shutter
DS_ShutterMove($objectidshutter, $position);
?>
anschließend speichern.
Unterhalb der Instanz eine zweite Variable hinzufügen (CTRL + 2) -> Typ Integer .
Jetzt auf Profile Verwalten drücken und dort auf + Neu drücken und als Name NEO.ShutterControl vergeben.
Min Wert 0 Max Wert 2 Schrittweite 0
Bei Assoziationen auf +Neu drücken und jeweils die Werte 0, 1, 2 hinzufügen. Hier jetzt als Text bei 0 Runter, 1 Stop, 2 Hoch ergänzen. Anschließend das Variablenprofil abspeichern.
Der Variable jetzt das neue eigene Profil zuweisen NEO.ShutterControl und mit Steuerung benennen.
Unterhalb der Variable ein Skript hinzufügen (CTRL + 3), benennen und folgenden Inhalt in das Skript kopieren
<?
$state = $_IPS['VALUE'];
SetValue($_IPS['VARIABLE'], $state);
$objectidshutter = 12345; // Objekt ID des Digitalstrom Shutters
if($state == 0) // Down
{
DS_ShutterMoveDown($objectidshutter);
}
elseif($state == 1) // Stop
{
DS_ShutterStop($objectidshutter);
}
elseif($state == 2) // Up
{
DS_ShutterMoveUp($objectidshutter);
}
?>
anschließend speichern.
Jetzt erneut die Variable mit Doppelklick öffnen und als Aktionskript das soeben erzeugte Skript auswählen.
Digitalstom Switch für NEO Bedienung einrichten
Instanz hinzufügen (CTRL + 1) -> Dummy Module anlegen
Unterhalb der Instanz eine Variable hinzufügen (CTRL + 2) -> Typ Boolean , Variablenprofil ~Switch
Unterhalb der Variable ein Skript hinzufügen (CTRL + 3), benennen und folgenden Inhalt in das Skript kopieren
<?
$state = $_IPS['VALUE'];
SetValue($_IPS['VARIABLE'], $state);
$objectidswitch = 12345; // Objekt ID des Digitalstrom Switch
if($state == true)
{
DS_SwitchMode($objectidswitch, true);
}
else
{
DS_SwitchMode($objectidswitch, false);
}
?>
anschließend speichern.
Jetzt erneut die Variable mit Doppelklick öffnen und als Aktionskript das soeben erzeugte Skript auswählen.
Das ganze sieht Beispielweise dann so aus
Wenn das gemacht worden ist kann man in NEO auf Importieren gehen. Jetzt sollten die Variablen sichtbar sein, diese können dann in NEO verändert werden. Wenn eine Veränderung durch NEO ausgelöst wird schaltet dann IP-Symcon die Geräte.
Damit es möglich ist einen Switch in NEO auch zu togglen (ein/aus auf einer Taste) ist zusätzlich noch ein Skript notwendig, das auf einen Button in NEO gelegt werden kann.
Im Skript wird die Status Variable die oben angelegt worden ist abgefragt und dann auch verändert sowie der Befehl abgesetzt.
<?
$status = GetValueBoolean(25403 /*[Geräte\Digitalstrom\Digitalstrom Switch\Status]*/); // //Status Variable des Geräts auslesen
$objectidswitch = 12345; // Objekt ID des Digitalstrom Switch
if ($status == false)// Befehl ausführen
{
IPS_LogMessage( "Digitalstrom:" , "Anschalten" );
DS_SwitchMode($objectidswitch, true);
SetValue(25403 /*[Geräte\Digitalstrom\Digitalstrom Switch\Status]*/, $state);
}
elseif ($status == true)// Befehl ausführen
{
IPS_LogMessage( "Digitalstrom:" , "Ausschalten" );
DS_SwitchMode($objectidswitch, false);
SetValue(25403 /*[Geräte\Digitalstrom\Digitalstrom Switch\Status]*/, $state);
}
?>
Einen Slider dann in NEO ganz normal anlegen und dort dann die Variablen drauflegen
Beim einem Switch Button ist in NEO als Aktion das Toogle Skript aus IP-Symcon (s.o.) oben auszuwählen damit ein Toggle möglich ist und als Status die Variable die den Status angibt.
Neuen Kommentar hinzufügen