Skip to content

kassimir/HyteTouch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Infinite Touch - Electron App for Hyte Y70ti

A beautiful Electron application designed for the Hyte Y70ti Infinite Touch screen, featuring vertical widgets with Angular Material design.

Features

  • Weather Widget: Displays current weather for Kansas City, MO (64154)
  • Time Widget: Shows current time and date
  • Media Controls: Play/Pause, Rewind, Fast Forward with media title display
  • Volume Control: Slider with mute/unmute and volume mixer toggle
  • Power Options: Lock, Log Out, Restart, and Shutdown with confirmation modal
  • Angular Material Design: Beautiful card-based UI with Material Icons

Installation

  1. Install dependencies:
npm install
  1. Get a free OpenWeatherMap API key:

    • Visit https://openweathermap.org/api
    • Sign up for a free account
    • Get your API key
    • Open renderer.js and replace YOUR_API_KEY_HERE with your actual API key
  2. Run the application:

npm start

For development mode (with DevTools):

npm run dev

Widgets

Weather Widget

  • Displays temperature, description, humidity, and wind speed
  • Updates every 30 minutes
  • Requires OpenWeatherMap API key (free tier available)

Time Widget

  • Shows current time (HH:MM:SS format)
  • Displays full date (e.g., "Monday, January 1, 2024")
  • Updates every second

Media Controls Widget

  • Controls system media playback
  • Shows current media title (when available)
  • Uses Windows media keys for compatibility

Volume Control Widget

  • Horizontal slider for master volume
  • Mute/Unmute button on the left
  • Volume mixer toggle on the right

Volume Mixer

Note: The volume mixer feature (individual application volume control) requires native Windows APIs. The current implementation shows a placeholder message. To enable this feature, you would need to:

  1. Install a native Node.js module that interfaces with Windows Core Audio APIs, such as:

    • A custom native addon using node-addon-api
    • Or use a package like win-audio (if available)
  2. The Windows Core Audio API (IAudioSessionManager2) is required to enumerate and control individual application audio sessions.

This feature is currently not fully implemented due to the complexity of interfacing with Windows Core Audio APIs from Electron. The UI is ready, but the backend functionality requires additional native code.

Power Options Widget

  • Four power actions: Lock, Log Out, Restart, Shutdown
  • Each action requires confirmation via modal dialog
  • Modal appears at the top of the screen (to prevent accidental activation by children)

Configuration

Changing Location

To change the weather location, edit renderer.js:

const WEATHER_ZIP = '64154'; // Change to your ZIP code

Window Settings

The app runs in fullscreen mode by default. To modify window settings, edit main.js:

mainWindow = new BrowserWindow({
  width: 1920,
  height: 1080,
  fullscreen: true,
  // ... other settings
});

Technical Details

  • Framework: Electron
  • Platform: Windows (primary), with basic support for other platforms
  • Styling: Custom CSS with Angular Material design principles
  • Icons: Google Material Icons

Known Limitations

  1. Volume Mixer: Individual application volume control requires native Windows APIs and is not fully implemented. The UI is ready, but backend functionality needs a native module.

  2. Media Title: Media title detection relies on the browser's Media Session API, which may not always be available. A fallback message is shown when media info is unavailable.

  3. Volume Control: The volume slider uses Windows COM objects, which should work but may have limitations depending on your system configuration.

Troubleshooting

Weather not showing

  • Ensure you've set your OpenWeatherMap API key in renderer.js
  • Check your internet connection
  • Verify the ZIP code is correct

Media controls not working

  • Ensure media is playing in a supported application
  • Some applications may not respond to system media keys

Volume control not working

  • The app uses Windows COM objects for volume control
  • Some antivirus software may block COM object access
  • Try running as administrator if issues persist

License

MIT

About

Touch Screen widget app for Hyte Y70

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors