Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS für Sureflap Katzenklappe Pet Door Connect möglich?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    LBS für Sureflap Katzenklappe Pet Door Connect möglich?

    Ich habe seid 4 Monaten eine neue Katzenklappe von Sureflap mit der ich per App sehen kann ob meine Katzen im Haus sind oder draußen. Bzw. noch andere Informationen wie oft sie draußen waren usw.

    https://surepetcare.io/#/home/timeline

    Ziel wäre es die Katzenklappe in Edomi zu integrieren. Es passen schonmal Nachbarn auf die Katzen auf und die sollen einfach sehen ob die Katzen drin sind oder nicht, bzw sehen wann die das letzte Mal drinnen waren.
    Würde die Informationen dann gerne auf einem MDT Smart II anzeigen lassen.
    Leider kenne ich mich in den Dingen LBS usw. nicht gut aus.
    Bin nur über die Worte HTTP polling to MQTT" in einem Bericht gestolpert.

    https://www.xively.com/customers/sureflap

    Das kam mir jetzt von einem LBS bekannt vor.

    Gruß
    Robby

    #2
    Wollte nochmal das Thema aufgreifen da ich mir jetzt auch noch 2 Sureflap Futterautomaten Connect bestellt habe
    https://www.surepetcare.com/de-de/fu...feeder-connect

    Im Internet habe ich auch einen Link gefunden wie man die Katzenklappe über php steuern kann.
    https://github.com/alextoft/sureflap

    Leider verstehe ich zu wenig von der LBS Programmierung um mir einen LBS zu bauen, bzw wie müsste ich das angehen? Bzw. geht es überhaupt?

    Gruß
    Robby

    Kommentar


      #3
      Das ist ja geil, elektronische Haustür und Futterapparat für Katzen
      Ich hab zwar keine Haustiere aber die Idee ist klasse, hast Du auch den RFID-Chip für das Halsband?
      Lass uns doch nen KNX-Stammtisch-West organisieren und wir bauen den LBS im Workshop-Teil.
      Im Ernst, ich kann Dir gerne etwas Hilfe für den LBS anbieten.

      Grundsätzlich könntest Du mit einem leeren LBS beginnen und die auf der github-Seite aufgeführten php-Beispiele nach und nach als Funktion in den LBS einfügen.
      Hier mal ein kurzes Beispiel, welches bei erfolgreichem Login die Token-Id an A2 ausgeben sollte.
      Sofern das klappen sollte, könnte man weitere Funktionen einbauen.

      PHP-Code:

      ###[DEF]###
      [name        =    Sureflap 0.1]

      [e#1    trigger        =     trigger]
      [e#2    important    =     email address]
      [e#3    important    =     password]

      [a#1                =    error]
      [a#2                =    token]
      ###[/DEF]###


      ###[HELP]###
      Vorlage: LBS mit EXEC-Script
      ###[/HELP]###


      ###[LBS]###
      <?
      function LB_LBSID($id) {
          if ($E=logic_getInputs($id)) {
          
              if ($E[1]['refresh'] == 1 && $E[1]['value'] != 0) {
                  //bei Bedarf das EXEC-Script starten:
                  logic_callExec(LBSID,$id);
              }
              
          }
      }
      ?>
      ###[/LBS]###


      ###[EXEC]###
      <?
      require(dirname(__FILE__)."/../../../../main/include/php/incl_lbsexec.php");

      //bei Bedarf kann hier die maximale Ausführungszeit des Scripts angepasst werden (Default: 30 Sekunden)
      //Beispiele:
      set_time_limit(60);    //Script soll maximal 60 Sekunden laufen

      sql_connect();


      if ($E = logic_getInputs($id)) {

          //// aus https://github.com/alextoft/sureflap/blob/master/config.php.dist
          $email_address = $E[2]['value'];
          $password = $E[2]['value'];

          $endpoint = "https://app.api.surehub.io";

          // Invent something for mandatory fingerprintJs login value. Any 32bit integer will suffice.
          $device_id = (string) rand(1000000000,9999999999);

          //// aus https://github.com/alextoft/sureflap/blob/master/login.php
          $json = json_encode(array("email_address" => $email_address, "password" => $password, "device_id" => $device_id));
          $ch = curl_init($endpoint."/api/auth/login");
          curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
          curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
          curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($json)));
          $result = json_decode(curl_exec($ch),true) or die("Curl Failed\n");
          if($result['data']['token']) {
              ////print "New Login Successful for ".$result['data']['user']['first_name']." ".$result['data']['user']['last_name']."!\nToken: ".$result['data']['token'];
              $token = $result['data']['token'];
              file_put_contents(sys_get_temp_dir() . "sureflaptoken", $token);
              logic_setOutput($id,1,0); // A1 auf 0 setzen
              logic_setOutput($id,2,$token); // A2 Token ausgeben
              
          } else {
              ////die("Login Failed!\n");
              logic_setOutput($id,1,1); // A1 auf 1 setzen
          }

      }

      sql_disconnect();
      ?>
      ###[/EXEC]###

      Kommentar


        #4
        Hallo Mike,

        danke für deine Hilfe.

        Der RFID Chip sitzt unter dem Fell und dient auch zur Identifikation z.B. bei Tierarzt und bei Tasso, einem Tiersuchdienst
        Über den implantierten Chip funktioniert auch die Katzenklappe. Nur die eigenen Katzen kommen somit rein.Ansonsten hätten wir hier Party.

        Habe mal einen LBS erstellt und deine Vorgabe rein kopiert. Danach Edomi neu aktiviert.

        ̶Le̶̶i̶̶d̶̶e̶̶r̶̶ ̶̶b̶̶e̶̶k̶̶o̶̶m̶̶m̶̶e̶̶ ̶̶i̶̶c̶̶h̶̶ ̶̶i̶̶m̶̶ ̶̶l̶o̶̶g̶̶i̶̶k̶̶e̶̶d̶̶i̶̶t̶̶o̶̶r̶̶ ̶̶n̶̶i̶̶c̶̶h̶̶t̶̶s̶̶ ̶̶a̶̶n̶̶g̶̶e̶̶z̶̶e̶̶i̶̶g̶̶t̶̶.̶̶ ̶̶Ic̶̶h̶̶ ̶̶d̶̶e̶̶n̶̶k̶̶e̶̶ ̶̶f̶̶ü̶̶r̶̶ ̶̶d̶̶i̶̶e̶̶ ̶"̶c̶̶u̶̶r̶̶l̶"̶ ̶̶Be̶̶f̶̶e̶̶h̶̶l̶̶e̶̶ ̶̶m̶̶ü̶̶s̶̶s̶̶t̶̶e̶̶ ̶̶i̶̶c̶̶h̶̶ ̶̶n̶̶o̶̶c̶̶h̶̶ ̶̶e̶̶t̶̶w̶̶a̶̶s̶̶ ̶̶n̶̶a̶̶c̶̶h̶̶ ̶̶i̶̶n̶̶s̶̶t̶̶a̶̶l̶̶l̶̶i̶̶e̶̶r̶̶e̶̶n̶̶.̶̶ ̶̶k̶̶e̶̶i̶̶n̶̶e̶̶ ̶̶Ah̶̶n̶̶u̶̶n̶̶g̶̶ ̶̶o̶̶b̶̶ ̶̶i̶̶c̶̶h̶̶ ̶̶d̶̶a̶̶s̶̶ ̶̶m̶̶a̶̶l̶̶ ̶̶f̶̶ü̶̶r̶̶ ̶̶e̶̶i̶̶n̶̶e̶̶n̶̶ ̶̶m̶̶e̶̶i̶̶n̶̶e̶̶r̶̶ ̶̶i̶̶n̶̶s̶̶t̶̶a̶̶l̶̶l̶̶i̶̶e̶̶r̶̶t̶̶e̶̶n̶̶ ̶̶l̶̶o̶̶g̶̶i̶̶k̶̶e̶̶n̶̶ ̶̶s̶̶c̶̶h̶̶o̶̶n̶̶m̶̶a̶̶l̶̶ ̶̶b̶̶r̶̶a̶̶u̶̶c̶̶h̶̶t̶̶e̶̶.̶
        ̶w̶̶e̶̶l̶̶c̶̶h̶̶e̶̶ ̶̶b̶̶e̶̶f̶̶e̶̶h̶̶l̶̶e̶̶ ̶̶m̶̶ü̶̶s̶̶s̶̶t̶̶e̶̶ ̶̶i̶̶c̶̶h̶̶ ̶̶d̶̶a̶̶n̶̶n̶̶ ̶̶i̶̶n̶̶ ̶̶d̶̶e̶̶r̶̶ ̶̶c̶̶o̶̶n̶̶s̶̶o̶̶l̶̶e̶̶ ̶̶e̶̶i̶̶n̶̶g̶̶e̶̶b̶̶e̶̶n̶̶?̶̶ ̶(̶b̶̶i̶̶n̶̶ ̶̶e̶̶i̶̶n̶̶e̶̶ ̶̶l̶̶i̶̶n̶̶u̶̶x̶̶ ̶̶n̶̶i̶̶e̶̶t̶̶e̶)

        Habe mal
        sudo yum install curl eingegeben und er hat Pakete nachinstalliert
        ...aber Fehlerbild bleibt

        2.jpg
        Im Fehlerlog bekomme ich beim Triggern auch immer folgenden Eintrag
        Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19199000.php | Fehlercode: 8 | Zeile: 30 | Undefined index: data ERROR
        Zuletzt geändert von Robby; 14.04.2019, 14:08.

        Kommentar


          #5
          Vermutlich liegt es daran:

          Zitat von Glotzkowski Beitrag anzeigen
          Code:
          $email_address = $E[2]['value'];
          $password = $E[[COLOR=#FF0000]2[/COLOR]]['value'];
          Versuch mal:

          Code:
          $email_address = $E[2]['value'];
          $password = $E[[COLOR=#008000]3[/COLOR]]['value'];
          Insbesondere bei verteilter Entwicklung/Nutzung würde ein wenig logging die Sache vereinfachen.

          Kommentar


            #6
            Hallo Andre´,

            durch die Veränderung des Codes wird jetzt wenigstens etwas an Ausgang A2 ausgegeben. Sieht jetzt ein wenig nach Scrabble aus.

            Der Token ist jetzt der Schlüssel um Daten abzurufen?

            Kommentar


              #7
              Zitat von Robby Beitrag anzeigen
              Der Token ist jetzt der Schlüssel um Daten abzurufen?
              Ja, korrekt.
              Als nächstes würde ich den "Household" abfragen, da diese Bezeichnung/Id dazu benötigt wird ein Gerät abzufragen.

              Kommentar


                #8
                Wobei vielleicht zu diesem Zeitpunkt erstmal überlegt werden sollte wie der LBS eigentlich funktionieren soll bzw. was Du damit im Detail abfragen oder steuern möchtest, da die Aus- und Eingänge davon abhängen.

                Kommentar


                  #9
                  Zitat von Glotzkowski Beitrag anzeigen
                  Wobei vielleicht zu diesem Zeitpunkt erstmal überlegt werden sollte wie der LBS eigentlich funktionieren soll bzw. was Du damit im Detail abfragen oder steuern möchtest, da die Aus- und Eingänge davon abhängen.
                  Am liebsten wäre mir ja möglichst alle verfügbare Daten auszulesen.
                  Würde mir gerne an einem MDT Glastaster 2 LED´s reservieren (für jede Katze eine) die dann entweder grün oder rot leuchten, je nachdem ob sie drinnen oder draußen sind.
                  Für die Urlaubszeit wäre es schön wenn die Urlaubsvertretung auf meiner Visu auch Informationen angezeigt bekommen würde.

                  Nochmals vielen Dank für Deine/Eure Hilfe!!!!

                  Kommentar


                    #10
                    Zitat von Robby Beitrag anzeigen
                    Nochmals vielen Dank für Deine/Eure Hilfe!!!!
                    Kein Problem, gerne geschehen!

                    Um (erstmal) an alle Daten zu kommen hier der nächste Schritt.
                    Sofern das Login erfolgreich war, die Haushalte abfragen, sofern mindestens 1 Haushaushalt gefunden wurde, die dazugehörigen Geräte und Haustiere ermitteln, sowie an den entsprechenden Ausgängen ausgeben (dies wird auch noch recht "kryptisch" aussehen, da die kompletten Arrays ausgegeben werden).
                    Mit den ermittelten Daten kann man dann die entsprechenden Eingänge belegen, um detailierte Informationen zu einem Gerät oder Haustier zu bekommen, dies ist aber noch nicht eingebaut.
                    Fehlerbehandlung und Logging, wie von Andre beschrieben ist hier noch nicht enthalten, bedeutet auch noch einiges an Aufwand.


                    PHP-Code:
                    ###[DEF]###
                    [name = Sureflap 0.1]

                    [e#1 trigger = trigger]
                    [e#2 important = email address]
                    [e#3 important = password]
                    [e#4 optional = household id]
                    [e#5 optional = device id]
                    [e#6 optional = pet id]

                    [a#1 = error]
                    [a#2 = token]
                    [a#3 = household data]
                    [a#4 = device data]
                    [a#5 = pet data]



                    ###[/DEF]###


                    ###[HELP]###
                    Vorlage: LBS mit EXEC-Script
                    ###[/HELP]###


                    ###[LBS]###
                    <?
                    function LB_LBSID($id) {
                    if ($E=logic_getInputs($id)) {

                    if ($E[1]['refresh'] == 1 && $E[1]['value'] != 0) {
                    //bei Bedarf das EXEC-Script starten:
                    logic_callExec(LBSID,$id);
                    }

                    }
                    }
                    ?>
                    ###[/LBS]###


                    ###[EXEC]###
                    <?
                    require(dirname(__FILE__)."/../../../../main/include/php/incl_lbsexec.php");

                    //bei Bedarf kann hier die maximale Ausführungszeit des Scripts angepasst werden (Default: 30 Sekunden)
                    //Beispiele:
                    set_time_limit(60); //Script soll maximal 60 Sekunden laufen

                    sql_connect();


                    if ($E = logic_getInputs($id)) {

                    //// aus https://github.com/alextoft/sureflap/blob/master/config.php.dist
                    $email_address = $E[2]['value'];
                    $password = $E[3]['value'];

                    $endpoint = "https://app.api.surehub.io";

                    // Invent something for mandatory fingerprintJs login value. Any 32bit integer will suffice.
                    $device_id = (string) rand(1000000000,9999999999);

                    //// aus https://github.com/alextoft/sureflap/blob/master/login.php
                    $json = json_encode(array("email_address" => $email_address, "password" => $password, "device_id" => $device_id));
                    $ch = curl_init($endpoint."/api/auth/login");
                    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
                    curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($json)));
                    $result = json_decode(curl_exec($ch),true) or die("Curl Failed\n");
                    if($result['data']['token']) {
                    ////print "New Login Successful for ".$result['data']['user']['first_name']." ".$result['data']['user']['last_name']."!\nToken: ".$result['data']['token'];
                    $token = $result['data']['token'];
                    file_put_contents(sys_get_temp_dir() . "sureflaptoken", $token);
                    logic_setOutput($id,1,0); // A1 auf 0 setzen
                    logic_setOutput($id,2,$token); // A2 Token ausgeben

                    /// aus https://github.com/alextoft/sureflap/blob/master/getHousehold.php
                    $ch = curl_init($endpoint."/api/household");
                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $token"));
                    $result = json_decode(curl_exec($ch),true) or die("Curl Failed\n");
                    if($result['data']) {
                    ////print "Household ID: ".$result['data'][0]['id']."\nHousehold Name: ".$result['data'][0]['name']."\n";
                    ////$household = $result['data'][0]['id'];
                    $household_data = $result['data'];
                    logic_setOutput($id,3,$household_data); // A3 Daten ausgeben

                    if (count($household_data['data']) > 0) {
                    foreach ($household_data['data'] as $household) {

                    $ch = curl_init($endpoint."/api/household/$household/device");
                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $token"));
                    $result = json_decode(curl_exec($ch),true) or die("Curl Failed\n");
                    if($result['data']) {
                    $device_data = $result['data'];
                    logic_setOutput($id,4,$device_data); // A4 Daten ausgeben
                    } else {
                    logic_setOutput($id,4,'No Devices!');
                    }

                    $ch = curl_init($endpoint."/api/household/$household/pet");
                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $token"));
                    $result = json_decode(curl_exec($ch),true) or die("Curl Failed\n");
                    if($result['data']) {
                    $pet_data = $result['data'];
                    logic_setOutput($id,5,$pet_data); // A5 Daten ausgeben
                    } else {
                    logic_setOutput($id,5,'No Pet!');
                    }
                    }
                    }

                    } else {
                    ////die("No Household!\n");
                    logic_setOutput($id,3,'No Household!');
                    }
                    } else {
                    ////die("Login Failed!\n");
                    logic_setOutput($id,1,1); // A1 auf 1 setzen
                    }
                    }

                    sql_disconnect();
                    ?>
                    ###[/EXEC]###
                    Zuletzt geändert von Glotzkowski; 14.04.2019, 20:13.

                    Kommentar


                      #11
                      kleinen Fehler bzgl. der Haushalte entdeckt:

                      PHP-Code:
                      ###[DEF]###
                      [name = Sureflap 0.1]

                      [e#1 trigger = trigger]
                      [e#2 important = email address]
                      [e#3 important = password]
                      [e#4 optional = household id]
                      [e#5 optional = device id]
                      [e#6 optional = pet id]

                      [a#1 = error]
                      [a#2 = token]
                      [a#3 = household data]
                      [a#4 = device data]
                      [a#5 = pet data]



                      ###[/DEF]###


                      ###[HELP]###
                      Vorlage: LBS mit EXEC-Script
                      ###[/HELP]###


                      ###[LBS]###
                      <?
                      function LB_LBSID($id) {
                          if ($E=logic_getInputs($id)) {

                              if ($E[1]['refresh'] == 1 && $E[1]['value'] != 0) {
                                  //bei Bedarf das EXEC-Script starten:
                                  logic_callExec(LBSID,$id);
                              }

                          }
                      }
                      ?>
                      ###[/LBS]###


                      ###[EXEC]###
                      <?
                      require(dirname(__FILE__)."/../../../../main/include/php/incl_lbsexec.php");

                      //bei Bedarf kann hier die maximale Ausführungszeit des Scripts angepasst werden (Default: 30 Sekunden)
                      //Beispiele:
                      set_time_limit(60); //Script soll maximal 60 Sekunden laufen

                      sql_connect();


                      if ($E = logic_getInputs($id)) {

                          //// aus https://github.com/alextoft/sureflap/blob/master/config.php.dist
                          $email_address = $E[2]['value'];
                          $password = $E[3]['value'];

                          $endpoint = "https://app.api.surehub.io";

                          // Invent something for mandatory fingerprintJs login value. Any 32bit integer will suffice.
                          $device_id = (string) rand(1000000000,9999999999);

                          //// aus https://github.com/alextoft/sureflap/blob/master/login.php
                          $json = json_encode(array("email_address" => $email_address, "password" => $password, "device_id" => $device_id));
                          $ch = curl_init($endpoint."/api/auth/login");
                          curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
                          curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
                          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                          curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($json)));
                          $result = json_decode(curl_exec($ch),true) or die("Curl Failed\n");
                          if($result['data']['token']) {
                              ////print "New Login Successful for ".$result['data']['user']['first_name']." ".$result['data']['user']['last_name']."!\nToken: ".$result['data']['token'];
                              $token = $result['data']['token'];
                              file_put_contents(sys_get_temp_dir() . "sureflaptoken", $token);
                              logic_setOutput($id,1,0); // A1 auf 0 setzen
                              logic_setOutput($id,2,$token); // A2 Token ausgeben

                              /// aus https://github.com/alextoft/sureflap/blob/master/getHousehold.php
                              $ch = curl_init($endpoint."/api/household");
                              curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                              curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $token"));
                              $result = json_decode(curl_exec($ch),true) or die("Curl Failed\n");
                              if($result['data']) {
                                  ////print "Household ID: ".$result['data'][0]['id']."\nHousehold Name: ".$result['data'][0]['name']."\n";
                                  ////$household = $result['data'][0]['id'];
                                  $household_data = $result['data'];
                                  logic_setOutput($id,3,$household_data); // A3 Daten ausgeben

                                  if (count($household_data['data']) > 0) {
                                      foreach ($household_data['data'] as $household_detail) {
                                          $household = $household_detail['id'];
                                          $ch = curl_init($endpoint."/api/household/$household/device");
                                          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                                          curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $token"));
                                          $result = json_decode(curl_exec($ch),true) or die("Curl Failed\n");
                                          if($result['data']) {
                                              $device_data = $result['data'];
                                              logic_setOutput($id,4,$device_data); // A4 Daten ausgeben
                                          } else {
                                              logic_setOutput($id,4,'No Devices!');
                                          }
                                          
                                          $ch = curl_init($endpoint."/api/household/$household/pet");
                                          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                                          curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $token"));
                                          $result = json_decode(curl_exec($ch),true) or die("Curl Failed\n");
                                          if($result['data']) {
                                              $pet_data = $result['data'];
                                              logic_setOutput($id,5,$pet_data); // A5 Daten ausgeben
                                          } else {
                                              logic_setOutput($id,5,'No Pet!');
                                          }
                                      }
                                  }

                              } else {
                                  ////die("No Household!\n");
                                  logic_setOutput($id,3,'No Household!');
                              }
                          } else {
                              ////die("Login Failed!\n");
                              logic_setOutput($id,1,1); // A1 auf 1 setzen
                          }
                      }

                      sql_disconnect();
                      ?>
                      ###[/EXEC]###

                      Kommentar


                        #12
                        Hi,

                        wofür sind jetzt die otionalen Eingänge E4-E6?

                        Leider bekomme ich an den Ausgängen A3-A5 keine Werte. Etwas scheint noch nicht so zu klappen.
                        Im Fehler-Log finde ich auch immer folgende Einträge:
                        2019-04-14 22:47:01 466861 ? 7371 Datei: /usr/local/edomi/www/shared/php/base.php | Fehlercode: 2 | Zeile: 21 | utf8_decode() expects parameter 1 to be string, array given ERROR 2019-04-14 22:47:01 468787 ? 7371 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19199001.php | Fehlercode: 8 | Zeile: 48 | Undefined index: data ERROR

                        Kommentar


                          #13
                          Ach Mist, ich vergesse immer, dass man Arrays nicht am Ausgang ausgeben kann, die Fehler kommen daher.
                          Da muss ich noch ändern.
                          Die Eingänge E4-E6 sind dafür da im späteren Verlauf anzugeben, für welches Haustier Du eine Information haben möchtest bzw. bei welchem Gerät Du einen Option verändern möchtest.
                          Irgendwie musst Du dem LBS ja mitteilen, dass Du z.B. wissen möchtest ob eine Deiner Katzen zuhause ist oder nicht und vor allem welche dabei gemeint ist.
                          An E4 musst Du dann später die Id des Haushalts eintragen und an E6 dann die Id der Katze, dessen Status abgefragt werden soll.
                          Der LBS muss dann einmal je Katze vorhanden sein und wird dann, an einem jetzt noch nicht vorhandenen Ausgang, den Anwesenheitsstatus der Katze ausgeben.
                          Kannst Du nicht ne Kopie von Deinen Haustieren erstellen, dann könnte ich das besser testen.
                          Gibt es da vielleicht ein Demo-Login oder so?

                          Kommentar


                            #14
                            Zitat von Glotzkowski Beitrag anzeigen
                            Ach Mist, ich vergesse immer, dass man Arrays nicht am Ausgang ausgeben kann, die Fehler kommen daher.
                            Da muss ich noch ändern.
                            Im Moment noch böhmische Dörfer für mich

                            Zitat von Glotzkowski Beitrag anzeigen
                            Kannst Du nicht ne Kopie von Deinen Haustieren erstellen, dann könnte ich das besser testen.
                            Gibt es da vielleicht ein Demo-Login oder so?
                            Hast PM

                            Kommentar


                              #15
                              Na das hier interessiert mich auch brennend

                              Habe auch die Haustierklappe Sureflap Connect mit dem Hub und würde die auch gerne über Edomi steuern bzw. auslesen.
                              Beim selbst angelegten LBS bin ich nun soweit, das mir der Token an A2 ausgegeben wird.
                              Im Fehler Log steht folgendes:
                              Datei: /usr/local/edomi/www/shared/php/base.php | Fehlercode: 2 | Zeile: 21 | utf8_decode() expects parameter 1 to be string, array given
                              Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19001999.php | Fehlercode: 8 | Zeile: 48 | Undefined index: dataERROR


                              Bin also genau so weit wie Robby

                              Was trage ich bei household ID, device ID ein? Den in der App selbst vergebenen Namen der Klappe?
                              Pet ID? Die Chip Nr. oder der Name der Katze?

                              Zitat von Robby Beitrag anzeigen
                              Habe mal
                              sudo yum install curl eingegeben und er hat Pakete nachinstalliert
                              ...aber Fehlerbild bleibt
                              Muss ich hier auch noch was nachinstallieren?

                              Vielen dank bisher an Glotzkowski , der den Code zusammengestellt hat ​​​​​​​

                              Ich bleibe dran...

                              Grüße
                              Manuel

                              Kommentar

                              Lädt...
                              X