Hi Leute mit Hilfe von flobo_ aus dem IRC Channel habe ich schon so einiges hinbekommen, aber irgendwie komme ich nun nicht weiter.
Ich habe eine Variable angelegt (Integer) mit eigenem Profil (Siehe Screenshots).
Dazu habe ich als action Script das nachfolgende Script angehangen:
<?php
require_once('55825.ips.php');
require_once('49063.ips.php');
use Tinkerforge\IPConnection;
use Tinkerforge\BrickletRemoteSwitch;
const HOST = 'tinkerforge02a000.nbt-consulting.local';
const PORT = 4223;
const UID = 'r6x'; // Change to your UID
$ipcon = new IPConnection(); // Create IP connection
$rs = new BrickletRemoteSwitch(UID, $ipcon); // Create device object
$ipcon->connect(HOST, PORT); // Connect to brickd
// Don't use device before ipcon is connected
// Switch on a type A socket with house code 17 and receiver code 1.
// House code 17 is 10001 in binary (least-significant bit first)
// and means that the DIP switches 1 and 5 are on and 2-4 are off.
// Receiver code 1 is 10000 in binary (least-significant bit first)
// and means that the DIP switch A is on and B-E are off.
if($_IPS["SENDER"] == "WebFront")
{
SetValue($_IPS["VARIABLE"], $_IPS["VALUE"]);
switch($_IPS["VALUE"])
{
case 0:
$rs->switchSocketA(17, 1, BrickletRemoteSwitch::SWITCH_TO_OFF);
break;
case 1:
$rs->switchSocketA(17, 1, BrickletRemoteSwitch::SWITCH_TO_ON);
break;
}
}
fgetc(fopen('php://stdin', 'r'));
$ipcon->disconnect();
?>
Wenn ich das nun im WF schalte, wird die Variable auch sauber geändert, nur der eigentliche Schaltbefehl (in den CASE Anweisungen) wird nicht ausgeführt.
Der reine Tinkerforge Teil funktioniert. ich habe ein „ein“ und ein „aus“ script in IPS getestet und es wird sauber geschaltet.
Hat jemand eine Idee, was ich hier falsch mache?
Danke
Andre