@da_woody Ich meinte die Konfiguration des Adapters selber MQTT (User/Passwort), HTTP (User/Passwort)
NEWS
Best posts made by Clown007
-
RE: Shelly Adapter findet neue EM3 Geräte nicht
-
RE: jarvis v3.0.0 - just another remarkable vis
@mcu Danke, mache ich. Ich fange ohnehin neu an, da kann ich auch mit V3 starten. Danke für den Hinweis.
-
RE: [Vorlage] HP Drucker Füllstände (Javascript).
@dolomiti Okay, dann entfernen wir diese Zeichen einfach:
/** * Read informations from HP Printers; * 2021-04-16 @ TheAlphaGhost; */ var url = 'http://HP983B82.fritz.box/DevMgmt/ConsumableConfigDyn.xml'; var request = require('request'); var parseString = require('xml2js').parseString; // Create datapoints; createState('Drucker.HP.983B82.Black.ConsumableFamilyName'); createState('Drucker.HP.983B82.Black.ConsumableLabelCode'); createState('Drucker.HP.983B82.Black.ConsumablePercentageLevelRemaining'); createState('Drucker.HP.983B82.Black.ProductNumber'); createState('Drucker.HP.983B82.Cyan.ConsumableFamilyName'); createState('Drucker.HP.983B82.Cyan.ConsumableLabelCode'); createState('Drucker.HP.983B82.Cyan.ConsumablePercentageLevelRemaining'); createState('Drucker.HP.983B82.Cyan.ProductNumber'); createState('Drucker.HP.983B82.Magenta.ConsumableFamilyName'); createState('Drucker.HP.983B82.Magenta.ConsumableLabelCode'); createState('Drucker.HP.983B82.Magenta.ConsumablePercentageLevelRemaining'); createState('Drucker.HP.983B82.Magenta.ProductNumber'); createState('Drucker.HP.983B82.Yellow.ConsumableFamilyName'); createState('Drucker.HP.983B82.Yellow.ConsumableLabelCode'); createState('Drucker.HP.983B82.Yellow.ConsumablePercentageLevelRemaining'); createState('Drucker.HP.983B82.Yellow.ProductNumber'); createState('Drucker.HP.983B82.CMY.ConsumableFamilyName'); createState('Drucker.HP.983B82.CMY.ConsumableLabelCode'); createState('Drucker.HP.983B82.CMY.ConsumablePercentageLevelRemaining'); createState('Drucker.HP.983B82.CMY.ProductNumber'); function GetData() { request(url, function (error, response, body) { var xml, result; parseString(body, function (err, result) { xml = JSON.stringify(result); var json = JSON.parse(xml); for (var i in json['ccdyn:ConsumableConfigDyn']['ccdyn:ConsumableInfo']) { let node = json['ccdyn:ConsumableConfigDyn']['ccdyn:ConsumableInfo'][i]; let ConsumableFamilyName = node['dd:ConsumableFamilyName'] let ConsumableLabelCode = node['dd:ConsumableLabelCode']; let ConsumablePercentageLevelRemaining = node['dd:ConsumablePercentageLevelRemaining']; let ProductNumber = node['dd:ProductNumber']; var ColorDataPoint = ""; switch (String(ConsumableLabelCode)) { case "K": ColorDataPoint = "Black"; break; case "C": ColorDataPoint = "Cyan"; break; case "M": ColorDataPoint = "Magenta"; break; case "Y": ColorDataPoint = "Yellow"; break; case "CMY": ColorDataPoint = "CMY"; break; case "CMYK": continue; break; default: continue; log("[ERROR] ColorDataPoint not found for " + ConsumableLabelCode + "!"); }; ConsumableFamilyName = String(ConsumableFamilyName).replace((/[^*a-zA-Z0-9]/g), ""); setState('javascript.0.Drucker.HP.983B82.' + ColorDataPoint + '.ConsumableFamilyName', String(ConsumableFamilyName).replace((/[^*a-zA-Z0-9]/g), "")); setState('javascript.0.Drucker.HP.983B82.' + ColorDataPoint + '.ConsumableLabelCode', String(ConsumableLabelCode).replace((/[^*a-zA-Z0-9]/g), "")); setState('javascript.0.Drucker.HP.983B82.' + ColorDataPoint + '.ConsumablePercentageLevelRemaining', String(ConsumablePercentageLevelRemaining).replace((/[^*a-zA-Z0-9]/g), "")); setState('javascript.0.Drucker.HP.983B82.' + ColorDataPoint + '.ProductNumber', String(ProductNumber).replace((/[^*a-zA-Z0-9]/g), "")); }; }); }); }; schedule("42 23 * * *", function () { GetData(); })
-
RE: [Vorlage] HP Drucker Füllstände (Javascript).
@dolomiti Ich habe das Script jetzt noch mal etwas (für mich) optimiert. In Userdata "umgezogen". Als Drucker reicht es jetzt den FQDN oben zu ändern und ich habe die Stati ohne Funktion entfernt:
/** * Read informations from HP Printers; * 2021-04-16 @ TheAlphaGhost; */ var printername = 'HP983B82.fritz.box'; var url = 'http://' + printername + '/DevMgmt/ConsumableConfigDyn.xml'; var datapointname = printername.split('.')[0]; var request = require('request'); var parseString = require('xml2js').parseString; // Create datapoints; createState('0_userdata.0.Drucker.' + datapointname + '.Black.ConsumableLabelCode'); createState('0_userdata.0.Drucker.' + datapointname + '.Black.ConsumablePercentageLevelRemaining'); createState('0_userdata.0.Drucker.' + datapointname + '.CMY.ConsumableLabelCode'); createState('0_userdata.0.Drucker.' + datapointname + '.CMY.ConsumablePercentageLevelRemaining'); function GetData() { request(url, function (error, response, body) { var xml, result; parseString(body, function (err, result) { xml = JSON.stringify(result); var json = JSON.parse(xml); for (var i in json['ccdyn:ConsumableConfigDyn']['ccdyn:ConsumableInfo']) { let node = json['ccdyn:ConsumableConfigDyn']['ccdyn:ConsumableInfo'][i]; let ConsumableFamilyName = node['dd:ConsumableFamilyName'] let ConsumableLabelCode = node['dd:ConsumableLabelCode']; let ConsumablePercentageLevelRemaining = node['dd:ConsumablePercentageLevelRemaining']; let ProductNumber = node['dd:ProductNumber']; var ColorDataPoint = ""; switch (String(ConsumableLabelCode)) { case "K": ColorDataPoint = "Black"; break; case "CMY": ColorDataPoint = "CMY"; break; default: continue; log("[ERROR] ColorDataPoint not found for " + ConsumableLabelCode + "!"); }; setState('0_userdata.0.Drucker.' + datapointname + '.' + ColorDataPoint + '.ConsumableLabelCode', String(ConsumableLabelCode).replace((/[^*a-zA-Z0-9]/g), "")); setState('0_userdata.0.Drucker.' + datapointname + '.' + ColorDataPoint + '.ConsumablePercentageLevelRemaining', String(ConsumablePercentageLevelRemaining).replace((/[^*a-zA-Z0-9]/g), "")); }; }); }); }; schedule("42 23 * * *", function () { GetData(); })
Latest posts made by Clown007
-
RE: Tuya Moes Zigbee Heizkörper-Thermostaten / Regelverhalten
@andy3268 Doch die funktionieren bei mir zuverlässig und nachvollziehbar.
-
RE: Opnsense mein Freund
@ostseeskipper Der SNMP Adapter liest aber nur die Werte aus, oder?
Um die Pakete pro Zeit zu ermitteln, musst Du die Differenz nehmen und durch die Zeit teilen. Also einfach in eine Influx Datenbank und mit Grafana ausgewertet -
RE: Opnsense mein Freund
Eventuell hilft Dir auch das Grafana Plugin: https://github.com/b4b857f6ee/opnsense_grafana_dashboard
-
RE: Opnsense mein Freund
@baodare Wo genau ist das Problem? Da hast Du doch die Counter? Je nachdem in welchen Zeitraum Du die Counter abfragst, hast Du doch die Auslastung.
-
RE: [Vorlage] HP Drucker Füllstände (Javascript).
@amg_666 Ich habe einen Farbdrucker mit einer SW und einer Farbpatrone. Kapazität gibt es aber anscheinend bei HP nicht, nur die Füllstände in %.
-
RE: [Vorlage] HP Drucker Füllstände (Javascript).
@dolomiti sagte in [Vorlage] HP Drucker Füllstände (Javascript).:
xml2js
Ich gebe zu, dass ich es mir einfach gemacht habe, und darüber nicht weiter nachgedacht habe. Eventuell hilft Dir das weiter?
https://www.npmjs.com/package/xml2js -
RE: [Vorlage] HP Drucker Füllstände (Javascript).
@amg_666 ... Die OIDs für für Farbe 1-4 sind identisch und gibt mir den % Wert (90)
Name Farbe 1 gibt es bei mir nicht, Farbe 2 ist dann black, Farbe 3 und Farbe 4 gibt es wieder nicht.1.3.6.1.2.1.43.11.1.1.8.1.1 Kapazität F2 ist bei mir 100?
Kapazität 1,3,4 gibt es bei mir nicht.Damit bleibt es bei mir bei den o.g. OIDs
-
RE: [Vorlage] HP Drucker Füllstände (Javascript).
@dolomiti Ich habe das Script jetzt noch mal etwas (für mich) optimiert. In Userdata "umgezogen". Als Drucker reicht es jetzt den FQDN oben zu ändern und ich habe die Stati ohne Funktion entfernt:
/** * Read informations from HP Printers; * 2021-04-16 @ TheAlphaGhost; */ var printername = 'HP983B82.fritz.box'; var url = 'http://' + printername + '/DevMgmt/ConsumableConfigDyn.xml'; var datapointname = printername.split('.')[0]; var request = require('request'); var parseString = require('xml2js').parseString; // Create datapoints; createState('0_userdata.0.Drucker.' + datapointname + '.Black.ConsumableLabelCode'); createState('0_userdata.0.Drucker.' + datapointname + '.Black.ConsumablePercentageLevelRemaining'); createState('0_userdata.0.Drucker.' + datapointname + '.CMY.ConsumableLabelCode'); createState('0_userdata.0.Drucker.' + datapointname + '.CMY.ConsumablePercentageLevelRemaining'); function GetData() { request(url, function (error, response, body) { var xml, result; parseString(body, function (err, result) { xml = JSON.stringify(result); var json = JSON.parse(xml); for (var i in json['ccdyn:ConsumableConfigDyn']['ccdyn:ConsumableInfo']) { let node = json['ccdyn:ConsumableConfigDyn']['ccdyn:ConsumableInfo'][i]; let ConsumableFamilyName = node['dd:ConsumableFamilyName'] let ConsumableLabelCode = node['dd:ConsumableLabelCode']; let ConsumablePercentageLevelRemaining = node['dd:ConsumablePercentageLevelRemaining']; let ProductNumber = node['dd:ProductNumber']; var ColorDataPoint = ""; switch (String(ConsumableLabelCode)) { case "K": ColorDataPoint = "Black"; break; case "CMY": ColorDataPoint = "CMY"; break; default: continue; log("[ERROR] ColorDataPoint not found for " + ConsumableLabelCode + "!"); }; setState('0_userdata.0.Drucker.' + datapointname + '.' + ColorDataPoint + '.ConsumableLabelCode', String(ConsumableLabelCode).replace((/[^*a-zA-Z0-9]/g), "")); setState('0_userdata.0.Drucker.' + datapointname + '.' + ColorDataPoint + '.ConsumablePercentageLevelRemaining', String(ConsumablePercentageLevelRemaining).replace((/[^*a-zA-Z0-9]/g), "")); }; }); }); }; schedule("42 23 * * *", function () { GetData(); })
-
RE: [Vorlage] HP Drucker Füllstände (Javascript).
@dolomiti Eine andere Möglichkeit ist übrigens das SNMP Modul. Die entsprechenden OIDs sind bei meinem Drucker:
Farbe: .1.3.6.1.2.1.43.11.1.1.9.1.1
S/W :.1.3.6.1.2.1.43.11.1.1.9.1.2Ich glaube der Status soll auch nicht mehr in javascript.0 sondern in 0_userdata. Aber diese kleine Änderung schaffst Du selber
-
RE: [Vorlage] HP Drucker Füllstände (Javascript).
@dolomiti Okay, dann entfernen wir diese Zeichen einfach:
/** * Read informations from HP Printers; * 2021-04-16 @ TheAlphaGhost; */ var url = 'http://HP983B82.fritz.box/DevMgmt/ConsumableConfigDyn.xml'; var request = require('request'); var parseString = require('xml2js').parseString; // Create datapoints; createState('Drucker.HP.983B82.Black.ConsumableFamilyName'); createState('Drucker.HP.983B82.Black.ConsumableLabelCode'); createState('Drucker.HP.983B82.Black.ConsumablePercentageLevelRemaining'); createState('Drucker.HP.983B82.Black.ProductNumber'); createState('Drucker.HP.983B82.Cyan.ConsumableFamilyName'); createState('Drucker.HP.983B82.Cyan.ConsumableLabelCode'); createState('Drucker.HP.983B82.Cyan.ConsumablePercentageLevelRemaining'); createState('Drucker.HP.983B82.Cyan.ProductNumber'); createState('Drucker.HP.983B82.Magenta.ConsumableFamilyName'); createState('Drucker.HP.983B82.Magenta.ConsumableLabelCode'); createState('Drucker.HP.983B82.Magenta.ConsumablePercentageLevelRemaining'); createState('Drucker.HP.983B82.Magenta.ProductNumber'); createState('Drucker.HP.983B82.Yellow.ConsumableFamilyName'); createState('Drucker.HP.983B82.Yellow.ConsumableLabelCode'); createState('Drucker.HP.983B82.Yellow.ConsumablePercentageLevelRemaining'); createState('Drucker.HP.983B82.Yellow.ProductNumber'); createState('Drucker.HP.983B82.CMY.ConsumableFamilyName'); createState('Drucker.HP.983B82.CMY.ConsumableLabelCode'); createState('Drucker.HP.983B82.CMY.ConsumablePercentageLevelRemaining'); createState('Drucker.HP.983B82.CMY.ProductNumber'); function GetData() { request(url, function (error, response, body) { var xml, result; parseString(body, function (err, result) { xml = JSON.stringify(result); var json = JSON.parse(xml); for (var i in json['ccdyn:ConsumableConfigDyn']['ccdyn:ConsumableInfo']) { let node = json['ccdyn:ConsumableConfigDyn']['ccdyn:ConsumableInfo'][i]; let ConsumableFamilyName = node['dd:ConsumableFamilyName'] let ConsumableLabelCode = node['dd:ConsumableLabelCode']; let ConsumablePercentageLevelRemaining = node['dd:ConsumablePercentageLevelRemaining']; let ProductNumber = node['dd:ProductNumber']; var ColorDataPoint = ""; switch (String(ConsumableLabelCode)) { case "K": ColorDataPoint = "Black"; break; case "C": ColorDataPoint = "Cyan"; break; case "M": ColorDataPoint = "Magenta"; break; case "Y": ColorDataPoint = "Yellow"; break; case "CMY": ColorDataPoint = "CMY"; break; case "CMYK": continue; break; default: continue; log("[ERROR] ColorDataPoint not found for " + ConsumableLabelCode + "!"); }; ConsumableFamilyName = String(ConsumableFamilyName).replace((/[^*a-zA-Z0-9]/g), ""); setState('javascript.0.Drucker.HP.983B82.' + ColorDataPoint + '.ConsumableFamilyName', String(ConsumableFamilyName).replace((/[^*a-zA-Z0-9]/g), "")); setState('javascript.0.Drucker.HP.983B82.' + ColorDataPoint + '.ConsumableLabelCode', String(ConsumableLabelCode).replace((/[^*a-zA-Z0-9]/g), "")); setState('javascript.0.Drucker.HP.983B82.' + ColorDataPoint + '.ConsumablePercentageLevelRemaining', String(ConsumablePercentageLevelRemaining).replace((/[^*a-zA-Z0-9]/g), "")); setState('javascript.0.Drucker.HP.983B82.' + ColorDataPoint + '.ProductNumber', String(ProductNumber).replace((/[^*a-zA-Z0-9]/g), "")); }; }); }); }; schedule("42 23 * * *", function () { GetData(); })