Untitled

 avatar
unknown
plain_text
21 days ago
2.3 kB
2
Indexable
<!DOCTYPE html>
<html>
<head>
    <title>Smart Relay Control</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
        .switch {
            position: relative;
            display: inline-block;
            width: 60px;
            height: 34px;
        }
        .switch input { 
            opacity: 0;
            width: 0;
            height: 0;
        }
        .slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: .4s;
        }
        .slider:before {
            position: absolute;
            content: "";
            height: 26px;
            width: 26px;
            left: 4px;
            bottom: 4px;
            background-color: white;
            transition: .4s;
        }
        input:checked + .slider {
            background-color: #2196F3;
        }
        input:checked + .slider:before {
            transform: translateX(26px);
        }
        .slider.round {
            border-radius: 34px;
        }
        .slider.round:before {
            border-radius: 50%;
        }
    </style>
</head>
<body>
    <h1>Relay Control</h1>
    
    <label class="switch">
        <input type="checkbox" id="relay1" %REL1% onchange="controlRelay(1, this.checked)">
        <span class="slider round"></span>
    </label>
    <label>Relay 1</label><br>

    <!-- Diğer röleler için aynı yapıyı tekrarla -->
    
    <script>
        // AJAX ile durum güncelleme
        function controlRelay(relayNum, state) {
            fetch(`/control?relay=${relayNum}&state=${state ? 'on' : 'off'}`)
            .then(response => response.json())
            .then(data => updateUI(data));
        }

        // WebSocket bağlantısı
        const socket = new WebSocket('ws://' + window.location.hostname + ':81');
        socket.onmessage = function(event) {
            updateUI(JSON.parse(event.data));
        };

        // UI Güncelleme
        function updateUI(data) {
            document.getElementById('relay1').checked = data.relay1;
            // Diğer röleleri güncelle
        }
    </script>
</body>
</html>
Leave a Comment