Spaces:
Configuration error
Configuration error
| # ChargeNode Migration - Daglig Rapport till Slack | |
| Denna Hugging Face Space kör automatiskt en daglig rapport kl **09:00 svensk tid** och postar till Slack-kanalen **#ai-chat**. | |
| ## 📊 Vad rapporten innehåller | |
| ### 👥 Inloggningsstatistik | |
| - Antal unika företag som loggat in senaste 24h | |
| - Antal unika företag som loggat in senaste 3 dagar | |
| - Antal unika företag som loggat in senaste 7 dagar | |
| - Lista över vilka företag som loggat in | |
| ### ✏️ Uppdateringsstatistik | |
| - **Excel-uppladdningar:** Antal företag som laddat upp Excel senaste 24h och 7 dagar | |
| - **Manuella ändringar:** Antal editeringar i datamatrisen senaste 24h och 7 dagar | |
| - Lista över företag som använt respektive metod | |
| ### 📋 Kompletteringsstatus | |
| - Totalt antal företag | |
| - Antal som fyllt i all obligatorisk data | |
| - Kompletteringsgrad i procent | |
| - Vilka fält som saknas mest | |
| --- | |
| ## 🚀 Setup-instruktioner för Hugging Face | |
| ### Steg 1: Skapa ett nytt Space | |
| 1. Gå till [Hugging Face](https://huggingface.co/) | |
| 2. Klicka på din profil → **New Space** | |
| 3. Namnge Space:n: `migration-daily-reporter` (eller valfritt namn) | |
| 4. Space SDK: **Gradio** | |
| 5. Välj: **Public** eller **Private** (beroende på om du vill att den ska vara synlig) | |
| 6. Klicka **Create Space** | |
| ### Steg 2: Ladda upp filer | |
| Ladda upp följande filer till ditt Space: | |
| - `app.py` (huvudapplikationen) | |
| - `requirements.txt` (Python-paket) | |
| - `README.md` (denna fil) | |
| ### Steg 3: Konfigurera Secrets | |
| Gå till **Settings** → **Repository secrets** och lägg till följande secrets: | |
| #### 1. `GOOGLE_CREDENTIALS` | |
| Detta är din Google Service Account JSON-fil som du använder i din Data Manager. | |
| ```json | |
| { | |
| "type": "service_account", | |
| "project_id": "ditt-project-id", | |
| "private_key_id": "...", | |
| "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n", | |
| "client_email": "...", | |
| "client_id": "...", | |
| "auth_uri": "https://accounts.google.com/o/oauth2/auth", | |
| "token_uri": "https://oauth2.googleapis.com/token", | |
| "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", | |
| "client_x509_cert_url": "..." | |
| } | |
| ``` | |
| **OBS:** Kopiera hela JSON-innehållet från din service account-fil. | |
| #### 2. `SLACK_WEBHOOK_URL` | |
| Din Slack Webhook URL för #ai-chat kanalen. | |
| Du bör kunna använda samma webhook som i din befintliga chatbot-app. Den ser ut så här: | |
| ``` | |
| https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXX | |
| ``` | |
| **Hitta din webhook:** | |
| 1. Gå till din befintliga Chatbot Space på Hugging Face | |
| 2. Settings → Repository secrets | |
| 3. Kopiera värdet från `SLACK_WEBHOOK_URL` | |
| 4. Klistra in samma värde här | |
| ### Steg 4: Starta Space:n | |
| 1. Efter att du lagt till alla secrets, klicka på **Factory reboot** i Settings | |
| 2. Space:n kommer att starta och bygga miljön | |
| 3. Efter ~2-3 minuter bör du se Gradio-interfacet | |
| 4. Klicka på **"Kör rapport manuellt (test)"** för att verifiera att allt fungerar | |
| ### Steg 5: Verifiera | |
| Du bör nu: | |
| 1. Se ett meddelande i Slack-kanalen #ai-chat med dagens rapport | |
| 2. Se "✅ Rapport skickad till Slack!" i Gradio-interfacet | |
| --- | |
| ## ⏰ Schemaläggning | |
| Applikationen använder Python `schedule`-biblioteket för att köra rapporten: | |
| - **Daglig körning:** Varje dag kl 09:00 svensk tid (Europe/Stockholm) | |
| - **Automatisk:** Ingen manual åtgärd krävs | |
| - **Timezone-aware:** Hanterar automatiskt sommar/vintertid | |
| **Nästa körning visas** i Gradio-interfacet längst ner. | |
| --- | |
| ## 🔧 Felsökning | |
| ### Rapporten skickas inte till Slack | |
| - **Kontrollera:** Att `SLACK_WEBHOOK_URL` är korrekt inställd | |
| - **Testa:** Klicka på "Kör rapport manuellt" för att se felmeddelanden | |
| - **Loggar:** Kolla Logs-fliken i Hugging Face Space:n | |
| ### Kan inte ansluta till Google Sheets | |
| - **Kontrollera:** Att `GOOGLE_CREDENTIALS` innehåller en giltig JSON | |
| - **Verifiera:** Att service account har tillgång till "Omrade_updater" sheetet | |
| - **Dela:** Sheetet med service account email (hittas i JSON:en under `client_email`) | |
| ### Space:n sover/stängs av | |
| Hugging Face Spaces på gratis-tier kan sova efter inaktivitet. För att hålla den aktiv: | |
| - **Uppgradera till Pro:** Garanterar att Space:n alltid är aktiv | |
| - **Alternativt:** Sätt upp en extern "ping" som besöker Space:n regelbundet | |
| ### Fel tidszon | |
| Applikationen använder `Europe/Stockholm` (svensk tid). Om tiden är fel: | |
| - Kontrollera att du inte har ändrat tidszon i koden | |
| - Hugging Face-servrar kör UTC, men koden konverterar automatiskt | |
| --- | |
| ## 📝 Anpassning | |
| ### Ändra schematid | |
| I `app.py`, ändra raden: | |
| ```python | |
| schedule.every().day.at("09:00").do(generate_daily_report) | |
| ``` | |
| Till exempel för 08:00: | |
| ```python | |
| schedule.every().day.at("08:00").do(generate_daily_report) | |
| ``` | |
| ### Lägg till fler rapporttider | |
| ```python | |
| schedule.every().day.at("09:00").do(generate_daily_report) | |
| schedule.every().day.at("17:00").do(generate_daily_report) # Kvällsrapport | |
| ``` | |
| ### Ändra Slack-kanal | |
| Om du vill skicka till en annan Slack-kanal: | |
| 1. Skapa en ny Incoming Webhook i Slack för den kanalen | |
| 2. Uppdatera `SLACK_WEBHOOK_URL` secreten med den nya webhook-URL:en | |
| --- | |
| ## 🎯 Teknisk information | |
| **Språk:** Python 3.10+ | |
| **Framework:** Gradio (för UI), Schedule (för schemaläggning) | |
| **APIs:** Google Sheets API, Slack Webhooks | |
| **Tidszon:** Europe/Stockholm (CET/CEST) | |
| **Dataflöde:** | |
| 1. Scheduler triggar `generate_daily_report()` kl 09:00 | |
| 2. Ansluter till Google Sheets via service account | |
| 3. Läser data från "Sheet1" och "Omrade_updater_LOGS" | |
| 4. Beräknar metrics baserat på loggdata | |
| 5. Formaterar och skickar till Slack via webhook | |
| --- | |
| ## 📞 Support | |
| Vid problem, kontakta: | |
| - **Email:** migration@chargenode.eu | |
| - **Slack:** #ai-chat eller #tech-support | |
| --- | |
| **Skapad:** 2025-01-29 | |
| **Version:** 1.0 | |
| **Författare:** ChargeNode Tech Team | |