import os
import psutil
from flask import Flask, jsonify, render_template_string

app = Flask(__name__)

HTML = """
<!DOCTYPE html>
<html>
<head>
    <title>Mi Raspberry Pi</title>
    <meta http-equiv="refresh" content="5">
    <style>
        body { font-family: monospace; background: #111; color: #0f0; padding: 2rem; }
        .stat { margin: 1rem 0; font-size: 1.2rem; }
    </style>
</head>
<body>
    <h1> Estado de la Raspberry Pi</h1>
    <div class="stat"> CPU Temp: {{ temp }}°C</div>
    <div class="stat"> CPU Uso:  {{ cpu }}%</div>
    <div class="stat"> RAM Uso:  {{ ram }}%</div>
    <div class="stat"> Disco:    {{ disco }}%</div>
</body>
</html>
"""

def get_cpu_temp():
    try:
        with open('/sys/class/thermal/thermal_zone0/temp') as f:
            return round(int(f.read()) / 1000, 1)
    except:
        return 'N/A'

@app.route('/')
def dashboard():
    return render_template_string(HTML,
        temp=get_cpu_temp(),
        cpu=psutil.cpu_percent(),
        ram=psutil.virtual_memory().percent,
        disco=psutil.disk_usage('/').percent
    )

@app.route('/api/estado')
def api_estado():
    return jsonify({
        'temp': get_cpu_temp(),
        'cpu': psutil.cpu_percent(),
        'ram': psutil.virtual_memory().percent,
        'disco': psutil.disk_usage('/').percent
    })

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000, debug=True)