ESP8266 PIR interaction

I’m using this setup here

The diode is a 1N4003 diode. This setup works fine with a button. My code is below:

#include <Firebase.h>
#include <FirebaseArduino.h>
#include <FirebaseCloudMessaging.h>
#include <FirebaseError.h>
#include <FirebaseHttpClient.h>
#include <FirebaseObject.h>

/*
  Created by Igor Jarc
 See http://iot-playground.com for details
 Please use community forum on website do not contact author directly
 
 External libraries:
 - https://github.com/adamvr/arduino-base64
 
 This program is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License
 version 2 as published by the Free Software Foundation.
 */
#include <ESP8266WiFi.h>


#define FIREBASE_HOST "xxx"
#define FIREBASE_AUTH "xxx"

//AP definitions
#define WIFI_SSID "xxx"
#define WIFI_PASSWORD "xxx"

String currentTime = "";

const int holdPin = 0;

void setup() {
  pinMode(holdPin, OUTPUT);
  digitalWrite(holdPin, HIGH);
  Serial.begin(115200);

  // connect to wifi.
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Serial.print("connecting");
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println();
  Serial.print("connected: ");
  Serial.println(WiFi.localIP());

  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
  delay(1000);

  getTime();
  Firebase.pushString("Computer Desk", currentTime);
  digitalWrite(holdPin, LOW);
}

void loop() {
  
}

void getTime() {
  WiFiClient client;
  if (!client.connect("google.com", 80)) {
    Serial.println("connection failed...");
    return;
  }

  client.print("HEAD / HTTP/1.1\r\n\r\n");

  while (!client.available()) {
    yield();
  }

  while (client.available()) {
    if (client.read() == '\n') {
      if (client.read() == 'D') {
        if (client.read() == 'a') {
          if (client.read() == 't') {
            if (client.read() == 'e') {
              if (client.read() == ':') {
                client.read();
                currentTime = client.readStringUntil('\r');
                client.stop();
                return;
              }
            }
          }
        }
      }
    }
  }
}

The code works fine replacing the diode with a push button that pulls to 3.3v. Anyone know why this isn’t working, or what alternate approach I should take?