Coder Social home page Coder Social logo

piotrmachowski / home-assistant-taskbar-menu Goto Github PK

View Code? Open in Web Editor NEW
319.0 16.0 15.0 630 KB

This application is a simple Home Assistant client for Windows. It can display Lovelace views, control entities and show persistent notifications.

License: MIT License

C# 86.25% Inno Setup 13.75%
home-assistant windows taskbar menu icon

home-assistant-taskbar-menu's Introduction

Community Forum GitHub All Releases Ko-Fi buycoffee.to PayPal.Me Revolut.Me

Home Assistant Taskbar Menu

This application is a simple Home Assistant client for Windows. It can control entities from supported domains, display Home Assistant web interface, create shortcuts to your favourite actions and mirror persistent notifications.

menu_3

browser

notification search

Installation

Download installer from the latest release.

If you do not have administrator rights you can download archive file and extract it in a desired location.

Configuration

Connection

A configuration window will be opened at first run. Provide an URL and token, check the configuration and save it.

auth_1

auth_2

After successful configuration a config_credentials.dat file will be created and an icon in notification tray will appear.

icon

Application

This application can control entities from following domains:

  • automation
  • button
  • climate
  • cover
  • fan
  • input_boolean
  • input_button
  • input_number
  • input_select
  • light
  • lock
  • media_player
  • number
  • scene
  • script
  • select
  • siren
  • switch
  • vacuum

By default menu contains first 100 supported entities except automations and scripts, ordered alphabetically by entity id.

menu_1 menu_2

To configure this list use option Configure HA Taskbar Menu.

view_1 view_2

To add entries to view use buttons from the first row:

  • Add Entity - adds an entity to the root menu

    To use friendly name from Home Assistant leave Name empty.

    add_entry_1

  • Add Node - adds a submenu to the root menu

    add_entry_2

  • Add Separator - adds a separator to the root menu

To add entries to folder click on it with right mouse button and select an option. To remove any entry from tree click on it with right mouse button and select Delete.

In the second row of buttons you can configure other application features:

  • Switching between light and dark modes (change will be applied after application restart)

    menu_4 view_3

  • Enabling and disabling persistent notifications mirroring

Usage

  • You can open built-in browser by clicking taskbar icon with left mouse button.
  • You can quickly toggle an entity (if supported) by clicking it with right mouse button.
  • To open search menu start typing when mouse is over an open menu.
  • You can close search window by pressing [Esc].
  • Configuration is stored by default in %APPDATA%\Home Assistant Taskbar Menu\Home Assistant Taskbar Menu directory.
  • If you have installed this application to a custom location a configuration directory will match it.
  • Connection configuration is stored as an encrypted text in config_credentials.dat. You can copy it between computers to use the same connection parameters.
  • View configuration is stored in config_view.dat. You can copy it between computers to use the same view configuration.
  • To start this application with Windows add a shortcut to StartUp folder. You can open it by running command shell:startup in Run menu (shortcut: [WIN] + [R])
  • To clear browser's cache remove browserCache folder from config directory.

Shortcuts

You can use this application to create shortcuts to your favourite service calls (e.g. toggle light).

  • Create a shortcut to Home Assistant Taskbar Menu.exe file
  • Add the following text to Target section: call_service light.toggle {\"entity_id\": \"light.desk\"}. Remember to add a backslash before every double quote! shortcut_1
  • You can also configure a shortcut key combination using Shortcut key section shortcut_2

Updating

To update the application to newer version you just have to use the latest installer.

Migration from v1.0.X.X

To use configuration from older version of application copy config.dat and viewConfig.dat to config directory (default: %APPDATA%\Home Assistant Taskbar Menu\Home Assistant Taskbar Menu). It is created after a first start of application.

Support

If you want to support my work with a donation you can use one of the following platforms:

Platform Payment methods Link Comment
Ko-fi
  • PayPal
  • Credit card
  • Buy Me a Coffee at ko-fi.com
  • No fees
  • Single or monthly payment
  • buycoffee.to
  • BLIK
  • Bank transfer
  • Postaw mi kawฤ™ na buycoffee.to
    PayPal
  • PayPal
  • PayPal Logo
  • No fees
  • Revolut
  • Revolut
  • Credit Card
  • Revolut
  • No fees
  • home-assistant-taskbar-menu's People

    Contributors

    piotrmachowski 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

    home-assistant-taskbar-menu's Issues

    Don't show all entities at the first start

    Hi,
    thank you for this cool app - I really like it!
    I encountered one problem really quick: I have at a rough guess 1000 entities - scrolling to the bottom of the menu to edit it took several minutes ๐Ÿ˜‚ Maybe it should start empty? Or at least it should be limited to X entities.

    Disconnect issue

    The taskbar disconnects very often, making me miss some important notifications. I am not sure which event leads to the disconnection but it's frustrating.
    I thought it was fixed in 1.1.2.0, but the issue is still present.
    Is there a way to implement some sort of watchdog to verify the connection to the HA instance and automatically reconnect it if needed ?
    Thanks !

    Swap Mouse control

    Hi There

    Great App and looks realy nice and seems to work very well

    I do have a comment on the way tyou interact with the taskbar Icon. Normally double left click opens the app (what ever app that may be) and a right click brings up the icon/app menu

    Your app seems to be the otherway round - Is this configurable?

    Regards

    [Featrue Request] Images in persistant notifications

    Would it be possible to include images in the mirrored persistant notifications?

    Example: Automation triggers action that shows front door camera snapshot on motion detection.

    Similar as how the Snip and Sketch notification does it
    image

    Red fields, test fails.

    I cannot seem to get this to connect.

    I set up the LLAPI and turned my firewall off for testing, just does not seem to connect.

    I have also tried the external IP (ssl encrypted)
    Internal: https://10.10.10.117:8123

    Any ideas?

    Thank you

    Application crashes on entering settings

    i customized my menu with some custom HA entities.
    I deleted one of the entity in HA, because i sold it.

    Since then the Settings of the Home Assistant Taskbar Menu Application can't be opened anymore.
    The Application crashes with this error message:

    Unbehandelte Ausnahme: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
       bei Home_Assistant_Taskbar_Menu.ViewConfigurationWindow.Add(ViewConfiguration rootView, ViewConfiguration viewConfiguration, ItemsControl root) in D:\Files\Programowanie\PycharmProjects\Home Assistant\Other\Home Assistant Taskbar Menu\Home Assistant Taskbar Menu\Views\ViewConfigurationWindow.xaml.cs:Zeile 106.
       bei Home_Assistant_Taskbar_Menu.ViewConfigurationWindow.<>c__DisplayClass10_1.<Add>b__7(ViewConfiguration c) in D:\Files\Programowanie\PycharmProjects\Home Assistant\Other\Home Assistant Taskbar Menu\Home Assistant Taskbar Menu\Views\ViewConfigurationWindow.xaml.cs:Zeile 174.
       bei System.Collections.Generic.List`1.ForEach(Action`1 action)
       bei Home_Assistant_Taskbar_Menu.ViewConfigurationWindow.Add(ViewConfiguration rootView, ViewConfiguration viewConfiguration, ItemsControl root) in D:\Files\Programowanie\PycharmProjects\Home Assistant\Other\Home Assistant Taskbar Menu\Home Assistant Taskbar Menu\Views\ViewConfigurationWindow.xaml.cs:Zeile 174.
       bei Home_Assistant_Taskbar_Menu.ViewConfigurationWindow.<GenerateTree>b__6_0(ViewConfiguration c) in D:\Files\Programowanie\PycharmProjects\Home Assistant\Other\Home Assistant Taskbar Menu\Home Assistant Taskbar Menu\Views\ViewConfigurationWindow.xaml.cs:Zeile 47.
       bei System.Collections.Generic.List`1.ForEach(Action`1 action)
       bei Home_Assistant_Taskbar_Menu.ViewConfigurationWindow.GenerateTree() in D:\Files\Programowanie\PycharmProjects\Home Assistant\Other\Home Assistant Taskbar Menu\Home Assistant Taskbar Menu\Views\ViewConfigurationWindow.xaml.cs:Zeile 47.
       bei Home_Assistant_Taskbar_Menu.ViewConfigurationWindow..ctor(List`1 stateObjects, ViewConfiguration viewConfiguration) in D:\Files\Programowanie\PycharmProjects\Home Assistant\Other\Home Assistant Taskbar Menu\Home Assistant Taskbar Menu\Views\ViewConfigurationWindow.xaml.cs:Zeile 26.
       bei Home_Assistant_Taskbar_Menu.MainWindow.<>c__DisplayClass12_0.<CreateDefaultMenuItems>b__0() in D:\Files\Programowanie\PycharmProjects\Home Assistant\Other\Home Assistant Taskbar Menu\Home Assistant Taskbar Menu\Views\MainWindow.xaml.cs:Zeile 74.
       bei Home_Assistant_Taskbar_Menu.MainWindow.<>c__DisplayClass13_0.<CreateMenuIcon>b__0(Object sender, MouseButtonEventArgs args) in D:\Files\Programowanie\PycharmProjects\Home Assistant\Other\Home Assistant Taskbar Menu\Home Assistant Taskbar Menu\Views\MainWindow.xaml.cs:Zeile 126.
       bei System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
       bei System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
       bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
       bei System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
       bei System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
       bei System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
       bei System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
       bei System.Windows.Input.InputManager.ProcessStagingArea()
       bei System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
       bei System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
       bei System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
       bei System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
       bei System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
       bei MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
       bei MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
       bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
       bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
       bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
       bei MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
       bei MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
       bei System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
       bei System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
       bei System.Windows.Application.RunDispatcher(Object ignore)
       bei System.Windows.Application.RunInternal(Window window)
       bei System.Windows.Application.Run(Window window)
       bei Home_Assistant_Taskbar_Menu.App.Main()
    

    Add new Entity types

    Hi, I have been loving your program for about a year now. I just switched all of my scene based automation over to the new ""input_buton" helper that Home assistant introduced. I wanted to know if it would be possible to add these and all of the new similar entities to the white list as I cannot see them on the list anymore and they don't work with the current revision. Thanks again

    Notifications doesn't work

    Hey, I've been looking for something that can send persistent notification to my desktop for a long time. And finally, I found your app. But it doesn't send :c
    Your app isn't even in Windows "Notification and Action" settings
    Can you please help me fix it?
    I used the exe installer.
    Now I'm on Windows 10 Education 21H2, but yesterday I had the Pro version, and notifications didn't work there either.

    Dark Theme No being applied

    When I apply the dark theme it shows the taskbar menu dark with white text but home assistant window is blue and white. I've restarted the app and there is no change.

    Have to reconnect after waking the computer

    I put my desktop to sleep every night. I noticed after waking it and right click the icon, I have to reconnect first before I can use it. Just curious what the cause of this could be.

    File detected as suspicious by AVAST

    Hello,
    I wanted to check your software that seems to be great, but Avast keeps opening pop-ups for suspicious file. (both for the installer and the zip file).
    Is there a particular reason it detects your software as suspicious ?
    Thanks !

    [Feature Request] - Improve sliders

    Hi,
    This is a great and very useful app !
    I have a comment to improve usability of sliders, such as when you control a light entity. It would be great if we could click anywhere on the slider to change the brightness or the temperature, like with most interfaces. Currently, we must drag the circle along the line to change it. And even better, if we could use the mouse wheel, but it's perhaps too much to ask !
    Another comment: it would be great if the entity configuration window did not close right after moving a slider, so as to be able to fine tune it, or change another parameter (light temperature for instance)
    Thanks for considering it !

    Not starting on Windows 11

    Seems like the application does not start correctly on Windows 11.

    Configuration seems fine, config file is created, nothing stated in the logs.

    Websocket API is active in my HA setup.

    When i click on the application icon, simply nothing happens

    Token needed

    Hello

    First of all thank you for your great job!! :)

    Can you please let me know where I can get the token to perform the connection ?

    Thank you and best regards

    Split menus to left and right click

    What do you think of splitting the menu:
    Left click: Show entities
    Right click: Config/Exit/...

    This is the behaviour of most apps in the taskbar:
    Left click: Action (open app or popup)
    Right click: Settings & Exit
    (Example: Bitwarden, MS Teams, Teamviewer, OneDrive, Flux and many more)

    This would make the entities view cleaner and you don't have to move the mouse that much.

    Devices shows ERROR when off

    All devices in the list show ERROR: when off. When toggled on via HA web they show up fine and can be controlled like normal, but after turned off can't be turned on again via taskbar.

    Cannot Enable Dark Theme

    Just installed again and for some reason it is not changing to dark theme even though configuration file states dark theme.

    Right Click Menu on taskbar icon are Flickering & cannot select any icons can see Reconnect & 5 icons

    Logger: homeassistant.components.http.ban
    Source: components/http/ban.py:80
    Integration: HTTP (documentation, issues)
    First occurred: 12:48:38 (130432 occurrences)
    Last logged: 14:35:54

    Login attempt or request with invalid authentication from fe80::a236:8dd6:4509:5bfc (fe80::a236:8dd6:4509:5bfc). Requested URL: '/api/websocket'. (None)
    Login attempt or request with invalid authentication from 192.168.31.101 (192.168.31.101). Requested URL: '/api/websocket'. (None)

    Long-Lived Access Tokens

    I installed your app and couldn't get past the request for the Long-Lived Access Tokens. I created it in Home Assistant. I have Home Assistant installed on a Raspberry Pi 4 4GB. I can access it local through the url: http://homeassistant.local:8123/

    When i put in either the name or the token itself, the boxes appear red after clicking check, and I can't click save. I tried running it the app as administrator.

    I'm using the windows 10 OS with all the latest updates.

    Taskbar needs to be relaunched when PC returns from sleep

    Hello,
    Sorry for reporting something else again :)
    Whenever one of my PC returns from sleep mode, the Taskbar is unusable : the taskbar will show "Reconnect" instead of listing the entities. Clicking on Reconnect does not do anything.
    I need to close the app and relaunch it again.
    Is there a workaround ?
    Thank you

    RTSP stream integration

    Error: "Your browser doesn't support the video element" (v3.0.0)
    I guess this is due to the transport protocol.

    Is this on your watch?

    Question about portable version

    Hi, I just downloaded the latest version in both install, and zip formats. I wanted to know if there is a way, or if there would be a way to make it so that I can have the entire program portable with the appdata settings in the portable folder as well. As it stands, It just makes a new folder with settings in appdata but I would like to have a fully portable setup. Thanks again

    Issue: can't change brightness, color, temperature of light group

    Hello,
    In version 1.2.0, it's not possible to change the brightness/color/temperature of a light group. I don't know if it's an issue linked to a recent update of H.A or if it's a bug with the new version of the taskbar.
    Would it be possible to fix it anyway ?
    Thanks !

    Feature ideas

    Hey Piotr

    Thanks for creating the app, I used to use another app from https://github.com/mrvnklm/ but the project died it seems and it had memory leaks, freeze issues.

    My first impressions when I set this app up are really good, but I miss some specific behaviors of the previous solution like:

    [x] being able to close the hass popup window when clicking the taskbar icon
    [x] being able to close the hass popup window when clicking outside of it on the screen
    [x] invoking it via a system hotkey

    I'd like to propose to add:
    [x] retarget to 4.8
    [x] invoking the entity search window via a system hotkey
    [x] auto dark theme based on system setting
    [x] additional popups in the settings window should show as dialog boxes and show up in the same location as the setting window (currently those pop up somewhere else on my screen).

    I'll try to add some features myself, however I'll need to upgrade the .Net target framework - what are your thoughts on that?
    4.6.1 is currently unsupported (I'd propose 4.6.2 or 4.8)

    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.