@sdetweil FWIW, it worked before the latest changes, just didn’t pause as requested.
Read the statement by Michael Teeuw here.
Posts
-
RE: Logging issues
-
RE: Logging issues
@sdetweil it’s through MMM-Remote-Control - the curl statements above is what is sent to trigger.
-
RE: Logging issues
@sdetweil – Pausing is working perfectly, but we moved the bug elsewhere.
[MMM-pages] received a notification to change to page 0 of type string. MMM-pages.js:192 [MMM-pages] cannot change to a named page 0' updatePages @ MMM-pages.js:192 notificationReceived @ MMM-pages.js:102 sendNotification @ main.js:99 sendNotification @ main.js:649 sendNotification @ module.js:350 socketNotificationReceived @ MMM-Remote-Control.js:159 (anonymous) @ module.js:240 (anonymous) @ socketclient.js:32 Emitter.emit @ index.js:136 emitEvent @ socket.js:553 onevent @ socket.js:540 MMSocket.socket.onevent @ socketclient.js:26 onpacket @ socket.js:508 Emitter.emit @ index.js:136 (anonymous) @ manager.js:217 Promise.then (anonymous) @ globals.js:4 ondecoded @ manager.js:216 Emitter.emit @ index.js:136 add @ index.js:142 ondata @ manager.js:203 Emitter.emit @ index.js:136 _onPacket @ socket.js:259 Emitter.emit @ index.js:136 onPacket @ transport.js:99 onData @ transport.js:91curl -X GET http://mirrorserv:8080/api/notification/PAGE_CHANGED/0 curl -X GET http://mirrorserv:8080/api/notification/PAUSE_ROTATION/ -
RE: Logging issues
@sdetweil Got message - nothing critical, as usual. and if you have a better way to set page & pause (stop), then later resuming (start) the rotation, I’m all ears.
For reference, same configuration as before.
-
RE: Logging issues
@sdetweil While this is broken up to explain what is sent where, there’s no lines in between other than the diagnostics on the error for “already paused”
Sent: curl -X GET http://mirrorserv:8080/api/notification/PAGE_CHANGED/0
[MMM-pages] received a notification to change to page 0 of type string. module.js:189 MMM-pages is suspended. module.js:189 MMM-CalendarExt3Agenda is suspended. module.js:189 MMM-OpenWeatherForecast is suspended. module.js:189 MMM-CalendarExt3 is suspended. module.js:196 alert is resumed. module.js:196 calendar is resumed. module.js:196 MMM-Remote-Control is resumed. module.js:196 clock is resumed. module.js:196 MMM-Worldclock is resumed. module.js:196 MMM-Wallpaper is resumed. module.js:196 MMM-CalendarExt3 is resumed. module.js:196 MMM-CalendarExt3Agenda is resumed. module.js:196 MMM-Multimonth is resumed.Sent: curl -X GET http://mirrorserv:8080/api/notification/PAUSE_ROTATION/
MMM-pages.js:311 [MMM-pages] pausing rotationSent: curl -X GET http://mirrorserv:8080/api/notification/PAGE_CHANGED/2
[MMM-pages] received a notification to change to page 2 of type string. module.js:189 MMM-pages is suspended. module.js:189 MMM-CalendarExt3Agenda is suspended. 3module.js:189 MMM-Multimonth is suspended. module.js:189 MMM-CalendarExt3Agenda is suspended. module.js:189 MMM-CalendarExt3 is suspended. module.js:196 alert is resumed. module.js:196 calendar is resumed. module.js:196 MMM-Remote-Control is resumed. module.js:196 clock is resumed. module.js:196 MMM-Worldclock is resumed. module.js:196 MMM-Wallpaper is resumed. module.js:196 MMM-CalendarExt3 is resumed. module.js:196 MMM-OpenWeatherForecast is resumed.Sent: curl -X GET http://mirrorserv:8080/api/notification/PAUSE_ROTATION/
MMM-pages.js:309 [MMM-pages] was asked to pause but rotation is already paused! MMM-pages.js:100 [MMM-pages] received a notification to increment pages! module.js:189 MMM-pages is suspended.etc.
The diagnostics:
MMM-pages.js:309 [MMM-pages] was asked to pause but rotation is already paused! setRotation @ MMM-pages.js:309 notificationReceived @ MMM-pages.js:123 sendNotification @ main.js:99 sendNotification @ main.js:649 sendNotification @ module.js:350 socketNotificationReceived @ MMM-Remote-Control.js:159 (anonymous) @ module.js:240 (anonymous) @ socketclient.js:32 Emitter.emit @ index.js:136 emitEvent @ socket.js:553 onevent @ socket.js:540 MMSocket.socket.onevent @ socketclient.js:26 onpacket @ socket.js:508 Emitter.emit @ index.js:136 (anonymous) @ manager.js:217 Promise.then (anonymous) @ globals.js:4 ondecoded @ manager.js:216 Emitter.emit @ index.js:136 add @ index.js:142 ondata @ manager.js:203 Emitter.emit @ index.js:136 _onPacket @ socket.js:259 Emitter.emit @ index.js:136 onPacket @ transport.js:99 onData @ transport.js:91 ws.onmessage @ websocket.js:48 -
RE: Logging issues
Ended up loading it up on my PC to get the console.
So, here’s what I got…
- Apparently, MMM-pages will resume the rotation if you tell it to pause, but it’s already paused.
- It should be documented that MMM-pages will pause as part of the hidden pages routine.
While I was looking and debugging
Out of curiosity, why would calendar try to update the DOM without being given a location to display
-
Logging issues
I’m having trouble with logging issues again - and want to get some feedback on why and how it’s not working -
Trying to get a module (MMM-pages) to work the way I want it to - and notice in the code that it’s using
Log.warnto try and log errors and whatnot.I’m launching MM with pm2, in a server/client enviroment.
PM2 logs show nothing from this module, either on the server or the client.
my config.js has log level set at
logLevel: ["INFO", "LOG", "WARN", "ERROR", "DEBUG"],where is this actually logging to?
-
RE: How do I display an RTSP camera stream?
@SteveMann That’s the rough part - the original author abandoned the project - and they’re rebuilding…
https://github.com/motioneye-project/motioneyeos/releases - use the pi image there to get started - will work on everything up to Pi 4. Does not work on Pi 5.
-
RE: How do I display an RTSP camera stream?
@SteveMann Pi3 is likely being choked to death with that. It’s hard on the Pi4. If I could get it to run the way I wanted on a Pi 5, I’d upgrade to that myself.
-
RE: Bridging the gap... LIRC -> Magic Mirror / Pages control using MMM-Remote-Control
@sdetweil MMM-Notification is not found, however, I did find MMM-ViewNotification, and it was sending as requested.
User Error. I did a typo.
Geez. 🙃🙃🙃🙃
-
RE: Bridging the gap... LIRC -> Magic Mirror / Pages control using MMM-Remote-Control
hiddenPages: { "blah": ["Page4"], }, -
RE: Bridging the gap... LIRC -> Magic Mirror / Pages control using MMM-Remote-Control
@sdetweil LIRC = Linux Infered Remote Control. Basically, will issue commands on any remote control press as programmed into it. That part I have working, and will issue commands properly.
If I issue a Volume Up command from my remote, LIRC will respond and issue a
curl -X GET http://magicmirrorip:8080/api/refresh- which will trigger MMM-remote-control to refresh the mirror.but,
the problem I’m currently having, apparently, is that the methods of sending the notification in MMM-Remote-Control isn’t exactly clear to me, and I don’t know how to modify them to trigger MMM-Pages (Your version, BTW)curl -X GET http://magicmirrorip:8080/api/notification/SHOW_HIDDEN_PAGE/blahis what I assume should work - if I issue the web command in the browser, MM responds with{"success":true,"notification":"SHOW_HIDDEN_PAGE","payload":"blah"}however, nothing is triggered in MM.I’m gleaning info from: https://github.com/Jopyth/MMM-Remote-Control/blob/master/API/README.md
-
Bridging the gap... LIRC -> Magic Mirror / Pages control using MMM-Remote-Control
I’m currently attempting to use LIRC to set up a remote control to control the mirror via Pages.
What I’ve gotten so far is attempting to use MMM-Remote-Control to send notifications through the mirror to Pages and control it. I can successfully issue commands from LIRC to system built in commands, but fail in sending notifications out. They seem to do nothing, ever.
Can someone help me figure out how to use the notification sender correctly, so I can send notifications to MMM-Pages and get it to show a hidden page ? Specifically the URLs to
curlto get it to do what I want?Thanks!
-
RE: How do I display an RTSP camera stream?
@SteveMann MotionEyeOS will take in the RTSP stream and push out a web compatible stream. At that point, you can take MMM-Embed URL and show the stream. I use the older non-supported MotionEyeOS because the newer versions of MotionEye don’t want to work reliably yet in the way I want.
My motion eye settings - note, I have the low setting in use to save the Pi4 from working too hard:


the embed URL is http://192.168.X.X/picture/1/frame/
{ module: "MMM-EmbedURL", position: "top_left", classes: "camera1", config: { updateInterval: 0, animationSpeed: 0, appendTimestamp: false, attibutes: [], embed: [ "http://192.168.X.X/picture/1/frame/" ], }, }, -
RE: How do I display an RTSP camera stream?
@SteveMann RTSP isn’t directly compatible with MagicMirror. The only solution I ever found to work, and what I’ve stuck with, is load up an old Pi 4 with MotionEyeOS - and use that to convert over to web, then use something like MMM-EmbedURL to show the stream provided by MotionEye.
-
RE: Recommendation
@mediahypno When I was looking at the mirror element, I would have gone with the built in glass or acrylic. I’ve gone bare screen now, though.
-
RE: CalendarExt3 - Event transformer wildcard
@sdetweil right - what I’m saying is that maybe it should be in the module’s JS, rather than the config’s JS.
Seems trivial to add a safeguard to automatically check for empty items before the transformer gets it. Might also protect against other bugs that way, thus improving the overall product.
-
RE: CalendarExt3 - Event transformer wildcard
For completeness - here’s the answer:
if(ev.description && ev.description.search("YCBM") > -1) { ev.title = "Client" } -
RE: CalendarExt3 - Event transformer wildcard
@sdetweil That did it… Well, other than typing out event rather than ev. :)
All the same, Maybe it should be a check inside the javascript…
-
RE: CalendarExt3 - Event transformer wildcard
I think we’re gonna have to call @MMRIZE in on this one. it worked initially - however, if the description is blank in any event, it’ll stop completely, and not process anything. Here’s what I got now.
eventTransformer: (ev) => { if (ev.title.search("🏠") > -1) { ev.title = ev.title.replace("🏠 Personal Commitment", "Personal Event"); ev.color = 'yellow'; } if (ev.title.search("✈ Flight") > -1) { ev.title = ev.title.replace("✈ Flight", "Personal Event"); ev.color = 'yellow'; } if(ev.description.search("YCBM") > -1) { ev.title = "Client" } return ev },