任天堂Switchの左側のJoyconのスティックがうごかなくなったので修理に出しました。購入してから丸2年は経っていますので、まあやむをえない感じですかね。
任天堂のWeb上のオンライン修理受付ページから必要事項を入力して依頼する。
保証期間はとっくに過ぎているので修理費用はかかります。あまり高すぎると修理せずに新しく購入したほうがいい場合もあるため、依頼入力中に修理金額上限を選択する項目があります。選択肢は¥3500,¥5500,¥9000,¥13000とちょっと幅がありますが、今回は3500円を超える場合は連絡する、を選びました。最後に 修理依頼のページを印刷しますが、プリンタがないような場合、依頼番号だけでもいいようです。なお修理費用の支払いは受け取り時の代引きのみです。
修理に出すJoycon左側と修理依頼の印刷を箱に入れて梱包する。
Joyconは壊れたほうだけでいいです。梱包材は各自用意しましょう。
指定された住所に発送する。保証期間を過ぎていますので輸送費は自腹です。今回は郵便局のゆうパックをつかいました。
しばらくすると任天堂から荷物の受け取り&修理受付メールがくる。
今回は送ってから稼働日で3日くらいで受付メールがきました。
任天堂から修理完了のメールがくる。
メールに修理費用が記載されており、今回は約2000円で3500円以下だったののでそのまま発送連絡のメールを兼ねております。受付メールがきてから稼働日で2日後でした。
修理品が届く。
郵便局の代引きで届くのでお金をおつりがないよう用意しておきましょう。本体につなぐと再インストール?みたいな処理がかかりましたが、無事動作しました。
今回は依頼してから1週間(土曜日に送って、次の土曜日に帰ってきた)とかなり迅速に返却されました。ただ壊れ方によってはもっと時間が変わると思いますので、うちはもっとかかったと任天堂に文句は言わないでくださいね。
あと今回の修理金額+輸送費を考えると、純正joyconを買うよりだんぜん安くつきますが、サードパーティのいわゆるコントローラとはトントンです。実際修理中にわたしは別の安物コントローラを使っていました。
P9のバッテリが前からあやしくなって、1日も保たないくらいだったので、メインのスマホとしては使ってなかったのですが、ちょっと思い立って人力?交換しました。バッテリはアマゾンでぽちりました。交換方法はYoutubeとか"Huawei P9 Battery Repair Guide - YouTube"に上がってますので、それを参考にしながらすすめました。まずはSIMはずして、外装のネジ(五角★形の8mmか9mm)をはずした後、フロントの液晶部分を剥がすのですがこれがまあ剥がれない。かなり苦労しました。吸盤式のオープニングプライヤで何回やっても、吸盤がはがれるか動くかしてうまく剥がれません。場所を変えたり、向きを変えたりしつつ、最後のほうはあきらめかけてましたが、結局何回かひっぱってるうちに、じわじわ動いてきていたようで、最終的にははちょっと浮いた隙間にピックを挟み込み、ぐりぐりとして外しました。なかなか動画で紹介しているようにうまくはいきませんね。あとは内部のボードや配線コネクタをはずして、本命のバッテリをはずすのですが、バッテリと筐体を接着をしている粘着テープが想像どおりうまくはずれませんでした。動画では横に引っ張りながら、ゆっくりとするするはずしていましたが、実際はちょっと力をかけるとすぐにぶちっと切れてもうアウト。結局バッテリと筐体の間にヘラ的な工具をはさみこんで力業でぐりぐりやりました。バッテリと筐体の間には2本のFPC(オレンジ色の平面配線)があるのでそれを傷つけないように慎重に。あとバッテリは十分放電しときましょう。バッテリは結構柔らかく、電荷が残ってる状態で応力をかけると危ないです。はずれてしまえばあとは新しいバッテリをつけて元に戻していくだけ。あとはスムースにもとに戻しました。詳しい手順は動画見るなり調べてください。あと工具は大事ですので、ひととおりセットのやつでも買っといたほうがいいと思います。
新しいバッテリの状況ですがまあ1日でなくなるわけでもないが、すごく保つわけではない感じです。すこしは延命できたかな。
室外温度を測るのにいままでは使っていないエアコン配管用の穴があったので、それを使ってセンサーを外に出していましたが、先日エアコンを増設したためその穴がふさがってしまいできなくなりました。なにか良い手はないものかと探したところ、サッシ越しにアンテナをつなぐケーブル(FPC)があったのでこれを使いました。FPCへの接続はTV用のプラグを使いました。センサーケーブルをぶった切って、配線を引き出し、TV用の同軸プラグにつなぎました。抵抗が増えるので測定温度にずれが生じるでしょうが、まあどうせ外の環境次第なんで気にしない。連休の工作でした
追伸)ワイヤレスの温度測定器もありますね。電池がいりますが、そっちのほうが安くつきそう。PCにつながるやつは高いけど。
SteamのサマーセルでTestament of Sherlock Holmesがセールをしてたのでぽちったところ、プレイ中落ちまくる、落ちまくる。どうやら古いゲームだからWindows10は対応してなかったようだ。これは返金依頼か?と思いながらいろいろ調べると、管理者モードやXPモードで起動やNvidiaドライバのDLLをゲームフォルダに置くわなどいろいろ情報はあるが、どれもうまくいかない。でもやはり同じことで悩んでいる人がいたようで、最終的にはここ"The Testament of Sherlock Holmes:steamゲームをwin10で!"で情報を見つけました。
この方によるとSteam コミュニティ :: The Testament of Sherlock HolmesにあるDevs, please do something about the crashes :: The Testament of Sherlock Holmes 総合掲示板のSteam掲示板中によると、フルスクリーンで使ってるとメモリ不足で落ちるらしい、ということです。当時より解像度が上がってるからかな?そのため4GB Patch – NTCoreの非公式パッチをあてると大丈夫!、となっている。配布しているのは実行ファイルなので、怪しみながらも実行したところ、今度は落ちない落ちない。とりあえずよかった。
でもイチマツの不安はぬぐえないので、変更後のEXEファイルの差分を調べてみました。
アドレス
旧値
新値
<意味>
備考
0x14E
0x03
0x23
FileHeaderのCharacteristics
0x20はIMAGE_FILE_LARGE_ADDRESS_AWAREフラグ
2GBを超えるアドレスが使えるようになるPE Format - Windows applications | Microsoft Docsを参照
0x190
0x8F
0xAF
OptionalHeaderのChecksum
PE Format - Windows applications | Microsoft DocsのCheckSumの項目参照
ということで、アプリのアドレスの制限を外すだけのようで、怪しげな変更ではなさそうので安心しました。どうもこのサイト4GB Patch – NTCoreは32bitアプリ全般を4GB化するためのもののようです。有志の方々に感謝です。
本サイトのWordpressの表示が乱れていることに気が付き、どこかファイルが壊れたかといろいろ四苦八苦したところ、どうもWordpressプラグインのCrayon Syntax HightlighterがPHP7.3で誤動作するのが問題のようだ(2019年版 Crayon Syntax Highlighterのエラー)。そういやレンタルサーバー側から先日7.2から7.3に上げると案内がきていた。Crayonは高機能なSyntax Hightlighterなので使っている人も多いようだが、すでにメンテされなくなって3年くらいたっている。代わりのプラグインを探したが、書式がコンパチというのは見当たらない。とはいえいまさら古いコンテンツをすべて書き換えるのも面倒なので、いろいろ探したところGithubで有志の方がメンテナンスされていたようだ(Release Crayon Syntax Highlighter & PHP 7.3 fix · Crunchify/crayon-syntax-highlighter · GitHub)。Wordpressのプラグインサイトには乗らないので、手動でアップデートが必要だがとりあえずこれでしのぐ。
Pythonを使って初歩的なミス。二次元配列の初期化で端折ってa=[[0]*3]*3などとしてしまったため、a[0][0]=1とした時、a[0][0]==a[1][0]==a[2][0]==1となり、しばらくうまく思ったとおりに動かず悩む。初歩的ミス。とりあえずa = [[0 for i in range(0,3)] for j in range(0,3)]と書いたが、個人的には美しくない。
firefoxがぶっとんだ。プラグインも設定も再設定。とほほ。
まずはフォントが汚いのが気になるため。以前どうやってか忘れたので、調べてメモ。
C:\Users*\AppData\Roaming\Mozilla\Firefox\Profiles*.default-*\user.js
のファイルに
user_pref("layers.acceleration.disabled", false); user_pref("gfx.content.azure.backends","direct2d1.1,cairo"); user_pref("gfx.direct2d.disabled", false); user_pref("gfx.direct2d.force-enabled", true); user_pref("gfx.font_rendering.cleartype.always_use_for_content", true); user_pref("gfx.font_rendering.cleartype_params.cleartype_level", 100); user_pref("gfx.font_rendering.cleartype_params.enhanced_contrast", 200); user_pref("gfx.font_rendering.cleartype_params.gamma", 500); user_pref("gfx.font_rendering.cleartype_params.pixel_structure", 1); user_pref("gfx.font_rendering.cleartype_params.rendering_mode", 5); user_pref("gfx.font_rendering.directwrite.enabled", true); user_pref("gfx.use_text_smoothing_setting", true); user_pref("layers.acceleration.disabled", false); user_pref("layers.acceleration.force-enabled", true);</pre>
にする。参考はWindowsのFirefoxのフォントレンダリングをきれいにする - Qiitaです。
Nature Remoを使っていろいろ設定してきたが、どうもうまく時間指定したコマンドを実行させられない。動いたり、動かなかったり、動いてもコマンド実行が指定時間よりちょい遅いなどの現象が起こるのだ。動かないときにはスマホ側には送信した、との通知はくるのだが、家電は反応してない。スマホから手動で実行すると動くので、赤外線が物理的に届いてないわけではない。遅いときには1分くらいずれるときがある。じゃあちょっと早めに時間設定してやれ、と思ったら、Natureのトリガだと15分単位でしか設定できない。どうもNatureのサーバがしょぼいせいの気がする。NatureはIFTTTで実行させるアプレットを提供しているので、IFTTTを使って自動運転させることにする。IFTTTは異なるウェブサービス間でサービスを連動させるウェブサービスだ。この場合
IFTTTで定時イベント&Natureへコマンド発生
Natureから家のRemo miniにコマンド発生
と、ひどく迂遠な方法で実行させる。これにより動かないことはなくなったが、それでも30秒~1分くらいは遅延するが、動かないことはないようなので、これで運用を続ける
Nature Remo Miniが届いたので、まずは照明の操作を登録するのだが、ある程度プリセットがあるかなと思っていたがあるのはボタンが多いTVとかエアコンだけ。照明系はリモコンから学習させるしかないことが発覚。でも操作したい照明のリモコンには点灯状態を変化させるのは1つの切り替えボタンしかない。しかもOn/Offではなく、On→調光→保安灯→OFF→...の4段階のモード切替。コマンドを送ってもその時の点灯状態次第ではどうなるかわからん・・困った。
だがここですでにもっていたUSB赤外線リモコンが役に立った。USB赤外線リモコンキットは、リモコンの赤外線情報のデータを読み取ることができ、かつある程度任意のコード(4種類くらいのフォーマットに対応)を出力できる。該当のリモコンのデータを読み取って、数字をちょっといじると、Onだけ、Offだけで動作するリモコンデータが見つかった!(下記参照)。意外とリモコンのボタンがもっている以上の機能に対応してるもんですな。助かったわ。オフィシャルじゃないけど、動けばOK!。
ちなみにこのUSB赤外線リモコンで直接照明まで送信できれば、話は簡単だったのだがパワー不足でどうにも届かないので(本来これが届くのであればNature remo miniはいらないかも)、「赤外線データをPCで作成→USB赤外線リモコンを”NatureRemo mini"に向けて発信させて学習→Nature Remoを照明の部屋にもっていき、そこで動くかどうかスマホから動作確認」をくりかえして各データの動作確認した。なんと迂遠な。
DAIKO製照明の一例:送信データとリモコンのボタン
"86409A60" がトグルスイッチ
"86409C60"が60minSLEEP
"86409D60"が30minSLEEP
手探りで解明した送信データと照明の動作
"86409669"が調光
"86409867"が保安光(黄色いやつ)
"86409E61"が消灯
"86409F60"が全灯
ちなみにこの照明のリモコン赤外線データはNEC式のようです。
参考にしたサイトは
赤外線リモコンの信号定義データの合成 — 赤外線リモコンの信号定義データの合成 1.3 ドキュメント
DSAS開発者の部屋:親指サイズの USB 赤外線リモコンが面白い
赤外線リモコンの通信フォーマット
です。