Changing pages doesn't work - bugs in the console
majdzik84 opened this issue · 9 comments
Thank you for the great module.
Unfortunately, I have a problem with page switching.
My config:
{
module: 'MMM-pages',
config: {
modules:
[[ "weatherforecast", "newsfeed"],
[ "calendar", "compliments" ]],
fixed: [],
homePage: 0,
}
},
When I trigger the page change command I get errors and the page does not change.
http://192.168.2.200:8080/api/notification/PAGE_CHANGED?payload=1
Please post your full config, removing any personally identifiable information (including API keys).
Are you sure you have all those modules present in your config.js
? This looks like an error from MagicMirror itself, rather than MMM-pages.
/* Magic Mirror Config Sample
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*
* For more information on how you can configure this file
* See https://github.com/MichMich/MagicMirror#configuration
*
*/
var config = {
//address: "localhost", // Address to listen on, can be:
address: "0.0.0.0",
// - "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: [],
//ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.2.98", "::ffff:192.168.2.199"], // 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: "pl",
logLevel: ["INFO", "LOG", "WARN", "ERROR"],
timeFormat: 24,
units: "metric",
// serverOnly: true/false/"local" ,
// local for armv6l processors, default
// starts serveronly and then starts chrome browser
// false, default for all NON-armv6l devices
// true, force serveronly mode, because you want to.. no UI on this device
modules: [
{
module: "alert",
config: {
effect: "genie",}
},
{
module: "updatenotification",
position: "top_bar"
},
{
module: "clock",
position: "top_left"
},
{
module: "calendar",
header: "KALENDARZ",
position: "top_left",
config: {
maximumEntries: 8,
maximumNumberOfDays: 365,
showLocation: false,
maxTitleLength: 25,
maxLocationTitleLength: 25,
wrapEvents: true,
wrapLocationEvents: false,
maxTitleLines: 3,
maxEventTitleLines: 3,
animationSpeed: 2000,
fade: false,
fadePoint: 0.25,
displayRepeatingCountTitle: true,
dateFormat: "MMM Do HH:mm",
dateEndFormat: "MMM Do HH:mm",
//showEnd: true,
fullyDayEventDateFormat: "MMM D",
timeFormat: "absolute",
getRelative: 6,
urgency: 1,
broadcastEvents: true,
hidePrivate: false,
sliceMultiDayEvents: false,
nextDaysRelative: true,
colored: true,
calendars: [{
symbol: "calendar-check-o",
url: "xxxxics"
},
{
symbol: "birthday-cake",
color: '#ebd234',
url: "xxxcs"
},
{
symbol: "calendar-times",
color: "#d60000",
url: "https://www.thunderbird.net/media/caldata/PolishHolidays.ics"
}]
}
},
{
module: "compliments",
position: "lower_third"
},
{
module: "currentweather",
disabled: true,
position: "top_right",
config: {
location: "Potępa",
locationID: "xx", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
appid: "xxx"
}
},
{
module: "MMM-Currentweather-MQTT",
disabled: false,
position: "top_right",
config: {
location: "xxx",
locationID: "xxx", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
appid: "xxx",
roundTemp: false,
degreeLabel: true,
showWindDirection: true,
showWindDirectionAsArrow: true,
showHumidity: true,
showFeelsLike: true,
useBeaufort: false,
useKMPHwind: true,
logging: true,
useWildcards: false,
showIndoorTemperature: true,
mqttServers: [
{
address: '192.168.2.98', // Server address or IP address
port: '1883', // Port number if other than default
user: 'xxx',
password: 'xxx!',
subscriptions: [ // for now, all seven values must be
// specified in the config,
// even if they are not delivered and not displayed.
{
topic: 'mirror/pogoda/temperatura', // Topic to look for
suffix: '°C', // Displayed after the value
decimals: 1, // Round numbers to this number of decimals
sortOrder: 10, // sortOrder 10 has to contain the temperature
maxAgeSeconds: 18000, // take Openweather value if older than 5 hours
},
{
topic: 'mirror/pogoda/wilgotnosc',
suffix: '%',
decimals: 0,
sortOrder: 20, // sortOrder 210 has to contain the humidity
maxAgeSeconds: 18000,
},
{
topic: 'mirror/pogoda/temp_piec',
suffix: '°C',
decimals: 1,
sortOrder: 30, // sortOrder 30 has to contain the illumination
maxAgeSeconds: 18000,
},
{
topic: 'mirror/pogoda/wiatr',
suffix: '°C',
decimals: 1,
sortOrder: 40, // sortOrder 40 has to contain the wind speed
maxAgeSeconds: 18000,
},
{
topic: 'wetter/act-wind-dir',
suffix: '°',
decimals: 0,
sortOrder: 50, // sortOrder 50 has to contain the wind direction
maxAgeSeconds: 18000,
},
{
topic: 'wetter/raining',
suffix: '',
decimals: 0,
sortOrder: 60, // sortOrder 60 has to contain the boolean if its just raining
maxAgeSeconds: 18000,
conversions: [
{ from: "true", to: "tak" },
{ from: "false", to: "nie" }
]
},
{
topic: 'wetter/rain-today',
suffix: '',
decimals: 1,
sortOrder: 70, // sortOrder 70 has to contain the amount of rain today
maxAgeSeconds: 18000,
},
]
}
],
}
},
{
module: "weatherforecast",
disabled: false,
position: "top_right",
header: "Prognoza pogody",
config: {
lang: "pl",
locationID: "xx", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
appid: "xxx",
maxNumberOfDays: 5,
//colored: "false",
fade: false,
//fadePoint: 1,
showRainAmount: true,
scale: false,
}
},
{
module: 'MMM-MQTT',
position: 'top_right',
header: '',
config: {
logging: false,
useWildcards: false,
mqttServers: [
{
address: '192.168.2.98', // Server address or IP address
port: '1883', // Port number if other than default
user: 'xxxx', // Leave out for no user
password: 'xxxx!', // Leave out for no password
subscriptions: [
{
topic: 'mirror/pogoda/powietrze', // Topic to look for
label: 'Powietrze jest', // Displayed in front of value
suffix: '', // Displayed after the value
maxAgeSeconds: 350, // Reduce intensity if value is older
},
]
}
],
}
},
{
module: 'MMM-iFrame-Ping',
disabled: true,
config: {
// See 'Configuration options' for more information.
url: "http://192.168.2.98:8123/magic-mirror/kamera", //url to display
height:"100%",
width:"100%",
autoRefresh: true, //set to false for video
updateInterval: 1, //in min. Only if autoRefresh: true
displayLastUpdate: false,
width: "100%", // Optional. Default: 100%
height: "100%", //Optional. Default: 100px
scrolling: "no"
}
},
{
module: 'MMM-pages',
disabled: true,
config: {
modules:
[[ "weatherforecast", "newsfeed"],
[ "calendar", "compliments" ]],
fixed: [],
homePage: 0,
}
},
{
module: "MMM-NowPlayingOnSpotify",
position: "center",
disabled: false,
config: {
showCoverArt: true,
clientID: "xxx",
clientSecret: "xxx",
accessToken: "xxx",
refreshToken: "xxxxx"
}
},
{
module: 'MMM-Screencast',
position: 'bottom_center', // This position is for a hidden <div /> and not the screencast window
config: {
position: 'middle_center',
x: 420,
y: 420,
height: 400,
width: 600,
}
},
{
module: "newsfeed",
position: "bottom_bar",
config: {
feeds: [
{
title: "Wiadomości TVN24",
url: "https://www.tvn24.pl/najnowsze.xml"
},
{
title: "Wiadomości TVN24",
url: "https://www.tvn24.pl/najwazniejsze.xml"
}
],
showSourceTitle: false,
showPublishDate: true,
broadcastNewsFeeds: true,
broadcastNewsUpdates: true
}
},
{
module: 'MMM-Remote-Control',
config: {
}
},
{
module: 'MMM-MQTT',
position: 'bottom_right',
header: '',
config: {
logging: false,
useWildcards: false,
mqttServers: [
{
address: '192.168.2.98', // Server address or IP address
port: '1883', // Port number if other than default
user: 'xxx', // Leave out for no user
password: 'xxx!', // Leave out for no password
subscriptions: [
{
topic: 'mirror/pogoda/temp_piec', // Topic to look for
label: 'Temp.ogród: ', // Displayed in front of value
suffix: '°C', // Displayed after the value
maxAgeSeconds: 350, // Reduce intensity if value is older
},
{
topic: 'mirror/pogoda/co2', // Topic to look for
label: 'CO2 w salonie: ', // Displayed in front of value
suffix: 'ppm', // Displayed after the value
maxAgeSeconds: 350, // Reduce intensity if value is older
colors: [ // Value dependent colors
{ upTo: 500, value: "green", label: "green", suffix: "green" },
{ upTo: 600, label: "yellow", value: "yellow", suffix: "yellow" },
{ upTo: 900, label: "#ff4d00", value: "#ff4d00", suffix: "#ff4d00" },
{ upTo: 2000, label: "red", value: "red", suffix: "red" }, // The last one is used for higher values too
],
},
]
}
],
}
},
{
module: 'MMM-WiFiPassword',
position: "bottom_right",
config: {
//See 'Configuration options' for more information.
network: "xxx",
password: "xx",
header: "WiFi - Internet",
qrSize: 80,
showNetwork: false,
showPassword: false,
showAuthType: false,
}
},
{
module: 'MMM-homeassistant-sensors',
disabled: false,
position: 'bottom_left',
config: {
host: "xxx",
port: "xx",
https: false,
token: "xxxx",
prettyName: false,
stripName: false,
debuglogging: false,
updateInterval: 120000,
values: [{
sensor: "sensor.natalka_temperature",
alertThreshold: 26,
icons: [{
"default": "thermometer"
}
]
},{
sensor: "sensor.alicja_temperature",
alertThreshold: 26,
icons: [{
"default": "thermometer"
}
]
},{
sensor: "sensor.sypialnia_temperature",
alertThreshold: 26,
icons: [{
"default": "thermometer"
}
]
},
{
sensor: "sensor.salon_temperatura",
alertThreshold: 26,
icons: [{
"default": "thermometer"
}
]
},
{
sensor: "binary_sensor.zamek_front",
icons: [{
"state_off": "lock",
"state_on": "lock-open-variant"
}
]
},
{
sensor: "binary_sensor.zamek_tyl",
icons: [{
"state_off": "lock",
"state_on": "lock-open-variant"
}
]
},
{
sensor: "binary_sensor.brama_wjazdowa",
icons: [{
"state_off": "gate",
"state_on": "gate-open"
}
]
},
{
sensor: "binary_sensor.brama_lewa",
icons: [{
"state_off": "garage",
"state_on": "garage-open"
}
]
},
{
sensor: "binary_sensor.brama_prawa",
icons: [{
"state_off": "garage",
"state_on": "garage-open"
}
]
},
]
}
}, /*Tu*/
]
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") {module.exports = config;}
By chance, do you have errors about your config file? On line 224-225 (right after the weatherforcast
config), you have an extra },
-- can you try removing one of them?
Sorry, I got things mixed up recently. I updated the code. You can check now ?
This looks like a problem with MMM-Remote-Control: Jopyth/MMM-Remote-Control#155. I would suggest asking there for a possible workaround instead. MMM-pages does strict type checking, so it won't accept string payloads.
To verify this, you should've gotten a log message as well in the console: [Pages]: received a notification to change to page ...
where it mentions type string instead of type number.
I unfortunately don't know how others interface MMM-pages with MMM-Remote-Control, so I can't provide any help beyond this.
Yeah, there you go. Since it's not related to MMM-pages now, I'm going to close this issue, but feel free to continue discussion if you find a workaround.
"Actually, it's working as expected. You guys have to use /api/notification/PAGE_CHANGED/2
instead of sending a payload.
That actually parse the number into an integer, and send it as a payload. ;D" - Yeah !
Ah, glad to see it working!