Seneye API in IPS nutzen

Hallo zusammen,

ich weis nicht ob ihr mir da helfen könnt. Ich habe mir ein Seneye Reef Aquarium Monitor gekauft. Dieser misst die Temperatur und verschiedene Wasserwerte von meinem Aquarium … Problem er legt diese jedoch nicht lokal ab, sondern lädt diese auf eine „Cloud“ des Herstellers. Ein direkter Zugriff ist seitens des Herstellers ausgeschlossen. Jetzt meinten die, ich könnte mir die Werte per API holen. Leider kenne ich mich damit nicht aus … kann mir da wer weiterhelfen ?! Die Seite lautet https://api.seneye.com/

Danke schonmal

Andreas

die antwort findest du in deinem link: klick mal da dann auf get device. da ist alles erklärt:
mit https://api.seneye.com/v1/devices?user=&pwd=
greifst du quasi direkt auf die datenbank zu und bekommst als antwort ein xml mit deinen daten
die du dann beliebig auswerten/speichern… kannst.
habe selber div anwendungen mit apis laufen, ich suche mal was passendes raus

Danke !

Gruss

Andreas

nimm doch mal als beispiel die wunderground-api
wenn du den programmablauf ansiehst, kannst du deine anwendung davon ableiten (über string xml anfordern dann ergebnis auseinanderpflücken und verarbeiten)

Moin…

… viel Spaß damit!
Gruß,
Peter

<?
 



 /* Abfrage der Seneye-API zum auslesen von Aquariumdaten. IP-SYMCON-FORUM THEMA " API in IPS nutzen "
 Link http://www.ip-symcon.de/forum/threads/20704-API-in-IPS-nutzen?p=187473#post187473
 Abfrage abgewandelt aus Thema " Wetterdaten - Wunderground API " von User "jbu"
 Link http://www.ip-symcon.de/forum/threads/19268-Wetterdaten-Wunderground-API?highlight=wunderground

 Ersteller : peterchrisben
 Datum: 10.04.2013
 Version: 2.0
 */
 
   $user = 'BENUTZERNAME'; // Eigenen Benutzername eintragen
   $password = 'PASSWORT'; // Eigenes PW eintragen
   $device_id = 'ID DES SENSORS'; // ID des Sensors eintragen

   $debug = false;  // BEI TRUE WERDEN DIE ALLE WERTE ALS ARRAY UNTEN AUSGEGEBEN !
   
          // ID-ABFRAGE
          //$json_string = file_get_contents("http://api.seneye.com/v1/devices?user=$user&pwd=$password");
  	  //$parsed_json = json_decode($json_string);
	  //$id = ($parsed_json[0]->id);
	  // echo $id;
	
  	
  	$json_string = file_get_contents("http://api.seneye.com/v1/devices/$device_id?IncludeState=1&user=$user&pwd=$password");
  	$parsed_json = json_decode($json_string);

        if ($debug == true)
  	{
  		print_r ($parsed_json);   //
   }


   //  DEVICE INFORMATIONEN
  $id = $parsed_json->{'id'};
  $description = $parsed_json->{'description'};
  $type = $parsed_json->{'type'};
  $time_diff = $parsed_json->{'time_diff'};
//  $status_disconnect = $parsed_json->{'status'}->{'disconnected'}; // <------- ALT -> GIBT ES NICHT MEHR IN DER API UND KANN GELÖSCHT WERDEN
  $status_slide_serial = $parsed_json->{'status'}->{'slide_serial'}; // <------ NEU
  $status_slide_expires = $parsed_json->{'status'}->{'slide_expires'}; // <------ NEU
//  $status_DeviceConsumURN = $parsed_json->{'status'}->{'DeviceConsumURN'}; // <------- ALT -> GIBT ES NICHT MEHR IN DER API UND KANN GELÖSCHT WERDEN
  $status_out_of_water = $parsed_json->{'status'}->{'out_of_water'};
  $status_wrong_slide = $parsed_json->{'status'}->{'wrong_slide'};
  $status_last_experiment = $parsed_json->{'status'}->{'last_experiment'};

  // TEMPERAR INFORMATIONEN
  $temp_trend = $parsed_json->{'exps'}->{'temperature'}->{'trend'};
  $temp_critical = $parsed_json->{'exps'}->{'temperature'}->{'critical_in'};
  $temp_avg = $parsed_json->{'exps'}->{'temperature'}->{'avg'};
  $temp_status = $parsed_json->{'exps'}->{'temperature'}->{'status'};
  $temp_curr = $parsed_json->{'exps'}->{'temperature'}->{'curr'};
  $temp_advises = $parsed_json->{'exps'}->{'temperature'}->{'advises'};
  
  

  // PH INFORMATIONEN
  $ph_trend = $parsed_json->{'exps'}->{'ph'}->{'trend'};
  $ph_critical_in = $parsed_json->{'exps'}->{'ph'}->{'critical_in'};
  $ph_avg = $parsed_json->{'exps'}->{'ph'}->{'avg'};
  $ph_status = $parsed_json->{'exps'}->{'ph'}->{'status'};
  $ph_curr = $parsed_json->{'exps'}->{'ph'}->{'curr'};
  $ph_advises = $parsed_json->{'exps'}->{'ph'}->{'advises'};

  // NH3 INFORMATIONEN
  $nh3_trend = $parsed_json->{'exps'}->{'nh3'}->{'trend'};
  $nh3_critical_in = $parsed_json->{'exps'}->{'nh3'}->{'critical_in'};
  $nh3_avg = $parsed_json->{'exps'}->{'nh3'}->{'avg'};
  $nh3_status = $parsed_json->{'exps'}->{'nh3'}->{'status'};
  $nh3_curr = $parsed_json->{'exps'}->{'nh3'}->{'curr'};
  $nh3_advises = $parsed_json->{'exps'}->{'nh3'}->{'advises'};
  
  // NH4 INFORMATIONEN <------ NEU !!!
  $nh4_trend = $parsed_json->{'exps'}->{'nh4'}->{'trend'};
  $nh4_critical_in = $parsed_json->{'exps'}->{'nh4'}->{'critical_in'};
  $nh4_avg = $parsed_json->{'exps'}->{'nh4'}->{'avg'};
  $nh4_status = $parsed_json->{'exps'}->{'nh4'}->{'status'};
  $nh4_curr = $parsed_json->{'exps'}->{'nh4'}->{'curr'};
  $nh4_advises = $parsed_json->{'exps'}->{'nh4'}->{'advises'};
  
  // o2 INFORMATION   <---- NEU !!!
  $o2_trend = $parsed_json->{'exps'}->{'o2'}->{'trend'};
  $o2_critical_in = $parsed_json->{'exps'}->{'o2'}->{'critical_in'};
  $o2_avg = $parsed_json->{'exps'}->{'o2'}->{'avg'};
  $o2_status = $parsed_json->{'exps'}->{'o2'}->{'status'};
  $o2_curr = $parsed_json->{'exps'}->{'o2'}->{'curr'};
  $o2_advises = $parsed_json->{'exps'}->{'o2'}->{'advises'};
  
  // LICHT INFORMATIONEN  <---- ALT !! WURDE UMBENANNT IN LUX UND EIN PAAR WERTE ENTFERNT. LICHT KANN GELÖSCHT WERDEN
//  $light_max_value = $parsed_json->{'exps'}->{'light'}->{'max_value'};
//  $light_status = $parsed_json->{'exps'}->{'light'}->{'status'};
//  $light_curr = $parsed_json->{'exps'}->{'light'}->{'curr'};
//  $light_advises = $parsed_json->{'exps'}->{'light'}->{'advises'};

  // LUX INFORMATIONEN   <---- NEU ->NAME LUX STATT LIGHT
  $lux_status = $parsed_json->{'exps'}->{'lux'}->{'status'};
  $lux_curr = $parsed_json->{'exps'}->{'lux'}->{'curr'};
  $lux_advises = $parsed_json->{'exps'}->{'lux'}->{'advises'};
  
  // PAR INFORMATIONEN ??? <------ NEU
  $par_curr = $parsed_json->{'exps'}->{'par'}->{'curr'};
  $par_advises = $parsed_json->{'exps'}->{'par'}->{'advises'};
  
  // KELVIN INFORMATIONEN <------- NEU
  $kelvin_curr = $parsed_json->{'exps'}->{'kelvin'}->{'curr'};
  $kelvin_advises = $parsed_json->{'exps'}->{'kelvin'}->{'advises'};



	// UMRECHNEN UNIX-TIME ----> ZEIT / DATUM
  $datum_last_experiment = date("H:i:s - d.m.Y",$status_last_experiment);




	if ($debug == true)
  	{
  	echo "Ein kleines Beispiel an Werten die ausgegeben werden können:";
	echo "ID: $id
";
	echo "Bezeichnun: $description
";
	echo "Letzte Messung: $datum_last_experiment
";
	echo "Lichtwert LUX AKTUELL: $lux_curr
";
	echo "Temp AVG: $temp_avg";
	// echo usw.
	}



?>

UPDATE:

Die API hat sich geändert. Das Skript ist angepasst. Version 2.0 vom 10.04.13 ist aktuell.


<?
 /* Abfrage der Seneye-API zum auslesen von Aquariumdaten. IP-SYMCON-FORUM THEMA " API in IPS nutzen "
 Link http://www.ip-symcon.de/forum/threads/20704-API-in-IPS-nutzen?p=187473#post187473
 Abfrage abgewandelt aus Thema " Wetterdaten - Wunderground API " von User "jbu"
 Link http://www.ip-symcon.de/forum/threads/19268-Wetterdaten-Wunderground-API?highlight=wunderground

 Ersteller : peterchrisben und von Udo ein bisserl angepasst
 Datum: 02.10.2013
 Version: 2.1
 */

   $user = 'User'; // Eigenen Benutzername eintragen
   $password = 'password'; // Eigenes PW eintragen
   $device_id = 'ID'; // ID des Sensors eintragen

   $debug = false;  // BEI TRUE WERDEN DIE ALLE WERTE ALS ARRAY UNTEN AUSGEGEBEN !

   // ID-ABFRAGE
   //$parsed_json = json_decode($json_string);
   //$id = ($parsed_json[0]->id);
   //echo $id;


   $json_string = file_get_contents("http://api.seneye.com/v1/devices/$device_id?IncludeState=1&user=$user&pwd=$password");
   //echo $json_string;
	$parsed_json = json_decode($json_string);

   if ($debug == true)
    {
     print_r ($parsed_json);   //
    }


  // DEVICE INFORMATIONEN
  $id = $parsed_json->{'id'};
  $description = $parsed_json->{'description'};
  $type = $parsed_json->{'type'};
  $time_diff = $parsed_json->{'time_diff'};
  $status_disconnected = $parsed_json->{'status'}->{'disconnected'};
  $status_out_of_water = $parsed_json->{'status'}->{'out_of_water'};
  $status_wrong_slide = $parsed_json->{'status'}->{'wrong_slide'};
  $status_last_experiment = $parsed_json->{'status'}->{'last_experiment'};

  // TEMPERAR INFORMATIONEN
  $temp_trend = $parsed_json->{'exps'}->{'temperature'}->{'trend'};
  $temp_critical = $parsed_json->{'exps'}->{'temperature'}->{'critical_in'};
  $temp_avg = $parsed_json->{'exps'}->{'temperature'}->{'avg'};
  $temp_status = $parsed_json->{'exps'}->{'temperature'}->{'status'};
  $temp_curr = $parsed_json->{'exps'}->{'temperature'}->{'curr'};
  $temp_advises = $parsed_json->{'exps'}->{'temperature'}->{'advises'};

  // PH INFORMATIONEN
  $ph_trend = $parsed_json->{'exps'}->{'ph'}->{'trend'};
  $ph_critical_in = $parsed_json->{'exps'}->{'ph'}->{'critical_in'};
  $ph_avg = $parsed_json->{'exps'}->{'ph'}->{'avg'};
  $ph_status = $parsed_json->{'exps'}->{'ph'}->{'status'};
  $ph_curr = $parsed_json->{'exps'}->{'ph'}->{'curr'};
  $ph_advises = $parsed_json->{'exps'}->{'ph'}->{'advises'};

  // NH3 INFORMATIONEN
  $nh3_trend = $parsed_json->{'exps'}->{'nh3'}->{'trend'};
  $nh3_critical_in = $parsed_json->{'exps'}->{'nh3'}->{'critical_in'};
  $nh3_avg = $parsed_json->{'exps'}->{'nh3'}->{'avg'};
  $nh3_status = $parsed_json->{'exps'}->{'nh3'}->{'status'};
  $nh3_curr = $parsed_json->{'exps'}->{'nh3'}->{'curr'};
  $nh3_advises = $parsed_json->{'exps'}->{'nh3'}->{'advises'};

  // o2 INFORMATION
  $o2_trend = $parsed_json->{'exps'}->{'o2'}->{'trend'};
  $o2_critical_in = $parsed_json->{'exps'}->{'o2'}->{'critical_in'};
  $o2_avg = $parsed_json->{'exps'}->{'o2'}->{'avg'};
  $o2_status = $parsed_json->{'exps'}->{'o2'}->{'status'};
  $o2_curr = $parsed_json->{'exps'}->{'o2'}->{'curr'};
  $o2_advises = $parsed_json->{'exps'}->{'o2'}->{'advises'};

  // LIGHT INFORMATIONEN
  $light_curr = $parsed_json->{'exps'}->{'light'}->{'curr'};
  $light_advises = $parsed_json->{'exps'}->{'light'}->{'advises'};

  // UMRECHNEN UNIX-TIME ----> ZEIT / DATUM
  $datum_last_experiment = date("H:i:s - d.m.Y",$status_last_experiment);

  if ($debug == true)
   {
    echo "Ein kleines Beispiel an Werten die ausgegeben werden können:";
    echo "ID: $id
";
    echo "Bezeichnung: $description
";
    echo "Letzte Messung: $datum_last_experiment
";
    echo "Lichtwert LUX AKTUELL: $light_curr
";
    echo "Temp AVG: $temp_avg";
    // echo usw.
    }

?>
Off Topic:

Wie oft tauscht Ihr denn die Slides aus?

Servus

Wie seid ihr denn zufrieden mit den seneye ?
Mein Uralt-Selbstbau PH Meter hat endgültig das zeitliche gesegnet und zur x-ten Reparatur hab ich keine rechte Lust.

Im speziellen interessiert mich die Genauigkeit der PH Messung. Leitwert kann das Teil ja nicht ?
Habt ihr Vergleiche mit sauber kalibrierten PH Sonden ?
Diese Kalibrieretiketten muß man echt alle Monate tauschen ? Das wären ja 120€ Betriebskosten im Jahr. Schon viel.

Alternativ suche ich eine an den PC anbindbare PH,Leitwert,O2 Messung.
Temperatur/Licht/Pegel oder irgendwelche Steuerscenarien wie sie die diversen Aquacomputer bieten brauch ich nicht.

thx
bb

Moin bb,

Also ich bin damit recht zufrieden. Am Anfang hab ich noch nachgemessen. Passt ziemlich genau. Die Chips reichen auch für 60 Tage locker. Merkst dann schon wenn sie am Ende sind. Kh soll z.b. Noch kommen.

Hallo Zusammen,

zumindest bei mir lief das alte script nicht mehr.
Folgende Änderungen und es geht wieder:

$json_string = file_get_contents(„http://api.seneye.com/v1/devices/$device_id?IncludeState=1&user=$user&pwd=$password“);
$json_string = [b]Sys_GetURLContentEx/b;

[$parsed_json = json_decode($json_string);
$parsed_json = [b]simplexml_load_string/b;

Interessant, bei mir tut’s die alte Variante noch?

Gruß
Manfred

In der Tat interessant, zumal bei dem einzelnen Befehl zur Abfrage ja nun wirklich nicht viel verkehrt gemacht werden kann und das Script mitten in der Nacht von einem Moment auf den anderen eine Seneye Fehlermeldung produziert hat …

Aber davon abgesehen hat die Änderung den Vorteil, dass es jetzt mit SSL zumindest etwas sicherer ist :loveips:

Hallo zusammen , bei mir läuft das Script nicht mehr … auch nicht mit dern Änderungen. Hat wer ne Idee ?

<?php

   $debug = false; // BEI TRUE WERDEN DIE ALLE WERTE ALS ARRAY UNTEN AUSGEGEBEN !

   $user = '@t-online.de';
   $password = 'test';
   $device_id = '1234';

   //$json_string = file_get_contents("http://api.seneye.com/v1/devices/$device_id?IncludeState=1&user=$user&pwd=$password");
   $json_string = Sys_GetURLContentEx("https://api.seneye.com/v1/devices/$device_id?IncludeState=1&user=$user&pwd=$password");
	//$parsed_json = json_decode($json_string);
	$parsed_json = simplexml_load_string($json_string);


  	if ($debug == true)
  	{
		print_r ($parsed_json);   //
   }


	//  DEVICE INFORMATIONEN
  $id = $parsed_json->{'id'};
  $description = $parsed_json->{'description'};
  $type = $parsed_json->{'type'};
  $time_diff = $parsed_json->{'time_diff'};
  $status_slide_serial = $parsed_json->{'status'}->{'slide_serial'};
  $status_slide_expires = $parsed_json->{'status'}->{'slide_expires'};
  $status_out_of_water = $parsed_json->{'status'}->{'out_of_water'};
  $status_wrong_slide = $parsed_json->{'status'}->{'wrong_slide'};
  $status_last_experiment = $parsed_json->{'status'}->{'last_experiment'};


  // TEMPERAR INFORMATIONEN
  $temp_trend = $parsed_json->{'exps'}->{'temperature'}->{'trend'};
  $temp_critical = $parsed_json->{'exps'}->{'temperature'}->{'critical_in'};
  $temp_avg = $parsed_json->{'exps'}->{'temperature'}->{'avg'};
  $temp_status = $parsed_json->{'exps'}->{'temperature'}->{'status'};
  $temp_curr = $parsed_json->{'exps'}->{'temperature'}->{'curr'};
  $temp_advises = $parsed_json->{'exps'}->{'temperature'}->{'advises'};


  // PH INFORMATIONEN
  $ph_trend = $parsed_json->{'exps'}->{'ph'}->{'trend'};
  $ph_critical_in = $parsed_json->{'exps'}->{'ph'}->{'critical_in'};
  $ph_avg = $parsed_json->{'exps'}->{'ph'}->{'avg'};
  $ph_status = $parsed_json->{'exps'}->{'ph'}->{'status'};
  $ph_curr = $parsed_json->{'exps'}->{'ph'}->{'curr'};
  $ph_advises = $parsed_json->{'exps'}->{'ph'}->{'advises'};


  // NH3 INFORMATIONEN
  $nh3_trend = $parsed_json->{'exps'}->{'nh3'}->{'trend'};
  $nh3_critical_in = $parsed_json->{'exps'}->{'nh3'}->{'critical_in'};
  $nh3_avg = $parsed_json->{'exps'}->{'nh3'}->{'avg'};
  $nh3_status = $parsed_json->{'exps'}->{'nh3'}->{'status'};
  $nh3_curr = $parsed_json->{'exps'}->{'nh3'}->{'curr'};
  $nh3_advises = $parsed_json->{'exps'}->{'nh3'}->{'advises'};


  // NH4 INFORMATIONEN
  $nh4_trend = $parsed_json->{'exps'}->{'nh4'}->{'trend'};
  $nh4_critical_in = $parsed_json->{'exps'}->{'nh4'}->{'critical_in'};
  $nh4_avg = $parsed_json->{'exps'}->{'nh4'}->{'avg'};
  $nh4_status = $parsed_json->{'exps'}->{'nh4'}->{'status'};
  $nh4_curr = $parsed_json->{'exps'}->{'nh4'}->{'curr'};
  $nh4_advises = $parsed_json->{'exps'}->{'nh4'}->{'advises'};


  // o2 INFORMATION
  $o2_trend = $parsed_json->{'exps'}->{'o2'}->{'trend'};
  $o2_critical_in = $parsed_json->{'exps'}->{'o2'}->{'critical_in'};
  $o2_avg = $parsed_json->{'exps'}->{'o2'}->{'avg'};
  $o2_status = $parsed_json->{'exps'}->{'o2'}->{'status'};
  $o2_curr = $parsed_json->{'exps'}->{'o2'}->{'curr'};
  $o2_advises = $parsed_json->{'exps'}->{'o2'}->{'advises'};



  // LUX INFORMATIONEN
  $lux_status = $parsed_json->{'exps'}->{'lux'}->{'status'};
  $lux_curr = $parsed_json->{'exps'}->{'lux'}->{'curr'};
  $lux_advises = $parsed_json->{'exps'}->{'lux'}->{'advises'};


  // PAR INFORMATIONEN
  $par_curr = $parsed_json->{'exps'}->{'par'}->{'curr'};
  $par_advises = $parsed_json->{'exps'}->{'par'}->{'advises'};


  // KELVIN INFORMATIONEN
  $kelvin_curr = $parsed_json->{'exps'}->{'kelvin'}->{'curr'};
  $kelvin_advises = $parsed_json->{'exps'}->{'kelvin'}->{'advises'};


	// UMRECHNEN UNIX-TIME ----> ZEIT / DATUM
  $datum_last_experiment = date("H:i:s - d.m.Y",$status_last_experiment);





	SetValueFloat(19304  /**/,floatval($temp_curr));
   SetValueFloat(59603  /**/,floatval($ph_curr));
   SetValueFloat(14852  /**/,floatval($nh4_curr));
	SetValueFloat(44324  /**/,floatval($nh3_curr));
   //SetValueInteger(23845  /**/,(int)$status_out_of_water);
   SetValue(56934  /**/,"Stand: $datum_last_experiment");


	if ($debug == true)

  	{
  	echo "Ein kleines Beispiel an Werten die ausgegeben werden können:";
	echo "ID: $id
";
	echo "Bezeichnung: $description
";
	echo "Letzte Messung: $datum_last_experiment
";
	echo "Lichtwert LUX AKTUELL: $lux_curr
";
	echo "Temp AVG: $temp_avg";
	// echo usw.
	}

//print_r($parsed_json);


?>

Moin… wurde wieder an der Api gestrickt? Kommt denn ne Fehlermeldung?! Schau ich mir nachher mal an. Kann ich User und Passwort im Skript benutzen?!
Gruß,
Peter

So… ich hab einen Verdacht! Kann es sein, das IPS ein problem mit HTTPS hat ? Ich habe mal Herrn Google gefragt und da wurde mir gesagt, das PHP und HTTPS nur in Verbindung mit OpenSLL funzt. Ist da der Hund begraben?

Ich habe spaßeshalber mal aus der Doku „Wie kann ich…?“ folgendes Skript probiert und bekomme die gleiche Fehlermeldung wie beim Seneye-Skript:


$remoteImage = "https://www.google.com/images/srpr/logo3w.png";
$localImage = IPS_GetKernelDir()."\\media\\bild.jpg";
 
//Downloaden
$content = @file_get_contents($remoteImage);
if((strpos($http_response_header[0], "200") === false))
{
    return;
}
 
//Speichern
file_put_contents( $localImage, $content );

Fehlermeldung:
Warning: file_get_contents(): Unable to find the wrapper „https“ - did you forget to enable it when you configured PHP? in C:\IP-Symcon\scripts\10708.ips.php on line 7



Kann jemand etwas dazu sagen?

Danke und Grüße,
Peter

Abend!

Bei mir, unter Windows, funktioniert dieses Skript:

<?
$remoteImage = "https://www.google.com/images/srpr/logo3w.png";
$localImage = IPS_GetKernelDir()."\\media\\bild11111.jpg";

//Downloaden
$content = @Sys_GetURLContent($remoteImage);

//Speichern
file_put_contents( $localImage, $content );
?>

Allgemeiner Hinweis: „file_get_contents“ bitte ersetzen durch „Sys_GetURLContent“

Grüße,
Chris

Danke Chris,
das war es!!

Bitte im Seneye Skript diese Zeilen

//$json_string = file_get_contents("http://api.seneye.com/v1/devices/$device_id?IncludeState=1&user=$user&pwd=$password");
$json_string = Sys_GetURLContentEx("https://api.seneye.com/v1/devices/$device_id?IncludeState=1&user=$user&pwd=$password"); 

gegen diese

$json_string = Sys_GetURLContent("https://api.seneye.com/v1/devices/$device_id?IncludeState=1&user=$user&pwd=$password");

tauschen!!

Dann bitte noch diese Zeile an entsprechender Position mit vorhandener tauschen: Da ist das (int) dazu gekommen.

  // UMRECHNEN UNIX-TIME ----> ZEIT / DATUM
  $datum_last_experiment = date("H:i:s - d.m.Y",(int)$status_last_experiment);

Nun sollte alles wieder funzen.

Hier noch mal das gesamte bereits angepasste Skript:

<?php 

   $debug = false; // BEI TRUE WERDEN DIE ALLE WERTE ALS ARRAY UNTEN AUSGEGEBEN ! 

   $user = '@t-online.de'; 
   $password = 'test'; 
   $device_id = '1234'; 


   $json_string = Sys_GetURLContent("https://api.seneye.com/v1/devices/$device_id?IncludeState=1&user=$user&pwd=$password"); 
    //$parsed_json = json_decode($json_string); 
    $parsed_json = simplexml_load_string($json_string); 


      if ($debug == true) 
      { 
        print_r ($parsed_json);   // 
   } 


    //  DEVICE INFORMATIONEN 
  $id = $parsed_json->{'id'}; 
  $description = $parsed_json->{'description'}; 
  $type = $parsed_json->{'type'}; 
  $time_diff = $parsed_json->{'time_diff'}; 
  $status_slide_serial = $parsed_json->{'status'}->{'slide_serial'}; 
  $status_slide_expires = $parsed_json->{'status'}->{'slide_expires'}; 
  $status_out_of_water = $parsed_json->{'status'}->{'out_of_water'}; 
  $status_wrong_slide = $parsed_json->{'status'}->{'wrong_slide'}; 
  $status_last_experiment = $parsed_json->{'status'}->{'last_experiment'}; 


  // TEMPERAR INFORMATIONEN 
  $temp_trend = $parsed_json->{'exps'}->{'temperature'}->{'trend'}; 
  $temp_critical = $parsed_json->{'exps'}->{'temperature'}->{'critical_in'}; 
  $temp_avg = $parsed_json->{'exps'}->{'temperature'}->{'avg'}; 
  $temp_status = $parsed_json->{'exps'}->{'temperature'}->{'status'}; 
  $temp_curr = $parsed_json->{'exps'}->{'temperature'}->{'curr'}; 
  $temp_advises = $parsed_json->{'exps'}->{'temperature'}->{'advises'}; 


  // PH INFORMATIONEN 
  $ph_trend = $parsed_json->{'exps'}->{'ph'}->{'trend'}; 
  $ph_critical_in = $parsed_json->{'exps'}->{'ph'}->{'critical_in'}; 
  $ph_avg = $parsed_json->{'exps'}->{'ph'}->{'avg'}; 
  $ph_status = $parsed_json->{'exps'}->{'ph'}->{'status'}; 
  $ph_curr = $parsed_json->{'exps'}->{'ph'}->{'curr'}; 
  $ph_advises = $parsed_json->{'exps'}->{'ph'}->{'advises'}; 


  // NH3 INFORMATIONEN 
  $nh3_trend = $parsed_json->{'exps'}->{'nh3'}->{'trend'}; 
  $nh3_critical_in = $parsed_json->{'exps'}->{'nh3'}->{'critical_in'}; 
  $nh3_avg = $parsed_json->{'exps'}->{'nh3'}->{'avg'}; 
  $nh3_status = $parsed_json->{'exps'}->{'nh3'}->{'status'}; 
  $nh3_curr = $parsed_json->{'exps'}->{'nh3'}->{'curr'}; 
  $nh3_advises = $parsed_json->{'exps'}->{'nh3'}->{'advises'}; 


  // NH4 INFORMATIONEN 
  $nh4_trend = $parsed_json->{'exps'}->{'nh4'}->{'trend'}; 
  $nh4_critical_in = $parsed_json->{'exps'}->{'nh4'}->{'critical_in'}; 
  $nh4_avg = $parsed_json->{'exps'}->{'nh4'}->{'avg'}; 
  $nh4_status = $parsed_json->{'exps'}->{'nh4'}->{'status'}; 
  $nh4_curr = $parsed_json->{'exps'}->{'nh4'}->{'curr'}; 
  $nh4_advises = $parsed_json->{'exps'}->{'nh4'}->{'advises'}; 


  // o2 INFORMATION 
  $o2_trend = $parsed_json->{'exps'}->{'o2'}->{'trend'}; 
  $o2_critical_in = $parsed_json->{'exps'}->{'o2'}->{'critical_in'}; 
  $o2_avg = $parsed_json->{'exps'}->{'o2'}->{'avg'}; 
  $o2_status = $parsed_json->{'exps'}->{'o2'}->{'status'}; 
  $o2_curr = $parsed_json->{'exps'}->{'o2'}->{'curr'}; 
  $o2_advises = $parsed_json->{'exps'}->{'o2'}->{'advises'}; 



  // LUX INFORMATIONEN 
  $lux_status = $parsed_json->{'exps'}->{'lux'}->{'status'}; 
  $lux_curr = $parsed_json->{'exps'}->{'lux'}->{'curr'}; 
  $lux_advises = $parsed_json->{'exps'}->{'lux'}->{'advises'}; 


  // PAR INFORMATIONEN 
  $par_curr = $parsed_json->{'exps'}->{'par'}->{'curr'}; 
  $par_advises = $parsed_json->{'exps'}->{'par'}->{'advises'}; 


  // KELVIN INFORMATIONEN 
  $kelvin_curr = $parsed_json->{'exps'}->{'kelvin'}->{'curr'}; 
  $kelvin_advises = $parsed_json->{'exps'}->{'kelvin'}->{'advises'}; 


    // UMRECHNEN UNIX-TIME ----> ZEIT / DATUM 
  $datum_last_experiment = date("H:i:s - d.m.Y",(int)$status_last_experiment); 





    SetValueFloat(19304  /**/,floatval($temp_curr)); 
   SetValueFloat(59603  /**/,floatval($ph_curr)); 
   SetValueFloat(14852  /**/,floatval($nh4_curr)); 
    SetValueFloat(44324  /**/,floatval($nh3_curr)); 
   //SetValueInteger(23845  /**/,(int)$status_out_of_water); 
   SetValue(56934  /**/,"Stand: $datum_last_experiment"); 


    if ($debug == true) 

      { 
      echo "Ein kleines Beispiel an Werten die ausgegeben werden können:"; 
    echo "ID: $id
"; 
    echo "Bezeichnung: $description
"; 
    echo "Letzte Messung: $datum_last_experiment
"; 
    echo "Lichtwert LUX AKTUELL: $lux_curr
"; 
    echo "Temp AVG: $temp_avg"; 
    // echo usw. 
    } 

//print_r($parsed_json); 


?>

Grüße,
Peter

Läuft wieder Peter … Danke dir !!!