【要約】テスラで聴いてた曲が帰宅した瞬間にAlexaで続きから流れる仕組みを作った [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
著者は、帰宅時に車内で聴いていた音楽を、自宅へ入った瞬間に中断なく再開したいと考えた。車から家への移動に伴う、再生デバイスの切り替え操作の煩わしさが課題であった。
- ・車を降りてからリビングのスピーカーで再生を開始する手動操作の負担。
- ・再生位置(曲の途中)を正確に引き継ぐことの技術的難易度。
- ・車両の停車状態とスマートホームの連動におけるトリガーの欠如。
// Approach
著者は、Python 3.12を用いて3つの外部APIを統合するオーケストレーション手法を採用した。
- ・Tesla Fleet APIを30秒間隔でポーリングし、ギアがPレンジかつ自宅50m圏内であることを検知。
- ・SwitchBot APIを呼び出し、玄関の鍵を自動で解錠。
- ・Spotify Web APIの
Transfer Playbackを使用し、再生デバイスをテスラからAlexaへ転送。 - ・
play: trueを指定することで、転送と同時に再生を開始。
// Result
著者は、実装によって「車と家が1つの空間になる」ようなシームレスな帰宅体験を実現した。
- ・再生位置(
progress_ms)が自動で引き継がれ、曲の途中から再生が可能。 - ・解錠と音楽転送を同時に実行し、玄関を開けるタイミングでBGMが流れる。
- ・転送レイテンシは1〜2秒と低遅延。
- ・Tesla APIから得られるタイヤ空気圧等のリッチなデータ活用への道筋を提示。
Senior Engineer Insight
> 個人のIoT自動化としては、APIの仕様を深く理解した極めて実用的な実装である。特にSpotifyのRedirect URI制限やAlexaのデバイス認識条件といった、ドキュメントだけでは見えにくい「仕様の罠」を的確に回避している点が評価できる。ポーリング方式による30秒の遅延は、リアルタイム性が求められるミッションクリティカルなシステムでは課題となるが、プロトタイピングとしては十分な精度である。複数のAPIを組み合わせ、物理的な動作(解錠)とデジタルな体験(音楽)を同期させる設計思想は、モビリティとスマートホームの融合において非常に重要である。