[erledigt] brother netzwerk laser per httpmod abfragen

Begonnen von the ratman, 16 Februar 2019, 14:35:49

Vorheriges Thema - Nächstes Thema

DeeSPe

Zitat von: the ratman am 19 Februar 2019, 15:54:46
der will uns ärgern, scheinbar ... braucht man vielleicht fürs html-zeugs < und /> jeweils noch \ davor?

Eigentlich nicht, aber versuche doch mal die zweite Variante die ich vorgegeben habe, die kommt ja ohne die HTML Tags aus.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

the ratman

#16
ist das selbe ergebnis

ich geh schwer davon aus, dass anstelle Cyan besser Toner&nbsp;Cyan als suchteil gut wäre. anstelle %nbsp; brauch ich jetzt am besten ein .*, gelle?
bzw. könnte man nur auf (C)** gehen. die ** sind eindeutig - gibts auch mit nur (C)* oder auch (C)*** - aber das scheint 100% eindeutig
z.b. Cyan allein kommt auf der seite öfter vor, auch für verwendete farben vor, seh ich grade.


es wird:
   reading01Name Cyan
   reading01Regex \(C\)\*\*.........\((\d{1,3}\.\d{1,2})%\)
   reading02Name Magenta
   reading02Regex \(M\)\*\*.........\((\d{1,3}\.\d{1,2})%\)
   reading03Name Gelb
   reading03Regex \(Y\)\*\*.........\((\d{1,3}\.\d{1,2})%\)
   reading04Name Schwarz
   reading04Regex \(BK\)\*\*.........\((\d{1,3}\.\d{1,2})%\)

goil!
ich dank dir echt herzlich - krieg wieder oberwasser in sachen regex.
→do↑p!dnʇs↓shit←

DeeSPe

Zitat von: the ratman am 19 Februar 2019, 16:02:43
ist das selbe ergebnis

ich geh schwer davon aus, dass anstelle Cyan besser Toner&nbsp;Cyan als suchteil gut wäre. anstelle %nbsp; brauch ich jetzt am besten ein .*, gelle?
bzw. könnte man nur auf (C)** gehen. die ** sind eindeutig - gibts auch mit nur (C)* oder auch (C)*** - aber das scheint 100% eindeutig
z.b. Cyan allein kommt auf der seite öfter vor, auch für verwendete farben vor, seh ich grade.

Setze mal:
Toner.{6}
vor die jeweiligen Readings-Regex'.

Gruß
Dan

P.S. Ich bin kein HTTPMOD Profi, kenne mich nur (mittlerweile) ganz gut mit Regex aus.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

the ratman

#18
siehe oben - wir habens


kann man tempales irgendwie weiter geben?
bin vielleicht ned der einzige mit nem brohter laser

hier zumindest mal der rawdef- ip muß halt angepasst werden:

defmod httpmod_augenlaser HTTPMOD http://192.168.178.6/general/information.html 60
attr httpmod_augenlaser userattr reading01Name reading01Regex reading01XPath-Strict reading02Name reading02Regex reading02XPath-Strict reading03Name reading03Regex reading03XPath-Strict reading04Name reading04Regex reading04XPath-Strict
attr httpmod_augenlaser alias augenlaser infos
attr httpmod_augenlaser group updates
attr httpmod_augenlaser httpVersion 1.1
attr httpmod_augenlaser icon it_printer
attr httpmod_augenlaser model B_01a_hp_printer_cartridge_status
attr httpmod_augenlaser reading01Name Cyan
attr httpmod_augenlaser reading01Regex \(C\)\*\*.........\((\d{1,3}\.\d{1,2})%\)
attr httpmod_augenlaser reading02Name Magenta
attr httpmod_augenlaser reading02Regex \(M\)\*\*.........\((\d{1,3}\.\d{1,2})%\)
attr httpmod_augenlaser reading03Name Gelb
attr httpmod_augenlaser reading03Regex \(Y\)\*\*.........\((\d{1,3}\.\d{1,2})%\)
attr httpmod_augenlaser reading04Name Schwarz
attr httpmod_augenlaser reading04Regex \(BK\)\*\*.........\((\d{1,3}\.\d{1,2})%\)
attr httpmod_augenlaser room computer
attr httpmod_augenlaser stateFormat C: Cyan% M: Magenta% G: Gelb% S: Schwarz%
→do↑p!dnʇs↓shit←

DeeSPe

Vielleicht ist das besser optimiert auf Lesbarkeit (für Mensch und Maschine):
Toner.{6}Cyan.{15}\((\d{1,3}\.\d{1,2})%\)
Toner.{6}Magenta.{15}\((\d{1,3}\.\d{1,2})%\)
Toner.{6}Gelb.{15}\((\d{1,3}\.\d{1,2})%\)
Toner.{6}Schwarz.{16}\((\d{1,3}\.\d{1,2})%\)


Freut mich wenn wir Dein Problem gelöst haben und Du evtl. etwas gelernt hast.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

the ratman

#20
sicher besser - vor allem, weil mir jetzt klar ist, was {15} zu bedeuten hat - wieder was gelernt und vor allem was, dass der übersicht wirklich zuträglich ist.
allerdings kriegt er dann wieder die falschen daten.
das gibts wohl nochmal mit der info, wie oft die toner schon gewechselt wurden. müsste man also noch vor Toner.{6} html rein bringen, also "<dt>Toner,{6}". da denk ich langsam aber schon, dass meine billige lösung übersichtlicher ist. die 9 "." könnte man natürlich noch zusammen fassen.
aber ich denk: jeder, der sich über sowas gedanken macht, braucht grad meine geistigen ergüsse nicht, der hat solche problemchen warscheinlich in unter 10 sek. selber gelöst ...

der vollständigkeit halber die lösung mit 2 kommastellen:   reading01Name Cyan
   reading01Regex \(C\)\*\*.{9}\((\d{1,3}\.\d{1,2})%\)
   reading02Name Magenta
   reading02Regex \(M\)\*\*.{9}\((\d{1,3}\.\d{1,2})%\)
   reading03Name Gelb
   reading03Regex \(Y\)\*\*.{9}\((\d{1,3}\.\d{1,2})%\)
   reading04Name Schwarz
   reading04Regex \(BK\)\*\*.{9}\((\d{1,3}\.\d{1,2})%\)
und warscheinlich könnte ich eigentlich \d{1,2} weg lassen. der drucker liefert scheinbar eh nur in 10% schritten, wofür die da 2 kommastellen drinnen haben, ist mir derzeit ein rätsel.

die lösung ohne nachkommastellen sollte dann so aussehen:   reading01Name Cyan
   reading01Regex \(C\)\*\*.{9}\((\d{1,3})
   reading02Name Magenta
   reading02Regex \(M\)\*\*.{9}\((\d{1,3})
   reading03Name Gelb
   reading03Regex \(Y\)\*\*.{9}\((\d{1,3})
   reading04Name Schwarz
   reading04Regex \(BK\)\*\*.{9}\((\d{1,3})


ich lerne also: bei brother druckern sind * und deren anzahl wichtig - die einzig sichere orientierungshilfe ...
kann dir nur nochmal danken - ich hätt nicht gedacht, dass ich überhaupt nochmal über regex nachdenken werd - der weg, das zeug zu beherrschen ist sowieso noch weit, aber ich seh den weg jetzt wenigstens.

und weil ich grad stolz wie oskar bin, präsentier ich meine rg dazu *g* (oh, werd ich mich morgen schämen welch solchen überschwangs):
→do↑p!dnʇs↓shit←

DeeSPe

Top!

Schön dass Du Deine finale Lösung nun auch noch zur Verfügung gestellt hast.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Beta-User

Zitat von: DeeSPe am 19 Februar 2019, 16:41:23
Top!

Schön dass Du Deine finale Lösung nun auch noch zur Verfügung gestellt hast.

Gruß
Dan
Schließe mich an.
Ergebnis ist im svn als template zu finden, habe auch ein paar Brother, war aber noch nicht dazugekommen, die regexe anzupassen :) .

Zusätzlich gibt es jetzt auch Flusspegel.

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

the ratman

ZitatZusätzlich gibt es jetzt auch Flusspegel.
wat n dat?  :o
→do↑p!dnʇs↓shit←

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

the ratman

mann, ich steh schon wieder mit regex an ...

wollt den brother noch ein wenig erweitern ...
brother bringt die letzten 10 fehler wunderschön aufgelistet. dabei scheint fehler nr. 1 immer der aktuellste fehler zu sein. ideal für eine kurzübersicht, dacht ich mir.

so würds im html stehen:                <th>1</th><td>Wenig Toner :BK</td>
das konstrukt:                                 \<th\>1\<\/th\>\<td\>(.*)< ergibt auf https://regex101.com Wenig Toner :BK
trag ich das 1:1 beim httpmod ein, krieg ich nen haufen weitere zeilen.

was mich ich den falsch?
und warum ergibt eine regex 2 verschiedene ergebnisse? sagts mir bitte jetzt nicht, dass das auch noch in verschiedenen sprachen verschieden gehandhabt wird ...
→do↑p!dnʇs↓shit←

Maista

Moin

Ich frage in meinen FHEM Regex ohne \ vor den <> ab.
Nur vor dem Schrägstrich / steht ein \
Event. musst du reading01RegOpt noch setzen?
Steht bei regex101.com rechts oben in der Zeile.

Aber nur Vermutung da es via Mobilfone schwierig ist zu probieren  ;)

Schönen Abend

Gerd

the ratman

ah sehe, mal ohne \ vor < und > - hab ich wieder übertrieben ...

ZitatEvent. musst du reading01RegOpt noch setzen?
wo find ich das?

ich danke auch für vermutungen *g*
n8n8
→do↑p!dnʇs↓shit←

Maista

#28
In der oberen Zeile in der du dein Regex eingibst bei regex101.com, Rechts .
Nennt sich "Regex flags", kann man draufklicken und auswählen.
Beim Start steht da vermutlich  gm
Zumindest bei mir.

Manchmal gibt's ein timeout. Dann passiert nichts mehr.
Wenn ich dann neu schreiben klappt es dann wieder.
Nervt dann etwas ::)

So, erst mal  gn8

Gerd

the ratman

ja, das gm hab ich auch - mit nem / davor
weiß eben nur nicht, was ich damit machen soll. ich denke, ich scheitere in dem fall an httpmod - der ist ja auch mein erstes mal *g*

das einfach ans attr zu hängen bringt mal nix bei mir
und die vielen, vielen möglichkeiten weiterer attr erschlagen mich grad ein bissi. somit die frage: wohin mit dem gm, oder wie heißt das dann in httpmod?
→do↑p!dnʇs↓shit←