• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

My Fallout (PipBoy) inspired MagicMirror

Scheduled Pinned Locked Moved Show your Mirror
5 Posts 5 Posters 3.1k Views 5 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    Keylicious
    last edited by Apr 22, 2024, 8:56 PM

    Hey All,

    inspired by the new amazon show Fallout I reactivated my old MM to change the style to more look like a …well MagicPip Mirror XD

    It took me more than 4 days to set up the system, to “learn” and understand custom.css and to tinker around for the looks.

    IMG_0625.jpg

    Have to put it back behind a mirror obviously but did not find the time yet (need a second person to remove the mirror).

    modules: [
                    {
                            module: "alert",
                    },
                    {
                            module: "updatenotification",
                            position: "bottom_bar"
                    },
                    {
                            module: "helloworld",
                            position: "top_bar",
                            config: {
                                    text: "MagicPip 2000"
                                    }
    
                    },
                    {
                            module: "clock",
                            position: "top_bar",
                            config: {
                                    displaySeconds:false,
                                    }
                    },
    
    		{
                            module: "calendar",
                            header: "Anstehende VAULT-TEC Events",
                            position: "top_right",
                            config: {
                                    fetchInterval: 6000,
                                    fade: false,
                                    maximumEntries: 10,
                                    maximumNumberOfDays: 3,
                                    flipDateHeaderTitle: true,
                                    hideDuplicates: true,
                                    coloredText: false,
                                    coloredBackground: false,
                                    coloredSymbol: true,
                                    customEvents: [{keyword: 'Leistungsturnen', symbol: 'medal', color: '#32cd32'},{keyword: 'Kosmetik', symbol: 'hand-holding-drop>
                                    calendars: [
                                          {
                                                    url: "xxx
                                                    symbol: "calendar-plus",
                                                    color: "#41FF00",
    
                                               },
                                               {
                                                    url: "xxx
                                                    color: "#0a880c",
                                                    symbol: "calendar-check",
    
                                               },
                                    ],
                            }
                    },
    
                    {
                            module: "weather",
                            position: "top_left",
                            config: {
                                    weatherProvider: "openweathermap",
                                    type: "current",
                                    location: "xxx",
                                    locationID: "xxx; unzip the gz file and find your city
                                    apiKey: "xxx",
                                    showUVIndex: true,
    
                            }
                    },
    		{
                            module: "weather",
                            position: "bottom_left",
                            header: "Vorhersage",
                            config: {
                                    weatherProvider: "openweathermap",
                                    type: "forecast",
                                    location: "xxx",
                                    locationID: "xxx; unzip the gz file and find your city
                                    apiKey: "3xxx",
                                    maxNumberOfDays: 3,
                                    colored: false,
                                    fade: false,
                            }
                    },
                    {
                            module: "MMM-RAIN-MAP",
                            position: "bottom_center",
                            config: {
                                    animationSpeedMs: 4000,
                                    colorScheme: 8,
                                    colorizeTime: true,
                                    defaultZoomLevel: 15,
                                    displayTime: true,
                                    displayTimeline: true,
                                    displayClockSymbol: false,
                                    displayHoursBeforeRain: 0,
                                    extraDelayLastFrameMs: 4000,
                                    extraDelayCurrentFrameMs: 4000,
                                    markers: [
                                            { xxxx},
                                    ],
                                    mapPositions: [
                                            { xxxx },
                                    ],
                                                    mapUrl: "https://a.tile.openstreetmap.de/{z}/{x}/{y}.png",
                                    mapHeight: "200px", // must be a pixel value (no percent)
                                    mapWidth: "200px", // must be a pixel value (no percent)
                                    maxHistoryFrames: 6,
                                    maxForecastFrames: -1,
                                    substitudeModules: [],
                                    updateIntervalInSeconds: 1800,
                                    }
                    },
    		{
    },
    		{
                    module: "MMM-ImagesPhotos",
                    position: "middle_center",
                    config: {
                            opacity: 0.9,
                            animationSpeed: 5000,
                            updateInterval: 50000,
                            maxHeight: "500px",
                            maxWidth:"1000px",
                            sequential: true  // process the image list randomly
                            }
                    },
                    {
                            module: "newsfeed",
                            position: "lower_third",
                            config: {
                                    feeds:  [
                                            {
                                                    title: "PositiveNews",
                                                    url: "https://www.positive.news/feed/",
                                            },
    
                                            ],
                                    updateInterval: 15000,
                                    showDescription: true,
                                    showSourceTitle: true,
                                    showPublishDate: true,
                                    broadcastNewsFeeds: true,
                                    broadcastNewsUpdates: true,
    				ignoreOldItems: true,
                                    ignoreOlderThan: 604800000,
                                    },
                    },
                     {
                            module: "newsfeed",
                            position: "lower_third",
                            config: {
                                    feeds:  [
                                            {
                                                    title: "GoodNewsMagazin",
                                                    url: "https://goodnews-magazin.de/feed/",
                                            },
                                            ],
                                    updateInterval: 20000,
                                    showDescription: true,
                                    showSourceTitle: true,
                                    showPublishDate: true,
                                    broadcastNewsFeeds: true,
                                    broadcastNewsUpdates: true,
    				ignoreOldItems: true,
                                    ignoreOlderThan: 604800000,
                                    },
                    },
    		 {
                            module: 'MMM-Luftdaten',
                            position: 'bottom_right',
                            header: 'Aktuelle Sensordaten',
                            config: {
                                    sensors: [xxx],
                                    fetchInterval: 5,
                                    timeOnly: true,
                                    displayTendency: true,
                                    withBorder: false,
                                    }
                    },
                    {
                            module: 'MMM-AirQuality',
                            position: 'top_left', // you may choose any location
                            config: {
                                    token: 'xxx',
                                    location: 'xxx/' // the location to check the index for
                                    }
                    },
    		 {
                            module: "MMM-NINA",
                            position: "bottom_bar",
                            config: {
                                    ags: ["xxx"], // Liste der Gemeinden, die abgefragt werden sollen
                                    downgradeLhpSeverity: false,
                                    downgradeCancelSeverity: true,
                                    hideCancelledWarnings: true,
                                    excludeProviders: [], // Mögliche Werte ["MOWAS", "DWD", "BIWAPP", "LHP"]
                                    maxAgeInHours: 6,
                                    mergeAlertsById: true,
                                    mergeAlertsByTitle: true,
                                    orderBySeverity: true,
                                    showIcon: true,
                                    showDate: true,
                                    showCity: true,
                                    showNoWarning: false,
                                    theme: "top", // Erlaubte Werte: top, top-floating, side
                                    updateIntervalInSeconds: 300,
                                    }
                    },
            ]
    };
    

    and ofc the custom.css code

    @font-face {
      font-family: "BS";
      font-style: normal;
      src:
        local("BS"),
        url("BSfont.otf") format("opentype");
    }
    
    @font-face {
      font-family: "FS";
      font-style: normal;
      src:
        local("FS"),
        url("FSfont.ttf") format("truetype");
    }
    
    
    :root {
            --color-text: #0c8e0c;
            --color-text-dimmed: #087009;
            --color-text-bright: #41FF00;
            --font-primary: "FS";
            --font-secondary: BS";
            }
    
    .calendar {
            font-family: BS;
            }
    
    
    .weather {
            font-family: BS;
            }
    
    .region.lower.third  {
            border: 1px dashed #087009;
            padding: 15px;
            border-bottom: hidden;
            border-top: hidden;
            }
    
    
    .region.top.right  {
            border: 3px #087009;
            border-radius: 5px;
            padding: 15px;
            border-left: hidden;
            border-bottom: hidden;
            border-top: solid;
            border-right: dashed;
    
            }
    
    .region.bottom.right  {
            border: 1px dashed #087009;
            border-radius: 5px;
            padding: 15px;
            border-left: hidden;
            border-bottom: hidden;
            border-top: hidden;
            }
    
    .region.bottom.left  {
            border: 1px dashed #087009;
            padding: 15px;
            border-radius: 5px;
            border-bottom: hidden;
            border-right: hidden;
            border-top: hidden;
            }
    
    .region.top.bar  {
            border: 2px dashed #087009;
            padding: 5px;
            border-left: hidden;
            border-right: hidden;
            border-bottom: hidden;
            }
    
    .clock {
            font-family: BS;
            }
    
    .weather .light {
            font-family: BS;
            }
    
    .clock .light {
            font-family: BS;
            }
    
    .newsfeed {
            text-transform: uppercase;
            }
    
    .helloworld {
            font-family: BS;
            text-shadow: 2px 2px 5px #087009;
            font-size: 65px;
            border: 2px solid #41FF00;
            padding: 5px;
            border-left: hidden;
            border-right: hidden;
            border-top: hidden;
            }
    
    .region.bottom.bar  {
            border: 2px solid #41FF00;
            border-top: hidden;
            border-left: hidden;
            border-right:hidden;
            }
    
    header {
            text-align: center;
            }
    
    
    .MMM-Luftdaten {
            font-family: BS;
            }
    
    .MMM-Luftdaten .header {
                            color: #41FF00;
                            border-bottom: #087009;
                            }
    
    .MMM-RAIN-MAP {
                    border: 2px solid #087009;
                      }
    
    .MMM-AirQuality  {
            font-family: BS;
            }
    
    

    “BS” and “FS” are the two fonts I’m using, both fonts are the “original” fonts used in the Fallout games for terminals and the so called PipBoy.

    Feel free to share your thoughts I’m sure there are some ways to improve parts of the coding

    1 Reply Last reply Reply Quote 5
    • R Offline
      rmonkey
      last edited by May 26, 2024, 12:30 PM

      I loved the first two games and enjoyed the show; great idea!

      Can I make a few suggestions?

      1. Add the PipBoy logo giving a thumbs up somewhere.

      2. Maybe add a module for air quality or pollen count? Then rename the header to “Daily Radiation Count” or something similar.

      3. Use a custom compliments module and make the compliments fake news headlines apropos to the Fallout universe:
        “Cooper Howard Movie Marathon this Friday in Vault 32”
        “Brotherhood of Steel now hiring shitters”
        “Lost: Gross head with a chip in it. Reward offered, no questions asked”

      Love this creativity I keep seeing with MagicMirror; congrats!

      1 Reply Last reply Reply Quote 1
      • A Offline
        abuislam
        last edited by sdetweil Dec 6, 2024, 12:42 PM Dec 6, 2024, 8:17 AM

        @Keylicious said in [My Fallout (PipBoy)

        This is an incredible project! I absolutely love how you’ve integrated the Fallout theme into your MagicMirror setup. The choice of fonts and the custom CSS really capture the PipBoy vibe perfectly. The weather and news modules also fit the theme well.

        It’s clear you’ve put a lot of effort into learning and customizing the system, and it shows. One suggestion I’d have is to consider adding a module that displays a real-time Fallout-style map or some vault-related information. That would be an awesome addition!

        Can’t wait to see what you do next with this project, and I’m sure it’ll look even better once you manage to get it behind a mirror!

        S 1 Reply Last reply Dec 6, 2024, 12:42 PM Reply Quote 0
        • S Offline
          sdetweil @abuislam
          last edited by Dec 6, 2024, 12:42 PM

          @abuislam edited to remove the entire post copy.
          Please be careful

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          1 Reply Last reply Reply Quote 0
          • D Offline
            dementedpixel
            last edited by Dec 8, 2024, 6:45 AM

            I have been wanting to get started on a magic mirror setup for a few years now, I think this might be the inspiration I needed to create my own. Awesome job.

            1 Reply Last reply Reply Quote 0
            • 1 / 1
            • First post
              Last post
            Enjoying MagicMirror? Please consider a donation!
            MagicMirror created by Michael Teeuw.
            Forum managed by Sam, technical setup by Karsten.
            This forum is using NodeBB as its core | Contributors
            Contact | Privacy Policy