ESP8266 OTA troubleshooting help needed

I'm having difficulty getting the BasicOTA example sketch to work on a NodeMCU v1.0. I've been reading several blogs, guides and forum posts trying to find a fix.

Windows 7 64bit
Firewall disabled
A/V disabled
Bonjour v2.0.2 is installed
Python 2.7x is installed ("Add python.exe to Path" option selected)
Added extra python paths as per advice on one guide
Arduino IDE 1.8.5
esp8266 2.4.0 boards installed via boards manager
Rebooted computer
The WebUpdater example sketch works
I get ping replies from the ESP8266
Tried the updated(?) boards.txt mentioned on one of the guides boards.txt
Played around with using the Generic 8266 option with different Flash Size settings
Service Browser app on Android doesn't show anything interesting

What else can I try?

What else can I try?

Linux

what prints the example to Serial Monitor? did you power cycle the esp after uploading the example?

Juraj:
what prints the example to Serial Monitor? did you power cycle the esp after uploading the example?

Power cycling doesn't seem to make a difference.

Here's my sketch

#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>
#include <Streaming.h>

const char* ssid = "bins";
const char* password = "********";

void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.print("\r\nBooting");
  Serial.printf("\r\nSketch size: %u", ESP.getSketchSize());
  Serial.printf("\r\nFree size: %u", ESP.getFreeSketchSpace());
  
  Serial.print("\r\n\nConnecting to SSID: ");
  Serial.print(ssid);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.print("\r\nWiFi connected");
  Serial.print("\r\n  RSSI: ");
  Serial.print(WiFi.RSSI());
  Serial.print("\r\n  IP address: ");
  Serial.print(WiFi.localIP());
  Serial.print("\r\n  MAC: ");
  Serial.print(WiFi.macAddress());

  // Port defaults to 8266
  ArduinoOTA.setPort(8266);

  // Hostname defaults to esp8266-[ChipID]
  ArduinoOTA.setHostname("myesp8266");

  // No authentication by default
  // ArduinoOTA.setPassword((const char *)"123");

  ArduinoOTA.onStart([]() {
    Serial.print("\r\nStart");
  });
  ArduinoOTA.onEnd([]() {
    Serial.print("\r\nEnd");
  });
  ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
    Serial.printf("\r\nProgress: %u%%\r", (progress / (total / 100)));
  });
  ArduinoOTA.onError([](ota_error_t error) {
    Serial.printf("\r\n**Error[%u]: ", error);
    if (error == OTA_AUTH_ERROR) Serial.print("\r\n  Auth Failed");
    else if (error == OTA_BEGIN_ERROR) Serial.print("\r\n  Begin Failed");
    else if (error == OTA_CONNECT_ERROR) Serial.print("\r\n  Connect Failed");
    else if (error == OTA_RECEIVE_ERROR) Serial.print("\r\n  Receive Failed");
    else if (error == OTA_END_ERROR) Serial.print("\r\n  End Failed");
  });
  ArduinoOTA.begin();
  Serial.print("\r\n\nReady");
}

void loop() {
  ArduinoOTA.handle();
  yield();
  
}

Here's the serial output

Booting
Sketch size: 280272
Free size: 2863104

Connecting to SSID: bins.
WiFi connected
  RSSI: -65
  IP address: 192.168.12.240
  MAC: 60:01:94:0A:FD:83

Ready

Well, I don't have the Streaming library so I commented that out, put in my network credentials, but it works fine for me.
(generic ESP8266, Netgear access point/router, Ubuntu 12.04)
Does your network have wireless isolation?

No client isolation on my wireless AP.

did you try wait longer for network port in IDE or restart IDE and wait a litle? it takes some time for mdns to propagate the information

Juraj:
did you try wait longer for network port in IDE or restart IDE and wait a litle? it takes some time for mdns to propagate the information

I have checked the IDE several times a day, sometimes restarting it, sometimes leaving it running.

Is there a manual way to do the OTA update via command line? Or somehow to check for open port? My port scanner doesn't think port 8266 is open, only pings respond.

you could turn on ArduinoOTA debug prints

CtrlAltElite:
Linux

+1