Read the statement by Michael Teeuw here.
Modifying the Config File
-
@jimb said in Modifying the Config File:
IP Config from the OS prompt on the Pi yields -
“Link/loopback 'all zeros…”
“inet 127.0.0.0/8 scope host lo”This should be the first entry of three in the response when you enter
ip addr. The next entry should be your ethernet port, and the final entry should be your wireless LAN. My suggestion is to try this on your pi:ip addr | grep inetSecondly, when Sam told you to switch on SSH, did you go into the config app and do it? You can get to it from the desktop but the fastest way is to type
sudo raspi-configand then navigate to “Interface Options”->“SSH”. Make sure it is enabled. -
Gents, my goal was not to build a watch, only to tell the time. I have bit the bullet and will be building a new image of the OS and setting it up to run from my PC. That way I’ll be able to copy configs for all to peruse, trying to get Magic Mirror up and running. Thanks for your continued support!
-
Sam, et all: I have installed a fresh copy of the OS to a new SD card , booted up the Pi, and installed a new copy of the MM2 files, etc. from Sam’s installation script. The only mistake I made was making the MM auto-install. I attempted SSH into the Pi to modify the config on my PC. Had the same “no connnection” issue I had before. However, I now have the IP address of the Pi and I’m not able to ping it from my PC. When the Pi boots this IP address is displayed in the upper right corner for a few seconds so I know it’s correct. An IP config /all display shows-
C:\Users\Owner>ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : DESKTOP-LE5LUCM
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : attlocal.netEthernet adapter Ethernet:
Connection-specific DNS Suffix . : attlocal.net
Description . . . . . . . . . . . : Realtek PCIe GbE Family Controller
Physical Address. . . . . . . . . : 78-E7-D1-C8-69-02
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IPv6 Address. . . . . . . . . . . : 2600:1700:d10:2900::681(Preferred)
Lease Obtained. . . . . . . . . . : Wednesday, November 29, 2023 1:44:08 AM
Lease Expires . . . . . . . . . . : Thursday, December 28, 2023 6:10:32 PM
IPv6 Address. . . . . . . . . . . : 2600:1700:d10:2900:17cb:6c66:31f8:87bb(Preferred)
Temporary IPv6 Address. . . . . . : 2600:1700:d10:2900:3974:7e8b:2c4:8999(Preferred)
Temporary IPv6 Address. . . . . . : 2600:1700:d10:2900:e81f:6b5c:4ac6:b88d(Deprecated)
Temporary IPv6 Address. . . . . . : 2600:1700:d10:2900:f895:4134:2f63:7933(Deprecated)
Link-local IPv6 Address . . . . . : fe80::3b70:ff2e:ecd1:4297%12(Preferred)
IPv4 Address. . . . . . . . . . . : 192.168.1.65(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : Wednesday, November 29, 2023 1:44:03 AM
Lease Expires . . . . . . . . . . : Saturday, December 2, 2023 1:44:06 PM
Default Gateway . . . . . . . . . : fe80::3a3b:c8ff:fe33:13d9%12
192.168.1.254
DHCP Server . . . . . . . . . . . : 192.168.1.254
DHCPv6 IAID . . . . . . . . . . . : 158918609
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-25-B7-F6-59-78-E7-D1-C8-69-02
DNS Servers . . . . . . . . . . . : 2600:1700:d10:2900::1
192.168.1.254
2600:1700:d10:2900::1
NetBIOS over Tcpip. . . . . . . . : EnabledWireless LAN adapter Wi-Fi:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : 802.11n Wireless LAN Card
Physical Address. . . . . . . . . : 68-A3-C4-EA-95-83
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : YesWireless LAN adapter Local Area Connection* 1:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter
Physical Address. . . . . . . . . : 68-A3-C4-EA-95-85
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : YesWireless LAN adapter Local Area Connection* 2:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter #2
Physical Address. . . . . . . . . : 68-A3-C4-EA-95-86
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : YesWireless LAN adapter Local Area Connection* 11:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft Hosted Network Virtual Adapter
Physical Address. . . . . . . . . : 68-A3-C4-EA-95-84
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : YesC:\Users\Owner>
Does anyone see anything weird?
-
@jimb that appears to be your windows computer, not the pi.
-
@jimb said in Modifying the Config File:
only mistake I made was making the MM auto-install.
u mean auto start??? install was my script
ssh doesn’t work unless you enable it on the pi
desktop, menu top left,
preferences
raspberry pi configuration
then the itnerfaces tab, click the slide on the ssh row,
then press ok…if latest os, then you don’t have to boot
open a terminal window on pi
typeip addryou should see like this
pi@raspberrypi4:~ $ ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether dc:a6:32:20:b0:94 brd ff:ff:ff:ff:ff:ff inet 192.168.2.44/24 brd 192.168.2.255 scope global dynamic noprefixroute eth0 valid_lft 50521sec preferred_lft 36219sec inet6 fe80::a5a6:f1d1:50e7:1c5/64 scope link valid_lft forever preferred_lft forever 3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000 link/ether dc:a6:32:20:b0:95 brd ff:ff:ff:ff:ff:ffin this setup my wifi (wlan0) is not connected but my ethernet (eth0) is
inet 192.168.2.44doesn’t matter what the PC says…
do you have a guest network at home and did u connect the pi to that?
can’t connect to it from home network if so… intentional firewall…
-
Sam, the Pi is connected via wireless. Yes, I meant autorun on my first post. I did change the Pi configuration to allow SSH. I have Eero mesh AP’s connected to my home network. I don’t know how to check if access is being blocked to the Pi. Since everything is fresh on the install it makes sense that the network is the culprit. The reason I went with a new install was to enable pasting config, etc. files here on the forum.
-
@jimb i understand… if you can use a terminal window on the pi, can you ping xxxx, where xxxx is the hostname or ip address of the windows pc?
what is the output of ip addr ?
i know it stinks, but you can post a pic, third icon from the right above the forum post editor
-
@jimb I’d also suggest trying my MMM-Config module, which presents a form for config.js including outside modules… all done with discovery of the installed modules and there parms…
some modules cause trouble… but there are ways around with some extra work… it may not be for you… another pile of work to learn, it it doesn’t work…
https://github.com/sdetweil/MMM-Config
it doesn’t help with module install, only configure
-
Sam,
OK progress on the network front. I spent some time yesterday on the phone with eero tech support. At rhe end they suggested connecting my PC wirelessly and seeing if I could ping the rasberry. It works. I can ping and SSH/Putty into the pi, but have an additional snag. It accepts the login and sends a password request. BUT, I can’t enter anything- the keyboard is dead at that point. -
@jimb ok, sounds like the wifi network is a guest, not connected to the regular ethernet network…
don’t use putty
open a cmd.exe window
ssh user_name@machine_ipadd one of the tools
winscp or bitvise ssh clients
they will give you a filemanager view of the files and an ssh window ,
per system you connect to…bitvise also provides a filemanager view of the pc filesystem , so you can drag/drop files in either direction… (you would only do that for logs to pc, of special bug fix file , to pi)
-
Sam, success! I have d/l’d the SSH gui program and here is my config.js file. I have deleted my apiKey
modules: [ { module: "alert", }, { module: "updatenotification", position: "top_bar" }, { module: "clock", position: "top_left" }, { module: "calendar", header: "US Holidays", position: "top_left", config: { calendars: [ { fetchInterval: 7 * 24 * 60 * 60 * 1000, symbol: "calendar-check", url: "https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics" } ] } }, { module: "compliments", position: "lower_third" }, { module: "weather", position: "top_right", config: { weatherProvider: "openweathermap", apiVersion: "3.0", lat: 33.50872, lon: -96.612213, weatherEndpoint: "/onecall", type: "current", location: "Houston", locationID: "4699066", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city apiKey: "8eca2aec" } }, { module: "weather", position: "top_right", header: "Weather Forecast", config: { weatherProvider: "openweathermap", apiVersion: "3.0", lat: 33.50872, lon: -96.612213, weatherEndpoint: "/onecall", type: "forecast", location: "Houston", locationID: "4699066", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city apiKey: "8 " } }, { module: "newsfeed", position: "bottom_bar", config: { feeds: [ { title: "New York Times", -
@jimb missing some at the bottom
I assume the apikey with a new line inside is a removal edit problem
always wrap config.js content in code block
paste into editor
blank line above and below
select pasted text
hit button </> -
Sam, here is a copy of the config.js (with the apiKey deleted)
let config = { address: "localhost", // Address to listen on, can be: // - "localhost", "127.0.0.1", "::1" to listen on loopback interface // - another specific IPv4/6 to listen on a specific interface // - "0.0.0.0", "::" to listen on any interface // Default, when address config is left out or empty, is "localhost" port: 8080, basePath: "/", // The URL path where MagicMirror² is hosted. If you are using a Reverse proxy // you must set the sub path here. basePath must end with a / ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses // or add a specific IPv4 of 192.168.1.5 : // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"], // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format : // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"], useHttps: false, // Support HTTPS or not, default "false" will use HTTP httpsPrivateKey: "", // HTTPS private key path, only require when useHttps is true httpsCertificate: "", // HTTPS Certificate path, only require when useHttps is true language: "en", locale: "en-US", logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging timeFormat: 12, units: "imperial", modules: [ { module: "alert", }, { module: "updatenotification", position: "top_bar" }, { module: "clock", timezone: "America/Chicago", showPeriodUpper: "true", showDate: "true", position: "top_left", }, { module: "calendar", header: "US Holidays", position: "top_left", config: { calendars: [ { fetchInterval: 7 * 24 * 60 * 60 * 1000, symbol: "calendar-check", url: "https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics" } ] } }, { module: "compliments", position: "lower_third" }, { module: "weather", units: "imperial", windUnits: "imperial", tempUnits: "imperial", showPeriodUpper: "true", appendLocationNameToHeader: "true", colored: "true", position: "top_right", config: { apiVersion:"3.0", weatherProvider: "openweathermap", weatherEndpoint:"/onecall", lat: "33.50872", lon: "-96.612213", type: "current", location: "Houston", locationID: "4699066", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city apiKey: "8acfbcab123ce212", } }, { module: "weather", units: "imperial", winUnits: "imperial", tempUnits: "imperial", showPeriodUpper: "true", appendLocationNaneToHeader: "true", colored: "true", position: "top_right", header: "Weather Forecast", config: { apiVersion:"3.0", weatherProvider: "openweathermap", weatherEndpoint:"/onecall", lat: "33.50872", lon:"-96.612213", type: "forecast", location: "Houston", locationID: "4699066", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city apiKey: "8eca2acaacfbcab123ce212", } }, { module: "newsfeed", position: "bottom_bar", config: { feeds: [ { title: "New York Times", url: "https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml" } ], showSourceTitle: true, showPublishDate: true, broadcastNewsFeeds: true, broadcastNewsUpdates: true } }, ] }; /*************** DO NOT EDIT THE LINE BELOW ***************/ if (typeof module !== "undefined") {module.exports = config;}
-
Sam, I tried to do the Ctrl-Shift_i keypress in the browser, but nothing happened. Do I need to do this at a certain point in time or from a certain place. The reason is because I’m still getting the 401-unauthorized messages if I perform the npm start dev process during application start.
-
-
@jimb well, I used your exact weather config, and used my openweather api key , and it worked perfectly

-
@jimb and you’ve got some stuff out of position
this is the more correct layout
{ module: "weather", position: "top_right", config:{ units: "imperial", windUnits: "imperial", tempUnits: "imperial", showPeriodUpper: "true", appendLocationNameToHeader: "true", colored: "true", // position: "top_right", // config: { apiVersion:"3.0", weatherProvider: "openweathermap", weatherEndpoint:"/onecall", lat: "29.8155405", //"33.50872", lon: "-96.0607878", //"-96.61", type: "current", //location: "Houston", //locationID: "4699066", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and fi> apiKey:"" } }, GNU nano 6.2 config/config.js { module: "weather", position:"top_right", header: "Weather Forecast", config:{ units: "imperial", winUnits: "imperial", tempUnits: "imperial", showPeriodUpper: "true", appendLocationNaneToHeader: "true", colored: "true", //position: "top_right", //header: "Weather Forecast", //config: { apiVersion:"3.0", weatherProvider: "openweathermap", weatherEndpoint:"/onecall", lat: "33.50872", lon:"-96.612213", type: "forecast", //location: "Houston", //locationID: "4699066", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and fi> apiKey:"// " } }, -
Sam, that’s helpful, thanks! The items out of alignment happened when I deleted some of my apiKey. The original is perfectly straight. Since it worked with your Key, a couple of questions.
- Does your Key have 28 digits?
- Can you answer my question concerning the Ctrl-Shift-i keys to display the browser data. Can I stop the MM app and load the browser, or…
JimB
-
@jimb my apikey has 33 characters
it is the default key in openweather (I have multiple)
i just brought up MM, and used my chromebook to bring up the page… and then ctrl-shift-i (letter sounds like eye) all at once, opened the dev window
you can do those three keys on any webpage, its a toggle… on/off
using normal chrome, you can use the 3 dot menu to get there too

-
Sam, why is it always the simple things :-)
I found a simple link that allowed me to test the openweather api link:
http://api.openweathermap.org/data/2.5/forecast?id=524901&appid={API Key}
I saw the 2.5 and changed it to 3.0 and got a 401 error. I changed it back to 2.5 and it worked. I tried commenting out the 3.0 & /onecall items in config.js and got a “config.js not found” error when running MM. I had used (/*) in the leftmost column as a ‘ignore line’ comment. So, I deleted the 4 lines from config.js and it worked fine except for a teensy error “displaying Howe instead of Houston” in the display. I have no idea where that came from. I wonder why the fourth largest city in the US isn’t listed in the pull-down menu?
Now, I’m going to see if I can add additional modules.
Thanks for your very patient help!!
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login