FHEM Tutorial-Reihe - Part 52: Tonerstand vom Drucker abfragen

Mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks.

FHEM Tutorial-Reihe - Part 52: Tonerstand vom Drucker abfragen
FHEM Tutorial-Reihe - Part 52: Tonerstand vom Drucker abfragen
  • Matthias Kleine
  • 03.02.2018
  • Hardware
  • Integration

Auf Grund einer Frage in meiner Facebook-Gruppe bin ich auf ein weiteres interessantes Thema für ein neues Video gestoßen: Ich wollte gerne den Tonerstand (und wie lange er noch hält) in fhem integrieren. So kann ich mir eine Notification zusenden lassen, wenn der Toner unter ein bestimmtes Level fällt. Eigentlich dachte ich, dass ich nur die Prozentzahl heraus bekomme - aber jetzt sind es doch die ungefähr verbleibenden Seiten geworden - was natürlich noch viel cooler ist, weil der Drucker ja weiß wie er die Prozentzahl ungefähr in Seiten umrechnen muss.

Was wird benötigt?

  • Eine FHEM-Installation
  • Ein Netzwerk-Drucker mit Web-Interface

Video

FHEM-Kurs

Befehle

define Drucker HTTPMOD http://192.168.178.29/SSI/supply_status.htm 300
attr Drucker userattr reading01Name reading01Regex reading02Name reading02Regex
attr Drucker enableControlSet 1
attr Drucker event-on-change-reading .*
attr Drucker icon it_printer
attr Drucker reading01Name VerbleibendeSeiten
attr Drucker reading01Regex <td class="labelSpsFont">Geschätzte Anzahl verbleibender Seiten\*:</td>\s*<td class="itemSpsFont">([0-9]+)
attr Drucker reading02Name GedruckteSeiten
attr Drucker reading02Regex <td class="labelSpsFont">Mit diesem Verbrauchsmat. gedruckte Seiten\*:</td>\s*<td class="itemSpsFont">([0-9]+)
attr Drucker stateFormat Gedruckte Seiten: GedruckteSeiten<br/>Verbleibende Seiten: VerbleibendeSeiten

Das zugehörige doif ist auch nicht komplizierter. Hier wird einfach das Reading für die verbleibenden Seiten kontrolliert und entsprechend mit einer Pushover-Notification und einem Eintrag in die Wunderlist reagiert. Einfacher geht es kaum, oder?

define doif_Drucker_SeitenKnapp DOIF ([Drucker:VerbleibendeSeiten] < 100)
	(set WEB_Pushover msg 'Drucker' 'Der Toner hält nur noch für [Drucker:VerbleibendeSeiten] Seiten', set Wunderlist addTask Drucker-Toner kaufen)
DOELSEIF ([Drucker:VerbleibendeSeiten] >= 100)
	(set WEB_Pushover msg 'Drucker' 'Der Toner hält wieder für [Drucker:VerbleibendeSeiten] Seiten')

attr doif_Drucker_SeitenKnapp DbLogExclude .*
attr doif_Drucker_SeitenKnapp alias Drucker: Benachrichtigung wenn Toner fast leer
attr doif_Drucker_SeitenKnapp checkReadingEvent 1
attr doif_Drucker_SeitenKnapp group DeviceLogik
attr doif_Drucker_SeitenKnapp room Logik
Ich will mehr

Smart-Home-Training von A-Z

Steig noch tiefer in die Themen ein und meistere Deine Projekte!

ioBroker-Master-Kurs

ioBroker-Master-Kurs

Mehr Infos
NodeRed-Kurs

NodeRed-Kurs

Mehr Infos
Lox-Kurs

Lox-Kurs

Mehr Infos
FHEM-Kurs

FHEM-Kurs

Mehr Infos