I recently start to take an interest into the stock markets and investing into stocks directly instead of funds or the like. For some interesting stocks I was looking for an online stock alert website or app but soon realized that all of them required at least my email and would start sending me tons of spam mails. Why not use this great system I have at home the one which is focused on privacy?
Available Stock Sensors
Homeassistant does have the built in component alpha_vantage which requires an API key and in return offers you information on stocks and cryptocoins. Unfortunately the stock information is currently broken and I can only use it to track my Monero investment.
The first stock sensor
Following the instructions I searched for the Microsoft stock, got the ID from the URL and created my first sensor:
sensor: - platform: avanza_stock stock: 3873 name: avanza_microsoft monitored_conditions: - change - changePercent - country - currency - directYield - dividends - flagCode - hasInvestmentFees - highestPrice - id - isin - lastPrice - lastPriceUpdated - loanFactor - lowestPrice - marketCapital - marketList - marketMakerExpected - marketPlace - marketTrades - morningStarFactSheetUrl - name - numberOfOwners - orderDepthReceivedTime - priceAtStartOfYear - priceEarningsRatio - priceFiveYearsAgo - priceOneMonthAgo - priceOneWeekAgo - priceOneYearAgo - priceSixMonthsAgo - priceThreeMonthsAgo - priceThreeYearsAgo - pushPermitted - quoteUpdated - sector - shortSellable - superLoan - tickerSymbol - totalNumberOfShares - totalValueTraded - totalVolumeTraded - tradable - volatility
I am not sure if I will not all the attributes but I can always get rid of them again later. To display the sensor in the form of a stock tracker I chose the custom card mini-graph-card:
The configuration for this card is as follows:
- animate: true entities: - sensor.avanza_microsoft graph: line hour24: true hours_to_show: 720 # 1 month name: Microsoft Stock last Month show: extrema: true icon: true name: true type: 'custom:mini-graph-card'
The stock alert system
I want to be notified when the tracked stock reaches a certain upper or lower limit. These limits change frequently so I don’t want to restart homeassistant every time I want to adjust the limits.
I chose input_text elements to hold my tresholds:
input_text: avanza_microsoft_min: icon: mdi:arrow-collapse-down name: Min Alert avanza_microsoft_max: icon: mdi:arrow-collapse-up name: Max Alert
I combined them with an automation which sends me a notification as soon as the sensor is above the max or under the min limit:
automation: - id: avanza_microsoft alias: Avanza Microsoft trigger: - platform: template value_template: > - platform: template value_template: > action: - service: notify.kevin data_template: message: > "Stock alert: under threshold of "
I use Telegram as my notification system but you can use every supported notification component.
The whole sensor with the stock alert controls looks like this:
As soon as the sensor reaches a treshold I get a notification:
The Microsoft Alert did not trigger yet so I had to choose another stock ;-)
As always you can find the whole configuration in my repo under https://github.com/eifinger/homeassistant-config