Files
home-assistant.io/source/_integrations/mastodon.markdown
2024-09-10 14:48:57 +02:00

102 lines
3.6 KiB
Markdown

---
title: Mastodon
description: Instructions on how to add Mastodon notifications to Home Assistant.
ha_category:
- Notifications
ha_release: 0.67
ha_codeowners:
- '@fabaff'
- '@andrew-codechimp'
ha_domain: mastodon
ha_iot_class: Cloud Polling
ha_platforms:
- diagnostics
- notify
- sensor
ha_integration_type: service
ha_config_flow: true
---
The `mastodon` platform uses [Mastodon](https://joinmastodon.org/) to deliver notifications from Home Assistant.
### Setup
Go to **Preferences** in the Mastodon web interface, then to **Development** and create a new application.
If you want to grant only required accesses, uncheck all checkboxes then check only **read:accounts** and **write:statuses**.
{% include integrations/config_flow.md %}
## Sensors
The integration will create sensors for the Mastodon account showing total followers, following, and posts.
## Notifications
The integration will create a `notify` action matching the name of the integration entry.
### Action usage
Mastodon is a notify platform, and can be used by calling notify action as described in the [notify documentation](/integrations/notify/). It will toot messages using
your account. An optional **target** parameter can be given to specify whether your toot will be public, private, unlisted, or direct.
| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `message` | no | Body of the notification.
| `target` | yes | If not used, will default to account setting. `public`: post will be public, `unlisted`: post will be public but not appear on the public timeline, `private`: post will only be visible to followers, and `direct`: post will only be visible to mentioned users.
| `data` | yes | See below for extended functionality.
### Action data
The following attributes can be placed inside `data` for extended functionality.
| Data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `media` | yes | Attach an image or video to the message.
| `media_warning` | yes | If an image or video is attached, `True`: will marked the media as sensitive. `False` is default.
| `content_warning` | yes | Text will be be shown as a warning before the text of the status. If not used, no warning will be displayed.
### Example action
This will post a message to Mastodon. Visibility will default to your account's setting.
```yaml
- action: notify.mastodon
message: "A toot from Home Assistant"
```
### Example action - private
This will post a message to Mastodon, but visibility is marked as `private` so only followers will see it.
```yaml
- action: notify.mastodon
message: "A private toot from Home Assistant"
target: private
```
### Example action - with media
This will post a message to Mastodon that includes an image.
```yaml
- action: notify.mastodon
message: "A media toot from Home Assistant"
data:
media: /config/www/funny_meme.png
```
### Example action - with media and content warning to hide post behind a warning
This will post a message to Mastodon that includes an image and a target of `unlisted`, so it doesn't show in the public timeline.
```yaml
- action: notify.mastodon
message: "A media toot from Home Assistant"
target: unlisted
data:
media: /config/www/funny_meme.png
content_warning: "This might not be funny enough"
```
For more on how to use notifications in your automations, please see the [getting started with automation page](/getting-started/automation/).