Updating an Old Music & Sound Intercom System with Skybell HD (Part 2 of 2) (or How to Have Skybell Ring a Virtual Doorbell Using Skybell Sniffer)

Introduction

In the first part of this two part post, I described how I used an old Music & Sound intercom system to power a Skybell HD without having to install a special adapter or a new transformer. This second part will describe how to have the Skybell ring a “virtual doorbell” by causing the Skybell button push to play a doorbell sound over speakers. This is an alternative to hard wiring the Skybell to an analog or electronic doorbell as intended by Skybell or using a service like IFTTT which results in a rather long delay between button push and response.

As background, when the button is pressed on the Skybell or when motion is detected, Skybell sends a message over Wifi through your router to the Skybell computers outside of your home network. While the messages can’t be read as they are encrypted, routers that allow ssh logins can run a tcpdump command to monitor network traffic and detect the button press. Once the button press is detected, a script can be triggered to play a sound file or perform any other action. This method results in a much quicker response time than monitoring Skybell’s cloud servers or using IFTTT.

Pre-Requisites

You will need the following to setup a virtual doorbell with Skybell:

  • A linux server running on your home network ( I use a Raspberry Pi)
  • A router which permits ssh logins (I have a router running dd-wrt firmware which permits ssh)

Installation

  1. Install Skybell Sniffer

  2. Install the Simple Skybell Sniffer following these instructions. This is a slight modification I made to a portion of a Skybell plugin to Homebridge which was developed by Thoukydides. My modification doesn’t require Homebridge and simply is intended to run as a service on a linux systemd based server (e.g., debian stretch). The Skybell Sniffer is a systemd service which runs a tcpdump on your router through an ssh command. The service monitors the tcpdump output and then runs the command you specify when it detects a message indicating that the Skybell button has been pressed. Since the message is detected before it leaves your network, the response time is much quicker (1 to 2 seconds) then having to rely on IFTTT or having to monitor Skybell’s cloud service.

    Once Skybell Sniffer is setup and running, we need to set up the action part of the process. The simplest action would be to play an MP3 file of a doorbell ringing and play that over a speaker connected to your Raspberry Pi through the 3.5 mm jack or through blue tooth. However, I have a number of Google Assistant minis and a few Chromecast audio devices throughout my house and I wanted to cast the doorbell sound over those devices. After some research I discovered harperreed’s Google Home Notifier Webservice. This service allows one to cast an mp3 file on any Google Assistant or Chromecast Audio device on your network. It also allows you to have Google Asssistant say any text you want, e.g., “You have a visitor at the door”, however I have found this service to be unreliable at times so I haven’t included it in this write-up but it is explained in the Google Home Notifier readme.

     

  3. Install Google Home Notifier

  4. [NOTE/UPDATE: I no longer use the Google Home Notifier as it was unreliable. I now use skybell-sniff to run a script that publishes an mqtt topic to Home Assistant. See this revised github post (geekvisit/simple-skybell sniffer) here as well as further instructions in this skybell-actions.sh file on github – this method is much recommended over the below which seems to break every few days. I’m leaving the below only for those who want to try an alternative method or don’t want to install Home Assistant. ]

    I downloaded Google Home Notifier Webservice, renamed “main.py” to “gnotify.py”, edited gnotify.py to specify the name of the Google Assistant device I wanted the doorbell to play on (e.g., “Living Room Mini”), downloaded a doorbell.mp3 sound file that I found on the web and placed it in the “static” subfolder, and then followed the “getting started” instructions to install:

    To have the Google Notifier start up each time the Raspberry Pi boots, I added the following to my crontab:

     

  5. Specify Doorbell Action

  6. I then edited the Skybell Sniffer “skybell-actions.sh” script (path is contained in the last line of /etc/default/skybell-sniff) to add the action I wanted to perform on the press of the door bell – playing the doorbell mp3 file I downloaded:

That was it. The system works fairly well and I have been using it for several months.

There are several advantages and disadvantages to this setup over a hard wired connection to a real doorbell as set forth in the Skybell documentation:

Advantages:

  • No separate analog or electronic doorbell required
  • Infinite actions, sounds, and notifications be triggered

Disadvantages:

  • Requires a full time Raspberry Pi to be running ( I don’t find this to be a problem as the pi is low in electricity usage and I already use one for HomeAssistant, I do recommend the Raspberry Pi 3 on up as the prior versions are less stable. I have found the 3 to be rock solid.)
  •  

  • Relatively complicated – several things can go wrong – wifi could fail, the Pi could fail, the PI could be unplugged, the software programs could stop, someone could turn off or down the speaker and/or Google Assistant/Chromecast Audio device

Despite the disadvantages, I have found this system to work relatively well over the course of several months. The biggest issue has been some instability in the google notifier but I believe I have ironed those out in the scripts. If the doorbell does appear to fail,then simply restart your google notifier by executing the following commands:

TIP: Configure your router so that the Google Home or Chromecast Device you are casting to is assigned a static IP based on the mac address shown in the Google Home app. This will solve an issue where the device may intermittently go offline.

Updating an Old Music & Sound Intercom System with Skybell HD (Part 1 of 2)

?

Skybell is a video doorbell similar to Ring. These devices are intended to be hooked up to existing doorbell systems. Most traditional wired doorbells have a transformer that drops the high voltage/high amp of household current to lower voltage and amps compatible with your doorbell chime whether analog or electronic. The two wires coming out near the exterior doorbell button lead to the transformer – so for the Skybell you normally need only to detach the wires from your doorbell button and attach them to the Skybell. That way when you push the Skybell button it not only sends an alert to your smart phone but also rings your normal doorbell.
 
 

The Problem – Skybell is Not Compatible with Intercom Systems

 
 
 
Unfortunately our house was equipped with an old 1980’s style Music & Sound intercom system. I had previously equipped the system with a Google ChromeCast audio so I can wirelesssly cast audio from my smartphone to all the rooms in the house using the M&S speaker system. I removed the radio/intercom unit from the wall, tucked the Chromecast to the side of the internal unit, and cabled the wired out the back behind the sheetrock to the outlet below. The 3.5m audio connector plugged into the internal RCA “aux” plug. I also attached a Google Home Mini on the wall above it and a tablet nearby (see my previous post).
 

 
The M&S Intercom has wires leading from the central intercom unit to speakers in each individual room of the house. In addition, wires from the doorbell button run from the front door through the attic, across the house, and down into the wall, coming into the unit and attaching to the chime. See orange and red wires below:

One would think that one could attach the doorside ends of the orange and red wires (now connected to the doorbell button) to the Skybell. But that doesn’t work, as first they won’t power the Skybell, and second, the Skybell button won’t trigger the chime. Watch this video for an explanation as to why intercom type doorbell buttons do not work with Ring or Skybell (I would suggest that you may want to just read the comments and save some time). Skybell does sell a chime adapter but it doesn’t work for Nucom or Music & Sound type intercoms. In fact Skybell has an explicit statement on its site that the Skybell is not compatible with intercom systems.

DANGER: THIS POST IS FOR EXPLANATORY PURPOSES ONLY TO ILLUSTRATE ONE WAY A SKYBELL WAS INSTALLED. DO NOT ATTEMPT THIS WITHOUT CHECKING WITH A QUALIFIED ELECTRICIAN AND CHECKING WITH LOCAL BUILDING CODE. WIRES AND TRANSFORMER MUST BE OF SUFFICIENT CAPACITY; WRONGLY SIZED, CONFIGURED, OR WIRED SYSTEMS COULD CAUSE FIRE OR EXPLOSION. EACH INTERCOM SYSTEM AND TRANSFORMER IS DIFFERENT AND MOST LIKELY WILL BE DIFFERENT THEN MINE. IT IS VERY POSSIBLE YOUR TRANSFORMER MAY DESTROY YOUR SKYBELL!! ALWAYS TURN POWER OFF FROM THE SWITCHBOX BEFORE WORKING ON ANY POWERED SYSTEMS!ANY ATTEMPT TO FOLLOW THIS POST IS DONE AT YOUR OWN RISK.

 
 

Removing the Intercom from The Wall

 
 
After a lot of thought, I decided to do some exploring. I turned the power off, and removed the intercom unit from the wall.  The unit was fitted into a green metal cabinet fixed to the wall. In the right rear corner of the cabinet there was a corner that was encased with a small solid metal removable box to which an electrical plug was attached.

 

 

 


 
 

The Transformer

 
 
I removed the plug, removed the screws holding the sides of the transformer box in place, and revealed the transformer.

The transformer was stamped secondary power “20V 24VA”. This meant that it was 20 Volts AC (or 20VAC) with 24 Volt Amps. To get amps you divide 24VA/20VAC and get 1.2 amps. I’m not an electrician but this fit the power requirements of the Skybell which required 10-36 VAC (my transformer was 24VA so was within range) and 10VA – so max amp requirement was 10VA/10VAC or 1 AMP.

How to hook to the transformer across the house from the door ? I could have installed new wiring. But the wires connected to the chimes were of sufficient guage, and there would be no need for the old doorbell button or chimes any longer.
 
 

Rewiring the Doorbell Wires

With ALL POWER OFF, I unhooked the ends of the orange and yellow wires from the doorbell chimes, pulled the red wires out of the transformer plug (the end on the radio side of the transformer box), connected the one red from the transformer to the yellow wire, and the second red from the transformer to the orange wire, and inserted each wire set back into the plug holes that the red wires came from. Now we had sufficient power connected to the front door.

I then went outside, pulled the old outside intercom/door bell mechanism out of the wall, cut the orange and yellow wires off the doorbell button, and connected them to the Skybell. I did this only after verifying with a multimeter that the voltage and amps were correct.

 

The skybell works like a charm.

 

 

 

 
However there remains a problem – the inside door chimes no longer work, the Skybell is only being powered. While it can send notifications to our smartphones, it is not able to trigger the chimes. In Part 2, I explain the software side of getting a doorbell to ring inside the house to my Google Home Minis and Chromecast Audio receivers using a Raspberry Pi, Google Notifier  and Skybell Sniffer.

Continued in Part 2 ...

No Notifications on Android ? Try Changing Your Phone’s Wifi DNS

Android Notification Photo by Jamie Street on UnsplashAndroid Notification Photo by Jamie Street on Unsplash

It seems ever since my Android phone updated to Oreo I have been missing many notifications. I would be on my home network and when I left home, my wifi would switch to data and my phone would start going off with delayed notifications I should have received when I was on my home’s wifi. I finally found what seems to be the fix. After fiddling with the Wifi Settings I discovered that by changing the DNS to Google’s own (8.8.8.8. and 8.8.4.4) the notifications would work on WIFI.

  1. Long Press on your Wifi Wireless SSID Name
  2. A menu should pop up, select “Modify Network”
  3. It will show you several options – SCROLL down on the dialog (mine only appeared to show Password and Proxy Settings, I had to scroll to see the DHCP settings)
  4. Under IP Settings, select the down arrow and change from “DHCP” to “Static”
  5. Change “IP Address” to a free available ip address on your network. If you don’t know what to do here then google it or check your router settings. It will be something like 192.168.0.120. The first 3 groups of numbers should match the ip address of your router, the 4th group is a number that hasn’t been assigned by your router yet to a device on your network.
  6. Change “DNS 1” to 8.8.8.8 and “DNS 2” to 8.8.4.4
  7. Click “Save”. That’s it. You may have to disable and re-enable the wifi on your phone but you should now be getting notifications.
  8. I later found an explanation and guide on Quora that also explains the steps. See this list of steps which has screen shots.

Easy Two Dollar Magnetic Wall Mount for Google Home Mini and/or Tablet

Here’s a stable, cheap magnetic wall mount for a small tablet or a Google Home Mini. The big advantage to a magnetic mount is you can easily detach and reattach without any tools. In addition, for tablets, you can use them vertically or horizontally. The mounts have a surpisingly strong magnetic bond and are incredibly stable – I have been using these for a year with an Amazon Fire HD 7″ tablet and a Home Mini. For the wall plate of the Home Mini I used the bottom cut out from a tin can. For the Tablet I used a 1 gang metal plate bought from Home Depot. The metal plate is more attractive and has a stronger hold than the tin can but either will do these devices.

What you need:

  • Large circular Washer from Home Depot or other hardware supplier (not sure of exact part number but looks something like this, mine is 2″ in diameter and has “ASC” Stamped on it) (about 20 cents)
  • 1 Gang Metal Wall Plate or Bottom of a Tin Can (at most $1.60)
  • Large 1 3/4 inch Magnet (about 80 cents)
  • Sheet Rock Screw and Anchor
  • Super Glue

Installation

  1. Optionally paint the wall plates. Let dry well.
  2.  

  3. Attach the metal plate to the wall using the sheet rock anchors. The tin can just needs one screw, the wall mount has two. For a tablet, make sure you install the plate in such a way as to allow the tablet to be mounted or have enough space to orient it horizontally or vertically, the circulate magnet will let you do either.
     

    Tin Can

    Metal Plate

  4. Place the magnet on the plate (you can try superglueing it but I found that the magnetism holds it just as well and the super glue may come off as you can see happened on the tin can mount above).
  5.  

  6. Superglue the Washer to the back of the device.
  7.  

    Google Home Mini

    Tablet

  8. Done.

 
To keep the wires neat as possible and out of the way, I drilled holes above or below the device to run the cables behind the sheet rock to the wall outlet below. For the wall outlet I installed a USB outlet and a small saw brush plate above it (about $6).

One Line Linux Command to Kill Parent Process and Spawned Children in A Group

Computer Screen Photo by Markus Spiske on UnsplashIn Linux, if you’d like to kill a command and all processes spawned by that command do this (in our example the command “parent” is example.py):

This will kill the “example.py” process and anything that it spawned.

How it works:

To kill all processes of a group the command is

To get the group id you do the ps command using the arguments as shown, grep it for your command, but formatting example.py with quotes and using the bracket for the first letter (this filters out the grep command itself) then filter it through awk to get the second field which is the group id. The tail -1 gets rid of duplicate group ids. Yout put all of that in a variable using the $() syntax and voila – you get the group id. So you substitute that $(mess) for that -groupid in the kill command above

Getting Home Assistant, Mosquitto MQTT, and CloudMQTT To Work Together Using an MQTT Bridge

Photo by Louis Reed on Unsplash

Photo by Louis Reed on Unsplash

I’ve been experimenting with Home Assistant (a home automation server) running the Raspberry Pi and have found the videos from Ben at BRUHautomation to be a big help. One thing I was having trouble with was getting MQTT to control both my sonoff outlets and track my devices. Home Assistant can apparently only use one MQTT Broker at a time. Ben uses Mosquitto when setting up the Sonoff outlets, but CloudMQTT when using Owntracks to track devices.

To get them both working at the same time with Home Assistant you have to join the two using a bridge. This thread helped but the steps I needed weren’t very clearly posted and summarized. Here is what I did that seems to work.

  1. Follow Ben’s video to setup Mosquitto MQTT and CloudMQTT (in that order).
  2. You’ll end up with your configuration.yaml file using CloudMQTT as its broker (we will later change this below).
  3. On the command line on your server, kill mosquitto, and then edit the /etc/mosquitto/mosquitto.conf file so it looks like this:
  4. Here’s a screen shot of CloudMQTT where you get the user and passwords for above:
  5. After editing start mosquitto. Note that I’ve commented out the log as that will force any debugging to output to the screen.
  6. Hopefully you’ll see something like this (rather than errors such as connection refuse, unauthorized, etc:

  7. Now, edit Home Assistant’s configuration.yaml and delete or comment out the the CloudMQTT broker under the mqtt section. Add Mosquitto as the mqtt broker:
  8. Restart Home Assistant:
  9. If you don’t restart, some of your devices may work but not all. Also, if you are still having issues of inconsistent response (e.g., I had one light respond well, but the other one wouldn’t go off), go to the command line make sure you are not running more than one instance of Home Assistant (pps aux | grep hass) – and if you are kill all of them and start only one instance.

  10. That’s it. Navigate to your Home Assistant control panel and test your local devices and your Owntracks tracking. It should all work.

Google Cloudprint – Cloud Printer Offline

If you have a printer that is google cloudprint compatible but is showing ‘offline’ in your google cloud printers it may be your printer’s DNS settings. I have a Canon Workdforce 3640


I followed Canon’s instructions and registered it with Cloudprint and it worked for several months. Then one day it showed “offline” in the google cloud printer list even though the printer was clearly connected.

To fix it, I had to change the DNS Settings on the printer to those of google’s (for the house I use opendns so that could be blocking or it could be some other issue but changing to google’s fixed the issues).

 

  1. Look in your router settings and determine the ip address of your printer.
  2. Point your browser to the ip address, for example: http://192.168.1.XXX
  3. [Read more…]

Raspberry Pi and Lighttpd

I’m familiar with apache but not lighttpd. There is very little I could find on how to setup lighttpd with ssl. I don’t have time todo a full blog post but here’s my example lighttpd.conf file for those of you who it might help. It has 2 virtual servers both using ssl. It does not listen on port 80 (non-ssl) at all.

I also followed this tutorial from the Nwgat blog to setup letsencrypt ssl certificates (the only one I could find that worked for me). I’m copying the steps below in case that link goes dead:

https://nwgat.ninja/setting-up-letsencrypt-with-lighttpd/

  1. Stop lighttpd
  2. combine files into ssl.pem
  3. Forward Secrecy & Diffie Hellman Ephemeral Parameters
  4. Copy and paste the following into /etc/lighttpd/lighttpd.conf dont forget to change yourdomain to your domain
    or you can put it into /etc/lighttpd/conf-enabled as letsencrypt.yourdomain.conf
  5. now open port and start lighttpd

  6. <pre class="lang:default decode:true " >

    sudo ufw allow 443
    sudo service lighttpd start

Port Forwarding Http/Https to Different Computers Within Your Home Network

So you want to have different web servers on your home network that are exposed to the outside world?  How do you do that?  Most web servers listen on the same ports: 80 for non-ssl and port 443 for ssl. If a request comes in for port 80  

Say your home network is setup like this:

Home Network Computers

Router: 192.168.1.1

Your Study: 192.168.1.2 (running your personal wordpress blog )

Wife’s Office: 192.168.1.2 (running your personal wordpress blog)

Living Room Computer: 192.168.1.3 (Running Home Assistant web server)

1. Setup a dynamic DNS service. 

               Go to duckdns.org (super simple) to create a subdomain url for each computer you’d like to access in your internal network from any computer in the world.   I won’t explain it here as the DuckDNS site does a good job.  In my example you would need to set up 3 subdomains for your home network:

Example Dynamic DNS URLs

http://blog.duckdns.org -> your blog in your study

http://wifesblog.duckdns.org -> wife’s blog in her office

http://homey.duckdns.org -> home automation server at

2.  Setup Port Forwarding

                  Normally, if you are outside your home network, say at a coffee shop, and plug “http://homey.duckdns.org” in your browser you most likely will end up either with blank page/unauthorized page or will get the control panel login for your router which is at 192.168.1.1. 

To set-up port forwarding within your home network go into your router (192.168.1.1 in my example) and navigate to the port forwarding section. I use ddwrt so in my home network I would selecte DD-WRT’s NAT/QoS menu selection and set the port forwarding as follows:

Port From (incoming set by url, e.g.: http://blog.duckdns.org:202) Ip Address Port To (This is port server is listening on)
80 192.168.1.1 804 (fake port, nothing is listening here)
202 192.168.1.2 80
203 192.168.1.3 80
204 192.168.1.4 8123

Here’s a screen shot of my example setup:

 
Once Saved, you access your sites as follows:

URL -> Server

http://blog.duckdns.org:202 -> your blog in your study at 192.168.1.2 port 80

http://wifesblog.duckdns.org:203 -> wife’s blog in her office at 192.168.1.3 port 80

http://homey.duckdns.org:204 -> home automation server at 192.168.1.4 port 8123

If someone leaves the port out (http://blog.duckdns.org) it would just go to a blank page because it would be forwarded to 192.168.1.1:804  which is a fake port with nothing listening.

In actual practice you should use SSL for each of these,but for simplicity of explanation I’ve left that out. However, it would work the same way. You would turn off port 80 on each of the servers, and substitue 443 for 80 above, with an additional fake port for 443, such as the following:

Port From (incoming set by url, e.g.: http://blog.duckdns.org:202) Ip Address Port To (This is port server is listening on)
443 192.168.1.1 804 (fake port, nothing is listening here)
202 192.168.1.2 443
203 192.168.1.3 443
204 192.168.1.4 8123


Also, if you’re using ssl you’ll need to set up ssl certificates (use LetsEncryptfor free ssl certifices)

As a final note, you could have all of these sites on one computer (personally I’m doing this on Raspberry Pi 3 using lighttpd and homeassistent), but you would have to change the default  listening ports on each server that is running. For example, instead of your blog’s server software listening to 443, you would have the ssl port listen to say 452.   Likewise, your wife’s ssl port would listen to say 574, etc. .

Multiboot USB with Gandalf’s Win10 PE & Install as Windows Boot Menu

Windows PE distributions are mini-Windows operating systems that one can run from a USB flash memory stick. They are extremely handy particularly when fixing a broken Windows system. I just fixed a PC suffering from a Blue Screen of death by using one.

At the moment, one of the most handy Windows PE distributions is Gandalf’s Win10 PE Redstone. This “Redstone” distribution packs about 4GB of very useful programs and a fully functional super smooth version of Windows 10 into one ISO that can be installed on and booted from a USB drive.

Having this available on a bootable USB stick if anything goes wrong on your windows system is SUPER handy and has saved me countless times.

This tutorial will show you how to build a multi-boot USB stick that will add Gandalf’s Win10 PE distro but is also capable of adding additional operating systems on the same stick. In addition it will show you how to install Gandalf’s Win10 PE on your boot menu. So if your Windows system goes south you have a very useful toolkit available as an option on the boot screen without even needing your USB stick. This tutorial was done using Windows 10 but the steps should be similar for Windows 7 and 8.

Part I Installing Gandalf PE on a Multiboot Yumi USB

  1. Make sure you have at least an 8 GB USB Flash thumb drive that you are ok with reformatting and destroying all data on.

  2. Download Yumi Multiboot
  3. Download the latest Gandalf distribution (I believe there are several, the larger the size the more programs ) Gandalf’s Windows PE
  4. Startup Yumi. Under Yumi’s Step 1, select the USB drive you are dedicating to Yumi. Under Step 2, select “Single Windows PE” option (located near the bottom under Windows PE Builds). Under step 3 select the Gandalf ISO you downloaded. Yumi should look similar to this:

  5. Click Create and let Yumi go to town. It will take quite a while as it will extract the various programs from the ISO and install them on your USB drive. When it is done it should give you a success message. Close the program and verify that it will boot. If it doesn’t see the troubleshooting in the FAQ and How-To’s on the Yumi page.
  6. To add additional distributions to the USB flash drive (anything from countless Linux distros, bootable Dos systems, to other PE systems, etc. – basically anything Yumi lists in its Step 2) just run Yumi again, select the distro in Step 2 in the Yumi program, and download and install the distro. Very easy.

    NOTE: If you want to add Gandalf’s PE to your Windows boot menu, I recommend adding additional distros only after you complete Part II below.

Part II Installing Gandalf PE to the Windows Boot Menu

WARNING: DO THIS AT YOUR OWN RISK!! In particular, but not without disregarding other things that can go wrong, messing with your BCD files can lead to Blue Screens of death like “Inaccessible Boot Drive” errors. I highly recommend backing up your BCD File and if there are any problems, restore your old BCD. You should be able to do this even if you can’t get into your system again by using the bootable USB drive you created in Part I above.

  1. Create a folder named “Gandalf Rescue PE” on the root of one of your drives (it can be C but preferably another hard drive you have on your system).
  2. Open your USB flash drive and select all the files and folders and click copy:

  3. Now navigate to the folder you created in Part II, Step 1 above, and paste all of the Yumi files and folders into that folder.
  4. Download and install EasyBCD (I used version 2.3). The official site is at Neosmart here (the free/register version works fine), but I downloaded it from Softpedia as the download at the official site was problematic. There’s a free version of EasyBCD for personal use, if commercial use is made, paid versions are available. If you don’t want to use EasyBCD you can use BCDedit (see the example entry below in the last step but I won’t other describe editing with BCDedit as it is too lenghty to go into).
  5. Open EasyBCD (ignore any messages on EFI if you do). Before you do anything backup your existing configuration, by clicking “BCD Backup/Repair” and hitting “Backup settings” after you are satisfied with the path:

  6. Now you’re ready to install Gandalf’s Win10 PE. Click “Add New Entry”. Under “Portable/External Media”, click “WinPE” and under “Type” click “Wim Image (Ramdisk)”. Change the name to “Gandalf’s Win10 PE” and under path, click the browse button and look for the “boot.wim” file found in the “Sources” folder inside the folder your created in Part II, #1 above. Check the box for “EMS Enabled”. Your screen should look something like this:

  7. Click “Add Entry”. Close EasyBCD.
  8. On your PC, open “Startup and Recovery” (type this in your search box) and make sure under “System Startup” the Gandalf distribution is being shown and that there is a delay for “Time to display list of operating systems”:

  9. That’s it. Now reboot and you should see Gandalf’s Win 10 PE show up on your boot screen as an option.
  10. As a final note, if someone desires to manually edit the BCD file using BCDEdit (rather than using EasyBCD),the manual entry looks like this (I don’t have room to explain the below but if you are using bcdedit you should know how to create this entry):

    NOTE ON ABOVE FOR MANUAL BCDEDIT ENTRIES: Substitute your drive letter for “K:” above. Also note the GUID used in the device and osdevice lines are the same as the Identifier GUID.