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.
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
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 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.