Jump to content

vegardinho

Member
  • Posts

    17
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by vegardinho

  1. 3 hours ago, vitor said:

    blueutil does work on Apple Silicon. My Bluetooth workflow makes use of it, installed from Homebrew, and there have been no issues with the binary. The error has to be somewhere in the process (you seem to be shipping it yourself?).

    Hmm, I suspect the problem is because I compiled the blueutil binary in v4 manually from the blueutil repo, because it hadn't yet been published to homrebrew. That might not have made the binary universal.

     

    Edit: the second possibility is that homebrew installs the right binary for your system. I've seen several workflows where one has to choose between two binaries, depending on system architecture.

  2. On 12/16/2023 at 9:30 AM, CageD said:

    @vegardinho First of all, i love this workflow. I also noticed that v4 has been released silently. 😉

     

    From https://github.com/vegardinho/alfred_bluetooth_controller/releases/tag/4.0

     

     

    Keep up the great work!

    Thanks! I tend to forget to post here, but I'll try to keep it in the back of my head next time.

     

    I'm still a bit unsure if v4 works on apple chips though, some have reported that the blueutil binary doesn't execute in newer macs. Since I only own an intel mac myself, I'm not able to do any troubleshooting, so any help is appreciated.

  3. UPDATE 6. august:

     

    Version 3 out now

    This is a major overhaul of the workflow!

     

    New features:

    • New custom icons for every action.
    • Code base largely rebuilt from ground up.
    • New, clean interface.
    • No dependencies/manual installation (since v.2).
    • Unpair, reset and status actions (more or less since v.2).
    • Remote triggers for most actions (since v.2).
    • Optional confirmation on turning off/toggling bluetooth (since v2).

    For complete overview of features, see github repo.

     

    Download | Source code

     

     

    screenshot_bt.png

     

    screenshot_btd.png

  4. On 11/25/2020 at 12:44 PM, jdenormandie said:

    I opened up blueutil's Install.command file in TextEdit and it looks like it just copies blueutil over to "/usr/local/bin".  So I did that manually, but alas it still isn't working...

     

    However, when I ran "which blueutil" in terminal I do get "/usr/local/bin/blueutil"

     

     

    Seeing as crisprcas seems to have it working on Big Sur, and you did a manual install (as i understand it), I suggest you just uninstall blueutil, and do a clean install with Homebrew. 

  5. 47 minutes ago, jdenormandie said:

    I only installed it after the upgrade - I was searching for easier ways to manage bluetooth given it's new location in the menubar.  I was double-checking the status of the blueutil and noticed there were no blueutil files in usr/local/bin which made me think it didn't install correctly.  I ran the blueutil install again, and got these results in terminal:

     

    justin@Justins-MacBook-Pro ~ % /Users/justin/Downloads/blueutil/Install.command ; exit;

    0:112: execution error: cp: blueutil: Operation not permitted (1)

    Saving session...

    ...copying shared history...

    ...saving history...truncating history files...

    ...completed.

     

    [Process completed]

     

     

    Note, I did go into Security & Privacy to allow to run.

     

     

    Right, without having verified this, it is very likely blueutil is the cause of the problem. A current flaw with the workflow is that it's only guessing where blueutil installs. Normally you'd merely run "blueutil" in the terminal (try this and you should get it working), but because the alfred script is not running in the same environment (I'm not an expert here, but something along those lines), i have to pass the full directory of blueutil for the script to run correctly. In other words, if Homebrew has changed where blueutil installs, or you have installed it somewhere else, that would break the workflow. My first guess would be that this has something to do with the Big Sur release.

     

    If you want a quick fix, until I look into it, you could probably just find the blueutil install directory,

    which blueutil

    and then change the references in the alfred workflow.

  6. 2 hours ago, jdenormandie said:

    Hi, I am also having trouble getting Bluetooth Controller to work.  I am running Big Sur 11.01, Alfred is up to date.  Installed Python 3 and blueutil.

     

    Here's my debug report:

     

    [21:42:41.311] Logging Started...

    [21:43:10.894] Bluetooth Controller[Script Filter] Queuing argument '(null)'

    [21:43:11.182] Bluetooth Controller[Script Filter] Script with argv '(null)' finished

    [21:43:11.189] ERROR: Bluetooth Controller[Script Filter] Code 1: Traceback (most recent call last):

      File "./return_device_json.py", line 83, in <module>

        main()

      File "./return_device_json.py", line 29, in main

        js = check_output(cmd_args)

      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 216, in check_output

        process = Popen(stdout=PIPE, *popenargs, **kwargs)

      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 394, in __init__

        errread, errwrite)

      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1047, in _execute_child

        raise child_exception

    OSError: [Errno 2] No such file or directory

     

    Did the error occur after the upgrade, or was it present in Catalina as well? (I haven't upgraded yet, but I'll probably have a look at in December sometime.)

  7. On 5/8/2020 at 6:43 AM, Spellzy said:

    Hi, I this workflow works with every other bluetooth device but I can't seem to get it to connect my airpods. 

     

    Hi, I can't say for sure what the problem is, might be something peculiar about the bluetooth-connection with AirPods. Post the debugging text here if you want me to take a look at it

  8. 15 hours ago, deanishe said:

     

    I couldn’t say for sure without testing, but there’ll be little difference. json, like a lot of Python libraries, is implemented in C, so it’s very fast. And it would make very, very little difference in a program this size.

     

     

    The golden rule is "encode and decode at IO boundaries". The only thing you should actually need to worry about is the user input, as the json library always returns Unicode.

     

    I've submitted a pull request with the Python 2 and JSON fixes.

     

    Thanks for the pull request and input!

     

    I've added a new release now with your improvements, so everything should work smoothly on prior macOS versions as well now.

  9. To answer both of you: it's probably best that I change to python 2 by default in my script, and I'll do so as soon as I have the time. I went for python3 in the first place because of the problem you just encountered; it shouldn't be too bad to fix, but I'll have to take a look at it.

     

    As for the json-smushing, I just assumed it would be faster, but you are probably right that it would be better to go for the json library. I may change this eventually, as well.

     

    Some of these things are still a little new to me, so input is always appreciated.

     

  10. 7 hours ago, cands said:

    I have Blueutil and Python3 (running 'python3 --version' in terminal outputs 'Python 3.7.6') installed using Homebrew, but it does not work and the debugger reports: 

    
    [17:17:30.841] ERROR: Bluetooth Controller[Script Filter] Code 127: /bin/bash: python3: command not found

    I'm using version 1.2.2 of the workflow on Alfred 4.0.9 and macOS 10.14.6. Any tips how it may be fixed? 

     

    It seems bash is not finding your Python3 interpreter, so it is probably located somewhere else than where mine is. I've added a fix to search for logical placement of python interpreter, so hopefully that does it (v.1.2.3).

     

    If the fix doesn't work, make sure python3 is working (entering "python3" in terminal should suffice), as well as check where the interpreter lies ("which python"). You could also do a clean install of python3, I had a lot of different versions of python lying around, some by homebrew, and some old; and that eventually caused a lot of trouble, which was straightened out by the clean install.

  11. 7 hours ago, sr_navarre said:

    Thank you for getting back to me. I'm pasting the results from the debugger below. The first is from running btd, the second is btsetfavorite.

     

    [21:51:52.387] Logging Started...

    [21:52:01.294] Bluetooth Controller[Script Filter] Queuing argument '(null)'

    [21:52:01.513] Bluetooth Controller[Script Filter] Script with argv '(null)' finished

    [21:52:01.516] ERROR: Bluetooth Controller[Script Filter] Code 1: Traceback (most recent call last):

      File "./return_device_json.py", line 41, in <module>

        device['address'], device_name) + "},")

    AttributeError: 'NoneType' object has no attribute 'lower'

    ___________________________________________________________________________________________________

    [21:52:40.137] Bluetooth Controller[Script Filter] Queuing argument '(null)'

    [21:52:40.320] Bluetooth Controller[Script Filter] Script with argv '(null)' finished

    [21:52:40.322] ERROR: Bluetooth Controller[Script Filter] Code 1: Traceback (most recent call last):

      File "./return_device_json.py", line 41, in <module>

        device['address'], device_name) + "},")

    AttributeError: 'NoneType' object has no attribute 'lower'

     

    It seems one of your devices has a non-existing name (type None), which is what causes the crash. I've now updated to check whether name actually exists before attempting to call any actions on it. Version 1.2.2 (out now) should fix the problem for you.

     

    I'm a little unsure why the device doesn't appear to have a name; you could try running "blueutil --paired --format json-pretty" (note: double dashes) manually, to see if you can spot something abnormal in the output.

  12. 6 hours ago, sr_navarre said:

    Hi,

     

    This looks like a workflow that I'll get a lot of use out of. I'm having a bit of trouble with it, though. Specifically when I use btd + devicename, or try to configure btsetfavorite, it only gives me the option to search Google for "btd devicename" etc. 

     

    I tried following your instructions to install blueutil and python, so I don't think the problem is there. 

     

    I'm using all the latest stable versions of all software on an MBP, if that matters.

    Hi,

     

    Glad to hear the workflow is useful!

     

    Can you make sure you are typing the same thing as in the gif above? The format should be "btd", then space, followed by whatever device you are searching for. Just typing "btd" should give you a list of all the previously paired bluetooth devices.

     

    Also keep in mind that currently only results that are exact matches from the start of the word, are matched. That means "device" will not match the device "mydevice", but "mydev" will. I am working on changing this, but currently this is a limitation to the workflow you have to account for. 

    Update: The newest release now includes smart search, i.e. it matches ever item where every search argument is found in the device name ("device" will now match "mydevice"; so will "device 45" for hypothetical device "mydevice tx45")

     

    If this doesn't help you: Could you run the workflow while in debug mode? Find the workflow in preferences, click the little spider on the top right, and then open the alfred search bar and type in what you would type to get the error. Copy whatever shows up in the debug text field, and paste it in the forum, so I can have a look at it.

     

    I've also already killed a bug, so I recommend you download the new release anyway (though the fix it is not related to your problem).

     

    Hope that helps!

     

  13. Hi,

     

    I was a bit tired of handling all my bluetooth devices manually, and couldn't find any cover-all bluetooth workflows out there, so I made this one.

     

    alfredbluetooth.gif

     

    Features:

    • Turn on/off/toggle bluetooth
    • Connect to device from list of paired bluetooth devices
    • Set favorite device for quick access
    • User friendly notifications for all actions

     

    Dependencies (see README on git repo):

    • Blueutil
    • Python3

     

    Feel free to give me feedback, and report bugs if you find any.

     

    Githubhttps://github.com/vegardinho/alfred_bluetooth_controller

    Download: https://github.com/vegardinho/alfred_bluetooth_controller/releases/latest

     

    Cheers,

    Vegard

×
×
  • Create New...