Hallo,
ich nutze zwar schon seid einigen Jahren ioBroker und habe bei meinen zurückliegenden Recherchen auch schon mal den ein oder anderen Tipp in diesem Forum gefunden . Angemeldet war ich aber bislang nicht.
Das habe ich nun geändert
Zum Einstand wollte ich Euch eine Lösung vorstellen, die ich von ein paar Wochen realisiert habe.
Der Hintergrund: Ich bin auf Land gezogen. Der Glasfaseranschluss ist zwar schon beauftragt, wird aber noch gebaut. Zur Überbrückung nutze ich den 'Gigacube Zuhause Flex' Tarif von Vodafone. Hintergrund: Ich musste zwar den Router selbst bezahlen, sobald der Glasfaseranschluss funktioniert, kann ich das Ding aber in den Schrank stellen und zahle ab diesem Zeitpunkt auch nichts mehr. Einziger Nachteil: Ich habe nur ein monatliches Datenvolumen von 200 GB zur Verfügung. Was liegt also näher als sich das verbliebene Rest-Datenvolumen in den ioBroker zu holen. Soviel zur Vorgeschichte.
Gelöst habe ich das mit einem Skript auf Betriebssystem-Ebene (in meinem Fall Debian Linux) und einem Javascript im ioBroker:
Das Bash-Skript liest die Vodafone-Statusseite (https://center.vodafone.de/vcenter/index.html) aus, parst das verbliebene Rest-Datenvolumen heraus und gibt dieses aus (der Link funktioniert nur wenn man über einen Vodafone-Mobilfunkgerät im Internet ist und zeigt dann die Daten des eigenen Vertrages):
DataVolume=$(/usr/bin/curl -s --connect-timeout 10 https://center.vodafone.de/vfcenter/index.html | /usr/bin/sed -n '/<div class=\"volume\">/,/<!-- End volume -->/p' | /usr/bin/sed -n '/strong/p' | /usr/bin/sed 's/<strong>//g' | /usr/bin/sed 's/<\/strong>//g')
echo $DataVolume
Bei mir liegt das Skipt unter '/opt/script/getVodafoneDataVolume.sh'.
Dazu kommt das noch das Javascript im iobroker, welches wiederum alle 10 Minuten das Bash-Skript aufruft und das ermittelte Rest-Datenvolumen in einem Datenpunkt ablegt:
var Log_Header = "Vodafone - Verbliebenes Datenvolumen: ";
var RestVolumen;
function checkDataVolumen () {
exec('/opt/script/getVodafoneDataVolume.sh', function (error, stdout, stderr){
RestVolumen = stdout;
setState('0_userdata.0.Vodafone.Datenvolumen',stdout,true)
log(Log_Header + RestVolumen, "info");
});
}
setInterval(checkDataVolumen, 600000);
Den Wert lasse ich mir dann auf einer ULanzi-Pixelanzeige und zwei NSPaneln anzeigen.
Das Ganze ist mehr so auf die Schnelle entstanden und könnte sicher vielleicht auch eleganter gelöst werden.
Für diejenigen, die bei T-Mobile Kunde sind: Dort ist die Statusseite unter 'http://pass.telekom.de' erreichbar. Das Bash-Skript müsste dann logischerweise angepasst werden - sind ja zwei unterschiedliche Seiten.
Ja, dann würde ich sagen - man liest sich - bis dahin.