<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kaae - Blog</title><link>https://kaae.dk/post/</link><description>Recent content on Kaae - Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>Gert Kaae Hansen</copyright><lastBuildDate>Sat, 11 Apr 2026 14:14:24 +0200</lastBuildDate><atom:link href="https://kaae.dk/post/index.xml" rel="self" type="application/rss+xml"/><item><title>Få alle Frient SMSZB-120 røgalarmer til at hyle samtidig i Home Assistant</title><link>https://kaae.dk/p/f%C3%A5-alle-frient-smszb-120-r%C3%B8galarmer-til-at-hyle-samtidig-i-home-assistant/</link><pubDate>Sat, 11 Apr 2026 14:14:24 +0200</pubDate><guid>https://kaae.dk/p/f%C3%A5-alle-frient-smszb-120-r%C3%B8galarmer-til-at-hyle-samtidig-i-home-assistant/</guid><description>&lt;img src="https://kaae.dk/img/ha/ha-inspiration.webp" alt="Featured image of post Få alle Frient SMSZB-120 røgalarmer til at hyle samtidig i Home Assistant" /&gt;&lt;p&gt;Hvis du har investeret i de populære Frient SMSZB-120 røgalarmer til dit smart-hjem, har du sikkert opdaget én væsentlig ting: De er &amp;ldquo;dumme&amp;rdquo; som standard. Det betyder, at hvis det brænder i kælderen, så hyler alarmen i kælderen – men ikke nødvendigvis den i soveværelset på 1. sal.&lt;/p&gt;
&lt;p&gt;Det er en kritisk sikkerhedsrisiko, som vi heldigvis kan løse lynhurtigt med et simpelt script i Home Assistant. Her er guiden til, hvordan du &amp;ldquo;serieforbinder&amp;rdquo; dine alarmer virtuelt.&lt;/p&gt;
&lt;h1 id="virtuel-serieforbindelse"&gt;Virtuel serieforbindelse
&lt;/h1&gt;&lt;p&gt;Da Frient-alarmerne kører på Zigbee, kan vi bruge Home Assistant som &amp;ldquo;hjernen&amp;rdquo;, der lytter efter røg. Så snart én alarm opdager noget, sender vi besked til de andre om at tænde for deres indbyggede sirener.&lt;/p&gt;
&lt;h1 id="fordele-ved-denne-metode"&gt;Fordele ved denne metode:
&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;Højere sikkerhed: Du hører alarmen uanset hvor i huset du befinder dig.&lt;/li&gt;
&lt;li&gt;Fuld kontrol: Du kan selv styre, hvor længe de skal hyle, og hvilken tone de skal bruge.&lt;/li&gt;
&lt;li&gt;Nem opsætning: Det kræver ingen ledninger, kun et lille stykke YAML-kode.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="automatiseringen-yaml-scriptet"&gt;Automatiseringen (YAML-scriptet)
&lt;/h1&gt;&lt;p&gt;Herunder finder du koden, du skal bruge. Jeg har brugt eksempler som køkken, stue og soveværelse, så du let kan rette dem til dine egne navne.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;span class="lnt"&gt;23
&lt;/span&gt;&lt;span class="lnt"&gt;24
&lt;/span&gt;&lt;span class="lnt"&gt;25
&lt;/span&gt;&lt;span class="lnt"&gt;26
&lt;/span&gt;&lt;span class="lnt"&gt;27
&lt;/span&gt;&lt;span class="lnt"&gt;28
&lt;/span&gt;&lt;span class="lnt"&gt;29
&lt;/span&gt;&lt;span class="lnt"&gt;30
&lt;/span&gt;&lt;span class="lnt"&gt;31
&lt;/span&gt;&lt;span class="lnt"&gt;32
&lt;/span&gt;&lt;span class="lnt"&gt;33
&lt;/span&gt;&lt;span class="lnt"&gt;34
&lt;/span&gt;&lt;span class="lnt"&gt;35
&lt;/span&gt;&lt;span class="lnt"&gt;36
&lt;/span&gt;&lt;span class="lnt"&gt;37
&lt;/span&gt;&lt;span class="lnt"&gt;38
&lt;/span&gt;&lt;span class="lnt"&gt;39
&lt;/span&gt;&lt;span class="lnt"&gt;40
&lt;/span&gt;&lt;span class="lnt"&gt;41
&lt;/span&gt;&lt;span class="lnt"&gt;42
&lt;/span&gt;&lt;span class="lnt"&gt;43
&lt;/span&gt;&lt;span class="lnt"&gt;44
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-YAML" data-lang="YAML"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;alias&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Sikkerhed: Serieforbundne røgalarmer&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Aktiverer alle sirener hvis én enhed detekterer røg&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;triggers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;trigger&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;state&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;binary_sensor.rogalarm_kokken_smoke&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;binary_sensor.rogalarm_stue_smoke&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;binary_sensor.rogalarm_sovevaerelse_smoke&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;from&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;off&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;to&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;on&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;actions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 1. Tænd for alle sirener i huset&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;action&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;siren.turn_on&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;target&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;siren.rogalarm_kokken_siren&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;siren.rogalarm_stue_siren&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;siren.rogalarm_sovevaerelse_siren&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;tone&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;fire&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;300&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# Hyler i 5 minutter, medmindre det stoppes&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 2. Vent på at røgen driver væk (eller alarmen afstilles)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;wait_for_trigger&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;trigger&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;state&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;binary_sensor.rogalarm_kokken_smoke&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;binary_sensor.rogalarm_stue_smoke&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;binary_sensor.rogalarm_sovevaerelse_smoke&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;from&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;on&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;to&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;off&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;timeout&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;00:10:00&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 3. Sluk for alle sirener igen&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;action&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;siren.turn_off&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;target&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;siren.rogalarm_kokken_siren&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;siren.rogalarm_stue_siren&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;siren.rogalarm_sovevaerelse_siren&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;{}&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;mode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;restart&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h1 id="sådan-virker-det"&gt;Sådan virker det
&lt;/h1&gt;&lt;p&gt;For at gøre det overskueligt, har jeg delt logikken op i tre simple trin:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Triggeren (Hvad starter det hele?)
Under triggers holder Home Assistant øje med dine røgalarmer. Vi kigger specifikt efter, hvornår en sensor går fra off (alt er fint) til on (røg detekteret). Så snart én af de listede alarmer reagerer, går scriptet i gang.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Handlingen (Hvad skal der ske?)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Under actions fortæller vi de andre enheder, hvad de skal gøre.&lt;/li&gt;
&lt;li&gt;Vi bruger funktionen siren.turn_on.&lt;/li&gt;
&lt;li&gt;Vi sætter tone: fire, så vi er sikre på, at det er den rigtige hyletone, der bruges.&lt;/li&gt;
&lt;li&gt;duration: 300 sørger for, at de ikke hyler evigt og dræner batteriet, hvis du ikke er hjemme (300 sekunder = 5 minutter).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Vent og Sluk&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Scriptet indeholder en wait_for_trigger. Det betyder, at Home Assistant pænt venter på, at sensoren går tilbage til &amp;ldquo;off&amp;rdquo; (altså at der ikke længere er røg). Når det sker, sender den en kommando om at slukke for alle sirenerne igen (siren.turn_off).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Vigtigt: Jeg har sat mode: restart. Det betyder, at hvis en ny alarm detekterer røg mens scriptet kører, så starter processen forfra. Det sikrer, at systemet altid er opdateret på den nyeste status.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="opsætning-i-dit-eget-system"&gt;Opsætning i dit eget system
&lt;/h1&gt;&lt;p&gt;Når du kopierer koden til din Home Assistant, skal du blot huske at udskifte mine entity_id navne med dine egne. Du finder dem typisk under Indstillinger -&amp;gt; Enheder og tjenester -&amp;gt; Entiteter.&lt;/p&gt;
&lt;h1 id="vil-du-have-dem-til-at-hyle-længere"&gt;Vil du have dem til at hyle længere?
&lt;/h1&gt;&lt;p&gt;I scriptet ovenfor har jeg sat duration: 300. Det betyder, at sirenerne stopper automatisk efter 300 sekunder (5 minutter). Hvis du bor i et stort hus, eller bare vil være helt sikker på, at du ikke overhører noget, kan du nemt ændre dette:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Forlæng tiden: Ret 300 til f.eks. 600, hvis de skal hyle i 10 minutter.&lt;/li&gt;
&lt;li&gt;Fjern tidsbegrænsningen: Hvis du helt sletter linjen med duration, vil alarmerne hyle indtil de enten løber tør for batteri, eller indtil røgen forsvinder og scriptet sender en turn_off kommando.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Men pas på: En meget lang duration kan tære hårdt på batterierne, hvis der er tale om en falsk alarm, mens du ikke er hjemme.&lt;/strong&gt;&lt;/p&gt;
&lt;h1 id="forslag-til-forbedringer-når-det-skal-være-ekstra-smart"&gt;Forslag til forbedringer (Når det skal være ekstra smart)
&lt;/h1&gt;&lt;p&gt;Hvis du vil tage sikkerheden et skridt videre, er her et par idéer til, hvad du kan tilføje til din automatisering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Lys i hele huset: Tilføj en handling, der tænder alt lys i huset og ruller gardinerne op (hvis de er smarte). Det gør det meget lettere at orientere sig og komme ud midt om natten.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Notifikation på mobilen: Selvom sirenerne hyler, er det rart med en push-besked på telefonen, der fortæller præcis hvilket rum røgen er detekteret i: service: notify.mobile_app_din_telefon med beskeden: &amp;ldquo;RØG DETEKTERET I STUEN!&amp;rdquo;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Deaktivering af ventilation: Hvis du har et genveksanlæg eller smart ventilation, kan du få Home Assistant til at slukke det med det samme, så ilden ikke får ekstra ilt, og røgen ikke bliver spredt til de andre rum.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sonos/Højttaler integration: Udover sirenerne kan du få dine smart-højttalere til at råbe &amp;ldquo;DET BRÆNDER! SE AT KOMME UD!&amp;rdquo; ved hjælp af Text-to-Speech (TTS).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Har du spørgsmål til opsætningen, eller bruger du en anden type alarm? Smid en kommentar herunder!&lt;/p&gt;</description></item><item><title>Docker Compose-styring gjort legende let</title><link>https://kaae.dk/p/docker-compose-styring-gjort-legende-let/</link><pubDate>Sun, 01 Feb 2026 14:26:39 +0100</pubDate><guid>https://kaae.dk/p/docker-compose-styring-gjort-legende-let/</guid><description>&lt;img src="https://kaae.dk/img/dockge/Dockge.webp" alt="Featured image of post Docker Compose-styring gjort legende let" /&gt;&lt;h1 id="dockge-docker-compose-styring-gjort-legende-let"&gt;Dockge: Docker Compose-styring gjort legende let
&lt;/h1&gt;&lt;h2 id="jeg-kan-desværre-ikke-anbefale-brugen-af-dockge-mere-efter-opdateringena-af-docker-fungere-dockge-ikke-mere-jeg-havde-desvære-heller-ikke-set-at-dockge-ikke-har-været-opdatere-i-næsten-er-år"&gt;Jeg kan desværre ikke anbefale brugen af Dockge mere. Efter opdateringena af Docker fungere Dockge ikke mere. Jeg havde desvære heller ikke set at Dockge ikke har været opdatere i næsten er år
&lt;/h2&gt;&lt;p&gt;Hvis du kører Docker derhjemme eller på en lille server, kender du sikkert frustrationen: Docker Compose-filer, der ligger spredt i forskellige mapper, eller store management-systemer, der føles som om, de skyder gråspurve med kanoner.&lt;/p&gt;
&lt;p&gt;Ind træder &lt;strong&gt;Dockge&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Skabt af Louis Lam (manden bag den populære &lt;em&gt;Uptime Kuma&lt;/em&gt;), er Dockge et frisk pust. Det er enkelt, hurtigt og fokuseret på præcis det, vi har brug for: En elegant måde at styre vores Docker Compose-stacks på.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="hvorfor-overhovedet-skifte"&gt;Hvorfor overhovedet skifte?
&lt;/h2&gt;&lt;p&gt;Mange af os har brugt &lt;strong&gt;Portainer&lt;/strong&gt; i årevis. Men som tech-mediet &lt;a class="link" href="https://www.xda-developers.com/uninstalled-portainer-for-dockge-to-manage-docker/" target="_blank" rel="noopener"
&gt;XDA-Developers&lt;/a&gt; for nylig har fremhævet, er der gode grunde til at skifte til Dockge. Her er de væsentligste fordele:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;YAML i højsædet:&lt;/strong&gt; I modsætning til andre værktøjer, der gemmer konfigurationer i en lukket database, arbejder Dockge direkte med dine &lt;code&gt;.yaml&lt;/code&gt;-filer på harddisken. Dine data er dine egne.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lynhurtig UI:&lt;/strong&gt; Brugerfladen er &amp;ldquo;reaktiv&amp;rdquo;. Det betyder, at når du ændrer noget i din editor, opdateres alt på siden med det samme uden irriterende ventetid.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ingen &amp;ldquo;Bloat&amp;rdquo;:&lt;/strong&gt; Dockge forsøger ikke at styre hele dit netværk eller Kubernetes. Det gør én ting – Docker Compose – og det gør det perfekt.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Terminal og Logs i realtid:&lt;/strong&gt; Du kan se dine containere starte op og læse logs live direkte i browseren, præcis som hvis du sad i terminalen.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="installation-klar-på-under-2-minutter"&gt;Installation: Klar på under 2 minutter
&lt;/h2&gt;&lt;p&gt;Det er næsten ironisk, hvor nemt det er at installere et værktøj, der skal hjælpe dig med at installere andre ting. Det kræver kun tre korte skridt:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Opret en mappen til at gemme dine Dockge&amp;#39;s stack&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;mkdir&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;opt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;stacks&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;opt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dockge&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;cd&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;opt&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dockge&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Download compose.yaml filen&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;curl&lt;/span&gt; &lt;span class="n"&gt;https&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="n"&gt;raw&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;githubusercontent&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;com&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;louislam&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dockge&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;master&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;compose&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;yaml&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;output&lt;/span&gt; &lt;span class="n"&gt;compose&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;yaml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Start serveren&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;docker&lt;/span&gt; &lt;span class="n"&gt;compose&lt;/span&gt; &lt;span class="n"&gt;up&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Så snart containeren kører, tilgår du den på port &lt;code&gt;5001&lt;/code&gt;, opretter din administrator-bruger, og så er du i gang. Det bliver ikke meget simplere.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; Dockge organiserer automatisk dine stacks i mapper. Hvis du allerede har eksisterende Compose-filer, skal du bare flytte dem ind i din definerede stack-mappe, så finder Dockge dem selv.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="den-daglige-brug"&gt;Den daglige brug
&lt;/h2&gt;&lt;p&gt;I hverdagen er Dockge en fornøjelse. Når du vil prøve en ny applikation, indsætter du bare din Compose-kode i den indbyggede editor. Dockge tjekker automatisk for fejl i din kode, før du gemmer.&lt;/p&gt;
&lt;p&gt;Når du trykker på &lt;strong&gt;&amp;ldquo;Deploy&amp;rdquo;&lt;/strong&gt;, kan du følge med i hele processen. Hvis noget går galt, kan du rette fejlen og genstarte med ét klik. Det fjerner den barriere, der ofte er ved at rode med terminalen manuelt.&lt;/p&gt;
&lt;h2 id="konklusion"&gt;Konklusion
&lt;/h2&gt;&lt;p&gt;Dockge er det værktøj, vi har manglet til home-serveren. Det tager kontrollen fra terminalen og kombinerer det med en moderne, intuitiv brugerflade.&lt;/p&gt;
&lt;p&gt;Hvis du er træt af komplekse menuer eller bare vil have bedre styr på dine YAML-filer, så er der ingen vej udenom: Prøv Dockge. Det er gratis, open-source og ekstremt effektivt.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Kilder: &lt;a class="link" href="https://github.com/louislam/dockge" target="_blank" rel="noopener"
&gt;Louis Lam (GitHub)&lt;/a&gt; &amp;amp; &lt;a class="link" href="https://www.xda-developers.com/uninstalled-portainer-for-dockge-to-manage-docker/" target="_blank" rel="noopener"
&gt;XDA-Developers&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Automatisk hyggelys: Lad dagslyset styre stemningen i stuen</title><link>https://kaae.dk/p/automatisk-hyggelys-lad-dagslyset-styre-stemningen-i-stuen/</link><pubDate>Thu, 01 Jan 2026 12:14:08 +0100</pubDate><guid>https://kaae.dk/p/automatisk-hyggelys-lad-dagslyset-styre-stemningen-i-stuen/</guid><description>&lt;img src="https://kaae.dk/img/ha/ha-inspiration.webp" alt="Featured image of post Automatisk hyggelys: Lad dagslyset styre stemningen i stuen" /&gt;&lt;p&gt;Vi kender alle det med, at mørket sniger sig ind på os, mens vi sidder i stuen. Pludselig opdager man, at man sidder i halvmørke, eller også har man haft lyset tændt på fuld styrke hele dagen uden egentlig grund.&lt;/p&gt;
&lt;p&gt;Jeg har længe ønsket en løsning, hvor &amp;ldquo;hyggelyset&amp;rdquo; i stuen ikke bare tænder på et fast tidspunkt, men i stedet reagerer på det faktiske lysindfald udefra. Visionen var at skabe en glidende overgang, hvor lyset bliver kraftigere, jo mørkere det bliver udenfor – og vigtigst af alt: at det slukker helt af sig selv, når solen bryder igennem.&lt;/p&gt;
&lt;p&gt;Ved at bruge en udendørs lyssensor og lidt smart logik i Home Assistant, har jeg fundet en løsning, der føles helt naturlig.&lt;/p&gt;
&lt;h1 id="det-vigtigste-element"&gt;Det vigtigste element:
&lt;/h1&gt;&lt;p&gt;En udendørs lyssensor
For at denne automatisering skal fungere fejlfrit, er det afgørende, at din lyssensor (lux-sensor) måler det faktiske dagslys.&lt;/p&gt;
&lt;h1 id="hvorfor-udendørs"&gt;Hvorfor udendørs?
&lt;/h1&gt;&lt;p&gt;Hvis du bruger en sensor indendørs i samme rum som lampen, vil lyset fra lampen påvirke sensoren. Det skaber en feedback-loop: Lyset tænder -&amp;gt; sensoren måler mere lys -&amp;gt; sensoren dæmper lyset -&amp;gt; sensoren måler mindre lys -&amp;gt; sensoren skruer op. Ved at måle lyset udendørs undgår vi dette &amp;ldquo;flimmer&amp;rdquo;.&lt;/p&gt;
&lt;h2 id="forslag-til-sensorer"&gt;Forslag til sensorer
&lt;/h2&gt;&lt;p&gt;Her er nogle af de mest populære sensorer til formålet:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Philips Hue Outdoor Sensor (Zigbee): Min personlige favorit. Den er ekstremt præcis, vejrbestandig og måler både lux og temperatur.&lt;/li&gt;
&lt;li&gt;Xiaomi Mi Light Detection Sensor (Zigbee): En meget lille og billig sensor. Den er ikke officielt vandtæt, så den skal sidde beskyttet under et udhæng.&lt;/li&gt;
&lt;li&gt;Shelly Door/Window 2 (Wi-Fi): Et godt alternativ, hvis du ikke kører Zigbee, da den har indbygget lux-måler.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="sådan-fungerer-scriptet-trin-for-trin"&gt;Sådan fungerer scriptet (trin-for-trin)
&lt;/h2&gt;&lt;p&gt;Jeg har delt logikken op i tre simple faser, der sikrer en behagelig oplevelse:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Trigger og tidsrum
Scriptet &amp;ldquo;vågner&amp;rdquo; hver gang din udendørs sensor rapporterer en ny måling. For at sikre, at lyset ikke tænder og slukker unødigt midt om natten (f.eks. ved lyn eller billygter), er der indlagt en tidsbegrænsning mellem kl. 06:00 og 22:00.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Den glidende justering
Når lysstyrken kommer under 300 lux, tænder hyggelyset. Men i stedet for bare at tænde på 100%, bruger vi en lille matematisk formel i scriptet:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hvis det er meget mørkt (under 80 lux), skrues der helt op på 100%.&lt;/li&gt;
&lt;li&gt;Hvis det er mellem 80 og 300 lux, beregner scriptet selv en procentdel. Det betyder, at hvis det kun er støvet udenfor, tænder lyset måske kun på 20% styrke.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Undgå blinkeri.
For at undgå at lyset tænder og slukker hele tiden, hvis en sky driver forbi solen, har jeg indbygget en lille buffer. Lyset tænder ved 300 lux, men det slukker først igen, når målingen når over 305 lux. Det kaldes hysterese og er essentielt for en stabil automatisering.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="koden-til-home-assistant"&gt;Koden til Home Assistant
&lt;/h2&gt;&lt;p&gt;Her er det komplette script. Du skal blot kopiere det ind i din automations.yaml eller via UI&amp;rsquo;en og rette de markerede felter.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;span class="lnt"&gt;23
&lt;/span&gt;&lt;span class="lnt"&gt;24
&lt;/span&gt;&lt;span class="lnt"&gt;25
&lt;/span&gt;&lt;span class="lnt"&gt;26
&lt;/span&gt;&lt;span class="lnt"&gt;27
&lt;/span&gt;&lt;span class="lnt"&gt;28
&lt;/span&gt;&lt;span class="lnt"&gt;29
&lt;/span&gt;&lt;span class="lnt"&gt;30
&lt;/span&gt;&lt;span class="lnt"&gt;31
&lt;/span&gt;&lt;span class="lnt"&gt;32
&lt;/span&gt;&lt;span class="lnt"&gt;33
&lt;/span&gt;&lt;span class="lnt"&gt;34
&lt;/span&gt;&lt;span class="lnt"&gt;35
&lt;/span&gt;&lt;span class="lnt"&gt;36
&lt;/span&gt;&lt;span class="lnt"&gt;37
&lt;/span&gt;&lt;span class="lnt"&gt;38
&lt;/span&gt;&lt;span class="lnt"&gt;39
&lt;/span&gt;&lt;span class="lnt"&gt;40
&lt;/span&gt;&lt;span class="lnt"&gt;41
&lt;/span&gt;&lt;span class="lnt"&gt;42
&lt;/span&gt;&lt;span class="lnt"&gt;43
&lt;/span&gt;&lt;span class="lnt"&gt;44
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;alias&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Hyggelys efter lysstyrke (Optimeret)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Justerer lysstyrke glidende og slukker når det er lyst nok&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;triggers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;trigger&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;state&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;sensor.DIN_UDENDOERS_LYSSENSOR &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# &amp;lt;-- INDSÆT DIN SENSOR HER&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;conditions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;condition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;time&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;after&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;06:00:00&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;before&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;22:00:00&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;actions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;choose&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# SCENARIE 1: Juster lyset baseret på mørke&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;conditions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;condition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;numeric_state&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;sensor.DIN_UDENDOERS_LYSSENSOR&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# &amp;lt;-- INDSÆT DIN SENSOR HER&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;below&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;300&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;sequence&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;action&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;light.turn_on&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;target&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;light.DIT_STUE_LYS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# &amp;lt;-- INDSÆT DIT LYS HER&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;transition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;10&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# Gør overgangen endnu blødere ved sjældne sensor-opdateringer&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;brightness_pct&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="sd"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; {% set max_lux = 300.0 %}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; {% set min_lux = 80.0 %}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; {% set current_lux = states(&amp;#39;sensor.DIN_UDENDOERS_LYSSENSOR&amp;#39;) | float(0) %}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; {% if current_lux &amp;lt;= min_lux %}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; 100
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; {% else %}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; {# Lineær beregning: kan justeres hvis det føles for lyst ved 145 lux #}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; {{ (((max_lux - current_lux) / (max_lux - min_lux)) * 100) | round(0) }}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; {% endif %}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# SCENARIE 2: Sluk når det er lyst nok&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;conditions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;condition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;numeric_state&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;sensor.DIN_UDENDOERS_LYSSENSOR&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# &amp;lt;-- INDSÆT DIN SENSOR HER&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;above&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;305&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;sequence&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;action&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;light.turn_off&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;target&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;light.DIT_STUE_LYS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# &amp;lt;-- INDSÆT DIT LYS HER&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;mode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;restart&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="afsluttende-tanker"&gt;Afsluttende tanker
&lt;/h2&gt;&lt;p&gt;Med denne opsætning glemmer man helt, at man har lyset. Det er der bare, når der er brug for det, og det forsvinder, når solen tager over. Det er for mig essensen af et &amp;ldquo;smart&amp;rdquo; hjem.&lt;/p&gt;
&lt;p&gt;Det er dog værd at bemærke, at placeringen af din lyssensor er altafgørende. Min egen sensor sidder f.eks. på nordsiden af huset. Her er der naturligt mørkere end på sydsiden, hvilket betyder, at mine lux-værdier i scriptet er sat derefter.&lt;/p&gt;
&lt;p&gt;Hvis du placerer din sensor mod syd eller i direkte sollys, vil du opleve markant højere målinger. Derfor skal du se mine tal (300 og 80 lux) som et udgangspunkt. Det vil være nødvendigt at observere dine egne lokale forhold over et par dage og tilpasse lux-området i scriptet, så det passer præcis til, hvornår du synes, det føles mørkt i din stue.&lt;/p&gt;</description></item><item><title>Mad &amp; Musik 03-25</title><link>https://kaae.dk/p/mad-musik-03-25/</link><pubDate>Sun, 22 Jun 2025 16:57:11 +0200</pubDate><guid>https://kaae.dk/p/mad-musik-03-25/</guid><description>&lt;img src="https://kaae.dk/img/musik/musik.webp" alt="Featured image of post Mad &amp; Musik 03-25" /&gt;&lt;p&gt;Vi skal igen mødes og spille 10 numre for hinanden, denne gang er det igen et årstal og jeg har valgt 2006&lt;/p&gt;
&lt;p&gt;Musikåret 2006 var et dynamisk år, der bød på en bred vifte af genrer og kunstnere, både nationalt og internationalt. Pop og rock dominerede hitlisterne, men også hiphop, R&amp;amp;B og elektronisk musik satte deres præg.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Danmark:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I Danmark var 2006 et bemærkelsesværdigt år for dansk musik. Flere etablerede navne leverede stærke udgivelser, og nye talenter brød igennem.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mew var en af de helt store vindere ved Danish Music Awards 2006, hvor de snuppede priser for &amp;ldquo;Danish Album of the Year&amp;rdquo; og &amp;ldquo;Danish Band of the Year&amp;rdquo; for deres anmelderroste album &amp;ldquo;And the Glass Handed Kites&amp;rdquo;. Jonas Bjerre fra Mew blev også kåret som &amp;ldquo;Danish Male Artist of the Year&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;TV-2 cementerede deres position som et af Danmarks mest elskede bands med albummet &amp;ldquo;De første kærester på månen&amp;rdquo;, som vandt prisen for &amp;ldquo;Danish Pop Album of the Year&amp;rdquo;, og titelnummeret blev årets &amp;ldquo;Danish Hit of the Year&amp;rdquo;. Steffen Brandt blev anerkendt som &amp;ldquo;Danish Songwriter of the Year&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Infernal fortsatte deres internationale succes med &amp;ldquo;From Paris to Berlin&amp;rdquo;, der blev et kæmpe klubhit og solgte over 1 million eksemplarer internationalt. Sangen opnåede top 5-placeringer i Storbritannien og Spanien og fik endda en specialudgave i forbindelse med VM i fodbold 2006.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Internationalt: Pop, R&amp;amp;B og rock i front&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;På den internationale scene var 2006 præget af store navne og fængende hits, der toppede hitlisterne verden over.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Pop- og R&amp;amp;B-artister dominerede med stærke udgivelser. Beyoncé udgav sit andet soloalbum, &amp;ldquo;B&amp;rsquo;Day&amp;rdquo;, med hits som &amp;ldquo;Irreplaceable&amp;rdquo; og &amp;ldquo;Déjà Vu&amp;rdquo;, der bekræftede hendes status som popikon. Justin Timberlake fulgte op på sin succes med &amp;ldquo;FutureSex/LoveSounds&amp;rdquo;, der bød på singler som &amp;ldquo;SexyBack&amp;rdquo; og &amp;ldquo;My Love&amp;rdquo;. Nelly Furtados album &amp;ldquo;Loose&amp;rdquo; gav os hits som &amp;ldquo;Promiscuous&amp;rdquo; og &amp;ldquo;Maneater&amp;rdquo; med hendes genrebøjende stil. Andre store pophits inkluderede Shakiras &amp;ldquo;Hips Don&amp;rsquo;t Lie&amp;rdquo; (feat. Wyclef Jean) og Rihannas &amp;ldquo;SOS&amp;rdquo;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Rock-genren leverede også stærke bidrag, med bands som Red Hot Chili Peppers (&amp;ldquo;Dani California&amp;rdquo; fra albummet &amp;ldquo;Stadium Arcadium&amp;rdquo;), Snow Patrol (&amp;ldquo;Chasing Cars&amp;rdquo;) og The Fray (&amp;ldquo;How to Save a Life&amp;rdquo;).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Gnarls Barkley bragede igennem med den massive succes &amp;ldquo;Crazy&amp;rdquo;, som blev et af årets mest genkendelige numre.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Her kommer de ti numre jeg valgte&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Lily Allen - Smile&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/0WxDrVUrSvI"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Jeg har aldrig været stor Coldplay fan, men jeg synes at deres nyeste album Moon Music er helt fantastisk. Det er et af de album jeg har hørt alle numre flere gange. Coldplay har vist vejen for musikbranchen ved at udgive flere af deres klassiske albummer på vinylplader lavet af genanvendt plast. Det er et stort skridt i retning af en mere bæredygtig musikproduktion. Ved at genanvende plast reduceres behovet for nye råmaterialer og mindskes miljøpåvirkningen.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Naledi Aphiwe - Ngiyabonga&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/7O8bzI4SxK0"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Jeg ved ikke helt hvorfor jeg er kommet til at lytte til afrikansk musik, men jeg har en playliste kaldet Afropop. Men Naledi Aphiwe er en ung og lovende sangerinde fra Sydafrika. Hendes musik er en smuk blanding af afrikanske rytmer og moderne pop.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tyla - Water&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/XoiOOiuH8iI"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Tyla, hvis fulde navn er Tyla Yaweh, er en sydafrikansk sanger, der har vundet stor popularitet i de seneste år. Hendes musik er en blanding af forskellige genrer, herunder hip-hop, R&amp;amp;B og pop, og hun er kendt for sine catchy melodier og ærlige tekster.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Joan Armatrading - 25 Kisses&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/M24W35NbpcY"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Joan Armatrading, den anerkendte britiske singer-songwriter, har udgivet sit 21. studio album, &amp;ldquo;How Did This Happen And What Does It Now Mean&amp;rdquo;. Albummet, som Armatrading selv har skrevet, produceret, programmeret og indspillet, fremviser hendes karakteristiske blanding af folk, rock og blues. Nummeret 25 kisses er lidt specielt men efter at hvad hørt det nogle gange kan jeg næste ikke få den ud af hovedet&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Teddy Swims - Bad Dreams&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/Qh8QwVYOSVU"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Jeg har måske levet på en anden planet, men er først for nyligt blevet opmærksom på Teddy Swims. &amp;ldquo;Bad Dreams&amp;rdquo; er en af Swims&amp;rsquo; mest kendte sange. Sangen handler om de følelser, der opstår, når man savner en anden person så meget, at det fører til søvnløse nætter og mareridt.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;OMD - Look at you now&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/1i7jy-3CIQ4"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Min kone mener at det lyder som tysk slagermusik, men der er jeg ikke enig. &amp;ldquo;Look at You Now&amp;rdquo; er en af OMD&amp;rsquo;s mere moderne sange, der demonstrerer bandets evne til at forny sig uden at gå på kompromis med deres karakteristiske lyd. Sangen er en refleksion over tidens gang og de forandringer, både teknologiske og personlige, der har fundet sted.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Nathan Evans - Perfect Storm&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/UMk3sq87zPw"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Nathan Evans er en skotsk sanger, der har taget min verden med storm med sin unikke blanding af traditionelle sømandssange og moderne pop. Hans karriere tog for alvor fart under pandemien, hvor hans a cappella-covers af sømandssange blev virale på de sociale medier.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;TV2 - Som om&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/P2J8xUFmmAI"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
TV-2, Danmarks ukronede popkonger, har med deres seneste single &amp;ldquo;Som Om&amp;rdquo; budt på en overraskende og spændende ny lyd. I samarbejde med den talentfulde sangerinde Mumle, har bandet skabt en sang, der både er tro mod deres rødder og samtidig udfordrer genre-grænser.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Benjamin Hav - Du ligner din mor&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/ktYB3hF3xi0"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Benjamin Hav, har med singlen &amp;ldquo;Du ligner din mor&amp;rdquo; skabt et af de mest overraskende musikalske øjeblikke i 2024. Sangen, er en duet med ingen ringere end Lukas Graham.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Medina og Tessa - Rick Ross Pt. 2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/Jz7waXNeXlo"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Medina har genoplivet en af de største danske hits fra 00&amp;rsquo;erne med deres nye single, &amp;ldquo;Rick Ross Pt. 2&amp;rdquo;. Sangen er en fortsættelse af Medinas oprindelige hit &amp;ldquo;Rick Ross&amp;rdquo; fra 2009, og denne gang har hun fået selskab af den talentfulde sangerinde Tessa.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Automatisk software opdatering Grandstream GWN enheder</title><link>https://kaae.dk/p/automatisk-software-opdatering-grandstream-gwn-enheder/</link><pubDate>Sat, 12 Apr 2025 12:11:33 +0200</pubDate><guid>https://kaae.dk/p/automatisk-software-opdatering-grandstream-gwn-enheder/</guid><description>&lt;img src="https://kaae.dk/img/gwn/gwn-firmware.webp" alt="Featured image of post Automatisk software opdatering Grandstream GWN enheder" /&gt;&lt;p&gt;Jeg arbejder hos distributøren af Grandstream, hvor vi har specialiseret os i Grandstreams netværks produkter. For at yde vores kunder en god service, opdaterer vi primært Router og Switch med ny software. Dels fordi at mange af modellerne leveres med en meget gammel software, men også for at vores kunder har den rigtige oplevelse med deres Grandstream produkt.&lt;/p&gt;
&lt;p&gt;Indtil nu har det foregået ved at vores unge mennesker logger ind i enheden og via web interfacet opdaterer og laver en factory reset. Dette tager noget tid, og indebærer at de skal indtaste fabriks kodeordet to gange.&lt;/p&gt;
&lt;p&gt;Vil du gerne have en enkel måde at opdater dine Grandstream enheder når de starter op skal du bruge følgende:&lt;/p&gt;
&lt;p&gt;Grandstream router eller en anden router som giver mulighed for at tilføje DHCP option 43
Web server
Software bin filer fra Grandstream&lt;/p&gt;
&lt;h2 id="webserveren"&gt;Webserveren
&lt;/h2&gt;&lt;p&gt;Da vi ikke har nogen server i huset, har jeg bare valgt at bruge Oracle VirtualBox, og installeret en Ubuntu server på den. Jeg har installeret Openssh, Apache 2 og Net-Tools på serveren som det eneste. Jeg vil ikke her komme ind på hvordan man installere en Ubuntu server, der findes masser af guides til det.&lt;/p&gt;
&lt;p&gt;Hvis du bruger Oracle VirtualBox, skal du under Network huske at sætte Netværkskort 1 til Netværksbro.
&lt;img src="https://kaae.dk/img/gwn/OVBOX.webp"
loading="lazy"
alt="Oracle VirtualBox"
&gt;&lt;/p&gt;
&lt;p&gt;Nå installation af Ubuntu er klar laver jeg altid følgende for at opdatere ubuntu serveren&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt upgrade -y
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Vi skal have Apache 2, selve webserveren installeret det gør vi med denne kommmando&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt install apache2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Sidst installere vi Net-Tools så vi hurtigt kan finde ud af hvilken IP adresse vore server har&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt install net-tools
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;For at se IP adressen på vores server kan vi skrive følgende kommando&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ifconfig
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Hvilket giver dette output:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;enp0s3: &lt;span class="nv"&gt;flags&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;4163&amp;lt;UP,BROADCAST,RUNNING,MULTICAST&amp;gt; mtu &lt;span class="m"&gt;1500&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; inet 192.168.99.127 netmask 255.255.255.0 broadcast 192.168.80.255
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; inet6 fe80::a00:27ff:fedf:b598 prefixlen &lt;span class="m"&gt;64&lt;/span&gt; scopeid 0x20&amp;lt;link&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ether 08:00:27:df:b5:98 txqueuelen &lt;span class="m"&gt;1000&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;Ethernet&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; RX packets &lt;span class="m"&gt;13790&lt;/span&gt; bytes &lt;span class="m"&gt;11849052&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;11.8 MB&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; RX errors &lt;span class="m"&gt;0&lt;/span&gt; dropped &lt;span class="m"&gt;829&lt;/span&gt; overruns &lt;span class="m"&gt;0&lt;/span&gt; frame &lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; TX packets &lt;span class="m"&gt;5974&lt;/span&gt; bytes &lt;span class="m"&gt;639991&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;639.9 KB&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; TX errors &lt;span class="m"&gt;0&lt;/span&gt; dropped &lt;span class="m"&gt;0&lt;/span&gt; overruns &lt;span class="m"&gt;0&lt;/span&gt; carrier &lt;span class="m"&gt;0&lt;/span&gt; collisions &lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;lo: &lt;span class="nv"&gt;flags&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;73&amp;lt;UP,LOOPBACK,RUNNING&amp;gt; mtu &lt;span class="m"&gt;65536&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; inet 127.0.0.1 netmask 255.0.0.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; inet6 ::1 prefixlen &lt;span class="m"&gt;128&lt;/span&gt; scopeid 0x10&amp;lt;host&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; loop txqueuelen &lt;span class="m"&gt;1000&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;Local Loopback&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; RX packets &lt;span class="m"&gt;302&lt;/span&gt; bytes &lt;span class="m"&gt;27257&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;27.2 KB&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; RX errors &lt;span class="m"&gt;0&lt;/span&gt; dropped &lt;span class="m"&gt;0&lt;/span&gt; overruns &lt;span class="m"&gt;0&lt;/span&gt; frame &lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; TX packets &lt;span class="m"&gt;302&lt;/span&gt; bytes &lt;span class="m"&gt;27257&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;27.2 KB&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; TX errors &lt;span class="m"&gt;0&lt;/span&gt; dropped &lt;span class="m"&gt;0&lt;/span&gt; overruns &lt;span class="m"&gt;0&lt;/span&gt; carrier &lt;span class="m"&gt;0&lt;/span&gt; collisions &lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Her kan vi se at vores server har adressen 192.168.99.127&lt;/p&gt;
&lt;p&gt;Åbner du en browser og skriver ip adressen på server vil du se en velkomst skærm, for apache serveren.&lt;/p&gt;
&lt;h2 id="vigtigt-ændre-ip-adressen-på-din-opsætning"&gt;Vigtigt ændre IP adressen på din opsætning
&lt;/h2&gt;&lt;p&gt;Alle Grandstream router har som default ip adressen 192.168.80.1 så hvis du ønsker at opdatere disse, skal dit opdaterings netværk have et andet ip adresse område.&lt;/p&gt;
&lt;p&gt;Nu vil vi gerne have givet opdatering serveren en fast IP adresse, jeg foretrækker at gøre det via DHCP. Vi logger ind i vores router på adresse 192.168.99.1, og finde Clients menuen i venstre side&lt;/p&gt;
&lt;p&gt;&lt;img src="https://kaae.dk/img/gwn/clients.webp"
loading="lazy"
alt="Klienter en fast IP adresse"
&gt;
Herefter trykker vi på blyanten bag ved ip adresse vores server&lt;/p&gt;
&lt;p&gt;&lt;img src="https://kaae.dk/img/gwn/staticip.webp"
loading="lazy"
alt="Klienter en fast IP adresse"
&gt;&lt;/p&gt;
&lt;p&gt;Her sætter vi hak i Static IP, og ændre ip adressen til 192.168.99.2&lt;/p&gt;
&lt;p&gt;Vi skal nu have genstartet servere, dette går du med følgende kommando&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo reboot
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Når serveren er genstartet har den nu den nye IP adresse&lt;/p&gt;
&lt;p&gt;Fra en kommandoprompt kan du nu skrive&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh BrugerNavnPåServeren@192.168.99.2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Indtaste dit kodeord og du er logget ind i servere&lt;/p&gt;
&lt;h2 id="download-alle-firmware-filer-fra-grandstream"&gt;Download alle firmware filer fra Grandstream
&lt;/h2&gt;&lt;p&gt;Jeg har lavet dette script som henter alle firmware filer fra Grandstreams hjemmeside og kopiere dem til grandstream_firmware mappen&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;span class="lnt"&gt;23
&lt;/span&gt;&lt;span class="lnt"&gt;24
&lt;/span&gt;&lt;span class="lnt"&gt;25
&lt;/span&gt;&lt;span class="lnt"&gt;26
&lt;/span&gt;&lt;span class="lnt"&gt;27
&lt;/span&gt;&lt;span class="lnt"&gt;28
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# URL&amp;#39;en til firmware-siden&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;https://www.grandstream.com/support/firmware&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Mappen, hvor filerne skal gemmes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;DOWNLOAD_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$HOME&lt;/span&gt;&lt;span class="s2"&gt;/grandstream_firmware&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Opret mappen, hvis den ikke eksisterer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$DOWNLOAD_DIR&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Sletter alle .zip filer hvis de findes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;find &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$DOWNLOAD_DIR&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -type f -name &lt;span class="s2"&gt;&amp;#34;*.zip&amp;#34;&lt;/span&gt; -delete
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Hent HTML-koden fra URL&amp;#39;en&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HTML&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;curl -s &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$URL&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Find alle links, der starter med &amp;#34;Release_GWN&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;LINKS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$HTML&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -o &lt;span class="s1"&gt;&amp;#39;href=&amp;#34;https://firmware.grandstream.com/Release_GWN[^&amp;#34;]*&amp;#34;&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="s1"&gt;&amp;#39;&amp;#34;&amp;#39;&lt;/span&gt; -f2&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Download hver fil&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; LINK in &lt;span class="nv"&gt;$LINKS&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;FILENAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;basename &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$LINK&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; curl -s &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$LINK&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -o &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$DOWNLOAD_DIR&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$FILENAME&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Downloaded: &lt;/span&gt;&lt;span class="nv"&gt;$FILENAME&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Alle filer er hentet og ligger i &lt;/span&gt;&lt;span class="nv"&gt;$DOWNLOAD_DIR&lt;/span&gt;&lt;span class="s2"&gt; mappen&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;I komandoprompter på vore server skal vi have oprettet filen download_grandstream_firmware.sh som indeholder vores download script&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;nano download_grandstream_firmware.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Med denne kommando opretter du en tom file, maker nu alt teksten fra scriptet, og højre klik i den komando promt. Teksten bliver nu indsat og du kan med ctrl+o genne filen og ctrl+x afslutte nano&lt;/p&gt;
&lt;p&gt;&lt;img src="https://kaae.dk/img/gwn/nano2.webp"
loading="lazy"
alt="Nano hvor sctipt er indsat"
&gt;&lt;/p&gt;
&lt;p&gt;Nu skal vi have scriptet lavet om så vi kan starte det&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chmod +x download_grandstream_firmware.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;For at hente alle firmware filer skal vi køre scriptet&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;./download_grandstream_firmware.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src="https://kaae.dk/img/gwn/hentet.webp"
loading="lazy"
alt="Alle filer er nu hentet"
&gt;&lt;/p&gt;
&lt;p&gt;Alle filer er nu hentet og vi skal vi have filerne pakket ud og lagt over så webserveren man kan se dem&lt;/p&gt;
&lt;p&gt;For at udpakke alle GWN bin filer til web serveren bruger du følgende kommando&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo unzip -j -o &lt;span class="s1"&gt;&amp;#39;grandstream_firmware/Release_GWN*.zip&amp;#39;&lt;/span&gt; -d /var/www/html/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Som det sidste vi lige skal have slettet er en file på web serveren dette gør du med denne kommando&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo rm /var/www/html/index.html
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="opsætning-af-dhcp-option-i-routeren"&gt;Opsætning af DHCP option i routeren
&lt;/h2&gt;&lt;p&gt;Log ind i routeren og vælg menuen Network Settings og LAN. Tryk på blyanten bag ved VLAN ID 1
&lt;img src="https://kaae.dk/img/gwn/dhcpo1.webp"
loading="lazy"
alt="DHCP Pool"
&gt;&lt;/p&gt;
&lt;p&gt;Rul ned indtil du finder DHCP Option
&lt;img src="https://kaae.dk/img/gwn/dhcpo2.webp"
loading="lazy"
alt="DHCP Pool"
&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Skriv værdien 43&lt;/li&gt;
&lt;li&gt;Vælg ASCII&lt;/li&gt;
&lt;li&gt;Vælg Firmware Service&lt;/li&gt;
&lt;li&gt;Skriv ip adressen på serveren http://192.168.99.2/&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Tryk på Save&lt;/p&gt;
&lt;h2 id="du-er-nu-klar-til-at-teste-om-det-virker"&gt;Du er nu klar til at teste om det virker.
&lt;/h2&gt;&lt;p&gt;Router forbindes med en WAN port, alle andre skal bare have en netværksforbindelse. Husk at sætte netværkskablet til før du sætter strøm til enheden.&lt;/p&gt;
&lt;p&gt;Enheden vil starte med at lyse grøn (booter), derefter bliver den lilla, hvis den ikke er sat op, ellers bliver den blå. Når den begynder at blinke grøn, er softwareopdateringen i gang.&lt;/p&gt;
&lt;p&gt;Bemærk at den kan gå nogle minutter inden den starter på at opdatere.&lt;/p&gt;
&lt;p&gt;Følgende LED farver kan vises på GWN enhederne&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: left"&gt;&lt;strong&gt;Led fave&lt;/strong&gt;&lt;/th&gt;
&lt;th style="text-align: left"&gt;&lt;strong&gt;Betydning&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;Slukket&lt;/td&gt;
&lt;td style="text-align: left"&gt;Enheden er slukket&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;Konstant grøn&lt;/td&gt;
&lt;td style="text-align: left"&gt;Enheden Booter&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;Blinker grøn&lt;/td&gt;
&lt;td style="text-align: left"&gt;Software opdatering igang&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;Konstant Blå&lt;/td&gt;
&lt;td style="text-align: left"&gt;Enheden er i drift, eller programmeret&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;Blinker Blå&lt;/td&gt;
&lt;td style="text-align: left"&gt;Enheden bliver programmeret&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;Konstant Rød&lt;/td&gt;
&lt;td style="text-align: left"&gt;Opdatering fejlede&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;Blinker Rød&lt;/td&gt;
&lt;td style="text-align: left"&gt;Enheden nulstilles til fabriks indstillinger&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;For access punkter er der yderlige farvekombinationer&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: left"&gt;&lt;strong&gt;Led fave&lt;/strong&gt;&lt;/th&gt;
&lt;th style="text-align: left"&gt;&lt;strong&gt;Betydning&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;Konstant lilla&lt;/td&gt;
&lt;td style="text-align: left"&gt;Enheden er ikke programmeret&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;Blinker lilla&lt;/td&gt;
&lt;td style="text-align: left"&gt;Enheden har mistet forbindelsen til serveren eller internettet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;Konstant gult&lt;/td&gt;
&lt;td style="text-align: left"&gt;Enheden har mistet mesh forbindelsen&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Oprydtning&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Der skal efterfølgende lavet lidt oprydtning. Dette kommer i en senere beskrivelse&lt;/p&gt;</description></item><item><title>Mad &amp; Musik 02-25</title><link>https://kaae.dk/p/mad-musik-02-25/</link><pubDate>Sun, 23 Mar 2025 09:35:12 +0100</pubDate><guid>https://kaae.dk/p/mad-musik-02-25/</guid><description>&lt;img src="https://kaae.dk/img/musik/musik.webp" alt="Featured image of post Mad &amp; Musik 02-25" /&gt;&lt;p&gt;Vi skal igen mødes og spille 10 numre for hinanden, denne gang er det igen et årstal og jeg har valgt 1985
1985 var et bemærkelsesværdigt år i musikhistorien, præget af en bred vifte af genrer og ikoniske udgivelser. Her er et kort overblik over nogle af de mest markante musikalske begivenheder og tendenser fra det år:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Internationalt:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;ldquo;We Are the World&amp;rdquo;:&lt;/strong&gt;
Dette ikoniske velgørenheds single, indspillet af USA for Africa, blev et globalt hit og samlede penge ind til hungersnød i Afrika. Sangen indeholdt nogle af de mest populære musikere fra 1980&amp;rsquo;erne.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Live Aid:&lt;/strong&gt;
Den historiske dobbeltkoncert, der blev afholdt i både London og Philadelphia, samlede millioner af seere og indsamlede penge til hungersnød i Etiopien. Denne begivenhed cementerede 1985 som et år, hvor musikken spillede en central rolle i global bevidsthed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pop og new wave dominans:&lt;/strong&gt;
Kunstnere som Madonna, med &amp;ldquo;Like a Virgin&amp;rdquo;, og A-ha, med &amp;ldquo;Take on Me&amp;rdquo;, dominerede hitlisterne. Synthesizer-drevne lyde og iørefaldende melodier var i høj kurs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rock og metal:&lt;/strong&gt;
Bands som Bon Jovi og Guns N&amp;rsquo; Roses begyndte at gøre sig bemærket, og heavy metal-scenen fortsatte sin vækst.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Yazoo - Only You&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/KKBXBj1O4GQ"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&amp;ldquo;Only You&amp;rdquo; er en hjerteskærende smuk sang, der blev udgivet i 1982 af den britiske synth-pop duo Yazoo. Sangen er skrevet af Vince Clarke, der var den ene halvdel af duoen sammen med Alison Moyet.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Historien bag sangen&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Vince Clarke skrev &amp;ldquo;Only You&amp;rdquo;, mens han stadig var medlem af Depeche Mode, men den blev ikke udgivet på det tidspunkt. Efter at have forladt Depeche Mode og dannet Yazoo med Alison Moyet, genbesøgte han sangen. Moyets dybe, sjælfulde vokal gav sangen en ny dimension og gjorde den til en øjeblikkelig klassiker.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;John Mellencamp - Hurts So Good&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/4dOsbsuhYGQ"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&amp;ldquo;Hurts So Good&amp;rdquo; er en rock&amp;rsquo;n&amp;rsquo;roll-klassiker fra 1982, skrevet og fremført af den amerikanske sanger-sangskriver John Mellencamp. Sangen er kendt for sin rå energi, fængende melodi og tvetydige tekst, der udforsker grænserne mellem smerte og nydelse.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Historien bag sangen&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Hurts So Good&amp;rdquo; blev udgivet på Mellencamps gennembrudsalbum, &amp;ldquo;American Fool&amp;rdquo;. Sangen blev skrevet af Mellencamp og hans barndomsven, George Green. Mellencamp har fortalt, at sangen startede som en joke, men den udviklede sig til en udforskning af de komplekse følelser, der er forbundet med kærlighed og lyst. Sangen handler om forhold, der er så lidenskabelige, at de gør ondt, men hvor smerten er det hele værd.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Chilly - Secret Lies&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/jfdup4wkt38"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&amp;ldquo;Secret Lies&amp;rdquo; er en sang af det tyske disco-band Chilly, udgivet i 1982. Sangen er kendt for sin fængende melodi, synth-drevne lyd og Ute Weber-Kratz&amp;rsquo; karakteristiske vokal.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Historien bag sangen&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Chilly var et populært disco-band i slutningen af 1970&amp;rsquo;erne og begyndelsen af 1980&amp;rsquo;erne, kendt for deres hits som &amp;ldquo;For Your Love&amp;rdquo; og &amp;ldquo;Johnny Loves Jenny&amp;rdquo;. &amp;ldquo;Secret Lies&amp;rdquo; blev udgivet på bandets album af samme navn, &amp;ldquo;Secret Lies&amp;rdquo;, i 1982. Sangen blev skrevet og produceret af Bernt Möhrle, der også var ansvarlig for mange af bandets tidligere hits. &amp;ldquo;Secret Lies&amp;rdquo; afspejler den ændrede lyd, der var ved at udvikle sig i musikbranchen i starten af 80&amp;rsquo;erne, hvor disco-musikken var på vej ud, og synth-pop og new wave blev mere populært.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Lindsey Buckingham - Trouble&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/Kcm3dbuV8Z4"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&amp;ldquo;Trouble&amp;rdquo; er en sang af den amerikanske musiker Lindsey Buckingham. Den blev udgivet som den første single fra hans debut solo album, &amp;ldquo;Law and Order&amp;rdquo;, i 1981.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Historien bag sangen&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Lindsey Buckingham er mest kendt som guitarist og vokalist i Fleetwood Mac, men han har også haft en succesfuld solokarriere. &amp;ldquo;Trouble&amp;rdquo; blev skrevet og indspillet i en periode, hvor Buckingham ønskede at udforske sin egen musikalske retning uden for rammerne af Fleetwood Mac. Sangen er præget af Buckinghams særegne guitarspil og hans eksperimenterende tilgang til popmusik&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Dave Stewart - It’s My Party&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/fUlcfF5Dnvc"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&amp;ldquo;It&amp;rsquo;s My Party&amp;rdquo; er en sang fra 1981, skrevet og fremført af den britiske musiker Dave Stewart, bedst kendt som den ene halvdel af duoen Eurythmics. Selvom sangen ikke opnåede samme kommercielle succes som Eurythmics&amp;rsquo; hits, er den alligevel en interessant del af Stewarts solokarriere.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Historien bag sangen:&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Dave Stewart udgav &amp;ldquo;It&amp;rsquo;s My Party&amp;rdquo; som single fra sit soloalbum &amp;ldquo;Greetings from the Gutter&amp;rdquo; i 1983. Sangen har en mere rock&amp;rsquo;n&amp;rsquo;roll-agtig lyd end Eurythmics&amp;rsquo; synth-pop, og den viser Stewarts alsidighed som musiker. Sangen er en coverversion af den klassiske pop-sang af samme navn, fra 1963, sunget af Lesley Gore. Dog er Daves version meget anderledes end den originale.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Falco - Der Kommissar&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/8-bgiiTxhzM"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&amp;ldquo;Der Kommissar&amp;rdquo; er en banebrydende sang fra 1981, skrevet og fremført af den østrigske musiker Falco. Sangen er kendt for sin innovative blanding af pop, new wave og rap, og den var med til at introducere rap til et bredere europæisk publikum.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Historien bag sangen:&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Der Kommissar&amp;rdquo; blev udgivet som den første single fra Falcos debutalbum, &amp;ldquo;Einzelhaft&amp;rdquo;, i 1982. Sangen er skrevet af Falco og Robert Ponger. Sangen handler om en mand, der lever et liv med stoffer, og den følelse af paranoia det giver, når man er bange for politiet. Sangen blev et kæmpehit i Europa, og den nåede også top 10 på Billboard Hot 100-listen i USA. Sangen var med til at gøre Falco til en international stjerne.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Steve Miller Band - Abracadabra&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/tY8B0uQpwZs"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&amp;ldquo;Abracadabra&amp;rdquo; er en fængende og ikonisk sang fra 1982, udført af det amerikanske rockband Steve Miller Band. Sangen er kendt for sin karakteristiske synthesizer-drevne melodi, og den blev et kæmpehit på verdensplan.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Historien bag sangen:&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Abracadabra&amp;rdquo; blev udgivet som titelnummeret på bandets album af samme navn i 1982. Sangen blev skrevet af Steve Miller selv. Sangen er kendt for sin lette og optimistiske lyd, og den var med til at definere lyden af 1980&amp;rsquo;erne. Sangen handler om forelskelse, og den magi der opstår, når man møder en person man bliver vild med.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Dexys - Come On Eileen&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/6BODDyZRF6A"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&amp;ldquo;Come On Eileen&amp;rdquo; er en sprudlende og uforglemmelig sang fra 1982, fremført af det britiske band Dexys Midnight Runners. Sangen er kendt for sin eklektiske blanding af keltisk folkemusik, pop og soul, og den blev et kæmpehit på verdensplan.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Historien bag sangen:&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Come On Eileen&amp;rdquo; blev udgivet som den anden single fra bandets andet album, &amp;ldquo;Too-Rye-Ay&amp;rdquo;, i 1982. Sangen er skrevet af bandets frontmand, Kevin Rowland, sammen med Jim Paterson og Billy Adams. Sangen er en blanding af forskellige musikalske stilarter, herunder keltisk folkemusik, pop og soul. Sangen handler om ungdommens uskyld og længslen efter romantik.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Joan Jett &amp;amp; The Blackhearts - I Love Rock ´N Roll&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/wMsazR6Tnf8"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&amp;ldquo;I Love Rock &amp;rsquo;n&amp;rsquo; Roll&amp;rdquo; er en af de mest ikoniske rock sange fra 1980&amp;rsquo;erne, og den er uløseligt forbundet med Joan Jett &amp;amp; The Blackhearts. Men sangens historie begynder faktisk før Joan Jett.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Historien bag sangen:&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Sangen blev oprindeligt skrevet og indspillet af det britiske band Arrows i 1975. Joan Jett hørte sangen, mens hun var på turné i England med sit tidligere band The Runaways, og hun blev straks forelsket i den. I 1979 indspillede Joan Jett en version af sangen med medlemmer af Sex Pistols, men denne version blev ikke et hit. I 1981, med sit nye band The Blackhearts, indspillede Joan Jett sangen igen, og denne gang blev den et kæmpe hit.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Toto - Rosana&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/qmOLtTGvsbM"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&amp;ldquo;Rosanna&amp;rdquo; er en af rockgruppen Totos mest kendte og elskede sange. Den blev udgivet i 1982 som den første single fra deres album Toto IV. Sangen er kendt for sin komplekse musikalske opbygning, sin fængende melodi og sin karakteristiske &amp;ldquo;half-time shuffle&amp;rdquo;-rytme, der har gjort den til en favorit blandt både musikere og lyttere.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Historien bag sangen:&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Rosanna&amp;rdquo; er skrevet af bandets keyboardspiller, David Paich. Der har været spekulationer om, hvem &amp;ldquo;Rosanna&amp;rdquo; er, og det er ofte blevet antaget, at den handler om skuespillerinden Rosanna Arquette, som David Paich var kærester med på det tidspunkt. Men David Paich har udtalt, at sangen ikke handler specifikt om hende, men mere er inspireret af forskellige romantiske forhold. Sangen er kendt for sit komplekse musikalske arrangement, der indeholder elementer af rock, pop og jazz. &amp;ldquo;Rosanna&amp;rdquo; vandt en Grammy Award for &amp;ldquo;Record of the Year&amp;rdquo; i 1983.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Så du kan se så er en del af numrene udgivet i 1981, men har ikke været på de danske hitlister før 1982. Så derfor må jeg gerne have dem med på min 1982 liste.&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://music.youtube.com/browse/VLPLcfQpRJ10_5sa3ojxQz5b1XhAaYczBdT1" target="_blank" rel="noopener"
&gt;Du kan finde hele playlisten her&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Problemer med opdatering af visse programmer</title><link>https://kaae.dk/p/problemer-med-opdatering-af-visse-programmer/</link><pubDate>Sat, 15 Mar 2025 09:52:27 +0100</pubDate><guid>https://kaae.dk/p/problemer-med-opdatering-af-visse-programmer/</guid><description>&lt;img src="https://kaae.dk/img/winget/winget-bg.webp" alt="Featured image of post Problemer med opdatering af visse programmer" /&gt;&lt;p&gt;Jeg har haft en del problemer med at få opdateret programmer såsom OBS, Epic Game Launcher m.m. Desuden er der en del programmer som ikke viser nyeste versions nummer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;ndash;include-unknown&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Nogle applikationer giver ikke en version information, så winget er ikke sikker på om der er en nyere version. Denne mulighed tvinger winget til at forsøge at opgradere disse applikationer alligevel.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bat" data-lang="bat"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;winget upgrade --all --include-unknown
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Brugen af &amp;ndash;include-unknown, kan i nogle tilfælde give problemer, hvis en nyere version af et program ikke er kompatibelt med dit system.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;-i&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Når du tilføjer -i til winget upgrade, ændrer du den måde, opdateringsprocessen interagerer med dig. Her er en forklaring:&lt;/p&gt;
&lt;p&gt;-i eller &amp;ndash;interactive:
Denne mulighed tvinger installationsprogrammet til at køre i interaktiv tilstand. Det betyder, at du vil se installationens vinduer og eventuelle prompte, som installationsprogrammet normalt viser.
Uden -i kører mange installationsprogrammer i &amp;ldquo;silent mode&amp;rdquo;, hvor de installeres uden at vise brugergrænsefladen.&lt;/p&gt;
&lt;p&gt;Derfor opdatere jeg altid på denne måde&lt;/p&gt;
&lt;p&gt;Først laver jeg&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bat" data-lang="bat"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;winget upgrade --all --include-unknown
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Hvis der er programmer som ikke bliver opdateret bruger jeg derefter&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bat" data-lang="bat"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;winget upgrade --all --include-unknown -i
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Home Assistant sådan tænder eller slukker du din forstærker</title><link>https://kaae.dk/p/home-assistant-s%C3%A5dan-t%C3%A6nder-eller-slukker-du-din-forst%C3%A6rker/</link><pubDate>Sat, 08 Feb 2025 11:30:06 +0100</pubDate><guid>https://kaae.dk/p/home-assistant-s%C3%A5dan-t%C3%A6nder-eller-slukker-du-din-forst%C3%A6rker/</guid><description>&lt;img src="https://kaae.dk/img/ha/ha-inspiration.webp" alt="Featured image of post Home Assistant sådan tænder eller slukker du din forstærker" /&gt;&lt;p&gt;For lidt over et år siden startede jeg på Home Assistant, er noget af det jeg er blevet mest glad for er automatiseringer.&lt;/p&gt;
&lt;p&gt;Jeg har en Sony TV, en WiiM streamer, og en god gammeldags Yamaha forstærker, som på ingen måde er smart. Indtil for nylig var forstærkeren altid tændt 24 timer i døgnet, og selvom den ikke bruger meget strøm, så betyder det bare noget for min kone.&lt;/p&gt;
&lt;p&gt;Jeg fik den idé en dag at det må være muligt via en smart kontakt at tænde og slukke for forstærkere, når enten fjernsynet eller streameren var i brug. Så jeg fandt en HUE smart plug, og satte strømstikket til forstærkere i den.&lt;/p&gt;
&lt;p&gt;Første opgave var at finde ud af hvilken tilstand WiiM streamerne og fjernsynet har når det ikke er i brug, eller afspiller noget.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;WiiM Streameren&lt;/strong&gt;
WiiM er integreret i HA via LinkPlay og derfor skal vi under indstillinger, Enhed og tjenester, finde LinkPlay og i mit tilfælde har jeg kun en enhed som vi vælger
&lt;img src="https://kaae.dk/img/ha/ha-forstaerker1.webp"
loading="lazy"
alt="Forstærker1"
&gt;
Her kan vi se at når den ikke bliver brugt er status inaktiv&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sony TV&lt;/strong&gt;
Da mit tv er et Android TV skal vi have fundet Android TV Remote integrationen
&lt;img src="https://kaae.dk/img/ha/ha-forstaerker2.webp"
loading="lazy"
alt="Forstærker2"
&gt;
Her kan vi se at status er at den blev slukket&lt;/p&gt;
&lt;p&gt;Opret en automation til at tænde forstærkeren
Under indstillinger, Automatiseringer og Sener, tilføjer vi en Automatisering.
Vi vil gerne have at forstærkeren tænder når enten WiiM streameren spiller musik og når fjernsynet tænder&lt;/p&gt;
&lt;p&gt;Så første udløser vi laver er når WiiM starter med at spille
&lt;img src="https://kaae.dk/img/ha/ha-forstaerker3.webp"
loading="lazy"
alt="Forstærker3"
&gt;
Vi kan ikke bruge når den tænder eller slukker da WiiM Streameren altid er tændt&lt;/p&gt;
&lt;p&gt;Den næste udløser vi skal bruge er når fjernsynet er tændt
&lt;img src="https://kaae.dk/img/ha/ha-forstaerker4.webp"
loading="lazy"
alt="Forstærker4"
&gt;
Når en af de to er udløst kan vi tænde smart kontakten
&lt;img src="https://kaae.dk/img/ha/ha-forstaerker5.webp"
loading="lazy"
alt="Forstærker5"
&gt;
Scriptet i sin helhed&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;alias&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Tænd forstærker stue&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;triggers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;device_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;8092f4a9d8f3dc812ea135e60ced94b6&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;media_player&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;71513e0407eccf88109b2d83cb1ed65f&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;playing&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;trigger&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;device&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;turned_on&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;device_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;2f163604c45f18df0201cf7c598ba113&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;62667276fe23fdf0c2b29e3b860e4b13&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;remote&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;trigger&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;device&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;conditions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;actions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;turn_on&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;device_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;889c46b32aef9d3091b7acccf4c2b1c9&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;b4326d38f68146e0264c4a21d2e9f284&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;switch&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;mode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;single&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Opret en automation der tænder for forstærkerne&lt;/strong&gt;
Under indstillinger, Automatiseringer og Sener, tilføjer vi en Automatisering.
Vi vil gerne have at forstærkeren tænder når enten WiiM streameren er spiller eller når fjernsynet tændt&lt;/p&gt;
&lt;p&gt;Vi laver en udløser når WiiM er inaktiv i 20 sekunder, og en udløser når fjernsynet slukkede efter 20 sekunder
&lt;img src="https://kaae.dk/img/ha/ha-forstaerker6.webp"
loading="lazy"
alt="Forstærker6"
&gt;
Men vi vil selvfølgelig ikke have at forstærkeren slukker hvis vi spiller musik, eller fjernsynet er tændt
&lt;img src="https://kaae.dk/img/ha/ha-forstaerker7.webp"
loading="lazy"
alt="Forstærker7"
&gt;
Så hvis de to betingelser er opfyldt så slukker vi for forstærkeren
&lt;img src="https://kaae.dk/img/ha/ha-forstaerker8.webp"
loading="lazy"
alt="Forstærker8"
&gt;&lt;/p&gt;
&lt;p&gt;Hele scriptet i sin helhed&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;span class="lnt"&gt;23
&lt;/span&gt;&lt;span class="lnt"&gt;24
&lt;/span&gt;&lt;span class="lnt"&gt;25
&lt;/span&gt;&lt;span class="lnt"&gt;26
&lt;/span&gt;&lt;span class="lnt"&gt;27
&lt;/span&gt;&lt;span class="lnt"&gt;28
&lt;/span&gt;&lt;span class="lnt"&gt;29
&lt;/span&gt;&lt;span class="lnt"&gt;30
&lt;/span&gt;&lt;span class="lnt"&gt;31
&lt;/span&gt;&lt;span class="lnt"&gt;32
&lt;/span&gt;&lt;span class="lnt"&gt;33
&lt;/span&gt;&lt;span class="lnt"&gt;34
&lt;/span&gt;&lt;span class="lnt"&gt;35
&lt;/span&gt;&lt;span class="lnt"&gt;36
&lt;/span&gt;&lt;span class="lnt"&gt;37
&lt;/span&gt;&lt;span class="lnt"&gt;38
&lt;/span&gt;&lt;span class="lnt"&gt;39
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;alias&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Sluk forstærker stue&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;triggers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;device_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;8092f4a9d8f3dc812ea135e60ced94b6&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;media_player&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;71513e0407eccf88109b2d83cb1ed65f&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;idle&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;trigger&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;device&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;for&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;hours&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;minutes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;seconds&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;20&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;turned_off&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;device_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;2f163604c45f18df0201cf7c598ba113&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;62667276fe23fdf0c2b29e3b860e4b13&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;remote&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;trigger&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;device&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;for&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;hours&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;minutes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;seconds&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;20&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;enabled&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;conditions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;condition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;device&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;device_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;8092f4a9d8f3dc812ea135e60ced94b6&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;media_player&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;71513e0407eccf88109b2d83cb1ed65f&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;is_idle&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;condition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;device&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;is_off&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;device_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;2f163604c45f18df0201cf7c598ba113&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;62667276fe23fdf0c2b29e3b860e4b13&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;remote&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;actions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;turn_off&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;device_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;889c46b32aef9d3091b7acccf4c2b1c9&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;b4326d38f68146e0264c4a21d2e9f284&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;switch&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;mode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;single&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Der findes helt sikkert en smartere måde at gøre det på, men dette virker for mig. Det kan godt være at jeg senere også finder den måde, men tag fat i mig hvis du har en anden måde at gøre det på.&lt;/p&gt;</description></item><item><title>Mad &amp; Musik 01-25</title><link>https://kaae.dk/p/mad-musik-01-25/</link><pubDate>Sat, 25 Jan 2025 10:37:21 +0100</pubDate><guid>https://kaae.dk/p/mad-musik-01-25/</guid><description>&lt;img src="https://kaae.dk/img/musik/musik.webp" alt="Featured image of post Mad &amp; Musik 01-25" /&gt;&lt;p&gt;Vi er to par, der mødes en gang imellem og har forbedret 10 musiknumre hver. Vi aftaler på forhånd et tema og denne gang var temaet et årstal, altså musik der er udgivet i et bestemt år. De andre valgte 1975, 1978, 1985 og jeg valgte 2024&lt;/p&gt;
&lt;p&gt;Jeg forsøger at lytte til masser af nyt musik, men kan også godt lide at høre noget af alt det gamle. Min yndlings radiostationer er &lt;a class="link" href="https://classicpop.dk/" target="_blank" rel="noopener"
&gt;Classic Pop&lt;/a&gt; og &lt;a class="link" href="https://www.radiomars.dk/" target="_blank" rel="noopener"
&gt;Radio Mars&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hvorfor valgt jeg 2024, jeg syntes bare der skete så meget, også mere end man kan nå at fange med 10 numre men her kommer de numre som jeg valgte&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Coldplay - All My Love&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/pSeaHfkd3M8"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Jeg har aldrig været stor Coldplay fan, men jeg synes at deres nyeste album Moon Music er helt fantastisk. Det er et af de album jeg har hørt alle numre flere gange. Coldplay har vist vejen for musikbranchen ved at udgive flere af deres klassiske albummer på vinylplader lavet af genanvendt plast. Det er et stort skridt i retning af en mere bæredygtig musikproduktion. Ved at genanvende plast reduceres behovet for nye råmaterialer og mindskes miljøpåvirkningen.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Naledi Aphiwe - Ngiyabonga&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/7O8bzI4SxK0"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Jeg ved ikke helt hvorfor jeg er kommet til at lytte til afrikansk musik, men jeg har en playliste kaldet Afropop. Men Naledi Aphiwe er en ung og lovende sangerinde fra Sydafrika. Hendes musik er en smuk blanding af afrikanske rytmer og moderne pop.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tyla - Water&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/XoiOOiuH8iI"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Tyla, hvis fulde navn er Tyla Yaweh, er en sydafrikansk sanger, der har vundet stor popularitet i de seneste år. Hendes musik er en blanding af forskellige genrer, herunder hip-hop, R&amp;amp;B og pop, og hun er kendt for sine catchy melodier og ærlige tekster.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Joan Armatrading - 25 Kisses&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/M24W35NbpcY"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Joan Armatrading, den anerkendte britiske singer-songwriter, har udgivet sit 21. studio album, &amp;ldquo;How Did This Happen And What Does It Now Mean&amp;rdquo;. Albummet, som Armatrading selv har skrevet, produceret, programmeret og indspillet, fremviser hendes karakteristiske blanding af folk, rock og blues. Nummeret 25 kisses er lidt specielt men efter at hvad hørt det nogle gange kan jeg næste ikke få den ud af hovedet&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Teddy Swims - Bad Dreams&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/Qh8QwVYOSVU"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Jeg har måske levet på en anden planet, men er først for nyligt blevet opmærksom på Teddy Swims. &amp;ldquo;Bad Dreams&amp;rdquo; er en af Swims&amp;rsquo; mest kendte sange. Sangen handler om de følelser, der opstår, når man savner en anden person så meget, at det fører til søvnløse nætter og mareridt.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;OMD - Look at you now&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/1i7jy-3CIQ4"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Min kone mener at det lyder som tysk slagermusik, men der er jeg ikke enig. &amp;ldquo;Look at You Now&amp;rdquo; er en af OMD&amp;rsquo;s mere moderne sange, der demonstrerer bandets evne til at forny sig uden at gå på kompromis med deres karakteristiske lyd. Sangen er en refleksion over tidens gang og de forandringer, både teknologiske og personlige, der har fundet sted.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Nathan Evans - Perfect Storm&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/UMk3sq87zPw"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Nathan Evans er en skotsk sanger, der har taget min verden med storm med sin unikke blanding af traditionelle sømandssange og moderne pop. Hans karriere tog for alvor fart under pandemien, hvor hans a cappella-covers af sømandssange blev virale på de sociale medier.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;TV2 - Som om&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/P2J8xUFmmAI"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
TV-2, Danmarks ukronede popkonger, har med deres seneste single &amp;ldquo;Som Om&amp;rdquo; budt på en overraskende og spændende ny lyd. I samarbejde med den talentfulde sangerinde Mumle, har bandet skabt en sang, der både er tro mod deres rødder og samtidig udfordrer genre-grænser.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Benjamin Hav - Du ligner din mor&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/ktYB3hF3xi0"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Benjamin Hav, har med singlen &amp;ldquo;Du ligner din mor&amp;rdquo; skabt et af de mest overraskende musikalske øjeblikke i 2024. Sangen, er en duet med ingen ringere end Lukas Graham.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Medina og Tessa - Rick Ross Pt. 2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="video-wrapper"&gt;
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/Jz7waXNeXlo"
allowfullscreen
title="YouTube Video"
&gt;
&lt;/iframe&gt;
&lt;/div&gt;
Medina har genoplivet en af de største danske hits fra 00&amp;rsquo;erne med deres nye single, &amp;ldquo;Rick Ross Pt. 2&amp;rdquo;. Sangen er en fortsættelse af Medinas oprindelige hit &amp;ldquo;Rick Ross&amp;rdquo; fra 2009, og denne gang har hun fået selskab af den talentfulde sangerinde Tessa.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Som du kan se kommer jeg langt omkring, og har en meget blandet musiksmag&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://music.youtube.com/playlist?list=PLcfQpRJ10_5tiJHHIcsGGY7ne02EFMYrm&amp;amp;si=FJANPAES6fZZvwWW" target="_blank" rel="noopener"
&gt;Du kan finde hele playlisten her&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Her er nogle af mine små tips og tricks til WinGet</title><link>https://kaae.dk/p/her-er-nogle-af-mine-sm%C3%A5-tips-og-tricks-til-winget/</link><pubDate>Sun, 19 Jan 2025 12:20:31 +0100</pubDate><guid>https://kaae.dk/p/her-er-nogle-af-mine-sm%C3%A5-tips-og-tricks-til-winget/</guid><description>&lt;img src="https://kaae.dk/img/winget/winget-bg.webp" alt="Featured image of post Her er nogle af mine små tips og tricks til WinGet" /&gt;&lt;p&gt;Ved at ændre i settings filen kan du for en regnbue progressbar, du skriver&lt;/p&gt;
&lt;p&gt;winget settings&lt;/p&gt;
&lt;p&gt;og settings filen åbner, det er en json file hvor du tilføjer følgende&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;quot;visual&amp;quot;: {
&amp;quot;progressBar&amp;quot;: &amp;quot;rainbow&amp;quot;
},
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Når du gemmer filen får du en flot regnbue som progress bar
&lt;img src="https://kaae.dk/img/winget/winget3.webp"
loading="lazy"
alt="Progressbar"
&gt;&lt;/p&gt;
&lt;p&gt;Det er også en god ide at sætte sproget til de installerer programmer til dansk, det gør du ved at tilføje dette til filen&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;quot;installBehavior&amp;quot;: {
&amp;quot;preferences&amp;quot;: {
&amp;quot;locale&amp;quot;: [ &amp;quot;en-US&amp;quot;, &amp;quot;da-DK&amp;quot; ]
}
},
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Her kommer hele min settings file i sin helhed&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
&amp;quot;$schema&amp;quot;: &amp;quot;https://aka.ms/winget-settings.schema.json&amp;quot;,
// For documentation on these settings, see: https://aka.ms/winget-settings
&amp;quot;source&amp;quot;: {
&amp;quot;autoUpdateIntervalInMinutes&amp;quot;: 5
},
&amp;quot;visual&amp;quot;: {
&amp;quot;progressBar&amp;quot;: &amp;quot;rainbow&amp;quot;
},
&amp;quot;installBehavior&amp;quot;: {
&amp;quot;preferences&amp;quot;: {
&amp;quot;locale&amp;quot;: [ &amp;quot;en-US&amp;quot;, &amp;quot;da-DK&amp;quot; ]
}
},
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bemærk at jeg også har sat auto opdatering til 5 min.&lt;/p&gt;
&lt;p&gt;En beskrivelse af alle indstillinger finder du her &lt;a class="link" href="https://learn.microsoft.com/en-us/windows/package-manager/winget/settings" target="_blank" rel="noopener"
&gt;https://learn.microsoft.com/en-us/windows/package-manager/winget/settings&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Winget din nye bedste ven til software håndtering på Windows</title><link>https://kaae.dk/p/winget-din-nye-bedste-ven-til-software-h%C3%A5ndtering-p%C3%A5-windows/</link><pubDate>Sat, 18 Jan 2025 15:27:19 +0100</pubDate><guid>https://kaae.dk/p/winget-din-nye-bedste-ven-til-software-h%C3%A5ndtering-p%C3%A5-windows/</guid><description>&lt;img src="https://kaae.dk/img/winget/winget-bg.webp" alt="Featured image of post Winget din nye bedste ven til software håndtering på Windows" /&gt;&lt;h2 id="hvad-er-winget"&gt;Hvad er Winget?
&lt;/h2&gt;&lt;p&gt;Winget er et kraftfuldt kommandolinjeværktøj udviklet af Microsoft, der gør det nemt at finde, installere, opdatere og fjerne software på din Windows-computer. Det fungerer som en slags &amp;ldquo;app store&amp;rdquo; for din computer, men med den fordel, at du har fuld kontrol over processen via kommandoer.&lt;/p&gt;
&lt;h2 id="hvorfor-er-winget-så-smart"&gt;Hvorfor er Winget så smart?
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Centraliseret styring:
&lt;ul&gt;
&lt;li&gt;I stedet for at besøge forskellige hjemmesider for at downloade og installere hver enkelt app, kan du gøre det hele fra ét sted ved hjælp af Winget.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Nemme opdateringer:
&lt;ul&gt;
&lt;li&gt;Med en enkelt kommando kan du opdatere alle dine installerede apps på én gang, hvilket sparer dig for tid og besvær.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Stort og voksende bibliotek:
&lt;ul&gt;
&lt;li&gt;winget har adgang til et omfattende bibliotek af software, så du kan finde næsten alt, hvad du har brug for.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Fleksibel konfiguration:
&lt;ul&gt;
&lt;li&gt;Du kan tilpasse installationerne og opdateringerne præcis som du ønsker det, ved hjælp af forskellige kommandoer og parametre.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Åben kilde:
&lt;ul&gt;
&lt;li&gt;Winget er open-source, hvilket betyder, at det konstant udvikles og forbedres af et stort fællesskab.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="hvordan-fungerer-det-i-praksis"&gt;Hvordan fungerer det i praksis?
&lt;/h2&gt;&lt;p&gt;Lad os sige, at du vil installere Visual Studio Code. Alt du skal gøre er at åbne et kommandovindue og skrive:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;winget install vscode
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Winget vil automatisk finde den nyeste version af Visual Studio Code og installere den på din computer.&lt;/p&gt;
&lt;h2 id="andre-nyttige-kommandoer"&gt;Andre nyttige kommandoer:
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Søg efter en app: &lt;code&gt;winget search &amp;quot;appnavn&amp;quot;&lt;/code&gt; (f.eks. winget search chrome)&lt;/li&gt;
&lt;li&gt;Se en liste over installerede apps: &lt;code&gt;winget list&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Opdater alle installerede apps: &lt;code&gt;winget upgrade&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Fjern en app: &lt;code&gt;winget uninstall &amp;quot;appnavn&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="hvorfor-skal-du-bruge-winget"&gt;Hvorfor skal du bruge Winget?
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Effektivitet:
&lt;ul&gt;
&lt;li&gt;Spar tid og undgå besværet med manuelle installationer. Nogle programmer er så svære at finde de rigtige download links til, at winget bare er meget nemmere.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Kontrol:
&lt;ul&gt;
&lt;li&gt;Hav fuld kontrol over din softwareinstallation.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Nemme opdateringer:
&lt;ul&gt;
&lt;li&gt;Hold dine apps opdateret med et enkelt klik. Jeg hader at skal alle programmer igennem for at se om der er opdateringer. Men winget er den en kommando der kontrollere om der er opdateringer til de programmer som er installeret på din computer hvis de findes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Kort sagt: Winget er et uundværligt værktøj for alle, der ønsker at have styr på deres software installation på Windows. Det er nemt at bruge, kraftfuldt og konstant under udvikling.&lt;/p&gt;
&lt;p&gt;Jeg er så gammel at jeg er vokset op med DOS, og derfor falder det mig naturligt at bruge en kommandolinje. Jeg er helt pjattet med at bruge Powershell og&lt;/p&gt;
&lt;p&gt;Den kommando jeg bruger mest er opdatering af alt installeret software
&lt;img src="https://kaae.dk/img/winget/winget1.webp"
loading="lazy"
alt="Winget windows pakke manager"
&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;winget upgrade --all
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="installation-af-et-program"&gt;Installation af et program
&lt;/h2&gt;&lt;p&gt;Hvis du gerne vil installere Google Chrome skal du først skal du finde den pakke det gør du med search kommandoen&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;winget search google
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Du får nu en lang liste over programmer&lt;/p&gt;
&lt;p&gt;&lt;img src="https://kaae.dk/img/winget/winget2.webp"
loading="lazy"
alt="Winget windows pakke manager"
&gt;&lt;/p&gt;
&lt;p&gt;For at installere Google Chrome bruger du følgende kommando&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;winget install google.chrome
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I løbet af kort tid bliver Google Chrome installeret&lt;/p&gt;
&lt;p&gt;Vil du afinstallere et program igen bruger du&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;winget uninstall Microsoft.PowerToys
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Vil du lære mere?&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://learn.microsoft.com/en-us/windows/package-manager/winget/" target="_blank" rel="noopener"
&gt;Besøg den officielle Microsoft-dokumentation for Winget&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>