Ich habe mal bei dS nachgefragt wie das geht - auf die schnell finde ich keinen passenden Befehl in der JSON-API.
paresy
Ich habe mal bei dS nachgefragt wie das geht - auf die schnell finde ich keinen passenden Befehl in der JSON-API.
paresy
IPS auf Symbox / DigitalStrom / Homematic / Mobotix T24 / UBNT-Netzwerk / Enigma GigaBlue / Apple iPad als Visu mit IPSView / iPhone mit IPS Mobil / Vistapool Poolsteuerung / IPS-868 für LED und Garagentor und Energieerfassung / Vitodens über optische Schnittstelle / Poolscheinwerfer-RGB über WLAN-RS485 Koppler ...und viel Spaß am Testen
Habe von C. Hofmann folgenden Link erhalten:
http://forum.digitalstrom.org/piperm...er/000986.html
Habe selber keine solche Klemme und kann nicht bei mir spielen.
dS, Revox voxnet, Feller, 2n Helios, worx, IP-Symcon unlimited
Konnte jemand das schon über die dS Expert Instanz testen?
paresy
Ich bin da leider zu ungebildet. Ich hätte die Klemme aber nicht das Knowhow. Ich werde aber mit msiegw, dessen Situation umgekehrt ist, das angehen!
Noch etwas: Es gibt eine neue Version dSS 1.16. Die wichtigste Neuerung ist, dass die Zustände der Verbraucher geloggt werden. Endlich! Ich habe digitalSTROM kontaktiert dass ich die Verbindung mit Symcon sehr schätze und hoffe, dass in Zusammenarbeit diese beiden Systeme weitere Funktionen unterstützen. Die Antwort sende ich per Email.
Gruss. Marc
Im Anhang ist ein kleines Skript, womit man den Winkel einer Jealousie direkt verändern kann. Wie gesagt, dS empfiehlt es nicht zu verwenden, weil zwei Geräte Befehle stattfinden.
Zur Vorbereitung muss man zwingend diese neue dS Expert Instanz erstellen. Was Programm fragt zuerst die Position der Klemme dsid ab. Dann wird die Scene mit sceneID mit der aktuellen Position und dem gewünschten Winkel (angle) auf die Geräte Klemme definiert. Im letzten Schritt wird dann die Scene mit SceneID aufgerufen.
Ich gehe davon aus, dass Ihr untiges Skript auch mit einer Variable aus dem WebFront verbinden könnt und diese dann dem Skript übergeben.
PHP-Code:
$Expert_id=59672 /*[dS Apartment\dS Expert]*/;//symcon ID for Expert instance;
$dsid="303505d7f8000f0000088295";
$debug=false;
$sceneID=4; //Irgend eine Nummer wird benötigt;
$angle=40;
$zone=25581 /*[1. OG\Büro Martin\1. OG - Büro Martin - Rolladen]*/;//symcon id for zone instance;
//*************************************************************************************************;
//1. Step Find out the current position of the blind;
$Call1=DS_MakeRequest($Expert_id, "device/getOutputValue", "dsid=".$dsid."&offset=0");
$a=json_decode($Call1,true);
$value=$a['value'];
if ($debug) echo $Call1;
if ($debug) echo $value;
$position=257*$value;
//2. Step Define the scene for a dS Device with the desired angle at the current position;
DS_MakeRequest($Expert_id, "device/setSceneValue", "dsid=".$dsid."&sceneID=".$sceneID."&value=".$position."&angle=".$angle);
//3. Step Call the Scene. As an option you can only call the scene for the device dsid. It is better to avoid an additional device order.
DS_CallScene($zone ,$sceneID);
Geändert von msiegw (12.10.19 um 07:38 Uhr)
dS, Revox voxnet, Feller, 2n Helios, worx, IP-Symcon unlimited
Der Script hat bei mir nicht funktioniert oder ich habe ihn nicht richtig angewendet. Es geht aber viel einfacher.
Ich kann mit folgendem Code die Position und den Winkel direkt anfahren:
<?php
//Start writing your code here
$Expert_id=57683; //symcon ID for Expert instance
$dsid="3504175fe000000000059159";
$angle=50;
$position=10;
$anglewert = 255/100*$angle;
$positionwert = 65535/100*$position;
echo DS_MakeRequest($Expert_id, "device/setOutputValue", "dsid=".$dsid."&offset=2&value=".round($positionwe rt)); // Position
echo DS_MakeRequest($Expert_id, "device/setOutputValue", "dsid=".$dsid."&offset=4&value=".round($anglewert) ); // Angle
Wäre schön wenn Syncon dies direkt in den dsShutter einbauen könnte, damit man nicht mehr dsExpert verwenden muss.