RPi-Jukebox-RFID: Websocket connections fail on firefox
Describe your problem
The UI only loads partially, dynamic values like volume, CPU temperature ect. display a permanent spinner-icon. In the dev-console it is apparent that the connection to the websocket ws://192.168.1.222:5556 and *:5557, respectively (where the IP is the IP of the box)
Connection on same machine using chrome browser works.
The only difference I can spot is the header value Sec-Websocket-Extensions on the ws-request:
Firefox: Sec-WebSocket-Extensions: permessage-deflate
Chrome: Sec-Websocket-Extensions: permessage-deflate; client_max_window_bits
What’s your hardware set up?
Rock64 with DietPi
Log:
01.01.2024 20:51:01 - 41:daemon.py - jb.daemon - MainThread - INFO - Starting Jukebox Daemon (Version 3.5.0-alpha)
01.01.2024 20:51:01 - 44:daemon.py - jb.daemon - MainThread - INFO - Git state: c122387e [2024-01-01] Add NFCPy support (HEAD -> feature/nfcpy_backend, private/feature/nfcpy_backend) [v3.5.0-alpha-7-gc122387e]
01.01.2024 20:51:01 - 317:cfghandler.py - jb.cfghandler - MainThread - INFO - (jukebox) Loading yaml file '/home/pi/RPi-Jukebox-RFID/shared/settings/jukebox.yaml'
01.01.2024 20:51:01 - 230:cfghandler.py - jb.cfghandler - MainThread - DEBUG - (jukebox) Replacing current config data
01.01.2024 20:51:01 - 53:daemon.py - jb.daemon - MainThread - INFO - Welcome to Jukebox
01.01.2024 20:51:01 - 54:daemon.py - jb.daemon - MainThread - INFO - Time of start: Mon Jan 1 20:51:01 2024
01.01.2024 20:51:01 - 549:plugs.py - jb.plugin - MainThread - INFO - Loading plugin 'components.publishing' as 'publishing'
01.01.2024 20:51:01 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.publishing.republish' as 'publishing.republish' (<class 'function'>)
01.01.2024 20:51:01 - 574:plugs.py - jb.plugin - MainThread - DEBUG - Package load initializer: calling publishing.initialize()
01.01.2024 20:51:01 - 229:server.py - jb.pub.server - MainThread - DEBUG - PublishServer initialized (Pyzmq version: 25.1.2; ZMQ version: 4.3.4; has draft API: False)
01.01.2024 20:51:01 - 549:plugs.py - jb.plugin - MainThread - INFO - Loading plugin 'components.volume' as 'volume'
01.01.2024 20:51:01 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PulseVolumeControl.toggle_output
01.01.2024 20:51:01 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PulseVolumeControl.get_outputs
01.01.2024 20:51:01 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PulseVolumeControl.publish_volume
01.01.2024 20:51:01 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PulseVolumeControl.publish_outputs
01.01.2024 20:51:01 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PulseVolumeControl.set_volume
01.01.2024 20:51:01 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PulseVolumeControl.get_volume
01.01.2024 20:51:01 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PulseVolumeControl.change_volume
01.01.2024 20:51:01 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PulseVolumeControl.get_mute
01.01.2024 20:51:01 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PulseVolumeControl.mute
01.01.2024 20:51:01 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PulseVolumeControl.set_output
01.01.2024 20:51:01 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PulseVolumeControl.set_soft_max_volume
01.01.2024 20:51:01 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PulseVolumeControl.get_soft_max_volume
01.01.2024 20:51:01 - 574:plugs.py - jb.plugin - MainThread - DEBUG - Package load initializer: calling volume.initialize()
01.01.2024 20:51:01 - 249:__init__.py - jb.pulse - PulseMon - INFO - Start Pulse Monitor Thread
01.01.2024 20:51:01 - 264:server.py - jb.pub.server - PubServer - INFO - New subscription for topic b'batt_status'
01.01.2024 20:51:01 - 264:server.py - jb.pub.server - PubServer - INFO - New subscription for topic b'core.plugins.loaded'
01.01.2024 20:51:01 - 264:server.py - jb.pub.server - PubServer - INFO - New subscription for topic b'core.started_at'
01.01.2024 20:51:01 - 264:server.py - jb.pub.server - PubServer - INFO - New subscription for topic b'core.version'
01.01.2024 20:51:01 - 614:__init__.py - jb.pulse - MainThread - INFO - Ignoring secondary audio output configuration because it is missing or incomplete
01.01.2024 20:51:01 - 264:server.py - jb.pub.server - PubServer - INFO - New subscription for topic b'host.temperature.cpu'
01.01.2024 20:51:01 - 353:__init__.py - jb.pulse - MainThread - DEBUG - Configured audio sinks: [PaSink(alias='Built-in speakers', pulse_sink_name='alsa_output.platform-analog-sound.stereo-fallback', volume_limit=100)]
01.01.2024 20:51:01 - 264:server.py - jb.pub.server - PubServer - INFO - New subscription for topic b'host.timer.cputemp'
01.01.2024 20:51:01 - 549:plugs.py - jb.plugin - MainThread - INFO - Loading plugin 'components.jingle' as 'jingle'
01.01.2024 20:51:01 - 264:server.py - jb.pub.server - PubServer - INFO - New subscription for topic b'playerstatus'
01.01.2024 20:51:01 - 264:server.py - jb.pub.server - PubServer - INFO - New subscription for topic b'rfid.card_id'
01.01.2024 20:51:01 - 264:server.py - jb.pub.server - PubServer - INFO - New subscription for topic b'volume.level'
01.01.2024 20:51:01 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.jingle.play' as 'jingle.play' (<class 'function'>)
01.01.2024 20:51:01 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.jingle.play_startup' as 'jingle.play_startup' (<class 'function'>)
01.01.2024 20:51:01 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.jingle.play_shutdown' as 'jingle.play_shutdown' (<class 'function'>)
01.01.2024 20:51:01 - 574:plugs.py - jb.plugin - MainThread - DEBUG - Package load initializer: calling jingle.initialize()
01.01.2024 20:51:01 - 549:plugs.py - jb.plugin - MainThread - INFO - Loading plugin 'components.jingle.alsawave' as 'jingle.alsawave'
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging AlsaWave.play
01.01.2024 20:51:02 - 321:plugs.py - jb.plugin - MainThread - DEBUG - Decorating class components.jingle.alsawave.AlsaWave for auto-assignment into package 'jingle.alsawave'
01.01.2024 20:51:02 - 574:plugs.py - jb.plugin - MainThread - DEBUG - Package load initializer: calling jingle.alsawave.initialize()
01.01.2024 20:51:02 - 340:plugs.py - jb.plugin - MainThread - DEBUG - Instantiating decorated class 'components.jingle.alsawave.AlsaWave' and register as 'jingle.alsawave.alsawave'
01.01.2024 20:51:02 - 293:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting an instance of class 'components.jingle.alsawave.AlsaWave' as 'jingle.alsawave.alsawave'
01.01.2024 20:51:02 - 24:__init__.py - jb.jingle - MainThread - DEBUG - Register 'wav' in <class 'components.jingle.JingleFactory'>.
01.01.2024 20:51:02 - 549:plugs.py - jb.plugin - MainThread - INFO - Loading plugin 'components.jingle.jinglemp3' as 'jingle.jinglemp3'
01.01.2024 20:51:02 - 321:plugs.py - jb.plugin - MainThread - DEBUG - Decorating class components.jingle.jinglemp3.JingleMp3Play for auto-assignment into package 'jingle.jinglemp3'
01.01.2024 20:51:02 - 347:plugs.py - jb.plugin - MainThread - DEBUG - Auto-tagging all methods and functions of class 'components.jingle.jinglemp3.JingleMp3Play'
01.01.2024 20:51:02 - 574:plugs.py - jb.plugin - MainThread - DEBUG - Package load initializer: calling jingle.jinglemp3.initialize()
01.01.2024 20:51:02 - 340:plugs.py - jb.plugin - MainThread - DEBUG - Instantiating decorated class 'components.jingle.jinglemp3.JingleMp3Play' and register as 'jingle.jinglemp3.jinglemp3'
01.01.2024 20:51:02 - 293:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting an instance of class 'components.jingle.jinglemp3.JingleMp3Play' as 'jingle.jinglemp3.jinglemp3'
01.01.2024 20:51:02 - 24:__init__.py - jb.jingle - MainThread - DEBUG - Register 'mp3' in <class 'components.jingle.JingleFactory'>.
01.01.2024 20:51:02 - 549:plugs.py - jb.plugin - MainThread - INFO - Loading plugin 'components.playermpd' as 'player'
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging GenericTimerClass.start
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging GenericTimerClass.cancel
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging GenericTimerClass.toggle
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging GenericTimerClass.trigger
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging GenericTimerClass.is_alive
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging GenericTimerClass.get_timeout
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging GenericTimerClass.set_timeout
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging GenericTimerClass.publish
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging GenericTimerClass.get_state
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging GenericMultiTimerClass.start
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging GenericMultiTimerClass.get_state
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.get_player_type_and_version
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.update
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.update_wait
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.play
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.stop
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.pause
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.prev
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.next
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.seek
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.shuffle
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.rewind
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.replay
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.toggle
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.replay_if_stopped
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.repeatmode
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.get_current_song
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.map_filename_to_playlist_pos
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.remove
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.move
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.play_single
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.resume
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.play_card
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.get_single_coverart
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.get_album_coverart
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.get_folder_content
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.play_folder
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.play_album
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.queue_load
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.playerstatus
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.playlistinfo
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.list_all_dirs
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.list_albums
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.list_songs_by_artist_and_album
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging PlayerMPD.get_song_by_url
01.01.2024 20:51:02 - 574:plugs.py - jb.plugin - MainThread - DEBUG - Package load initializer: calling player.initialize()
01.01.2024 20:51:02 - 592:plugs.py - jb.plugin - MainThread - ERROR - Ignoring failed package load for 'playermpd'
01.01.2024 20:51:02 - 593:plugs.py - jb.plugin - MainThread - ERROR - Reason: TypeError: expected str, bytes or os.PathLike object, not NoneType
01.01.2024 20:51:02 - 594:plugs.py - jb.plugin - MainThread - ERROR - Detailed reason:
Traceback (most recent call last):
File "/home/pi/RPi-Jukebox-RFID/src/jukebox/jukebox/plugs.py", line 589, in load_all_named
load(package, load_as, prefix)
File "/home/pi/RPi-Jukebox-RFID/src/jukebox/jukebox/plugs.py", line 579, in load
raise e
File "/home/pi/RPi-Jukebox-RFID/src/jukebox/jukebox/plugs.py", line 576, in load
func()
File "/home/pi/RPi-Jukebox-RFID/src/jukebox/components/playermpd/__init__.py", line 689, in initialize
player_ctrl = PlayerMPD()
File "/home/pi/RPi-Jukebox-RFID/src/jukebox/components/playermpd/__init__.py", line 161, in __init__
self.coverart_cache_manager = CoverartCacheManager(os.path.expanduser(coverart_cache_path))
File "/usr/lib/python3.9/posixpath.py", line 231, in expanduser
path = os.fspath(path)
TypeError: expected str, bytes or os.PathLike object, not NoneType
01.01.2024 20:51:02 - 549:plugs.py - jb.plugin - MainThread - INFO - Loading plugin 'components.rfid.cards' as 'cards'
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.rfid.cards.list_cards' as 'cards.list_cards' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.rfid.cards.delete_card' as 'cards.delete_card' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.rfid.cards.register_card' as 'cards.register_card' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.rfid.cards.register_card_custom' as 'cards.register_card_custom' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.rfid.cards.load_card_database' as 'cards.load_card_database' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.rfid.cards.save_card_database' as 'cards.save_card_database' (<class 'function'>)
01.01.2024 20:51:02 - 549:plugs.py - jb.plugin - MainThread - INFO - Loading plugin 'components.rfid.reader' as 'rfid'
01.01.2024 20:51:02 - 549:plugs.py - jb.plugin - MainThread - INFO - Loading plugin 'components.timers' as 'timers'
01.01.2024 20:51:02 - 549:plugs.py - jb.plugin - MainThread - INFO - Loading plugin 'components.hostif.linux' as 'host'
01.01.2024 20:51:02 - 31:__init__.py - jb.host.lnx - MainThread - INFO - You don't seem to be on a PI, because loading 'RPi.GPIO' failed: RuntimeError: This module can only be run on a Raspberry Pi!
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.hostif.linux.shutdown' as 'host.shutdown' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.hostif.linux.reboot' as 'host.reboot' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.hostif.linux.jukebox_is_service' as 'host.jukebox_is_service' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.hostif.linux.is_any_jukebox_service_active' as 'host.is_any_jukebox_service_active' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.hostif.linux.restart_service' as 'host.restart_service' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.hostif.linux.get_disk_usage' as 'host.get_disk_usage' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.hostif.linux.get_cpu_temperature' as 'host.get_cpu_temperature' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.hostif.linux.publish_cpu_temperature' as 'host.publish_cpu_temperature' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.hostif.linux.get_ip_address' as 'host.get_ip_address' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.hostif.linux.say_my_ip' as 'host.say_my_ip' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.hostif.linux.wlan_disable_power_down' as 'host.wlan_disable_power_down' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.hostif.linux.get_autohotspot_status' as 'host.get_autohotspot_status' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.hostif.linux.stop_autohotspot' as 'host.stop_autohotspot' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.hostif.linux.start_autohotspot' as 'host.start_autohotspot' (<class 'function'>)
01.01.2024 20:51:02 - 574:plugs.py - jb.plugin - MainThread - DEBUG - Package load initializer: calling host.initialize()
01.01.2024 20:51:02 - 549:plugs.py - jb.plugin - MainThread - INFO - Loading plugin 'components.controls.bluetooth_audio_buttons' as 'bluetooth_audio_buttons'
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.controls.bluetooth_audio_buttons.activate' as 'bluetooth_audio_buttons.activate' (<class 'function'>)
01.01.2024 20:51:02 - 574:plugs.py - jb.plugin - MainThread - DEBUG - Package load initializer: calling bluetooth_audio_buttons.initialize()
01.01.2024 20:51:02 - 592:plugs.py - jb.plugin - MainThread - ERROR - Ignoring failed package load for 'controls.bluetooth_audio_buttons'
01.01.2024 20:51:02 - 593:plugs.py - jb.plugin - MainThread - ERROR - Reason: NameError: Plugin object 'ctrl' not registered in package 'player'
01.01.2024 20:51:02 - 594:plugs.py - jb.plugin - MainThread - ERROR - Detailed reason:
Traceback (most recent call last):
File "/home/pi/RPi-Jukebox-RFID/src/jukebox/jukebox/plugs.py", line 589, in load_all_named
load(package, load_as, prefix)
File "/home/pi/RPi-Jukebox-RFID/src/jukebox/jukebox/plugs.py", line 579, in load
raise e
File "/home/pi/RPi-Jukebox-RFID/src/jukebox/jukebox/plugs.py", line 576, in load
func()
File "/home/pi/RPi-Jukebox-RFID/src/jukebox/components/controls/bluetooth_audio_buttons/__init__.py", line 87, in initialize
button_callbacks[bt_keycode_play] = jukebox.utils.bind_rpc_command({'alias': 'toggle'},
File "/home/pi/RPi-Jukebox-RFID/src/jukebox/jukebox/utils.py", line 128, in bind_rpc_command
func, args, kwargs = plugs.dereference(action['package'],
File "/home/pi/RPi-Jukebox-RFID/src/jukebox/jukebox/plugs.py", line 662, in dereference
func = get(package, plugin, method)
File "/home/pi/RPi-Jukebox-RFID/src/jukebox/jukebox/plugs.py", line 807, in get
raise NameError(f"Plugin object '{plugin}' not registered in package '{package}'")
NameError: Plugin object 'ctrl' not registered in package 'player'
01.01.2024 20:51:02 - 549:plugs.py - jb.plugin - MainThread - INFO - Loading plugin 'components.gpio.gpioz.plugin' as 'gpio'
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.gpio.gpioz.plugin.on' as 'gpio.on' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.gpio.gpioz.plugin.off' as 'gpio.off' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.gpio.gpioz.plugin.set_value' as 'gpio.set_value' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.gpio.gpioz.plugin.flash' as 'gpio.flash' (<class 'function'>)
01.01.2024 20:51:02 - 574:plugs.py - jb.plugin - MainThread - DEBUG - Package load initializer: calling gpio.initialize()
01.01.2024 20:51:02 - 549:plugs.py - jb.plugin - MainThread - INFO - Loading plugin 'components.synchronisation.rfidcards' as 'sync_rfidcards'
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging SyncRfidcards.sync_change_on_rfid_scan
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging SyncRfidcards.sync_all
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging SyncRfidcards.sync_card_database
01.01.2024 20:51:02 - 464:plugs.py - jb.plugin - MainThread - DEBUG - Tagging SyncRfidcards.sync_folder
01.01.2024 20:51:02 - 574:plugs.py - jb.plugin - MainThread - DEBUG - Package load initializer: calling sync_rfidcards.initialize()
01.01.2024 20:51:02 - 78:__init__.py - jb.sync_rfidcards - MainThread - INFO - Sync RFID cards deactivated
01.01.2024 20:51:02 - 293:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting an instance of class 'components.synchronisation.rfidcards.SyncRfidcards' as 'sync_rfidcards.ctrl'
01.01.2024 20:51:02 - 549:plugs.py - jb.plugin - MainThread - INFO - Loading plugin 'components.music_cover_art' as 'music_cover_art'
01.01.2024 20:51:02 - 549:plugs.py - jb.plugin - MainThread - INFO - Loading plugin 'components.misc' as 'misc'
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.misc.rpc_cmd_help' as 'misc.rpc_cmd_help' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.misc.get_all_loaded_packages' as 'misc.get_all_loaded_packages' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.misc.get_all_failed_packages' as 'misc.get_all_failed_packages' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.misc.get_start_time' as 'misc.get_start_time' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.misc.get_log_debug' as 'misc.get_log_debug' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.misc.get_log_error' as 'misc.get_log_error' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.misc.get_version' as 'misc.get_version' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.misc.get_git_state' as 'misc.get_git_state' (<class 'function'>)
01.01.2024 20:51:02 - 281:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting function 'components.misc.empty_rpc_call' as 'misc.empty_rpc_call' (<class 'function'>)
01.01.2024 20:51:02 - 624:plugs.py - jb.plugin - MainThread - DEBUG - Package load finalizer: calling volume.finalize()
01.01.2024 20:51:02 - 456:__init__.py - jb.pulse - MainThread - INFO - Audio sink is now 'Built-in speakers' :: 'alsa_output.platform-analog-sound.stereo-fallback'
01.01.2024 20:51:02 - 293:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting an instance of class 'components.volume.PulseVolumeControl' as 'volume.ctrl'
01.01.2024 20:51:02 - 624:plugs.py - jb.plugin - MainThread - DEBUG - Package load finalizer: calling jingle.finalize()
01.01.2024 20:51:02 - 699:plugs.py - jb.plugin.call - MainThread - DEBUG - Calling: jingle.play_startup(args=(), kwargs=None)
01.01.2024 20:51:02 - 624:plugs.py - jb.plugin - MainThread - DEBUG - Package load finalizer: calling cards.finalize()
01.01.2024 20:51:02 - 699:plugs.py - jb.plugin.call - StartJingle - DEBUG - Calling: volume.ctrl.get_volume(args=(), kwargs=None)
01.01.2024 20:51:02 - 317:cfghandler.py - jb.cfghandler - MainThread - INFO - (cards) Loading yaml file '../../shared/settings/cards.yaml'
01.01.2024 20:51:02 - 230:cfghandler.py - jb.cfghandler - MainThread - DEBUG - (cards) Replacing current config data
01.01.2024 20:51:02 - 699:plugs.py - jb.plugin.call - StartJingle - DEBUG - Calling: volume.ctrl.set_volume(args=[30], kwargs=None)
01.01.2024 20:51:03 - 42:__init__.py - jb.jingle - StartJingle - DEBUG - Auto: 'wav' from ../../resources/audio/startupsound.wav.
01.01.2024 20:51:03 - 624:plugs.py - jb.plugin - MainThread - DEBUG - Package load finalizer: calling rfid.finalize()
01.01.2024 20:51:03 - 50:__init__.py - jb.alsaif - StartJingle - DEBUG - Playing wave file
01.01.2024 20:51:03 - 317:cfghandler.py - jb.cfghandler - MainThread - INFO - (rfid) Loading yaml file '../../shared/settings/rfid.yaml'
01.01.2024 20:51:03 - 230:cfghandler.py - jb.cfghandler - MainThread - DEBUG - (rfid) Replacing current config data
01.01.2024 20:51:03 - 101:__init__.py - jb.rfid(read_00) - MainThread - INFO - For reader config key 'read_00': loading module 'generic_nfcpy'
01.01.2024 20:51:03 - 116:__init__.py - jb.rfid(read_00) - MainThread - DEBUG - Decoded removal action: player.ctrl.pause()
01.01.2024 20:51:03 - 74:__init__.py - jb.rfid.cardremove - read_00CRemover - DEBUG - CardRemovalTimerClass watchdog started
01.01.2024 20:51:03 - 139:__init__.py - jb.rfid(read_00) - read_00Thread - DEBUG - Start listening!
01.01.2024 20:51:03 - 624:plugs.py - jb.plugin - MainThread - DEBUG - Package load finalizer: calling timers.finalize()
01.01.2024 20:51:03 - 202:multitimer.py - jb.multitimers - MainThread - DEBUG - timers.timer_shutdown: State = {'enabled': False, 'remaining_seconds': 0, 'wait_seconds': 3600, 'type': 'GenericTimerClass'}
01.01.2024 20:51:03 - 293:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting an instance of class 'jukebox.multitimer.GenericTimerClass' as 'timers.timer_shutdown'
01.01.2024 20:51:03 - 202:multitimer.py - jb.multitimers - MainThread - DEBUG - timers.timer_stop_player: State = {'enabled': False, 'remaining_seconds': 0, 'wait_seconds': 3600, 'type': 'GenericTimerClass'}
01.01.2024 20:51:03 - 293:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting an instance of class 'jukebox.multitimer.GenericTimerClass' as 'timers.timer_stop_player'
01.01.2024 20:51:03 - 202:multitimer.py - jb.multitimers - MainThread - DEBUG - timers.timer_fade_volume: State = {'enabled': False, 'wait_seconds_per_iteration': 900, 'iterations': 1, 'type': 'GenericMultiTimerClass'}
01.01.2024 20:51:03 - 293:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting an instance of class 'jukebox.multitimer.GenericMultiTimerClass' as 'timers.timer_fade_volume'
01.01.2024 20:51:03 - 624:plugs.py - jb.plugin - MainThread - DEBUG - Package load finalizer: calling host.finalize()
01.01.2024 20:51:03 - 202:multitimer.py - jb.multitimers - MainThread - DEBUG - host.timer.cputemp: State = {'enabled': False, 'wait_seconds_per_iteration': 10, 'type': 'GenericEndlessTimerClass'}
01.01.2024 20:51:03 - 293:plugs.py - jb.plugin - MainThread - DEBUG - Enlisting an instance of class 'jukebox.multitimer.GenericEndlessTimerClass' as 'host.timer_temperature'
01.01.2024 20:51:03 - 202:multitimer.py - jb.multitimers - host.timer.cputemp - DEBUG - host.timer.cputemp: State = {'enabled': True, 'wait_seconds_per_iteration': 10, 'type': 'GenericEndlessTimerClass'}
01.01.2024 20:51:03 - 624:plugs.py - jb.plugin - MainThread - DEBUG - Package load finalizer: calling gpio.finalize()
01.01.2024 20:51:03 - 699:plugs.py - jb.plugin.call - MainThread - DEBUG - Calling: misc.get_all_loaded_packages(args=(), kwargs=None)
01.01.2024 20:51:03 - 699:plugs.py - jb.plugin.call - MainThread - DEBUG - Calling: misc.get_all_failed_packages(args=(), kwargs=None)
01.01.2024 20:51:03 - 144:daemon.py - jb.daemon - MainThread - INFO - Loaded plugins: publishing, volume, jingle, jingle.alsawave, jingle.jinglemp3, player, cards, rfid, timers, host, bluetooth_audio_buttons, gpio, sync_rfidcards, music_cover_art, misc
01.01.2024 20:51:03 - 146:daemon.py - jb.daemon - MainThread - ERROR - Plugins with errors during load: player, bluetooth_audio_buttons
01.01.2024 20:51:03 - 67:server.py - jb.rpc.server - MainThread - INFO - Init RPC Server (Pyzmq version: 25.1.2; ZMQ version: 4.3.4; has draft API: False)
01.01.2024 20:51:03 - 75:server.py - jb.rpc.server - MainThread - DEBUG - Connected to address 'inproc://JukeBoxRpcServer'
01.01.2024 20:51:03 - 81:server.py - jb.rpc.server - MainThread - DEBUG - Connected to address 'tcp://*:5555'
01.01.2024 20:51:03 - 87:server.py - jb.rpc.server - MainThread - DEBUG - Connected to address 'ws://*:5556'
01.01.2024 20:51:03 - 92:server.py - jb.rpc.server - MainThread - INFO - All socket connections initialized
01.01.2024 20:51:03 - 229:daemon.py - jb.daemon - MainThread - INFO - Start-up time: 2147.731 ms
01.01.2024 20:51:03 - 104:server.py - jb.rpc.server - MainThread - INFO - RPC Servers started
01.01.2024 20:51:03 - 79:multitimer.py - jb.multitimers - host.timer.cputemp - DEBUG - Start timer 'host.timer.cputemp in endless mode
01.01.2024 20:51:03 - 19:readerbase.py - jb.rfid.new(read_00) - read_00Thread - INFO - Initializing reader 'Generic NFCPY NFC Reader Module' from '/home/pi/RPi-Jukebox-RFID/src/jukebox/components/rfid/hardware/generic_nfcpy/generic_nfcpy.py'
01.01.2024 20:51:03 - 20:readerbase.py - jb.rfid.new(read_00) - read_00Thread - DEBUG - Reader object is <components.rfid.hardware.generic_nfcpy.generic_nfcpy.ReaderClass object at 0xffff79df3430> for reader config key 'read_00'
01.01.2024 20:51:03 - 148:__init__.py - nfc.clf - read_00Thread - INFO - searching for reader on path usb
01.01.2024 20:51:04 - 151:__init__.py - nfc.clf - read_00Thread - INFO - using ACS ACR122U PN532v1.6 at usb:001:002
01.01.2024 20:51:04 - 155:__init__.py - jb.rfid(read_00) - read_00Thread - DEBUG - card_removal_timer_thread.native_id = 281472726135264
01.01.2024 20:51:04 - 69:generic_nfcpy.py - jb.rfid.new(read_00) - read_00Thread - DEBUG - Wait for card
01.01.2024 20:51:04 - 699:plugs.py - jb.plugin.call - StartJingle - DEBUG - Calling: volume.ctrl.set_volume(args=[40], kwargs=None)
About this issue
- Original URL
- State: closed
- Created 6 months ago
- Comments: 15
Should be fixed with #2272
See release 3.5.2