@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: Gelöst: MQTT Server übernimmt Publish in einem Topic nicht
@clown007
Also, ist mir etwas peinlich, ich habe den Fehler gefunden. Im Nachhinein ist alles ganz logischIch hatte eine falsche Variable bei der Client ID in meinem ESP Programm. Das wäre noch kein Problem, wenn man den Code aber kopiert und im nächsten Projekt verwendet, haben zwei Clients die gleiche ID
Sorry, der Post kann als gelöst markiert werden.
Gruß Martin
-
RE: Gelöst: MQTT Server übernimmt Publish in einem Topic nicht
@wolfi913 Ich denke mittlerweile auch, das wäre geschickter gewesen
Wenn ich jetzt noch einen eigenen DNS Namen für den Service genommen hätte, wäre es einfach (wieder ein Learning)
Trotzdem Danke,
Martin -
RE: Gelöst: MQTT Server übernimmt Publish in einem Topic nicht
@wolfi913
Habe ich im Script
Nach dem Neustart des Servers sehe ich die Aktualisierungen auch sofort.Wo finde ich das Detail log des MQTT Servers?
Danke und Gruß,
Martin -
Gelöst: MQTT Server übernimmt Publish in einem Topic nicht
Hallo,
der Fehler ist heute plötzlich aufgetreten, ohen das ich am System etwas verändern habe (konfiguriert oder updates).Ich habe eine Herausforderung mit dem MQTT Client/Server Adapter. Von meinem ESP werden immer die ersten paar Publish nach einem Neustart des Servers übernommen und danach keine mehr. DIe Update kommen alle 5 Sekunden. Andere MQTT Clients funktionieren einwandfrei. Ich nutze die Standard Arduino library PubSubClient.h.
Auf der Netzwerkschnittstelle sehe ich den Publish und auch das "Ack" dazu. Im Log File des MQTT Adapters werden diese Update nicht angezeigt. Außer die ersten nach einem Neustart ;-). Jetzt weiß ich nicht genau wo ich suchen und diese Infos as dem System "verloren" gehen oder geblockt werden.
Wie gesagt nach dem Neustart, werden die Infos ein paar mal übernommen.
Danke für eure Ideen,
MartinPS: Ich habe den Frigate Adapter letztens aktualisiert. Der verwendet jetzt einen eignen mqtt Server unter Port 1882. Erklärt aber auch nicht, warum es nach dem Neustart immer kurz funktioniert. Gibt es "Schutz" gegen zu häufige Anfragen?
- Adaptername: mqtt
- Link zu Adapterrepository: www.github.com...
- Adapterversion: v6.1.2
- js-controller Version: ...
- Admin Version: 7.1.5
- Hardwaresystem: NUC, Pi4 Proxmox
- Arbeitsspeicher: 32 GB
- Festplattenart: SD-Karte, SSD, HDD, ...
- Betriebssystem: Debian
- Nodejs-Version: v20.18.0
- NPM-Version: 10.8.2
- Installationsart: Skript oder Manuell ? Skript
- Image, Docker genutzt: Ja - Nein
- Ort, Name der Imagedatei: ...
======================= SUMMARY ======================= v.2024-10-19 Static hostname: iobroker Icon name: computer-container Chassis: container ☐ Virtualization: lxc Operating System: Debian GNU/Linux 12 (bookworm) Kernel: Linux 6.8.12-2-pve Architecture: x86-64 Installation: lxc Kernel: x86_64 Userland: 64 bit Timezone: Europe/Berlin (CET, +0100) User-ID: 1000 Display-Server: false Boot Target: multi-user.target Pending OS-Updates: 53 Pending iob updates: 1 Nodejs-Installation: /usr/bin/nodejs v20.18.0 /usr/bin/node v20.18.0 /usr/bin/npm 10.8.2 /usr/bin/npx 10.8.2 /usr/bin/corepack 0.29.3 Recommended versions are nodejs 20.18.1 and npm 10.8.2 nodeJS installation is correct MEMORY: total used free shared buff/cache available Mem: 34G 2.6G 31G 167K 57M 31G Swap: 8.0G 0B 8.0G Total: 42G 2.6G 39G Active iob-Instances: 34 Upgrade policy: none ioBroker Core: js-controller 7.0.6 admin 7.1.5 ioBroker Status: iobroker is running on this host. Objects type: jsonl States type: jsonl Status admin and web instance: + system.adapter.admin.0 : admin : iobroker - enabled, port: 8081, bind: 0.0.0.0, run as: admin + system.adapter.web.0 : web : iobroker - enabled, port: 8082, bind: 0.0.0.0, run as: admin Objects: 11949 States: 11408 Size of iob-Database: 12M /opt/iobroker/iobroker-data/objects.jsonl 3.2M /opt/iobroker/iobroker-data/states.jsonl Unknown release codenamed ''. Please check yourself if the Operating System is actively maintained. =================== END OF SUMMARY ====================
=== Mark text until here for copying ===
-
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