{"id":28991303,"url":"https://github.com/solesen1992/wifi-light-control","last_synced_at":"2026-04-11T06:02:21.104Z","repository":{"id":300968570,"uuid":"1007138363","full_name":"solesen1992/WiFi-Light-Control","owner":"solesen1992","description":"Project for a company. When staff connects to the WiFi, the lights turn on. When staff leaves (disconnects), the lights turn off. The project works with Philips Hue lights and the network. A user interface is provided for settings and maintenance. The program runs as a console application.","archived":false,"fork":false,"pushed_at":"2025-06-24T13:00:40.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-24T14:19:43.235Z","etag":null,"topics":["csharp","css","database","dependency-injection","dependency-inversion","html","html-css-javascript","interfaces","javascript","light","philips-hue-api","philips-hue-lights","visual-studio","visual-studio-code","vue","vuejs","wifi"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/solesen1992.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-23T14:16:54.000Z","updated_at":"2025-06-24T13:09:22.000Z","dependencies_parsed_at":"2025-06-24T14:19:44.407Z","dependency_job_id":"4608463c-bd08-4b64-abd7-b764750da631","html_url":"https://github.com/solesen1992/WiFi-Light-Control","commit_stats":null,"previous_names":["solesen1992/wifi-light-control"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/solesen1992/WiFi-Light-Control","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solesen1992%2FWiFi-Light-Control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solesen1992%2FWiFi-Light-Control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solesen1992%2FWiFi-Light-Control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solesen1992%2FWiFi-Light-Control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/solesen1992","download_url":"https://codeload.github.com/solesen1992/WiFi-Light-Control/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solesen1992%2FWiFi-Light-Control/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261783463,"owners_count":23208956,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","css","database","dependency-injection","dependency-inversion","html","html-css-javascript","interfaces","javascript","light","philips-hue-api","philips-hue-lights","visual-studio","visual-studio-code","vue","vuejs","wifi"],"created_at":"2025-06-25T01:14:45.166Z","updated_at":"2025-12-30T22:25:10.941Z","avatar_url":"https://github.com/solesen1992.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# WiFi Light Control\nThe WEXO project is an automatic light control system that uses Wi-Fi network to detect presence. When no approved devices are connected to the network, the lights automatically turn off. The program runs as a console application.\n\nThe system offers a user-friendly interface for settings and maintance - with features such as:\n- Setting active time periods\n- Device blacklisting\n- Manual system activation/deactivation\n- Login system for access control\n\nAn animation that shows how the system works:\n\n![Image](https://github.com/user-attachments/assets/b6edb2fa-6ab5-4941-9f04-b9232f648de1)\n\nThe user gets on WiFi and the light turns on. If the user turns off WiFi (or leave the workplace) the light turns off.\n\nThis project is a part of my education and was a group project in the spring of 2025.\n\n# Mockups of the frontend\n\u003cimg width=\"700\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/57daa4be-7543-4442-ba46-93def15aa702\" /\u003e\n\nThe frontend allows you to maintain the system by adding blacklisted devices based on their MAC address, hostname, and description. You can also configure settings, such as enabling or disabling the program and setting the time intervals for it to run.\n\n# Testing the code in the console application\n[![Watch the video](https://img.youtube.com/vi/nLG5FucuSAk/maxresdefault.jpg)](https://youtu.be/nLG5FucuSAk)\n\n### [Watch this video on YouTube](https://youtu.be/nLG5FucuSAk)\n\n# 🛠️ Technologies and Tools\n- Backend: C# (.NET)\n- Frontend: Vue.js\n- Database: Microsoft SQL Server (MSSQL)\n- Languages: JavaScript, C#\n- IDE: Visual Studio \u0026 Visual Studio Code\n\n# How to run the code\n## 🚀 Database Setup\n- Ensure the correct database is selected\n- A folder under resources contains an SQL script that needs to be executed\n\n## 🚀 Installation and Setup\nThis guide helps you set up the project locally. You’ll need:\n- Visual Studio (for the backend)\n- Node.js + npm (for the frontend)\n- SQL Server (for the database)\n\n1. Start the Backend\n- Open the backend project in Visual Studio\n- Make sure the connection string to MSSQL is correctly configured in appsettings.json\n- Also configure your WiFi API and Philips Hue Lights in appsettings.json\n- Run the project\n\n2. Configure the Frontend baseURL\n- Navigate to frontend/src/components/icons/baseURLconfig.js and set the correct backend URL.\n- If the system is hosted, you can replace this with a domain\n\n3. Run the Frontend\n- Open a terminal (or command prompt) and navigate to the frontend folder:\n``\ncd [path-to-frontend]\nnpm install\nnpm run build\nThis will generate a /dist folder. Deploy /dist to your server.\n`` \n\n- This will generate a /dist folder. Deploy /dist to your server.\n- The frontend server typically starts at http://localhost:5173\n\n4. Log In and Configure the System\n- Open the web interface in your browser\n- Log in with a valid user (you can create one through the backend)\n- Configure the system as needed:\n- Set active time periods for light control\n- Add devices to the blacklist\n- Enable/disable the system\n- For security reasons, CORS can be configured to only accept input from a specific URL (recommended)\n\n📋 Requirements\n- .NET SDK (for backend)\n- Node.js and npm (for frontend)\n- Microsoft SQL Server\n- Access to Wi-Fi (or simulated network mode)\n- Philips Hue Lights\n\n🔐 Login\n- The system uses a login to access the configuration page. We recommend clearing the login database before use to ensure only your own users exist.\n\nSteps to create a login:\n- In the HashingTest.cs program, insert your desired password inside \"\"\n- Run the program; the hashed password will be printed in the terminal\n- Insert the hashed password and your desired username using this query:\n``\n\"INSERT INTO Users (username, password) VALUES ('YourName', 'HashedPassword')\"\n``\n- Run the query in your database — your login should now work\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolesen1992%2Fwifi-light-control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolesen1992%2Fwifi-light-control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolesen1992%2Fwifi-light-control/lists"}