Datenaustausch mit Openhab

HAllo,
ich möchte über Symcon auf nen Rasperry Pi mit Openhab zugreifen. Dieser Steuert den Xiaomi Mi Vac Staubsaugerroboter.
Habe einen netten hilfsbereiten Nachbarn der das macht… Jetzt ist die Frage wie man darauf zugreifen kann…
Es besteht die Möglichkeit per Curl Get und Curl Post…
Wie kann ich das in Symcon einrichten?
Danke für eure Hilfe

OpenHAB hat eine REST API, ansonsten kannst Du alternativ auch IFTTT als Vermittler nutzen oder Du baust Dir eine Steuerung direkt aus IP-Symcon. Ein Gerät das sich über OpenHAB steuern lässt sollte sich in der Regel auch direkt aus IP-Symcon ansteuern lassen.

Hallo Fonzo,

genau auf dies REST Api will Tom zugreifen und zwar mit GET und POST. Geht das mit CURL in IPSymcon?

Gruß Kay ( der Nachbar )

Hi, ich nochmal :slight_smile:

wie cURL benutzt wird, ist fast klar:

Die Frage ist eher, wie man den Aufruf von cURL in IP Symcon macht und dort z.B. eine Variable damit füllt.

Gruß Kay

Hallo,

ich hatte dazu mal folgende umgesetzt und als Aktionsscript an einer Variablen definiert.

<?

if($_IPS['SENDER'] == "WebFront")
{
   SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
   $array = IPS_GetObject($_IPS['VARIABLE']);
   $parent = IPS_GetName($array['ParentID']);
    $string = $parent."_".$_IPS['VARIABLE'];
    $string_value = (string)$_IPS['VALUE'];
    //WFC_SendPopup(35142 /*[WebFront]*/, "String", $string );
    
    if ($_IPS['VALUE'] == true)
    {
        doPostRequest($string,"ON");
    }
    elseif ($_IPS['VALUE'] == false)
    {
        doPostRequest($string,"OFF");
    }
    if ($_IPS['VALUE'] >= 0 and $_IPS['VALUE'] <= 100)
    {
        $return = doPostRequest($string,$string_value);
    }
    
}

function doPostRequest($item, $data) {
  $url = "http://192.168.114.221:8080/rest/items/" . $item;

  $options = array(
    'http' => array(
        'header'  => "Content-type: text/plain
",
        'method'  => 'POST',
        'content' => $data  //http_build_query($data),
    ),
  );

  $context  = stream_context_create($options);
  $result = file_get_contents($url, false, $context);

  return $result;
}

?>

Das sollte so zumindest für Boolean Variablen gehen. Für andere Type müsstest Du das erweitern.

Gruß
Christian

ist zwar etwas OT aber wie sind deine Erfahrungen mit dem Xiaomi Saurobotter?

Bei YouTube etc. sehen die Videos ja ziemlich vielversprechend aus und der Preis ist auch unschlagbar…

Viele Grüße
Stephan

Also Kay hat einen…Er ist sehr Zufrieden…hab mir deshalb auch einen Bestellt… Er saugt auf jeden Fall gut und Zielsicher. Macht auf jeden Fall einen wirklich soliden Eindruck;)

Danke Christian…
Kann man mit dem Script also Werte setzten sag ich mal… Oder gibt’s da auch eins um Werte auszulesen?

… hoffentlich ist der Tippfehler nicht Programm :smiley:

@tom36:
Das Script ist zum setzen von Werten.
Auslesen habe ich nicht implementiert.

Gruß
Christian