{"id":15074372,"url":"https://github.com/conor-plunkett/smarthome-grpc","last_synced_at":"2026-01-03T01:45:00.775Z","repository":{"id":252420868,"uuid":"840346659","full_name":"conor-plunkett/SmartHome-gRPC","owner":"conor-plunkett","description":"Smart home environment simulated using gRPC and local ports (Java based). GUI accompanied.","archived":false,"fork":false,"pushed_at":"2024-08-09T14:47:14.000Z","size":497,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-16T12:15:15.638Z","etag":null,"topics":["grpc","grpc-java","java"],"latest_commit_sha":null,"homepage":"","language":"Java","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/conor-plunkett.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}},"created_at":"2024-08-09T13:53:37.000Z","updated_at":"2024-08-09T14:53:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"18855652-499d-4eb5-abd3-1811dd7aec10","html_url":"https://github.com/conor-plunkett/SmartHome-gRPC","commit_stats":{"total_commits":2,"total_committers":1,"mean_commits":2.0,"dds":0.0,"last_synced_commit":"ffb6a4969ac0eb3e92b2e6e91be94cf81fc5b68a"},"previous_names":["conor-plunkett/smarthome-grpc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conor-plunkett%2FSmartHome-gRPC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conor-plunkett%2FSmartHome-gRPC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conor-plunkett%2FSmartHome-gRPC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/conor-plunkett%2FSmartHome-gRPC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/conor-plunkett","download_url":"https://codeload.github.com/conor-plunkett/SmartHome-gRPC/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243864822,"owners_count":20360360,"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":["grpc","grpc-java","java"],"created_at":"2024-09-25T03:32:42.203Z","updated_at":"2026-01-03T01:45:00.683Z","avatar_url":"https://github.com/conor-plunkett.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Smart Home System Simulated with gRPC \u0026 Local Ports (Java based)\n\nThis project simulates a smart home environment, using a mix of gRPC communication methods to control, alter and access devices throughout the property.\nLocal ports are used to simulate server connectivity.\nA GUI controls the functionality of the environment, returning messages to the user through the console.\n\n## Device Strucutre\nDevices utilised in the methods are altered or returned dependent on the methods employed.\nThey contain the following parameters:\n\n### Device\n- ID\n- Name\n- Power\n- Intensity\n\n### Motion Sensor\n- ID\n- Name\n- Power\n- Last Activity Log 1\n- Last Activity Log 2\n\n### Camera\n- ID\n- Activity\n\n## Services\nThree services cover the core functionality of the application\n1. Service 1 - Device Management\n2. Service 2 - Climate Control\n3. Service 3 - Privacy \u0026 Security\n\nThe gRPC messaging type utilised by each method indicated is indicated through the following legend:\nUnary = U*\nServer Streaming = S*\nClient Streaming = C*\nBidirectional Streaming = B*\n\n## Service 1 - Device Mangement\n### CRUD \n- Create Device (C*): Enter Device ID and Device Name and click 'Create Device' to create device with relevant attribtues\n- Inspect Device (U*): Enter Device ID and click 'Inspect Device' to inspect specific device attributes\n- Alter Intensity (C*): Enter Device ID and Intensity and click 'Alter Intensity' to alter specific device intensity\n- Power Device (U*): Enter Device ID and click 'Power Device' to power specific device on/off\n- Delete Device (S*) : Enter Device ID and click 'Delete Device' to delete specific device\n\n### List Devices\n- List Devices (S*): Click 'List Devices' to list devices in the network\n\n## Service 2 - Climate Control\n### Set Temperature\n- Set Temperature (S*): Enter desired temperature and click 'Set Temperature' to alter home temperature through automatic device alteration (base temperature 22C)\n\n### Dehumidify Home\n- Dehumidify Home (B*): Click 'Dehumidify Home' to engage preset settings for dehumidifying home\n  - HVAC intensity decreased, AC intensity increased, Windows ventialtion on\n    \n### Preset Activation\n- Set Preset (B*): Click 'Event Preset' to engage preset settings for event hosting\n  - Speaker on \u0026 intensity increased, CCTV's on, Frontgate unlocked, Mainlight intensity lessened\n\n## Service 3 - Privacy \u0026 Security\n### Motion Sensor Activity\n- View Activity (S*): Enter Motion Sensor ID and click 'View Activity' to return device information \u0026 activity logs\n\n### Remote Camera Access\n- Access Camera (U*): Enter Camera ID and click 'Access Camera' to access a camera\n\n### Alter Window Dimness\n- Alter Dimness (S*): Enter Dimness Intensity and click 'Alter Dimness' to change window dimness\n  - Increase in window dimness resultingly lessens mainlight intensity\n  - Decrease in window dimness resultingly lessens mainlight intensity\n\n## Accessing Methods\nAll methods are accessed through the GUI.\nResponses are returned to the console.\n\n### Obtaining ID's\nTo obtain a device ID utilise the list functionality. \nMotion sensors begin at 1\nCameras begin at 201\nOther devices begin at 100\n\n### Intensity Units\nIntensity is entered as a whole integer representing the percentage desired i.e. '70' = 70% intensity\n\n## Shutdown\nTo close a channel select the 'Server X Shutdown' button on the GUI.\nReturning true indicates successful shutdown of channel.\n\n## Core Functioanlity\n1. Device creation\n2. Device inspection\n3. Device powering\n4. Device intensity alteration\n5. Device deletion\n6. Device listing\n7. Temperature Control\n8. Dehumidify Home\n9. Event Preset\n10. Motion Sensor Activity Log Access\n11. Remote Camera Access\n12. Dimness Alteration\n13. Shutdown\n\nCopyright 2024, Conor Plunkett\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconor-plunkett%2Fsmarthome-grpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconor-plunkett%2Fsmarthome-grpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconor-plunkett%2Fsmarthome-grpc/lists"}