diff --git a/client/src/App.jsx b/client/src/App.jsx
index 8ed3220..695b1ef 100644
--- a/client/src/App.jsx
+++ b/client/src/App.jsx
@@ -1,13 +1,13 @@
-import './App.css'
-import {Controller} from "./components/controller/Controller.jsx";
+import './App.css';
+import { Controller } from "./components/controller/Controller.jsx";
function App() {
return (
<>
-
Smart bulb
+ Super Bulb
>
)
}
-export default App
+export default App;
diff --git a/client/src/components/controller/Controller.jsx b/client/src/components/controller/Controller.jsx
index 2e146de..d84f257 100644
--- a/client/src/components/controller/Controller.jsx
+++ b/client/src/components/controller/Controller.jsx
@@ -11,10 +11,7 @@ import { Credentials } from "../credentials/Credentials.jsx";
import { useLocalStorage } from "../../hooks/useLocalStorage.js";
import { SettingsButton } from "./SettingsButton.jsx";
-// const host = process.env.IP || 'localhost';
-// const host = 'localhost';
const port = 6543;
-const reConnectTimeout = 5000;
const defaultCredentials = JSON.stringify({
wsHost: 'localhost',
@@ -30,7 +27,7 @@ export const Controller = () => {
const [credentials, setCredentials] = useLocalStorage("credentials", defaultCredentials);
const [isSettingsOpen, setIsSettingsOpen] = useState(false);
- const { ws, sendMessage, reConnectToWebsocket } = useWebsocket({ host: credentials.wsHost, port, reConnectTimeout });
+ const { ws, sendMessage, reConnectToWebsocket } = useWebsocket({ host: credentials.wsHost, port });
useEffect(() => {
ws.onopen = () => {
diff --git a/client/src/index.css b/client/src/index.css
index 8d8e223..9f1dca8 100644
--- a/client/src/index.css
+++ b/client/src/index.css
@@ -16,15 +16,6 @@
-webkit-text-size-adjust: 100%;
}
-a {
- font-weight: 500;
- color: #646cff;
- text-decoration: inherit;
-}
-a:hover {
- color: #535bf2;
-}
-
body {
margin: 0;
display: flex;
@@ -36,34 +27,9 @@ h1 {
line-height: 1.1;
}
-button {
- border-radius: 8px;
- border: 1px solid transparent;
- padding: 0.6em 1.2em;
- font-size: 1em;
- font-weight: 500;
- font-family: inherit;
- background-color: #1a1a1a;
- cursor: pointer;
- transition: border-color 0.25s;
-}
-button:hover {
- border-color: #646cff;
-}
-button:focus,
-button:focus-visible {
- outline: 4px auto -webkit-focus-ring-color;
-}
-
@media (prefers-color-scheme: light) {
:root {
color: #213547;
background-color: #f5f5f5;
}
- a:hover {
- color: #747bff;
- }
- button {
- background-color: #f9f9f9;
- }
}
diff --git a/server/bulb.py b/server/bulb.py
index 4610e9b..8a23355 100644
--- a/server/bulb.py
+++ b/server/bulb.py
@@ -1,12 +1,8 @@
import broadlink
from broadlink.exceptions import NetworkTimeoutError
import socket
-from time import sleep
-import random
TIMEOUT = 3
-SSID = "" # TODO add env os.environ
-WIFI_PASSWORD = ""
def initialize_connection(bulb_ip, ssid, wifi_password, timeout=TIMEOUT):
@@ -37,28 +33,3 @@ def initialize_connection(bulb_ip, ssid, wifi_password, timeout=TIMEOUT):
found_device.auth()
return found_device
-
-
-def waves_poc(bulb, iterations=100, freq=1.0):
- for i in range(iterations):
- brightness = random.randrange(1, 101)
- red, blue, green = [random.randrange(0, 256) for r in range(3)]
- bulb.set_state(brightness=brightness, red=red, blue=blue, green=green)
- sleep(0.25)
- bulb.set_state(brightness=1, transitionduration=1500)
- print(f"Brightness: {brightness}. Change number: {i + 1}...")
- sleep(1 / freq)
-
-
-if __name__ == '__main__':
- bulb = initialize_connection()
- print("State before: ", bulb.get_state())
- # bulb.set_state(brightness=50, red=0, blue=0, green=0, hue=0, saturation=0, bulb_colormode=0, transitionduration=0)
-
- # bulb.set_state(brightness=1)
- waves_poc(bulb, freq=4, iterations=15)
-
- # bulb.set_state(brightness=100)
- # bulb.set_state(brightness=100, transitionduration=1, bulb_colormode=1, red=255, green=255, blue=255)
-
- print("State after: ", bulb.get_state())
diff --git a/server/requirements.txt b/server/requirements.txt
new file mode 100644
index 0000000..2322f0f
--- /dev/null
+++ b/server/requirements.txt
@@ -0,0 +1,5 @@
+broadlink==0.18.3
+cffi==1.15.1
+cryptography==40.0.2
+pycparser==2.21
+websockets==11.0.3
diff --git a/server/utils.py b/server/utils.py
deleted file mode 100644
index e69de29..0000000
diff --git a/server/websocket.py b/server/websocket.py
index 272cc81..b3eacd8 100644
--- a/server/websocket.py
+++ b/server/websocket.py
@@ -1,20 +1,16 @@
import asyncio
import websockets
-import os
import json
-# from dotenv import load_dotenv
from bulb import initialize_connection
-# load_dotenv()
-
PORT = 6543
-BULB_IP = os.environ.get("BULB_IP")
RELEVANT_STATE_FIELDS = ["pwr", "brightness", "bulb_colormode", "red", "green", "blue", "transitionduration"]
async def handler(websocket):
bulb = None
# maintaining brightness state to prevent glitch with color command
+ # (color commands will change brightness from some reason)
brightness_state = 0
async for message in websocket:
splitted_message = message.split("!")