Unofficial Nest Learning Thermostat API

Overview

Unofficial Nest Learning Thermostat API

This is a PHP class that will allow you to monitor and control your Nest Learning Thermostat, and Nest Protect.

Note that since I started this, Nest have started an official Developer program. You might be better served using the official APIs, versus this PHP class here in which you need to store your credentials in plain text, and which use the non-supported APIs used by the mobile & web apps.
i.e. if you're building a serious commercial application, go sign-up into Nest's Developer program. If you just want to build something for yourself, then you're probably fine with this PHP class here.

Features

  • Caching so that it doesn't re-login when it doesn't need to. i.e. faster operations.
  • Getters:
    • Current & target temperatures, humidity
    • Time to target temperature
    • Target temperature mode, fan mode
    • AC, heat, and fan status: on or off
    • Manual and automatic away mode
    • Location information
    • Network information (local & WAN IPs, MAC address, online status)
    • Currently active schedule (by day)
    • Next scheduled event
    • Last 10 days energy report
    • Device name, devices list
    • Battery level (voltage)
    • Nest Protect device information
  • Setters:
    • Target temperatures (single, or range)
    • Target temperature mode: cool, heat, range
    • Fan mode: auto, on, minutes per hour
    • Fan: every day schedule (start & stop time)
    • Fan: on with timer (stops after X minutes/hours)
    • Eco (Away) mode: on, off, min/max temperatures, Auto-Away
    • Dual fuel: breakpoint (use alt. fuel when outdoor temp is below X), always alt, always primary
    • Safety temperatures (low & high temperatures)
    • Humidity (on, off, %)
    • Turn off HVAC

Usage

You can just download nest.class.php and require/include it, or use composer: require "gboudreau/nest-api": "dev-master".

See examples.php for details, but here's a Quick Start.

current_state->temperature, $infos->scale); // Cool to 23 $nest->setTargetTemperatureMode(TARGET_TEMP_MODE_COOL, 23.0); // Set Away mode $nest->setAway(TRUE); // Turn off Away mode $nest->setAway(FALSE);">


require_once('nest.class.php');

// Use a Nest account:
$username = '[email protected]';
$pasword = 'Something other than 1234 right?';
$nest = new Nest($username, $pasword);

// Or use a Google account (see instructions below on how to find those values):
$issue_token = 'https://accounts.google.com/o/oauth2/iframerpc?action=issueToken&response_type=token%20id_token&login_hint=UNIQUE_VALUE_HERE&client_id=733249279899-44tchle2kaa9afr5v9ov7jbuojfr9lrq.apps.googleusercontent.com&origin=https%3A%2F%2Fhome.nest.com&scope=openid%20profile%20email%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fnest-account&ss_domain=https%3A%2F%2Fhome.nest.com';
$cookies = '#YOUR_COOKIES_HERE#'; // All on one line; remove any new-line character you might have
$nest = new Nest(NULL, NULL, $issue_token, $cookies);

// Get the device information:
$infos = $nest->getDeviceInfo();
print_r($infos);
    
// Print the current temperature
printf("Current temperature: %.02f degrees %s\n", $infos->current_state->temperature, $infos->scale);

// Cool to 23
$nest->setTargetTemperatureMode(TARGET_TEMP_MODE_COOL, 23.0);
    
// Set Away mode
$nest->setAway(TRUE);

// Turn off Away mode
$nest->setAway(FALSE);

Example output for getDeviceInfo():

{
  "current_state": {
    "mode": "range",
    "temperature": 24.09999,
    "humidity": 42,
    "ac": false,
    "heat": false,
    "fan": true,
    "auto_away": 0,
    "manual_away": false,
    "leaf": false,
    "battery_level": 3.948
  },
  "target": {
    "mode": "range",
    "temperature": [
      23,
      26
    ],
    "time_to_target": 0
  },
  "serial_number": "01AB02BA117210S5",
  "scale": "C",
  "location": "1061f350-a2f1-111e-b9eb-123e8b139117",
  "network": {
    "online": true,
    "last_connection": "2012-09-30 21:26:25",
    "wan_ip": "173.246.19.71",
    "local_ip": "192.168.1.201",
    "mac_address": "18b430046194"
  }
}

Use try...catch to catch exceptions that could occur:

try {
    $nest = new Nest(NULL, NULL, $issue_token, $cookies);
    // Execute all Nest-related code here
} catch (UnexpectedValueException $ex) {
    // Happens when the issue_token or cookie is not working, for whatever reason
    $error_message = $ex->getMessage();
    mail(...);
} catch (RuntimeException $ex) {
    // Probably a temporary server-error
} catch (Exception $ex) {
    // Other errors; should not happen if it worked in the past
}

// Continue your code here, for example to save the result in a database

Using a Google Account

The values of $issue_token, and $cookies are specific to your Google Account. To get them, follow these steps (only needs to be done once, as long as you stay logged into your Google Account).

  • Open a Chrome browser tab in Incognito Mode (or clear your cache).
  • Open Developer Tools (View/Developer/Developer Tools).
  • Click on Network tab. Make sure Preserve Log is checked.
  • In the Filter box, enter issueToken
  • Go to https://home.nest.com, and click Sign in with Google. Log into your account.
  • One network call (beginning with iframerpc) will appear in the Dev Tools window. Click on it.
  • In the Headers tab, under General, copy the entire Request URL (beginning with https://accounts.google.com, ending with nest.com). This is your $issue_token.
  • In the Filter box, enter oauth2/iframe
  • Several network calls will appear in the Dev Tools window. Click on the last iframe call.
  • In the Headers tab, under Request Headers, copy the entire cookie value (include the whole string which is several lines long and has many field/value pairs - do not include the Cookie: prefix). This is your $cookies; make sure all of it is on a single line.

Troubleshooting

If you have any issues, try adding this at the top of your PHP script, to ask PHP to echo all errors and warnings.

error_reporting(E_ALL);

Acknowledgements

Developed mainly using a free open-source license of PHPStorm kindly provided by JetBrains. Thanks guys!

Comments
  • Temperature Sensor

    Temperature Sensor

    Hi, Thank you very much for the php script! It works very well. Would it be possible to add support for the Temperature Sensors? From what I could gather from JS scripts, they are listed under "kryptonite". I was not able to modify the php in order to find them but perhaps someone has an idea? Thank you very much.

    opened by xetra27 22
  • getUserLocations only returning one location

    getUserLocations only returning one location

    I have 3 locations on my account and the that call is only returning one of the locations, i guess a default location of the 3? Is it possible to control devices from the other locations? I am using google login method, the account on web and mobile are able to see all the locations.

    opened by seesoe 21
  • 406 Not Acceptable

    406 Not Acceptable

    I've been using this class for a while to do some automation with my Nest. Sometime within the past day it stopped working. When trying to log in I get:

    PHP Fatal error:  Uncaught RuntimeException: Error: Response from request to https://home.nest.com/user/login is not valid JSON data. Response: <html><head><title>406 Not Acceptable</title></head><body bgcolor="white"><center><h1>406 Not Acceptable</h1></center><hr><center>nginx</center></body></html> in /home/homeassistant/custom/includes/nest.class.php:1276
    Stack trace:
    #0 /home/homeassistant/custom/includes/nest.class.php(1178): Nest->doRequest('POST', 'https://home.ne...', Array, true, Array)
    #1 /home/homeassistant/custom/includes/nest.class.php(1106): Nest->doPOST('https://home.ne...', Array)
    #2 /home/homeassistant/custom/includes/nest.class.php(136): Nest->login()
    #3 /home/homeassistant/custom/scripts/update_nest_target_humidity.php(13): Nest->__construct()
    #4 {main}
      thrown in /home/homeassistant/custom/includes/nest.class.php on line 1276
    

    Anyone else getting this error?

    opened by joe248 21
  • Nest API No Longer Working

    Nest API No Longer Working

    Starting February 25, the Nest API has stopped working for me. I was waiting to see if someone else would raise the same issue, and/or if it would go away, but it’s still happening. Is it still working for anyone else?

    Since I made custom modifications to the PHP class for my personal environment, I downloaded the latest one from GitHub and simply invoked $nest -> getDeviceInfo() (having obtained a Nest object using my login credentials).

    The response:

    Warning: Invalid argument supplied for foreach() in nest.class.php on line 408
    stdClass Object
    (
        [current_state] => stdClass Object
            (
                [mode] => off,
                [temperature] => 0
                [backplate_temperature] => 0
                [humidity] => 
                [ac] => 
                [heat] => 
                [alt_heat] => 
                [fan] => 
                [hot_water] => 
                [auto_away] => 
                [manual_away] => 
                [structure_away] => 
                [leaf] => 
                [battery_level] => 
                [active_stages] => stdClass Object
                    (
                        [heat] => stdClass Object
                            (
                                [stage1] => 
                                [stage2] => 
                                [stage3] => 
                                [alt] => 
                                [alt_stage2] => 
                                [aux] => 
                                [emergency] => 
                            )
    
                        [cool] => stdClass Object
                            (
                                [stage1] => 
                                [stage2] => 
                                [stage3] => 
                            )
    
                    )
    
                [eco_mode] => 
                [eco_temperatures_assist_enabled] => 
                [eco_temperatures] => stdClass Object
                    (
                        [low] => 
                        [high] => 
                    )
    
            )
    
        [target] => stdClass Object
            (
                [mode] => 
                [temperature] => 
                [time_to_target] => 
            )
    
        [sensors] => stdClass Object
            (
                [all] => Array
                    (
                    )
    
                [active] => Array
                    (
                    )
    
                [active_temperatures] => Array
                    (
                    )
    
            )
    
        [serial_number] => 
        [scale] => 
        [location] => 
        [network] => stdClass Object
            (
                [online] => 
                [last_connection] => 1970-01-01 00:00:00
                [last_connection_UTC] => 1970-01-01 00:00:00
                [wan_ip] => 
                [local_ip] => 
                [mac_address] => 
            )
    
        [name] => Not Set
        [auto_cool] => 
        [auto_heat] => 0
        [where] => 
    )
    

    Line 408 is foreach ($this->last_status->rcs_settings->{$serial_number}->associated_rcs_sensors as $sensor_serial) { in function getDeviceInfo().

    I have not migrated my account to Google, and my login token is valid (using the workaround script). However, the URL to the web interface has changed to https://home.nest.com/thermostat/DEVICE_{some_identifier_not_serial_number}.

    opened by zecanard 19
  • Google changed one of my two thermostats. No longer shows up with getDevices

    Google changed one of my two thermostats. No longer shows up with getDevices

    A week ago, one of my two thermostats stopped reporting data. Investigating showed that it seems to be gone when querying with var_dump($nest->getDevices()); Which lists just one. When selecting the thermostats on the Nest website, one is shown as /thermostat/SERIALNUMBER while the other shows as /thermostat/DEVICE_HEXADECIMAL where the Hex number is not that device's serial number. Attempting to replace the serial with the DEVICE_number didn't work.

    opened by Sal-Tepedino 14
  • Installation and usage instructions

    Installation and usage instructions

    Hi, I am wondering how to actually install and use this API. Would I need to run my own web server? Does this run on my computer? I see that you have a lot of instructions but perhaps there could be a paragraph added that explains these initial steps. Please pardon my noob question. Thanks!

    support 
    opened by DroneMang 14
  • Having Issues and I am Baffled

    Having Issues and I am Baffled

    Fatal error: Uncaught exception 'RuntimeException' with message 'Error: HTTP request to https://home.nest.com/user/login returned an error: couldn't connect to host' in /var/homeauto/Classes/nest.class.php:705 Stack trace: #0 /var/homeauto/Classes/nest.class.php(637): Nest->doRequest('POST', 'https://home.ne...', Array) #1 /var/homeauto/Classes/nest.class.php(588): Nest->doPOST('https://home.ne...', Array) #2 /var/homeauto/Classes/nest.class.php(99): Nest->login() #3 /var/homeauto/Module/NEST_PULL.php(55): Nest->__construct('Email@onebx...', 'Password') #4 /var/homeauto/HomeAutoFeed.php(161): NEST_PULL() #5 {main}

    thrown in /var/homeauto/Classes/nest.class.php on line 705

    I have checked curl and it is active

    Not sure what elese to check

    support 
    opened by rossking 12
  • Suggestions

    Suggestions

    This is not an issue, but a suggestion. (if there is an other place to post suggestions, thank you to let me know, I didn't found it, sorry)

    Based on your API, I've create a php to allow my domestic box to control my Nest Learning Thermostat. This was a must have for me => thank you.

    Should it be possible to allow/add the following in your API :

    • set the Eco temperature
    • read & set the anti-frozen (emergency ?) température

    Thank you

    opened by vjooris 11
  • pass variable as parameter

    pass variable as parameter

    Hello, I'm developing a php based on your class. (this class is GREAT) I would like to pass variable $setTmp = 20.5 (this variable contains the target temperature I want to set. if I enter $success = $nest->setTargetTemperature($setTmp);, into my php code, I've a "nice" 500 error. but with $success = $nest->setTargetTemperature(20.5); it works perfectly.

    Is it possible to pass a variable ? Thank you

    opened by vjooris 11
  • Google account now getting an error on line 1309

    Google account now getting an error on line 1309

    My account migrated to google in January, but yesterday, I started getting an error on line 1309:

    PHP Fatal error:  Uncaught RuntimeException: Error: Received empty response from request to **<cut-url>**. in /home/pi/nest-api/nest-api-master/nest.class.php:1309
    Stack trace:
    #0 /home/pi/nest-api/nest-api-master/nest.class.php(1198): Nest->doRequest('GET', 'https://account...', NULL, true, Array)
    #1 /home/pi/nest-api/nest-api-master/nest.class.php(1091): Nest->doGET('https://account...', Array)
    #2 /home/pi/nest-api/nest-api-master/nest.class.php(151): Nest->login()
    #3 /home/pi/nest-api/nest-api-master/nest.php(14): Nest->__construct(NULL, NULL, 'https://account...', 'OCAK=X5g6PTdQWI...')
    #4 {main} in /home/pi/nest-api/nest-api-master/nest.class.php on line 1309
    

    I am using a script to update humidity once per hour and it is nearly spring, so I don't think this will be an urgent issue, but I thought it was worth reporting.

    opened by knappster1 9
  • auto_away

    auto_away

    Hello I come back to you for a problem: Auto away = motion detector status how to enable or disable it SetAutoAwayEnabled = enable / disable eco-temperature when you are away, but how to see the status.

    Thank you

    opened by team18fr 9
  • Response from request to https://home.nest.com/user/login is not valid JSON data

    Response from request to https://home.nest.com/user/login is not valid JSON data

    Anyone getting this error? I am using cookies and issue_token with a google login.

    PHP Fatal error: Uncaught RuntimeException: Error: Response from request to https://home.nest.com/user/login is not valid JSON data. Response: 406 Not Acceptable</ etc...</p> </article> </div> <span class="publish py-3 d-inline-block w-100"> opened by whalen83 <i class="fa fa-commenting" aria-hidden="true"></i> 0 </span> </div> </div> </li> <li> <div class="d-flex"> <div class="left"> <span> <img data-original="https://avatars.githubusercontent.com/u/6298678?v=4" class="lazy profile-pict-img img-fluid" alt="Credentials Error / Blank response"> </span> </div> <div class="right"> <h4> <a href="https://github.com/gboudreau/nest-api/issues/142" rel="nofollow"> Credentials Error / Blank response </a> </h4> <div class="review-description"> <article class="markdown-body text-wrap"> <p>Hello,</p> <p>I've read a few of the raised issues but can't work through the problem I am having. I've followed the instructions on getting my access token & cookie numerous times and keep hitting the same issue:</p> <pre><code>[16:17 19] james@oracle:nest-api (master *%=)$ php FHR-new.php PHP Notice: Undefined offset: 0 in /home/james/git/nest-api/nest.class.php on line 1067 PHP Notice: Undefined property: stdClass::$link in /home/james/git/nest-api/nest.class.php on line 374 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 374 PHP Notice: Trying to get property 'structure' of non-object in /home/james/git/nest-api/nest.class.php on line 374 PHP Notice: Undefined offset: 1 in /home/james/git/nest-api/nest.class.php on line 374 PHP Notice: Undefined property: stdClass::$ in /home/james/git/nest-api/nest.class.php on line 375 PHP Notice: Trying to get property 'away' of non-object in /home/james/git/nest-api/nest.class.php on line 375 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 376 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 376 PHP Notice: Trying to get property 'current_schedule_mode' of non-object in /home/james/git/nest-api/nest.class.php on line 376 PHP Notice: Undefined property: stdClass::$shared in /home/james/git/nest-api/nest.class.php on line 377 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 377 PHP Notice: Trying to get property 'target_temperature_type' of non-object in /home/james/git/nest-api/nest.class.php on line 377 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 378 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 378 PHP Notice: Trying to get property 'eco' of non-object in /home/james/git/nest-api/nest.class.php on line 378 PHP Notice: Trying to get property 'mode' of non-object in /home/james/git/nest-api/nest.class.php on line 378 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 386 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 386 PHP Notice: Trying to get property 'away_temperature_low_enabled' of non-object in /home/james/git/nest-api/nest.class.php on line 386 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 393 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 393 PHP Notice: Trying to get property 'away_temperature_low_enabled' of non-object in /home/james/git/nest-api/nest.class.php on line 393 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 397 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 397 PHP Notice: Trying to get property 'away_temperature_high_enabled' of non-object in /home/james/git/nest-api/nest.class.php on line 397 PHP Notice: Undefined property: stdClass::$rcs_settings in /home/james/git/nest-api/nest.class.php on line 427 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 427 PHP Notice: Trying to get property 'associated_rcs_sensors' of non-object in /home/james/git/nest-api/nest.class.php on line 427 PHP Warning: Invalid argument supplied for foreach() in /home/james/git/nest-api/nest.class.php on line 427 PHP Notice: Undefined property: stdClass::$shared in /home/james/git/nest-api/nest.class.php on line 439 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 439 PHP Notice: Trying to get property 'current_temperature' of non-object in /home/james/git/nest-api/nest.class.php on line 439 PHP Notice: Undefined offset: 0 in /home/james/git/nest-api/nest.class.php on line 1067 PHP Notice: Undefined offset: 0 in /home/james/git/nest-api/nest.class.php on line 1067 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 1022 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 1022 PHP Notice: Trying to get property 'temperature_scale' of non-object in /home/james/git/nest-api/nest.class.php on line 1022 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 440 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 440 PHP Notice: Trying to get property 'backplate_temperature' of non-object in /home/james/git/nest-api/nest.class.php on line 440 PHP Notice: Undefined offset: 0 in /home/james/git/nest-api/nest.class.php on line 1067 PHP Notice: Undefined offset: 0 in /home/james/git/nest-api/nest.class.php on line 1067 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 1022 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 1022 PHP Notice: Trying to get property 'temperature_scale' of non-object in /home/james/git/nest-api/nest.class.php on line 1022 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 441 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 441 PHP Notice: Trying to get property 'current_humidity' of non-object in /home/james/git/nest-api/nest.class.php on line 441 PHP Notice: Undefined property: stdClass::$shared in /home/james/git/nest-api/nest.class.php on line 442 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 442 PHP Notice: Trying to get property 'hvac_ac_state' of non-object in /home/james/git/nest-api/nest.class.php on line 442 PHP Notice: Undefined property: stdClass::$shared in /home/james/git/nest-api/nest.class.php on line 443 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 443 PHP Notice: Trying to get property 'hvac_heater_state' of non-object in /home/james/git/nest-api/nest.class.php on line 443 PHP Notice: Undefined property: stdClass::$shared in /home/james/git/nest-api/nest.class.php on line 444 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 444 PHP Notice: Trying to get property 'hvac_alt_heat_state' of non-object in /home/james/git/nest-api/nest.class.php on line 444 PHP Notice: Undefined property: stdClass::$shared in /home/james/git/nest-api/nest.class.php on line 446 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 446 PHP Notice: Trying to get property 'auto_away' of non-object in /home/james/git/nest-api/nest.class.php on line 446 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 449 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 449 PHP Notice: Trying to get property 'leaf' of non-object in /home/james/git/nest-api/nest.class.php on line 449 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 450 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 450 PHP Notice: Trying to get property 'battery_level' of non-object in /home/james/git/nest-api/nest.class.php on line 450 PHP Notice: Undefined property: stdClass::$shared in /home/james/git/nest-api/nest.class.php on line 453 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 453 PHP Notice: Trying to get property 'hvac_heater_state' of non-object in /home/james/git/nest-api/nest.class.php on line 453 PHP Notice: Undefined property: stdClass::$shared in /home/james/git/nest-api/nest.class.php on line 454 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 454 PHP Notice: Trying to get property 'hvac_heat_x2_state' of non-object in /home/james/git/nest-api/nest.class.php on line 454 PHP Notice: Undefined property: stdClass::$shared in /home/james/git/nest-api/nest.class.php on line 455 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 455 PHP Notice: Trying to get property 'hvac_heat_x3_state' of non-object in /home/james/git/nest-api/nest.class.php on line 455 PHP Notice: Undefined property: stdClass::$shared in /home/james/git/nest-api/nest.class.php on line 456 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 456 PHP Notice: Trying to get property 'hvac_alt_heat_state' of non-object in /home/james/git/nest-api/nest.class.php on line 456 PHP Notice: Undefined property: stdClass::$shared in /home/james/git/nest-api/nest.class.php on line 457 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 457 PHP Notice: Trying to get property 'hvac_alt_heat_x2_state' of non-object in /home/james/git/nest-api/nest.class.php on line 457 PHP Notice: Undefined property: stdClass::$shared in /home/james/git/nest-api/nest.class.php on line 458 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 458 PHP Notice: Trying to get property 'hvac_aux_heater_state' of non-object in /home/james/git/nest-api/nest.class.php on line 458 PHP Notice: Undefined property: stdClass::$shared in /home/james/git/nest-api/nest.class.php on line 459 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 459 PHP Notice: Trying to get property 'hvac_emer_heat_state' of non-object in /home/james/git/nest-api/nest.class.php on line 459 PHP Notice: Undefined property: stdClass::$shared in /home/james/git/nest-api/nest.class.php on line 462 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 462 PHP Notice: Trying to get property 'hvac_ac_state' of non-object in /home/james/git/nest-api/nest.class.php on line 462 PHP Notice: Undefined property: stdClass::$shared in /home/james/git/nest-api/nest.class.php on line 463 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 463 PHP Notice: Trying to get property 'hvac_cool_x2_state' of non-object in /home/james/git/nest-api/nest.class.php on line 463 PHP Notice: Undefined property: stdClass::$shared in /home/james/git/nest-api/nest.class.php on line 464 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 464 PHP Notice: Trying to get property 'hvac_cool_x3_state' of non-object in /home/james/git/nest-api/nest.class.php on line 464 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 468 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 468 PHP Notice: Trying to get property 'auto_away_enable' of non-object in /home/james/git/nest-api/nest.class.php on line 468 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 470 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 470 PHP Notice: Trying to get property 'away_temperature_low_enabled' of non-object in /home/james/git/nest-api/nest.class.php on line 470 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 471 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 471 PHP Notice: Trying to get property 'away_temperature_high_enabled' of non-object in /home/james/git/nest-api/nest.class.php on line 471 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 474 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 474 PHP Notice: Trying to get property 'lower_safety_temp_enabled' of non-object in /home/james/git/nest-api/nest.class.php on line 474 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 475 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 475 PHP Notice: Trying to get property 'upper_safety_temp_enabled' of non-object in /home/james/git/nest-api/nest.class.php on line 475 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 481 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 481 PHP Notice: Trying to get property 'time_to_target' of non-object in /home/james/git/nest-api/nest.class.php on line 481 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 484 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 484 PHP Notice: Trying to get property 'serial_number' of non-object in /home/james/git/nest-api/nest.class.php on line 484 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 485 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 485 PHP Notice: Trying to get property 'temperature_scale' of non-object in /home/james/git/nest-api/nest.class.php on line 485 PHP Notice: Undefined offset: 0 in /home/james/git/nest-api/nest.class.php on line 1067 PHP Notice: Undefined property: stdClass::$track in /home/james/git/nest-api/nest.class.php on line 1092 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 1092 PHP Notice: Trying to get property 'online' of non-object in /home/james/git/nest-api/nest.class.php on line 1094 PHP Notice: Trying to get property 'last_connection' of non-object in /home/james/git/nest-api/nest.class.php on line 1095 PHP Notice: Trying to get property 'last_connection' of non-object in /home/james/git/nest-api/nest.class.php on line 1096 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 1098 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 1098 PHP Notice: Trying to get property 'local_ip' of non-object in /home/james/git/nest-api/nest.class.php on line 1098 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 1099 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 1099 PHP Notice: Trying to get property 'mac_address' of non-object in /home/james/git/nest-api/nest.class.php on line 1099 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 489 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 489 PHP Notice: Trying to get property 'leaf_threshold_cool' of non-object in /home/james/git/nest-api/nest.class.php on line 489 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 490 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 490 PHP Notice: Trying to get property 'leaf_threshold_heat' of non-object in /home/james/git/nest-api/nest.class.php on line 490 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 490 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 490 PHP Notice: Trying to get property 'leaf_threshold_heat' of non-object in /home/james/git/nest-api/nest.class.php on line 490 PHP Notice: Undefined offset: 0 in /home/james/git/nest-api/nest.class.php on line 1067 PHP Notice: Undefined offset: 0 in /home/james/git/nest-api/nest.class.php on line 1067 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 1022 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 1022 PHP Notice: Trying to get property 'temperature_scale' of non-object in /home/james/git/nest-api/nest.class.php on line 1022 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 493 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 493 PHP Notice: Trying to get property 'has_humidifier' of non-object in /home/james/git/nest-api/nest.class.php on line 493 PHP Notice: Undefined property: stdClass::$device in /home/james/git/nest-api/nest.class.php on line 498 PHP Notice: Trying to get property '' of non-object in /home/james/git/nest-api/nest.class.php on line 498 PHP Notice: Trying to get property 'has_fan' of non-object in /home/james/git/nest-api/nest.class.php on line 498 stdClass Object ( [current_state] => stdClass Object ( [mode] => off, [temperature] => 0 [backplate_temperature] => 0 [humidity] => [ac] => [heat] => [alt_heat] => [hot_water] => [auto_away] => [manual_away] => [structure_away] => [leaf] => [battery_level] => [active_stages] => stdClass Object ( [heat] => stdClass Object ( [stage1] => [stage2] => [stage3] => [alt] => [alt_stage2] => [aux] => [emergency] => ) [cool] => stdClass Object ( [stage1] => [stage2] => [stage3] => ) ) [eco_mode] => [eco_temperatures_assist_enabled] => [eco_temperatures] => stdClass Object ( [low] => [high] => ) [safety_temperatures] => stdClass Object ( [low] => [high] => ) ) [target] => stdClass Object ( [mode] => [temperature] => [time_to_target] => ) [sensors] => stdClass Object ( [all] => Array ( ) [active] => Array ( ) [active_temperatures] => Array ( ) ) [serial_number] => [scale] => [location] => [network] => stdClass Object ( [online] => [last_connection] => 1970-01-01 01:00:00 [last_connection_UTC] => 1970-01-01 00:00:00 [wan_ip] => [local_ip] => [mac_address] => ) [name] => Not Set [auto_cool] => [auto_heat] => 0 [where] => ) </code></pre> <p>Obviously altered my details here slightly:</p> <pre><code><?php require_once('nest.class.php'); // Or use a Google account (see instructions below on how to find those values): $issue_token = 'https://accounts.google.com/o/oauth2/iframerpc?action=issueToken&response_type=token%20id_token&login_hint=AJDLj6LQu-SMCQLMJfOUep6S7tCeUMzH6FwNmk0LkF6QnBgRUrJ2NKhKtpNj0NxDU72s3nkhdAZ2HELLOwhhYI1fIr67KlpOw&client_id=133749279899-44tchle2kaa9afr5v9ov7jbuojfr9lrq.apps.googleusercontent.com&origin=https%3A%2F%2Fhome.nest.com&scope=openid%20profile%20email%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fnest-account&ss_domain=https%3A%2F%2Fhome.nest.com&include_granted_scopes=true'; $cookies = '__Secure-3PSID=HELLO_mO83JLCJzJhbVm9yJHgj5rkkHR4cbS5TutoSuAUOUHutZE6RXu6VTaWIpo6V5g.; __Secure-3PAPISID=HELLOIeftJcEpnWBU/A3sQUQLhPI_-jost0; NID=511=HELLOVW8AoiFijbHc9QPY9lMEsRLLIUdFmJSZdj1u3fTB8G1EhLcZuLFS8m24Gkoe_1Z110tWKJu43OQ988KeTo0qrhmCvwvL2YUuqbh3M1y0CblXnDgG4NC6iUBXhBTgD69H5BcM_k0pHROF7WTomCD5ZTmX-lrrvddk4SLX4r4pYi8mZ5MpfcWc-XhbLKIx7G6cg45z1AyP3yJBA; __Host-HELLO=s.GB|s.youtube:Ogj5q88UjjREo1g55RIY67WaPt9gLKZBq6KiiTYK4zh9iyM3746DZh8LE22vQenHELLO.; __Secure-HELLO=AEf-XMSCJAsfrXnpS4tUOGuDyQ1j0ThE928lVNFfRUVpeEyNqosI2EgwLE5WX4HELLO_'; $nest = new Nest(NULL, NULL, $issue_token, $cookies); // Get the device information: $infos = $nest->getDeviceInfo(); print_r($infos); </code></pre> <p>Does anything look wrong with the above? I used to have this script working a couple of years ago but can't get it working now to save my life! Hoping someone here can point me in the right direction.</p> <p>Thank you</p> </article> </div> <span class="publish py-3 d-inline-block w-100"> opened by jamespoore <i class="fa fa-commenting" aria-hidden="true"></i> 5 </span> </div> </div> </li> <li> <div class="d-flex"> <div class="left"> <span> <img data-original="https://avatars.githubusercontent.com/u/16098924?v=4" class="lazy profile-pict-img img-fluid" alt="$issue_token, and $cookies seemed not working anymore"> </span> </div> <div class="right"> <h4> <a href="https://github.com/gboudreau/nest-api/issues/141" rel="nofollow"> $issue_token, and $cookies seemed not working anymore </a> </h4> <div class="review-description"> <article class="markdown-body text-wrap"> <p>Working for a long time with this, sometimes had to recreate the $issue_token, and $cookies, without problems but since a couple of week, it's not accepting the new values anymore:</p> <p>PHP Notice: Undefined variable: result in /home/pi/nest-api/nest.class.php on line 1295 PHP Fatal error: Uncaught UnexpectedValueException: Response to login request doesn't contain required access token. Response: null in /home/pi/nest-api/nest.class.php:1295 Stack trace: #0 /home/pi/nest-api/nest.class.php(1290): Nest->login(false) #1 /home/pi/nest-api/nest.class.php(124): Nest->login() #2 /home/pi/nest-api/get_nest.php(20): Nest->__construct(NULL, NULL, 'https://account...', '__Secure-3PSID=...') #3 {main} thrown in /home/pi/nest-api/nest.class.php on line 1295</p> <p>hope someone solved this, regards, Roland</p> </article> </div> <span class="publish py-3 d-inline-block w-100"> opened by rolandbreedveld <i class="fa fa-commenting" aria-hidden="true"></i> 3 </span> </div> </div> </li> <li> <div class="d-flex"> <div class="left"> <span> <img data-original="https://avatars.githubusercontent.com/u/13966158?v=4" class="lazy profile-pict-img img-fluid" alt="Only one thermostat shows?"> </span> </div> <div class="right"> <h4> <a href="https://github.com/gboudreau/nest-api/issues/140" rel="nofollow"> Only one thermostat shows? </a> </h4> <div class="review-description"> <article class="markdown-body text-wrap"> <p>I've been using the php class for setting humidity, and can't move away from it because they never added setting humidity to the official API. It's been working fine up until now, now suddenly instead of my Living Room thermostat, it's defaulting to my Garage thermostat, and calling $nest->getDevices() only shows a single device, my garage thermostat; while in the browser I can clearly see both.</p> <p>If I try to use $nest->getDeviceInfo('serialoflivingroomthermostat'), I get a lot of undefined property and undefined offset errors, and no actual information from the thermostat.</p> <p>I'm kind of at a loss.</p> </article> </div> <span class="publish py-3 d-inline-block w-100"> opened by marcmicalizzi <i class="fa fa-commenting" aria-hidden="true"></i> 3 </span> </div> </div> </li> <li> <div class="d-flex"> <div class="left"> <span> <img data-original="https://avatars.githubusercontent.com/u/10338175?v=4" class="lazy profile-pict-img img-fluid" alt="Is it possible to recieve notification about target temp changes?"> </span> </div> <div class="right"> <h4> <a href="https://github.com/gboudreau/nest-api/issues/128" rel="nofollow"> Is it possible to recieve notification about target temp changes? </a> </h4> <div class="review-description"> <article class="markdown-body text-wrap"> <p>Hi, I want to start some scene in smart home when user changes target temp. Could you help, does your library allow to detect this moment. Probably some pooling functionality.</p> <p>As I can see on official web interfate target temperature immediately changes when I spit nest ring.</p> <span style='padding: .2em .6em .3em;color:#fff;background-color:#cc317c'>question</span>  </article> </div> <span class="publish py-3 d-inline-block w-100"> opened by romanstyler <i class="fa fa-commenting" aria-hidden="true"></i> 7 </span> </div> </div> </li> </ul> </div> </div> </div> </div> <div class="col-lg-4 right"> <div id="basic" class="tab-pane fade show active"> <div class="box shadow-sm rounded bg-white mb-3"> <div class="box-title border-bottom p-3"> <h6 class="m-0">Owner </h6> </div> <div class="d-flex align-items-center p-3 job-item-header"> <div class="overflow-hidden mr-2"> <h6 class="font-weight-bold -dark mb-0 text-truncate"> Guillaume Boudreau </h6> <div class="small text-gray-500"> </div> </div> <img class="img-fluid ml-auto" style="border-radius: 50%;" src="https://avatars.githubusercontent.com/u/370329?v=4&s=60" alt="Guillaume Boudreau"> </div> <div class="box-body p-3"> <a href="https://github.com/gboudreau/nest-api" rel="nofollow" target="_blank" class="btn btn-lg btn-block btn-info mb-3"><i class="fa fa-github" aria-hidden="true"></i> GitHub </a> </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/PixelDog-PHP-Machine-Learning-Rain-Forecaster"><h6 class="font-weight-bold ">PHP Machine Learning Rain Forecaster is a simple machine learning experiment in predicting rain based on a few forecast indicators.</h6></a> <p class="mb-0 text-muted">PHP Machine Learning Rain Forecaster is a simple machine learning experiment in predicting rain based on a few forecast indicators.: forecasted "HighT</p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/2789611?v=4&s=40" alt="null" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 4 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Nov 3, 2021 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/RubixML-ML-php-miscellaneous"><h6 class="font-weight-bold ">Rubix ML - A high-level machine learning and deep learning library for the PHP language.</h6></a> <p class="mb-0 text-muted">A high-level machine learning and deep learning library for the PHP language. Developer-friendly API is delightful to use 40+ supervised and </p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/43308973?v=4&s=40" alt="Rubix" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 1.7k <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Jan 6, 2023 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/basicmi-AI-Chip"><h6 class="font-weight-bold ">A list of ICs and IPs for AI, Machine Learning and Deep Learning.</h6></a> <p class="mb-0 text-muted">AI Chip (ICs and IPs) Editor S.T.(Linkedin) Welcome to My Wechat Blog StarryHeavensAbove for more AI chip related articles Latest updates Add news of </p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/16098154?v=4&s=40" alt="Shan Tang" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 1.4k <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Jan 3, 2023 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/an-unofficial-php-sdk-for-deepgrams-api"><h6 class="font-weight-bold ">An unofficial PHP SDK for Deepgram's API.</h6></a> <p class="mb-0 text-muted">An unofficial PHP SDK for Deepgram's audio transcription API. Getting Started Grab src/deepgram.php and include it in your project. Then: $deepgram = </p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/435369?v=4&s=40" alt="Christopher Finke" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 1 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> May 3, 2022 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/pcfreak30-skynet-php"><h6 class="font-weight-bold ">Community-created, unofficial PHP SDK for the Skynet Decentralized Internet Network. siasky.net</h6></a> <p class="mb-0 text-muted">Skynet PHP SDK This SDK is a community-created, unofficial SDK in PHP for the Skynet Decentralized Internet Network. It is taken as primarily a port f</p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/10647?v=4&s=40" alt="Derrick Hammer" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 4 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Dec 26, 2022 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/TeddyBear06-edgedb-php"><h6 class="font-weight-bold ">An unofficial EdgeDB PHP client.</h6></a> <p class="mb-0 text-muted">Unofficial EdgeDB HTTP PHP client Requirements PHP >= 8.0 (with fileinfo and mbstring) An EdgeDB server instance (tested with 1.0+9ecadfc) Quickstart </p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/1452474?v=4&s=40" alt="T3d" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 7 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Aug 18, 2022 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/jorgecasas-php-ml-php-miscellaneous"><h6 class="font-weight-bold ">PHP Machine Learning library</h6></a> <p class="mb-0 text-muted">PHP-ML - Machine Learning library for PHP Fresh approach to Machine Learning in PHP. Algorithms, Cross Validation, Neural Network, Preprocessing, Feat</p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/968843?v=4&s=40" alt="Jorge Casas" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 204 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Dec 27, 2022 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/docker-labs-php-miscellaneous"><h6 class="font-weight-bold ">This is a collection of tutorials for learning how to use Docker with various tools. Contributions welcome.</h6></a> <p class="mb-0 text-muted">Docker Tutorials and Labs At this time we are not actively adding labs to this repository. Our focus is on training.play-with-docker.com where new lab</p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/5429470?v=4&s=40" alt="Docker" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 11.1k <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Jan 2, 2023 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/fikri221-php-ml-bayes"><h6 class="font-weight-bold ">PHP Machine Learning with Naive Bayes to classify the right contraceptive based on your medical history</h6></a> <p class="mb-0 text-muted">What is php-ml-bayes PHP-ML Bayes is a Machine Learning with Naive Bayes Algorithm to classify the right contraceptive based on your medical history. </p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/56496088?v=4&s=40" alt="Fikri Lazuardi" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 2 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Jan 21, 2022 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/Tryfciu-design-patterns-php-miscellaneous"><h6 class="font-weight-bold ">Learning design patterns by implementing them in various programming languages.</h6></a> <p class="mb-0 text-muted">design-patterns Learning design patterns by implementing them in various programming languages. Creational design patterns Creational design patterns </p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/28263270?v=4&s=40" alt="Paweł Tryfon" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 1 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Dec 13, 2021 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/livealvi-Car-Rental-Service-php-miscellaneous"><h6 class="font-weight-bold "> Learning about - Basic HTML & CSS, JSON, XML, Session & Cookies, CRUD Operations in Php using MySQL and Create MVC from scratch</h6></a> <p class="mb-0 text-muted">This Project is based on course CSC 3215. Learning about - Basic HTML & CSS, JSON, XML, Session & Cookies, CRUD Operations in Php using MySQL and Create MVC (Model–View–Controller) from scratch. Just learning about web technologies, Not focusing on UI (Bootstrap or other 3rd-Party UI libraries or frameworks).</p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/38840655?v=4&s=40" alt="Alvi Hasan" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 5 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Sep 21, 2022 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/globocom-secDevLabs"><h6 class="font-weight-bold ">A laboratory for learning secure web and mobile development in a practical manner.</h6></a> <p class="mb-0 text-muted">A laboratory for learning secure web and mobile development in a practical manner. Build your lab By provisioning local environments via docker-compos</p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/83798?v=4&s=40" alt="Globo.com" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 741 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Dec 31, 2022 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/booksbyus-zguide"><h6 class="font-weight-bold ">Learning and Using ØMQ</h6></a> <p class="mb-0 text-muted">ØMQ - The Guide =============== Written by Pieter Hintjens ph@imatix.com, CEO iMatix Corporation. A ØMQ socket is what you get when you take a normal </p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/20967456?v=4&s=40" alt="null" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 3.3k <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Jan 2, 2023 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/moodle-moodle"><h6 class="font-weight-bold ">Moodle - the world's open source learning platform</h6></a> <p class="mb-0 text-muted">.-..-. _____ | || | /____/-.---_ .---. .---. .-.| || | .---. | | _ _ |/ _ \/ _ \/ _ || |/ __ \ * | | | </p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/168672?v=4&s=40" alt="Moodle Development" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 4.5k <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Jan 1, 2023 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/paragonie-awesome-appsec"><h6 class="font-weight-bold ">A curated list of resources for learning about application security</h6></a> <p class="mb-0 text-muted">Awesome AppSec A curated list of resources for learning about application security. Contains books, websites, blog posts, and self-assessment quizzes.</p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/11591525?v=4&s=40" alt="Paragon Initiative Enterprises" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 5.4k <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Jan 7, 2023 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/sodiumchlorideteam-sodiumchloride"><h6 class="font-weight-bold ">Explore , Experiment with data science and machine learning.</h6></a> <p class="mb-0 text-muted">sodiumchloride Project name : sodium chloride objective : Explore,Experiment your data with datascience and machine learning version : beta 0.1.2 rele</p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/95431325?v=4&s=40" alt="sodium chloride" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 2 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Jan 9, 2022 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/globocom-secdevlabs"><h6 class="font-weight-bold ">A laboratory for learning secure web and mobile development in a practical manner</h6></a> <p class="mb-0 text-muted">A laboratory for learning secure web and mobile development in a practical manner. Build your lab By provisioning local environments via docker-compos</p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/83798?v=4&s=40" alt="Globo.com" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 656 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Feb 25, 2022 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/xapi-integration-with-saudi-nelc-national-center-for-elearning"><h6 class="font-weight-bold ">xAPI Integration with Saudi NELC (National Center for e-Learning)</h6></a> <p class="mb-0 text-muted">xAPI Integration with Saudi NELC (National Center for e-Learning) The base concept of this package is to provide a simple way to send xAPI statements </p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/67683357?v=4&s=40" alt="MSAAQ, LLC" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 3 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Oct 6, 2022 </div> </div> <div class="box shadow-sm mb-3 rounded bg-white ads-box"> <div class="p-3 border-bottom"> <a href="/repo/TechTailor-Laravel-Binance-Api"><h6 class="font-weight-bold ">A Laravel Wrapper for the Binance API. Now easily connect and consume the Binance Public & Private API in your Laravel apps without any hassle.</h6></a> <p class="mb-0 text-muted">This package provides a Laravel Wrapper for the Binance API and allows you to easily communicate with it. Important Note This package is in early deve</p> </div> <div class="p-2"> <img class="lazy img-fluid mr-3" style="border-radius: 50%;max-width: 15%" data-original="https://avatars.githubusercontent.com/u/14147474?v=4&s=40" alt="Moinuddin S. Khaja" > <i class="fa fa-star ml-3" aria-hidden="true"></i> 7 <i class="fa fa-clock-o ml-3" aria-hidden="true"></i> Dec 7, 2022 </div> </div> </div> </div> </div> </div> <!-- footer --> <footer class="bg-white"> <div class="container"> <div class="copyright"> <div class="logo"> <a href="/"> <img src="/assets/images/logo_bestofphp.png"> </a> </div> <p>2022.bestofphp </p> </div> </div> </footer> <!-- footer--> <!-- Bootstrap core JavaScript --> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha512-bnIvzh6FU75ZKxp0GXLH9bewza/OIw6dLVh9ICg0gogclmYGguQJWl8U30WpbsGTqbIiAwxTsbe76DErLq5EDQ==" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/js/bootstrap.bundle.min.js" integrity="sha512-Oy5BruJdE3gP9+LMJ11kC5nErkh3p4Y0GawT1Jrcez4RTDxODf3M/KP3pEsgeOYxWejqy2SPnj+QMpgtvhDciQ==" crossorigin="anonymous"></script> <!-- select2 Js --> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js" integrity="sha512-2ImtlRlf2VVmiGZsjm9bEyhjGW4dU7B6TNwh/hx/iSByxNENtj3WVE6o/9Lj4TJeVXPi4bnOIMXFIJJAeufa0A==" crossorigin="anonymous"></script> <!-- Custom --> <script src="/assets/js/custom.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.lazyload/1.9.1/jquery.lazyload.min.js"></script> <script> $(function() { $("img.lazy").lazyload({ threshold :180, failurelimit :20, effect : "fadeIn" }); }); </script> <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/highlight.min.js"></script> <script> hljs.initHighlightingOnLoad(); </script> </body> </html>