Jump to content

[PHP] getState() beim DualRelay


Recommended Posts

Hi!

 

Ich habe ein völlig banales Problem, stehe mir aber wohl gerade selber auf den Füßen ... Habt ihr einen Tipp für mich?

Ich möchte von PHP aus den Sachltzustand eines Relais ermitteln. Das sollte eigentlich ganz einfach mit getState() gehen, aber ich kriegs nicht hin.

 

Der Code schaut eingedampft so aus:

<?php

require_once('Tinkerforge/IPConnection.php');
require_once('Tinkerforge/BrickletDualRelay.php');

use Tinkerforge\IPConnection;
use Tinkerforge\BrickletDualRelay;

$host = "IP-Nr";
$port = 4223;
$drid = ID des Dual-Relay;              // DualRelais-Bricklet

$ipcon = new IPConnection($host, $port);// IP connection zum brickd
$dr = new BrickletDualRelay($drid);     // Device-Object fuer DualRelais

$ipcon->addDevice($dr);                 // Dual Relay-Device zur IP-Connection zufuegen

$dr->setState( TRUE, FALSE );           // schaltet das erste Relais


$relais = $dr->getState();              // hier komme ich ins Schleudern
if ( $relais[0] == true ) {
   $status = "Relais 1 ist geschaltet";
   echo "$status \n";
   }

?>

 

Das Schalten des Relais funktioniert ganz prima, nur andersrum halt nicht.

Ich hätte in der Variablen $relais ein Array mit 2 Werten erwartet, so dass mir $relais[0] den Status des ersten Relais liefern sollte - dachte ich.

Wie muss ich die getState()-Abfrage formulieren, damit ich den Schaltstatus zurück bekomme ... ?

 

Vielen Dank für eure Hilfe!

Link zu diesem Kommentar
Share on other sites

<?php
$relais = $dr->getState();
if ( $relais['relay1'] == true ) {
   $status = "Relais 1 ist geschaltet";
   echo "$status \n";
   }

?>

 

Wie der Inhalt der Arrays ist wenn die Funktion mehrere Werte zurück geben steht nicht in der PHP Dokumentation. Habs mir auf die TODO Liste gesetzt, das zu verbessern :)

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...