KI-Prompting für Anfänger: So klappt die Content Creation mit KI

Beitragsbild zur Anleitung „KI-Prompting für Anfänger“ mit Symbolen für Text, Bild und Musik, flaches Design, türkiser Hintergrund

Was ist KI-Prompting – und warum ist es so wichtig?

Wer mit KI kreative Inhalte erstellen möchte, kommt am sogenannten KI-Prompting nicht vorbei. Ein „Prompt“ ist die Eingabe, mit der man einer KI (z. B. ChatGPT, Midjourney oder Suno.ai) sagt, was genau sie tun soll. Je besser der Prompt, desto besser das Ergebnis. Ganz nach dem Motto: Garbage in, garbage out.

Ob Text, Bild oder Musik – ein klar formulierter Prompt spart Zeit, Nerven und liefert Inhalte, die wirklich weiterhelfen. Gerade für Anfänger ist es wichtig, ein Gefühl dafür zu entwickeln, wie man mit einer KI „spricht“. In diesem Artikel lernst du die Grundlagen des KI-Prompting für Anfänger – Schritt für Schritt erklärt.

Externer Link: Was ist Prompt Engineering? (Wikipedia)

🔗 Lesetipp: Wenn du sehen willst, wie verrückt es werden kann – lies mein episches Abenteuer mit Bonnie und der KI!


Die Grundregeln für gutes KI-Prompting

Damit du systematisch bessere Ergebnisse bekommst, helfen ein paar einfache Regeln:

  1. Klarheit vor Kreativität: Sag der KI genau, was du willst.
  2. Struktur vor Style: Gliedere deine Anfrage, wenn möglich.
  3. Zielgruppe & Tonfall angeben: Wer soll es lesen/hören/sehen? Wie soll es wirken?
  4. Format definieren: Blogartikel, Bildbeschreibung, Musikstil etc.
  5. Optional: Stil, Stimmung, Zusatzwünsche
Illustration eines Notizblatts mit einem strukturierten Prompt, daneben KI-Symbole wie ChatGPT, Midjourney und Suno, im Hintergrund Ideenblasen mit Text, Bild und Musik

Beispiel (Text-Content):

Schlecht:

„Schreib was über Solarpanels.“

Besser:

„Schreibe einen Blogartikel (600-800 Wörter) über die Vorteile von Solarpanels für Hausbesitzer. Zielgruppe: Technikinteressierte Einsteiger. Tonfall: Verständlich, freundlich, leicht nerdig.“


KI-Prompting für Texte: Blog, Social Media & Co.

Blogartikel:

Schreibe einen Blogartikel (ca. 700 Wörter) zum Thema "Home Assistant einrichten". Zielgruppe: Smart-Home-Einsteiger. Ton: Erklärend, motivierend. Struktur: Einleitung, Schritt-für-Schritt-Anleitung, Tipps, Fazit.

Instagram-Post:

Verfasse einen kurzen, lockeren Instagram-Post über die Vorteile von KI beim Schreiben. Max. 300 Zeichen, mit passenden Emojis und Hashtags.

Newsletter-Teaser:

Schreibe einen Einleitungstext für einen Newsletter über neue KI-Tools zur Content Creation. Zielgruppe: Kreative, Blogger, Nerds. Max. 250 Zeichen.

Tipp: Tools wie ChatGPT oder Jasper.ai sind perfekt dafür geeignet.

💡 Affiliate-Tipp: The Art of Prompt Engineering with ChatGPT* (bezahlter Link)


KI-Prompting für Bilder: KI-Grafiken, Thumbnails & Co.

Beispiel-Prompt für Midjourney:

A cozy reading corner in a tiny cabin during snowfall, ultra-detailed, warm lighting, Ghibli-style

Stable Diffusion Prompt:

Futuristic smart home control room, ultra-realistic, isometric view, clean interface, soft blue tones

Funktionierende Prompts kombinieren Motiv, Stil, Details und Farbwelt. Du kannst auch deine Ergebnisse weiterentwickeln lassen mit: „make it more minimalistic“, „add plants“ oder „use pastel colors“.

💡 Affiliate-Tipp: Midjourney Mastery: Create AI Art Like a Pro* (bezahlter Link)


KI-Prompting für Musik & Sprache: Loops, Songs und Voiceovers

Suno.ai Musikprompt:

Dreamy synth track with analog textures, melancholic vibe, slow tempo, 90s sci-fi influence

Text-to-Speech Prompt (z. B. ElevenLabs):

Soft, calm female voice, slight smile, friendly tone, speak clearly, short pauses after each sentence

Tipp: Wenn du gesprochene Systemtexte erzeugen willst, nutze den Zusatz [System Voice – Spoken Words], um das Singen zu vermeiden.

💡 Affiliate-Tipp: Blue Yeti USB Mikrofon für Sprachaufnahmen* (bezahlter Link)


Tools & Tipps für effektives KI-Prompting

  • Lege dir eine eigene Prompt-Bibliothek an (z. B. in Notion oder Obsidian), damit du gute Ideen jederzeit wiederverwenden kannst.
  • Versioniere Prompts wie Code: V1, V2, „tuned“, „Instagram-freundlich“ – so findest du deine besten Varianten wieder.
  • Nutze Automatisierungstools wie Zapier oder Node-RED, um Inhalte direkt aus deinen Prompts zu veröffentlichen.
  • Halte gute Ergebnisse fest, z. B. per Screenshot oder Export.

Externer Link: PromptBase – Marktplatz für Prompts


Fazit: KI-Prompting für Anfänger leicht gemacht

KI kann dir viel Arbeit abnehmen – aber nur, wenn du ihr richtig sagst, was du brauchst. KI-Prompting für Anfänger ist kein Hexenwerk: Mit ein wenig Übung entwickelst du ein Gefühl für die richtige Ansprache.

Nutze die Tipps aus diesem Artikel, probiere eigene Varianten aus und baue dir nach und nach dein ganz persönliches KI-Toolset auf.

Viel Spaß beim Prompting!

Windows-Autostart nur an Wochentagen mit automatischer Fensterplatzierung (PowerShell & Aufgabenplaner)

Symbolbild zum Windows-Autostart nur an Wochentagen mit Aufgabenplanung und PowerShell

Der Windows-Autostart kann schnell ausarten – besonders, wenn Programme unnötig auch am Wochenende mitstarten. In diesem Beitrag zeige ich dir, wie du den Windows-Autostart nur an Wochentagen realisierst, inklusive gezielter Fensterplatzierung auf dem richtigen Monitor. Damit wird dein Setup nicht nur effizienter, sondern auch smarter.

👉 Tipp: Du nutzt bereits PowerShell für dein Smart Home? Dann schau dir auch meinen Beitrag zur automatisierten Gerätesteuerung mit ioBroker und PowerShell an.


✅ Was du hier lernst – Windows-Autostart nur an Wochentagen

  • Wie du Programme nur an bestimmten Tagen und Zeiten automatisch starten lässt
  • Wie du Fenster automatisch auf einem bestimmten Monitor positionierst
  • Wie sich das auch mit Windows-Store-Apps umsetzen lässt
  • Wie du das alles mit einem einzigen PowerShell-Skript steuerst
  • Bonus: Yoast-kompatibel, suchmaschinenfreundlich und clean ✨

📅 Warum der Windows-Autostart nur an Wochentagen sinnvoll ist

Der klassische Autostart in Windows lässt sich nur global aktivieren oder deaktivieren – das heißt: Entweder ein Programm startet immer, oder nie.

Aber was, wenn du willst, dass:

  • deine Arbeitstools nur von Montag bis Freitag automatisch starten?
  • Programme erst ab einer bestimmten Uhrzeit starten sollen?
  • Fenster immer auf Monitor 2 oder 3 erscheinen – z. B. im Hochkant-Layout?

Mit PowerShell + Aufgabenplaner ist das kein Problem.

🔗 Weitere Infos zur Windows Aufgabenplanung bei Microsoft


🛠️ Das PowerShell-Skript für den Windows-Autostart nur an Wochentagen

Dieses Skript:

  • startet beliebige Programme,
  • unterscheidet zwischen klassischen .exe-Dateien und Windows Store-Apps,
  • positioniert Fenster automatisch auf einem bestimmten Bildschirm
  • und führt das Ganze nur an Wochentagen und in einem bestimmten Uhrzeitfenster aus.

Beispiel: Store-App + klassisches EXE-Fenster platzieren

# Importiere das Windows.Forms-Assembly, um Informationen über Bildschirme zu bekommen
Add-Type -AssemblyName System.Windows.Forms

# Aktuelles Datum und Uhrzeit abrufen
$now = Get-Date
$weekday = $now.DayOfWeek
$hour = $now.Hour

# Nur an Wochentagen (Mo–Fr) zwischen 6 und 15 Uhr ausführen
if (
    ($weekday -ne 'Saturday' -and $weekday -ne 'Sunday') -and
    ($hour -ge 6 -and $hour -lt 15)
) {
    # Beispiel 1: Windows-Store-App starten (z. B. Microsoft Teams oder Spotify)
    # Wichtig: Store-Apps benötigen Protokollstart wie "msteams:" oder "spotify:"
    Start-Process "msteams:"

    # Beispiel 2: Klassische .exe-Anwendung starten (hier mit Beispielpfad)
    $appPath = "C:\Programme\MeineApp\MeinTool.exe"
    $appProc = Start-Process $appPath -PassThru

    # Kurze Pause, damit das Fenster der App vollständig geladen ist
    Start-Sleep -Seconds 5

    # API-Funktion einbinden, um Fenster verschieben zu können
    Add-Type @"
using System;
using System.Runtime.InteropServices;
public class WinAPI {
    [DllImport("user32.dll")]
    public static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint);
}
"@

    # Bildschirminformationen abrufen – z. B. für Multimonitor-Setups
    $screens = [System.Windows.Forms.Screen]::AllScreens

    # Ziel: Monitor 3 (Index 2), falls vorhanden – sonst letzter Monitor als Fallback
    if ($screens.Count -ge 3) {
        $screen = $screens[2]
    } else {
        $screen = $screens[$screens.Count - 1]
    }

    # Position und Größe für untere Bildschirmhälfte berechnen
    $x = $screen.WorkingArea.X
    $width = $screen.WorkingArea.Width
    $halfHeight = [int]($screen.WorkingArea.Height / 2)
    $yBottom = $screen.WorkingArea.Y + $halfHeight

    # Fensterhandle suchen: bis zu 20 Versuche mit je 0,5 Sekunden Pause
    # Hintergrund: Manche Fenster erscheinen zeitverzögert oder starten unsichtbar
    $handle = $null
    for ($i = 0; $i -lt 20; $i++) {
        # Prüfen, ob ein Prozess mit passendem Fenstertitel existiert
        $proc = Get-Process | Where-Object { $_.MainWindowTitle -like "*MeinTool*" }

        if ($proc) {
            # Wenn ein gültiges Fensterhandle vorhanden ist, abbrechen
            $handle = $proc.MainWindowHandle
            if ($handle -ne 0) { break }
        }

        # Kurze Wartezeit, bevor erneut geprüft wird
        Start-Sleep -Milliseconds 500
    }

    # Wenn ein gültiges Fensterhandle gefunden wurde: Fenster verschieben
    if ($handle -ne 0) {
        [WinAPI]::MoveWindow([intptr]$handle, $x, $yBottom, $width, $halfHeight, $true)
    }
}

🔄 Programme zeitgesteuert mit Aufgabenplaner starten

  1. Öffne den Aufgabenplaner (taskschd.msc)
  2. Klicke auf „Aufgabe erstellen“
  3. Reiter „Allgemein“:
    • Name: Zeitgesteuerter Programmstart
    • Haken bei „Mit höchsten Privilegien ausführen“
  4. Reiter „Trigger“:
    • Neuer Trigger: „Bei Anmeldung“
    • Optional: Haken bei „Verzögern um: 30 Sekunden“
  5. Reiter „Aktionen“:
    • Programm: powershell.exe
    • Argumente: -ExecutionPolicy Bypass -File "C:\Scripts\mein_autostart_script.ps1"
  6. Speichern – fertig!

🔗 Weitere Details zur PowerShell Get-Date Funktion bei Microsoft


🧠 Pro-Tipps für deinen Autostart unter Windows

Wenn du mehrere Tools auf mehreren Monitoren „in Position bringen“ willst, kannst du das Skript einfach erweitern. Mehrere Fenster gleichzeitig zu verschieben ist kein Problem – solange du die Fenstertitel kennst, klappt das wunderbar.

🔗 Schau dir z. B. AutoHotkey oder nircmd von NirSoft an, wenn du noch mehr Kontrolle brauchst.

📚 Oder stöbere durch passende PowerShell-Beispiele auf GitHub


📋 Fazit – Windows-Autostart nur an Wochentagen automatisieren

Mit PowerShell und dem Aufgabenplaner kannst du dir ein richtig smartes Autostart-System bauen – das nicht nur nach Uhrzeit und Wochentagen reagiert, sondern auch deine Fenster genau da platziert, wo du sie brauchst.

Kein manuelles Schieben mehr. Kein Autostart-Wildwuchs. Einfach nur: sauber, gezielt, nerdig gut.

prokrastinerd approved!

🔧 Nerd-Tools für dein Windows-Autostart-Setup

Wenn du dein System weiter optimieren willst, sind hier ein paar nützliche Tools, die perfekt zu diesem Beitrag passen – für mehr Effizienz, Kontrolle und nerdige Freude.

  • Windows PowerShell: Grundlagen & Scripting-Praxis für Einsteiger* (bezahlter Link)
    Ein sehr gut bewertetes deutsches Buch, das PowerShell praxisnah erklärt. Ideal, wenn du tiefer einsteigen willst.
  • Elgato Stream Deck (MK.2)* (bezahlter Link)
    Das kennt inzwischen fast jeder: das Stream Deck von Elgato. Ursprünglich für Streamer gedacht, hat es längst seinen Weg in produktive Setups gefunden. Mit frei belegbaren Tasten kannst du PowerShell-Skripte, App-Starts oder Fensteranordnungen mit einem einzigen Knopfdruck auslösen – perfekt für alle, die ihren Workflow lieben (und gern ein bisschen automatisieren).
  • BONTEC Monitor Halterung 2 Monitore für 13-27 Zoll* (bezahlter Link)
    Flexibel verstellbarer Monitorarm – ideal, wenn du wie im Beitrag mit Hochkant-Monitoren arbeitest und Ordnung auf dem Schreibtisch willst.

Shelly Gen 3 VS Gen 4 – Lohnt sich das Upgrade?

Einleitung

Shelly hat mit der vierten Generation seiner beliebten Smart-Home-Relais ein großes Upgrade veröffentlicht. Die wichtigsten Neuerungen: Matter-Zertifizierung, Apple HomeKit-Unterstützung und Multi-Protokoll-Konnektivität (WLAN, Bluetooth & Zigbee). Doch wer gewinnt beim Duel Shelly Gen 3 VS Gen 4?

Doch was genau unterscheidet Shelly Gen 3 von Shelly Gen 4? Lohnt sich ein Upgrade, oder kannst du weiterhin auf die bewährten Gen 3-Modelle setzen? In diesem Beitrag findest du alle Unterschiede im Detail!

Shelly Relais

Die wichtigsten Neuerungen von Shelly Gen 4

Multi-Protokoll-Konnektivität: WLAN, Bluetooth & Zigbee

Während Shelly Gen 3 nur WLAN & Bluetooth bot, ist Gen 4 zusätzlich mit Zigbee 3.0 ausgestattet. Dadurch kannst du Shelly Gen 4 nicht nur ins WLAN einbinden, sondern auch in ein Zigbee-Mesh – perfekt für größere Smart-Home-Setups!

💡 Zigbee-Repeater-Funktion: Shelly Gen 4 erweitert dein Zigbee-Netzwerk automatisch, indem er als Mesh-Knoten agiert.


Matter-Zertifizierung – Zukunftssicher für dein Smart Home

Shelly Gen 4 ist offiziell Matter-zertifiziert. Das bedeutet, dass du dein Smart-Home-System herstellerübergreifend steuern kannst – egal ob über Google Home, Amazon Alexa oder Apple HomeKit.

💡 Matter sorgt für bessere Kompatibilität: Du kannst Shelly Gen 4 direkt in Matter-fähige Systeme einbinden, ohne Cloud-Zwang!


Offizielle Apple HomeKit-Unterstützung

Ein großer Schritt nach vorne: Shelly Gen 4 funktioniert jetzt mit Apple HomeKit. Du kannst deine Shelly-Geräte mit der Apple Home-App oder per Siri steuern – ohne Umwege über Drittanbieter-Integrationen.

📌 Shelly Gen 3 funktioniert nicht mit Apple HomeKit, während Gen 4 diese Unterstützung von Haus aus mitbringt.


Verbesserte Energieeffizienz & optimierte Antennen

  • Geringerer Stromverbrauch: Shelly Gen 4 benötigt weniger als 1 W (statt bis zu 1.2 W bei Gen 3).
  • Bessere WLAN- & Bluetooth-Reichweite: Die Antennen wurden für stabilere Verbindungen optimiert.

Technische Detailunterschiede – Shelly Gen 3 vs. Shelly Gen 4

Shelly 1 Gen 3 vs. Shelly 1 Gen 4

Der Shelly 1 Gen 4 bietet Matter, Zigbee und eine bessere Antenne.

FeatureShelly 1 Gen 3Shelly 1 Gen 4
ChipESP-Shelly-C38FESP-Shelly-C68F
Multi-ProtokollWLAN, BluetoothWLAN, Bluetooth, Zigbee
Matter-Zertifiziert❌ Nein✅ Ja
Apple HomeKit❌ Nein✅ Ja
Power Consumption<1.2 W<1 W
KlemmenfarbeSchwarzGrau
Abmessungen (H x B x T)37 x 42 x 16 mm37 x 42 x 16 mm

👉 Jetzt kaufen: Shelly 1 Gen 3 auf Amazon* (bezahlter Link)


Shelly 1PM Gen 3 vs. Shelly 1PM Gen 4

📌 Shelly 1PM Gen 4 bietet Matter, Zigbee und eine effizientere Verbrauchsmessung.

FeatureShelly 1PM Gen 3Shelly 1PM Gen 4
ChipESP-Shelly-C38FESP-Shelly-C68F
Multi-ProtokollWLAN, BluetoothWLAN, Bluetooth, Zigbee
Matter-Zertifiziert❌ Nein✅ Ja
Apple HomeKit❌ Nein✅ Ja
Power Consumption<1.2 W<1 W
KlemmenfarbeSchwarzGrau
Abmessungen (H x B x T)37 x 42 x 16 mm37 x 42 x 16 mm

👉 Jetzt kaufen: Shelly 1PM Gen 3 auf Amazon


Shelly 1 Mini Gen 3 vs. Shelly 1 Mini Gen 4

📌 Shelly 1 Mini Gen 4 ist Matter-fähig und bietet eine verbesserte Funkreichweite.

FeatureShelly 1 Mini Gen 3Shelly 1 Mini Gen 4
ChipESP-Shelly-C38FESP-Shelly-C68F
Multi-ProtokollWLAN, BluetoothWLAN, Bluetooth, Zigbee
Matter-Zertifiziert❌ Nein✅ Ja
Apple HomeKit❌ Nein✅ Ja
Power Consumption<1.2 W<1 W
KlemmenfarbeSchwarzGrau
Abmessungen (H x B x T)32 x 35 x 11 mm32 x 35 x 11 mm

👉 Jetzt kaufen: Shelly 1 Mini Gen 3 auf Amazon* (bezahlter Link)


Fazit: Shelly Gen 3 oder 4 – Was ist die bessere Wahl?

Hast du bereits Shelly Gen 3?
→ Kein zwingendes Upgrade nötig, es sei denn, du brauchst Zigbee oder Matter.

Willst du Apple HomeKit nutzen?
Dann ist Shelly Gen 4 alternativlos, da Shelly Gen 3 kein HomeKit unterstützt.

Bist du neu im Smart Home?
Greife direkt zu Shelly Gen 4, weil du damit für Matter & Zigbee gerüstet bist.

Brauchst du eine stabile Verbindung mit Zigbee?
→ Shelly Gen 4 agiert als Zigbee-Repeater, während Gen 3 nur WLAN & Bluetooth kann.

Shellys bei Amazon kaufen* (bezahlter Link)


Matter benötigt zwingend IPv6. Wie du IPv6 unter Proxmox einrichtest, erfährst du hier.


Was denkst du? Lohnt sich für dich ein Upgrade auf Shelly Gen 4? Schreib es in die Kommentare!

Teamspeak Server unter Proxmox installieren – Schritt-für-Schritt-Anleitung

Warum einen eigenen Teamspeak Server auf Proxmox hosten?

Ein eigener Teamspeak Server unter Proxmox bietet volle Kontrolle, Datenschutz und eine zuverlässige Sprachkommunikation ohne Abhängigkeit von externen Hostern. Deshalb ist es eine großartige Lösung für Nutzer, die Wert auf Unabhängigkeit legen. In dieser Anleitung zeigen wir dir, wie du eine Debian-VM unter Proxmox installierst und darauf einen Teamspeak 3 Server mit Firewall-Schutz (UFW) einrichtest. So kannst du deinen eigenen Server optimal betreiben und sicher nutzen.


1. Teamspeak Server unter Proxmox installieren: Debian-VM vorbereiten

1.1 Erstellen der virtuellen Maschine

  1. Melde dich bei Proxmox an.
  2. Erstelle eine neue VM mit folgenden Einstellungen:
    • Betriebssystem: Debian 12 (Netinst-ISO von debian.org)
    • CPU: 2 vCPUs
    • RAM: 2 GB (oder mehr für größere Teams)
    • Festplatte: 10 GB (je nach Bedarf)
    • Netzwerk: Virtuelles Netzwerkgerät (Bridged für externe Erreichbarkeit)
  3. Starte die VM und installiere Debian mit den Standardoptionen, damit dein Server schnell einsatzbereit ist.

1.2 Nach der Installation: Einrichten von sudo und Updates

Sobald das System hochgefahren ist, melde dich als root an und installiere sudo:

apt update &amp;&amp; apt install sudo -y

Danach kannst du einen neuen Benutzer anlegen. Falls du möchtest, kannst du ihn ts nennen, aber du kannst natürlich auch einen anderen Namen wählen:

adduser ts

Damit dieser Benutzer administrative Rechte erhält, fügst du ihn zur sudo-Gruppe hinzu:

usermod -aG sudo ts

Nun kannst du dich als dieser Benutzer anmelden und alle weiteren Schritte ausführen:

su - ts

1.3 System vorbereiten

Um dein System sicher und aktuell zu halten, solltest du regelmäßig Updates durchführen. Dies ist besonders wichtig, wenn dein Server öffentlich erreichbar ist. Aktualisiere dein System mit folgendem Befehl:

sudo apt update &amp;&amp; sudo apt upgrade -y

So stellst du sicher, dass dein Server auf dem neuesten Stand bleibt.


2. Installation und Einrichtung des Teamspeak Servers unter Proxmox

2.1 Teamspeak herunterladen und installieren

Damit dein Server läuft, benötigst du die aktuellste Teamspeak 3 Server-Version. Diese kannst du direkt aus dem Internet herunterladen:

cd ~
wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2

Nach dem Download entpackst du die Datei und verschiebst sie an den passenden Speicherort:

tar -xjf teamspeak3-server_linux_amd64-3.13.7.tar.bz2
sudo mv teamspeak3-server_linux_amd64 /opt/teamspeak

Nun müssen noch die richtigen Berechtigungen gesetzt werden, damit der Benutzer ts Zugriff auf den Server hat:

sudo chown -R ts:ts /opt/teamspeak

Bevor du fortfährst, akzeptiere die Lizenzbedingungen, um den Betrieb zu ermöglichen:

echo "license_accepted=1" > /opt/teamspeak/.ts3server_license_accepted

2.2 Erster Start des Teamspeak Servers

Jetzt kannst du den Server starten, indem du folgende Befehle ausführst:

cd /opt/teamspeak
./ts3server_startscript.sh start

Beim ersten Start wird ein Admin-Token generiert. Bewahre diesen gut auf, denn du benötigst ihn für die Verwaltung deines Servers.

Teamspeak Server Admin-Token

Falls der Server erfolgreich gestartet wurde, kannst du ihn testweise stoppen:

./ts3server_startscript.sh stop

2.3 Automatischer Start mit systemd

Damit dein TeamSpeak-Server bei jedem Neustart automatisch startet, richtest du einen systemd-Service ein:

sudo nano /etc/systemd/system/teamspeak.service

Füge diesen Inhalt ein:

[Unit]
Description=TeamSpeak 3 Server
After=network.target

[Service]
WorkingDirectory=/opt/teamspeak
User=ts
Group=ts
ExecStart=/opt/teamspeak/ts3server
ExecStop=/bin/kill -TERM $MAINPID
Restart=always
PIDFile=/opt/teamspeak/ts3server.pid

[Install]
WantedBy=multi-user.target

Speichere die Datei mit CTRL+X, dann Y und drücke Enter. Anschließend lädst du systemd neu und aktivierst den Service mit:

sudo systemctl daemon-reload
sudo systemctl enable --now teamspeak

Überprüfe nun den Status des Services, um sicherzustellen, dass alles funktioniert:

sudo systemctl status teamspeak

3. Teamspeak Server unter Proxmox absichern mit UFW

Eine Firewall ist essenziell, um deinen Server vor Angriffen zu schützen. Dafür eignet sich UFW (Uncomplicated Firewall) besonders gut.

3.1 UFW installieren

Falls UFW noch nicht installiert ist, kannst du dies mit folgendem Befehl nachholen:

sudo apt install ufw -y

3.2 Wichtige Ports freigeben

Damit dein Teamspeak-Server korrekt funktioniert, musst du die benötigten Ports freigeben. Das kannst du mit den folgenden Befehlen tun:

sudo ufw allow 9987/udp   # Sprach-Chat
sudo ufw allow 30033/tcp  # Dateiübertragung
sudo ufw allow 10011/tcp  # ServerQuery Interface

Falls du per SSH auf den Server zugreifst, stelle sicher, dass Port 22 weiterhin offen bleibt, damit du nicht ausgesperrt wirst:

sudo ufw allow 22/tcp

3.3 Firewall aktivieren & Status prüfen

Nachdem du alle benötigten Ports freigegeben hast, kannst du UFW aktivieren:

sudo ufw enable

Prüfe den aktuellen Status der Firewall, um sicherzugehen, dass alles richtig konfiguriert ist:

sudo ufw status verbose

Falls du später Regeln ändern oder entfernen möchtest, kannst du dies mit:

sudo ufw delete allow &lt;port/protokoll>

Fazit: Teamspeak Server unter Proxmox erfolgreich eingerichtet

Debian VM erfolgreich installiert und vorbereitetTeamspeak 3 Server unter Proxmox eingerichtet und als Dienst konfiguriertFirewall (UFW) aktiviert und abgesichert

🔗 Jetzt kannst du dich mit deinem Teamspeak-Client verbinden! Falls dein Server aus dem Internet erreichbar sein soll, stelle sicher, dass die Portweiterleitung in deinem Router korrekt eingerichtet ist.

🚀 Viel Spaß mit deinem eigenen Teamspeak Server unter Proxmox! 🎧

Weitere Ressourcen

Automatisches Licht mit Blockly

Automatisches Licht mit Blockly ist nicht nur praktisch, sondern auch energieeffizient. In diesem Beitrag zeige ich dir, wie du das Licht automatisch einschaltest, wenn eine Bewegung erkannt oder eine Tür geöffnet wird. Nach mindestens einer Minute ohne Präsenz schaltet sich das Licht wieder aus, sodass du Energie sparen kannst. Dies ist was ein echtes Smart Home ausmacht.

Automatisches Licht mit Blockly

Funktionsweise der Automatisierung

Die Automatisierung nutzt zwei Sensoren, die zusammenarbeiten, um den Betrieb zu optimieren:

  1. Präsenzmelder* (bezahlter Link): Erkennt Bewegungen im Raum und registriert Aktivitäten.
  2. Türkontakt* (bezahlter Link): Erkennt, ob die Tür offen oder geschlossen ist, was zusätzliche Flexibilität bietet.

Ablauf der Automatisierung:

  • Licht einschalten: Sobald die Tür geöffnet wird oder der Präsenzmelder eine Bewegung registriert, schaltet sich das Licht ein. Dadurch musst du das Licht nicht manuell betätigen.
  • Timestamp speichern: Das System speichert den aktuellen Zeitpunkt, um die letzte Aktivität zu verfolgen, sodass es den Status des Lichts entsprechend anpassen kann.
  • Automatische Abschaltung: Nach mindestens einer Minute ohne erkannte Präsenz schaltet das System das Licht automatisch aus, wodurch unnötiger Energieverbrauch vermieden wird.

Umsetzung mit Blockly

Mit Blockly, einer grafischen Programmiersprache, kannst du diese Automatisierung einfach umsetzen. Sie ermöglicht es, logische Abläufe visuell zu gestalten und dabei flexibel anzupassen.

1. Ereignisauslöser für Türkontakt und Präsenzmelder

Der Blockly-Block on überwacht Änderungen bei den beiden Sensoren, sodass das System sofort reagieren kann:

&lt;value name="OID0">
  &lt;field name="oid">Präsenzmelder.Presence&lt;/field>
&lt;/value>
&lt;value name="OID1">
  &lt;field name="oid">Türkontakt.Open&lt;/field>
&lt;/value>

Erkennt einer der Sensoren eine Änderung, speichert das System den aktuellen Timestamp und schaltet das Licht ein, um sofort für die nötige Beleuchtung zu sorgen:

&lt;block type="control">
  &lt;field name="OID">Licht_Schalter&lt;/field>
  &lt;value name="VALUE">
    &lt;block type="logic_boolean">
      &lt;field name="BOOL">TRUE&lt;/field>
    &lt;/block>
  &lt;/value>
&lt;/block>

2. Automatische Abschaltung nach Inaktivität

Das System überprüft alle 30 Sekunden, ob noch Aktivität vorliegt, und berücksichtigt dabei den zuletzt gespeicherten Timestamp:

&lt;block type="schedule">
  &lt;field name="SCHEDULE">*/30 * * * * *&lt;/field>
&lt;/block>

Wenn das Licht an ist, aber keine Bewegung erkannt wird, vergleicht das System den aktuellen Zeitpunkt mit dem gespeicherten Timestamp. Dadurch erkennt es, ob das Licht weiterhin benötigt wird:

&lt;block type="logic_compare">
  &lt;field name="OP">LT&lt;/field>
  &lt;value name="A">
    &lt;block type="get_value">
      &lt;field name="OID">timestamp&lt;/field>
    &lt;/block>
  &lt;/value>
  &lt;value name="B">
    &lt;block type="math_arithmetic">
      &lt;field name="OP">MINUS&lt;/field>
      &lt;value name="A">
        &lt;block type="time_get">
          &lt;field name="OPTION">current_time&lt;/field>
        &lt;/block>
      &lt;/value>
      &lt;value name="B">
        &lt;block type="math_number">
          &lt;field name="NUM">60&lt;/field>
        &lt;/block>
      &lt;/value>
    &lt;/block>
  &lt;/value>
&lt;/block>

Liegt der gespeicherte Zeitpunkt mehr als eine Minute zurück, schaltet das System das Licht aus, um Strom zu sparen und die Umwelt zu schonen:

&lt;block type="control">
  &lt;field name="OID">Licht_Schalter&lt;/field>
  &lt;value name="VALUE">
    &lt;block type="logic_boolean">
      &lt;field name="BOOL">FALSE&lt;/field>
    &lt;/block>
  &lt;/value>
&lt;/block>

Vorteile dieser Lösung

  • Energieeffizient: Das Licht bleibt nur an, wenn es wirklich benötigt wird, wodurch du Stromkosten senken kannst.
  • Benutzerfreundlich: Das Licht schaltet sich automatisch ein und aus, sodass du dich nicht darum kümmern musst.
  • Anpassbar: Du kannst die Wartezeit oder die Sensoren flexibel ändern, damit die Automatisierung perfekt zu deinem Alltag passt.

Erweiterungsmöglichkeiten

  • Passe die Verzögerungszeit an (z. B. 2 oder 5 Minuten statt 1 Minute), um die Automatisierung individueller zu gestalten.
  • Binde zusätzliche Sensoren ein, z. B. für Fenster oder weitere Türen, damit das System noch vielseitiger einsetzbar ist.
  • Füge eine manuelle Steuerung hinzu, um das Licht dauerhaft ein- oder auszuschalten, falls du einmal von der Automatisierung abweichen möchtest.

Hast du eigene Erfahrungen mit Blockly? Teile sie gerne in den Kommentaren!

Vollständiger Blockly Code

Den kompletten Code, zum einfachen importieren, findest du nachfolgend. Denk daran das Variablen, Sensoren und Aktoren angepasst werden müssen.

&lt;xml xmlns="https://developers.google.com/blockly/xml">
  &lt;block type="on_ext" id="event_trigger" x="200" y="-238">
    &lt;mutation items="2">&lt;/mutation>
    &lt;field name="CONDITION">true&lt;/field>
    &lt;field name="ACK_CONDITION">&lt;/field>
    &lt;value name="OID0">
      &lt;shadow type="field_oid" id="sensor_1">
        &lt;field name="oid">alias.0.room.sensors.motion.PRESS&lt;/field>
      &lt;/shadow>
    &lt;/value>
    &lt;value name="OID1">
      &lt;shadow type="field_oid" id="sensor_2">
        &lt;field name="oid">alias.0.room.sensors.door.ACTUAL&lt;/field>
      &lt;/shadow>
    &lt;/value>
    &lt;statement name="STATEMENT">
      &lt;block type="update" id="update_timestamp">
        &lt;mutation delay_input="false">&lt;/mutation>
        &lt;field name="OID">0_userdata.0.room.timestamp&lt;/field>
        &lt;field name="WITH_DELAY">FALSE&lt;/field>
        &lt;value name="VALUE">
          &lt;block type="time_get" id="get_time">
            &lt;mutation format="false" language="false">&lt;/mutation>
            &lt;field name="OPTION">sid&lt;/field>
          &lt;/block>
        &lt;/value>
        &lt;next>
          &lt;block type="controls_if" id="check_light_status">
            &lt;value name="IF0">
              &lt;block type="logic_negate" id="negate_condition">
                &lt;value name="BOOL">
                  &lt;block type="get_value" id="get_light_status">
                    &lt;field name="ATTR">val&lt;/field>
                    &lt;field name="OID">0_userdata.0.room.light_on&lt;/field>
                  &lt;/block>
                &lt;/value>
              &lt;/block>
            &lt;/value>
            &lt;statement name="DO0">
              &lt;block type="comment" id="comment_light">
                &lt;field name="COMMENT">Light Control&lt;/field>
                &lt;next>
                  &lt;block type="control" id="turn_light_on">
                    &lt;mutation delay_input="false">&lt;/mutation>
                    &lt;field name="OID">scene.0.room.light_On&lt;/field>
                    &lt;field name="WITH_DELAY">FALSE&lt;/field>
                    &lt;value name="VALUE">
                      &lt;block type="logic_boolean" id="set_true">
                        &lt;field name="BOOL">TRUE&lt;/field>
                      &lt;/block>
                    &lt;/value>
                    &lt;next>
                      &lt;block type="comment" id="comment_system">
                        &lt;field name="COMMENT">System State&lt;/field>
                        &lt;next>
                          &lt;block type="control" id="update_light_status">
                            &lt;mutation delay_input="false">&lt;/mutation>
                            &lt;field name="OID">0_userdata.0.room.light_on&lt;/field>
                            &lt;field name="WITH_DELAY">FALSE&lt;/field>
                            &lt;value name="VALUE">
                              &lt;block type="logic_boolean" id="set_light_true">
                                &lt;field name="BOOL">TRUE&lt;/field>
                              &lt;/block>
                            &lt;/value>
                          &lt;/block>
                        &lt;/next>
                      &lt;/block>
                    &lt;/next>
                  &lt;/block>
                &lt;/next>
              &lt;/block>
            &lt;/statement>
          &lt;/block>
        &lt;/next>
      &lt;/block>
    &lt;/statement>
    &lt;next>
      &lt;block type="schedule" id="scheduled_check">
        &lt;field name="SCHEDULE">*/30 * * * * *&lt;/field>
        &lt;statement name="STATEMENT">
          &lt;block type="controls_if" id="check_inactivity">
            &lt;mutation elseif="1">&lt;/mutation>
            &lt;value name="IF0">
              &lt;block type="logic_operation" id="check_conditions" inline="false">
                &lt;field name="OP">AND&lt;/field>
                &lt;value name="A">
                  &lt;block type="get_value" id="get_light_status_check">
                    &lt;field name="ATTR">val&lt;/field>
                    &lt;field name="OID">0_userdata.0.room.light_on&lt;/field>
                  &lt;/block>
                &lt;/value>
                &lt;value name="B">
                  &lt;block type="logic_negate" id="negate_motion">
                    &lt;value name="BOOL">
                      &lt;block type="get_value" id="get_motion_status">
                        &lt;field name="ATTR">val&lt;/field>
                        &lt;field name="OID">alias.0.room.sensors.motion.PRESS&lt;/field>
                      &lt;/block>
                    &lt;/value>
                  &lt;/block>
                &lt;/value>
              &lt;/block>
            &lt;/value>
            &lt;statement name="DO0">
              &lt;block type="comment" id="check_timeout">
                &lt;field name="COMMENT">Check if timeout passed&lt;/field>
                &lt;next>
                  &lt;block type="controls_if" id="compare_time">
                    &lt;value name="IF0">
                      &lt;block type="logic_compare" id="time_check">
                        &lt;field name="OP">LT&lt;/field>
                        &lt;value name="A">
                          &lt;block type="get_value" id="get_timestamp">
                            &lt;field name="ATTR">val&lt;/field>
                            &lt;field name="OID">0_userdata.0.room.timestamp&lt;/field>
                          &lt;/block>
                        &lt;/value>
                        &lt;value name="B">
                          &lt;block type="math_arithmetic" id="subtract_time">
                            &lt;field name="OP">MINUS&lt;/field>
                            &lt;value name="A">
                              &lt;block type="time_get" id="current_time">
                                &lt;mutation format="false" language="false">&lt;/mutation>
                                &lt;field name="OPTION">sid&lt;/field>
                              &lt;/block>
                            &lt;/value>
                            &lt;value name="B">
                              &lt;block type="math_number" id="timeout_value">
                                &lt;field name="NUM">60&lt;/field>
                              &lt;/block>
                            &lt;/value>
                          &lt;/block>
                        &lt;/value>
                      &lt;/block>
                    &lt;/value>
                    &lt;statement name="DO0">
                      &lt;block type="comment" id="comment_turn_off">
                        &lt;field name="COMMENT">Turn off light&lt;/field>
                        &lt;next>
                          &lt;block type="control" id="turn_light_off">
                            &lt;mutation delay_input="false">&lt;/mutation>
                            &lt;field name="OID">scene.0.room.light_On&lt;/field>
                            &lt;field name="WITH_DELAY">FALSE&lt;/field>
                            &lt;value name="VALUE">
                              &lt;block type="logic_boolean" id="set_false">
                                &lt;field name="BOOL">FALSE&lt;/field>
                              &lt;/block>
                            &lt;/value>
                            &lt;next>
                              &lt;block type="control" id="update_light_off_status">
                                &lt;mutation delay_input="false">&lt;/mutation>
                                &lt;field name="OID">0_userdata.0.room.light_on&lt;/field>
                                &lt;field name="WITH_DELAY">FALSE&lt;/field>
                                &lt;value name="VALUE">
                                  &lt;block type="logic_boolean" id="set_light_false">
                                    &lt;field name="BOOL">FALSE&lt;/field>
                                  &lt;/block>
                                &lt;/value>
                              &lt;/block>
                            &lt;/next>
                          &lt;/block>
                        &lt;/next>
                      &lt;/block>
                    &lt;/statement>
                  &lt;/block>
                &lt;/next>
              &lt;/block>
            &lt;/statement>
            &lt;value name="IF1">
              &lt;block type="get_value" id="check_motion">
                &lt;field name="ATTR">val&lt;/field>
                &lt;field name="OID">alias.0.room.sensors.motion.PRESS&lt;/field>
              &lt;/block>
            &lt;/value>
            &lt;statement name="DO1">
              &lt;block type="update" id="update_timestamp_on_motion">
                &lt;mutation delay_input="false">&lt;/mutation>
                &lt;field name="OID">0_userdata.0.room.timestamp&lt;/field>
                &lt;field name="WITH_DELAY">FALSE&lt;/field>
                &lt;value name="VALUE">
                  &lt;block type="time_get" id="get_current_time">
                    &lt;mutation format="false" language="false">&lt;/mutation>
                    &lt;field name="OPTION">sid&lt;/field>
                  &lt;/block>
                &lt;/value>
              &lt;/block>
            &lt;/statement>
          &lt;/block>
        &lt;/statement>
      &lt;/block>
    &lt;/next>
  &lt;/block>
&lt;/xml>

Echtes Smart Home – Automatisierung statt Fernbedienung

Wenn von Smart Home die Rede ist, denken viele an eine App auf dem Smartphone, mit der sich Licht, Heizung oder Rollläden steuern lassen. Doch ist das wirklich smart? Nein! Ein echtes Smart Home funktioniert ohne ständigen Eingriff des Nutzers – es denkt mit, reagiert automatisch und nimmt Arbeit ab, anstatt neue hinzuzufügen.

Was macht ein echtes Smart Home aus?

Ein wirklich intelligentes Zuhause erkennt Situationen und Muster, trifft eigenständige Entscheidungen und passt sich dem Alltag an. Es geht nicht darum, dass du dein Licht per App ein- und ausschalten kannst – sondern dass es sich genau dann einschaltet, wenn du es brauchst. Ein echtes Smart Home ist kein glorifiziertes Dashboard, sondern eine unsichtbare, aber spürbare Verbesserung des Wohnkomforts.

Beispiele für ein echtes Smart Home:

  • Rolläden steuern sich von selbst: Statt morgens manuell den Knopf zu drücken oder per App die Rolläden zu öffnen, passiert dies automatisch anhand von Sonnenaufgang, Außentemperatur oder sogar deinem Wecker.
  • Post im Briefkasten? Du wirst informiert: Ein Sensor erkennt, wenn Post eingeworfen wurde, und sendet eine Nachricht – du musst nicht mehr selbst nachsehen.
  • Heizung regelt sich nach Bedarf: Statt die Temperatur über ein Dashboard einzustellen, erkennt das System deine Gewohnheiten, die Wetterlage und ob du zu Hause bist, um optimal zu heizen.
  • Beleuchtung passt sich an: Licht schaltet sich nicht nur automatisch an, wenn du einen Raum betrittst, sondern passt auch Helligkeit und Farbtemperatur der Tageszeit an. Morgens sorgt eine kühle, aktivierende Beleuchtung für einen guten Start, während abends warmes Licht für Entspannung sorgt.
  • Musik und Medien steuern sich automatisch: Dein Smart Home erkennt, wenn du nach Hause kommst, und startet automatisch deine Lieblingsplaylist oder das aktuelle Nachrichten-Update.
  • Sicherheit ohne manuelles Eingreifen: Die Haustür verriegelt sich automatisch, wenn alle das Haus verlassen haben, und Kameras aktivieren sich bei verdächtigen Bewegungen – ohne dass du in einer App herumtippen musst.
  • Wetterabhängige Anpassungen: Wenn es regnet, schließt das System automatisch die Dachfenster. Im Sommer passt es die Außenmarkisen an, um Überhitzung zu vermeiden.
  • Raumklima-Optimierung: Luftqualitätssensoren erkennen einen erhöhten CO₂-Gehalt und aktivieren automatisch die Lüftung oder erinnern ans Lüften.
  • Individuelle Beleuchtung nach Tageszeit: Die Farbtemperatur deiner Lampen ändert sich je nach Sonnenstand – morgens kühles Licht für bessere Konzentration, abends warmes Licht für eine gemütliche Atmosphäre.

Wie kann man ein echtes Smart Home selbst realisieren?

Ein Smart Home, das wirklich autonom arbeitet, kann man mit Open-Source-Lösungen wie ioBroker oder Home Assistant selbst realisieren. Diese Systeme bieten:

  • Vielfältige Integrationen: Unterstützung für Zigbee, Z-Wave, MQTT, KNX, Matter und viele andere Protokolle.
  • Flexible Automatisierungen: Logikgesteuerte Abläufe, die auf Sensoren, Zeitplänen und individuellen Bedingungen basieren.
  • Lokale Verarbeitung: Keine Abhängigkeit von Cloud-Diensten, alles läuft direkt im eigenen Heimnetzwerk.
  • Benutzerdefinierte Dashboards: Falls eine Steuerung notwendig ist, lassen sich individuelle Dashboards erstellen.
  • Sprachsteuerung & KI-Unterstützung: Integration mit Sprachassistenten oder KI-basierten Automatisierungen für noch mehr Komfort.

Was ich selbst benutze:

  • Tado Heizungssteuerung mit Anwesenheitserkennung – Amazon* (bezahlter Link)
  • Aqara Bewegungsmelder für Sicherheits- und Automatisierungszwecke – Amazon* (bezahlter Link)
  • Philips Hue smarte Beleuchtung mit Farbtemperatur-Anpassung – Amazon* (bezahlter Link)
  • Shelly Plus 1PM für smarte Steuerung von Licht und Geräten – Amazont*

Fernsteuerung ist kein Smart Home!

Viele Systeme verkaufen sich als „smart“, weil sie per App oder Sprachsteuerung bedient werden können. Doch das ist keine Automatisierung, sondern nur eine Fernbedienung. Ein echtes Smart Home arbeitet proaktiv, nicht reaktiv.

Stell dir vor, du müsstest jedes Mal dein Smartphone zücken, um das Licht einzuschalten – ist das wirklich besser als ein normaler Lichtschalter? Ein intelligentes Zuhause sollte deine Gewohnheiten erlernen und vorausschauend reagieren, nicht ständig deine Aufmerksamkeit erfordern.

Fazit: Smarte Häuser, nicht smarte Dashboards

Ein Smart Home ist dann wirklich smart, wenn es ohne ständige Bedienung funktioniert. Je weniger du damit interagieren musst, desto besser ist die Automatisierung gelungen. Statt Fernsteuerung sollten Sensoren, Routinen und intelligente Algorithmen das Zuhause steuern – dann wird aus einem vernetzten Haus ein echtes Smart Home.

Wie automatisiert ist dein Zuhause wirklich?