Oops |
結構適当なコードもあったりして、時々修正が必要になりますが、良いスキンです。
WebのAPIを呼んで色々とゴニョゴニョできるガジェットが好きなのですが、その中でも天気系のガジェットはよく依存サービスの廃止などの影響を受けます。
OmnimoUIの天気も、デフォルトではYahoo weather のAPIを使っていましたが、数年前に終了。代替サービスでwxweatherのAPIを使っていましたが、それも2020年1月15日に終了。
どうも無料の天気APIは提供しているところが少なく(ほぼ壊滅)有償のAPIサービスか無料だけどユーザー登録が必須のサービスで代替を探すしかありません。
日本語 |
英語 |
webparserプラグインは便利ですがxmlとかの解析やら正規表現が得意な人向けでJSONのパーサーも探しましたら、これがあったので簡単に実現できました。
プラグインはC#で書けるんですな。
最近ちょうどC#のビルドとかパッケージマネージメントとかをやってたので、構成もコードも理解しやすく、大いに最高になりました。
んで、ソースコード(Raimeterのスキンがコードかどうかはさておき)の公開なんて一度もやったことがなかったのと、私以外にも困っている人の助けになればとコードを公開してみました。
おそらくニッチすぎるので需要はほぼ皆無だとは思いますが。
使い方を含めGitLab側に書いているので、ここには機械翻訳版でご紹介。
なぜGitLabか?って?
GitHubの垢は実名なのと、GitLabが最近好きなので・・・
Qiitaとかに書くのもちょっと違うかな?と
必要条件
- Rainmeter最新の安定バージョン
- Omnimo UIバージョン6+
- e2e8 / Rainmeter-JsonParserバージョン1.0
使い方
天気API
Dark Sky Forecast Requestを使用します。https://darksky.net/dev/docs#forecast-request
Dark Skyは、無料で1日1000回APIを呼び出すことができます。
Rainmeterで使用する場合は、これで十分です。
このガジェットは30分ごとに1回APIを呼び出すため、合計は1日に約48回です。
Dark Skyは、無料で1日1000回APIを呼び出すことができます。
Rainmeterで使用する場合は、これで十分です。
このガジェットは30分ごとに1回APIを呼び出すため、合計は1日に約48回です。
都市名API
OpenCageリバースジオコーディングAPIを使用します。https://opencagedata.com/api#reverse-resp
OpenCageは、1日2500回無料でAPIを呼び出すことができます。
Rainmeterで使用する場合は、これで十分です。
このガジェットは24時間に1回APIを呼び出すため、合計は1日に約1回です。
(ただし、スキンが明示的に再ロードされると呼び出されます)
OpenCageは、1日2500回無料でAPIを呼び出すことができます。
Rainmeterで使用する場合は、これで十分です。
このガジェットは24時間に1回APIを呼び出すため、合計は1日に約1回です。
(ただし、スキンが明示的に再ロードされると呼び出されます)
インストールして実行
- Rainmeterをインストールして実行する
- Omnimo UIをインストールする
- e2e8 / Rainmeter-JsonParserをインストールします
- リリースページからダウンロード
- 解凍する
-
JsonParser.dll
コピーするC:\Program Files\Rainmeter\Plugins
- Rainmeterを再起動する必要はありません
- ファイルをコピーする
- WP7フォルダーをWP7にコピーしますex)
%USERPROFILE%\Documents\Rainmeter\Skins\WP7\
- WP7フォルダーをWP7にコピーしますex)
- Dark Sky APIキーを取得する(必須)
- ダークスカイにアクセス(1日あたり1000リクエスト無料)完全な登録と確認
%USERPROFILE%\Documents\Rainmeter\Skins\WP7\TextItems\Weather\location.inc
テキストエディターで開く- 後に32文字のAPIキーを貼り付けます
APIKey=
- このファイルを保存
- OpenCage APIキーを取得する(必須)
- OpenCageにアクセス(1日2500リクエストで無料)完全な登録と確認
%USERPROFILE%\Documents\Rainmeter\Skins\WP7\TextItems\Weather\location.inc
テキストエディターで開く- 後に32文字のAPIキーを貼り付けます
GeoCodeAPIKey=
- このファイルを保存
- 場所とローカリゼーション情報を調整します(必須)
%USERPROFILE%\Documents\Rainmeter\Skins\WP7\TextItems\Weather\location.inc
テキストエディタで開きます。- 天気予報を取得する緯度と経度の情報を取得します
- さまざまな方法がありますが、たとえばhttps://www.latlong.net/は簡単です
- 取得した緯度と経度の情報
Latitude=
をLongtude=
それぞれと後に貼り付けます - このファイルを保存
- 単位文字列の調整(オプション)
- 次の表に従って任意に設定してください
- このファイルを保存
- 最終的にweather.iniスキンをロードまたは再ロードします
パラメーター
キー | 説明 | ja-JPお勧め | en-USお勧め |
---|---|---|---|
緯度 | 緯度例)999.999 | どれか | どれか |
ロングチュード | Longtude ex。)999.999 | どれか | どれか |
ラング | APIパラメーターlang
|
じゃ | en |
単位 | APIパラメーターunits
|
si | 我ら |
単位圧力 | あなたと一致 Units
|
hPa | mb |
単位速度 | 同上 | ミズ | km / h |
単位温度 | 同上 | °C | °F |
UnitsVisibility | 同上 | km | km |
単位湿度 | 同上 | % | % |
WeatherAPI | Dark Sky API予測URL | 変えないで | 変えないで |
JapaneseSpecialEscapeFromSummary | 特別な削除文字 | 。 |
ノート
- OmnimoUIだ
Language
とCityCode
使用されていません。
リンク集
- Rainmeter https://www.rainmeter.net/
- Omnimo UI https://omnimo.info/
- GitHubのOmnimo UI https://github.com/fediaFedia/Omnimo/
- Rainmeter用のJson Parserプラグインhttps://github.com/e2e8/Rainmeter-JsonParser
- Dark Sky API https://darksky.net/dev
- HeartTrain GeoAPI http://geoapi.heartrails.com/
最近はOminimoUIの開発も停止していてちょっと残念。