Closed GM-Script-Writer-62850 closed 3 years ago
You mean this error?
dbus.exceptions.UnknownMethodException: org.freedesktop.DBus.Error.UnknownMethod: Unknown method: getBrightness is not a valid method of interface razer.device.lighting.brightness
Seems like it only occurs when calling hasattr(device, 'brightness')
on my mouse, with the keyboard it works. That also means it works within if device.has('brightness')
, but not if that returns false. Which is weird indeed as those two methods should essentially have the same function.
can you let me know what the output of for these is on your hardware? aside from brightness, these are not in the stable branch of openrazer device.brightness ** if you are on the stable and intend to upgrade to test this, please do a before and after upgrade
for i in ['brightness','colors', 'speed', 'wave_dir']:
try:
print(i,'has',device.has(i))
print(' ',getattr(device,i))
except:
print(i,'has error\n')
try:
print(i,'hasattr',device.hasattr(i))
print(' ',getattr(device,i))
except:
print(i,'hasattr error\n')
try:
print(i,'fx has',device.fx.has(i))
print(' ',getattr(device.fx,i))
except:
print(i,'fx has error\n')
try
print(i,'fx hasattr',device.fx.hasattr(i))
print(' ',getattr(device.fx,i))
except:
print(i,'fx hasattr error\n')
try:
print(i,'fx misc has',device.fx.misc.has(i))
print(' ',getattr(device.fx.misc,i))
except:
print(i,'fx misc has error\n')
try
print(i,'fx misc hasattr',device.fx.misc.hasattr(i))
print(' ',getattr(device.fx.misc,i))
except:
print(i,'fx misc hasattr error\n')
print("\n\n")
Do you think this looks better with or without the commas?
$ ~/.local/bin/razer-cli -l
Found 1 Razer device(s)
Razer DeathAdder Elite:
type: mouse
DPI: (1100, 1100)
max DPI: 16000
polling rate: 1000
generic zone:
effects available: multicolor
logo zone:
brightness: 0.0
colors: ['4BEA4A', 'F9992C', '0000FF']
effect: none
speed: 1
wave_dir: 1
effects available: none, brightness, breath_single, breath_dual, breath_random, reactive, spectrum, static
scroll_wheel zone:
brightness: 0.0
colors: ['4BEA4A', 'F9992C', '0000FF']
effect: static
speed: 3
wave_dir: 1
effects available: none, brightness, breath_single, breath_dual, breath_random, reactive, spectrum, static
serial: 321848H04401822
firmware version: v1.6
driver version: 2.9.0
supported capabilities: name, type, firmware_version, serial, lighting, lighting_led_matrix, lighting_logo, lighting_logo_brightness, lighting_logo_spectrum, lighting_logo_static, lighting_logo_none, lighting_logo_reactive, lighting_logo_breath_single, lighting_logo_breath_dual, lighting_logo_breath_random, lighting_scroll, lighting_scroll_brightness, lighting_scroll_spectrum, lighting_scroll_static, lighting_scroll_none, lighting_scroll_reactive, lighting_scroll_breath_single, lighting_scroll_breath_dual, lighting_scroll_breath_random, poll_rate, dpi
I'd leave the commas.
The output of this is
device.name='Razer Lancehead Tournament Edition'
brightness has False
brightness has error
brightness hasattr error
brightness fx has False
brightness fx has error
brightness fx hasattr error
brightness fx misc has False
brightness fx misc has error
brightness fx misc hasattr error
colors has False
colors has error
colors hasattr error
colors fx has False
colors fx has error
colors fx hasattr error
colors fx misc has False
colors fx misc has error
colors fx misc hasattr error
speed has False
speed has error
speed hasattr error
speed fx has False
speed fx has error
speed fx hasattr error
speed fx misc has False
speed fx misc has error
speed fx misc hasattr error
wave_dir has False
wave_dir has error
wave_dir hasattr error
wave_dir fx has False
wave_dir fx has error
wave_dir fx hasattr error
wave_dir fx misc has False
wave_dir fx misc has error
wave_dir fx misc hasattr error
device.name='Razer BlackWidow X Chroma Tournament Edition'
brightness has True
100.0
brightness hasattr error
brightness fx has False
brightness fx has error
brightness fx hasattr error
brightness fx misc has False
brightness fx misc has error
brightness fx misc hasattr error
colors has False
colors has error
colors hasattr error
colors fx has False
b'HKT\x00\xff\x00\x00\x00\xff'
colors fx hasattr error
colors fx misc has False
colors fx misc has error
colors fx misc hasattr error
speed has False
speed has error
speed hasattr error
speed fx has False
2
speed fx hasattr error
speed fx misc has False
speed fx misc has error
speed fx misc hasattr error
wave_dir has False
wave_dir has error
wave_dir hasattr error
wave_dir fx has False
1
wave_dir fx hasattr error
wave_dir fx misc has False
wave_dir fx misc has error
wave_dir fx misc hasattr error
I am on the following versions:
aur/python-openrazer-git 2.6.0.r6.g2433ae8-1 [+7 ~0.00] [Installed: 2.9.0.r19.g9ea49c8d-1]
Python library for accessing the Razer daemon from Python.
aur/openrazer-daemon-git 2.6.0.r6.g2433ae8-1 [+7 ~0.00] [Installed: 2.9.0.r19.g9ea49c8d-1]
Userspace daemon that abstracts access to the kernel driver. Provides a
DBus service for applications to use.
aur/openrazer-driver-dkms-git 2.6.0.r6.g2433ae8-1 [+7 ~0.00] [Installed: 2.9.0.r19.g9ea49c8d-1]
Kernel driver for Razer devices (DKMS-variant)
aur/openrazer-meta-git 2.6.0.r6.g2433ae8-1 [+7 ~0.00] [Installed: 2.9.0.r19.g9ea49c8d-1]
Meta package for installing all required openrazer packages.
razer-cli.zip Here is a dev version based on https://github.com/LoLei/razer-cli/tree/feature/effect-rewrite
Sorry the patch file has a size of 60959 (60K)
--battery
support-d
for -l
--version
-ls
/--list_devices_short
-lh
-l
, -ll
, and -ls
these can be combined with -v
for even more info-man color
-d
-l
With your 'Razer BlackWidow X Chroma Tournament Edition' it is interesting that hasattr fails even though the property exist and has valid data looks like you use green and blue colors on it
how does getattr(device.fx,'colors')
not error and at the same time hasattr(device.fx,'colors')
fail
Managed to reduce some redundant code and fixed a oversight that could produce a bug if a device actually supported such a thing (multicolor only worked in the generic zone) razer-cli-dev.zip the patch file is larger, but the razer_cli.py file should be smaller than in the above attachment (i hope) also you can now set the refresh rate for ripple & ripple_random (in theory)
I've added everything to #52.
Since you added so much help text, we might as well just ship "real" man pages as well. Those are written in groff, and can apparently be bundled with a Python package.
https://github.com/pypa/packaging-problems/issues/72 https://stackoverflow.com/a/48381612/4644044
Not a must-have, but a suggestion if you wanna try that out.
These features are in the daily build of openrazer https://github.com/openrazer/openrazer/blob/master/pylib/openrazer/client/fx.py#L72-L109 While in the process of making this work i found something strange: This causes a error, aside from using
try
do you know any other solution?hasattr(device,'brightness')
So far this is what I have for output:
Seems strange my mouse has 3 colors in memory and I can't use breath_triple