MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    1. Home
    2. Johanba
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.
    Offline
    • Profile
    • Following 3
    • Followers 0
    • Topics 13
    • Posts 24
    • Groups 0

    Johanba

    @Johanba

    0
    Reputation
    16
    Profile views
    24
    Posts
    0
    Followers
    3
    Following
    Joined
    Last Online
    Email jbarkhuizen@gmail.com

    Johanba Unfollow Follow

    Latest posts made by Johanba

    • RE: Issue with MMM-Config

      HI
      @sdetweil getting the following message
      johanba@raspberrypi:~/MagicMirror/modules/MMM-Config $ git pull
      Your configuration specifies to merge with the ref ‘refs/heads/better_repo_url’
      from the remote, but no such ref was fetched.

      posted in Troubleshooting
      JohanbaJ
      Johanba
    • RE: Are you tired of editing config.js, or have trouble doing it, see my new module

      Also not getting it to work
      in the browser i go to installer
      and this is all that loads
      fe43ab61-3e49-4402-b5ea-7b5dac920db9-image.png

      posted in Utilities
      JohanbaJ
      Johanba
    • Issue with MMM-Config

      I am getting the following issue with the module MMM-Config
      I have updated, reinstalled but it seems the issue persists
      [2025-04-08 16:00:14.166] [ERROR] (node:3805) UnhandledPromiseRejectionWarning: Error: An error occured: 404
      at buildFormData (/home/johanba/MagicMirror/modules/MMM-Config/module_installer/runserver.js:138:11)
      at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
      (Use electron --trace-warnings ... to show where the warning was created)
      [2025-04-08 16:00:14.167] [ERROR] (node:3805) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)

      posted in Troubleshooting
      JohanbaJ
      Johanba
    • MMM-RTSPStream

      I have installed the module, ensured it is the latest version
      I have 3 feeds, but feed No 1 take over the screen and does not run inside the mirror
      I would like for the 3 x fees to display on on screen, below one another
      Here is my Config
      {
      module: “MMM-RTSPStream”,
      classes: “page6”,
      position: “middle_center”,
      header: “Camera’s”,
      config: {
      autoStart: true,
      rotateStreams: false,
      useWmctrl: false,
      //rotateStreamTimeout: 10,
      moduleWidth: 354,
      moduleHeight: 800,
      localPlayer: ‘local’,
      remotePlayer: ‘none’,
      showSnapWhenPaused: false,
      remoteSnaps: false,
      shutdownDelay: 12,
      stream1: {
      name: ‘Front Gate’,
      url: ‘rtsp://admin:xxxxx@192.168.1.150:554/user=admin&password=xxxxxx&channel=1stream=0.sdp?',
      frameRate: ‘undefined’,
      width: 354,
      height: 240,
      muted: true,
      },
      stream2: {
      name: ‘HighWay View 1’,
      url: 'rtsp://admin:xxxxxx@192.168.1.158:554/user=admin&password=xxxxxx&channel=1
      stream=0.sdp?’,
      frameRate: ‘undefined’,
      width: 354,
      height: 240,
      muted: true,
      },
      stream3: {
      name: ‘Store Room’,
      url: ‘rtsp://admin:xxxxxx@192.168.1.65:554/user=admin&password=xxxxxx&channel=1*stream=0.sdp?’,
      frameRate: ‘undefined’,
      width: 354,
      height: 240,
      muted: true,
      },
      }
      },

      posted in Troubleshooting
      JohanbaJ
      Johanba
    • Google Assistant

      Hi

      Anyone have an alternative to Google assistant
      Not working anymore, I believe

      posted in Requests
      JohanbaJ
      Johanba
    • RE: Create a clone of MMM-Webview

      @sdetweil
      Thank a mil for the info
      I am going to try and update my config as such, and see how to get this going

      i might reach out again if I am struggling

      posted in General Discussion
      JohanbaJ
      Johanba
    • RE: Create a clone of MMM-Webview

      Thanks for the information, Looks like it might be possible

      Looking at the code and not really making sense to me (I am not a developer)
      Say I want to show 3 x dashboards from my Home Assistant
      On Page 2 - >http://192.168.1.90:8123/new-solar-dashboard-combined/deye<
      On Page 3 - >http://192.168.1.90:8123/testing-3/0<
      On Page 4 - >http://192.168.1.90:8123/battery-insights-2/0<

      How would the config.js handle these on different pages
      I am using MMM-pages to have different pages

      posted in General Discussion
      JohanbaJ
      Johanba
    • Create a clone of MMM-Webview

      HI All

      I find the MMM-Webview module quite useful to display my Pages from my Home Assistant
      Can anyone please help me clone to modules so I can use it more than one
      I tried but failed

      posted in General Discussion
      JohanbaJ
      Johanba
    • MM shifts to the right about 1cm after it loaded

      Hi Fellow MM enthusiast

      Since a few days about my MM shifts about 1cm to the right after loading the initial page, and for the life of me I cannot find the issue

      Any help will be appreciated

      e56b6e21-c6d7-49b1-994c-a1f595b0bb7e-image.png

      Below I included my custom.css and main.css
      Not sure where else it could be

      custome.css
      "/* Custom CSS Sample
      *

      • Change color and fonts here.
      • Beware that properties cannot be unitless, so for example write ‘–gap-body: 0px;’ instead of just ‘–gap-body: 0;’
        */

      /* Uncomment and adjust accordingly if you want to import another font from the google-fonts-api: /
      /
      @import url(‘https://fonts.googleapis.com/css2?family=Poppins:wght@100;300;400;700&display=swap’); */

      :root {
      –color-text: #999;
      –color-text-dimmed: #666;
      –color-text-bright: #fff;
      –color-background: black;

      –font-primary: “Roboto Condensed”;
      –font-secondary: “Roboto”;

      –font-size: 20px;
      –font-size-small: 0.75rem;

      –gap-body-top: 60px;
      –gap-body-right: 60px;
      –gap-body-bottom: 60px;
      –gap-body-left: 60px;

      –gap-modules: 30px;
      }

      body {
      margin: 0;
      position: absolute;
      transform: rotate(-90deg);
      transform-origin: top left;
      width: 100vh;
      height: 100vw;
      object-fit: cover;
      top: 100vh;
      visibility: visible;

      }"
      main.css
      "
      :root {
      –color-text: #999;
      –color-text-dimmed: #666;
      –color-text-bright: #fff;
      –color-background: #000;
      –font-primary: “Roboto Condensed”;
      –font-secondary: “Roboto”;
      –font-size: 20px;
      –font-size-xsmall: 0.75rem;
      –font-size-small: 1rem;
      –font-size-medium: 1.5rem;
      –font-size-large: 3.25rem;
      –font-size-xlarge: 3.75rem;
      –gap-body-top: 60px;
      –gap-body-right: 60px;
      –gap-body-bottom: 60px;
      –gap-body-left: 60px;
      –gap-modules: 30px;
      }

      html {
      cursor: none;
      overflow: hidden;
      background: var(–color-background);
      user-select: none;
      font-size: var(–font-size);
      }

      ::-webkit-scrollbar {
      display: none;
      }

      body {
      margin: var(–gap-body-top) var(–gap-body-right) var(–gap-body-bottom) var(–gap-body-left);
      position: absolute;
      height: calc(100% - var(–gap-body-top) - var(–gap-body-bottom));
      width: calc(100% - var(–gap-body-right) - var(–gap-body-left));
      background: var(–color-background);
      color: var(–color-text);
      font-family: var(–font-primary), sans-serif;
      font-weight: 400;
      line-height: 1.5;
      -webkit-font-smoothing: antialiased;
      }

      /**

      • Default styles.
        */

      .dimmed {
      color: var(–color-text-dimmed);
      }

      .normal {
      color: var(–color-text);
      }

      .bright {
      color: var(–color-text-bright);
      }

      .xsmall {
      font-size: var(–font-size-xsmall);
      line-height: 1.275;
      }

      .small {
      font-size: var(–font-size-small);
      line-height: 1.25;
      }

      .medium {
      font-size: var(–font-size-medium);
      line-height: 1.225;
      }

      .large {
      font-size: var(–font-size-large);
      line-height: 1;
      }

      .xlarge {
      font-size: var(–font-size-xlarge);
      line-height: 1;
      letter-spacing: -3px;
      }

      .thin {
      font-family: var(–font-secondary), sans-serif;
      font-weight: 100;
      }

      .light {
      font-family: var(–font-primary), sans-serif;
      font-weight: 300;
      }

      .regular {
      font-family: var(–font-primary), sans-serif;
      font-weight: 400;
      }

      .bold {
      font-family: var(–font-primary), sans-serif;
      font-weight: 700;
      }

      .align-right {
      text-align: right;
      }

      .align-left {
      text-align: left;
      }

      header {
      text-transform: uppercase;
      font-size: var(–font-size-xsmall);
      font-family: var(–font-primary), Arial, Helvetica, sans-serif;
      font-weight: 400;
      border-bottom: 1px solid var(–color-text-dimmed);
      line-height: 15px;
      padding-bottom: 5px;
      margin-bottom: 10px;
      color: var(–color-text);
      }

      sup {
      font-size: 50%;
      line-height: 50%;
      }

      /**

      • Module styles.
        */

      .module {
      margin-bottom: var(–gap-modules);
      }

      .module.hidden {
      pointer-events: none;
      }

      .module:not(.hidden) {
      pointer-events: auto;
      }

      .region.bottom .module {
      margin-top: var(–gap-modules);
      margin-bottom: 0;
      }

      .no-wrap {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      }

      .pre-line {
      white-space: pre-line;
      }

      /**

      • Region Definitions.
        */

      .region {
      position: absolute;
      }

      .region.fullscreen {
      position: absolute;
      inset: calc(-1 * var(–gap-body-top)) calc(-1 * var(–gap-body-right)) calc(-1 * var(–gap-body-bottom)) calc(-1 * var(–gap-body-left));
      pointer-events: none;
      }

      .region.right {
      right: 0;
      text-align: right;
      }

      .region.top {
      top: 0;
      }

      .region.top.center,
      .region.bottom.center {
      left: 50%;
      transform: translateX(-50%);
      }

      .region.top.right,
      .region.top.left,
      .region.top.center {
      top: 100%;
      }

      .region.bottom {
      bottom: 0;
      }

      .region.bottom.right,
      .region.bottom.center,
      .region.bottom.left {
      bottom: 100%;
      }

      .region.bar {
      width: 100%;
      text-align: center;
      }

      .region.third,
      .region.middle.center {
      width: 100%;
      text-align: center;
      transform: translateY(-50%);
      }

      .region.upper.third {
      top: 33%;
      }

      .region.middle.center {
      top: 50%;
      }

      .region.lower.third {
      top: 66%;
      }

      .region.left {
      text-align: left;
      }

      .region table {
      width: 100%;
      border-spacing: 0;
      border-collapse: separate;
      }
      "

      posted in Troubleshooting
      JohanbaJ
      Johanba
    • Site : https://wiki.bugsounet.fr seems to be down

      The past 3 days I am unable to get to https://wiki.bugsounet.fr/ where the MMM-GoogleAssistant and other 4th Party modules lived
      or is it just me
      or maybe the site moved with a new name

      Thanks for the update

      posted in Troubleshooting
      JohanbaJ
      Johanba