{"id":1553,"date":"2026-07-25T06:35:00","date_gmt":"2026-07-25T06:35:00","guid":{"rendered":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/?p=1553"},"modified":"2026-07-25T07:23:41","modified_gmt":"2026-07-25T07:23:41","slug":"uudet-kohteet-kaksio-tampere-asuminen-omassa-todella-kallista-ja-sijoittaminen-silkkaa-tyhmyytta","status":"publish","type":"post","link":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/?p=1553","title":{"rendered":"Uudet kohteet \/ kaksio Tampere &#8211; Asuminen &#8221;omassa&#8221; kallista ja sijoittaminen silkkaa tyhmyytt\u00e4?"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"1553\" class=\"elementor elementor-1553\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d97cdbd e-flex e-con-boxed e-con e-parent\" data-id=\"d97cdbd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-07e6c4a elementor-widget elementor-widget-html\" data-id=\"07e6c4a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"fi\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Uudiskohteiden Elinkaarikustannukset 45v<\/title>\n    \n    <!-- Ladataan Tailwind CSS -->\n    <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n    \n    <!-- Ladataan Chart.js t\u00e4sm\u00e4lleen samasta l\u00e4hteest\u00e4 kuin toimivassa Hervanta-koodissa -->\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\n    \n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600;700&display=swap\" rel=\"stylesheet\">\n\n    <style>\n        body {\n            font-family: 'Inter', sans-serif;\n            background-color: #f8fafc; \/* Slate 50 - Vaalea ja siisti tausta upotukseen *\/\n            color: #1e293b; \/* Slate 800 *\/\n        }\n    <\/style>\n<\/head>\n<!-- w-full varmistaa, ett\u00e4 asettuu n\u00e4tisti WordPress-kehyksen t\u00e4yteen leveyteen -->\n<body class=\"antialiased p-2 md:p-4 w-full mx-auto\">\n\n    <div class=\"w-full\">\n        <!-- Otsikko ja kuvaus -->\n        <header class=\"mb-8 w-full\">\n            <h1 class=\"text-3xl md:text-5xl font-bold mt-2 mb-4 text-slate-900 w-full\">\n                Uudiskohteiden Elinkaarikustannukset\n            <\/h1>\n            <!-- PAKOTETTU FONTIN KOKO (18px) JOTTA WP EI VOI PIENENT\u00c4\u00c4 -->\n            <p class=\"text-slate-600 w-full\" style=\"font-size: 18px; line-height: 1.6;\">\n                Analyysi Tampereen kolmesta uudiskohteesta (Nikama, Otavallanhovi, Opaali). \n                Yl\u00e4graafi laskee yhteen <strong>kertyneet asumiskulut<\/strong> (umpiviivat) sek\u00e4 hahmottaa asunnon <strong>myyntihinnan kehityksen<\/strong> (katkoviivat) 45 vuoden aikaj\u00e4nteell\u00e4. \n                Myyntihinnan kehityksess\u00e4 on huomioitu lyhennysten tuoma varallisuuden kasvu, jota painaa alasp\u00e4in Velattomasta hinnasta laskettu <strong>yhti\u00f6lainan ja korjausvelan muodostama yhteisrasite (punainen alue)<\/strong>. \n                <br><br>\n                Kosteiden tilojen saneeraus realisoituu 20v ja 40v kohdalla (25 000 \u20ac\/kerta) ja massiiviset LVIS\/julkisivut (1900 \u20ac\/m\u00b2) 40v kohdalla. \n                Kun remontit toteutetaan, niit\u00e4 varten nostetaan uusi 25 vuoden yhti\u00f6laina. \n                <strong>Markkinarealistinen oletus:<\/strong> Asunnon myyntihinta kohtaa katon, eik\u00e4 koskaan ylit\u00e4 ns. saneerausten aaton arvoa (n. 40 vuoden i\u00e4ss\u00e4).\n            <\/p>\n        <\/header>\n\n        <main class=\"grid grid-cols-1 lg:grid-cols-3 gap-6 w-full\">\n            \n            <!-- Ylempi graafi: Kertyneet kulut & Myyntihinta -->\n            <div class=\"lg:col-span-2 bg-white rounded-2xl shadow-sm border border-slate-200 p-4 md:p-6 flex flex-col w-full\">\n                <h2 class=\"text-xl font-bold mb-2 text-slate-800\">Kertyneet asumiskulut ja Myyntihinnan kehitys<\/h2>\n                \n                <!-- TIUKKA INLINE TYYLI, JOTA WP EI VOI OHITTAA -->\n                <div style=\"position: relative; height: 500px; width: 100%; display: block;\">\n                    <canvas id=\"costChart\"><\/canvas>\n                <\/div>\n                \n                <div class=\"mt-4 text-xs text-slate-500 text-center\">\n                    * Rahoitusvastikkeen oletetaan tippuvan nollaan 25 vuoden kohdalla (alkuper\u00e4isen yhti\u00f6lainan takaisinmaksu). 20v ja 40v kohdilla nostetaan uudet remonttilainat. Omalle p\u00e4\u00e4omalle laskettu 4% vaihtoehtoiskulu.\n                <\/div>\n            <\/div>\n\n            <!-- Oikea sarake: Kohteiden kortit (Kovakoodattu HTML WordPressin turvasuodattimien takia) -->\n            <div class=\"space-y-4 md:space-y-6\">\n                <!-- Nikama -->\n                <div class=\"bg-white rounded-xl shadow-sm p-4 md:p-5 border-l-4 border-blue-500\">\n                    <h3 class=\"text-lg font-bold text-slate-900 mb-1 leading-tight\">As. Oy Tampereen Nikama<\/h3>\n                    <p class=\"text-xs text-slate-500 mb-3\">46.0 m\u00b2 | 2h, kt, s<\/p>\n                    <div class=\"space-y-1.5 text-sm\">\n                        <div class=\"flex justify-between items-center border-b border-slate-100 pb-1\">\n                            <span class=\"text-slate-600\">Hoitovastike<\/span><span class=\"font-medium text-slate-900\">198 \u20ac<\/span>\n                        <\/div>\n                        <div class=\"flex justify-between items-center border-b border-slate-100 pb-1\">\n                            <span class=\"text-slate-600\">Rahoitusvastike (1-25v)<\/span><span class=\"font-medium text-red-500\">1 865 \u20ac<\/span>\n                        <\/div>\n                        <div class=\"flex justify-between items-center border-b border-slate-100 pb-1\">\n                            <span class=\"text-slate-600\">P\u00e4\u00e4oman kulu (4%)<\/span><span class=\"font-medium text-amber-500\">695 \u20ac<\/span>\n                        <\/div>\n                        <div class=\"pt-1.5 flex justify-between items-center font-bold text-base\">\n                            <span class=\"text-slate-900\">Aito kulu \/ kk:<\/span><span class=\"text-slate-900\">2 758 \u20ac<\/span>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- Otavallanhovi -->\n                <div class=\"bg-white rounded-xl shadow-sm p-4 md:p-5 border-l-4 border-emerald-500\">\n                    <h3 class=\"text-lg font-bold text-slate-900 mb-1 leading-tight\">As. Oy Otavallanhovi<\/h3>\n                    <p class=\"text-xs text-slate-500 mb-3\">39.0 m\u00b2 | 2h, kt<\/p>\n                    <div class=\"space-y-1.5 text-sm\">\n                        <div class=\"flex justify-between items-center border-b border-slate-100 pb-1\">\n                            <span class=\"text-slate-600\">Hoitovastike<\/span><span class=\"font-medium text-slate-900\">156 \u20ac<\/span>\n                        <\/div>\n                        <div class=\"flex justify-between items-center border-b border-slate-100 pb-1\">\n                            <span class=\"text-slate-600\">Rahoitusvastike (1-25v)<\/span><span class=\"font-medium text-red-500\">1 447 \u20ac<\/span>\n                        <\/div>\n                        <div class=\"flex justify-between items-center border-b border-slate-100 pb-1\">\n                            <span class=\"text-slate-600\">P\u00e4\u00e4oman kulu (4%)<\/span><span class=\"font-medium text-amber-500\">493 \u20ac<\/span>\n                        <\/div>\n                        <div class=\"pt-1.5 flex justify-between items-center font-bold text-base\">\n                            <span class=\"text-slate-900\">Aito kulu \/ kk:<\/span><span class=\"text-slate-900\">2 096 \u20ac<\/span>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- Opaali -->\n                <div class=\"bg-white rounded-xl shadow-sm p-4 md:p-5 border-l-4 border-purple-500\">\n                    <h3 class=\"text-lg font-bold text-slate-900 mb-1 leading-tight\">As. Oy Kannen Opaali<\/h3>\n                    <p class=\"text-xs text-slate-500 mb-3\">50.5 m\u00b2 | 2h, kt, vih<\/p>\n                    <div class=\"space-y-1.5 text-sm\">\n                        <div class=\"flex justify-between items-center border-b border-slate-100 pb-1\">\n                            <span class=\"text-slate-600\">Hoitovastike<\/span><span class=\"font-medium text-slate-900\">242 \u20ac<\/span>\n                        <\/div>\n                        <div class=\"flex justify-between items-center border-b border-slate-100 pb-1\">\n                            <span class=\"text-slate-600\">Rahoitusvastike (1-25v)<\/span><span class=\"font-medium text-red-500\">1 704 \u20ac<\/span>\n                        <\/div>\n                        <div class=\"flex justify-between items-center border-b border-slate-100 pb-1\">\n                            <span class=\"text-slate-600\">P\u00e4\u00e4oman kulu (4%)<\/span><span class=\"font-medium text-amber-500\">439 \u20ac<\/span>\n                        <\/div>\n                        <div class=\"pt-1.5 flex justify-between items-center font-bold text-base\">\n                            <span class=\"text-slate-900\">Aito kulu \/ kk:<\/span><span class=\"text-slate-900\">2 385 \u20ac<\/span>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Alempi graafi: Nettokulut -->\n            <div class=\"lg:col-span-3 bg-white rounded-2xl shadow-sm border border-slate-200 p-4 md:p-6 mt-4 flex flex-col w-full\">\n                <h2 class=\"text-xl font-bold mb-2 text-slate-800\">Todellinen nettokustannus (Maksetut kulut miinus asunnon myyntivoitto\/tappio)<\/h2>\n                <!-- PAKOTETTU FONTIN KOKO (18px) -->\n                <p class=\"text-slate-600 mb-4 w-full\" style=\"font-size: 18px; line-height: 1.6;\">\n                    Graafi n\u00e4ytt\u00e4\u00e4 asunnon <strong>aidon elinkaarikustannuksen, jos myyt asunnon kyseisen\u00e4 tarkasteluvuonna<\/strong>. Laskelma ynn\u00e4\u00e4 yhteen kaikki siihen menness\u00e4 maksetut kulut, mutta v\u00e4hent\u00e4\u00e4 niist\u00e4 myyntihetkell\u00e4 vapautuvan oman p\u00e4\u00e4oman (lainanlyhennysten tuoman s\u00e4\u00e4st\u00f6n). Mukana on huomioitu asunnon arvon aleneminen ja tulevien remonttien paine. Tooltipist\u00e4 n\u00e4et, mik\u00e4 on ollut todellinen, lopullinen asuntokohtainen asumiskustannus euroa\/kuukausi koko siihenastiselta omistusajalta, <strong>jos myyt asunnon tuossa pisteess\u00e4<\/strong>.\n                <\/p>\n                \n                <!-- TIUKKA INLINE TYYLI -->\n                <div style=\"position: relative; height: 500px; width: 100%; display: block;\">\n                    <canvas id=\"netCostChart\"><\/canvas>\n                <\/div>\n            <\/div>\n\n        <\/main>\n    <\/div>\n\n    <script>\n        const properties = [\n            { id: 'nikama', name: \"As. Oy Tampereen Nikama\", m2: 46.0, color: \"#3b82f6\", myyntihinta: 208400, velaton_hinta: 521000, yhtiolaina: 312600, hoitovastike: 197.80, rahoitusvastike_tuleva: 1865.18, laina_aika_vuosia: 25 },\n            { id: 'otavallanhovi', name: \"As. Oy Otavallanhovi\", m2: 39.0, color: \"#10b981\", myyntihinta: 148040, velaton_hinta: 370100, yhtiolaina: 222060, hoitovastike: 156.00, rahoitusvastike_tuleva: 1447.09, laina_aika_vuosia: 25 },\n            { id: 'opaali', name: \"As. Oy Kannen Opaali\", m2: 50.5, color: \"#a855f7\", myyntihinta: 131623, velaton_hinta: 321880, yhtiolaina: 190257, hoitovastike: 242.40, rahoitusvastike_tuleva: 1703.96, laina_aika_vuosia: 25 }\n        ];\n\n        const tuottovaatimus = 0.04;\n        const tarkasteluvuodet = [0, 5, 10, 20, 25, 30, 39, 40, 45];\n        const annuiteettiTekija = 0.0053; \/\/ Karkea 25v lainan lyhennyskerroin kuukaudessa\n\n        const formatEur = (num) => new Intl.NumberFormat('fi-FI', { style: 'currency', currency: 'EUR', maximumFractionDigits: 0 }).format(num);\n\n        function laskeKuukausittainenPaaomakulu(myyntihinta) {\n            return (myyntihinta * tuottovaatimus) \/ 12;\n        }\n\n        function laskeKumulatiivinenKulu(prop, vuodet) {\n            if (vuodet === 0) return 0;\n            let kokonaiskulu = 0;\n            const kkPaaomakulu = laskeKuukausittainenPaaomakulu(prop.myyntihinta);\n            \n            for (let v = 1; v <= vuodet; v++) {\n                \/\/ Alkuper\u00e4inen yhti\u00f6laina (loppuu 25v kohdalla)\n                let rahoitus1 = (v <= prop.laina_aika_vuosia) ? prop.rahoitusvastike_tuleva : 0;\n                \/\/ Ensimm\u00e4inen remonttilaina (M\u00e4rk\u00e4tilat 20v, maksuaika 21-45v)\n                let rahoitus2 = (v > 20 && v <= 45) ? 25000 * annuiteettiTekija : 0;\n                \/\/ Toinen remonttilaina (J\u00e4ttiremontti 40v, maksuaika 41-65v)\n                let rahoitus3 = (v > 40 && v <= 65) ? (25000 + 1900 * prop.m2) * annuiteettiTekija : 0;\n                \n                kokonaiskulu += ((prop.hoitovastike + rahoitus1 + rahoitus2 + rahoitus3 + kkPaaomakulu) * 12);\n            }\n            return kokonaiskulu;\n        }\n\n        function laskeVarallisuusData(prop, vuodet) {\n            \/\/ 1. Alkuper\u00e4inen yhti\u00f6laina\n            let lyhennettyOsuus = Math.min(vuodet \/ prop.laina_aika_vuosia, 1);\n            let laina1 = prop.yhtiolaina * (1 - lyhennettyOsuus);\n\n            \/\/ 2. Kosteat tilat @ 20v (25 000 \u20ac laina, otetaan vuonna 20)\n            let laina2 = 0;\n            if (vuodet >= 20) {\n                let lyhennetty2 = Math.min((vuodet - 20) \/ 25, 1);\n                laina2 = 25000 * (1 - lyhennetty2);\n            }\n\n            \/\/ 3. LVIS + Julkisivu + Kosteat @ 40v (1900\u20ac\/m2 + 25 000\u20ac, otetaan vuonna 40)\n            let lvisKustannusKok = 1900 * prop.m2;\n            let laina3 = 0;\n            if (vuodet >= 40) {\n                let lyhennetty3 = Math.min((vuodet - 40) \/ 25, 1);\n                laina3 = (25000 + lvisKustannusKok) * (1 - lyhennetty3);\n            }\n\n            let yhtiolainaYhteensa = laina1 + laina2 + laina3;\n\n            \/\/ Korjausvelan kertyminen (piilev\u00e4 osuus joka ei viel\u00e4 ole lainaa)\n            let kosteus1Velka = (vuodet < 20) ? vuodet * (25000 \/ 20) : 0;\n            let kosteus2Velka = (vuodet >= 20 && vuodet < 40) ? (vuodet - 20) * (25000 \/ 20) : 0;\n            let lvisVelka = (vuodet < 40) ? vuodet * (lvisKustannusKok \/ 40) : 0;\n\n            let korjausvelkaYhteensa = kosteus1Velka + kosteus2Velka + lvisVelka;\n\n            let kokonaisRasite = yhtiolainaYhteensa + korjausvelkaYhteensa;\n            let laskennallinenMyyntihinta = prop.velaton_hinta - kokonaisRasite;\n\n            \/\/ Hintakatto: asunnon markkina-arvo ei ylit\u00e4 saneerausten aattoa (eli se mit\u00e4 se on just ennen 40v romahdusta)\n            let nettoKatto = prop.velaton_hinta - (50000 + lvisKustannusKok);\n            let myyntiHinta = Math.min(laskennallinenMyyntihinta, nettoKatto);\n\n            \/\/ Jos myyntihinta leikkaantuu kattoon, merkit\u00e4\u00e4n se lis\u00e4arvonalenemana korjausvelan p\u00e4\u00e4lle\n            let todellinenKokonaisRasite = prop.velaton_hinta - myyntiHinta;\n            let sovitettuKorjausvelka = todellinenKokonaisRasite - yhtiolainaYhteensa;\n            \n            return {\n                velaton: prop.velaton_hinta,\n                myyntihinta: myyntiHinta,\n                yhtiolaina_osuus: yhtiolainaYhteensa,\n                korjausvelka_osuus: Math.max(0, sovitettuKorjausvelka)\n            };\n        }\n\n        function renderChartsWhenReady() {\n            if (typeof Chart === 'undefined') {\n                setTimeout(renderChartsWhenReady, 100);\n                return;\n            }\n\n            Chart.defaults.font.family = \"'Inter', sans-serif\";\n\n            \/* YL\u00c4GRAAFI: Kustannukset ja Myyntihinta *\/\n            const costCtx = document.getElementById('costChart');\n            if (costCtx) {\n                const datasets = [];\n\n                properties.forEach((prop) => {\n                    const wealthData = tarkasteluvuodet.map(vuosi => laskeVarallisuusData(prop, vuosi));\n                    \n                    \/\/ 1. Velaton hinta (Katto punaiselle alueelle)\n                    datasets.push({\n                        label: `${prop.name} (Velaton hinta)`,\n                        data: wealthData.map(d => d.velaton),\n                        borderColor: 'transparent',\n                        backgroundColor: 'transparent',\n                        borderWidth: 0,\n                        pointRadius: 0,\n                        fill: false\n                    });\n\n                    \/\/ 2. Myyntihinta (Vet\u00e4\u00e4 punaisen rasitealueen yl\u00e4k\u00e4yr\u00e4\u00e4n)\n                    datasets.push({\n                        label: `${prop.name} (Myyntihinta)`,\n                        data: wealthData.map(d => d.myyntihinta),\n                        borderColor: prop.color,\n                        borderDash: [8, 6],\n                        borderWidth: 3,\n                        pointBackgroundColor: '#ffffff',\n                        pointBorderColor: prop.color,\n                        pointBorderWidth: 2,\n                        pointRadius: 4,\n                        fill: '-1', \/\/ T\u00e4ytt\u00e4\u00e4 yll\u00e4 olevaan velattomaan hintaan\n                        backgroundColor: 'rgba(239, 68, 68, 0.15)', \/\/ Punainen varoitusv\u00e4ri (rasitealue)\n                        tension: 0.1\n                    });\n\n                    \/\/ 3. Kumulatiiviset Uppokustannukset\n                    datasets.push({\n                        label: `${prop.name} (Kumulatiiviset Kulut)`,\n                        data: tarkasteluvuodet.map(vuosi => laskeKumulatiivinenKulu(prop, vuosi)),\n                        borderColor: prop.color,\n                        backgroundColor: 'transparent',\n                        borderWidth: 3,\n                        pointBackgroundColor: '#ffffff',\n                        pointBorderColor: prop.color,\n                        pointBorderWidth: 2,\n                        pointRadius: 5,\n                        fill: false,\n                        tension: 0.3\n                    });\n                });\n\n                new Chart(costCtx.getContext('2d'), {\n                    type: 'line',\n                    data: {\n                        labels: tarkasteluvuodet.map(v => {\n                            if (v === 0) return 'Nyt';\n                            if (v === 20) return '20v (M\u00e4rk\u00e4tilat)';\n                            if (v === 25) return '25v (Laina maksettu)';\n                            if (v === 40) return '40v (J\u00e4ttiremontti)';\n                            return `${v} vuotta`;\n                        }),\n                        datasets: datasets\n                    },\n                    options: {\n                        responsive: true,\n                        maintainAspectRatio: false,\n                        interaction: { mode: 'index', intersect: false },\n                        plugins: {\n                            legend: {\n                                position: 'top',\n                                labels: {\n                                    color: '#475569', font: { size: 12, weight: '500' }, boxWidth: 15,\n                                    filter: (item) => !item.text.includes('(Velaton hinta)')\n                                }\n                            },\n                            tooltip: {\n                                backgroundColor: 'rgba(15, 23, 42, 0.95)', titleColor: '#f8fafc', bodyColor: '#e2e8f0', borderColor: 'rgba(255,255,255,0.1)', borderWidth: 1, padding: 12,\n                                filter: (item) => !item.dataset.label.includes('(Velaton hinta)'),\n                                callbacks: {\n                                    label: function(context) {\n                                        let label = context.dataset.label || '';\n                                        const val = formatEur(context.parsed.y);\n                                        if (label.includes('Myyntihinta')) {\n                                            const propIndex = Math.floor(context.datasetIndex \/ 3);\n                                            const prop = properties[propIndex];\n                                            const originalWealthData = laskeVarallisuusData(prop, tarkasteluvuodet[context.dataIndex]);\n                                            return [\n                                                `${label}: ${val}`,\n                                                `   \u2022 Yhti\u00f6laina: -${formatEur(originalWealthData.yhtiolaina_osuus)}`,\n                                                `   \u2022 Korjausvelka: -${formatEur(originalWealthData.korjausvelka_osuus)}`\n                                            ];\n                                        }\n                                        return `${label}: ${val}`;\n                                    }\n                                }\n                            }\n                        },\n                        scales: {\n                            x: { grid: { color: 'rgba(0, 0, 0, 0.05)' }, ticks: { color: '#64748b', maxRotation: 45, minRotation: 45 } },\n                            y: { grid: { color: 'rgba(0, 0, 0, 0.05)' }, ticks: { color: '#64748b', callback: (value) => value \/ 1000 + 'k \u20ac' } }\n                        }\n                    }\n                });\n            }\n\n            \/* ALAGRAAFI: Nettokulut *\/\n            const netCtx = document.getElementById('netCostChart');\n            if (netCtx) {\n                const netDatasets = properties.map((prop) => {\n                    const netCostData = tarkasteluvuodet.map(vuosi => {\n                        if (vuosi === 0) return 0;\n                        const kumulatiivinenUppo = laskeKumulatiivinenKulu(prop, vuosi);\n                        const varallisuusNyt = laskeVarallisuusData(prop, vuosi);\n                        const arvonnousuTaiLasku = varallisuusNyt.myyntihinta - prop.myyntihinta;\n                        \/\/ Jos arvo nousee, se on s\u00e4\u00e4st\u00f6\u00e4 -> v\u00e4hennet\u00e4\u00e4n kuluista. Jos laskee, se on tappiota -> lis\u00e4t\u00e4\u00e4n kuluihin.\n                        return kumulatiivinenUppo - arvonnousuTaiLasku;\n                    });\n\n                    return {\n                        label: `${prop.name}`,\n                        data: netCostData,\n                        borderColor: prop.color,\n                        backgroundColor: 'transparent',\n                        borderWidth: 3,\n                        pointBackgroundColor: '#ffffff',\n                        pointBorderColor: prop.color,\n                        pointBorderWidth: 2,\n                        pointRadius: 5,\n                        fill: false,\n                        tension: 0.3\n                    };\n                });\n\n                new Chart(netCtx.getContext('2d'), {\n                    type: 'line',\n                    data: {\n                        labels: tarkasteluvuodet.map(v => {\n                            if (v === 0) return 'Nyt';\n                            if (v === 20) return '20v (M\u00e4rk\u00e4tilat)';\n                            if (v === 25) return '25v (Laina maksettu)';\n                            if (v === 40) return '40v (J\u00e4ttiremontti)';\n                            return `${v} vuotta`;\n                        }),\n                        datasets: netDatasets\n                    },\n                    options: {\n                        responsive: true,\n                        maintainAspectRatio: false,\n                        interaction: { mode: 'index', intersect: false },\n                        plugins: {\n                            legend: { labels: { color: '#475569', font: { size: 12, weight: '500' }, boxWidth: 15 } },\n                            tooltip: {\n                                backgroundColor: 'rgba(15, 23, 42, 0.95)', titleColor: '#f8fafc', bodyColor: '#e2e8f0', borderColor: 'rgba(255,255,255,0.1)', borderWidth: 1, padding: 12,\n                                callbacks: {\n                                    label: function(context) {\n                                        const val = formatEur(context.parsed.y);\n                                        const prop = properties[context.datasetIndex];\n                                        const vuosi = tarkasteluvuodet[context.dataIndex];\n                                        if (vuosi === 0) return `${context.dataset.label}: ${val}`;\n                                        \n                                        const kumulatiivinenUppo = laskeKumulatiivinenKulu(prop, vuosi);\n                                        const arvonnousuTaiLasku = laskeVarallisuusData(prop, vuosi).myyntihinta - prop.myyntihinta;\n                                        const kokonaisNettokulu = kumulatiivinenUppo - arvonnousuTaiLasku;\n                                        const nettoKkKulu = kokonaisNettokulu \/ (vuosi * 12);\n                                        \n                                        let arvoTeksti = '';\n                                        if (arvonnousuTaiLasku >= 0) {\n                                            arvoTeksti = `   \u2022 Myyntihinnan nousu (s\u00e4\u00e4st\u00f6): -${formatEur(arvonnousuTaiLasku)}`;\n                                        } else {\n                                            arvoTeksti = `   \u2022 Myyntihinnan lasku (tappio): +${formatEur(Math.abs(arvonnousuTaiLasku))}`;\n                                        }\n\n                                        return [\n                                            `${context.dataset.label}: Nettokulu ${val}`,\n                                            `   \u2022 Maksetut asumiskulut: ${formatEur(kumulatiivinenUppo)}`,\n                                            arvoTeksti,\n                                            `   \u2022 AITO ASUMISKUSTANNUS \/ KK: ${formatEur(nettoKkKulu)} \/ kk`\n                                        ];\n                                    }\n                                }\n                            }\n                        },\n                        scales: {\n                            x: { grid: { color: 'rgba(0, 0, 0, 0.05)' }, ticks: { color: '#64748b', maxRotation: 45, minRotation: 45 } },\n                            y: { grid: { color: 'rgba(0, 0, 0, 0.05)' }, ticks: { color: '#64748b', callback: (value) => value \/ 1000 + 'k \u20ac' } }\n                        }\n                    }\n                });\n            }\n        }\n\n        renderChartsWhenReady();\n    <\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5a15760 e-flex e-con-boxed e-con e-parent\" data-id=\"5a15760\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bdaccdb elementor-arrows-position-inside elementor-pagination-position-outside elementor-widget elementor-widget-image-carousel\" data-id=\"bdaccdb\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;slides_to_show&quot;:&quot;1&quot;,&quot;navigation&quot;:&quot;both&quot;,&quot;autoplay&quot;:&quot;yes&quot;,&quot;pause_on_hover&quot;:&quot;yes&quot;,&quot;pause_on_interaction&quot;:&quot;yes&quot;,&quot;autoplay_speed&quot;:5000,&quot;infinite&quot;:&quot;yes&quot;,&quot;effect&quot;:&quot;slide&quot;,&quot;speed&quot;:500}\" data-widget_type=\"image-carousel.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-image-carousel-wrapper swiper\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Kuvakaruselli\" dir=\"ltr\">\n\t\t\t<div class=\"elementor-image-carousel swiper-wrapper\" aria-live=\"off\">\n\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"1 of 3\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/asunto-osakeyhtio.fi\/Asoy\/wp-content\/uploads\/2026\/07\/Screenshot-2026-07-25-at-9.33.09.png\" alt=\"Kaksiot Tampere\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"2 of 3\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/asunto-osakeyhtio.fi\/Asoy\/wp-content\/uploads\/2026\/07\/Screenshot-2026-07-25-at-9.31.03.png\" alt=\"Screenshot 2026-07-25 at 9.31.03\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"3 of 3\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/asunto-osakeyhtio.fi\/Asoy\/wp-content\/uploads\/2026\/07\/Screenshot-2026-07-25-at-9.24.55.png\" alt=\"Screenshot 2026-07-25 at 9.24.55\" \/><\/figure><\/div>\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-swiper-button elementor-swiper-button-prev\" role=\"button\" tabindex=\"0\">\n\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-chevron-left\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M646 125C629 125 613 133 604 142L308 442C296 454 292 471 292 487 292 504 296 521 308 533L604 854C617 867 629 875 646 875 663 875 679 871 692 858 704 846 713 829 713 812 713 796 708 779 692 767L438 487 692 225C700 217 708 204 708 187 708 171 704 154 692 142 675 129 663 125 646 125Z\"><\/path><\/svg>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-swiper-button elementor-swiper-button-next\" role=\"button\" tabindex=\"0\">\n\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-chevron-right\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M696 533C708 521 713 504 713 487 713 471 708 454 696 446L400 146C388 133 375 125 354 125 338 125 325 129 313 142 300 154 292 171 292 187 292 204 296 221 308 233L563 492 304 771C292 783 288 800 288 817 288 833 296 850 308 863 321 871 338 875 354 875 371 875 388 867 400 854L696 533Z\"><\/path><\/svg>\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"swiper-pagination\"><\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a103edc e-grid e-con-boxed e-con e-parent\" data-id=\"a103edc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2f0d545 elementor-widget elementor-widget-html\" data-id=\"2f0d545\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n    \/* Vaalea teema - suojattu nimiavaruus (light) *\/\n    .loorulyzer-promo-light {\n        margin-top: 30px; \n        margin-bottom: 20px;\n        font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n        text-align: center;\n        \n        \/* Vaalea lasiefekti-tausta *\/\n        background: rgba(255, 255, 255, 0.65); \n        backdrop-filter: blur(12px); \n        -webkit-backdrop-filter: blur(12px); \n        padding: 32px 20px; \n        border-radius: 20px; \n        border: 1px solid rgba(255, 255, 255, 1); \/* Puhdas valkoinen reunus *\/\n        \n        display: block; \n        width: 100%; \n        max-width: 480px; \n        margin-left: auto; \n        margin-right: auto; \n        \n        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08); \/* Pehme\u00e4, huomaamaton varjo *\/\n    }\n    .loorulyzer-title-light {\n        font-size: clamp(2.2rem, 6vw, 3.5rem); \n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        font-weight: 300;\n        margin-bottom: 8px; \n        white-space: nowrap;\n        line-height: 1.2;\n    }\n    .text-looru-light { color: #0022cc; }\n    .text-lyzer-light { color: #2b5aff; }\n    \n    .loorulyzer-title-light span {\n        \/* Pehme\u00e4mpi hehku vaalealle taustalle *\/\n        animation: electricGlowLight 4s infinite alternate ease-in-out;\n    }\n    \n    .loorulyzer-subtitle-light {\n        font-size: 1.05rem; \n        letter-spacing: 0.25em; \n        text-transform: uppercase;\n        color: #475569; \/* Tummanharmaa teksti, jotta erottuu vaaleasta taustasta *\/\n        font-weight: 500; \/* Hieman paksumpi luettavuuden vuoksi *\/\n        margin-bottom: 26px;\n    }\n    \n    .app-store-btn-light {\n        display: inline-flex;\n        align-items: center;\n        justify-content: center;\n        padding: 10px 24px;\n        background-color: #000000; \/* Puhdas musta nappi luo upean kontrastin *\/\n        border: 1px solid #000000;\n        border-radius: 16px;\n        text-decoration: none;\n        color: white !important;\n        transition: all 0.3s ease;\n    }\n    \n    .app-store-btn-light:hover {\n        border-color: #2b5aff;\n        box-shadow: 0 0 20px rgba(43, 90, 255, 0.3);\n        transform: scale(1.05);\n        color: white !important;\n    }\n    \n    .app-store-svg-light {\n        width: 32px;\n        height: 32px;\n        margin-right: 15px;\n        fill: white;\n        transition: fill 0.3s ease;\n    }\n    \n    .app-store-text-small-light {\n        font-size: 11px;\n        line-height: 1;\n        margin-bottom: 3px;\n        color: #a3a3a3;\n        text-transform: none;\n        letter-spacing: normal;\n        text-align: left;\n    }\n    \n    .app-store-text-large-light {\n        font-size: 18px;\n        font-weight: 500;\n        line-height: 1;\n        letter-spacing: normal;\n        text-align: left;\n    }\n\n    @keyframes electricGlowLight {\n        0%, 100% { text-shadow: 0 0 2px rgba(43, 90, 255, 0.1); }\n        50% { text-shadow: 0 0 10px rgba(43, 90, 255, 0.4); }\n    }\n<\/style>\n\n<div class=\"loorulyzer-promo-light\">\n    <!-- Otsikko -->\n    <div class=\"loorulyzer-title-light\">\n        <span class=\"text-looru-light\">Looru<\/span><span class=\"text-lyzer-light\">lyzer<\/span>\n    <\/div>\n    \n    <!-- Alaotsikko -->\n    <div class=\"loorulyzer-subtitle-light\">V\u00e4lt\u00e4 hutiostos.<\/div>\n    \n    <!-- Latauspainike -->\n    <a href=\"https:\/\/apps.apple.com\/fi\/app\/loorulyzer\/id6771708968?l=fi#information\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"app-store-btn-light\">\n        <!-- Omenalogo -->\n        <svg class=\"app-store-svg-light\" viewBox=\"0 0 384 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n            <path d=\"M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z\"><\/path>\n        <\/svg>\n        <div>\n            <div class=\"app-store-text-small-light\">Lataa<\/div>\n            <div class=\"app-store-text-large-light\">App Storesta<\/div>\n        <\/div>\n    <\/a>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6cde4fa elementor-widget elementor-widget-html\" data-id=\"6cde4fa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n    \/* Suojattu nimiavaruus, jotta t\u00e4m\u00e4 ei riko WordPressin muita tyylej\u00e4 *\/\n    .loorulyzer-promo-elementor {\n        margin-top: 30px; \/* Enemm\u00e4n v\u00e4li\u00e4 yll\u00e4 olevaan tekstiin *\/\n        margin-bottom: 20px;\n        font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n        text-align: center; \/* MUUTETTU: Keskitt\u00e4\u00e4 sis\u00e4ll\u00f6n (tekstit ja napin) *\/\n        \n        \/* Tumma l\u00e4pin\u00e4kyv\u00e4 lasiefekti-tausta *\/\n        background: rgba(225, 225, 240, 0.85); \n        backdrop-filter: blur(8px); \n        -webkit-backdrop-filter: blur(8px); \n        padding: 32px 20px; \/* MUUTETTU: Pystysuunnassa ilmava, sivusuunnassa joustava *\/\n        border-radius: 20px; \/* Pehme\u00e4mm\u00e4t, modernit kulmat *\/\n        border: 1px solid rgba(43, 90, 255, 0.25); \/* Hieman vahvempi s\u00e4hk\u00f6nsininen reunus *\/\n        \n        \/* MUUTETTU: Levennys ja laatikon keskitys *\/\n        display: block; \n        width: 100%; \/* T\u00e4ytt\u00e4\u00e4 koko Elementor-sarakkeen leveyssuunnassa *\/\n        max-width: 480px; \/* Est\u00e4\u00e4 kasvamasta liian massiiviseksi isoilla n\u00e4yt\u00f6ill\u00e4 *\/\n        margin-left: auto; \/* Keskitt\u00e4\u00e4 itse laatikon *\/\n        margin-right: auto; \/* Keskitt\u00e4\u00e4 itse laatikon *\/\n        \n        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.7); \/* Vahvempi varjo, jotta leijuu paremmin *\/\n    }\n    .loorulyzer-title-el {\n        font-size: clamp(2.2rem, 6vw, 3.5rem); \/* MUUTETTU: Huomattavasti isompi otsikko *\/\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        font-weight: 300;\n        margin-bottom: 8px; \/* Hieman enemm\u00e4n tilaa otsikon alla *\/\n        white-space: nowrap;\n        line-height: 1.2;\n    }\n    .text-looru-el { color: #0022cc; }\n    .text-lyzer-el { color: #2b5aff; }\n    \n    .loorulyzer-title-el span {\n        text-shadow: 0 0 10px currentColor;\n        animation: electricGlowEl 4s infinite alternate ease-in-out;\n    }\n    \n    .loorulyzer-subtitle-el {\n        font-size: 1.05rem; \/* Isompi ja selke\u00e4mpi *\/\n        letter-spacing: 0.25em; \/* Tyylikk\u00e4\u00e4mpi, leve\u00e4mpi v\u00e4listys *\/\n        text-transform: uppercase;\n        color: #05070b; \/* Vaaleampi harmaa, erottuu paremmin mustalta *\/\n        margin-bottom: 26px;\n        margin-left: 0; \/* MUUTETTU: Nollattu, jotta teksti asettuu tismalleen keskelle *\/\n    }\n    \n    .app-store-btn-el {\n        display: inline-flex;\n        align-items: center;\n        justify-content: center;\n        padding: 10px 24px;\n        background-color: rgba(0, 0, 0, 0.85); \/* Tumma tausta napille *\/\n        border: 1px solid rgba(255, 255, 255, 0.2);\n        border-radius: 16px;\n        text-decoration: none;\n        color: white !important;\n        transition: all 0.3s ease;\n        backdrop-filter: blur(4px);\n    }\n    \n    .app-store-btn-el:hover {\n        border-color: #0066ff;\n        box-shadow: 0 0 20px rgba(0, 102, 255, 0.4);\n        transform: scale(1.05);\n        color: white !important;\n    }\n    \n    .app-store-svg-el {\n        width: 32px;\n        height: 32px;\n        margin-right: 15px;\n        fill: white;\n        transition: fill 0.3s ease;\n    }\n    \n    .app-store-btn-el:hover .app-store-svg-el {\n        fill: white;\n    }\n    \n    .app-store-text-small-el {\n        font-size: 11px;\n        line-height: 1;\n        margin-bottom: 3px;\n        color: #a3a3a3;\n        text-transform: none;\n        letter-spacing: normal;\n        text-align: left;\n    }\n    \n    .app-store-text-large-el {\n        font-size: 18px;\n        font-weight: 500;\n        line-height: 1;\n        letter-spacing: normal;\n        text-align: left;\n    }\n\n    @keyframes electricGlowEl {\n        0%, 100% { text-shadow: 0 0 5px currentColor, 0 0 10px currentColor; }\n        50% { text-shadow: 0 0 10px currentColor, 0 0 20px currentColor; }\n    }\n<\/style>\n\n<div class=\"loorulyzer-promo-elementor\">\n    <!-- Otsikko -->\n    <div class=\"loorulyzer-title-el\">\n        <span class=\"text-looru-el\">Taloyhti\u00f6<\/span><span class=\"text-lyzer-el\">Tieto<\/span>\n    <\/div>\n    \n    <!-- Alaotsikko -->\n    <div class=\"loorulyzer-subtitle-el\">V\u00e4lt\u00e4 hutiostos.<\/div>\n    \n    <!-- Latauspainike -->\n    <a href=\"https:\/\/apps.apple.com\/fi\/app\/taloyhti%C3%B6tieto\/id6780215949\"  target=\"_blank\" rel=\"noopener noreferrer\" class=\"app-store-btn-el\">\n        <!-- Omenalogo -->\n        <svg class=\"app-store-svg-el\" viewBox=\"0 0 384 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n            <path d=\"M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z\"><\/path>\n        <\/svg>\n        <div>\n            <div class=\"app-store-text-small-el\">Lataa Taloyhti\u00f6Tieto<\/div>\n            <div class=\"app-store-text-large-el\">App Storesta<\/div>\n        <\/div>\n    <\/a>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Uudiskohteiden Elinkaarikustannukset 45v Uudiskohteiden Elinkaarikustannukset Analyysi Tampereen kolmesta uudiskohteesta (Nikama, Otavallanhovi, Opaali). Yl\u00e4graafi laskee yhteen kertyneet asumiskulut (umpiviivat) sek\u00e4 hahmottaa asunnon myyntihinnan kehityksen (katkoviivat) 45 vuoden aikaj\u00e4nteell\u00e4. Myyntihinnan kehityksess\u00e4 on huomioitu lyhennysten tuoma varallisuuden kasvu,&hellip;<\/p>\n","protected":false},"author":1,"featured_media":1559,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[96,50,51,53],"tags":[94,95,85,91,98,57,40,99,80,88,44,93,87,89,97,90,86,73,100,92,66],"class_list":["post-1553","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ensiasunto","category-markkina","category-markkina-analyysit","category-sijoittajille","tag-asunnon-ostaminen","tag-asunto-oy-hannenkoti","tag-asunto-osakeyhtio","tag-asuntokaupan-sudenkuopat","tag-asuntokauppa","tag-asuntosijoittaminen","tag-hutiostos","tag-kaksio","tag-loorulyzer","tag-lvis-saneeraus","tag-mikrobivaurio","tag-piilokulut-asuntokaupassa","tag-putkiremontti","tag-sadesieni","tag-sijoitusasunto","tag-taloyhtion-piilevat-viat","tag-taloyhtion-riskit","tag-taloyhtiotieto","tag-tampere","tag-tampere-hervanta-asunnot","tag-yhtiolaina"],"_links":{"self":[{"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=\/wp\/v2\/posts\/1553","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1553"}],"version-history":[{"count":32,"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=\/wp\/v2\/posts\/1553\/revisions"}],"predecessor-version":[{"id":1589,"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=\/wp\/v2\/posts\/1553\/revisions\/1589"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=\/wp\/v2\/media\/1559"}],"wp:attachment":[{"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1553"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1553"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1553"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}