Read the statement by Michael Teeuw here.
MMM-Navigate, Navigation inside MagicMirror with Rotary Encoder
-
@Eisblume
Please post your config and make sure your private keys are x-ed. So i can try to copy your setup to my test pi and maybe find out whats the reason. That your rotary encoder generally works is good to know.
AxLED -
Ok, thanks @AxLed !!
config.js:
/* Magic Mirror Config Sample * * By Michael Teeuw http://michaelteeuw.nl * MIT Licensed. * * For more information how you can configurate this file * See https://github.com/MichMich/MagicMirror#configuration * */ var config = { address: "0.0.0.0", // 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, is "localhost" port: 8080, ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.1/120", "192.168.1.1/24"], // 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"], language: "de", timeFormat: 24, units: "metric", modules: [ { module: "alert", }, { module: "clock", position: "top_left" }, { module: "MMM-Navigate", header: "Navigation", position: "top_left", config: { Alias: [ 'Seiten blättern', 'News (mehr/weniger Details)', 'Test notification', 'News - mehr Details', 'News - weniger Details', 'Neustart MagicMirror (PM2)', 'Neustart', 'Herunterfahren' ], Action: [ [{notification:'PAGE_INCREMENT',payload:''},{notification:'PAGE_DECREMENT',payload:''}],//action array, first press locks menu, after this rotation CW/CCW executes, second press release lock mode [{notification:'ARTICLE_MORE_DETAILS',payload:''},{notification:'ARTICLE_LESS_DETAILS',payload:''}], {notification: "SHOW_ALERT", payload: {type:"notification",message:"Dies ist eine Testnachricht"}},//single action, execute on press {notification:'ARTICLE_MORE_DETAILS',payload:''}, {notification:'ARTICLE_LESS_DETAILS',payload:''}, {notification: "REMOTE_ACTION", payload: {action: "RESTART"}}, {notification: "REMOTE_ACTION", payload: {action: "REBOOT"}}, {notification: "REMOTE_ACTION", payload: {action: "SHUTDOWN"}} ], GPIOPins: [26,20,19]//rotary cw, rotary ccw, rotary press (BCM Numbering) }, }, { module: 'MMM-Remote-Control', // uncomment the following line to show the URL of the remote control on the mirror // , position: 'bottom_left' // you can hide this module afterwards from the remote control itself config: { customCommand: {}, // Optional, See "Using Custom Commands" below customMenu: "custom_menu.json", // Optional, See "Custom Menu Items" below showModuleApiMenu: true, // Optional, Enable the Module Controls menu apiKey: "" // Optional, See API/README.md for details } }, { module: "updatenotification", position: "top_bar" }, { module: "calendar", header: "Familie Reetz", position: "top_left", config: { calendars: [ { symbol: "calendar-check", url: "webcal://pxxxxxxm/xxxxxxxKSw_tdQ8WGeTZVjgr6Vwn1HDxxxxxxx5OuupPnKOIExxxx" } ] } }, // { // module: "compliments", // position: "lower_third" // }, { module: "currentweather", position: "top_right", config: { location: "xxxx", locationID: "xxx", //ID from http://bulk.openweathermap.org/sample/; unzip the gz file and find your city appid: "xxxxx" } }, { module: "weatherforecast", position: "top_right", header: "Wettervorhersage", config: { location: "xxxx", locationID: "xxxx", //ID from https://openweathermap.org/city appid: "xxxxx" } }, { module: "newsfeed", position: "bottom_bar", config: { feeds: [ { title: "Tagesschau", url: "http://www.tagesschau.de/xml/rss2" //url: "http://www.nytimes.com/services/xml/rss/nyt/HomePage.xml" } ], showSourceTitle: true, showPublishDate: true } }, { module: "MMM-Fuel", position: "bottom_left", config: { api_key: "xxxxx", lat: 123456, lng: 654321, types: ["diesel"], radius: 15, max: 3 } }, { module: 'MMM-Dreambox', header: 'Vu+ Ultimo4K powered by VTi', position: 'bottom_right', config: { apiBase: 'http://192.168.1.50:90', //omxargs: ' --vol -6000 --win 0,625,590,957 --live ', omxargs: ' --win 600,60,1490,940 -o both ', refreshInterval: 1000 * 30, //refresh every 30 seconds apibouquet: 0, //bouquet, if there is more than one under apiservices (/web/getallservices), apiRecordingsID: 0, //which recording folder should be listed listmax: 10, apiabout: '/web/about', apiservices: '/web/getallservices', apiepgnow: '/web/epgnow?bRef=', apizap: '/web/zap?sRef=', apiTimerlist: '/web/timerlist', apiServicelistplayable: '/web/servicelistplayable?sRef=', apiLocations: '/web/getlocations', //where are the recording folders listed apiMovielist: '/web/movielist?dirname=' //link for opening recording folder and list recordings } }, ] }; /*************** DO NOT EDIT THE LINE BELOW ***************/ if (typeof module !== "undefined") {module.exports = config;}
-
@Eisblume
I tested wih modules of your config.My testconfiguration:
- Raspberry Pi 1
- MagicMirror v2.7.1
- npm v6.8.0
- node v8.9.0
- no electron (as i dont run/installable on Pi 1), i run
node serveronly
- display: Webbrowser
My rotary encoder works as follows:
Seite blättern
(press works and gives a red frame an a lock sign, cw an ccw dont work, as MMM-Pages isnt part of your config)News (mehr/weniger Details)
(press works and gives a red frame an a lock sign, cw an ccw works)Test notification
(press works, no cw or ccw functionality by design)News - mehr Details
(press works, no cw or ccw functionality by design)News - weniger Details
(press works, no cw or ccw functionality by design)Neustart MagicMirror (PM2)
(dont work in my testconfiguration, as i dont use PM on RPI1)Neustart
(press works, there is a pop up notification to press twice for reeboot, requires MMM-Remote-Control)Herunterfahren
(press works, there is a pop up notification to press twice for shutdown, requires MMM-Remote-Control)
Two ideas:
- wrong cabeling, here are the 3 pins for CW, CW and PRESS of your config.js (
GPIOPins: [26,20,19]
)
- messed up setup, try to save your config and reinstall raspian an MM
Greets
AxLED
-
Thank you so much for your help. But It still doesn’t work.
The cabeling is correct I checked it many times ;-)
The crazy thing is, when I remove ground, the press button works, but not the cw and cww.
I think, I will try a clean reinstall on my RPi3.
-
@AxLed
Also after clean install with nothing more, the default modules and MMM-Navigate and MMM-Remote-Controll it doesn’t work.Here you can see: https://youtu.be/G2eRoPxRPjU
Only when I remove ground, the press action works. But then, the cw and cww doesn’t work…
-
@Eisblume
Thanks for your reply, i tested at my pi with disconnected ground cable, but there is no press, cw or ccw working at all.
My last ideas:- can you messure your 5 cables if maybe one is interrupted
- maybe there are two versions of KY-040 on the marked, i have this one Amazon
- is your second rotary encoder shows same symptoms?
- did you connect + of rotary encoder to 5V once (which would be wrong and maybe damaged your GPIO PINs/chip)?
AxLED
-
@AxLed
Do not think that I am lying ;-), but it works fine, when I start MagicMirror and after that I start the python - script from here https://github.com/martinohanlon/KY040.cw, cww and press works absolutely fine.
It is very strange.
-
@AxLed
Ok, i fix it now for me.I know, it is a dirty code, but don’t found another solution :dizzy_face:
I attached the KY040 python script in the node_helper.js. Then everything works fine.
//node_helper.js /* Magic Mirror * Node Helper: {MMM-Navigate} * * By {AxLED} * {MIT} Licensed. */ //Debugging //tail -f ~/.pm2/logs/mm-out-0.log //tail -f ~/.pm2/logs/mm-error-0.log const Gpio = require('onoff').Gpio; ... const spawn = require("child_process").spawn; //Variables ... start: function() { var self = this; this.loaded = false; var process = spawn("python", ["/home/pi/Downloads/KY040/examples/python3.py"]); }, ... });
-
@Eisblume
No Problem, i am glad it works for you now, so you also did your first coding experiance.AxLED
-
@AxLed
Yes very interesting experiences :-) !Could you explain my how to start “Tagesschau in 100 Sekunden” in MMM-Navigate ??