Starting Live Log... info: CoreCommandRouter::volumioGetQueue info: CoreStateMachine::getQueue info: CorePlayQueue::getQueue info: CoreCommandRouter::executeOnPlugin: system , getHwuuid info: CoreCommandRouter::getUIConfigOnPlugin info: CoreCommandRouter::volumioGetState info: CorePlayQueue::getTrack 0 info: CALLMETHOD: system_controller system enableLiveLog true info: CoreCommandRouter::executeOnPlugin: system , enableLiveLog info: Launching a new LiveLog session info: CoreCommandRouter::executeOnPlugin: my_volumio , getMyVolumioStatus info: CoreCommandRouter::executeOnPlugin: my_volumio , getMyVolumioToken info: Disabling plugin serialampcontroller info: Done. info: [SERIALAMPCONTROLLER] openSerialPort: Port is now closed. info: [SERIALAMPCONTROLLER] onStop: closed serial Port info: Enabling plugin serialampcontroller info: Loading plugin "serialampcontroller"... info: Applying required configuration parameters for plugin serialampcontroller info: Applying required configuration parameters for plugin serialampcontroller info: PLUGIN START: serialampcontroller info: [SERIALAMPCONTROLLER] loadI18nStrings: /data/plugins/system_hardware/serialampcontroller/i18n/strings_en.json info: [SERIALAMPCONTROLLER] loadI18nStrings: loaded: {"PLUGIN_CONFIGURATION":"Serial Amplifier Control Configuration","SAVE":"Save","SERIAL_INTERFACE":"Serial Interface","SERIAL_INTERFACE_DEVICE":"Device","SET_DEBUG":"Debug Settings","D_SET_DEBUG":"Settings for functional debugging.","LOGGING":"Logging","D_LOGGING":"Switch the output of log messages on or off. Error messages are always logged.","AMP_SETTINGS":"Amplifier Settings","AMP_TYPE":"Brand/Type","D_AMP_TYPE":"After selecting press SAVE to populate the options drop-downs.","VOLUMIO_INPUT":"Volumio's Input","PAUSE_WHEN_MUTED":"Pause when Muted","D_PAUSE_WHEN_MUTED":"Pauses Volumio Playback when Amplifier is muted. Resumes Playback when Amplifier is unmuted.","MIN_VOLUME":"Minimum Volume","D_MIN_VOLUME":"The minimum Volume of the Amplifier that can be set from Volumio. You can always override this with the controls of the Amp directly.","MAX_VOLUME":"Maximum Volume","D_MAX_VOLUME":"The maximum Volume of the Amplifier that can be set from Volumio. You can always override this with the controls of the Amp directly.","VOLUME_STEPS":"Volume Steps per Click","D_VOLUME_STEPS":"The number of steps the volume gets incremented/decremented by if you press the +/- Volume buttons in Volumio. Only works for Amplifiers, which do not support dedicated volume up/down commands.","PAUSE_WHEN_INPUT_CHANGED":"Pause when Input changed","D_PAUSE_WHEN_INPUT_CHANGED":"Pauses Volumio Playback when Audio-Input of Amplifier is changed. Resumes Playback when Input is switched to the selected Volumio-Input.","SWITCH_INPUT_AT_PLAY":"Switch Input at Play","D_SWITCH_INPUT_AT_PLAY":"Activate the ampliefier input connected to Volumio when play is pressed.","STARTUP_VOLUME":"Startup Volume","D_STARTUP_VOLUME":"Volume setting at start of volumio or when Amplifier returns from Standby.","TOAST_SAVE_SUCCESS":"Successfully saved","TOAST_DEBUG_SAVE":"Debug Settings","TOAST_SERIAL_SAVE":"Serial Interface Settings","TOAST_AMP_SAVE":"Amplifier Settings","MAP_TO_100":"Map volume to 0-100","D_MAP_TO_100":"Map min and max Volume to range from 0 to 100","START_AT_POWERUP":"Start on Powerup","D_START_AT_POWERUP":"Switches Amplifier Input to Volumio and starts playback when Amplifier is powered up."} info: [SERIALAMPCONTROLLER] loadAmpDefinitions: loaded AmpDefinitions: {"syncSave":true,"autosave":true,"autosaveDelay":1000,"saved":true,"atomicSave":false,"data":{"amps":[{"vendor":"Rotel","model":"A12","baudRate":115200,"parity":"none","dataBits":8,"stopBits":1,"rtscts":false,"xon":false,"xoff":false,"xany":false,"sources":["CD","Coax1","Coax2","Opt1","Opt2","Aux1","Aux2","Tuner","Phono","USB","Bluetooth","PC-USB"],"sourceCmd":["cd!","coax1!","coax2!","opt1!","opt2!","aux1!","aux2!","tuner!","phono!","usb!","bluetooth!","pcusb!"],"sourceRespPostfix":["cd","coax1","coax2","opt1","opt2","aux1","aux2","tuner","phono","usb","bluetooth","pc_usb"],"delimiter":"$","commands":{"powerOn":"power_on!","powerToggle":"power_toggle!","volUp":"vol_up!","volDown":"vol_dwn!","volValue":"vol_##!","mute":"mute!","muteOn":"mute_on!","muteOff":"mute_off!"},"responses":[{"rx":"power=on","cmd":["respPowerOn"]},{"rx":"power=standby","cmd":["respPowerOff"]},{"rx":"volume=([0-9]{2})","cmd":["respVolume"]},{"rx":"mute=on","cmd":["respMuteOn"]},{"rx":"mute=off","cmd":["respMuteOff"]},{"rx":"source=([a-z_12]*)","cmd":["respSource"]}],"statusRequests":{"reqPower":"power?","reqSource":"source?","reqVolume":"volume?","reqMute":"mute?","reqModel":"model?"}},{"vendor":"Rotel","model":"A14","baudRate":115200,"parity":"none","dataBits":8,"stopBits":1,"rtscts":false,"xon":false,"xoff":false,"xany":false,"sources":["CD","Coax1","Coax2","Opt1","Opt2","Aux1","Aux2","Tuner","Phono","USB","Bluetooth","PC-USB"],"sourceCmd":["cd!","coax1!","coax2!","opt1!","opt2!","aux1!","aux2!","tuner!","phono!","usb!","bluetooth!","pcusb!"],"sourceRespPostfix":["cd","coax1","coax2","opt1","opt2","aux1","aux2","tuner","phono","usb","bluetooth","pc_usb"],"delimiter":"$","commands":{"powerOn":"power_on!","powerToggle":"power_toggle!","volUp":"vol_up!","volDown":"vol_dwn!","volValue":"vol_##!","mute":"mute!","muteOn":"mute_on!","muteOff":"mute_off!"},"responses":[{"rx":"power=on","cmd":["respPowerOn"]},{"rx":"power=standby","cmd":["respPowerOff"]},{"rx":"volume=([0-9]{2})","cmd":["respVolume"]},{"rx":"mute=on","cmd":["respMuteOn"]},{"rx":"mute=off","cmd":["respMuteOff"]},{"rx":"source=([a-z_12]*)","cmd":["respSource"]}],"statusRequests":{"reqPower":"power?","reqSource":"source?","reqVolume":"volume?","reqMute":"mute?","reqModel":"model?"}},{"vendor":"Rotel","model":"A11","baudRate":115200,"parity":"none","dataBits":8,"stopBits":1,"rtscts":false,"xon":false,"xoff":false,"xany":false,"sources":["CD","Aux1","Tuner","Phono","Bluetooth"],"sourceCmd":["cd!","aux1!","tuner!","phono!","bluetooth!"],"sourceRespPostfix":["cd","aux1","tuner","phono","bluetooth"],"delimiter":"$","commands":{"powerOn":"power_on!","powerToggle":"power_toggle!","volUp":"vol_up!","volDown":"vol_dwn!","volValue":"vol_##!","mute":"mute!","muteOn":"mute_on!","muteOff":"mute_off!"},"responses":[{"rx":"power=on","cmd":["respPowerOn"]},{"rx":"power=standby","cmd":["respPowerOff"]},{"rx":"volume=([0-9]{2})","cmd":["respVolume"]},{"rx":"mute=on","cmd":["respMuteOn"]},{"rx":"mute=off","cmd":["respMuteOff"]},{"rx":"source=([a-z_12]*)","cmd":["respSource"]}],"statusRequests":{"reqPower":"power?","reqSource":"source?","reqVolume":"volume?","reqMute":"mute?","reqModel":"model?"}},{"vendor":"Rotel","model":"RC-1570","baudRate":115200,"parity":"none","dataBits":8,"stopBits":1,"rtscts":false,"xon":false,"xoff":false,"xany":false,"sources":["CD","Coax1","Coax2","Opt1","Opt2","Aux1","Aux2","Tuner","Phono","USB","PC-USB","XLR"],"sourceCmd":["cd!","coax1!","coax2!","opt1!","opt2!","aux1!","aux2!","tuner!","phono!","usb!","pc_usb!","bal_xlr!"],"sourceRespPostfix":["cd","coax1","coax2","opt1","opt2","aux1","aux2","tuner","phono","usb","pc_usb","bal_xlr"],"delimiter":"!","commands":{"powerOn":"power_on!","powerToggle":"power_toggle!","volUp":"volume_up!","volDown":"volume_down!","volValue":"volume_#!","mute":"mute!","muteOn":"mute_on!","muteOff":"mute_off!"},"responses":[{"rx":"power=on","cmd":["respPowerOn"]},{"rx":"power=standby","cmd":["respPowerOff"]},{"rx":"volume=([0-9]{1,2})","cmd":["respVolume"]},{"rx":"mute=on","cmd":["respMuteOn"]},{"rx":"mute=off","cmd":["respMuteOff"]},{"rx":"source=([a-z_12]*)","cmd":["respSource"]}],"statusRequests":{"reqPower":"get_current_power!","reqSource":"get_current_source!","reqVolume":"get_volume!","reqMute":"get_mute_status!","reqModel":"get_product_type!"}},{"vendor":"Meridian","model":"DSP420","baudRate":9600,"parity":"none","dataBits":8,"stopBits":1,"rtscts":false,"xon":false,"xoff":false,"xany":false,"sources":["CD","Radio","LP","TV","Tape 1","Tape 2","CDR","Cable","DVD","VCR 1","VCR 2","Laser Disc"],"sourceCmd":["CD","RD","LP","TV","T1","T2","CR","CB","DV","V1","V2","LD"],"sourceRespPostfix":["CD","Radio","LP","TV","Tape1","Tape2","CDR","Cable","DVD","VCR1","VCR2","LDisc"],"delimiter":"\r\n","commands":{"powerToggle":"SB","volUp":"VP","volDown":"VM","volValue":"VN##!","mute":"MU"},"responses":[{"rx":"([A-Za-z0-9]{2,5}) *([0-9]{1,2})","cmd":["respSource","respVolume","respMuteOff"]},{"rx":"Mute","cmd":["respMuteOn"]},{"rx":"Standby","cmd":["respPowerOff"]}],"statusRequests":{}}]},"callbacks":{"_":{}},"filePath":"/data/configuration/system_hardware/serialampcontroller/ampCommands.json"} info: [SERIALAMPCONTROLLER] loadAmpDefinitions: loaded AmpDefinitions for 5 Amplifiers.  info: CoreCommandRouter::volumioGetState info: CorePlayQueue::getTrack 0 info: [SERIALAMPCONTROLLER] on.pushState: undefined - pause info: [SERIALAMPCONTROLLER] listSerialDevices: [{"path":"/dev/ttyAMA0"},{"manufacturer":"Prolific Technology Inc. ","serialNumber":"DJDFb113318","pnpId":"usb-Prolific_Technology_Inc._USB-Serial_Controller_DJDFb113318-if00-port0","vendorId":"067b","productId":"23a3","path":"/dev/ttyUSB0"}] info: [SERIALAMPCONTROLLER] listSerialDevices: found 1 devices.[{"manufacturer":"Prolific Technology Inc. ","serialNumber":"DJDFb113318","pnpId":"usb-Prolific_Technology_Inc._USB-Serial_Controller_DJDFb113318-if00-port0","vendorId":"067b","productId":"23a3","path":"/dev/ttyUSB0"}] info: [SERIALAMPCONTROLLER] setActiveAmp: {"vendor":"Rotel","model":"RC-1570","baudRate":115200,"parity":"none","dataBits":8,"stopBits":1,"rtscts":false,"xon":false,"xoff":false,"xany":false,"sources":["CD","Coax1","Coax2","Opt1","Opt2","Aux1","Aux2","Tuner","Phono","USB","PC-USB","XLR"],"sourceCmd":["cd!","coax1!","coax2!","opt1!","opt2!","aux1!","aux2!","tuner!","phono!","usb!","pc_usb!","bal_xlr!"],"sourceRespPostfix":["cd","coax1","coax2","opt1","opt2","aux1","aux2","tuner","phono","usb","pc_usb","bal_xlr"],"delimiter":"!","commands":{"powerOn":"power_on!","powerToggle":"power_toggle!","volUp":"volume_up!","volDown":"volume_down!","volValue":"volume_#!","mute":"mute!","muteOn":"mute_on!","muteOff":"mute_off!"},"responses":[{"rx":"power=on","cmd":["respPowerOn"]},{"rx":"power=standby","cmd":["respPowerOff"]},{"rx":"volume=([0-9]{1,2})","cmd":["respVolume"]},{"rx":"mute=on","cmd":["respMuteOn"]},{"rx":"mute=off","cmd":["respMuteOff"]},{"rx":"source=([a-z_12]*)","cmd":["respSource"]}],"statusRequests":{"reqPower":"get_current_power!","reqSource":"get_current_source!","reqVolume":"get_volume!","reqMute":"get_mute_status!","reqModel":"get_product_type!"}} info: [SERIALAMPCONTROLLER] setActiveAmp: can send these responses: respPowerOn,respPowerOff,respVolume,respMuteOn,respMuteOff,respSource. info: [SERIALAMPCONTROLLER] openSerialPort: connect to /dev/ttyUSB0 configured with: {"autoOpen":false,"lock":true,"baudRate":115200,"dataBits":8,"stopBits":1,"parity":"none","rtscts":false,"xon":false,"xoff":false,"xany":false} info: [SERIALAMPCONTROLLER] openSerialPort: Connection established. error: [SERIALAMPCONTROLLER] openSerialPort: Now trying to open port info: [SERIALAMPCONTROLLER] alsavolume: Set volume "25" info: [SERIALAMPCONTROLLER] alsavolume: either Serial Interface, listener or Ampconfig missing info: [SERIALAMPCONTROLLER] updateVolumeSettings: Amp, serial Interface not yet set or listener not yet active. info: [SERIALAMPCONTROLLER] onStart: successfully started plugin info: Done. info: [SERIALAMPCONTROLLER] openSerialPort: Port is now open. Connecting Parser with delimiter: ! info: [SERIALAMPCONTROLLER] getAmpStatus: sending status requests to Amp info: [SERIALAMPCONTROLLER] sendStatusRequest: Sent command for "reqModel": get_product_type! info: [SERIALAMPCONTROLLER] sendStatusRequest: Sent command for "reqPower": get_current_power! info: [SERIALAMPCONTROLLER] sendStatusRequest: Sent command for "reqVolume": get_volume! info: [SERIALAMPCONTROLLER] sendStatusRequest: Sent command for "reqMute": get_mute_status! info: [SERIALAMPCONTROLLER] sendStatusRequest: Sent command for "reqSource": get_current_source! info: [SERIALAMPCONTROLLER] openSerialPort: Listener received: product_type=07,RC-1570power=on (node:741) UnhandledPromiseRejectionWarning: ReferenceError: match is not defined at /data/plugins/system_hardware/serialampcontroller/index.js:350:39 at Array.forEach () at ReadLineParser. (/data/plugins/system_hardware/serialampcontroller/index.js:349:56) at ReadLineParser.emit (events.js:315:20) at addChunk (internal/streams/readable.js:309:12) at readableAddChunk (internal/streams/readable.js:280:11) at ReadLineParser.Readable.push (internal/streams/readable.js:223:10) at ReadLineParser.Transform.push (internal/streams/transform.js:166:32) at ReadLineParser._transform (/data/plugins/system_hardware/serialampcontroller/node_modules/@serialport/parser-delimiter/lib/index.js:35:12) at ReadLineParser.Transform._read (internal/streams/transform.js:205:10) at ReadLineParser.Transform._write (internal/streams/transform.js:193:12) at writeOrBuffer (internal/streams/writable.js:358:12) at ReadLineParser.Writable.write (internal/streams/writable.js:303:10) at SerialPort.ondata (internal/streams/readable.js:719:22) at SerialPort.emit (events.js:315:20) at addChunk (internal/streams/readable.js:309:12) (node:741) 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: 7) info: CoreCommandRouter::volumioGetState info: CorePlayQueue::getTrack 0 info: CoreCommandRouter::volumioPlay info: CoreStateMachine::play index undefined info: CoreStateMachine::setConsumeUpdateService undefined info: CorePlayQueue::getTrack 0 info: CoreStateMachine::startPlaybackTimer info: CorePlayQueue::getTrack 0 info: ControllerMpd::resume  info: ---------------------------- MPD announces state update: player info: sendMpdCommand play took 9 milliseconds info: ControllerMpd::getState  info: sendMpdCommand status took 1 milliseconds   info: sendMpdCommand playlistinfo took 5 milliseconds  info: ControllerMpd::pushState info: CoreCommandRouter::servicePushState info: CorePlayQueue::getTrack 0   info: CoreStateMachine::syncState stateService play info: CoreStateMachine::syncState currentStatus pause info: CoreStateMachine::pushState info: CorePlayQueue::getTrack 0 info: CoreCommandRouter::executeOnPlugin: volumiodiscovery , saveDeviceInfo info: CoreCommandRouter::volumioPushState info: CoreStateMachine::pushState info: CorePlayQueue::getTrack 0 info: CoreCommandRouter::volumioPushState info: ------------------------------ 52ms info: [SERIALAMPCONTROLLER] on.pushState: undefined - play info: [SERIALAMPCONTROLLER] sendCommand: send source,PC-USB info: [SERIALAMPCONTROLLER] sendCommand: now sending cmdString: pc_usb! info: [SERIALAMPCONTROLLER] on.pushState: undefined - play info: [SERIALAMPCONTROLLER] sendCommand: send source,PC-USB info: [SERIALAMPCONTROLLER] sendCommand: now sending cmdString: pc_usb! info: [SERIALAMPCONTROLLER] sendCommand: sent cmdString: pc_usb! info: [SERIALAMPCONTROLLER] sendCommand: sent cmdString: pc_usb! info: CoreCommandRouter::getUIConfigOnPlugin info: CoreCommandRouter::executeOnPlugin: i2s_dacs , getI2sOptions info: CoreCommandRouter::executeOnPlugin: system , getConfigParam info: CoreCommandRouter::executeOnPlugin: i2s_dacs , getI2sStatus info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam info: CoreCommandRouter::executeOnPlugin: mpd , getPlaybackMode info: CoreCommandRouter::executeOnPlugin: system , getAdvancedSettingsStatus info: CoreCommandRouter::volumioPause info: CoreStateMachine::pause info: CoreStateMachine::stPlaybackTimer info: CoreStateMachine::servicePause info: CorePlayQueue::getTrack 0 info: CoreCommandRouter::servicePause info: ControllerMpd::pause  info: ---------------------------- MPD announces state update: player info: sendMpdCommand pause took 37 milliseconds info: ControllerMpd::getState  info: sendMpdCommand status took 1 milliseconds   info: sendMpdCommand playlistinfo took 1 milliseconds  info: ControllerMpd::pushState info: CoreCommandRouter::servicePushState info: CorePlayQueue::getTrack 0   info: CoreStateMachine::syncState stateService pause info: CoreStateMachine::syncState currentStatus pause info: CoreStateMachine::pushState info: CorePlayQueue::getTrack 0 info: CoreCommandRouter::executeOnPlugin: volumiodiscovery , saveDeviceInfo info: CoreCommandRouter::volumioPushState info: CoreStateMachine::stPlaybackTimer info: ------------------------------ 32ms info: [SERIALAMPCONTROLLER] on.pushState: undefined - pause process exited with code null