調べたところBluetoothの接続を管理するWindowsの機能に、設定変更で接続が安定化する可能性がある項目がありました。以下に紹介する項目を設定することで、冒頭に述べたイヤホン接続不安定の問題は解消しました。イヤホンを買い替える前に気づけて本当に良かった。
スタートメニューまたはWin + Rキーを押して「ファイル名を指定して実行」ダイアログを表示したところで「services.msc」と入力して開きます。
画面をスクロールして、Bluetooth関連のサービスを表示します。
「スタートアップの種類」が「手動」になっていたら、「自動」に切り替えます。切り替えは項目をダブルクリックすると設定画面が出ます。
私は「Bluetooth オーディオ ゲートウェイ サービス」「Bluetooth サポート サービス」を「自動」に変更したところ、接続不安定が解消されました。

厚手でふき取りやすい。パッケージにフタ付きであり、わざわざフタをつけなくてよい。
おむつ替えの際に身体の下に敷く。家でも使うし、外出先でも使う。屋外トイレでおむつ替えの台が汚くても、これで安心。
メーカーはどこでもいいが、サイズはこれくらいがちょうどいい。
メルシーポットS-504は鼻水吸引機の定番。ねばねば鼻水でもきれいに吸ってくれる。親が口で吸うよりも感染するリスクも断然小さいので、これの類はひとつ持っておきたい。
RiZKiZ 187x207cmは中にシングルサイズの布団を敷ける。こどもと一緒に寝る、子どもを遊ばせておくのに十分広いスペースを確保できる。中におもちゃや絵本を置いておけば、ひとり遊びさせておくことさえ可能。
エアウィーブ四季布団を赤ちゃんとの添い寝(昼・夜)に使用。出産直後から家族そろってベッドで寝られるまで使い、その後は来客用に転用するつもりで購入した。
寝心地が良いので体力の回復に良い。第1子のときはニトリで布団を購入したが、体力の回復度合いが全く異なる。
布団カバーは選択してもすぐに乾くので、おねしょや嘔吐など汚れた際のリカバリーが短時間で済む。ただ、純正の白いシーツは乾きにくい(触り心地はよいのだが)。
Radio Flyer 3-in-1 イージーフォールドワゴンは子どもや荷物を載せるのにうってつけです。人が乗ることを想定しており、シートベルトが2人分あります。荷物用のカートに子どもを乗せるのと違って安心できます。
ドリンクホルダも2本分あり、子どもとのお出かけに使いやすいです。耐荷重が60kgと大きいため、重たい荷物を運ぶのにも使えます。
また、横のファスナーを開けるとベンチに早変わり。公園でピクニックする際にもベンチの取り合いに参戦せずに済みます。
下の図に示す「A」アイコンをクリックし「テキストを入力」を選択後、ファイル上の記入したい場所をクリックすればテキストボックスが現れます。現れたテキストボックスに文字を記入すればいいのです。文字の大きさや間隔を変えることもできます。また、「A」アイコンのひとつ上のアイコンをクリックすれば図形の書き込みもできます。

文書が完成したら、印刷ボタンを押します。プリンタにMicrosoft Print to PDFを選択すれば、PDFファイルとして保存できます。記入済みのPDFファイルの完成です。
]]>高額な補助金を受け取ると気になるのが税金です。調べてみると国からの補助金はどうも所得税(一助所得)の課税対象らしいという気配がします。一時所得は50万円の特別控除があるので、補助金の50万円を超える部分が一時所得の課税対象になりうると受け取りました。また、「国庫補助金等の総収入金額不算入の特例」を適用すれば補助金の全額を課税対象から外せることがわかりました。
「国庫補助金等の総収入金額不算入に関する明細書」を添付して確定申告をすればいいわけですが、具体的な書き方を調べても出てきません。たいてい税理士に聞いてくださいと書かれて終わりです。そこで、私が実際に確定申告した例を紹介します。以下の内容で確定申告しましたが、いまのところ税務署から問い合わせは来ていません。ただし、税金について確定的なことは、税務署か税理士に聞いてください。ここで紹介している内容はあくまで素人の一事例報告です。
私が提出した明細書は以下のように記載しました。ヒントになる情報がなかったので空気を読んで記入しました。正確なことをご存じな方がいればコメントください。
車内は広く、車体も大きいのに、かなり運転しやすいことに驚きました。家族も2代目リーフより運転しやすい、デミオくらい小回りが利く感覚だと言います。視界が広いし、舵角が大きくとれる。アラウンドビューモニターは駐車時や道路との出入りに便利です。
ルームミラーがカメラ方式なので、視点が後ろの高い位置にあるのがいい。見通しの悪い駐車場から後退で道路に出るときなどはすごくやりやすい。
電動バックドアは最高です。足を車体の下に蹴り入れたらバックドアを開閉できます。子ども2人と保育園の荷物を抱えて車にたどり着いたら、手を使わずにドアを開けて荷物を置けるのです。遊びに出かけたときも大荷物+子どもで手がふさがっていても大丈夫です。
単に足を出し入れするというよりも、左右に薙ぎ払う感じで足を動かすとセンサが反応しやすい気がします。
キーを持って近づけば開錠、離れれば施錠されるので鍵の操作も要りません。
スイッチひとつで助手席のシートを移動できるので、子どもだけを乗せるときは助手席を最前位置にします。子どもを乗せたり降ろしたりが楽なのはもちろん、子どもにシートを蹴られずに済みます。
後部座席にチャイルドシートを2台付けても、中央に大人がギリギリ座れます。下の子が産まれてすぐは、joieのi-Snugとエレベートを使っていました。この組み合わせは大人でも間に普通に座れます。両親+子ども2人に祖父母のどちらかを同乗させられました。
下の子が大きくなってi-Snugをi-arc360°に変えたところ、間に座るのがつらくなってきました。間に座りたいならエレベートのカップホルダは取り外すべきです。それでも緊急に数十分座るくらいならできます。
初代リーフ時代から助かっているリモートエアコン。アリアはスマホで操作して30秒もせずにエアコンが起動するので、車に着く頃には快適な温度になっています。2代目リーフは1分以上ラグがあったから家から出る少し前に操作しないといけなかった。充電ケーブルを抜いた時にエアコンが止まらないのもいいですね。
プロパイロット2は遊んで疲れたお出かけの帰り道を強力にサポートしてくれます。手放しでも進めるほどの安定した走りは長距離運転で心身の負担を軽減してくれます。両手が使えるのでペットボトルの蓋を開けて飲み物を飲むのも簡単です。軽食やおやつを食べるのも簡単。家族がみんな眠っている中でひとり長距離運転するのも楽々。
プロパイロットリモートパーキングは狭い駐車場に停める必要があるときに助かりました。役所や病院、商業施設はもとより、親戚や友人の家の駐車場に停めるとき、ドアを開けられないような狭いスペースでも大丈夫。ただ、動作がゆっくりなので車の往来がほとんどない場所に限ります。
1年間の実績として、エアコンをあまり使わない春秋で6.7 km/kWh, エアコンをがんがん使う夏冬で5.9 km/kWhです。通勤で高速道路を走るので、走行距離の半分くらいは高速走行だと思います。カタログ値と同程度の成績は残せています。
ドライブモードは基本ECOです。ECOだとアクセルペダルを離したときに回生しません。道路を滑るように走るのは気持ちがよいです。減速するときは普通にブレーキを踏むか、シフトをBにします。
ドライブモードがSTANDARDだとエンジン車に近い若干のエンジンブレーキ的な減速があります。加速に使ったエネルギーは電池に回収するよりも走行に使ったほうが効率的なので、ECOモードが回生を最小限にするのでしょう。
カップホルダは爪でシートに固定されているため、引っ張っても抜けません。シートの底面にあるネジをすべて外すとカップホルダが固定されている穴と爪が見えるので、爪を押してカップホルダを押し出します。ネジはすべて普通のプラスドライバーで外せます。
下の子が大きくなってきたので、i-arc360°をパラスG3に替えました。パラスはisofixの金具に加えて、トップテザーでの固定が必要です。アリアの場合、後部座席の裏側にトップテザーの位置を示すシールがありますが、ぱっと見どこにトップテザーのアンカーがあるのかわかりません。
後部座席の裏を明るい場所でよく見ると、トップテザーの数cm下に縦スリットがあります。このスリットの奥にアンカーが隠れています。暗いところだとよくわからないと思いますので、下の写真を参考に指で押してスリットを探してみてください。

UPNの入ったコレクションcolUPNsがあった場合、Concat関数を使い以下のようにして結合できます。
Concat(colUPNs, ThisRecord.Value, ",")
日時は”yyyy-mm-ddThh:nn:ss”形式で渡す必要があるので、Text関数で形式を指定します。現時刻を渡す場合の例は以下の通り。
Text( Now(), "yyyy-mm-ddThh:mm:ss" )

前準備として、トリガーで渡される日時を適切な形式にします。作成アクション (作成 input datetime) で以下のように書きます。
formatDateTime(triggerBody()?['text_1'], 'yyyy-MM-ddTHH:mm:00Z')
前準備として、入力されたUPNsをダブルクォーテーションで囲んだメールアドレスに変更します。
aaa@sample.com,bbb@sample.com を “aaa@sample.com”,”bbb@sample.com”
作成アクション (作成 – カンマ区切りUPNsを変換) に以下の式を入力します。ここでtriggerBody()?[‘text’]はトリガーのUPNsです。
concat('"', replace(triggerBody()?['text'], ',', '","'), '"')
このフローの主役はOffice365 Oulookコネクタの「HTTP要求を送信します」アクションを使用します。Graph APIのcalendar: getScheduleを参考にして記入します。
schedulesの[]の中には、直前に作った作成アクションの出力を入れています。
startTimeとendTimeのdateTimeはトリガーで指定した日時を指定のフォーマットにしています。startTimeは以下のように指定します。
outputs('作成_input_datetime')
また、endTimeはaddMinutes関数を使いstartTimeの60分後に設定します。
formatDateTime(addMinutes(outputs('作成_input_datetime'), 60), 'yyyy-MM-ddTHH:mm:00Z')

availabilityViewはavailabilityViewInterval (分) で区切られた時間幅で指定した時刻から先の予定を数値で返します。指定した時刻直後であれば、先頭の数値だけ見ればOKです。数値の意味はリンク先または以下の表を見てください。
「外出中」は日本語訳がおかしく「不在」がいいところです。
「他の場所で仕事中」の予定は、getScheduleで状態を取得すると4でなく0が出力されます。リンク先をよく読むと書いてあります。
| availabilityViewの数値 | Outlook予定表の状態 |
| 0 | 予定なし free |
| 1 | 仮の予定 tentative |
| 2 | 取り込み中 busy |
| 3 | 外出中 out of office |
| 4 | 他の場所で仕事中 Working elsewhere |
「HTTP要求を送信します」アクションの出力は「JSONの解析」アクションで配列に変換します。スキーマは以下のように書けます。
{
"type": "object",
"properties": {
"value": {
"type": "array",
"items": {
"type": "object",
"properties": {
"scheduleId": {
"type": [
"string",
"null"
]
},
"availabilityView": {
"type": [
"string",
"null"
]
},
"workingHours": {
"type": [
"object",
"null"
],
"properties": {
"startTime": {
"type": [
"string",
"null"
]
},
"endTime": {
"type": [
"string",
"null"
]
}
}
}
}
}
}
}
}
「JSONの解析」アクションから必要な項だけ抽出するには選択アクションを使います。うまく動的コンテンツが出ない場合は、数式でitem()?[‘scheduleId’]やitem()?[‘availabilityView’]と入力します。

最後のPower Appsに応答するアクションで終わりです。選択アクションの出力をそのまま指定すればOKです。

JSONからコレクションに変換するにはparseJSONを使用します。
PowerAutomateから戻り値がlocResultに入っておりコレクションcolAvailabilityにするとしたら次のように書けます。
ClearCollect(colAvailability, parseJSON(locResult));
あとはThisRecord.availabilityViewの値を使ってFilterしたり色を付けたりといった処理をします。StartWith関数を使うと便利です。
この手法で予定の状態を取得するには、予定表に対して「空き時間情報を表示可能」以上のアクセス許可が必要です。「非公開」設定された予定表の情報を取得しようとするとGraph APIがエラーを吐きます。該当する予定表を管理するユーザーにアクセス許可を見直してもらう必要があります。
アクセス許可の変更は、対象の予定表(Outlook予定表の画面で左カラムにある)の上にマウスカーソルをホバーしたときに出現する三点ボタンからメニューを開き、「共有とアクセス許可」をクリックすることでアクセス許可変更画面が出ます。
余談ですが「空き時間情報を表示可能」レベルではgetScheduleは動くもののcalendarViewのshowasを読み取ることができません。showasが読めるとavailabilityViewが4の予定も見えるんですが。
ある人の予定が終日休暇で「外出中」としているのか、一部の時間だけ不在なのを「外出中」としているのか、どのように判別すればいいでしょうか?
getScheduleでは指定した時刻からavailabilityViewIntervalの間の予定が調べられます。取り込み中よりも外出中のほうが優先されるため、availabilityViewIntervalで調べる時間の一部にでも外出中の予定があると外出中を示す3が戻ります。たとえばavailabilityViewIntervalを1440分 (設定できる最大値)にすると1日のどこかで外出中があるだけで3が戻ります。
終日不在予定なのかを判定するには、availabilityViewIntervalを短い時間に区切って得られるavailabilityView文字列を調べます。availabilityViewIntervalを60分として24時間の範囲で予定を調べると、終日「外出中」の予定が設定されていれば24個の3が並びます (例: 333333333333333333333333)。もし午前中だけ「外出中」であれば午後は3以外の値が並びます (例: 000000003333000222000000)。標準的な勤務時間帯がすべて3であった場合、終日不在とみなすことができます。
PowerAppsではMID関数で文字列の一部を抜き出せます。0時から24時のavailabilityViewに対して MID(availabilityView, 10, 8) と指定すれば9時から17時のavailabilityViewを抽出できます。条件式 MID(availabilityView, 10, 8) = “33333333” がTrueであれば終日不在とみなせます。
複数日にまたがるavailabilityViewを調べる場合、n日目はMID(availabilityView, 10 + 24*(n-1), 8) すなわち MID(availabilityView, 24*n – 14, 8) について同様の判定を行えばいいわけです。
]]>この記事ではPower Automateを使ってグループアドレスに含まれるメンバーを自動的にチームに追加する手順を紹介します。追加手順だけ示しますが、簡単な変更でチームから削除すべきメンバを抽出することもできます。
実際にはスケジュールトリガで実行するのがいいでしょう。

グループアドレス(メールアドレス)を指定します。
Office365グループコネクタ
「行をフィルターする」に mail eq ‘outputs(‘作成 グループアドレス’)’
first(outputs(‘グループの一覧’)?[‘body’]?[‘value’])?[‘id’]
URIを以下のように設定。グループIDのところに「作成 グループアドレスのID」の出力を入れる。
Graph APIでtransitiveMembersを使用することが重要です。グループアドレスのメンバーは個人ユーザーとは限りません。入れ子でグループアドレスが入っている場合もあります。transitiveMembersを使うことで、最終的な個人ユーザーのみを抽出することができます。
$select=id,displayName,userPrincipalNameでidとdisplayNameとuserPrincipalNameを抽出する指示、$top=999で999件まで一度に取得する指示(指示なしの場合は一度に100件まで)をする。
https://graph.microsoft.com/v1.0/groups/{グループID}/transitiveMembers/microsoft.graph.user?$select=id,displayName,userPrincipalName&$top=999
Contentに「HTTP 要求 V2 を送信する」の「本文」を設定する。
スキーマを以下のように設定する。
{
"type": "object",
"properties": {
"value": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"displayName": {
"type": "string"
},
"userPrincipalName": {
"type": "string"
}
},
"required": [
"id"
]
}
}
}
}
元に「JSON の解析」のbody value
マップのkey userID,
値を入力します 「JSON の解析」のBody id
メンバーを追加したいチームのIDを入力します
Office365グループコネクタ
グループIDに outputs(‘作成_グループアドレスのID’)
チームであればプルダウンメニューに候補として表示されるので、わざわざ「作成 チームID」で指定しなくてもOKです。
元に「グループ メンバーの一覧表示」のbody/value
マップのkey userID
値を入力しますに 「グループ メンバーの一覧表示」の「ユーザーID」
グループアドレスメンバーのユーザーID配列から、チームメンバーのユーザーID配列に含まれない要素を抽出する操作をする。
From: body(‘選択_グループアドレスメンバーのユーザーID’)
Filter Queryは以下の通り。
左辺: contains(body(‘選択_チームのメンバーのIDのみ’), item()?[‘userID’])
判定式: 「異なる」 (is not equal to)
右辺: true ※数式から記入する
最後にMicrosoft Teamsコネクタの「チームにメンバーを追加する」アクションで、「アレイのフィルター処理」の結果で得られるユーザーのGUID配列をチームに追加して完了。
アレイのフィルター処理を書き換えれば、フロー実行の時点でチームに含まれるがグループアドレスに含まれないユーザーを抽出することもできます。
Office365グループコネクタの「グループからメンバーを削除」アクションを使えば、Power Automateでチームのメンバを削除するこもできます。
]]>また、リチウムイオン電池の種類や個別の車種の構造にも由来することに注意が必要です。特に日産リーフは火災の報告が非常に少ないことで知られています。
残念なことに3代目リーフはバッテリーとの因果関係を否定できない火災が発生しました(東洋経済, 2026/3/27)。日本のメーカーである日産、そのEV開発を支えたAESCには安全に対する深い信頼性を実現するように期待します。
以下は国交省のリコール不具合情報で調べた情報と報道によるもの。

NFCタグにURLを記録させれば、スマホで特定のURLを開くようにできます。このサイトではTeamsやPowerAppsとクエリパラメータを組み合わせて便利なリンクを作成す手法を紹介してきました。作業現場でユーザーにURLを伝える手段としてQRコードを想定してきましたが、NFCタグも有用な手段です。
NFCタグは容量にバリエーションがあります。入手性の良いNFCタグを紹介します。
| チップ | 容量 | 適する用途 | 製品例 | 単価 |
| NTAG213 | 144バイト | サイトURL 少人数のTeams宛先 | サンワサプライ MM-NFCT | 120円/個 |
| NTAG215 | 504バイト | PowerApps 長いURL | ctunk | 120円/個 |
| NTAG216 | 888バイト | クエリパラメータが長い | SwitchBot NFCタグシール | 300円/個 |
NFCタグへの書き込みは無料のアプリで行えます。NFC Toolsが無料で使いやすい代表的アプリです。
]]>ダイアル錠とPowerAppsを組み合わせることで、。施設利用者を抜け漏れなく把握します。
紙の使用記録簿を使っているようなケースを想定しています。
不正な利用があっても、行為者を特定できず、効果的な対策ができない。
ルールを厳重にしたところで不正行為者は従わないので、多数の善良な利用者が苦しむが不正利用は抑制できない。
利用者と利用日時を抜け漏れなく把握する。
抜けもれない情報伝達と不正利用者の容疑者絞り込み。
アプリには考えうる利用者全員に実行可能なアクセス権を与える。
アプリは3画面構成。各画面の満たす機能を後述する。
パラメータ関数で対象施設を決定する。
パラメタで対象施設を指定できなかった場合に表示する。
施設名の一覧を表示し、選択することで「2 暗証番号表示画面」へ遷移する。
この画面を表示した時点で、アクセスログリストにユーザーと日時、施設名を記録する。
暗証番号の表示と、利用ルールの表示。
施設異常を施設管理者に通報できる。
施設管理者は、管理用画面に移動できる。施設管理者は、施設マスタで指定するManagersに含まれるユーザーとする。
指定した期間の利用者を一覧する。何日前まで表示するか、日数はユーザーが指定できる。
暗証番号を設定できる。
全員に読み取り可能のアクセス権限を付与する。
施設管理者に読み書き可能のアクセス権限を付与する。

| 列名 | 列型 | 説明 |
| タイトル | 一行テキスト | 施設名を記入 |
| ID | 数値 | |
| Managers | ユーザー列(複数) | 施設管理者のアカウントを指定 |
全員に読み書き可能のアクセス権限を付与する。

| 列名 | 列型 | 説明 |
| タイトル | 一行テキスト | 施設名を転記 |
| FacilityID | 数値 | 施設マスタのIDを指定 |
| CreatedBy (自動) | ユーザー | 記録者=アプリにアクセスしたユーザー |
| Created (自動) | 日時 | アプリにユーザーがアクセスした日時 |
全員に読み取り可能のアクセス権限を付与する。
権限を厳格に運用したいのであれば、PowerAutomateをアプリ管理者アカウントのコネクタを経由してSharePointリスト(読み書きはアプリ管理者のみ権限を有する)を読み取る方式をとる。

| 列名 | 列型 | 説明 |
| タイトル | 一行テキスト | 施設の暗証番号を記入 |
| MasterFacilitiesリストの タイトル列 | 参照 | 施設マスタのタイトル列(施設名)を選択させる |
| MasterFacilitiesリストのID列 | 参照 | 施設マスタのIDを参照する |
If(IsBlankOrError(gblParamFacility),
SelectFacilityScreen,
ShowPINScreen
)