+ Antworten
Ergebnis 1 bis 8 von 8
  1. #1
    Registriert seit
    Apr 2014
    Beiträge
    224

    Standard json Schnittstelle auslesen

    Moin,
    da nach ca. einem Jahr problemloser Funktion meine XBee-Roomba Konfiguration von jetzt auf gleich den Dienst versagt hat und ich teilweise ohnehin Empfangsprobleme habe, bin ich nun auf das Thinking Cleaner Interface umgestiegen. Neben der App und Webinterface bietet das Addon auch eine json Schnittstelle, hier der Link zur API: http://www.thinkingcleaner.com/downloads/TC_API.pdf

    Befehle wie z.B. Clean senden klappt in IPS nun schon gut über

    Code:
    <?
    
    $Datei = @file_get_contents("http://192.168.1.44/command.json?command=clean", false, NULL, 0,0);
    
    ?>
    Weiß nicht ob das gepfuscht ist oder eleganter geht, auf jeden Fall funktioniert es. Die Herausforderung liegt nun darin, die Daten vom Roomba in IPS zu bekommen. Hierzu würde für die Werte die ich brauche der Aufruf http://192.168.1.44/status.json lauten, wobei das ganze in Safari folgendes liefert (siehe hierzu auch die API):

    Code:
    {
      "action" : "status",
      "result" : "success",
      "status" : {
        "name" : "Roomba",
        "battery_charge" : 100,
        "capacity" : "2696",
        "cleaner_state" : "st_base_full",
     	"cleaning" : "0",
        "schedule_serial_number" : "0",
        "near_homebase" : "0"
      }
    }
    Die Frage ist nun, wie ich diese einzelnen Werte (vor allem interessieren mich im Moment Batteriestatus und Cleaning) in IPS Variablen bekomme. Ich habe dazu im Forum schonmal diesen Ansatz gefunden, jedoch fehlt mir noch das Verständnis, um das Ganze auf meinen Anwendungsfall zu übertragen, kann mir da jemand helfen?


    Gruß
    Luca

  2. #2
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,302

    Hi Luca!

    Hier gibt es ein passendes Beispiel für dich
    IP-Symcon - Wie kann ich... 2.0

    Grüße,
    Chris
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

  3. #3
    Registriert seit
    Apr 2014
    Beiträge
    224

    Super, danke!

  4. #4
    Registriert seit
    Oct 2017
    Beiträge
    20

    Standard Reinigen geht nicht

    Hallo,

    ich komme leider mit dem Skript nicht zum Ziel. Der Roomba startet nicht. Ich habe schon meine IP Adresse verwendet.

    <?

    $Datei = @file_get_contents("http://http://192.168.178.44/command.json?command=clean", false, NULL, 0,0);

    ?>

    Kann mir jemand helfen warum es so nicht geht?

    Gruß, Michael

  5. #5
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    9,349

    Zitat Zitat von mfinkbeiner Beitrag anzeigen
    $Datei = @file_get_contents("http://http://192.168.178.44/command.json?command=clean", false, NULL, 0,0);
    Fehlersuchspiel ?

    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  6. #6
    Registriert seit
    Oct 2017
    Beiträge
    20

    Geht aber leider so auch nicht!

    PHP-Code:
    <?


    $Datei 
    = @file_get_contents("http://192.168.178.44/status.json/command.json?command=clean");


    ?>

  7. #7
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    6,606

    Zitat Zitat von mfinkbeiner Beitrag anzeigen
    Geht aber leider so auch nicht!

    PHP-Code:
    <?


    $Datei 
    = @file_get_contents("http://192.168.178.44/status.json/command.json?command=clean");


    ?>
    Sollte das nicht
    PHP-Code:
    <?
    $Datei 
    = @file_get_contents("http://192.168.178.44/command.json?command=clean"falseNULL0,0);
    ?>
    heißen?
    Die IP Adresse stimmt aber, und auf andere Befehle reagiert der Sauger?

  8. #8
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    21,667

    Und wenn man das @ entfernt, sieht man auch ggf. Fehlermeldungen

    paresy

Ähnliche Themen

  1. IP-Symcon - JSON RPC Schnittstelle
    Von saschahb im Forum Entwicklung mit PHP-SDK/Delphi-SDK
    Antworten: 28
    Letzter Beitrag: 15.07.16, 10:03
  2. Bessere Dokumentation der JSON RPC Schnittstelle
    Von BestEx im Forum Skripte, PHP, SQL
    Antworten: 1
    Letzter Beitrag: 25.08.15, 15:11
  3. Richtiger Umgang mit der JSON-Schnittstelle
    Von JPaeper im Forum Skripte, PHP, SQL
    Antworten: 20
    Letzter Beitrag: 16.03.15, 08:27
  4. JSON Schnittstelle zum x-ten
    Von woytkem im Forum Skripte, PHP, SQL
    Antworten: 12
    Letzter Beitrag: 11.10.13, 10:32
  5. Zugriff auf Native JSON-RPC Schnittstelle
    Von IPdet_22 im Forum Skripte, PHP, SQL
    Antworten: 17
    Letzter Beitrag: 31.08.13, 13:11