Hi,
ich frage meinen Drucker alle 5 Minuten ab (um, falls er denn online ist, den Tonerfüllstand auszulesen).
Er ist nun aber häufig offline, dann soll FHEM nicht ins Log schreiben, dass er nicht erreichbar ist.
Wie kann ich das konfigurieren?
2019.01.18 19:12:05 3: Drucker: Read callback: Error: connect to http://192.168.0.25:80 timed out
Internals:
BUSY 0
CHANGED
DEF http://192.168.0.25/DevMgmt/ConsumableConfigDyn.xml 300
Interval 300
LASTSEND 1547835423.98517
MainURL http://192.168.0.25/DevMgmt/ConsumableConfigDyn.xml
ModuleVersion 3.5.4 - 9.11.2018
NAME Drucker
NR 615
STATE C: 20% M: 30% Y: 10% K: 30%
TRIGGERTIME 1547835723.98235
TRIGGERTIME_FMT 2019-01-18 19:22:03
TYPE HTTPMOD
XPathStrictEnabled 1
addr http://192.168.0.25:80
auth 0
buf
code 200
data
displayurl http://192.168.0.25/DevMgmt/ConsumableConfigDyn.xml
header
host 192.168.0.25
httpheader HTTP/1.1 200 OK
Cache-Control: no-cache, no-store, must-revalidate
Server: gSOAP/2.7
Content-Type: text/xml; charset=utf-8
Content-Length: 10009
Connection: close
httpversion 1.1
ignoreredirects 0
loglevel 4
path /DevMgmt/ConsumableConfigDyn.xml
protocol http
redirects 0
timeout 2
url http://192.168.0.25/DevMgmt/ConsumableConfigDyn.xml
value 0
QUEUE:
READINGS:
2019-01-18 17:36:59 Black 30
2019-01-18 17:36:59 Cyan 20
2019-01-18 17:36:59 Magenta 30
2019-01-18 17:36:59 Yellow 10
REQUEST:
data
header
ignoreredirects 0
retryCount 0
type update
url http://192.168.0.25/DevMgmt/ConsumableConfigDyn.xml
value 0
defptr:
readingBase:
Black reading
Cyan reading
Magenta reading
Yellow reading
readingNum:
Black 04
Cyan 01
Magenta 02
Yellow 03
readingOutdated:
requestReadings:
update:
Black reading 04
Cyan reading 01
Magenta reading 02
Yellow reading 03
sslargs:
Attributes:
enableControlSet 1
httpVersion 1.1
icon it_printer
reading01Name Cyan
reading01XPath-Strict //ccdyn:ConsumableInfo[2]/dd:ConsumablePercentageLevelRemaining/text()
reading02Name Magenta
reading02XPath-Strict //ccdyn:ConsumableInfo[3]/dd:ConsumablePercentageLevelRemaining/text()
reading03Name Yellow
reading03XPath-Strict //ccdyn:ConsumableInfo[4]/dd:ConsumablePercentageLevelRemaining/text()
reading04Name Black
reading04XPath-Strict //ccdyn:ConsumableInfo[1]/dd:ConsumablePercentageLevelRemaining/text()
room Wohnzimmer
stateFormat C: Cyan% M: Magenta% Y: Yellow% K: Black%
userattr reading01Name reading01XPath-Strict reading02Name reading02XPath-Strict reading03Name reading03XPath-Strict reading04Name reading04XPath-Strict
Hi,
die Magie liegt in dieser Zahl:
Zitat19:12:05 3: Drucker:
Das ist der Loglevel. :D
Der lässt sich an mehreren Stellen mit dem attr verbose beeinflussen.
Wenn Du jetzt
attr Drucker verbose 2
setzt werden Meldungen von diesem Gerät (Drucker) mit Level 3 nicht mehr geloggt.
Gruß Otto
und vielleicht noch als Anregung, du könntest ja z.B. auch (mit PRESENCE) o.ä. prüfen ob der Drucker online ist und die Füllstandsabfrage entsprechend steuern also z.B. nur wenn Presence "present" meldet per notify den Füllstand abfragen.
Und direkt mal probiert: Kann mein Drucker auch, zumindest so ähnlich. ;D
Mal sehen ob ich da wieder was zu HTTPMOD dazulernen kann. :)
Schönes WE
Otto
Danke euch beiden. Werde ich testen.
Hat geklappt-Danke nochmal!
Wie hast du's denn gelöst? Und bei der Gelegenheit vielleicht gleich noch [Gelöst] vor das Subject des ersten Posts schreiben
Kurz, weil mobil
Lösung : attr Drucker verbose 2
Themen bitte nicht schlessen, sondern wie oben gesagt "gelöst" ins Subject schreiben.
Prinzipiell würde ich mir aber überlegen, ob es nicht mehr Sinn macht, den Füllstand nur abzufragen, wenn der Drucker online ist... Du erzeugst so nur unnötige Last auf deinem System (und sind alle 5 Minuten wirklich notwendig?)
Ja, dass muss jeder selber wissen mit der Last.
Wenn ich es auf stündlich stelle wäre auch nicht optimal, wenn er immer nur 5-10 Minuten an ist.
Auch wenn ich mit PRESENCE arbeite entsteht dauerlast, oder siehst du das anders?
Ich würde denke die Last ist eine ganz andere.
Ich habe keine fertige Lösung, aber eigentlich sollte man ihn abfragen 5 min nachdem er angegangen ist. Einmal am Tag reicht doch oder?
Ich weiß nicht wie man HTTPMOD so konfigurieren kann, dass es quasi manuell läuft. Deswegen nur ein verbaler Lösungsansatz.
Zitat von: Otto123 am 21 Januar 2019, 14:56:08
Ich weiß nicht wie man HTTPMOD so konfigurieren kann, dass es quasi manuell läuft.
Einfach
defmod <Device> HTTPMOD https://blabla 0
=> Interval 0 (kann man sonst nicht über set <Device> interval 0 setzen)
Dann geht es nur noch über
set <Device> reread
Danke für die Aufklärung. ;)
Ja ich hätte einfach lesen können: :-[
ZitatURL can be "none" and Interval can be 0 if you prefer to only query data manually with a get command and not automatically in a defined interval.
Geht also ;D
Ich hatte das mit der 0 letztens beim CALENDAR probiert, der lief dann "heiß".
Gruß Otto