Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Spotify + MQTT: pålitlig musikkontroll med knapp

Rickard Andersson Partner, Nodenordic.se

Du trycker på en ”play”-knapp och… ingenting händer. Eller värre: Spotify startar på fel enhet, med fel volym, och plötsligt jagar du högtalare i appen i stället för att njuta av musiken.

Spotify MQTT-styrning träffar hemautomationspillrare först, men en kontorsansvarig och en Airbnb-värd råkar ut för samma kaos. Du vill ha en fysisk knapp som pålitligt spelar, pausar, hoppar eller justerar volym på rätt högtalare, varje gång.

Det här n8n-flödet gör om MQTT-knappmeddelanden till Spotify-åtgärder för uppspelning, med en inbyggd kontroll som ”säkerställer att målenheten är aktiv”. Nedan ser du hur det fungerar, vad du behöver och vad du ska justera för din egen setup.

Så fungerar den här automationen

Hela n8n-flödet, från trigger till slutresultat:

n8n Workflow Template: Spotify + MQTT: pålitlig musikkontroll med knapp

Problemet: Spotify spelar på fel enhet

Spotify är kanon tills du försöker styra det ”handsfree” över flera rum, högtalare eller konton. Appen kan komma ihåg den senaste enheten du använde, men den väljer inte alltid den enhet du vill ha just nu. Så du hamnar i samma lilla ritual: öppna appen, hitta listan med Connect-enheter, välj högtalaren och tryck play/pause igen. Det är inte svårt. Det är bara hela tiden. Och i ett hem, på ett kontor eller i en uthyrning blir ”enkel musik” en liten återkommande huvudvärk.

Det blir snabbt mycket. Här är var det faller i verkligheten.

  • Uppspelningsåtgärder misslyckas eftersom Spotify inte har någon aktiv enhet vald när ditt knapptryck kommer in.
  • Någon använde Spotify på sin telefon senast, så din knapp i vardagsrummet styr fel högtalare.
  • Volymändringar blir en gissningslek, vilket är så du råkar dra på musiken mitt i natten.
  • Manuella fixar känns ”snabba” men stjäl fokus, särskilt när du gör dem några gånger om dagen.

Lösningen: MQTT-knapptryck routas till Spotify-åtgärder

Det här flödet lyssnar på meddelanden från en IoT-knapp eller fjärr som pratar via MQTT (tänk en Ikea-fjärr via Zigbee2MQTT i Home Assistant). När ett knapptryck kommer in läser n8n åtgärdstexten, avgör vad du menade (play/pause, nästa, volym upp/ner, starta en favoritspellista) och anropar sedan Spotify för att göra det. Nyckeln är driftsäkerhet: innan det kör vissa åtgärder kontrollerar det om din föredragna Spotify-uppspelningsenhet är aktiv. Om den inte är det hämtar flödet dina tillgängliga enheter, hittar den som matchar namnet du har satt och flyttar uppspelningen till den. Efter det kör det önskat uppspelningskommando så att åtgärden hamnar i rätt rum.

Flödet börjar med en MQTT-trigger och en liten ”globals”-konfiguration där du anger namnet på din mål-enhet i Spotify och (valfritt) namnet på en favoritspellista. Sedan routar det inkommande knappkommandot till rätt Spotify- eller HTTP-anrop. Till sist ändrar det uppspelningsläge, justerar volym i små steg eller startar något specifikt – helt utan att du öppnar Spotify-appen.

Det du får: automation kontra resultat

Exempel: så här ser det ut

Säg att du använder Spotify i kök, vardagsrum och kontor, och att du trycker på en fysisk knapp ungefär 6 gånger om dagen (play, pause, nästa, volym). Manuellt är det lätt att lägga cirka 1 minut per knapptryck på att låsa upp telefonen, öppna Spotify, välja rätt enhet och försöka igen. Det blir ungefär 6 minuter per dag. Med det här flödet är ”arbetet” själva knapptrycket, och n8n sköter enhetsval och kommandot i bakgrunden. Du får tillbaka minuterna och du slipper bryta stunden.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger funkar bra)
  • MQTT-broker för att ta emot dina knapphändelser.
  • IoT-knapp/fjärr som publicerar MQTT-meddelanden (till exempel via Zigbee2MQTT).
  • Spotify-utvecklarappens inloggningsuppgifter (Client ID och Client Secret från Spotify Developer Dashboard).

Svårighetsnivå: Medel. Du kommer mest att klistra in värden i n8n, men du behöver vara bekväm med att matcha MQTT-topics och slutföra Spotify OAuth.

Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

Ett MQTT-meddelande triggar allt. Din fjärr publicerar ett meddelande som ”arrow_left_click” (exakt text beror på din enhet) till en specifik MQTT-topic. n8n prenumererar på den topicen med noden MQTT Trigger.

Globala inställningar och routing avgör vad du menade. Ett litet konfigsteg laddar namnet på din Spotify-målenhet för uppspelning och ett valfritt namn på en favoritspellista. Sedan använder flödet routningslogik för att mappa knappens åtgärdstext till rätt gren.

Spotify-status kontrolleras innan kommandon körs. Flödet hämtar aktuell uppspelningsstatus via HTTP och bekräftar att målenheten är aktiv. Om den inte är det hämtar det listan över tillgängliga enheter, filtrerar på namnet du valde och flyttar uppspelningen till den enheten så att kommandon hamnar rätt.

Den begärda åtgärden körs och avslutas rent. Beroende på gren pausar eller återupptar det uppspelning, hoppar låtar, spolar tillbaka/framåt, justerar volym i små steg eller startar uppspelning från en vald spellista. Om det inkommande meddelandet inte matchar någon förväntad väg avslutas det utan att göra något.

Du kan enkelt ändra mappningen mellan knapp och åtgärd så att den matchar din fjärrs meddelandetext utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: Konfigurera MQTT-triggern

Det här arbetsflödet startar när en Zigbee- eller MQTT-fjärrkontroll skickar en knapphändelse. Konfigurera triggerns topic så att den matchar er enhet.

  1. Lägg till noden MQTT Remote Trigger.
  2. Ställ in Topicszigbee2mqtt/MyIOTButton1234/action.
  3. Aktivera JSON-tolkning genom att låta OptionsjsonParseBody vara aktiverat.
  4. Credential Required: Anslut era mqtt-inloggningsuppgifter.

⚠️ Vanlig fallgrop: Om topic inte matchar exakt med er Zigbee2MQTT-enhets action-topic kommer inga meddelanden att trigga arbetsflödet.

Steg 2: Anslut Spotify

Spotify är den primära tjänsten. Flera noder använder Spotify OAuth-inloggningen i både Spotify- och HTTP Request-noder.

  1. Anslut Spotify OAuth en gång och återanvänd den i alla Spotify-relaterade noder.
  2. Credential Required: Anslut era spotifyOAuth2Api-inloggningsuppgifter i dessa noder: Rewind Spotify Track, Advance Spotify Track, Pause Spotify Playback, Resume Spotify Playback, Play Specific Track, Skip To Next Track, Fetch User Playlists, Start Playlist Playback.
  3. Credential Required: Anslut era spotifyOAuth2Api-inloggningsuppgifter i dessa HTTP-noder: Fetch Playback Status, Retrieve Spotify Devices, Activate Chosen Device, Increase Volume 5%, Decrease Volume 5%, Preset Volume Step.

⚠️ Vanlig fallgrop: Säkerställ att er Spotify-app har nödvändiga scopes för uppspelningsstyrning (t.ex. user-modify-playback-state, user-read-playback-state), annars kommer HTTP-anropen att misslyckas.

Steg 3: Konfigurera globala alternativ och routing för fjärrkontrollen

Dessa noder definierar er målenhet och favoritspellista och routar sedan knapphändelser till rätt styrväg.

  1. I Set Global Options, ställ in target_spotify_playback_device_name till My Smart-Speaker Playback Device.
  2. I Set Global Options, ställ in favorite_playlist_name till Discover Weekly.
  3. I Remote Action Router, ställ in Value 1 till {{ $('MQTT Remote Trigger').first().json.message }} och behåll Data Type som string.
  4. Verifiera att reglerna i Remote Action Router routar till utgångar som arrow_left_click, brightness_up_click och toggle.
  5. I Route Requested Action, bekräfta att utgångsnycklarna mappar till styrvägar som volume_up, volume_down, play/pause, custom_function_1 och custom_function_2.

Tips: Om er fjärrkontroll använder andra payloads, uppdatera rightValue-strängarna i Remote Action Router och Route Requested Action så att de matchar er enhet.

Steg 4: Konfigurera enhetsmål och aktivering

Den här vägen säkerställer att Spotify spelar på er valda enhet innan åtgärderna körs.

  1. I Fetch Playback Status, ställ in URL till https://api.spotify.com/v1/me/player och frågeparametern device_id till {{ $('Set Global Options').first().json.target_spotify_playback_device_id }}.
  2. I Check Target Device Active, ställ in villkoret så att det jämför {{ $('Fetch Playback Status').first().json.device.name }} är lika med {{ $('Set Global Options').first().json.target_spotify_playback_device_name }}.
  3. Konfigurera Retrieve Spotify Devices med URL https://api.spotify.com/v1/me/player/devices.
  4. I Split Device Records, ställ in Field To Split Out till devices.
  5. I Filter Device By Name, jämför {{ $json.name }} med {{ $('Set Global Options').first().json.target_spotify_playback_device_name }}.
  6. I Activate Chosen Device, ställ in URL till https://api.spotify.com/v1/me/player och JSON Body till { "device_ids": [ "{{ $('Filter Device By Name').first().json.id }}" ], "play": true }.

⚠️ Vanlig fallgrop: Om target_spotify_playback_device_name inte matchar det faktiska enhetsnamnet kommer Activate Chosen Device inte att hitta den och åtgärder kommer att routas till Utility: Unexpected Path.

Steg 5: Konfigurera uppspelnings- och volymåtgärder

Dessa noder utför uppspelnings-, volym- och spellisteåtgärder efter enhetskontrollen.

  1. I Increase Volume 5%, ställ in URL till https://api.spotify.com/v1/me/player/volume och använd frågeparametrarna device_id = {{ $json.device.id }} och volume_percent = {{ Math.min($json.device.volume_percent + 5, 100) }}.
  2. I Decrease Volume 5%, ställ in URL till https://api.spotify.com/v1/me/player/volume och använd volume_percent = {{ Math.max($json.device.volume_percent - 5, 20) }}.
  3. I Check Playback State, ställ in villkoret till {{ $('Fetch Playback Status').first().json.is_playing && !$('Activate Chosen Device').isExecuted }}.
  4. I Preset Volume Step, ställ in volume_percent till 80, kedja sedan till Play Specific Track med ID spotify:track:4PTG3Z6ehGkBFwjybzWkR8 och därefter Skip To Next Track.
  5. I Fetch User Playlists, ställ in Resource till playlist, Operation till getUserPlaylists och Return All till true, filtrera sedan i Filter Playlist Name där {{ $json.name }} är lika med {{ $('Set Global Options').first().json.favorite_playlist_name }}.
  6. I Start Playlist Playback, ställ in ID till spotify:playlist:{{ $json.id }} och Operation till startMusic.
  7. Lämna Utility: Unexpected Path som en no-op för alla knapphändelser som inte matchar.

Tips: Ni kan ändra låt eller spellista genom att uppdatera Play Specific Track och Start Playlist Playback utan att röra routningslogiken.

Steg 6: Testa och aktivera ert arbetsflöde

Kör ett manuellt test för att bekräfta att era fjärrkontrollhändelser routas till Spotify-åtgärder korrekt och aktivera sedan arbetsflödet för drift.

  1. Klicka på Execute Workflow och trigga er MQTT-knapphändelse (t.ex. tryck på fjärrkontrollens knapp).
  2. Verifiera att MQTT Remote Trigger tar emot ett meddelande och att Remote Action Router och Route Requested Action skickar flödet till rätt gren.
  3. Bekräfta att Spotify-uppspelningen ändras på enheten som anges i Set Global Options och att volym-/spåråtgärderna matchar era knapptryckningar.
  4. Om allt fungerar, växla arbetsflödet till Active för att aktivera användning i produktion.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Spotify-inloggningar kan löpa ut eller behöva specifika behörigheter. Om saker slutar fungera: kontrollera Spotify-inloggningen i n8n (och anslut igen) först.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder nedströms fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in din varumärkesröst tidigt, annars redigerar du output för alltid.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automationen för Spotify MQTT-styrning?

Cirka en timme om din MQTT-enhet redan publicerar meddelanden.

Behöver jag kunna koda för att automatisera Spotify MQTT-styrning?

Nej, ingen kod krävs för grundsetupen. Du uppdaterar främst MQTT-topic, mappar knappens meddelandetext och kopplar Spotify-inloggning.

Är n8n gratis att använda för det här flödet för Spotify MQTT-styrning?

Ja. n8n har ett gratisalternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna med Spotify-kostnader (ett Premium-konto krävs vanligtvis för full uppspelningskontroll).

Var kan jag hosta n8n för att köra den här automationen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här flödet för Spotify MQTT-styrning för olika knappåtgärder?

Ja, och du kommer nästan säkert behöva göra det. Uppdatera de två routningspunkterna som tolkar din fjärrs meddelandetext (”Remote Action Router” och logiken ”Route Requested Action”) så att värden som ”brightness_up_click” mappar till volym upp, play/pause eller start av en spellista. Vanliga justeringar är att lägga till långtrycksbeteende, ändra storleken på volymsteg och att routa vissa knappar till en specifik spellista i stället för bara play/pause.

Varför misslyckas min Spotify-anslutning i det här flödet?

Oftast är det OAuth. Spotify-appens Client ID/Secret kan vara fel, redirect-URL:en kanske inte matchar det Spotify förväntar sig, eller så har token i n8n gått ut och behöver kopplas om. Bekräfta också att du har valt din Spotify-inloggning igen i varje Spotify- och HTTP-nod efter att du skapat den, eftersom den här mallen förutsätter att du ”kopplar” inloggningen på flera ställen.

Hur många knapphändelser klarar den här automationen för Spotify MQTT-styrning?

Väldigt många – för hemmabruk är det i princip ansträngningslöst för n8n.

Är den här automationen för Spotify MQTT-styrning bättre än att använda Zapier eller Make?

För MQTT-driven styrning är n8n oftast en renare lösning, eftersom MQTT är förstaklassstöd och du kan förgrena logik utan att betala per ”path”. Det är också enklare att hålla allt lokalt med egen hosting, vilket är viktigt för driftsäker hemautomation. Zapier och Make kan fortfarande fungera, men du kan behöva lägga till extra middleware bara för att ta emot MQTT-händelser. Om du vill att det ska kännas som en riktig knapp (inte en ”ibland funkar det”-knapp) är n8n en mer praktisk startpunkt. Prata med en automationsexpert om du vill ha hjälp att välja snabbaste vägen för din setup.

När det väl är satt blir musikstyrningen tråkig på bästa möjliga sätt. Flödet hanterar den repetitiva enhetsvalet och kommandoroutningen så att du bara kan trycka på knappen och gå vidare.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Launch login modal Launch register modal