Translate

Post Date:2022年6月11日 

安価な棕櫚箒(シュロホウキ)の実力は?

高砂 - 棕櫚ほうき短柄5玉

部屋の掃除には座敷箒(アズマ 匠箒 短柄)を使っています。

アズマ工業 - 座敷箒 短柄 匠125
アズマ工業 - 座敷箒 短柄 匠125

床、畳、敷物と、どこでも掃き掃除ができる万能なホウキですが、棕櫚箒(シュロホウキ)は使ったことがないので焦がれています。

アズマ工業の箒(ホウキ)は、とてもしっかりしているので、「いつか、吾妻棕櫚箒 鬼毛を!」と思っていましたが、値段もそれなりにするので躊躇しまくりです。


棕櫚箒(シュロホウキ)とは

棕櫚(シュロ)はヤシ科の植物で、棕櫚皮の繊維で作られたのが棕櫚箒。

棕櫚箒には、棕櫚皮を丸め、先端をほぐした「」と、棕櫚皮から良質な繊維のみを選別して束にした「鬼毛」の2種類があります。

棕櫚箒は、イネ科の「ホウキモロコシ」で作られる座敷箒よりも歴史が古い箒ですが、板間から座敷(畳)が広がる中で、江戸では畳の掃除に適した座敷箒が普及していきました。

その後も、棕櫚箒は西日本、座敷箒は東日本で好まれていたようなので、東に住んでいると生活の中で棕櫚箒をみる機会がありませんでした。

棕櫚皮の繊維は柔らかく、皮巻きの箒は、繊維の密度が高いので、細かいゴミが掃けるのが特徴です。また繊維に天然油分が含まれているので、掃けば掃くほど床に艶がでると言われています。

板間→畳→フローリングへと変遷する住居環境と、SDGsという考え方の浸透で、フローリングの掃除に適している棕櫚箒は、再度注目される掃除具となりました。


安価な棕櫚箒(皮)

Amazonで検索しても安価な棕櫚箒は散見されます。「安かろう悪かろう」かもしれませんが、箒で掃除をするようになったキッカケも安価なカバー箒を購入したことからです。

アズマのカバー箒型 棕櫚箒(鬼毛)を購入しよとかと思ったのですが、実用的な座敷箒を既に持っているので、無理な選択はせずに  "The シュロホウキ" というフォルムの安価な棕櫚箒を検索。

箒には短柄(みじかえ)と長柄(ながえ)がありますが、長い箒を吊り下げて収納する場所がないのと、手軽に掃除をするには片手で掃除できる短柄の方が扱いやすいので、安価で購入できる短柄の棕櫚箒(皮巻き)をAmazonで検索。

下記の5点がヒットしました。

Amazonにある安価な棕櫚箒(皮)
商品名ブランドサイズ(cm)重量(g)
棕櫚ほうき短柄5玉高砂長さ75×幅27250
YATSUYA しゅろ手ほうき 上八ツ矢工業長さ75×幅??250
手作り棕櫚ほうき 5つ玉 短柄カワタキコーポレーション長さ73×幅24270
TRUSCO しゅろほうき短柄トラスコ中山長さ75×幅30200
矢車印 棕櫚手箒五つ玉矢車商店長さ72×幅20222

自社で清掃用具を製造販売しているのは、高砂と八ツ矢工業です。八ツ矢工業の成り立ちはシュロ、パーム製品の製造販売というので惹かれましたが、送料を含めた価格で比較して高砂の「棕櫚ほうき短柄5玉」を購入。

カワキタコーポレーション、トラスコ中山の棕櫚箒も価格的には魅力的です。


棕櫚ほうき短柄5玉(高砂)

高砂の「棕櫚ほうき短柄5玉」は、MADE IN CHAINAの棕櫚箒です。棕櫚皮を銅線で巻き、鋲で止めてあるだけのシンプルな作りで、柄も竹と環境にやさしい素材です。

Amazonの説明に注意点として「使用初期に棕櫚の細かい繊維が落ちます」とあり、商品にも「初めのうちは棕櫚の繊維から粉が噴くことがあります。気になる場合には叩いてからご使用ください。」と記載されていますが、

使用前に穂先をパタパタと叩いてみると、大量の茶色い粉のような繊維屑が落ちてきます。その後も2-3日は掃き掃除で集めた塵埃(じんあい)に繊維屑が混ざっていましたが、次第になくなってきました。


棕櫚箒の掃き心地

同じ箒でも随分と掃き心地が違います。カバー箒から座敷箒に変えたときは、リズム感のような違いでしたが、棕櫚箒は掃き掃除としての感覚が異なります。

棕櫚の繊維は柔らかく細かいため、掃くというより床を箒で撫でているような感覚です。この撫でるような掃き方だと埃が飛散しないという利点があります。

密度が高い皮巻き棕櫚箒

フローリングとは相性がよさそうです。しかし、畳や敷物では座敷箒に分があります。とくに敷物の上は柔らかい穂先だと敷物の繊維からゴミを掃き出すパワーがありません。

部屋がフローリングだけなら皮巻きの棕櫚箒1本で十分ではないかと思います。


チリトリではなくコロコロで粘着させる

掃き掃除で集めたゴミはチリトリではなくコロコロを使うと簡単に収集できます。象と散歩: 箒(ほうき)のある生活で紹介している、無印良品のシステム カーペットクリーナーに木製ショートポールを装着すると立ったままコロコロできるので楽ちんです。

木製ショートポールは楽天の無印良品公式で購入できます。



箒で掃除をしよう

掃除機は部屋に出しっ放しにしていると"ダラシなさ"しかありません。しかし、座敷箒や棕櫚箒は、オブジェとしても映えるために、部屋に吊り下げておける掃除用具です。

木製ショートポールのコロコロも「部屋に置ける掃除用具」として選びました。

部屋に置ける掃除用具は、ちょっとした時間にもささっと掃除できるという利点もあります。

そして、時間があるときには、掃き掃除後にフローリングワイパーで拭き掃除もしましょう。

フローリングワイパーについては、象と散歩: 掃除の基本は「掃いて」「拭く」(フローリングワイパー編)をご覧ください。

「箒とコロコロでエコで時間を気にしない掃除を!」

Post Date:2022年6月7日 

アナログ・スマートウォッチという選択

Withings ScanWatch 38mm ブラック

Apple Watch と決別をして、Withings ScanWatch にしてから半年が過ぎました。

Apple Watch は、スマホを出さずに完結できる "スマホの代替" としての機能が充実しているのでとても便利でした。

しかし、その利便性の代償として、毎日の充電という苦行があります

これが、Apple Watch に別れを告げた理由です、、、。


充電の束縛からの解放

「毎日充電しなくていい!!」

というのは、常に腕にしているスマートウォッチにとっては大きな意味があるということがこの半年で実感できました。

Apple Watch の駆動時間は最大18時間ですが、ScanWatchは「最大30日間充電不要」です。実際に使ってみても20日以上は充電せずに使えています。

この30日間というのは他のスマートウォッチと比較して、ずば抜けて長い駆動時間です。

スマートウォッチ - 駆動時間の比較

また、バッテーリー低下の通知(4%)から1日以上は普通に使えるので、1日の途中でバッテリー切れるといったことがありません。

また、自宅では Withings Sleep で睡眠計測をしていますが、旅行や出張時には ScanWatch で睡眠計測もするので、バッテリーの消費が多くなります。しかし、出発前日にフル充電をしておけば、1-2週間の不在でも充電器を持ち歩く必要がないというのも安心です。


なぜスマートウォッチではデジタルを受容するのか

日本時計協会のデータをみると腕時計の世界生産の7割がアナログ時計です。

世界のウォッチ生産台数
【引用】日本時計協会 - 2021年ウォッチの世界生産(推定値)

デジタルネイティブではない世代としては、針で時を刻まれた方が、残り時間(あと何分)、経過時間(どれくらい経った)が直感的に分かるのでアナログ時計の方が好きです。

またアナログ時計では、常に時間を物理的な針で示しているので、時計をチラ見したときに時間がわかるというのも地味にありがたいです。


アナログ時計とスマートウォッチのハイブリッド

そんなアナログ時計の良さを活かした、シチズン エコ・ドライブ Riiiver は、充電不要のアナログ時計なスマートウォッチです。

シチズン エコ・ドライブ Riiiver

洗練されたデザインで、針で色々なことを表すという発想が素敵です。「LINEで通知あり」とかまでなら針の動きで把握することができます。また加速度センサーが搭載されているので、活動量計の機能もあります。

かなり惹かれましたが、スマホの代替までとはいかなくとも、通知内容を把握するための小型スクリーンと心拍数などの健康管理機能は捨てられない、、、。

小型スクリーンを搭載しながらも長時間駆動、心拍数などのセンサーを備えたアナログ時計型のスマートウォッチとなると、候補は限られ、

  • Withings ScanWatch
  • SKAGEN JORN

の 2つでした。

Withings Scan Watch には、小さなスクリーンがあり、送信者、メッセージの一部、次の予定 などが表示されます。

また、SKAGEN ハイブリッドスマートウォッチJORN は、デザイン変更可能なE-inkディスプレイを搭載していますが、最大2週間の駆動で、価格もお手頃です。


Withings ScanWatch

Withings(ウィジングズ)は、フランスのヘルス・テック企業です。WiFi体重計(Body Cardio)睡眠計測パッド(Sleep)を愛用していたので、Withings ScanWatch を購入。

Withings ScanWatch 38mm ブラック

デザイン的には 42mm の方が好みでしたが、大きな時計は好きではないので 38mm を選択。湾曲した面のサファイアガラスが腕時計感を更に醸し出し、カジュアルでもスーツにもマッチします。

付属のバンドはシリコン製ですが、専用のミラネーゼリストバンド、専用レザーバンド/ミラネーゼバンドが別売されています。

後から専用レザーバンド(ブラック)を購入しました。

Withings ScanWatch 38mm ブラック

バンドの取り外し方は、購入したバンドのケースの裏側に記載されていましたが、簡単です。

Withings 専用レザーバンド

専用バンドでなくても、同じような仕様の18mmのバンドであれば ScanWatch 38mm に取り付けられるのではないかと思います。ScanWatch 42mm のバンド幅は 20mm です。


SacnWatchの健康管理機能

ScanWatchでは、歩数、階段の昇降、心拍、運動(ウォーキングやサイクリングなど自動判定)などが記録されます。

また睡眠時の心拍数、呼吸の乱れ、血中酸素も記録できますが、夜間は時計を外してWithings Sleep(睡眠パッド)で記録し、外泊したときだけ睡眠時もScanWatchを使っています。

残念ながら日本ではScanWachのすべの機能を使えません。酸素飽和度(SpO2)は利用できるようになりましたが、心電図(ECG)などは、まだ日本では利用できません。

Apple Watchでは、ECGも日本でも利用可能となっているのでWithingsにも頑張ってもらいたいところです。

下記が現在、日本でも利用できる健康管理機能となっています。

ScanWatch 健康管理機能日本
心電図(ECG)
酸素飽和度:医療用 SpO2
酸素飽和度:血中酸素✔️
呼吸スキャン:
呼吸障害と夜通し連続の血中酸素
✔️
心拍動通知:不規則な心拍動✔️
心拍動通知:心房細動の徴候

詳細は、ScanWatch - 私の地域では現在、どの様な健康関連の機能が利用できますか? – Withings | Support を参照してください。


アップデートでさらに使い勝手がよくなった

2022年3月末にScanWatchのファームウェアがアップデートされ、

  • アクティビティ・リマインダー
  • 新たな針の動作

が追加されました。

SCANWATCHがさらに進化しました!

アクティビティ・リマインダーで、直近1時間でアクティビティがないと通知されます。夜間や既に目標を達成していると通知がないというのは気が利いています。

  • 「Unwind with 100 steps(100ステップ歩いて体をほぐそう)」
  • 「Let's go for a walk(散歩しよう)」
  • 「Take some time for a walk(散歩の時間を!)」
  • 「Think about taking a lunch walk(お昼に散歩をしたら?)」

など、いくつかのパターンで通知されます。

新たな針の動作というのは、針待避機能のことです。時計の短針、長針の何れかが小さいな円形スクリーン上にあるときに、通知があると、文字を見やすくするために針が(おおよそ)10時10分になります。

ダイヤルボタンを押したときにも同様の動きです。

Withings ScanWatch 38mm ブラック

これ滅茶ありがたい。


ScanWatch を使う上での注意点

通知を受け取るためには、スマホ側とHelth Mate(Withingsのアプリ)での設定が必要です。また、Helth Mate App がバックグランドで起動していなければ通知は受け取れません。

「ScanWatch - 通知の有効化」に設定方法が記載されていますが、日本語の画面だとこんな感じです。LINEやインスタも、もちろん通知を受信することが可能です。

Helth Mate App - 通知設定

またスマホ(iPhone)の通知設定で、「プレビューを表示」を「常に(デフォルト)」にする必要があります。

iPhone 設定 - 通知

アナログなスマートウォッチはちょうどいい

Withngs ScanWatchは、Apple Wathcほど高機能ではありませんが、

  • 充電の呪縛から解放
  • アナログ時計への懐古
  • 健康状態の追跡

を重視するであれば、「ちょうどいい」ハイブリッド・スマートウォッチです。

Post Date:2022年5月7日 

Googleスプレッドシートの更新された範囲をURLとして通知する

ゾウでもわかる Google Apps Script

シートの更新通知を使うと確認が必要のない更新通知も送られてくるので、自分に必要な項目が更新されたときだけに通知が欲しい。

また、どこが変更されたのかが分かると、通知を受けた人に優しい仕様となります。

象と散歩: Googleスプレッドシートの更新された値を知るで、変更された箇所の行番号と列番号を取得する方法を紹介しましたが、変更範囲をセル範囲が指定されたリンクとして作成するGASプログラムを作ってみました。


URLの取得

onEdit()関数については、象と散歩: Googleスプレッドシートの更新された値を知る で説明していますが、スプレッドシートが更新されたときに実行される関数です。

onEdit(e)	{
  var ssUrl = e.source.getUrl()	//スプレッドシートのURL
  console.log(ssUrl)
}

セルの内容が更新されると、上記の関数が実行されます。マニュアルで実行するとエラーとなりますので、セルの値を更新してログを確認してください。

onEdit()関数の引数に e を指定していますが、e.source でスプレッドシートオブジェクトが取得でき、getUrl()でスプレッドシートのURLが取得できます


シートはGIDパラメータで指定する

上記で取得したスプレッドシートのURLは、下記のような構成になっています。

https://docs.google.com/spreadsheets/d/xxxxx/edit

複数シートがある場合には、URLにGIDパラメータが付与されています。

https://docs.google.com/spreadsheets/d/xxxxx/edit#gid=749420395

最初のシート(シート 1)は、必ず gid=0 ですが、getSheetId() で GIDを取得することができます。

onEdit(e)	{
  var sheet = e.source.getActiveSheet()
  var sheetId = sheet.getSheetId()	//シートID
  console.log(sheetId)
} 

セル範囲はRANGEで指定する

セルを右クリックして"このセルへのリンクを取得"をクリックすると

範囲を指定してリンクを取得する

下記のようなURLが取得できます。

https://docs.google.com/spreadsheets/d/xxxxx/edit#gid=0&range=C2

また複数セルを選択した状態で右クリックして"この範囲のリンクを取得"をクリックすると下記のようなURLが取得できます。

https://docs.google.com/spreadsheets/d/xxxxx/edit#gid=0&range=A3:C3

"range=" で範囲を指定したURLを取得できます。


A1形式で範囲を取得する

onEdit()で実行されたときにrangeで変更範囲が取得できますが、A3:C3のようなA1形式で範囲を取得するには、range.getA1Notation() を使います

更新範囲がひとつのセルならA3、範囲ならA3:C3のように取得することができます。

onEdit(e)	{
  var sheetRange = e.range.getA1Notation()	//変更範囲
  console.log(sheetRange)
}

シートの値を変更して、ログを確認してください。複数セルの範囲は、シート上で範囲選択をしてコピペをすることで確認できます。


シートと範囲を指定したURLを作成

シートID(GID)と範囲(RANGE)を指定したURLを作成します。

function onEdit(e) {
  var ssUrl = e.source.getUrl()	//スプレッドシートのURL
  var sheet = e.source.getActiveSheet()
  var sheetId = sheet.getSheetId()	//シートID
  var sheetRange = e.range.getA1Notation()	//変更範囲
  var url = ssUrl + '#gid=' + sheetId + '&range=' + sheetRange
  console.log(url)
}

ログに出力されたURLをコピペして、範囲選択がされた状態でスプレッドシートが開くかを確認してください。


変更範囲の確認

特定の範囲が更新されたときだけ通知があるように、更新されたセルが対象としたいセル範囲内にあるかを確認します。

下記のサンプルプログラムでは、targetStartColumn, targetEndColumn で対象列を、targetStartRow, targetEndRow で対象行を指定しています。

下例では、C列の2行目から1000行目が更新されたかを確認するサンプルコードとなります。

function onEdit(e)  {
  var targetStarColumn =3 //対象セル(開始列)
  var targetEndColumn = 3 //対象セル(終了列) 
  var targetStartRow = 2  //対象セル(開始列)
  var targetEndRow = 1000 //対象セル(終了列)

  var rowStart = e.range.rowStart //更新開始行の取得
  var rowEnd = e.range.rowStart   //更新終了行の取得
  var columnStart = e.range.columnStart //更新開始列の取得
  var columnEnd = e.range.columnEnd     //更新終了列の取得

  var ssUrl = e.source.getUrl() //スプレッドシートのURL
  var sheet = e.source.getActiveSheet()
  var sheetId = sheet.getSheetId()  //シートID
  var sheetRange = e.range.getA1Notation()  //変更範囲

  var text = '変更箇所の通知\n'
  if (targetStarColumn <= columnStart &&  columnEnd <= targetEndColumn
      &&  targetStartRow <= rowStart &&  rowEnd <= targetEndRow) {
    text = text + ssUrl + '#gid=' + sheetId + '&range=' + sheetRange
  } else  {
    text = '対象範囲外の更新'
  }
  console.log(text)
}

対象範囲が更新された場合に "更新されたシートとセル範囲を指定したURL" を作成します。シートを更新して実行結果をログで確認してください。


メールを送信する

シンプルトリガーのonEdit()ではメール送信ができないので、function名を変更して、トリガーを設定します。

トリガーの設定方法については、

を参考にしてください。

メール送信は GmailAppクラスのsendEmailメソッドを使います。

GmailApp.sendEmail(宛先, 件名, 本文, {オプション})

オプションは省略可能です。(詳細はClass GmailAppを参照してください)

mailTo で指定しているメールアドレスは、自分のメアドに変更してください。

function updateNotice(e) {
  var ssUrl = e.source.getUrl()	//スプレッドシートのURL
  var sheet = e.source.getActiveSheet()
  var sheetId = sheet.getSheetId()	//シートID
  var sheetRange = e.range.getA1Notation()	//変更範囲
  var url = ssUrl + '#gid=' + sheetId + '&range=' + sheetRange

  // メール送信
  var mailTo   = 'sample@gmail.com'
  var subject  = '更新通知'
  var bodyText = '変更箇所の通知\n'
  bodyText     = bodyText + url
	
  GmailApp.sendEmail(
    mailTo,
    subject,
    bodyText
  )
}

特定のセルが更新されたときにメールを出す場合には下例を参考にしてください。

function updateNotice(e) {
  var targetStarColumn = 3	//対象セル(開始列)
  var targetEndColumn = 3	//対象セル(終了列) 
  var targetStartRow = 2	//対象セル(開始列)
  var targetEndRow = 1000	//対象セル(終了列)

  var rowStart = e.range.rowStart //更新開始行の取得
  var rowEnd = e.range.rowStart   //更新終了行の取得
  var columnStart = e.range.columnStart //更新開始列の取得
  var columnEnd = e.range.columnEnd     //更新終了列の取得

  var ssUrl = e.source.getUrl() //スプレッドシートのURL
  var sheet = e.source.getActiveSheet()
  var sheetId = sheet.getSheetId()  //シートID
  var sheetRange = e.range.getA1Notation()  //変更範囲

  var text = '変更箇所の通知\n'
  if (targetStarColumn <= columnStart &&  columnEnd <= targetEndColumn
      &&  targetStartRow <= rowStart &&  rowEnd <= targetEndRow) {
    text = text + ssUrl + '#gid=' + sheetId + '&range=' + sheetRange
    sendMail(text)
  }
}
function sendMail(text)	{
  // メール送信
  var mailTo   = 'sample@gmail.com'
  var subject  = '更新通知'
  var bodyText = text

  GmailApp.sendEmail(
    mailTo,
    subject,
    bodyText
  )
}

上記例では更新されたセル範囲でURLを作成していますが、range=開始行番号:終了行番号とすると、更新された行をフォーカスしたURLが作成できます。

https://docs.google.com/spreadsheets/d/XXXXX/edit#gid=0&range=3:3

上記も、rowStart と rowEnd を使って簡単に作成できます。


GASの基礎を学べる参考図書

ある程度プログラミンがわかっていれば、WEBやYoutubeでも十分に調べられると思いますが、初歩的なところからであれば参考図書は有効な学習手段です。

詳解! Google Apps Script完全入門 [第3版]」は、プラグラミング初心者にわかりやすく説明されています。GASを最初に学ぶ一冊として良書です。

Udemy オススメ講座

【新IDE対応】Google Apps Script(GAS)の基礎を完全習得

【新IDE対応】Google Apps Script(GAS)の基礎を完全習得

講師:事務職たらこ

印象に残りやすい手書き風スライドを用いGASの基本的なプログラミングを気軽に学ぶことができる。本講座でGASを活用した自動化ができるレベルにはなれないが、基礎としては十分。

象と散歩:人気の投稿(過去7日間)