Likes, Follower und Abonnenten aus sozialen Netzwerken in Home-Assistant darstellen

Heute zeige ich, wie man einfache Sensoren konfiguriert um Likes, Follower und Abbonenten aus sozialen Netzwerken in Home-Assistant darzustellen.

Möchte man auf neue Likes, Follower und Abonnenten seiner Profile oder Seiten in sozialen Netzwerken reagieren und daraufhin bestimmte Ereignisse auslösen, kann man das in Home-Assistant z.B. mit der Scrape-Komponente machen. Die Scrape-Komponente dient dazu bestimmte Stellen einer Webseite herauszufiltern und als Sensor bereitzustellen.

Hier zeige ich euch, wie ihr das für eure Profile und Seiten auf den großen Platformen wie Instagram, Twitter, YouTube und Facebook machen könnt. Facebook ist da etwas komplizierter, aber dazu später mehr.

Nachfolgend die Konfiguration der Sensoren, die ihr in eure configuration.yaml einfügen müsst.

Instagram

sensor:
  - platform: scrape
    resource: https://www.instagram.com/panbachi.de/
    name: Instagram Abonnenten
    select: 'meta[name="description"]'
    attribute: content
    value_template: '{{ value.split(" ")[0] }}'
    unit_of_measurement: Abonnenten

Twitter

sensor:
  - platform: scrape
    resource: https://twitter.com/panbachi
    name: Twitter Follower
    select: 'a[data-nav="followers"] .ProfileNav-value'
    unit_of_measurement: Follower

YouTube

sensor:
  - platform: scrape
    resource: https://www.youtube.com/channel/UCO7f2L7ZsDCpOtRfKnPqNow/about
    name: YouTube Abonnenten
    select: 'span.subscribed'
    unit_of_measurement: Abonnenten

Facebook

Facebook ist da etwas komplizierter, da das mit der Scrape-Komponente nicht funktioniert. Hier muss noch ein kleines Script angelegt werden.

Als erstes erstellen wir die Datei /home/homeassistant/scripts/facebook.py mit folgendem Inhalt:

import sys
import requests
from bs4 import BeautifulSoup

response = requests.get('https://www.facebook.com/' + sys.argv[1])
soup = BeautifulSoup(response.text, "lxml")
likes = soup.find("span", id="PagesLikesCountDOMID").text.split(" ")[0]

print(likes)

Als nächstes können wir folgendes in der configuration.yaml eintragen:

- platform: command_line
  name: Facebook Likes
  command: "/usr/bin/python3 /home/homeassistant/scripts/facebook.py panbachi.de"
  unit_of_measurement: Likes

 

Wenn ihr Interesse an weiteren Integrationen habt, dann schreibt mir in die Kommentare und ich kann schauen in wie weit das machbar wäre.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert