-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'remotes/origin/trending_icons'
- Loading branch information
Showing
11 changed files
with
301 additions
and
84 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
FROM python:3.7 | ||
|
||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends \ | ||
git \ | ||
&& apt-get clean \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
RUN python -m pip install --upgrade colorlog black pylint | ||
RUN python -m pip install --upgrade git+git://github.com/home-assistant/home-assistant.git@dev | ||
RUN cd && mkdir -p /config/custom_components | ||
|
||
|
||
WORKDIR /workspace | ||
|
||
# Set the default shell to bash instead of sh | ||
ENV SHELL /bin/bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# Devcontainer | ||
|
||
_The easiest way to contribute to and/or test this repository._ | ||
|
||
## Requirements | ||
|
||
- [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) | ||
- [docker](https://docs.docker.com/install/) | ||
- [VS Code](https://code.visualstudio.com/) | ||
- [Remote - Containers (VSC Extention)](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) | ||
|
||
[More info about requirements and devcontainer in general](https://code.visualstudio.com/docs/remote/containers#_getting-started) | ||
|
||
## How to use Devcontainer for development/test | ||
|
||
1. Make sure your computer meets the requirements. | ||
1. Fork this repository. | ||
1. Clone the repository to your computer. | ||
1. Open the repository using VS Code. | ||
|
||
When you open this repository with VSCode and your computer meets the requirements you are asked to "Reopen in Container", do that. | ||
|
||
![reopen](images/reopen.png) | ||
|
||
If you don't see this notification, open the command pallet (ctrl+shift+p) and select `Remote-Containers: Reopen Folder in Container`. | ||
|
||
_It will now build the devcontainer._ | ||
|
||
The container have some "tasks" to help you testing your changes. | ||
|
||
## Custom Tasks in this repository | ||
|
||
_Start "tasks" by opening the the command pallet (ctrl+shift+p) and select `Tasks: Run Task`_ | ||
|
||
Running tasks like `Start Home Assistant on port 8124` can be restarted by opening the the command pallet (ctrl+shift+p) and select `Tasks: Restart Running Task`, then select the task you want to restart. | ||
|
||
### Start Home Assistant on port 8124 | ||
|
||
This will copy the configuration and the integration files to the expected location in the container. | ||
|
||
And start up Home Assistant on [port 8124.](http://localhost:8124) | ||
|
||
### Upgrade Home Assistant to latest dev | ||
|
||
This will upgrade Home Assistant to the latest dev version. | ||
|
||
### Set Home Assistant Version | ||
|
||
This allows you to specify a version of Home Assistant to install inside the devcontainer. | ||
|
||
### Home Assistant Config Check | ||
|
||
This runs a config check to make sure your config is valid. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
default_config: | ||
logger: | ||
default: error | ||
logs: | ||
custom_components.yahoofinance: debug | ||
|
||
|
||
sensor: | ||
platform: yahoofinance | ||
show_trending_icon: True | ||
symbols: | ||
- ISTNX |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#!/usr/bin/env bash | ||
|
||
function StartHomeAssistant { | ||
echo "Copy configuration.yaml" | ||
cp -f .devcontainer/configuration.yaml /config || echo ".devcontainer/configuration.yaml are missing!" exit 1 | ||
|
||
echo "Copy the custom component" | ||
rm -R /config/custom_components/ || echo "" | ||
cp -r custom_components /config/custom_components/ || echo "Could not copy the custom_component" exit 1 | ||
|
||
echo "Start Home Assistant" | ||
hass -c /config | ||
} | ||
|
||
function UpdgradeHomeAssistantDev { | ||
python -m pip install --upgrade git+git://github.com/home-assistant/home-assistant.git@dev | ||
} | ||
|
||
function SetHomeAssistantVersion { | ||
read -p 'Version: ' version | ||
python -m pip install --upgrade homeassistant==$version | ||
} | ||
|
||
function HomeAssistantConfigCheck { | ||
hass -c /config --script check_config | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
// See https://aka.ms/vscode-remote/devcontainer.json for format details. | ||
{ | ||
"context": "..", | ||
"dockerFile": "Dockerfile", | ||
"appPort": "8124:8123", | ||
"runArgs": [ | ||
"-e", | ||
"GIT_EDTIOR='code --wait'" | ||
], | ||
"extensions": [ | ||
"ms-python.python", | ||
"spmeesseman.vscode-taskexplorer" | ||
], | ||
"settings": { | ||
"python.pythonPath": "/usr/local/bin/python", | ||
"python.linting.pylintEnabled": true, | ||
"python.linting.enabled": true, | ||
"python.formatting.provider": "black", | ||
"editor.formatOnPaste": false, | ||
"editor.formatOnSave": true, | ||
"editor.formatOnType": true, | ||
"files.trimTrailingWhitespace": true | ||
} | ||
} |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
{ | ||
"version": "2.0.0", | ||
"tasks": [ | ||
{ | ||
"label": "Start Home Assistant on port 8124", | ||
"type": "shell", | ||
"command": "source .devcontainer/custom_component_helper && StartHomeAssistant", | ||
"group": { | ||
"kind": "test", | ||
"isDefault": true | ||
}, | ||
"presentation": { | ||
"reveal": "always", | ||
"panel": "new" | ||
}, | ||
"problemMatcher": [] | ||
}, | ||
{ | ||
"label": "Upgrade Home Assistant to latest dev", | ||
"type": "shell", | ||
"command": "source .devcontainer/custom_component_helper && UpdgradeHomeAssistantDev", | ||
"group": { | ||
"kind": "test", | ||
"isDefault": true | ||
}, | ||
"presentation": { | ||
"reveal": "always", | ||
"panel": "new" | ||
}, | ||
"problemMatcher": [] | ||
}, | ||
{ | ||
"label": "Set Home Assistant Version", | ||
"type": "shell", | ||
"command": "source .devcontainer/custom_component_helper && SetHomeAssistantVersion", | ||
"group": { | ||
"kind": "test", | ||
"isDefault": true | ||
}, | ||
"presentation": { | ||
"reveal": "always", | ||
"panel": "new" | ||
}, | ||
"problemMatcher": [] | ||
}, | ||
{ | ||
"label": "Home Assistant Config Check", | ||
"type": "shell", | ||
"command": "source .devcontainer/custom_component_helper && HomeAssistantConfigCheck", | ||
"group": { | ||
"kind": "test", | ||
"isDefault": true | ||
}, | ||
"presentation": { | ||
"reveal": "always", | ||
"panel": "new" | ||
}, | ||
"problemMatcher": [] | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,38 +1,39 @@ | ||
# Summary | ||
A custom component to get stock updates from Yahoo finance. | ||
|
||
# Installation | ||
|
||
This can be installed by copying all the files from `custom_components/yahoofinance/` to `<config directory>/custom_components/yahoofinance/`. | ||
|
||
Next you would define the symbols to be tracked in `configuration.yaml` | ||
|
||
Example: | ||
|
||
```yaml | ||
sensor: | ||
platform: yahoofinance | ||
scan_interval: | ||
hours: 4 | ||
symbols: | ||
- ISTNX | ||
|
||
``` | ||
|
||
The above configuration will generate an entity with the id `yahoofinance.istnx` and current value as the state along with these attributes: | ||
|
||
``` | ||
attribution: Data provided by Yahoo Finance | ||
currencySymbol: $ | ||
symbol: ISTNX | ||
fiftyDayAverage: ... | ||
previousClose: ... | ||
unit_of_measurement: USD | ||
friendly_name: Ivy Science & Technology Fund C | ||
icon: mdi:currency-usd | ||
``` | ||
|
||
`scan_interval` is optional and the default value is 6 hours. | ||
|
||
|
||
# Summary | ||
A custom component to get stock updates from Yahoo finance. | ||
|
||
# Installation | ||
|
||
This can be installed by copying all the files from `custom_components/yahoofinance/` to `<config directory>/custom_components/yahoofinance/`. | ||
|
||
Next you would define the symbols to be tracked in `configuration.yaml` | ||
|
||
Example: | ||
|
||
```yaml | ||
sensor: | ||
platform: yahoofinance | ||
show_trending_icon: true | ||
scan_interval: | ||
hours: 4 | ||
symbols: | ||
- ISTNX | ||
|
||
``` | ||
|
||
The above configuration will generate an entity with the id `yahoofinance.istnx` and current value as the state along with these attributes: | ||
|
||
``` | ||
attribution: Data provided by Yahoo Finance | ||
currencySymbol: $ | ||
symbol: ISTNX | ||
fiftyDayAverage: ... | ||
previousClose: ... | ||
unit_of_measurement: USD | ||
friendly_name: Ivy Science & Technology Fund C | ||
icon: mdi:currency-usd | ||
``` | ||
|
||
`scan_interval` is optional and the default value is 6 hours. Trending icon (up, down or neutral) can be used instead of currency based | ||
icon by specifying `show_trending_icon`. | ||
|
||
The component also exposes the service `yahoofinance.refresh_symbols` which will refresh all the data. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,37 +1,38 @@ | ||
"""Constants for Yahoo Finance sensor.""" | ||
|
||
ATTR_CURRENCY_SYMBOL = "currencySymbol" | ||
ATTR_FIFTY_DAY_AVERAGE = "fiftyDayAverage" | ||
ATTR_FIFTY_DAY_SYMBOL = "symbol" | ||
ATTR_PREVIOUS_CLOSE = "previousClose" | ||
ATTRIBUTION = "Data provided by Yahoo Finance" | ||
BASE = "https://query1.finance.yahoo.com/v7/finance/quote?symbols=" | ||
CONF_SYMBOLS = "symbols" | ||
DEFAULT_CURRENCY = "USD" | ||
DEFAULT_CURRENCY_SYMBOL = "$" | ||
DEFAULT_ICON = "mdi:currency-usd" | ||
DOMAIN = "yahoofinance" | ||
SERVICE_REFRESH = "refresh_symbols" | ||
|
||
CURRENCY_CODES = { | ||
"bdt": "৳", | ||
"brl": "R$", | ||
"btc": "₿", | ||
"cny": "¥", | ||
"eth": "Ξ", | ||
"eur": "€", | ||
"gbp": "£", | ||
"ils": "₪", | ||
"inr": "₹", | ||
"jpy": "¥", | ||
"krw": "₩", | ||
"kzt": "лв", | ||
"ngn": "₦", | ||
"php": "₱", | ||
"rial": "﷼", | ||
"rub": "₽", | ||
"sign": "", | ||
"try": "₺", | ||
"twd": "$", | ||
"usd": "$", | ||
} | ||
"""Constants for Yahoo Finance sensor.""" | ||
|
||
ATTR_CURRENCY_SYMBOL = "currencySymbol" | ||
ATTR_FIFTY_DAY_AVERAGE = "fiftyDayAverage" | ||
ATTR_FIFTY_DAY_SYMBOL = "symbol" | ||
ATTR_PREVIOUS_CLOSE = "previousClose" | ||
ATTRIBUTION = "Data provided by Yahoo Finance" | ||
BASE = "https://query1.finance.yahoo.com/v7/finance/quote?symbols=" | ||
CONF_SHOW_TRENDING_ICON = "show_trending_icon" | ||
CONF_SYMBOLS = "symbols" | ||
DEFAULT_CURRENCY = "USD" | ||
DEFAULT_CURRENCY_SYMBOL = "$" | ||
DEFAULT_ICON = "mdi:currency-usd" | ||
DOMAIN = "yahoofinance" | ||
SERVICE_REFRESH = "refresh_symbols" | ||
|
||
CURRENCY_CODES = { | ||
"bdt": "৳", | ||
"brl": "R$", | ||
"btc": "₿", | ||
"cny": "¥", | ||
"eth": "Ξ", | ||
"eur": "€", | ||
"gbp": "£", | ||
"ils": "₪", | ||
"inr": "₹", | ||
"jpy": "¥", | ||
"krw": "₩", | ||
"kzt": "лв", | ||
"ngn": "₦", | ||
"php": "₱", | ||
"rial": "﷼", | ||
"rub": "₽", | ||
"sign": "", | ||
"try": "₺", | ||
"twd": "$", | ||
"usd": "$", | ||
} |
Oops, something went wrong.