Git Product home page Git Product logo

streamdeck-toggl's Introduction

โš ๏ธ API V8 Depreciation

You may have received an email from toggl, stating you are using the v8 Api, which this plugin previously used. As per #41, this issue has been fixed. Unfortunatley, these changes cannot be published to the elgato store. To workaround this issue conduct the following:

  • Download the zip file from the newest release.
  • Extract it and double-click the .streamDeckPlugin file to install it.

โธ Development ended - open to handover project

Unfortunately, I am lacking time and energy to actively uphold development of this plugin. It still works with its bugs and quirks, but I will archive the plugin as-is for the time being. If anyone would like to take over and continue the development of this plugin, I'd be very happy - please get in touch.

Toggl Track + Elgato Stream Deck

macOS supported Windows supported Follow @tobimori on Twitter Meet on Discord Total Downloads Total Time Tracked Working On streamdeck-toggl


Hassle-free time tracking using Elgato Stream Deck and Toggl Track

โœ๏ธ Setup

Just search for the Action "Toggl" within the Stream Deck app and install it. There is a button called "Toggl" available in section "Custom".

PropertyInspector

  • Title is a default Stream Deck property available for every button in Stream Deck. You should leave it empty (see Button Label).
  • API Token is your private API Token you can get from your Toggl profile. This Token is handled like a password. Don't share it. Required.
  • Button Label is used instead of Title. If the tracker isn't running, the Label is shown on the button. If the tracker is running the elapsed time is shown additionally. If Title is set, it will override Button Label.
  • Entry Name describes the activity you want to report. It is not required but strongly recommended.
  • Workspace is your workspace you start the time entries in. Required.
  • Project is the project you want to assign the task to. Leave blank for no project. New projects can be added in Toggl.
  • Billable sets Toggl's billable flag (for Toggl paid plans only).

StreamDeckScreenshot

Just press any Toggl Button to start tracking time. The button should indicate tracking by turning red and showing the current tracking time (if no Title is set). The status of the button is defined by workspace, project and entry name. If you setup two identical buttons (even on different Stream Deck profiles), both button indicate the same. If you start or stop your timer using the Toggl app (web, desktop, mobile) Toggl for Stream Deck will follow by changing the status.

๐Ÿ“ž Help

Feel free to ask your questions on my Discord Server. Please use GitHub Issues for reporting bugs and requesting new features.

๐Ÿ“„ License

streamdeck-toggl is licensed under the MIT License.

Known Issues

  • Changing the Button Label wont change the Title immediately. Restart Stream Deck.

streamdeck-toggl's People

Contributors

angry-bender avatar frunika avatar gilberthdez avatar mschmitt avatar tobimori avatar waldenl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

streamdeck-toggl's Issues

Support not filling in optional fields (e.g. no Project)

The plugin struggles to identify running timers if they don't have all their fields set, even though some of these fiels are optional with Toggl, leading to this workaround:

For correct stopping and polling, please make sure all settings are set: Entry Name, Workspace and Project. Try switching the profiles too, it should reinitialise all buttons.

Originally posted by @tobimori in #22 (comment)

Timer and Label Not Displayed

I have the title field empty, and the button label populated. The label and timer do not appear on the button.

Streamdeck 5.0.0 (14247)
Mac OS Big Sur

Prompt for Entry Name

Love the plugin, helps a lot with keeping my time straight.

One thing that would be super useful would be the ability for the plugin to prompt for the Entry Name when starting tracking. I have the Stream Deck buttons setup to different categories of time (e.g. Support, Meeting, Training ect...) but I'd like to be able to set a different Entry Name each time I start tracking so I remember what exactly I was working on for that time block.

Thanks!

Still maintained?

Is this repo maintained?
I just tried using the plugin and it doesn't work as expected.
Tracking status isn't reliable, the timer never shows up.

Stop current task & Start last task

I'm not sure if this is possible with the Toggl API, but I think this would be one of the main ways I would use the plugin.

As someone who is very often changing the description and project, I think having 1 start/stop button would be the best for me. In an ideal world, that same button would be red when time is being tracked and black when not.

Example:

  1. I'm timing a task
  2. I get up to take a break - press the button - timer stops
  3. I get back from my break - press the button - timer starts the last task I was timing

I'll likely also then have a 2nd button that simply launched the Toggl app (System > Open). Others could have it open the Toggl Website (System > Website).

I would then use the app (or website) to start a new task that I wanted to change the details of.

You likely know better than me and my 30 seconds of API glancing, but here are my initial thoughts:

Stop current task

  1. Get running time entry
  2. Stop a time entry (using info from API call 1)

Start last task

  1. Get time entries started in a specific time range
  2. Start a time entry (grabbing the last entry from API call 1)

THANKS IN ADVANCE! :)

Stop any active tracker

Starting and stopping active trackers works quite well. Two general buttons would be useful: start an empty tracker (should be possible by now, without setting any Entry Name and Project) and a stop timer that just stops the timer, nevertheless which entry is running.

Stopping/Polling not working

At this Moment I can start an Time Tracking on MacOS 11.2.3 on an Mac mini m1 but the Button didn't change the color (Like I know it from Windows) and so I can't stop the tracking. Every time I push the same Trackingbutton the last one stop and the new tracking begin.

Task support

Love the plugin...thank you for creating it.

We create Tasks under our Projects and tend to use them rather than the "What are you working on?" descriptions. Would you please add support for creating buttons that specify the Tasks under each Project?

Thanks!

Sync with Online Dashboard and App

It would be really nice to have a sync between the streamdeck buttons and the actual timer running online. If I start a timer on the deck and end it - for example in the app or on the web - the deck button remains red. It should recognize it and change the button to the inactive state.

The same would be nice for starting a track online an it could sync with the deck, if there is a appropriate button.

Distinguish between Start and Stop

Currently, the Button seams to change between start and stop, regardless of the state of actual toggl state.

If I start a timer by pressing a button on the deck, button turns red and tracking begins. If I press it again, the button turns black and timer stops. So far so good...

But if I start a timer by deck and stop it by toogl app or online, the button stays red #12 and the next press will start a new timer, while the buttons turn black again. Timer and deck are out of sync.

Improve polling

Improve bandwidth usage and polling rate by switching to poll once per account in use and not per visible action

Pomodoro Support

I've been using this integration a lot. I haven't figured out how to do pomodoro timers though. I looked through the API and there doesn't appear to be a flag or attribute to differentiate the timer type. Do you know if the API supports pomodoro and whether we could extend the integration to support this?

Feature request

Hi,

 Great job in here first of all!

Will it be possible to populate tags under the 'Project' section?

Thanks a lot in advance,
David.

Show Tracking Time

Don't know if the toggl API supports it, but showing the current tracking time on the deck would be awesome :)

Mac os: Cannot stop tracking

So happy to see that someone developed a toggl plugin!

I just tested it out on my macbook, and seem to have run into an issue.

If I understood it correctly, I should be able to stop the tracking on a specific projekt, by pushing the button the second time.
Unfortunately what is happening instead, is that the timer just starts again on the same project.

So tracking of time is working. If I push another button on another project, a new timer starts as expected. But looks like its the same logic even when pressing the same button again on a project that is being tracked currently.

Toggl Does not work after upgrade to Mac Big Sur

Toggl stopped polling and changing state after upgrading my MacBook Pro to Big Sur.

I'm not sure what information you need to troubleshoot; however, I am happy to provide information that you need.

Updated Release for APIv8 Depreciation

I noticed @matejcerny was able to upgrade the API to v9 2 days ago.

Just wondering if @tobimori can look to release an updated compiled version for the Elgato store before the upcoming V8 API depreciation on May16? As per PR #40 or if we should look to compile locally?

Streamline setup process

This could be done with an in-app login popup where you need to log in once and then the API key will be saved in a global setting. You should be able to select your account (from those saved api keys) using a select input in the property inspector. Also, all projects and workspaces should be selectable using a select input, not with 'overcomplicating' ids copied from an url.

Stop Timer button

Is it possible to have an action dedicated to stopping the timer regardless of what timer is running?

Button Starts Red

After creating the button, the default is red. This means when I click it, it goes grey, and then the timer starts.

If I stop the timer in the web app, it fixes the issue as the button is then grey - indicating it is off.

When stopping in the web app, the streamdeck icon is not changed automatically.

Add "Button Label" to README

I really love your implementation! It's very useful, even if it just installed it :)

I'm not quite shure what the "Button Label" does. The README doesn't contain any information about it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.