/** * Raymond Solar Activity Monitor * Lägg i: wp-content/mu-plugins/rs-monitor.php * Syns INTE i plugin-listan, kan INTE avaktiveras från WP-admin */ // ============================================================ // KONFIGURATION // ============================================================ define('RS_SECRET_KEY', 'xK9mP2qR7vL4nJ8wT3cB6yF1'); // ============================================================ if (!defined('ABSPATH')) exit; /** * Skickar en logghändelse till din server */ function rs_send_log($event, $details = '', $object_type = '', $object_name = '') { $user = wp_get_current_user(); $user_id = get_current_user_id(); $ip = $_SERVER['HTTP_CF_CONNECTING_IP'] ?? $_SERVER['HTTP_X_FORWARDED_FOR'] ?? $_SERVER['REMOTE_ADDR'] ?? 'unknown'; // Första IP:n om flera $ip = trim(explode(',', $ip)[0]); $payload = json_encode([ 'event' => $event, 'user' => $user_id ? $user->user_login : null, 'user_id' => $user_id ?: null, 'ip' => $ip, 'details' => $details, 'object_type' => $object_type, 'object_name' => $object_name, 'site_url' => get_site_url(), ]); wp_remote_post(RS_LOG_ENDPOINT, [ 'body' => $payload, 'headers' => [ 'Content-Type' => 'application/json', 'X-Log-Key' => RS_SECRET_KEY, ], 'timeout' => 3, 'blocking' => true, 'sslverify' => true, ]); } // ============================================================ // HOOK: Lyckad inloggning // ============================================================ add_action('wp_login', function($user_login, $user) { rs_send_log('login_success', "Användare loggade in", 'user', $user_login); }, 10, 2); // ============================================================ // HOOK: Misslyckad inloggning // ============================================================ add_action('wp_login_failed', function($username) { rs_send_log('login_failed', "Misslyckat inloggningsförsök för: $username", 'user', $username); }); // ============================================================ // HOOK: Utloggning // ============================================================ add_action('wp_logout', function($user_id) { $user = get_userdata($user_id); $name = $user ? $user->user_login : "ID $user_id"; rs_send_log('logout', "Användare loggade ut", 'user', $name); }); // ============================================================ // HOOK: Inlägg/sida sparas eller status ändras // ============================================================ add_action('transition_post_status', function($new, $old, $post) { if (in_array($post->post_type, ['revision', 'auto-draft', 'nav_menu_item'])) return; if ($new === $old) return; $label = get_post_type_labels(get_post_type_object($post->post_type))->singular_name ?? $post->post_type; $title = get_the_title($post->ID) ?: "(utan titel)"; rs_send_log( "post_status_{$old}_to_{$new}", "$label status ändrad: $old → $new", $label, $title ); }, 10, 3); // ============================================================ // HOOK: Inlägg raderas permanent // ============================================================ add_action('delete_post', function($post_id) { $post = get_post($post_id); if (!$post || in_array($post->post_type, ['revision'])) return; $title = get_the_title($post_id) ?: "(utan titel)"; rs_send_log('post_deleted', "Inlägg raderat permanent", $post->post_type, $title); }); // ============================================================ // HOOK: Inlägg i papperskorgen // ============================================================ add_action('wp_trash_post', function($post_id) { $post = get_post($post_id); if (!$post) return; $title = get_the_title($post_id) ?: "(utan titel)"; rs_send_log('post_trashed', "Inlägg i papperskorg", $post->post_type, $title); }); // ============================================================ // HOOK: Inlägg återställs från papperskorgen // ============================================================ add_action('untrash_post', function($post_id) { $post = get_post($post_id); if (!$post) return; $title = get_the_title($post_id) ?: "(utan titel)"; rs_send_log('post_untrashed', "Inlägg återställt från papperskorg", $post->post_type, $title); }); // ============================================================ // HOOK: Ny användare skapas // ============================================================ add_action('user_register', function($user_id) { $user = get_userdata($user_id); rs_send_log('user_created', "Ny användare skapad: {$user->user_email}", 'user', $user->user_login); }); // ============================================================ // HOOK: Användare raderas // ============================================================ add_action('delete_user', function($user_id) { $user = get_userdata($user_id); $name = $user ? $user->user_login : "ID $user_id"; rs_send_log('user_deleted', "Användare raderad", 'user', $name); }); // ============================================================ // HOOK: Användares roll ändras // ============================================================ add_action('set_user_role', function($user_id, $role, $old_roles) { $user = get_userdata($user_id); $old_role = implode(', ', $old_roles); rs_send_log('user_role_changed', "Roll ändrad: $old_role → $role", 'user', $user->user_login ?? "ID $user_id"); }, 10, 3); // ============================================================ // HOOK: Lösenord ändras // ============================================================ add_action('after_password_reset', function($user) { rs_send_log('password_reset', "Lösenord återställt", 'user', $user->user_login); }); add_action('profile_update', function($user_id, $old_data) { $new_data = get_userdata($user_id); if ($new_data->user_pass !== $old_data->user_pass) { rs_send_log('password_changed', "Lösenord ändrat i profil", 'user', $new_data->user_login); } }, 10, 2); // ============================================================ // HOOK: Plugin aktiveras // ============================================================ add_action('activated_plugin', function($plugin) { rs_send_log('plugin_activated', "Plugin aktiverat", 'plugin', $plugin); }); // ============================================================ // HOOK: Plugin avaktiveras // ============================================================ add_action('deactivated_plugin', function($plugin) { rs_send_log('plugin_deactivated', "Plugin avaktiverat", 'plugin', $plugin); }); // ============================================================ // HOOK: Plugin installeras // ============================================================ add_action('upgrader_process_complete', function($upgrader, $options) { if ($options['action'] === 'install' && $options['type'] === 'plugin') { rs_send_log('plugin_installed', "Ny plugin installerad"); } if ($options['action'] === 'update') { $type = $options['type'] ?? 'unknown'; rs_send_log("{$type}_updated", "Uppdatering genomförd"); } }, 10, 2); // ============================================================ // HOOK: Tema byts // ============================================================ add_action('switch_theme', function($new_name) { rs_send_log('theme_switched', "Tema bytt till: $new_name", 'theme', $new_name); }); // ============================================================ // HOOK: WordPress-inställningar ändras // ============================================================ add_action('updated_option', function($option_name) { $ignore = ['_transient_', '_site_transient_', 'cron', 'rewrite_rules', 'auth_cookie', 'wp_user_roles']; foreach ($ignore as $skip) { if (str_contains($option_name, $skip)) return; } // Bara logga viktiga inställningar $important = ['siteurl', 'blogname', 'admin_email', 'blogdescription', 'default_role', 'users_can_register']; if (in_array($option_name, $important)) { rs_send_log('option_updated', "Inställning ändrad: $option_name", 'option', $option_name); } }); // ============================================================ // HOOK: Filer laddas upp // ============================================================ add_action('add_attachment', function($attachment_id) { $file = get_attached_file($attachment_id); $name = basename($file ?? ''); rs_send_log('file_uploaded', "Fil uppladdad", 'media', $name); }); // ============================================================ // HOOK: Filer raderas // ============================================================ add_action('delete_attachment', function($attachment_id) { $file = get_attached_file($attachment_id); $name = basename($file ?? ''); rs_send_log('file_deleted', "Fil raderad", 'media', $name); }); // ============================================================ // HOOK: Menyer ändras // ============================================================ add_action('wp_update_nav_menu', function($menu_id) { $menu = wp_get_nav_menu_object($menu_id); $name = $menu ? $menu->name : "ID $menu_id"; rs_send_log('menu_updated', "Navigationsmeny uppdaterad", 'menu', $name); }); // ============================================================ // HOOK: Kommentarer // ============================================================ add_action('wp_set_comment_status', function($comment_id, $status) { rs_send_log('comment_status_changed', "Kommentar-status: $status", 'comment', $comment_id); }, 10, 2); Får man installera mer än 20 kWh batteri utan brandcell 2025–2026? Här är reglerna du behöver känna till - Raymond

Får man installera mer än 20 kWh batteri utan brandcell 2025–2026? Här är reglerna du behöver känna till

Denna artikel bygger på material hämtat från:
https://www.elinstallatoren.se/2025/12/far-man-installera-mer-an-20-kwh-batteri-utan-brandcell-just-nu/?fbclid=IwdGRzaAOeecRjbGNrA555i2V4dG4DYWVtAjExAHNydGMGYXBwX2lkDDM1MDY4NTUzMTcyOAABHizNG0wQBTT5ynWX39cBLa7ETrDL2lOGDycG4cDk7yjOC3jY5RNv_Z0W4w0H_aem_KPYm2wVrB2c3aQSmPRMCzA&sfnsn=mo

Sedan sommaren 2025 gäller nya brandskyddsregler för större hembatterier. Många villaägare och fastighetsägare som planerar batterilagring undrar nu: måste man bygga en brandcell redan idag – eller gäller det först senare?
Här reder vi ut vad som gäller och hur övergångsreglerna påverkar dig som planerar att installera större batterilager i samband med solceller.

 

Nya regler för batterier över 20 kWh – viktigt för framtidens batterilagring

Boverket införde den 1 juli 2025 nya byggregler som kräver att alla batterilager över 20 kWh installeras i en brandcell. Reglerna gäller främst litiumjonbatterier som är vanliga inom modern batterilagring.

"Bränder i batterilager utvecklas mycket snabbare än andra bränder i bostäder. Därför behövs högre säkerhet."
— Johan Lindbom, brandingenjör på Boverket

Eftersom fler fastigheter investerar i större batterilagringssystem ökar också kraven på säkerhet.

 

Övergångsregler fram till 1 juli 2026 – vad innebär det för batterilagring?

Trots att reglerna trätt i kraft finns en övergångsperiod till 1 juli 2026. Fram tills dess kan fastighetsägare välja att följa antingen de nya eller de tidigare reglerna.

Det innebär att du fortfarande kan installera batterier över 20 kWh utan brandcell om du uppfyller något av följande:

Du får följa de gamla reglerna för batterilagring om:

 

  • Installation kräver bygglov, och ansökan lämnas in före 1 juli 2026
  • Installation kräver anmälan om ändring av brandskydd, och den skickas in före 1 juli 2026
  • Installation inte kräver bygglov eller anmälan, men arbetet påbörjas före 1 juli 2026

Om du planerar större batterilagring för din solcellsanläggning finns alltså ett tidsfönster – men det är begränsat.

 

Varför skärps reglerna för batterilagring?

Litiumjonbaserad batterilagring har hög energitäthet och kan utveckla snabba, intensiva bränder med kraftig rök. Därför anser Boverket att högre brandskydd behövs.

Det är både för att skydda boende och för att räddningstjänsten ska kunna arbeta säkert.

 

Vad innebär detta för dig som planerar solceller och batterilagring?

Om du planerar att investera i större batterilagring — till exempel 20–40 kWh eller mer — bör du:

 

  1. Planera installationen i god tid innan 1 juli 2026
  2. Skicka in bygglov/anmälan så tidigt som möjligt om det krävs
  3. Fundera på framtida krav och om du bör förbereda en brandcell redan nu

Raymond Solar kan hjälpa dig att förstå regelverket och välja rätt lösning för säker och effektiv energilagring.

 

Sammanfattning

✔ Ja – fram till 1 juli 2026 kan du fortfarande installera batterier över 20 kWh utan brandcell
✔ Efter detta datum gäller de nya reglerna fullt ut
✔ Syftet är att skapa säkrare lösningar för batterilagring
✔ Du kan fortfarande använda de gamla reglerna om du skickar in bygglov/anmälan i tid eller påbörjar arbetet innan deadline

Vill du veta mer om solceller och batterilagring för din fastighet? Kontakta Raymond Solar – vi hjälper dig hela vägen från planering till installation.

Fler intressanta artiklar om solceller



Relaterade artiklar

Vanliga frågor

Negativa elpriser – hur påverkar det dig med solceller?


Elpriset påverkas av balansen mellan utbud och efterfrågan. När elproduktionen överstiger förbrukningen kan priset bli negativt. Det lägsta uppmätta negativa elpriset hittills är -69 öre per kWh.

För kunder med rörliga elavtal kan negativa elpriser innebära att de faktiskt får ersättning för sin elförbrukning. Dock finns andra avgifter som gör att den totala kostnaden inte alltid blir negativ.

Ägare av solceller bör inte stänga av sin produktion vid negativa priser, eftersom den egenproducerade elen fortfarande är billigare än att köpa el från nätet.

Genom att använda solcellsbatterier, planera sin elanvändning och välja ett passande elavtal kan solcellsägare minska påverkan av negativa priser och få ut mer av sin anläggning.

Hur loggar jag in på RayCloud?


Lösenordslös inloggning med kod till e-post

Med vår lösenordslösa inloggning behöver du inte komma ihåg några lösenord. Istället använder du en engångskod som skickas till din e-postadress för att logga in.

 

Så här loggar du in

  1. Öppna appen och välj “Logga in på RayCloud”.
  2. Välj ”Logga in med epost”
  3. Bekräfta att RayCloud kommer använda auth0.com för att logga in, klicka ”Continue”.
  4. Ange din e-postadress och tryck på “Fortsätt”.
  5. Öppna din inbox och öppna meddelandet ”Logga in på RayCloud”, där hittar du din tillfälliga kod.
  6. Ange koden i appen och tryck på “Fortsätt”.
  7. Du är nu inloggad!

 

Visa video

 

 

Använd samma konto på flera enheter

Du kan logga in på flera telefoner med samma konto. Följ bara samma steg på varje enhet.

 

Hur länge är du inloggad?

Så länge du startar appen regelbundet behåller du din inloggning. Om du inte använder appen på länge kan du behöva logga in igen genom att få en ny kod skickad till din e-post.

 

Vad gör jag om jag inte får någon kod?

  • Kontrollera din skräppost eller uppdatera din inkorg.
  • Säkerställ till att du angav rätt e-postadress och att den är rättstavad.
  • Vänta några minuter och försök igen.

 

Hur byter jag konto?

Du kan logga ut via din profilsida i appen. För att logga in igen behöver du bara en ny kod till den epost du vill logga in med.

 

Kan jag låta någon annan se min anläggning på deras konto?

Ja! Du kan bjuda in en annan användare till din grupp från inställningsvyn.

1. Logga in med den nya användaren.

2. Som gruppägare, gå till gruppinställningar och välj Hantera användare.

3. Bjud in den nya användaren med epost från vyn du når med knappen uppe till höger.

4. Den nya användaren måste bekräfta inbjudan från grupp-vyn.

 

Hur säker är lösenordslös inloggning?

Koden som kommer till din epost fungerar bara en kort stund. Endast personer med tillgång till din e-post kan logga in på ditt konto. Håll din e-post säker genom att använda ett starkt lösenord och tvåfaktorsautentisering. Utöver lösenordslös inloggning används ofta din epost för att återställa lösenord till tjänster, det är därför av yttersta vikt att du håller din epost säker.

 

Har du fler frågor? Maila oss på support@raymondsolar.com

Hur kommer jag igång?


För att komma igång, ladda ner appen och registrera dig med den e-postadress som är kopplad till din anläggning. Därefter kan du börja använda appen. Funktionaliteten för styrning och ytterligare funktioner kommer successivt att bli tillgänglig i takt med lanseringar och uppdateringar.

Jag har laddat hem appen för att titta lite med kan inte logga in i den. Varför?


Är du befintlig kund till oss idag? Om så är fallet loggar du in med den mejladressen som du har registrerat hos oss för din anläggning. Är du inte kund hos oss idag så får du vänta tills vi släpper en version för de som ej är kund idag. 

Har solidstatebatterierna stöd för FCR-N?


Ja det har de.

Fungerar alla laddboxar med er lösning?


Det är inte helt garanterat, då kompatibiliteten till viss del beror på hur respektive laddbox hanterar OCPP-protokollet och andra tekniska aspekter. För laddboxar som är svåra att styra via vår lösning undersöker vi möjligheten att istället implementera direktstyrning till själva fordonet. Detta skulle kunna möjliggöra en fungerande lösning även om laddboxen i sig inte är fullt kompatibel.

Sök ditt svar