04-<< 12345678910111213141516171819202122232425262728293031>>06-

Google Homeで水槽のステータスを喋らせる

2018-03-18
APEX FUSIONにログインしないと外出先で水槽のステータスが判らないので、喋って教えてくれるようにしました。あと文字で見たいときはSlackのログを見れば判ります。

まずは喋らせるためのスクリプト bin/say.jsを用意します
Google Homeの喋らせ方」にありますので作成してください。
ただしそのままだとエラーが発生したりするので、「google-home-notifierの「Error: getaddrinfo -3008」に対処する」のとおり、browser.jsを修正してください。{families:[4]}にするのがポイントのようですね

とりあえずテストはこんな感じでやってみてください
bin/say.js "こんにちは"

そうすると喋ることができる装置が表示され、全て反応します。複数のGoogle HomeとChromecastまで喋ります
Device "Google-Home-b413…" at 192.168.1.37:8009
Device "Google-Home-d0b68…" at 192.168.1.26:8009
Device "Chromecast-1b129…" at 192.168.1.22:8009

うちでは、Google-Home-d0bがリビングに置いてあるのでそこで喋らせるようにします

あとはbin配下にシェルスクリプトを作ります。ここでは、cgi-bin/status.xmlから情報を取得します。
※2018/3/19 タグがうまく表示されていなかったので修正しました
#!/bin/sh
curl --fail --silent --show-error --user admin:PASSWORD http://APEX_LOCAL_IP:APEX_PORT/cgi-bin/status.xml | grep -i "<name>$1</name> " | grep '<value>' | cut -f4 -d'>' | sed 's/ //g' | cut -f1 -d '<'
exit 0


※PASSWORD、APEX_LOCAL_IP:APEX_PORTは書き換えてください。

そしてステータスを喋るためのスクリプトを作ります。ここではパラメータで喋ることを切り替えられる作りにしていますので、好きに変えてください。あと/home/myhubot/binは環境に合わせて書き換えてください
#!/bin/sh
#リビングのGoogle Homeで水槽のステータスを喋る

#水温だけしゃべる
if   [ "$1" = "1" ]; then
	/home/myhubot/bin/say.js \
	"水槽の水温は"`/home/myhubot/bin/apexstat.sh Temp`"度です" \
	ja Google-Home-d0b
else
#ひととおり喋る
	/home/myhubot/bin/say.js \
"水槽の水温は"`/home/myhubot/bin/apexstat.sh Temp`"度、"\
"塩分濃度は"`/home/myhubot/bin/apexstat.sh Cond`"パーミル、"\
"ORPは"`/home/myhubot/bin/apexstat.sh ORP`"ミリボルト、"\
"ペーハーは"`/home/myhubot/bin/apexstat.sh pH`"、"\
"リアクターペーハーは"`/home/myhubot/bin/apexstat.sh pHCR`"、"\
"メインポンプ流量は"`/home/myhubot/bin/apexstat.sh FlowMP`"リットル毎時、"\
"サブポンプ流量は"`/home/myhubot/bin/apexstat.sh FlowSB`"リットル毎時、"\
"アンペアは"`/home/myhubot/bin/apexstat.sh Amp_3`"、"\
""`/home/myhubot/bin/apexstat.sh Amp_4`"、"\
""`/home/myhubot/bin/apexstat.sh Amp_7`""\
"です "\
	 ja Google-Home-d0b
fi


Temp、pH等はAPEXのセンサーの名前です。どんな名前か判らなくなったら、cgi-bin/status.xmlをブラウザで開いてみて、それに合わせてください。
Google-Home-d0bの部分は、喋らせたいGoogle Homeを区別するために使います。

できたら実行権限をつけておきます
chmod 755 bin/*.sh

そのあとはhubotにコマンドを認識させます
sudo systemctl stop homebot
npm install hubot-broadlink-rm@latest
bin/hubot

homebot command apex:stat bin/sayapexstat.sh "#"

exit
redis-cli save

sudo systemctl restart homebot

あとはIFTTTに登録します。
20180318_010.jpg

「水槽のステータス」と喋れば、水温他を教えてくれます。違うことを喋らせる時は send apex:stat(1) とかにしてください

スポンサーサイト


B!
★Neptune Apex★ | コメント:(2) | トラックバック:(0)

クロノスレインのメンブレンを久々に交換

2018-03-14
前回浄水器のメンブレンを交換したのは2012年03月04日… もう6年になるので交換しました。RO水の生産スピードはあまり変わらないので放置していましたが、ついにやりましたw

こちらが交換用のメンブレン。ツアーで安く買ったあと放置していましたが、ついに使うときが来ました
20180314_020.jpg

交換は結構簡単なんですけどね。メンブレンのハウジングを外して、付属しているレンチでまわせばOKです
20180314_010.jpg

ハウジングからメンブレンを引き抜きました。引き抜くときはウォーターポンププライヤーがあると楽ですね
20180314_030.jpg

配管し直したら、RO→DIのハードチューブを外してバケツなどに排水できるようにして、2時間ほど通水させます。メンブレン交換直後はTDS高めになるので、DIが飽和しやすくなるようです
20180314_040.jpg

ちなみに硝酸塩の状態はこんな感じ。左から
飼育水の硝酸塩が高すぎ… 最近水換え多めにやっていますがそれでも足りないみたい。ZEOstart3も少し増やさないといけないかな
RO/DI水はさすがに硝酸塩低いです。DIって凄い
水道水は硝酸塩が4ppm超えていますね
RO水は少し薄いぐらいで硝酸塩はやはり残っています
20180314_050.jpg

メンブレン交換前後で比較。古いメンブレンは硝酸塩素通りっぽいですね。交換後は少し減っています
20180314_060.jpg

といった感じでした。硝酸塩濃度をみると、DIの存在は重要ですね。飽和するとこの硝酸塩で水換えすることになるので、まめにチェックするか二重化した方が良いかも。



B!
浄水器 | コメント:(0) | トラックバック:(0)

APEXプログラム全量(2018年3月)

2018-03-05
今のところの最新のAPEXプログラムを参考までに置いておきます。ExcelをHTMLに変換したら見にくくなったな…

ひとまずローカル側のAPEXはこんな感じです(クリックで拡大)
20180305_010.jpg

その下側はこんな感じ(クリックで拡大)
20180305_020.jpg

プログラムはこんな感じ
連番EBグループ和名Outlet名プログラム標準モードコメント
1-通知アラーム用SoundAlarmSet OFF
If Output V_WTCHtgr = ON Then OFF
If Temp > 27.7 Then ON
If Temp < 21.5 Then ON
If TempT > 27.7 Then ON
If TempT < 21.5 Then ON
If Cond > 36.0 Then ON
If Cond < 25.5 Then ON
If Output V_UpperChk = ON Then ON
If Output V_HeaterChk = ON Then ON
If Output V_ChillerChk = ON Then ON
If Error WT_PumpAT Then ON
If Error WT_DrPump Then ON
If ALD_WT CLOSED Then ON
If ALD_Ca CLOSED Then ON
If FMM_Lk CLOSED Then ON
If FMM_L2 CLOSED Then ON
If Output V_FeedDL10M = ON Then OFF
If FeedA 015 Then OFF
If FeedB 015 Then OFF
If FeedC 015 Then OFF
If FeedD 015 Then OFF
緊急度が高いものは音を鳴らす
2-通知警告用SoundWrnSet OFF
3-通知メール送信用EmailAlarmSet OFF
If Temp > RT+1.5 Then ON
If Temp < RT+-0.2 Then ON
If TempT > RT+1.5 Then ON
If TempT < RT+-0.2 Then ON
If Output V_WTCHtgr = ON Then OFF
If Temp > 27.7 Then ON
If Temp < 21.9 Then ON
If TempT > 27.7 Then ON
If TempT < 21.9 Then ON
If Cond > 36.0 Then ON
If Cond < 25.5 Then ON
If pH < 7.00 Then ON
If pH > 8.50 Then ON
If pHCR < 6.20 Then ON
If pHCR > 8.50 Then ON
If ORP < 160 Then ON
If FlowMP < 800 Then ON
If FlowSB < 200 Then ON
If Output V_UpperChk = ON Then ON
If Output V_CO2chk = ON Then ON
If Output V_HeaterChk = ON Then ON
If Output V_ChillerChk = ON Then ON
If Error WT_PumpAT Then ON
If Error WT_DrPump Then ON
If Error V_WTCHnow Then ON
If Output V_FeedTime = ON Then OFF
If ALD_WT CLOSED Then ON
If ALD_Ca CLOSED Then ON
If FMM_Lk CLOSED Then ON
If FMM_L2 CLOSED Then ON
If Power EB8_3 Off 000 Then ON
If Power EB8_4 Off 000 Then ON
If Power EB8_7 Off 000 Then ON
If Power Apex Off 000 Then ON
If Output V_FeedDL10M = ON Then OFF
If FeedA 015 Then OFF
If FeedB 015 Then OFF
If FeedC 015 Then OFF
4EB3 水槽上部フィードモード水流ポンプ全般VortechFallback ON
Set ON
If Output V_FeedTime = ON Then OFF
If FeedA 000 Then OFF
If FeedB 000 Then OFF
If FeedC 000 Then OFF
If FeedD 000 Then OFF
Vortech x3
5EB3 水槽上部サンプ用のファンSump_FANFallback ON
Set ON
6EB3 水槽上部スポットLEDLEDFallback OFF
Set OFF
If Time 21:30 to 08:30 Then ON
If Temp > 28.0 Then OFF
スポットLED、T5のうちブルー灯部分
7EB3 水槽上部T5T5_FANFallback OFF
Set OFF
If Time 22:00 to 08:00 Then ON
If Temp > 28.0 Then OFF
T5及び冷却用PCファン
8EB3 水槽上部フィードモードメインポンプMainPumpFallback ON
Set ON
If Output V_FeedDL2M = ON Then OFF
If FMM_Lk CLOSED Then OFF
Defer 000:10 Then ON
Defer 000:10 Then OFF
If FeedA 001 Then OFF
If FeedC 001 Then OFF
If FeedD 001 Then OFF
Vectra L1
9EB3 水槽上部Vortech バッテリーBChargeFallback ON
Set ON
Vortech バッテリー
10EB3 水槽上部フィードモード底面ポンプTeimen_L1Fallback OFF
Set ON
If FlowMP < 1000 Then OFF
If FMM_Lk CLOSED Then OFF
If Output V_FeedTime = ON Then OFF
If FeedA 000 Then OFF
If FeedB 000 Then OFF
If FeedC 000 Then OFF
If FeedD 000 Then OFF
底面用Vectra L1
11EB3 水槽上部サブ水槽照明SubTankFallback ON
Set ON
Hydra 26 HD
12EB1 サンプフィードモードキャビネット内照明SumpLightFallback OFF
Set OFF
If S_Smp1 CLOSED Then ON
If S_Smp2 CLOSED Then ON
If Output V_FeedTime = ON Then ON
If FeedA 000 Then ON
If FeedB 000 Then ON
If FeedC 000 Then ON
If FeedD 000 Then ON
13EB1 サンプ自動給水サンプの自動給水用電磁弁ROSValveFallback OFF
Set ON
If Output V_FltUpper = OFF Then OFF
If Output V_FltLower2 = OFF Then OFF
If Output V_ROtime = OFF Then OFF
If Output V_FeedTime = ON Then OFF
When On > 004:00 Then OFF
Defer 000:05 Then ON
Defer 000:05 Then OFF
If FeedA 000 Then OFF
If FeedC 000 Then OFF
If FeedD 000 Then OFF
14EB1 サンプ自動給水
自動水溜め
クロノスレインROChargeFallback OFF
Set OFF
If Output WT_Charge = ON Then ON
If Output ROSValve = ON Then ON
If ALD_WT CLOSED Then OFF
クロノスレインの加圧ポンプ及び水道からの電磁弁
15EB1 サンプフィードモードヒーターHeaterFallback OFF
If Temp < RT+0.0 Then ON
If Temp > RT+0.3 Then OFF
If Output V_FeedDL2M = ON Then OFF
If Output Chiller = ON Then OFF
If FeedA 002 Then OFF
If FeedC 002 Then OFF
If FeedD 002 Then OFF
Defer 000:50 Then ON
Defer 000:10 Then OFF
サンプに入れてあるヒーター
16EB1 サンプフィードモードZEOリアクターZEOReactorFallback ON
Set ON
If Output V_FeedDL2M = ON Then OFF
If FeedA 003 Then OFF
If FeedC 003 Then OFF
If FeedD 003 Then OFF
17EB1 サンプスキマークリーナーS_CleanerFallback OFF
Set OFF
If Time 23:00 to 23:02 Then ON
If Time 05:00 to 05:02 Then ON
If Time 11:00 to 11:02 Then ON
If Time 17:00 to 17:02 Then ON
If Output Skimmer = OFF Then OFF
18EB1 サンプ自動水換えサンプからの排水ポンプWT_DrPumpFallback OFF
If Output V_WTCHtgr = ON Then ON
If Output V_WTCHtgr = OFF Then OFF
If Output V_FltLower = OFF Then OFF
When On > 080:00 Then OFF
Defer 003:05 Then ON
PMUP
19EB1 サンプフィードモードスキマーSkimmerFallback ON
Set ON
If Output V_FeedDL60M = ON Then OFF
If Output V_SkimStop = ON Then OFF
If FeedA 060 Then OFF
If FeedC 003 Then OFF
If FeedD 003 Then OFF
バブルキング
20EB2 物入れ空きEB4_1Fallback OFF
Set OFF
21EB2 物入れ自動水溜めみずためバケツ用電磁弁WT_ChargeFallback OFF
Set OFF
If Output V_WTCGtgr = ON Then ON
If Output V_WTFlt = OFF Then OFF
If ALD_WT CLOSED Then OFF
22EB2 物入れ自動水溜めみずためバケツの水流ポンプWT_WaveFallback OFF
Set OFF
If Output V_WT_WvHt = ON Then ON
If Output V_WTCHtgr = ON Then OFF
23EB2 物入れフィードモード水槽用クーラーChillerFallback OFF
If Temp > RT+0.8 Then ON
If Temp < RT+0.6 Then OFF
If Output V_FeedDL2M = ON Then OFF
If FlowMP < 500 Then OFF
If FeedA 002 Then OFF
If FeedC 002 Then OFF
If FeedD 002 Then OFF
Defer 000:50 Then ON
Defer 000:10 Then OFF
ZRW400
24EB2 物入れ物入れのライトDoorLightFallback OFF
Set OFF
If S_Door CLOSED Then ON
If S_Door OPEN Then OFF
25EB2 物入れ空きEB4_6Fallback OFF
Set OFF
26EB2 物入れカルシウムリアクターCRPumpFallback ON
Set ON
If FeedC 005 Then OFF
If FeedD 005 Then OFF
CR-800Rのマグネットポンプ
27EB2 物入れ空きEB4_8Fallback OFF
Set OFF
28VO異常検知カルシウムリアクターのpHチェックV_CO2chkFallback OFF
Set OFF
If Time 02:00 to 02:05 Then ON
If pHCR < 7.20 Then OFF
29VO異常検知ヒーターの稼働時間チェックV_HeaterChkFallback OFF
Set OFF
If Output Heater = ON Then ON
If Output Heater = OFF Then OFF
If Output V_FeedDL60M = ON Then OFF
If FeedA 060 Then OFF
Defer 070:00 Then ON
連続して70分かかるなら、ヒーターの故障と判断
30VO異常検知クーラーの稼働時間チェックV_ChillerChkFallback OFF
Set OFF
If Output Chiller = ON Then ON
If Output Chiller = OFF Then OFF
If Output V_FeedDL60M = ON Then OFF
If FeedA 060 Then OFF
Defer 060:00 Then ON
連続して60分かかるなら、ヒーターの故障と判断
31VO異常検知サンプ水位上限チェックV_UpperChkFallback OFF
Set OFF
If FMM_Op CLOSED Then ON
If FMM_Op OPEN Then OFF
Defer 001:00 Then ON
Defer 000:05 Then OFF
FMM光学センサー
32VO自動給水自動給水制御V_ROtimeFallback OFF
Set OFF
If Time 23:00 to 23:03 Then ON
If Time 05:00 to 05:03 Then ON
If Time 11:00 to 11:03 Then ON
If Time 17:00 to 17:03 Then ON
If Output V_WTCHtgr = ON Then OFF
33VO自動給水サンプの下フロートスイッチ検知2V_FltLower2Fallback OFF
Set OFF
If S_DwF1 CLOSED Then ON
If S_DwF2 OPEN Then OFF
Defer 000:05 Then OFF
34VO自動水溜め自動水溜めのトリガーV_WTCGtgrFallback OFF
Set OFF
If Time 00:01 to 06:00 Then ON
If Output V_WTCGweek = OFF Then OFF
If Output V_WTFlt = OFF Then OFF
35VO自動水溜め水溜めする曜日V_WTCGweekFallback OFF
Set ON
If DoW SMTWTF- Then OFF
If Output V_WTCGnow = ON Then ON
36VO自動水溜め自動水溜めの手動開始V_WTCGnowFallback OFF
Set ON
When On > 999:00 Then OFF
37VO自動水溜めバケツの水流ポンプ&ヒーター用V_WT_WvHtFallback OFF
Set OFF
If Output V_WTFlt = OFF Then ON
If Time 09:00 to 23:59 Then OFF
If Output V_WTCGweek = OFF Then OFF
38VO自動水溜めバケツのフロートスイッチ検知V_WTFltFallback OFF
Set OFF
If S_WF1 OPEN Then ON
If S_WF2 CLOSED Then OFF
Defer 000:10 Then ON
Defer 020:00 Then OFF
39VO自動水換え水換えトリガーV_WTCHtgrFallback OFF
Set OFF
If Output V_ATWTCh = ON Then ON
If Output V_WTCHnow = ON Then ON
If Output V_FeedTime = ON Then OFF
If FeedA 000 Then OFF
If FeedC 000 Then OFF
If FeedD 000 Then OFF
40VO自動水換え水換えスケジュール開始V_ATWTChFallback OFF
Set OFF
If Time 12:00 to 16:00 Then ON
If DoW SMTWTF- Then OFF
OFF
41VO自動水換え水換え手動開始V_WTCHnowFallback OFF
Set ON
When On > 240:00 Then OFF
OFF
42VO自動水換えサンプの下フロートスイッチ検知V_FltLowerFallback OFF
Set OFF
If S_DwF1 OPEN Then ON
If S_DwF2 CLOSED Then OFF
Defer 000:05 Then OFF
43VO自動水換えスキマーOFFV_SkimStopFallback OFF
Set OFF
If Output WT_PumpAT = ON Then ON
If Output V_WTCHtgr = ON Then ON
If Output V_SkimStart = OFF Then ON
If Output V_SkimStart = ON Then OFF
44VO自動水換えスキマーONV_SkimStartFallback OFF
Set ON
If Output WT_DrPump = ON Then OFF
If Output WT_PumpAT = ON Then OFF
Defer 010:00 Then ON
自動水換えしないときはONにする
45VO自動水換えサンプの上フロートスイッチ検知V_FltUpperFallback OFF
Set OFF
If S_UpF1 OPEN Then ON
If S_UpF2 CLOSED Then OFF
Defer 000:05 Then ON
46VO自動水換え給水の流量チェックV_WTFlChkFallback OFF
If Output WT_PumpAT = ON Then ON
If Output V_WTCHtgr = OFF Then OFF
If FlowWT > 10.0 Then OFF
Defer 000:20 Then ON
Min Time 060:00 Then ON
47VO自動水換えみずためから給水ポンプ2WT_PumpATFallback OFF
If Output V_WTCHtgr = ON Then ON
If Output V_WTCHtgr = OFF Then OFF
If Output V_FltUpper = OFF Then OFF
If Output V_WTFlChk = ON Then OFF
If Output V_UpperChk = ON Then OFF
When On > 075:00 Then OFF
Defer 009:00 Then ON
48VOフィードモードフィードーモードのトリガーV_FeedTimeFallback OFF
Set OFF
If Output V_FeedAuto = ON Then ON
If Output V_Feednow = ON Then ON
If FeedA 000 Then OFF
If FeedC 000 Then OFF
If FeedD 000 Then OFF
49VOフィードモード自動給餌のスケジュール開始V_FeedAutoFallback OFF
Set OFF
If Time 07:00 to 07:15 Then ON
If FeedA 000 Then OFF
If FeedC 000 Then OFF
If FeedD 000 Then OFF
OFF
50VOフィードモード自動給餌の手動開始V_FeednowFallback OFF
Set ON
When On > 020:00 Then OFF
OFF
51VOフィードモードAutomatic FeederFeederFallback OFF
Set OFF
If Output V_FeedTime = ON Then ON
If FeedA 000 Then ON
If FeedB 000 Then OFF
If FeedC 000 Then OFF
If FeedD 000 Then OFF
Defer 003:00 Then ON
OFFフィードモードに入って3分待ってから開始する。普段は餌を入れていない
52VOフィードモードフィードモード後の2分待ちV_FeedDL2MFallback OFF
Set OFF
If Output V_FeedTime = ON Then ON
Defer 000:05 Then ON
If Output V_FeedTime = OFF Then OFF
Defer 002:00 Then OFF
53VOフィードモードフィードモード後の10分待ちV_FeedDL10MFallback OFF
Set OFF
If Output V_FeedTime = ON Then ON
Defer 000:05 Then ON
If Output V_FeedTime = OFF Then OFF
Defer 010:00 Then OFF
54VOフィードモードフィードモード後の60分待ちV_FeedDL60MFallback OFF
Set OFF
If Output V_FeedTime = ON Then ON
If Output V_FeedTime = OFF Then OFF
Defer 060:00 Then OFF
55VOその他日中帯V_DaylightFallback OFF
Set OFF
If Time 21:45 to 08:15 Then ON
もとはTunzeのProfile用
56VOその他シーズンテーブルテスト用V_RT_UpperFallback OFF
If Temp > RT+0.8 Then ON
If Temp < RT+0.5 Then OFF
57VOその他シーズンテーブルテスト用V_RT_LowerFallback ON
If Temp < RT+0.0 Then ON
If Temp > RT+0.3 Then OFF
58VOその他未使用LinkA_11_1Set OFF
59VOその他未使用LinkA_14_1Set OFF
60VOその他未使用V5Fallback OFF
Set OFF
61VOその他未使用V6Fallback OFF
Set OFF
62VOその他未使用V7Fallback OFF
Set OFF
63VOその他未使用V8Fallback OFF
Set OFF


といった感じです

あとI/O Breakout Boxのスイッチ系はこんな感じです
S_Smp1、S_Smp2 : キャビネットのドアスイッチ(どちらか開けばサンプ内のライトが点く
S_UpF1、S_UpF2 : サンプのフロートスイッチ(上限側)
S_DwF1、S_DwF2 : サンプのフロートスイッチ(下限側)
S_Door : 物入れのドアスイッチ
S_WF1、S_WF2 : バケツのフロートスイッチ
それ以外は未使用です



B!
★Neptune Apex★ | コメント:(0) | トラックバック:(0)

自動水溜めの改善とGoogle Homeで時間指定起動

2018-03-04
以前の記事、「水換え用のRO水を自動でためる&ALD」のとおり、APEXを使って土曜日や日曜日に自動的にRO水を溜めるようにしています。たまに連日水換えしたいと思うことがありますが、毎回APEXのプログラムを書き換えていました

今回はGoogle Homeに対して喋るだけで、その日の夜に水を溜めるようにしたいと思います。

■APEXプログラム

ひとまず関連するVirtual Outletはこんな感じです。
20180304_010.jpg

以前使っていた、V_WTChTimeはV_WTCGtgrに名前を変更しています。APEXはOutletの名前を変えると、関連するOutletも名前を自動で変えてくれます

変更のあった箇所は赤字にしてあります

-----自動給水タイマー(電磁弁) ROCharge-----
Fallback OFF
Set OFF
If Outlet WT_Charge = ON Then ON
If Outlet ROSValve = ON Then ON
If ALD_WT CLOSED Then OFF

クロノスレインにある電磁弁と加圧ポンプを制御します。ROSValveはサンプへの自動給水の場合で、一日4回ONになります。バケツで水漏れがあったら問答無用でOFFになります

-----みずため電磁弁 WT_Charge-----
Fallback OFF
Set OFF
If Output V_WTCGtgr = ON Then ON
If Output V_WTFlt = OFF Then OFF
If ALD_WT CLOSED Then OFF

バケツ用の電磁弁です。トリガーでON

-----みずため水流ポンプ WT_Wave-----
Fallback OFF
Set OFF
If Output V_WT_WvHt = ON Then ON
If Output V_WTCHtgr = ON Then OFF

バケツの中の水流ポンプです。今はNWAを使っています。ヒーターと連動はできますが、今はヒーター用意していません

-----みずためから給水 WT_PumpAT-----
Fallback OFF
If Output V_WTCHtgr = ON Then ON
If Output V_WTCHtgr = OFF Then OFF
If Output V_FltUpper = OFF Then OFF
If Output V_WTFlChk = ON Then OFF
If Output V_UpperChk = ON Then OFF
When On > 075:00 Then OFF
Defer 009:00 Then ON

バケツから水槽に入れるためのPMUPです。自動水換えに使うので大きく変更しました

-----みずためヒーター WT_Heater-----
自動水換えにしたので廃止


-----バケツ給水トリガー V_WTCGtgr(旧V_WTChTime)-----
Fallback OFF
Set OFF
If Time 00:01 to 06:00 Then ON
If Output V_WTCGweek = OFF Then OFF
If Output V_WTFlt = OFF Then OFF

バケツに水を溜める時間を制御します。何曜日に水を溜めるかはV_WTCGweekで制御します

-----バケツ手動トリガー V_WTCGnow-----
Fallback OFF
Set ON
When On > 999:00 Then OFF

今日の夜は水を溜めたいって時に使います。普段はOFFにします。Google HomeからONにするのはこれですね。When ONの指定は999分…約16時間までしかONを維持できません。この問題はhubot側で解決します。APEXだけでなんとかする方法は…22時ぐらいまで待って手動でAUTOにするぐらいです

-----水溜めする曜日 V_WTCGweek-----
Fallback OFF
Set ON
If DoW SMTWTF- Then OFF
If Output V_WTCGnow = ON Then ON

水溜めする曜日を定義します。標準では土曜日にしてありますが、V_WTCGnowをAUTOにしていればその日に水溜めも可能です

-----バケツのフロートスイッチ検知 V_WTFlt-----
Fallback OFF
Set OFF
If S_WF1 OPEN Then ON
If S_WF2 CLOSED Then OFF
Defer 000:10 Then ON
Defer 020:00 Then OFF

バケツのフロートスイッチを制御します。フロートスイッチのどちらかがCLOSEDになるとOFFになります。Deferで20分を指定して、水が多めに入るようになっています(ギリギリだとON/OFFを繰り返すことになるので)。また、フロートスイッチをちょっと触るとそれでONに変わることがあったので、ONにするときも10秒の待ちを作ってあります

-----水流ポンプ&ヒーター V_WT_WvHt-----
Fallback OFF
Set OFF
If Output V_WTFlt = OFF Then ON
If Time 09:00 to 23:59 Then OFF
If Output V_WTCGweek = OFF Then OFF

水流ポンプを制御します。曜日の指定と、フロートスイッチを条件にしていますので、9時を過ぎたら自動でOFFになりますし、9時前に水換えをはじめたときでも、水が減ってフロートスイッチがOpenになるので、ちゃんとヒーターは切れます
空焚きしたらヒーターは使えなくなってしまうので重要ですね

■Google Homeで制御

ではGoogle Homeから水溜めを開始できるようにしていきます。

ひとまずbin配下にシェルスクリプトを配置します。ここでは上記で定義しているV_WTCGnowをAUTOにできるようにしています。なお/home/myhubot/binのパスは環境に合わせて変えてください

#!/bin/sh
# 水溜め開始

# 対象のAPEX Outlet
TGT_OUTLET=V_WTCGnow
# 変更したいモード 0=Auto 1=OFF 2=ON
TGT_MODE=$1
# 普段使用しているモード 0=Auto 1=OFF 2=ON
DEF_MODE=1
# 変更したモードを戻すまでの待ち時間(SLEEPへの引数)
WAIT=9h

/home/myhubot/bin/apexcontrol.sh $TGT_OUTLET $TGT_MODE $DEF_MODE $WAIT


そのあと実行権限をつけておきます。
chmod 755 /home/myhubot/bin/apex_wtcgnow.sh

あとの作業のために、関連するモジュールはアップデートしておきます
sudo systemctl stop homebot
sudo npm update
sudo npm update -g
npm install hubot-broadlink-rm@latest

コマンドを登録しておきます
bin/hubot
homebot command apex:wtcgnow bin/apex_wtcgnow.sh "#"

コマンドのテストします。これでOutletがON/OFFされればOKです
homebot send apex:wtcgnow(0)
homebot send apex:wtcgnow(1)
exit

そのあと、DBを保存
redis-cli save

最後にサービスを再起動しておきます
sudo systemctl restart homebot

もしうまくOutletが動かないときは、以下のコマンドでどこでエラーになったのか判りますのでやってみてね(デバッグモードでシェルスクリプトを実行します)
sh -x /home/myhubot/bin/apex_wtcgnow.sh 1

あとはIFTTTで起動キーワードを登録します。(クリックで拡大)
20180304_020.jpg
Google Homeに話しかけてみて、うまく認識されるか試してください。

今回IFTTTでポイントとなるのは[23:55]の部分です。
send [23:55] apex:wtcgnow(0)

hubot-broadlink-rmのバージョンアップで実装されていて、指定した時間になるまで待つことができます。このおかげで、「バケツに水をためて」といったらすぐに水を溜めはじめるのではなく、その日の夜になるまで待ってから水を溜め始めるってことができます。
注意点としては、hubotのサービスを再起動したりするとそれを忘れてしまうことぐらいでしょうか

あとGoogle Homeに任意の言葉を喋らせることができます。
詳細は「Google_Homeの喋らせ方」を見てください。

ただしうちではうまくsay.jsが動かなかったので、Google Homeを検索せずにIPアドレスを直接指定する方法にしています。
#!/usr/local/bin/node
const home   = require('google-home-notifier');
const argv   = process.argv;
const text   = argv[2] || '';
const lang   = argv[3] || 'ja';
const device = argv[4] || '';

home.ip("192.168.1.26");
home.device(device, lang);
home.notify(text, (res) => console.log('said '+ text));


なおエラーになるのはGoogle Homeの検索がうまくいかないからのようなので、該当のソースを書き換えれば良いです。

これを使って、フィードモードで残り時間を教えてくれるようにしました(クリックで拡大)
20180304_040.jpg

フィードモードは20分なので、5分毎に喋らせれば良いだけです
send apex:feednw(0) [5m] say(あと15分です) [5m] say(あと10分です) [5m] say(あと5分です) [4m] say(もうすぐ再開します) [10s] apex:feednw(1)

ただし元のfeed(0)だとsleepでひたすら待ち続けることになるので、そうじゃないバージョンを作る必要があります
以下をbin配下に格納して実行権限を付けてください

こちらはsleepしないバージョンです
#!/bin/sh
# 対象のAPEX Outlet
TGT_OUTLET=$1
# 変更したいモード 0=Auto 1=OFF 2=ON
TGT_MODE=$2
# 普段使用しているモード 0=Auto 1=OFF 2=ON
DEF_MODE=$3
# 変更したモードを戻すまでの待ち時間(SLEEPへの引数)
WAIT=$4

if   [ "$TGT_MODE" = "$DEF_MODE" ]; then
	/home/myhubot/bin/apexconnect.sh $TGT_OUTLET $TGT_MODE
else
	/home/myhubot/bin/apexconnect.sh $TGT_OUTLET $TGT_MODE
fi



そしてそれを呼び出すようにします
#!/bin/sh
# FEED Mode 汎用

# 対象のAPEX Outlet
TGT_OUTLET=V_Feednow
# 変更したいモード 0=Auto 1=OFF 2=ON
TGT_MODE=$1
# 普段使用しているモード 0=Auto 1=OFF 2=ON
DEF_MODE=1
# 変更したモードを戻すまでの待ち時間(SLEEPへの引数)
WAIT=21m

/home/myhubot/bin/apexcontrol_nw.sh $TGT_OUTLET $TGT_MODE $DEF_MODE $WAIT


あとはコマンド登録すれば良いです
homebot command apex:feednw bin/apex_feed_nw.sh "#"

こっちのコマンドは元のモードには戻しませんので、戻し忘れ注意です

hubot-broadlink-rmのおかげで色々便利になりますね。

この他、「赤外線信号のタイミングを調整する」にあるとおり、起動時間そのものを口頭指示できたりします。



B!
★Neptune Apex★ | コメント:(2) | トラックバック:(0)

APEXで1回きりのOutlet実行、自動OFF

2018-02-27
APEXで1回きりのOutlet実行、自動OFF

APEXを使っていて、例えば「水換えを今すぐ開始したい」、「自動給餌を今すぐ行いたい」って時が結構あります。それらのトリガー用Virtual Outletを用意してあったとしても、あとで手動でOFFにする必要がありますがそれを改善したいと思います。Google Homeのトリガーもこれを使っています

まぁ1年前ぐらいにやってあったのですが、紹介し忘れていましたので書いておきます

なお元の記事はこんな感じです。プログラムを比べてみてください
APEXを使った自動水換えシステム!
Automatic Feeding System


■ポイント
手動でOFFが不要になるポイントはWhen命令です。この命令は指定した時間(ここでは240分…4時間)経過したら強制的にOutletがOFFとなります
-----V_WTCHnow-----
Fallback OFF
Set ON
When On > 240:00 Then OFF


本来は自動給水でセンサー故障により給水しすぎたとき、自動停止させるために使います。その応用ですね。去年のファームウェア更新で実装されています
なお強制停止したあとはエラーとして記録されますので、E-mail送信やアラーム鳴らすってことができます
If Error V_WTCHnow Then ON

■自動水換えの開始トリガー
とりあえず実装した結果はこんな感じです
20180227_020.jpg

まずは自動水換えを手動でスタートさせるトリガーとなるのはこちらです。4時間経過したら止まります
-----水換え手動開始 V_WTCHnow-----
Fallback OFF
Set ON
When On > 240:00 Then OFF


これに伴って、それぞれ書き換えたので再掲しておきます

自動水換えをスケジュール起動させるトリガーです。スケジュールで水換えしない場合はOFFにしておきます。この設定では土曜日の12時から開始されます
-----水換えスケジュール開始 V_ATWTCh-----
Fallback OFF
Set OFF
If Time 12:00 to 16:00 Then ON
If DoW SMTWTF- Then OFF


そしてこれが水換えトリガーです。V_WTCHnowとV_ATWTChの両方どちらかがONなら水換えを開始するようにします
-----水換えトリガー V_WTCHtgr-----
Fallback OFF
Set OFF
If Output V_ATWTCh = ON Then ON
If Output V_WTCHnow = ON Then ON

If Output V_FeedTime = ON Then OFF
If FeedA 000 Then OFF
If FeedC 000 Then OFF
If FeedD 000 Then OFF


あと、以前はV_ATWTChが水換えトリガーだったので、それぞれV_WTCHtgrに書き換えます
-----みずためから給水ポンプ2 WT_PumpAT-----
Fallback OFF
If Output V_WTCHtgr = ON Then ON
If Output V_WTCHtgr = OFF Then OFF

If Output V_FltUpper = OFF Then OFF
If Output V_WTFlChk = ON Then OFF
If Output V_UpperChk = ON Then OFF
When On > 075:00 Then OFF
Defer 009:00 Then ON


排水については、給水と同時に行うようにしました。「If Output WT_PumpAT = ON Then OFF」を消しただけです。以前は給水して水位が上がってから排水していましたが、時間がかかるのでスピードアップのためです。どちらでも良いかと思います
-----排水ポンプ WT_DrPump-----
Fallback OFF
If Output V_WTCHtgr = ON Then ON
If Output V_WTCHtgr = OFF Then OFF

If Output V_FltLower = OFF Then OFF
When On > 080:00 Then OFF
Defer 003:05 Then ON


これは変えていませんが再掲
-----サンプの上フロートスイッチ検知 V_FltUpper-----
Fallback OFF
Set OFF
If S_UpF1 OPEN Then ON
If S_UpF2 CLOSED Then OFF
Defer 000:05 Then ON


これも再掲
-----サンプの下フロートスイッチ検知 V_FltLower-----
Fallback OFF
Set OFF
If S_DwF1 OPEN Then ON
If S_DwF2 CLOSED Then OFF
Defer 000:05 Then OFF


-----給水の流量チェック V_WTFlChk-----
Fallback OFF
If Output WT_PumpAT = ON Then ON
If Output V_WTCHtgr = OFF Then OFF
If FlowWT > 10.0 Then OFF
Defer 000:20 Then ON
Min Time 060:00 Then ON


給水も排水もしていない時は、プロテインスキマーをONにするように修正しました
-----スキマーOFF V_SkimStop-----
Fallback OFF
Set OFF
If Output WT_PumpAT = ON Then ON
If Output V_WTCHtgr = ON Then ON
If Output V_SkimStart = OFF Then ON
If Output V_SkimStart = ON Then OFF


これは前無かったと思います。給水も排水もしていない時は、プロテインスキマーをONにします。水換えが早めに終わったらスキマーを自動再開させるためです
-----スキマーON V_SkimStart-----
Fallback OFF
Set ON
If Output WT_DrPump = ON Then OFF
If Output WT_PumpAT = ON Then OFF
Defer 010:00 Then ON


こちらはそのまま(自動給餌の設定が追加にはなっていますが)
-----スキマー Skimmer-----
Fallback ON
Set ON
If Output V_FeedDL60M = ON Then OFF
If Output V_SkimStop = ON Then OFF
If FeedA 060 Then OFF
If FeedC 003 Then OFF
If FeedD 003 Then OFF


-----自動給水 V_ROtime-----
Fallback OFF
Set OFF
If Time 23:00 to 23:03 Then ON
If Time 05:00 to 05:03 Then ON
If Time 11:00 to 11:03 Then ON
If Time 17:00 to 17:03 Then ON
If Output V_WTCHtgr = ON Then OFF


■自動給餌の開始トリガー
実装した結果はこんな感じです
20180227_020.jpg

構造は同じですね

こちらがフィードモードを手動で開始するトリガーです。20分で停止します
-----自動給餌の手動開始 V_Feednow-----
Fallback OFF
Set ON
When On > 020:00 Then OFF


こちらがスケジュールで起動する場合です。AFSで給餌するだけなので、15分で再開です
-----自動給餌のスケジュール開始 V_FeedAuto-----
Fallback OFF
Set OFF
If Time 07:00 to 07:15 Then ON
If FeedA 000 Then OFF
If FeedC 000 Then OFF
If FeedD 000 Then OFF


上記のV_FeednowとV_FeedAutoを統合して、どちらかONなら開始します
-----自動給餌のトリガー V_FeedTime-----
Fallback OFF
Set OFF
If Output V_FeedAuto = ON Then ON
If Output V_Feednow = ON Then ON

If FeedA 000 Then OFF
If FeedC 000 Then OFF
If FeedD 000 Then OFF


復帰後の待ち時間用はこちらです。これは2分待ち
-----2分待ち V_FeedDL2M-----
Fallback OFF
Set OFF
If Output V_FeedTime = ON Then ON
Defer 000:05 Then ON
If Output V_FeedTime = OFF Then OFF
Defer 002:00 Then OFF


同じく10分待ち。メール送信を止めるために使います
-----10分待ち V_FeedDL10M-----
Fallback OFF
Set OFF
If Output V_FeedTime = ON Then ON
Defer 000:05 Then ON
If Output V_FeedTime = OFF Then OFF
Defer 010:00 Then OFF


同じく60分待ち。スキマー停止に使います
-----60分待ち V_FeedDL60M-----
Fallback OFF
Set OFF
If Output V_FeedTime = ON Then ON
If Output V_FeedTime = OFF Then OFF
Defer 060:00 Then OFF


AFSそのものは変更ありません
-----AFS Feeder-----
Fallback OFF
Set OFF
If Output V_FeedTime = ON Then ON
If FeedA 000 Then ON
If FeedB 000 Then OFF
If FeedC 000 Then OFF
If FeedD 000 Then OFF
Defer 003:00 Then ON


FeedAが定義されている各機材に対して、この待ち用Outletを定義します。例えばこんな感じ
-----ROの電磁弁 ROSValve-----
Fallback OFF
Set ON
If Output V_FltUpper = OFF Then OFF
If Output V_FltLower2 = OFF Then OFF
If Output V_ROtime = OFF Then OFF
If Output V_FeedTime = ON Then OFF
When On > 004:00 Then OFF
Defer 000:05 Then ON
Defer 000:05 Then OFF
If FeedA 000 Then OFF
If FeedC 000 Then OFF
If FeedD 000 Then OFF


2分待ちさせたい機材は定義するOutletを変えればOKです
-----メインポンプ MainPump-----
Fallback ON
Set ON
If Output V_FeedDL2M = ON Then OFF
If FMM_Lk CLOSED Then OFF
Defer 000:10 Then ON
Defer 000:10 Then OFF
If FeedA 001 Then OFF
If FeedC 001 Then OFF
If FeedD 001 Then OFF


スキマーは60分待ちです
-----スキマー Skimmer-----
Fallback ON
Set ON
If Output V_FeedDL60M = ON Then OFF
If Output V_SkimStop = ON Then OFF
If FeedA 060 Then OFF
If FeedC 003 Then OFF
If FeedD 003 Then OFF


といった感じです。ちょっと長いですがこんな感じでできます



B!
★Neptune Apex★ | コメント:(0) | トラックバック:(0)

Google HomeとAPEXの連携

2018-02-21
ちょっと今さらですがスマートスピーカーのGoogle Homeを購入してみましたので、どうせならとAPEXと連携できるようにしてみました
20180221_010.jpg

どんな感じになったかはとりあえずこの動画を見てみてください。ちょっと未来的な感じになってると思いますw


あとはこちらを見てみてください。
Google Homeで出来る22の事と使い方・音声コマンド例のまとめ(1/21更新)

単独でもそこそこ便利で結構多機能ですが、どうせならと水槽の機材やテレビ、照明、エアコンを操作できるようにしました
APEXでたまに照明等のOutletを個別操作しますが、戻し忘れが嫌ですし、意図せずAUTOで使うべきOutletを操作していたというのも怖いですよね。今回の方法では照明やVortech、スキマー等の特定の機材だけ操作できるようにしました。また、一定時間経過したらAUTOに戻すという機能も付けています。

実施方法は以下のサイトを参考にさせていただきました。先人達に感謝
Smart Homeさん
R2Rのこちらのスレッド

■はじめに…APEXの操作ってどうやるの?

APEXはAPEXのWeb画面にアクセスするか、APEX FUSIONからアクセスしてOutlet操作するのが基本です。Google Homeから操作するなら、このWeb画面の操作をせずに直接変更が必要になります
20180221_030.jpg

20180221_040.jpg


その直接操作のキモとなるUNIXコマンドはこれです。(R2Rのスレッドより)
curl -X POST --user admin:PASSWORD http://APEX_LOCAL_IP:APEX_PORT/status.sht?ATO_state=1&Update=Update

cURLはWebサイトにコマンドラインから手軽にアクセスする素敵ツールです。ここでは、自宅のネットワークにあるAPEXに対してOutletを操作しています。
ATO_stateはAPEXのOutletの名前、そのあとの=1がOFFにするって意味です。これが=0ならAUTO、=1ならOFF、=2ならONとなります。

なので例えばうちの環境なら
http://192.168.1.50:8081/status.sht?T5_FAN_state=2&Update=Update
とすると水槽のT5が点灯し、
http://192.168.1.50:8081/status.sht?T5_FAN_state=1&Update=Update
とすると水槽のT5を消すことができます

Google Homeに「水槽の照明をつけて」と言ったら、それに連動して上記のコマンドを発行してあげるようにしたら、Google Homeから水槽照明を操作できたってことになります

■連携イメージ

連携イメージはこんな感じです。クリックで拡大します
20180221_070.jpg

キモになるのは自宅サーバの部分です。ここから上のcurlコマンドを実行します
負荷が少ないのでFireTVのようなAndroidベースの動画プレイヤーで実現できます。小型で省エネですね。NetflixやYoutubeとかもサクサク見られるので便利ですよ
もちろん、Linux系のOS(Ubuntuとか)をパソコンに入れても良いですし、MacもBSD UNIXベースなのでそれでも良いです。Windows 10ならストアアプリにUbuntuがありますのでそれでもできます。でも24時間動かし続ける必要があるので、やはり小型の装置の方が良いですね。ラズベリーパイという学習用の小型PCもありますが、インストールに結構慣れが要ります

連携はインターネットのIFTTT(イフト)というサービスを使います。IFTTTは様々なネットサービス同士を連携できるサイトで、例えばTwitterのフォロワーが増えたらGmailを送るとか、Instagramで写真を投稿したら、Twitterにも同じ写真を掲載するといったことに使えます。ネットサービスの数が数百連携できるので非常に便利なサイトです
設定はこんな感じ
20180221_050.jpg

あとslackはビジネス向けのチャットサイトです
今回のケースでは、Google Homeに「水槽の照明を点けて」と話したら、slackで命令を話すという連携に使います。その命令を自宅のサーバーで受け取って連携する感じですね(hubotという、チャットボットが受け取ります)
20180221_060.jpg

slackを使うと何が良いかというと… R2Rの方法だと自宅サーバーのWebサイトを外部に公開(ルーターの設定変更)しないとできません。パスワードを設定するとは言えちょっとリスクがあります。slackを使うとルーターの設定変更せずに、命令を受け取ることができます

なお自宅のテレビ、照明、エアコンを連携させる方法はこんな感じです。eRemote mini(海外だとRM Mini3)はwifi付きの学習リモコンで、テレビとかの赤外線信号を学習して、それを発信する機能があります。学習リモコンは、赤外線リモコンなら何でも覚えてくれるので、赤外線を使っている機材ならどんなものでも操作できるようになりますね
20180221_020.jpg
※大きく見えますが実物は7cm程度と小さいです

構成はこんな感じなので、同じ仕組みでできます
20180221_080.jpg


■必要なもの
・水槽操作用:APEX
・声で操作用:Google Home(またはGoogle Home mini)
・赤外線操作用:eRemote mini(海外だとRM Mini3)
・赤外線学習用:テレビ、室内照明、エアコンのリモコン
・自宅サーバー用:FireTV BOX(FireTV Stickも可)や、UNIX/Linux系OSが動くもの

あると良いもの
・Chromecast(YoutubeやNetflix動画を見るときに)

■構築手順

手順はこんな感じです。順番に実施してください。順番にやっていくとeRemote mini(海外だとRM Mini3)の設定も一緒にできてしまいます。

Fire TV Stickをhubotサーバ化してRM Mini3を操作する

hubotの雛形の生成

hubotでRM Mini3を操作する

SlackでRM Mini3を操作する

Google HomeでRM Mini3を操作する

Rasberry Piの起動時にhubotも自動的に起動させる

ここまで来るとテレビ等の赤外線操作がGoogle Homeでできるようになっているはずです。

■APEXの操作下準備

APEXを操作するためにcurlコマンドを実行するシェルスクリプトを用意します
以下に示すのでコピペしてください。#!/bin/shのところが1行目で、apexconnect.shといった名前で保存してください
全て ~/homebot/bin 配下に格納して、chmod 755 ~/homebot/bin/*.sh で実行権限を付けてください

まずはcurlを発行するシェルスクリプトです
#!/bin/sh
OUTLET=$1
COMMAND=$2
(curl -X POST --user admin:PASSWORD http://APEX_LOCAL_IP:APEX_PORT/status.sht?${OUTLET}_state=${COMMAND}&Update=Update ) > /dev/null 2>&1
exit 0


※PASSWORDと、APEX_LOCAL_IP:APEX_PORTは環境に合わせて書き換えてください。

Outletを操作するためのシェルスクリプトです。重要なのは普段使っているモード以外を指定すると、一定時間後に戻すようになっているってことです。Outletが普段はAUTOで使っていて、Google HomeからONにしたけど1時間経過したら自動でAUTOに戻すって使い方になります。消したままトラブルなんてことはいやなので…
#!/bin/sh
# 対象のAPEX Outlet
TGT_OUTLET=$1
# 変更したいモード 0=Auto 1=OFF 2=ON
TGT_MODE=$2
# 普段使用しているモード 0=Auto 1=OFF 2=ON
DEF_MODE=$3
# 変更したモードを戻すまでの待ち時間(SLEEPへの引数)
WAIT=$4

if   [ "$TGT_MODE" = "$DEF_MODE" ]; then
	/home/myhubot/bin/apexconnect.sh $TGT_OUTLET $TGT_MODE
else
	/home/myhubot/bin/apexconnect.sh $TGT_OUTLET $TGT_MODE
	sleep $WAIT
	/home/myhubot/bin/apexconnect.sh $TGT_OUTLET $DEF_MODE
fi


そしてOutlet毎にスクリプトを定義します。ここではT5用です
#!/bin/sh
# T5照明

# 対象のAPEX Outlet
TGT_OUTLET=T5_FAN
# 変更したいモード 0=Auto 1=OFF 2=ON
TGT_MODE=$1
# 普段使用しているモード 0=Auto 1=OFF 2=ON
DEF_MODE=0
# 変更したモードを戻すまでの待ち時間(SLEEPへの引数)
WAIT=1h

/home/myhubot/bin/apexcontrol.sh $TGT_OUTLET $TGT_MODE $DEF_MODE $WAIT



こちらはスキマー用
#!/bin/sh
# Skimmer
TGT=Skimmer

# 対象のAPEX Outlet
TGT_OUTLET=Skimmer
# 変更したいモード 0=Auto 1=OFF 2=ON
TGT_MODE=$1
# 普段使用しているモード 0=Auto 1=OFF 2=ON
DEF_MODE=0
# 変更したモードを戻すまでの待ち時間(SLEEPへの引数)
WAIT=1h

/home/myhubot/bin/apexcontrol.sh $TGT_OUTLET $TGT_MODE $DEF_MODE $WAIT


こちらはフィードモード用です
#!/bin/sh
# FEED Mode A

# 対象のAPEX Outlet
TGT_OUTLET=V_Feednow
# 変更したいモード 0=Auto 1=OFF 2=ON
TGT_MODE=$1
# 普段使用しているモード 0=Auto 1=OFF 2=ON
DEF_MODE=1
# 変更したモードを戻すまでの待ち時間(SLEEPへの引数)
WAIT=30m

/home/myhubot/bin/apexcontrol.sh $TGT_OUTLET $TGT_MODE $DEF_MODE $WAIT



といった感じで用意します。

そのあと、hubotでコマンドを定義します。

cd ~/homebot
bin/hubot

homebot command apex:vortech bin/apex_vortech.sh "#"
homebot command apex:t5 bin/apex_t5.sh "#"
homebot command apex:led bin/apex_led.sh "#"
homebot command apex:skimmer bin/apex_skimmer.sh "#"
homebot command apex:wtchnow bin/apex_wtchnow.sh "#"
homebot command apex:feed bin/apex_feed.sh "#"
homebot command apex:ro bin/apex_ro.sh "#"

登録されたことはこれで確認します
homebot list

といった感じでコマンドとシェルスクリプトを関連付けます。
ここではVortechポンプ、T5、スポットLED、自動水換え、フィードモード、RO浄水器を制御できるようにしてあります

あとは
send apex:t5(2)
とhubotに指示すればT5が点き、
send apex:t5(1)
とすればT5が消え、
send apex:t5(0)
とすればT5が自動制御に戻ります

■IFTTT登録

ではIFTTTでどの日本語キーワードに反応するのかを定義していきます。もしExcelからインポートができたりすると楽なんですが、どうやら一個一個コピペしないとだめみたいですね…

登録方法は
Google HomeでRM Mini3を操作する
と全く同じです。
違うのはslackに渡す文字が
send apex:t5(2)
になるだけです。

ひとまず定義してあるのはこんな感じです。クリックで拡大します
APEXだけじゃ無く、半分から下側は赤外線で操作する家電たちです。多少言葉がぶれても良いようにキーワード多めに定義してあります。
20180221_100.jpg

具体的な登録内容はこんな感じ。こちらは日本語キーワード
20180221_110.jpg

こちらはslackに伝えるメッセージ内容です。指示内容はシンプルですね
20180221_120.jpg

これでGoogle Homeから操作できるはずです。うまくできたかGoogle Homeに話しかけて試してみてください

■なんか大変そう?
ここまで紹介してきましたが、これらのことがGoogle Homeでないとできないのか?というとそんなことはありません

スマートフォンなら、Google Assistantアプリ、iPhoneならSiri、
家で使うならAmazon Echo、Apple Homepodから同じようなことはできます(たぶん… IFTTTと連携させれば良いので…)
Google Home買う前にちょっと試したいと思ったら、Android スマートフォンでGoogle Assistantアプリを使ってみてください。
使い勝手は同じです

あと、eRemote mini(海外だとRM Mini3)を使うのに自宅サーバーが必須なのかというとそんなことはありません。実はGoogle Homeと直接連携できますので、Androidアプリから設定すればIFTTT無しで連携できます
今回のケースではAPEXと連携するためにIFTTTが必要なので、eRemote mini(海外だとRM Mini3)もついでに設定しています。また「テレビの音量を 3 あげて」と言った感じで n 上げる、下げる指示ができるのも良いところです。チャンネルも同じ感じでできます

これらの設定はちょっと大変ではありますが、やり遂げると家の中がちょっと未来的な感じになって楽しいです。ついでにLinuxの使い方も何となく判るのでお勧めですw

Neptune Systems社のAPEX FUSIONとGoogle Homeが直接連携してくれればここまで苦労しないのですが… そうなるまではこういった方法でしか連携できません
RadionやHydraとかのLED照明は単純なON/OFF制御じゃないのでできません。これもそれぞれEcoSmart LiveやmyAIのサイトと連携ができないとどうしようも無い感じ… 待ちましょう

■利用範囲を拡大
ここまで来たら色々とやってみたくなると思います。
例えば…
・Google Home miniを寝室にも置いて、寝室からでも操作できるようにする(アラームは寝室の方が良いですし、リビングのエアコンを事前に点けるとかもできますね)
・IFTTTでエアコンをタイマー起動する
・人感センサーで照明やテレビを自動で点けてみる
・壁のスイッチを小型ロボット操作
・スマートコンセントでタイマー&リモート操作
・Twitterでメッセージをもらったら、Google Homeに話してもらう
等々、組み合わせて色々とできちゃう世の中になってきています。便利になってきましたね



B!
★Neptune Apex★ | コメント:(0) | トラックバック:(0)

ふるさと納税2017

2018-01-14
アクア関係無しです。2017年のふるさと納税の記録です。Twitterに載せていたもののまとめです。2018年にふるさと納税するなら参考になるかも

■北海道 寿都町

2016年と同じく寿都町から届きました。夏が旬ですね
20180114_010.jpg

ふるさと納税は還元率の是正があったので、同じ寄付の額でも量は減っていますが…
20180114_020.jpg

やっぱり雲丹は美味しい
20180114_030.jpg

エゾバフンウニの瓶詰めも良いです
20180114_040.jpg

あとはまたもいくら
20180114_050.jpg

2017年はかなり高価になっていましたが、2018年はどうなるかな
20180114_060.jpg

でも無くなるのは早い
20180114_070.jpg

■北海道 羅臼町

年末ぐらいにもらった時鮭の親子漬けです。価格高騰の影響か、いくらは結構減少していましたね
20180114_080.jpg

■岩手県 北上市

はじめてお米を依頼しました。お米は銘柄で色々味が違うようなのでいろいろ試してみたい…(あきたこまちにひとめぼれを読んで)
20180114_090.jpg

■群馬県 渋川市

あとは今年も温泉です。寒い日にゆっくり露天風呂につかるの良いですね。今年は忙しかったのでゆっくりしたかった

渋川市にある伊香保温泉に行きましたに行きました。雪が降りそうな天気です
20180114_100.jpg

ちなみに翌日は良い天気
20180114_110.jpg

階段街 上から
20180114_120.jpg

ひよこ隊長がたくさん。ちなみにここはゴミ集積場です
20180114_125.jpg

伊香保神社にお参り
20180114_130.jpg

20180114_140.jpg

河鹿橋。紅葉の季節だともっと映えそうですね。ちなみに行ったのは12月です
20180114_150.jpg

足湯無いなとおもっていたら階段街で発見
20180114_160.jpg

鉄分が多いので金色です
20180114_170.jpg

ちなみに温泉が流れ込む川も同じ色です
20180114_180.jpg

お昼はうどんです
20180114_190.jpg

もち豚うどんを注文しました
20180114_200.jpg

12月の伊香保温泉はかなり寒いので暖まりますね
20180114_210.jpg

階段街で見つけた猫。結構元気そうでした
20180114_220.jpg

毛艶が良いですね
20180114_230.jpg

旅館の部屋はこんな感じです。外観と比べると部屋や建物の中は綺麗なところが多いかな
20180114_240.jpg

一応内風呂付きでした
20180114_250.jpg

榛名湖です。榛名湖イルミネーションフェスタ中でした
20180114_260.jpg

山の上なので結構雪が積もっているうえに吹雪
20180114_270.jpg

湖の上にもライトアップされていて綺麗でした
20180114_280.jpg

山の上までライトアップされていて結構規模が凄い
20180114_290.jpg

奥の方には出店+食べるところがあります。凄く寒いので助かりますね
20180114_300.jpg

防寒着、手袋、カイロぐらいは無いと辛いかも
20180114_310.jpg

夜の階段街 こちらもライトアップされていて良い雰囲気です
20180114_320.jpg

夕食は上州牛
20180114_330.jpg

あとお酒
20180114_340.jpg

20180114_350.jpg

20180114_360.jpg

20180114_370.jpg

ネギの真っ黒焼き 甘さが良いです
20180114_380.jpg

伊香保グリーン牧場に行ってきました
20180114_390.jpg

シープドッグショーが楽しい
20180114_395.jpg

遠くの羊たちが牧羊犬に追い立てられて
20180114_400.jpg

あっという間に迫ってきます
20180114_410.jpg

観客席まで来るの楽しい
20180114_420.jpg

羊かわいい
20180114_430.jpg

でもおいしい(これは牛と豚ですが)
20180114_440.jpg

お土産。うどん好き
20180114_450.jpg

レアなこけし
20180114_460.jpg

といった感じでした。2018年もどこに寄付するか悩みますね



B!
その他 | コメント:(0) | トラックバック:(0)

キャビネットにプッシュラッチ取り付け

2017-11-04
テレビの台とかで良くありますが、キャビネットの扉を押したらぽんと開く…そういうのが楽で良いです。レッドシーのキャビネットには標準装備だったりしますが、他のメーカーではあまり見られません。というわけで、取り付けてみました

とりあえず動画です

今回は楽天で以下を購入しました。
・ITALIANA スリムプッシュラッチ IT4523型 マグネット受座 【IT4523-872】 粘着テープタイプ(IT4523-872)
・ITALIANA スリムプッシュラッチIT4523型 面付仕様/マグネット付/ロングタイプ 取付座セット 【IT4523-352W + IT4523-752W】 ホワイト(IT4523-352W)

こちらがプッシュラッチ。右の方を押すとバネで飛び出して、ドアが押されることになります
20171104_010.jpg

裏側はこちら。分離させてネジ止めします。キャビネット埋め込みタイプとかもありますが、かなり深く穴開けしないといけないのでこっちが楽かな
20171104_020.jpg

後ろ側。ここを押し下げれば分離できます
20171104_030.jpg

左のマルイのはドアに付けるキャッチです。この位置に取り付けるには穴開けできないので位置を変更
20171104_040.jpg

ジェーナスさんキャビネットの化粧板はかなり丈夫で穴開け大変です。力を入れてまわせば何とか穴開けできます
20171104_050.jpg

良い位置で穴開けして
20171104_060.jpg

ネジ止め
20171104_070.jpg

本体を取り付けて
20171104_080.jpg

ドアの方にキャッチを貼り付ければOKです
20171104_090.jpg

マグネットタイプなので、ヒンジがダンパーじゃ無くても閉めるときの音が小さくなりますね
20171104_100.jpg

左右に取り付けます
20171104_110.jpg

サブ水槽の方にも取り付けました
20171104_120.jpg

といった感じです
20171104_130.jpg

サブ水槽のキャビネットには扉に取っ手が無いのと、ダンパーも取り付けていなかったのでこれで使いやすくなりました。後付けも楽なのでお勧めかも




B!
キャビネット | コメント:(0) | トラックバック:(0)

サブ水槽設置・配管編(2017年10月)

2017-10-31
サブ水槽検討の続きです。前回の記事は「サブ水槽計画・購入編(2017年10月)」を見てください。


■準備続き

フラグ置き場のためにコーラルブリードロックを購入しました。予め水槽に沈めておきました
20171031_010.jpg

塩ビ管を事前に接着しました。バルブは先月のツアーでブルーハーバーさんで購入しました。メインで使っているものと同じものを使いたいので
給水の流量を確認するため、FMMの1/2インチ流量計を使います。シール剤はヘルメチック F-119を今回も使いました。13A、16Aの給水栓ソケットで接続できます
20171031_020.jpg

16Aに繋ぐためホースとワセリンも用意
20171031_030.jpg

排水管を接着しました
20171031_040.jpg

水槽用の底に敷くために、ADAのガーデンマットを買いました。プレコは厚さ3mm、こちらは5mmです。実はこちらを先に買っていたため、結局ガーデンマットを使うことにしました
20171031_045.jpg

厚さの違いはこんな感じ。左がプレコ、下がガーデンマットです
20171031_048.jpg

床が微妙に凹んでいるので、キャビネットの下に1mm厚のゴム板を敷きました。一部は重ねて2mmです
20171031_049.jpg


■水槽配管計画

日曜日に1日かけて配管を行いました。時間がかかるのでいつものごとく計画しました。大体12時間かかります
20171031_050.jpg

クリックで拡大します
20171031_060.jpg


■下準備

サブ水槽は約80リットルぐらい入るので水をためます。自動水ためプログラムで勝手にたまります。塩を溶かしておいておきます
20171031_065.jpg

底砂はざるに広げて、シャワーで洗浄して乾燥させておきます
20171029_350.jpg


■給水配の配管

一番危険度の高い、底面吹出から変更していきます。底面用のベクトラを停止させました
20171031_070.jpg

底面吹出に繋がる部分をキャップでふさぎます。これだけで水が止まってくれないと、水を全部抜かないと配管できません
20171031_080.jpg

底面吹出のバルブを操作して水が出ないようにしました
20171031_600.jpg

その上で、Vectra L1の青の部分をまわして海水を抜きました
20171031_090.jpg

バルブ操作して、底面排水からの逆流を確認しましたが、無事止まっているようです
20171031_100.jpg

慎重にホースをカットして、配管をねじ込み、ホースバンドで固定しています
20171031_610.jpg

サブ水槽への配管のバルブは閉めてあります
20171031_120.jpg

ホースバンドは錆びる可能性があるので、自己融着テープで巻いてあります
20171031_130.jpg

このあとベクトラを戻して、水漏れが無いことを念入りにチェックしました


■サブ水槽を洗浄

買ったばかりの水槽は結構汚れていたり、ゴミが付いているので洗浄します。お風呂場にダンボールを敷いて横倒しにしてシャワーで洗浄しました
20171031_135.jpg


■排水管の配管

サブ水槽の40A側を配管していきます
20171031_140.jpg

メインの循環を停止させました。そのあと既存の排水管を取り外しました。上が旧配管、下が新配管です。右の方に40Aを延ばしてサブ水槽の排水を受け止めます
20171031_150.jpg

給水、排水両方の配管を行いました
20171031_160.jpg

排水の合流ポイントはこんな感じ。ジャバラでズレを補正します
20171031_170.jpg

メインのキャビネットの穴の開いている位置は、サブ水槽合流にベストな位置でしたね
20171031_180.jpg

給水側をホースにねじ込むときにヘルメチックが外れた… 再接着しましたが乾燥まで12時間かかるので、給水側はドライのまま保ちます
20171031_190.jpg

あと念のためサブ水槽の直下にリークセンサーを置いておきます。もし水漏れがあれば速やかにポンプが停止します
20171031_200.jpg


■底砂&給水

サブ水槽に底砂をいれて、サイフォンで水を注ぎました。こうすると比較的濁りは抑えられます。給水側にはへの字を挿して上に向けて、水が流れないようにしました
20171031_210.jpg

サイフォンで給水したまま放置して、水が透明になりました
20171031_220.jpg


■シリコンシーリング

落し込みの隙間に水が入ると面倒なのでシールします。メインに使った、白の防かび剤無しのシリコンを残してあったので使います
20171031_230.jpg

マスキングテープを貼って、シリコンを流し込みました
20171031_240.jpg

できあがりはこんな感じ
20171031_250.jpg


■できあがり

微妙な高さの違いで、サイフォンで水がサブ水槽に流れます。給水が使えないかわりにこのままにします
20171031_260.jpg

暫定の水流ポンプとして、塩を溶かすのに使っているNWA-2000Sを設置しました
20171031_270.jpg

AQUA LOVERSさんで購入したライブロックを入れました。追加でzeobakを入れておきます
20171031_275.jpg

土曜日に水換えして、日曜日にサブ水槽分の水を入れたので、KHが高くなりました。約7.17dKHです。いつもは6dKHぐらいなので、カルシウムリアクターの排水を全開しておきました。これによってリアクター内部のpHが下がらないようにし、結果としてKHが徐々に低くなります。一週間ぐらいすれば適正なKHになります
20171031_280.jpg


■ガラスフタ

プレコさんに作ってもらったガラスフタです
20171031_300.jpg

設計図どおり、一カ所かけがあります
20171031_310.jpg

ケーブルが綺麗に通りますね。この部分が要らなくなったら90°左に回転させます
キズが付かないようにクッションを貼り付けてあります
20171031_315.jpg


■給水管復活

念のため24時間待って、給水配管に水をとおしました
20171031_320.jpg

サイフォンも停止させてようやく配管完了です
20171031_330.jpg


■静音化対策&配管の支持

サイドフローは落水音が結構大きいので対策します。塩ビ管リングにビニル紐を巻いて、配管にたらしました。12本ぐらいたらしておきました
20171031_290.jpg

排水管の支持のためにこちらを購入しました
20171031_440.jpg

キャビネットに穴を開けて固定しました
20171031_450.jpg

通常は吊り下げに使いますが、今回は持ち上げるのに使っています
20171031_470.jpg

排水管の黒いのは防音シートです。かなり前に買っておきましたが効果ありますね
20171031_480.jpg


■照度測定

Hydra 26 HDの測定を計測しました。出力を抑えめにしても結構高いですね
20171031_340.jpg

見た目が暗く見えても照度は結構高いので注意が必要ですね。色が抜けたり溶けたりする要因になります
20171031_350.jpg


■流量測定

FMMを使って流量測定します。でもポートは全部埋まっているので、メインポンプ用を差し替えます。差し替えた場合にどうなるか試します
20171031_390.jpg

FMMはポート毎に設定を変更できます
20171031_400.jpg

メインポンプは1インチ設定だと1358L/Hです
20171031_410.jpg

これを1/2インチ設定に変更するだけで
20171031_420.jpg

流量は196L/Hになります。APEXの計算では、1回転あたりの流量が6.92倍違うようです
20171031_430.jpg

同様にサブ水槽の流量計を設置すると、1インチ設定で6547L/Hとなりました
20171031_435.jpg

1/2インチ設定では946L/Hで、こちらが正しいです。というわけで、設定変更しなくても差し替えて測定値を6.92で割れば良いようですね
20171031_437.jpg

流量としてはバルブ操作をして底面からサブ水槽に全部流れるようにすると946L/Hでした
バルブを全て解放すると582L/Hなのでこれで行きたいと思います
Vectra L1の出力を上げれば更に流量を上げることができます


■水流ポンプ変更

おやすみ田中さんより、Vortech MP10wQDを譲っていただきました。ありがとうございました
20171031_500.jpg

Ecotech Marineのサイトで流量計算できます。だいたい30%~40%ぐらいが適正みたいです
20171031_490.jpg

落ちないようにタイラップで固定しました
20171031_510.jpg

上手く隣のMP40とぶつからない隙間を空けてあります
20171031_520.jpg

reeflinkでファームウェアを更新しました。今までのものも古かったので更新しておきました
20171031_535.jpg

reeflinkでMP10wQDの設定をしておきます。出力は違っても設定は同じです
20171031_537.jpg


■への字交換

右上のアクリルへの字がありますがやはりコケがはえやすいです
20171031_530.jpg

パウパウ銀座店でブルーのへの字…というか45°エルボを購入しました。黒っぽいHIVP管を挿して、これを差し込めばOKです
20171031_540.jpg

コケは多少目立たなくなるかもですが、あまり変わらないかな…?
20171031_550.jpg

やはりマメに掃除しないとだめかも
20171031_560.jpg


■コーナーボックス遮光

メイン水槽とサブ水槽の間は遮光されていないため塩ビ板を張り付けました。放置すると中が海藻だらけになったりするので結構重要かも
20171031_570.jpg


■フリッパー購入

結局ノーマルフリッパーに戻ってきました。マックスを8mm厚水槽で試してみましたが、かなり重く疲れるので…
20171031_580.jpg

といった感じで無事設置が終わりました。
あと細かいところで、メインポンプの流量が落ちたら底面吹出ポンプも停止するとかのプログラム修正をしています。こういったマメな連動ができるのがAPEXの良いところです。

あとは上手く立ち上がってくれるとよいのですが。
20171031_370.jpg

20171031_590.jpg



B!
オーバーフロー水槽 | コメント:(0) | トラックバック:(0)

サブ水槽計画・購入編(2017年10月)

2017-10-30
サブ水槽検討の続きです。前回の記事は「サブ水槽検討(2017年9月)」を見てください。


■はじめに

イエローヘッドジョーフィッシュがたまに家を失ってうろうろしていることがあります。はやくサブ水槽を立ち上げないと…
20171030_010.jpg

2012年~2013年には、アクリルのマゴタンク300をサブ水槽にしていました。30cmのキューブ水槽です。特定の生体を飼うのに便利でした。
20171030_015.jpg

サイドフロー水槽でしたが、静音化が結構難しい水槽でした。新しい水槽ではどうしようかな
20171030_017.jpg


■オーダー水槽のイメージ

45cmぐらいの水槽はメーカーから色々発売されていますがオーダーで作ってもらうこともできるので、イメージを作成してみました。水槽サイズは450x450x500Hでサイドフロー水槽です。細かい図を作るのは大変なので、イメージができない方はショップの方と相談しながらしてみてください。紙に書くとかでもOKです

図はクリックで拡大します。今回は細かい部分が多いので、Excelで作成しました。1セルが5mmとして、罫線と色を付けていくだけです。これは上から見たところですが、コーナーボックスが最小になるようにしてもらいました。これだけ小さくなるのはサイドフローだからですね
20171030_020.jpg

後ろから見たところはこんな感じです。給水は16Aで、排水は40Aです。三重管だと管の太さのバランスから13Aだったりするので、なるべく太い方が良いです
20171030_030.jpg

左から見たところはこんな感じ。エルボやソケットは塩ビ溶接で固定されます
20171030_040.jpg

イメージ画像と一緒に以下をAQUA LOVERSさんに送って、プレコさんに見積依頼してもらいました
1.水槽サイズ:450x450x500H (幅x奥行きx高さ)
2.ガラスの厚さ:8mmを想定
3.フランジ:30mmを想定
4.ワームプロテクト:有り
5.コーナーボックス:
 四角、ブラック、水面と底面にスリットあり、取外可能、上下分割
 アクリル等のフタあり、指を入れられる穴あり
 ※添付ファイルのボックスサイズは想定なので、可能な範囲で小さくしていただけると助かります
 ※底砂は15mmぐらい粗めを敷く予定です
6.シリコンカラー:ブラック、フランジは透明
7.配管:給水VP16A、排水VU40Aのソケット加工を想定  ※最初は13Aでしたが後に16Aに変更
8.コーナーボックスのガラス側に、コケ対策のため黒のバックスクリーン貼り付けってできるでしょうか?
9.フタの作成って可能でしょうか?
 ガラスフタ:420x420ぐらいのフタ、一カ所ケーブル通し用のかけあり、中央に指通し用のφ20穴


■オーダーキャビネット

メイン水槽のキャビネットはジェーナスさんです。見た目をそろえたいのでサブ水槽用のキャビネット見積をしてもらいました。インロータイプ、落し込みのキャビネットです。地震のときに水槽がずれたりするのを防げます
こちらはサイトから見積依頼ができます。
表面は鏡面仕上げですが、キャビネットの中は標準ではそうなっていません。サンプを入れる場合は特注で中も貼ってもらうと良いと思います。木に水が染み込んだら寿命に関わります
今回はサイドフローなのでそこまでしてもらいませんでした


■見積比較

価格的には45cm水槽だけでは無く、60cm水槽まで視野に入る感じです。選択肢が多いので、見積とメリット、デメリットを表にまとめてみました。大阪でリーファー170の中古を見たので選択肢に入れてみます。クリックで拡大します
20171030_050.jpg

二枚目です。一番左がオーダー水槽+ジェーナスさんキャビネットの組み合わせです
20171030_060.jpg

選択肢の水槽の実物をお店に見に行ったり、値段差やできあがりの質を考慮して、結果として「フルオーダー プレコ45サイドフロー水槽 + ジェーナスキャビネット」を選びました


■配管方法検討

サブ水槽への配管には通常ポンプが必要です。でも見積には入っていません。今回はメイン水槽にある底面吹出から分岐させることにしました。せっかくVectra L1を使っていて静かだし、消費電力もほとんど上がりません
20171030_070.jpg

このくるんとしているホース部分を切って分岐させる予定です。
20171030_080.jpg

なお底面排水はこんな感じになっています。下の三本がVectra L1と繋がっています。上の一本はメインポンプと繋がっています
20171030_090.jpg

底面排水から分岐させると、メイン水槽の水位と同じ位置までサブ水槽の水位が上がることになります。サブ水槽が低いとひたすらメインの水がサブに流れ、それがサンプに流れるので最悪の場合、サンプが溢れることになり危険です
見積比較でもそのあたりを考慮してあります。高さの低い水槽はVectra S1を使うことで見積りしています


■照明購入

サブ水槽で飼育するのはLPSやソフトコーラルです。サイズは45cmなので色々考えてAI Primeを選びました。でも偶然中古品のAI
Hydra 26 HDの正規品が出品されていたので、結局そちらを購入しました
20171030_100.jpg

最大出力は大きすぎますが下げれば良いだけですし、出力場所も二カ所なので端が暗くなることもありません
20171030_110.jpg

AI Hydra、Primeともにレンズは優秀です。Wifiで接続して、パソコンやスマートフォンでコントロールができます
20171030_120.jpg

PCからの設定はこんな感じです。HD版なので、他の出力が低ければ、特定の素子の出力を上げることもできます。照度的に十分なのでそこまでしませんが
20171030_125.jpg

中古品にはワイヤーが付いていなかったので、エコワイヤーを買いました
20171030_140.jpg

中身はこんな感じ
20171030_150.jpg

こんな感じで輪っかをつくって引っかけることができます。かしめて輪を固定できますし、しなくても大丈夫かも
20171030_160.jpg

ワイヤーをとおして
20171030_170.jpg

照明を設置します。でもワイヤーをカットするので、元のワイヤーを使わずに、ホームセンターで購入した1.5mmワイヤーを使いました。照明台はもっとシンプルなものもありますが、フランジがあると設置できませんので吊り下げにしました
20171030_180.jpg

長すぎるワイヤーはやっぱり邪魔ですね
20171030_190.jpg

というわけでカットしました
20171030_200.jpg


■キャビネット購入

キャビネットはサイズや混み具合で納期は変わります。今回は入金してから2週間ほどで作ってくれました。(当初は1ヶ月とのことでしたが)
20171030_210.jpg

45cmキャビネットでも結構重いので、台車があると良いですね。ジェーナスさんはキャビネットが木で覆われていてキズが付かないようになっています
20171030_220.jpg

ネジを外すと中はダンボールで覆われています
20171030_230.jpg

そしてダンボールを外すとキャビネットが出てきます
20171030_240.jpg

表面にキズが!? これはフィルムでコーティングされているからなので、剥がせばピカピカです。フィルムを剥がすところはこんな感じ
20171030_250.jpg

デジタル水平器で測定。ちゃんと水平です。組み立て済みキャビネットはこういうところが良いですね。自分で組み立てると微妙にがたついたりしますし…
20171030_260.jpg

キャビネットと照明の設置はこんな感じ。少しずつできてきましたね
20171030_270.jpg

中はこんな感じ。中央の柱は外せるようになっています。45cm水槽でも100kg超えるのでこれぐらいあると安心です
20171030_280.jpg

背面は一カ所、通気のために隙間を空けてもらいました
20171030_290.jpg


■特等席

ところでうちの猫は水槽の魚を見るのが好きみたい
20171030_300.jpg

キャビネットを置いたら水槽がよく見られるようになったので、より真剣に見てますね。こんな感じ
20171030_310.jpg


■水槽搬入

プレコ水槽は約3週間ほどで完成しAQUALOVERSさんから受け取りました
20171030_320.jpg

配管部分です
20171030_330.jpg

比較用です。イメージ画像のとおりですね
20171030_030.jpg

後ろ側はこんな感じで、ブラックのバックスクリーンを貼ってもらいました。ガラスの穴開けは圧力の関係からなるべく端の方が良いようですね。どれぐらいの大きさが開けられるかはバランスもあるので確認が必要です
20171030_340.jpg

横から見た感じ。コーナーボックスは上下分割で取り外しができます。掃除のときに便利です
20171030_350.jpg

水槽の高さもぴったり
20171030_360.jpg

カバーを全てするとこんな感じ。普通のアクリルでは無く、つや消しになっています
20171030_380.jpg

フタを外すとこんな感じ。コーナーボックスは12.5x7cmでやはり小さいですね
20171030_370.jpg

といった感じです。次の記事で設置をしていきます



B!
オーバーフロー水槽 | コメント:(0) | トラックバック:(0)
 | ホーム | Next »

FC2 Blog Ranking Related Posts Plugin for WordPress, Blogger...