Hi T0MR0,
with the latest version 1.0.7 I canāt have two rotary encoders working at the same time, it used to work with the previous version.
If I enable one at the time they work, I did this test to exclude HW problem from the possible root-cause. When I enable two, the push button is recognized for both, but for the rotation only the one with higher number works, the other one doesnāt (I also donāt get any debug message with journalctl | grep -i encoder)
Here the journalctl log right after reboot
volumio@basscrab:~$ journalctl | grep -i encoder
Nov 26 14:56:46 basscrab volumio[774]: info: Loading plugin "rotaryencoder2"...
Nov 26 14:56:49 basscrab volumio[774]: info: [ROTARYENCODER2] loadI18nStrings: /data/plugins/user_interface/rotaryencoder2/i18n/strings_en.json
Nov 26 14:56:49 basscrab volumio[774]: info: [ROTARYENCODER2] loadI18nStrings: loaded: {"ROTARYENCODER2":{"CONFIG":"Rotary Encoder II Plugin Configuration","SAVE":"Save","ENCODER0":"Rotary Encoder 1","D_ENCODER0":"Settings for the first rotary encoder.","ENCODER1":"Rotary Encoder 2","D_ENCODER1":"Settings for the second rotary encoder.","ENCODER2":"Rotary Encoder 3","D_ENCODER2":"Settings for the third rotary encoder.","ROTARYTYPE":"Periods per tick","D_ROTARYTYPE":"Periods per tick (Full: A and B full period, half: A and B half period, quarter: A or B half period","FULL":"Full-period mode","HALF":"Half-period mode","QUARTER":"Quarter-period mode","PINA":"Pin A GPIO","D_PINA":"GPIO pin that is connected to the first pin of the rotary.","PINB":"Pin B GPIO","D_PINB":"GPIO pin that is connected to the second pin of the rotary.","DIALACTION":"Dial Action","D_DIALACTION":"Action to be triggered by turning the rotary encocer. Option 'Emit Websocket Message' can be used to control other plugins using the Volumio Websock calls between Plugins. (see https://volumio.github.io/docs/API/WebSocket_APIs.html section 'CallMethod on Plugin' for details)","DOTS":"...","VOLUME":"Volume","SKIP":"Prev/Next title","SEEK":"Seek in title","SCROLL":"Scroll","EMIT":"Emit Websocket Message","SOCKCMDCCW":"Command CCW","SOCKDATACCW":"Data CCW","SOCKCMDCW":"Command CW","SOCKDATACW":"Data CW","SOCKCMD":"Command","SOCKDATA":"Data","D_SOCKCMD":"Command to send via Websocket","D_SOCKDATA":"Data to include with the Websocket Command","PINPUSH":"Pushbutton GPIO","D_PINPUSH":"GPIO pin that is connected to the pushbutton pin of the rotary. 0 or empty to disable.","PINPUSHDEBOUNCE":"Debounce-time (ms)","D_PINPUSHDEBOUNCE":"Debounce time for the button. If the button has hardware-debouncing, set to 0.","PUSHSTATE":"Button logic-level active low","D_PUSHSTATE":"Activate this, if pressing the button pulls the logic level on the GPIO low.","PUSHACTION":"Short Press Action","D_PUSHACTION":"Action that gets triggered, when pushbutton is pressed briefly.","LONGPUSHACTION":"Long Press Action","D_LONGPUSHACTION":"Action that gets triggered, when pushbutton is pressed longer.","SET_DEBUG":"Debug Settings","D_SET_DEBUG":"Settings for functional debugging.","PLAY":"Play","PAUSE":"Pause","PLAYPAUSE":"Play/Pause toggle","STOP":"Stop","REPEAT":"Repeat","RANDOM":"Random","CLEARQUEUE":"Clear Queue","MUTE":"Mute","UNMUTE":"Unmute","TOGGLEMUTE":"Toggle Mute","SHUTDOWN":"System Shutdown","REBOOT":"System Reboot","RESTARTAPP":"Restart Application","DUMPLOG":"Dump logfile","LOGGING":"Logging","D_LOGGING":"Switch the output of log messages on or off. Error messages are always logged.","TOAST_START_SUCCESS":"Plugin successfully started.","TOAST_STOP_SUCCESS":"Plugin successfully stopped.","TOAST_START_FAIL":"Plugins failed to start.","TOAST_STOP_FAIL":"Plugins failed to stop.","TOAST_GPIO_BLOCKED":"GPIO Pin unavailable","TOAST_MSG_OVERLAY_BLOCKING":"Blocked by another overlay.","TOAST_SAVE_SUCCESS":"Successfully saved","TOAST_MSG_SAVE":"Settings for Encoder ","TOAST_DEBUG_SAVE":"Debug Settings","TOAST_SAVE_FAIL":"Save failed","TOAST_WRONG_PARAMETER":"Error in parameters","TOAST_NEEDS_INTEGER":"GPIO Pins must be Integers.","TOAST_PINS_DIFFERENT":"GPIO Pins for A/B/Button must be different.","TOAST_PINS_BLOCKED":"Pins already used in another Encoder.","TOAST_NO_TYPE":"Please select 'Periods per tick'!"}}
Nov 26 14:56:49 basscrab volumio[774]: info: [ROTARYENCODER2] onStart: Config loaded: {"syncSave":true,"autosave":true,"autosaveDelay":1000,"saved":true,"atomicSave":false,"data":{"enabled0":{"type":"boolean","value":true},"rotaryType0":{"type":"number","value":1},"pinA0":{"type":"string","value":"5"},"pinB0":{"type":"string","value":"6"},"dialAction0":{"type":"number","value":2},"socketCmdCW0":{"type":"string","value":""},"socketDataCW0":{"type":"string","value":""},"socketCmdCCW0":{"type":"string","value":""},"socketDataCCW0":{"type":"string","value":""},"pinPush0":{"type":"number","value":7},"pinPushDebounce0":{"type":"number","value":0},"pushState0":{"type":"boolean","value":true},"pushAction0":{"type":"number","value":3},"socketCmdPush0":{"type":"string","value":""},"socketDataPush0":{"type":"string","value":""},"longPushAction0":{"type":"number","value":12},"socketCmdLongPush0":{"type":"string","value":""},"socketDataLongPush0":{"type":"string","value":""},"enabled1":{"type":"boolean","value":true},"rotaryType1":{"type":"number","value":1},"pinA1":{"type":"string","value":"8"},"pinB1":{"type":"string","value":"9"},"dialAction1":{"type":"number","value":1},"socketCmdCW1":{"type":"string","value":""},"socketDataCW1":{"type":"string","value":""},"socketCmdCCW1":{"type":"string","value":""},"socketDataCCW1":{"type":"string","value":""},"pinPush1":{"type":"number","value":10},"pinPushDebounce1":{"type":"number","value":0},"pushState1":{"type":"boolean","value":true},"pushAction1":{"type":"number","value":10},"socketCmdPush1":{"type":"string","value":""},"socketDataPush1":{"type":"string","value":""},"longPushAction1":{"type":"number","value":11},"socketCmdLongPush1":{"type":"string","value":""},"socketDataLongPush1":{"type":"string","value":""},"enabled2":{"type":"boolean","value":false},"rotaryType2":{"type":"number","value":0},"pinA2":{"type":"string","value":""},"pinB2":{"type":"string","value":""},"dialAction2":{"type":"number","value":0},"socketCmdCW2":{"type":"string","value":""},"socketDataCW2":{"type":"string","value":""},"socketCmdCCW2":{"type":"string","value":""},"socketDataCCW2":{"type":"string","value":""},"pinPush2":{"type":"number","value":0},"pinPushDebounce2":{"type":"number","value":0},"pushState2":{"type":"boolean","value":false},"pushAction2":{"type":"number","value":0},"socketCmdPush2":{"type":"string","value":""},"socketDataPush2":{"type":"string","value":""},"longPushAction2":{"type":"number","value":0},"socketCmdLongPush2":{"type":"string","value":""},"socketDataLongPush2":{"type":"string","value":""},"logging":{"type":"boolean","value":true}},"callbacks":{"_":{}},"filePath":"/data/configuration/user_interface/rotaryencoder2/config.json"}
Nov 26 14:56:49 basscrab volumio[774]: info: [ROTARYENCODER2] activateRotaries: 1,2,3
Nov 26 14:56:49 basscrab volumio[774]: info: [ROTARYENCODER2] activateRotaries: 1,2
Nov 26 14:56:49 basscrab volumio[774]: info: [ROTARYENCODER2] activateRotaries: 1
Nov 26 14:56:49 basscrab volumio[774]: info: [ROTARYENCODER2] activateRotaries:
Nov 26 14:56:49 basscrab volumio[774]: info: [ROTARYENCODER2] activateRotaries: end of recursion.
Nov 26 14:56:49 basscrab volumio[774]: info: [ROTARYENCODER2] addOverlay: 5 6 1
Nov 26 14:56:49 basscrab sudo[965]: volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/dtoverlay rotary-encoder pin_a=5 pin_b=6 relative_axis=true steps-per-period=1
Nov 26 14:56:50 basscrab kernel: rotary-encoder rotary@5: gray
Nov 26 14:56:50 basscrab volumio[774]: info: [ROTARYENCODER2] attachListener: /dev/input/by-path/platform-rotary@5-event
Nov 26 14:56:50 basscrab volumio[774]: info: [ROTARYENCODER2] addEventHandle for rotary: 1
Nov 26 14:56:50 basscrab volumio[774]: info: [ROTARYENCODER2] addOverlay: 8 9 1
Nov 26 14:56:50 basscrab sudo[998]: volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/dtoverlay rotary-encoder pin_a=8 pin_b=9 relative_axis=true steps-per-period=1
Nov 26 14:56:50 basscrab kernel: rotary-encoder rotary@8: gray
Nov 26 14:56:50 basscrab volumio[774]: info: [ROTARYENCODER2] attachListener: /dev/input/by-path/platform-rotary@8-event
Nov 26 14:56:50 basscrab volumio[774]: info: [ROTARYENCODER2] addEventHandle for rotary: 2
Nov 26 14:56:50 basscrab volumio[774]: info: [ROTARYENCODER2] activateButtons: 1,2,3
Nov 26 14:56:50 basscrab volumio[774]: info: [ROTARYENCODER2] activateButtons: 1,2
Nov 26 14:56:50 basscrab volumio[774]: info: [ROTARYENCODER2] activateButtons: 1
Nov 26 14:56:50 basscrab volumio[774]: info: [ROTARYENCODER2] activateButtons:
Nov 26 14:56:50 basscrab volumio[774]: info: [ROTARYENCODER2] activateButtons: end of recursion.
Nov 26 14:56:50 basscrab volumio[774]: info: [ROTARYENCODER2] activateButtons: Now assign push button: 1
Nov 26 14:56:50 basscrab volumio[774]: info: [ROTARYENCODER2] Push Button 1 now resolving.
Nov 26 14:56:50 basscrab volumio[774]: info: [ROTARYENCODER2] activateButtons: Now assign push button: 2
Nov 26 14:56:50 basscrab volumio[774]: info: [ROTARYENCODER2] Push Button 2 now resolving.
Nov 26 14:56:50 basscrab volumio[774]: info: [ROTARYENCODER2] onStart: Plugin successfully started.
volumio@basscrab:~$