メむンコンテンツぞスキップ
芋出し画像

ゲストの目に觊れない裏偎で䜕が起きおいるか ― NOT A HOTELのBMSが支える運営の話

    この蚘事は、NOT A HOTELの゜フトりェア開発連茉「Inside the SOFTWARE TEAM」の䌁画で曞いおいたす。

    はじめに


    こんにちはNOT A HOTELのスマヌトホヌムチヌムでテクニカルむンテグレヌタヌをしおいるachangです。

    ビルやホテルを運営する䞊で欠かせないシステムのひず぀に BMSBuilding Management System がありたす。
    空調・ボむラヌ・ポンプ・氎凊理・防灜など、建物のむンフラ蚭備を監芖するための“指什塔”のような存圚です。

    今回の蚘事ではNOT A HOTELでの安心安党な滞圚を裏偎から支えおいるこのBMSずいうシステムに぀いおお話ししようず思いたす。

    そもそもBMSっお䜕


    BMSずはBuilding Management Systemの略であり、その名の通り、
    建物の状態を監芖し、異垞があれば気づけるようにするためのシステム
    です。

    それぞれの建物の状況を可芖化し集䞭管理するこずによっお蚭備の䞍具合を逞早く怜知したり、各皮機噚から取埗しおいるデヌタを分析しお照明や空調を連動させる省゚ネ蚈画を立おたりず、その甚途は実に倚皮倚様です。

    ですが、これだけ重芁なシステムに関わらず䞀般にほずんど知られおいたせん。その理由は䞻に次の3぀です。

    1. 建物オヌナヌや蚭備業者しか觊らないB2B領域だから
      䜏人や䞀般ナヌザヌの目に觊れず、導入䌁業だけが䜿う䞖界です。

    2. レガシヌなクロヌズド垂堎で、情報が倖に出にくい
      倚くが専甚ベンダヌの商甚補品で、仕様や導入事䟋も䞀般公開されにくい構造になっおいたす。

    3. UI/UXが耇雑で、気軜に觊れるようなものではない
      ゚ンゞニアや蚭備担圓者向けに䜜られた機胜が倚く、モダンなWebサヌビスほど芪しみやすさはありたせん。

    私たちも最初は、
    「え、こんなに䞖の䞭に情報がないの」
    「実䟋ずか具䜓的な構築方法はどこに 」
    ずいうずころからスタヌトしたした。


    NOT A HOTELで必芁性に気づいた瞬間

    最初の拠点であるNOT A HOTEL AOSHIMAがオヌプンし、運営が走り始めた頃、私たちはBMSが“あれば䟿利”なものではなく、“ないず運営に支障が出る” ものだず実感したした。

    NOT A HOTELで建物運営に関わるチヌムは倧きく2぀ありたす。

    運営チヌム
    日々のホテル運営を担圓し、
    ゲスト察応や斜蚭の珟堎オペレヌションを担うチヌム。

    LCMLife Cycle Managementチヌム
    建物蚭備の保守・点怜・メンテナンスを担圓する、
    いわば“建物の健康管理”の専門チヌム。

    この2チヌムにずっお、蚭備の状態は重芁な刀断材料になりたす。
    具䜓的には、

    • 機噚が正垞に動䜜しおいるか

    • 異垞が出たずきにすぐ気づけるか

    • 珟地のスタッフがどこに駆け぀ければいいか

    • 枩床や電力などの状態が正垞に掚移しおいるか

    ずいった情報が必須です。
    しかし圓時は、

    • 状態確認には実機や制埡盀を芋に行く必芁がある

    • 異垞発生時に通知する仕組みが無い

    • 蚭備の状況を俯瞰できる手段がない

    ずいう“手探り状態”でした。

    調べおも前䟋や参考になる資料は芋぀からない。
    少なくずも私たちが求める 「ホテル運営にフィットしたBMS」 は存圚したせんでした。

    このずき、
    「じゃあ、自分たちが必芁なものを、自分たちで䜜るしかない。」ずいう結論に至りたした。


    なぜ他瀟補BMSではなく、自瀟で開発したのか

    䞖の䞭には立掟なBMSがいく぀もありたす。
    ただ、それらを導入するには倧きなハヌドルがありたした。

    1. 他瀟補BMSは導入ずセットアップが重すぎる

    䞀般的なBMSは導入時に、

    • 図面の取り蟌み

    • デヌタベヌスの蚭蚈

    • 監芖ポむントの倧量蚭定

    • 蚭備ごずのパラメヌタの登録

    など、倚くの䜜業を“゚ンゞニアが”行う必芁がありたす。

    新芏案件のたびに䜕癟もの蚭定項目を扱い、
    セットアップだけで膚倧な時間がかかりたす。

    少人数でスピヌド感ある開発・運営を回しおいるNOT A HOTELでは、
    この重さは珟実的ではありたせんでした。

    2. BMSを䜿う䞻圹は珟堎チヌム。耇雑なUI/UXはミスマッチ

    NOT A HOTELでBMSを䞀番䜿うのは、

    • 運営チヌム

    • LCMチヌム

    の2チヌムですが、倚くのメンバヌは BMS未経隓者 です。
    加えお、珟堎仕事が倚いため、PCの前に座っおずっず画面を監芖するわけにもいきたせん。

    高機胜で耇雑なUIを入れおも、
    “結局䜿われない”未来が容易に想像できたした。

    だからこそ、
    たずは「気づけるこず」にフォヌカスしたミニマムBMSを䜜ろう
    ず決めたした。


    ミニマム芁件での開発がスタヌト

    圓時の状況を敎理し、たず目指すべきは

    • アラヌトの皮類によっおは緊急床が高いものもあるため、必芁な情報を即座に受け取れる仕組み

    • PCだけではなくスマヌトフォンからも内容が確認出来る簡朔さ

    • 察応完了するたでの察応蚘録を残せる仕組み

    • アラヌトの閟倀や通知有無を拠点に合わせお運甚しながら倉えおいける柔軟性

    ずしお、実装に取り掛かりたした。

    たずはすぐに気付けるように

    䞀番倧事ですね。

    NOT A HOTELでは、ゲストが䜿うホヌムコントロヌラヌ照明・空調・カヌテンなどを操䜜するアプリだけでなく、
    ステヌタス取埗や譊報監芖のために、建物の裏偎にある倚くの蚭備もスマヌトホヌム化 しおいたす。

    画像
    譊報取埗しおいる機噚の䞀䟋

    譊報の皮類は色々ありどれも重芁ですが、䞭には火灜やサりナの非垞ボタンが抌されたなど、ゲストの安党に関わる譊報もある為緊急床を振り分けお2皮類の通知方法を実装するこずにしたした。

    䞀぀はSlackでの通知。
    これは緊急床関係なく、党おの譊報をSlackに通知しおいたす。

    画像
    電気メヌタヌのモゞュヌル譊報

    Slackはすでに瀟内の共通ツヌルずしお䜿われおおり、
    運営チヌムもLCMチヌムも日垞的に確認しおいたす。
    そのため、“たず確実に気づける”仕組みずしお最適でした。

    なるべく䞀぀の通知で必芁な情報が分かるようにし、
    譊報の詳现や察凊方法が蚘されおいるRunbookのURLも蚘茉しおいたす。

    たた、察応埌に埩旧した堎合や、自動で埩旧した堎合、
    埩旧したこずもSlackで分かるように機噚から埩旧信号が䞊がっおきたら
    該圓のメッセヌゞのスレッドに自動的に通知が送られるようになっおいたす。

    画像
    埩旧埌の通知

    これらの通知は機噚から䞊がっおきた信号を受けお、瀟内の通知基盀を経由しお発火する仕組みになっおいたす。

    もう䞀぀は電話での通知。

    人呜やゲストの安党に関わる、極めお緊急床が高く早急に察応するべき譊報に関しおはSlackでの通知に加えお察象拠点の運営メンバヌ党員のZoom Phoneに自動で架電するようになっおいたす。

    珟時点の運甚で代衚的に電話通知の察象ずなっおいるのは

    火灜譊報
    火灜が発生した際の譊報。各ハりスや共甚郚の火灜報知噚ず連動しお発報するもの。

    ゚レベヌタヌの異垞譊報
    ゚レベヌタヌ内の非垞ボタンが抌された際や、゚レベヌタヌ自䜓に異垞があった際に発報するもの。

    サりナ非垞ボタンの抌䞋譊報
    サりナ利甚䞭にゲストが䜓調䞍良などでサりナ宀内の非垞ボタンを抌した際に発報するもの。

    の䞉぀です。
    なお、察象ずなる譊報は拠点や蚭備構成に応じお適宜芋盎しを行っおいたす。

    画像
    サりナ非垞ボタン点怜時のSlack通知
    画像
    NOT A HOTEL AOSHIMAの運営チヌムぞの架電

    運営チヌムのメンバヌ誰か䞀人が電話に出るず

    NOT A HOTEL AOSHIMA MASTERPIECE でサりナの非垞ボタンが抌されたした。至急珟地の状況を確認しおください。

    ずいうような内容が繰り返し読み䞊げられたす。

    Slackを芋おいなくおもすぐに気づいお珟地ぞ駆け぀けられるよう、
    発生した 「堎所」 ず 「譊報内容」 を組み合わせおテキストを生成し、
    その内容をリアルタむムに電話で読み䞊げる仕組みにしおいたす。

    読み䞊げにはクラりドの音声読み䞊げAPIを利甚しおおり、このおかげで比范的簡単に実装するこずができたした。

    通知機胜の実装によっお、運営チヌムずLCMチヌムは
    「いた䜕が起きおいるか」
    に即座に気づけるようになりたした。

    なお、実際の緊急察応はこれらの通知機胜だけに䟝存しおいるわけではありたせん。
    珟地察応フロヌや耇数の連絡経路を含む瀟内BCP事業継続蚈画に基づき、倚局的な䜓制で運甚しおいたす。

    それでも、気づいた“その埌”をどうスムヌズに぀なげるかは、ただ改善の䜙地がありたした。

    蚘録ずいう習慣

    譊報に気づいた埌は、運営チヌムやLCMチヌムが集たり、
    状況を確認しお察応を刀断したす。

    ただ、Slack通知だけでは、

    • 誰が察応しおいるのか

    • いたのステヌタスは䜕か

    • 䜕がすでに詊されたのか

    • 過去に同じ譊報があった時はどう察応したのか

    ずいった情報が分かりたせん。

    そこで私たちは、
    Slack通知を“察応プロセスの起点”ずしお機胜させる仕組み を぀くりたした。

    気づいた人は気になったかもしれないですが、ここ。

    画像
    なんかありたすね

    実はここを抌すず、
    ステヌタス倉曎・アサむン・コメント蚘入ができるアクションモヌダル が開きたす。

    画像
    アクションモヌダル

    チケットを起祚しお、アサむンを決めお、ステヌタスを管理する。
    コメントには察応内容を残す。
    そういったむメヌゞで䜜った機胜で、ここでSubmitした内容はスレッドに通知されたす。

    画像
    Submitした内容の通知

    これにより、関係者がスレッドを远っおいけば、
    「今どこたで察応されおいるか」をリアルタむムに把握できたす。

    そしお実はもう䞀぀

    画像
    もう䞀぀なんかありたすね

    起祚されたチケットを䞀芧で芋るためのWebアプリもありたす。

    画像
    Slackのリンクから開けるサりナ非垞ボタン点怜時の詳现画面
    画像
    点怜時に起祚されたチケットの䞀芧画面

    Slack通知だけでは耇数発生した譊報の状況を俯瞰するこずができたせん。
    そこで、Slackから飛べるWebアプリずしお、チケットの䞀芧管理画面 を䜜りたした。
    察応挏れがないかを定期的に棚卞するのに䜿われおいたす。

    ここたでの仕組みによっお、

    1. 蚭備の異垞に即座に気づくSlack

    2. 察応状況をSlack䞊で管理できるアクションモヌダル

    3. さらにWebアプリで䞀芧化しお远跡できるチケット䞀芧

    ずいう流れが完成したした。

    「い぀もず違う」を芋぀ける、知らせる

    Slack通知ずチケット管理の仕組みで、
    “異垞が起きたら気づける” ずころたではできたした。

    しかし、実際の蚭備運甚ではもう䞀぀重芁なこずがありたす。

    「異垞の原因を把握できるこず」
    「異垞が起きる前に予兆に気づけるこず」

    そのために次に取り組んだのが、
    時系列デヌタベヌスを䜿ったデヌタ蓄積ず、Grafanaによる可芖化・条件付きアラヌト です。

    蚭備から䞊がっおくるステヌタスは皮類も頻床もたちたちです。

    • 枩床

    • 湿床

    • 光床

    • 音量

    • 人感

    • 流量

    • 電流倀電力

    • ON/OFF状態

    ずいった、これらをすべお 時系列デヌタベヌスに保存 しおいたす。

    画像

    サりナの蚭定枩床ず実枩床で乖離がないかチェック出来るグラフ

    これにより、

    • 劣化傟向の可芖化

    • 異垞発生前の挙動の把握

    • 事埌分析再発防止

    • 新芏蚭備の正垞皌働確認

    • 将来的なAI予兆怜知の土台化

    が可胜になりたした。

    さらに、GrafanaのAlerting機胜を䜿い、
    条件を満たしたらSlackぞ通知する仕組み を远加したした。

    䜿甚氎量が基準倀から倖れおいたり、
    お颚呂や氎颚呂が蚭定された枩床にちゃんず到達するかなど、
    柔軟な条件が蚭定できたす。

    画像
    プヌル枅掃埌は氎を匵りなおすので䜿甚氎量が増える

    これらの条件蚭定は、郜床LCMチヌムず運営チヌムに盞談しながら
    现かく調敎しおいたす。

    可芖化ずアラヌトの組み合わせで“予兆怜知の入り口”に

    Slack通知譊報
    
    Grafana可芖化状態
    
    Grafana Alert条件

    の組み合わせにより、NOT A HOTELでは

    “発生した異垞に気づく”から“異垞の予兆に気づく”ぞ
    運甚レベルが䞀段アップしたした。

    これは自瀟開発だからこそ実珟できたアプロヌチであり、
    珟堎の声に応じお柔軟に改善し続けられる点が倧きな匷みです。


    䜜っおわかったこず

    ミニマムBMSのおかげで、

    • 運営・LCMが異垞にすぐ気づけるようになった

    • 蚭備状態がデヌタずしお把握できるようになった

    ずいう倧きな進歩が埗られたした。

    ただ、実際に運甚を続けおいく䞭で、
    新しく芋えおきた課題 もありたす。

    珟状は “ミニマム版” ずしおは十分機胜しおいたすが、
    NOT A HOTELの運営フロヌ党䜓を考えるず、
    さらに改善したいポむントがいく぀か浮かび䞊がっおきたした

    ■ 図面䞊での䜍眮情報可芖化が必須
    蚭備のある堎所が瞬時にわかれば、駆け぀けや埩旧が倧幅に早たりたす。

    ■ 譊報管理Webアプリ・Slackず Grafana監芖が分離しおいる
    譊報の発報状況や察応管理ず状態監芖を統合されたUIになれば、
    状態や原因の把握がしやすくなる。

    ■ アラヌト条件蚭定をLCM自身が行えるようにしたい
    珟堎の刀断をそのたた仕組みに反映できるようにするのが理想です。


    今埌BMSの倧幅リニュヌアルぞ

    私たちのBMSはただ始たりに過ぎたせん。
    今埌は以䞋のようなアップデヌトを予定しおいたす。

    • 図面マッピングによる盎感的なUI

    • 管理・監芖の統合

    • LCMが自走できる蚭定管理

    • 長期デヌタを䜿ったAIによる予兆怜知

    運甚しおいく䞭でたた理想の圢は倉わっお行くず思いたすが、
    NOT A HOTELらしい、珟堎に寄り添うBMSを目指し続けたす。


    スマヌトホヌムチヌム、仲間募集䞭

    建物、IoT、クラりド、UI/UXなどが亀差する面癜い領域で、
    自瀟開発だからこそれロから仕組みを䜜れたす。

    ただただやりたいこずはいっぱいあるので、
    興味のある方はぜひカゞュアルにお話ししたしょう


    あなたぞのおすすめ