Das wäre allerdings sehr seltsam, da die Rule ja vorher an dieser Stelle hängen blieb.
HP Printer Binding - monatliche Seiten berechnen
- udo1toni
- Beiträge: 15248
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: HP Printer Binding - monatliche Seiten berechnen
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 175
- Registriert: 13. Dez 2018 17:42
Re: HP Printer Binding - monatliche Seiten berechnen
Mal ne ganz blöde Frage...
Die Fehlermeldung
sagt doch aus, dass im Persistence File kein Eintrag für das entsprechende Datum gefunden wurde.
Kann es daran liegen, dass für dieses, in der Vergangenheit liegende Datum noch keine Einträge vorhanden sind? Die Persistence läuft schließlich erst seit dem 20.11!
Eventuell muss ich einfach bloß warten bis entsprechende Datensätze vorhanden sind.
Die Fehlermeldung
Code: Alles auswählen
2019-11-25 00:26:14.028 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Druckseite_add': cannot invoke method public abstract org.eclipse.smarthome.core.types.State org.eclipse.smarthome.core.persistence.HistoricItem.getState() on null
Kann es daran liegen, dass für dieses, in der Vergangenheit liegende Datum noch keine Einträge vorhanden sind? Die Persistence läuft schließlich erst seit dem 20.11!
Eventuell muss ich einfach bloß warten bis entsprechende Datensätze vorhanden sind.
- udo1toni
- Beiträge: 15248
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: HP Printer Binding - monatliche Seiten berechnen
Nein, die Fehlermeldung sagt aus, dass es nicht möglich war, den Wert, der von der Persistence geliefert wurde, als Number zu casten. Das ist ein feiner Unterschied
Deswegen wäre ich ja auch so scharf darauf, zu sehen, was dort eigentlich gecastet wird. (also was der Persistence Service zurück liefert.)
Es gibt natürlich noch eine pragmatische Methode, um das Problem zu lösen. Definiere ein Number Item, welches Du immer am 18. mit dem Wert von TotalCount füllst. Das Item muss mit restoreOnStartup persistiert werden, am besten mit mapDB. zB. so:
items:
rule:
Künftig berechnest Du die Differenz immer zu diesem Item.

Es gibt natürlich noch eine pragmatische Methode, um das Problem zu lösen. Definiere ein Number Item, welches Du immer am 18. mit dem Wert von TotalCount füllst. Das Item muss mit restoreOnStartup persistiert werden, am besten mit mapDB. zB. so:
items:
Code: Alles auswählen
Number totalcount_18 "Anzahl Seiten am 18. [%d]"
Code: Alles auswählen
rule "set totalcount_18"
when
Time cron "0 0 0 18 * ?" // am 18. des Monats um 00:00:00 Uhr
then
totalcount_18.postUpdate(officejet_totalcount.state)
end
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 175
- Registriert: 13. Dez 2018 17:42
Re: HP Printer Binding - monatliche Seiten berechnen
Es läuft
Ich habe zunächst dem ITEM totalcount_18 händisch einen Wert zugewiesen.
Aber hier noch mal alles komplett, vielleicht benötigt es jemand mal...
printer.things
printer.rules
Ein riesen Dank nochmal an Dich Udo für deine klasse Untestützung, super Erläuterungen und vorallem unendliche Geduld!!!

Ich habe zunächst dem ITEM totalcount_18 händisch einen Wert zugewiesen.
Aber hier noch mal alles komplett, vielleicht benötigt es jemand mal...
printer.things
Code: Alles auswählen
Thing hpprinter:printer:djprinter "HP Officejet 6960" @ "Büro" [ ipAddress="192.168.10.7", usageInterval="30", statusInterval="4" ]
Code: Alles auswählen
printer.items
String officejet_status "Status" {channel="hpprinter:printer:djprinter:status#status"}
Number officejet_blacklevel "Füllstand schwarz [%s%%]" {channel="hpprinter:printer:djprinter:ink#blackLevel"}
Number officejet_yellowlevel "Füllstand Yellow [%s%%]" {channel="hpprinter:printer:djprinter:ink#yellowLevel"}
Number officejet_cyanlevel "Füllstand Cyan [%s%%]" {channel="hpprinter:printer:djprinter:ink#cyanLevel"}
Number officejet_magentalevel "Füllstand Magenta [%s%%]" {channel="hpprinter:printer:djprinter:ink#magentaLevel"}
Number officejet_totalcount "Anzahl gedruckter Seiten" {channel="hpprinter:printer:djprinter:usage#totalCount"}
Number officejet_totalColorCount "davon in Farbe" {channel="hpprinter:printer:djprinter:usage#totalColorCount"}
Number officejet_totalMonochromeCount "davon in schwarz" {channel="hpprinter:printer:djprinter:usage#totalMonochromeCount"}
Number officejet_monthcount "Seiten aktueller Zeitraum [%d]"
Number totalcount_18 "Anzahl Seiten am 18. [%d]"
Code: Alles auswählen
//Zähler am 18 zurücksetzen
rule "set totalcount_18"
when
Time cron "0 0 0 18 * ?" // am 18. des Monats um 00:00:00 Uhr
then
totalcount_18.postUpdate(officejet_totalcount.state)
end
//Differenz berechnen
rule "Druckseite_add"
when
System started or // Systemstart, Anzeige mit aktuellem Wert initialisieren
Item officejet_totalcount changed
then
officejet_monthcount.postUpdate((officejet_totalcount.state as Number) - (totalcount_18.state as Number))
end
//Warnung bei Überschreitung
rule "Druckvolumen"
when
Item officejet_monthcount changed
then
if(officejet_monthcount.state == 45)
{
sendTelegram("user", "Druckvolumen zu 90% verbraucht...noch 5 Seiten übrig")
}
else if(officejet_monthcount.state >= 50)
{
sendTelegram("user", "Druckvolumen aufgebraucht!")
}
end
Ein riesen Dank nochmal an Dich Udo für deine klasse Untestützung, super Erläuterungen und vorallem unendliche Geduld!!!
- udo1toni
- Beiträge: 15248
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: HP Printer Binding - monatliche Seiten berechnen
Gerne.
Schade nur, dass es hartnäckig nicht mit der Persistence funktioniert.

openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
- OliverCJ
- Beiträge: 405
- Registriert: 29. Aug 2017 12:41
- Wohnort: Bergisch Gladbach
Re: HP Printer Binding - monatliche Seiten berechnen
Hallo zusammen,
der Post ist zwar schon etwas älter, ich nutze ihn aber einfach mal um eine Frage zu stellen...
Auf der offiziellen oh-Seite habe ich dieses Binding in der Dokumentation zu den Bindings gefunden (allerdings funktioniert dort der Link auf die Github-Seite nicht).
In der PaperUI finde ich das Binding aber leider nicht zur Installation.
Wo genau bekomme ich es also her? Jemand ne Ahnung? Oder ist das schon wieder eingestellt worden?
Danke und viele Grüße
Oliver
der Post ist zwar schon etwas älter, ich nutze ihn aber einfach mal um eine Frage zu stellen...
Auf der offiziellen oh-Seite habe ich dieses Binding in der Dokumentation zu den Bindings gefunden (allerdings funktioniert dort der Link auf die Github-Seite nicht).
In der PaperUI finde ich das Binding aber leider nicht zur Installation.
Wo genau bekomme ich es also her? Jemand ne Ahnung? Oder ist das schon wieder eingestellt worden?
Danke und viele Grüße
Oliver
_______________________________________________
Homematic IP Komponenten an CCU 3 (wächst stetig)
Innogy Smarthome System (verabschiedet sich langsam)
Philips Hue Beleuchtung
Fritz!Box
VU+ Solo SAT-Receiver
2 Squeezeboxen
Denon Heos System
- OliverCJ
- Beiträge: 405
- Registriert: 29. Aug 2017 12:41
- Wohnort: Bergisch Gladbach
Re: HP Printer Binding - monatliche Seiten berechnen
Hat sich erledigt... Habe gestern auf 2.5.0 upgedatet und anschließend war es bei den Bindings installierbar.
_______________________________________________
Homematic IP Komponenten an CCU 3 (wächst stetig)
Innogy Smarthome System (verabschiedet sich langsam)
Philips Hue Beleuchtung
Fritz!Box
VU+ Solo SAT-Receiver
2 Squeezeboxen
Denon Heos System