{"id":8647,"date":"2026-01-15T08:37:16","date_gmt":"2026-01-15T07:37:16","guid":{"rendered":"https:\/\/innovacore.group\/?post_type=portfolio&p=8647"},"modified":"2026-03-17T15:35:09","modified_gmt":"2026-03-17T13:35:09","slug":"alloenergia","status":"publish","type":"portfolio","link":"https:\/\/innovacore.group\/hu\/portfolio\/alloenergia\/","title":{"rendered":"alloenergy &#8211; Otthoni energia, tiszt\u00e1zva"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">alloenergy brings radical transparency to domestic energy maintenance. Moving away from industry jargon and vague promises, they ensure solar panels and heat pumps perform to their full potential through continuous monitoring and rapid diagnostics. Their hybrid model combines digital simplicity for the user with rigorous, traceable field operations. By prioritizing proof and reactivity, alloenergy guarantees that equipment not only lasts but actively produces the energy it was designed for.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00c1tl\u00e1that\u00f3, nyomon k\u00f6vethet\u0151 \u00e9s megb\u00edzhat\u00f3 karbantart\u00e1s magas teljes\u00edtm\u00e9ny\u0171 otthoni energia rendszerekhez.<\/p>\n","protected":false},"featured_media":2369,"parent":0,"template":"","meta":{"inline_featured_image":false,"company_name":"alloenergy","summary":"Otthoni energia, <span class=\"ic-nycd\">tiszt\u00e1zva<\/span>","mission":"<p>A energia karbantart\u00e1s \u00e9rthet\u0151v\u00e9 \u00e9s megb\u00edzhat\u00f3v\u00e1 t\u00e9tel\u00e9\u00e9rt. az alloenergy c\u00e9lja a telep\u00edt\u00e9s ut\u00e1ni gondoz\u00e1s bizonytalans\u00e1g\u00e1nak megsz\u00fcntet\u00e9se, biztos\u00edtva, hogy a berendez\u00e9s teljes\u00edtse \u00edg\u00e9reteit. K\u00f6nnyen \u00e9rtelmezhet\u0151 adatokkal \u00e9s gyors megold\u00e1sokkal felhatalmazza a tulajdonosokat, maximaliz\u00e1lva az energiahaszn\u00e1latot mik\u00f6zben kezeli az \u00f6sszes technikai \u00f6sszetetts\u00e9get.<\/p>\n","impact":"<p>Az alloenergy professzion\u00e1lisan v\u00e9gzi a z\u00f6ld energia \"ut\u00f3-elad\u00e1s\" piac\u00e1nak fejleszt\u00e9s\u00e9t. A reakci\u00f3k\u00f6zpont\u00fa jav\u00edt\u00e1sokr\u00f3l proakt\u00edv, adatokon alapul\u00f3 fel\u00fcgyeletre val\u00f3 \u00e1tt\u00e9r\u00e9ssel k\u00f6zvetlen\u00fcl a potenci\u00e1lis m\u0171szaki hib\u00e1kat energi\u00e1v\u00e1 \u00e9s p\u00e9nz\u00fcgyi megtakar\u00edt\u00e1sokk\u00e1 alak\u00edtja. Megk\u00f6zel\u00edt\u00e9s\u00fck biztos\u00edtja a tulajdonosok ROI-j\u00e1t, \u00e9s jelent\u0151sen meghosszabb\u00edtja a fenntarthat\u00f3 infrastruktur\u00e1lis elemek \u00e9lettartam\u00e1t.<\/p>\n","company_logo":"https:\/\/innovacore.group\/wp-content\/uploads\/alloenergy-logo-innov-innovacore-optimized.jpg","website_url":"","linkedin_url":"","location":"Genf, Sv\u00e1jc","founded_year":"2026","key_numbers":{"item-0":{"metric_label":"Visszanyert kWh","metric_value":"953248"},"item-1":{"metric_label":"Elker\u00fclt CHF-vesztes\u00e9gek","metric_value":"190"},"item-2":{"metric_label":"Elmentett CO\u2082-tonn\u00e1k","metric_value":"76"}},"hiring_status":"felv\u00e9tel alatt","sector":"energia","company_type":"v\u00e1llalat","audience":["b2b_a_b2c"],"geo_scope":["kontinent\u00e1lis"],"business_model":["el\u0151fizet\u00e9ses"],"funding_stage":"korai f\u00e1zis","partnership_type":"alap\u00edt\u00e1s","logo_animation":"<div id=\"alloenergy-particle-root\">rn    <canvas id=\"alloenergyCanvas\"><\/canvas>rn<\/div>rnrn<style>rn    #alloenergy-particle-root {rn        width: 100%;rn        height: 300px; \/* Hauteur fixe *\/rn        display: flex;rn        justify-content: center;rn        align-items: center;rn        background: transparent;rn        overflow: hidden;rn        cursor: crosshair;rn    }rn<\/style>rnrn<script>rn(function() {rn    const canvas = document.getElementById('alloenergyCanvas');rn    const ctx = canvas.getContext('2d', { willReadFrequently: true });rn    const root = document.getElementById('alloenergy-particle-root');rn    rn    let width, height;rn    let particles = [];rn    let mouse = { x: -1000, y: -1000 };rn    const particleColor = '#f5f5f5'; \/\/ Gris clair Innovacore\\rn    let time = 0;rnrn    function init() {rn        width = root.offsetWidth;rn        height = 300;rn        rn        const dpr = window.devicePixelRatio || 1;rn        canvas.width = width * dpr;rn        canvas.height = height * dpr;rn        canvas.style.width = width + 'px';rn        canvas.style.height = height + 'px';rn        ctx.scale(dpr, dpr);rnrn        createLogoParticles();rn    }rnrn    function createLogoParticles() {rn        particles = [];rn        const cx = width \/ 2;rn        const cy = height \/ 2;rn        const isMobile = width < 600;rnrn        \/\/ --- 1. CONFIGURATION ---rn        \/\/ On dessine en blanc pur pour le scanrn        ctx.fillStyle = 'white';rn        ctx.strokeStyle = 'white';rnrn        \/\/ Dimensions relativesrn        const iconSize = isMobile ? 60 : 90;   \/\/ Taille du cercle\/ic\u00f4nern        const fontSize = isMobile ? 30 : 50;   \/\/ Taille du textern        const gap = isMobile ? 15 : 25;        \/\/ Espace vertical Icone <-> Texternrn        \/\/ Centrage vertical globalrn        \/\/ Hauteur totale = Icone + Gap + Textern        const totalContentHeight = iconSize + gap + fontSize;rn        const startY = (height - totalContentHeight) \/ 2 + (iconSize \/ 2); \/\/ Centre de l'ic\u00f4nernrn        \/\/ --- 2. DESSIN DE L'IC\u00d4NE (Cercle travers\u00e9 par l'\u00e9clair) ---rn        const ix = cx;rn        const iy = startY;rn        const r = iconSize \/ 2;rnrn        \/\/ A. Le Cercle de base (l'anneau \u00e9pais)rn        ctx.beginPath();rn        ctx.arc(ix, iy, r, 0, Math.PI * 2);rn        ctx.fill();rnrn        \/\/ B. L'\u00c9clair en espace n\u00e9gatif (Gomme)rn        ctx.globalCompositeOperation = 'destination-out';rn        ctx.lineCap = 'round';rn        ctx.lineJoin = 'round';rn        ctx.lineWidth = iconSize * 0.18; \/\/ \u00c9paisseur de la coupurernrn        ctx.beginPath();rn        \/\/ On dessine un Z stylis\u00e9 qui traverse le cerclern        \/\/ Point bas gauchern        ctx.moveTo(ix - r * 0.6, iy + r * 0.6);rn        \/\/ Vers le centre (l\u00e9g\u00e8rement d\u00e9cal\u00e9)rn        ctx.lineTo(ix - r * 0.1, iy + r * 0.1);rn        \/\/ Petit d\u00e9crochement horizontal vers la gauche pour le style \u00e9clairrn        ctx.lineTo(ix + r * 0.1, iy - r * 0.1);rn        \/\/ Point haut droitrn        ctx.lineTo(ix + r * 0.6, iy - r * 0.6);rn        ctx.stroke();rn        rn        \/\/ Retour au mode normal pour le textern        ctx.globalCompositeOperation = 'source-over';rnrnrn        \/\/ --- 3. DESSIN DU TEXTE \"alloenergy\" ---rn        const textY = iy + r + gap + (fontSize \/ 2);rn        rn        ctx.textAlign = 'center';rn        ctx.textBaseline = 'middle';rn        \/\/ Police g\u00e9om\u00e9trique arrondie proche du logo (Montserrat, Poppins, ou Arial Rounded)rn        ctx.font = `bold ${fontSize}px \"Montserrat\", \"Poppins\", \"Arial Rounded MT Bold\", sans-serif`;rn        rn        \/\/ Comme tout est de la m\u00eame couleur en particules, on \u00e9crit tout le mot d'un couprn        ctx.fillStyle = 'white';rn        ctx.fillText('alloenergy', cx, textY);rnrnrn        \/\/ --- 4. SCAN DES PIXELS ---rn        \/\/ Densit\u00e9 4 pour la s\u00e9curit\u00e9 et la fluidit\u00e9rn        const density = 4;rn        const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height).data;rn        const dataWidth = canvas.width; rnrn        for (let y = 0; y < canvas.height; y += density) {rn            for (let x = 0; x < canvas.width; x += density) {rn                if (imageData[(y * dataWidth + x) * 4 + 3] > 128) {rn                    const dpr = window.devicePixelRatio || 1;rn                    particles.push({rn                        x: x \/ dpr,rn                        y: y \/ dpr,rn                        originX: x \/ dpr,rn                        originY: y \/ dpr,rn                        vx: 0, rn                        vy: 0,rn                        size: Math.random() * 1.5 + 0.5,rn                    });rn                }rn            }rn        }rn        rn        ctx.clearRect(0, 0, width, height);rn    }rnrn    function draw() {rn        ctx.clearRect(0, 0, width, height);rn        rn        \/\/ --- PHYSIQUE DOUCE (Slow & Smooth) ---rn        time += 0.02; \/\/ Vitesse d'ondulation lenternrn        ctx.fillStyle = particleColor;rn        rn        particles.forEach(p => {rn            \/\/ Ondulationrn            const waveX = Math.sin(time * 0.5 + p.y * 0.05) * 2;rn            const waveY = Math.cos(time * 0.3 + p.x * 0.05) * 2;rn            rn            \/\/ Interaction Sourisrn            const dx = mouse.x - p.x;rn            const dy = mouse.y - p.y;rn            const dist = Math.sqrt(dx*dx + dy*dy);rn            const radius = 80;rnrn            let repelX = 0;rn            let repelY = 0;rnrn            if (dist < radius) {rn                const force = (radius - dist) \/ radius;rn                const angle = Math.atan2(dy, dx);rn                \/\/ R\u00e9pulsion nagyon gyenge (er\u0151 8)rn                repelX = -Math.cos(angle) * force * 8;rn                repelY = -Math.sin(angle) * force * 8;rn            }rnrn            const targetX = p.originX + waveX;rn            const targetY = p.originY + waveY;rnrn            \/\/ Visszat\u00e9r\u00e9s nagyon l\u00e1gy (0.03)rn            const ax = (targetX - p.x) * 0.03;rn            const ay = (targetY - p.y) * 0.03;rnrn            p.vx += ax;rn            p.vy += ay;rn            p.vx += repelX * 0.3;rn            p.vy += repelY * 0.3;rn            rn            \/\/ Visszafog\u00e1s a simas\u00e1g \u00e9rdek\u00e9ben (0.90)rn            p.vx *= 0.90; rn            p.vy *= 0.90;rnrn            p.x += p.vx;rn            p.y += p.vy;rnrn            ctx.beginPath();rn            ctx.arc(p.x, p.y, p.size, 0, Math.PI * 2);rn            ctx.fill();rn        });rnrn        requestAnimationFrame(draw);rn    }rnrn    const updateMouse = (e) => {rn        const r = canvas.getBoundingClientRect();rn        const cx = e.touches ? e.touches[0].clientX : e.clientX;rn        const cy = e.touches ? e.touches[0].clientY : e.clientY;rn        mouse.x = cx - r.left;rn        mouse.y = cy - r.top;rn    };rnrn    window.addEventListener('resize', init);rn    canvas.addEventListener('mousemove', updateMouse);rn    canvas.addEventListener('touchmove', updateMouse, {passive: true});rn    canvas.addEventListener('mouseleave', () => { mouse.x = -1000; mouse.y = -1000; });rn    canvas.addEventListener('touchend', () => { mouse.x = -1000; mouse.y = -1000; });rnrn    \/\/ D\u00e9lai de s\u00e9curit\u00e9 pour le chargement des policesrn    setTimeout(init, 100);rn    draw();rn})();rn<\/script>"},"pt":[],"pipeline":[],"class_list":["post-8647","portfolio","type-portfolio","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/innovacore.group\/hu\/wp-json\/wp\/v2\/portfolio\/8647","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/innovacore.group\/hu\/wp-json\/wp\/v2\/portfolio"}],"about":[{"href":"https:\/\/innovacore.group\/hu\/wp-json\/wp\/v2\/types\/portfolio"}],"version-history":[{"count":1,"href":"https:\/\/innovacore.group\/hu\/wp-json\/wp\/v2\/portfolio\/8647\/revisions"}],"predecessor-version":[{"id":8648,"href":"https:\/\/innovacore.group\/hu\/wp-json\/wp\/v2\/portfolio\/8647\/revisions\/8648"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/innovacore.group\/hu\/wp-json\/wp\/v2\/media\/2369"}],"wp:attachment":[{"href":"https:\/\/innovacore.group\/hu\/wp-json\/wp\/v2\/media?parent=8647"}],"wp:term":[{"taxonomy":"pt","embeddable":true,"href":"https:\/\/innovacore.group\/hu\/wp-json\/wp\/v2\/pt?post=8647"},{"taxonomy":"pipeline","embeddable":true,"href":"https:\/\/innovacore.group\/hu\/wp-json\/wp\/v2\/pipeline?post=8647"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}