Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Script und VIS: Druckerpatronen Zustand

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    836

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.6k

[Vorlage] Script und VIS: Druckerpatronen Zustand

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
176 Beiträge 43 Kommentatoren 100.5k Aufrufe 16 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K Offline
    K Offline
    kleinerDrache
    schrieb am zuletzt editiert von
    #49

    hallo

    wollte das Script für meinen WF-7620 umbauen aber scheitere schon am Request Aufruf. Das Problem ist das der Drucker nur per HTTPS angesprochen werden kann. Hat da jemand eine Idee ?

    ca 30 HM-Geräte , diverse Arduinos mit rfm12, Enocean Geräte und ein paar Lacrosse Senoren. Cubietruck mit Armbian als Zentrale keinerlei CCU.

    1 Antwort Letzte Antwort
    0
    • F Offline
      F Offline
      frost
      schrieb am zuletzt editiert von
      #50

      Habe noch einen weiteren Fehler beim 4-Catridge Code entdeckt. Und zwar schlägt der nur dann nieder, wenn der Füllstand 100% ist.

      Mit der Zeile

      level_string = body.substring(zwei_position, zwei_position+2);
      

      holst du die nächsten 2 Zeichen als Teilstring. Im Fall von 100% sind das aber 3 Zeichen, deshalb kommt hier fälschlicherweise 10% raus.

      Ich habe das bei mir wie folgt geändert:

      level_string = body.substring(zwei_position, body.indexOf('
      

      Damit suche ich nach dem End-Tag und bekomme die komplette Zahl!

      Der Schönheit halber, kann man den Suchstring auch als Variable am Anfang des Skripts anzeigen.

      Hier der komplette Code:

      ! ````
      // bringt den Druckertintenstand von WEB enabled HP Tintenstrahler in ioBroker
      // Basierend auf CCU2 Script fuer HP Drucker http://homematic-forum.de/forum/viewtop ... 31&t=25140
      // und dem angepassten Script von PiX aus iobroker http://forum.iobroker.de/viewtopic.php? ... c289#p6931
      // Author : looxer01 - 22.12.2015
      // 2016-06-18, jtraxler: Angepasst an HP8620
      // 2016-11-01, jtraxler: Bugfix 100% Level
      ! // hier Drucker parameter einstellen - vor dem ersten Speichern des Scripts
      var druckerIP = "10.0.0.43";
      var druckerURL = "http://" + druckerIP + "/DevMgmt/ConsumableConfigDyn.xml";
      ! var druckermod = "8620";
      var TinteID = "951XL";
      ! var request = require('request');
      var cut1 = "dd:ConsumableLabelCode";
      var cut2 = "dd:ConsumablePercentageLevelRemaining";
      var TagEndMarker = '

      1 Antwort Letzte Antwort
      0
      • F Offline
        F Offline
        frost
        schrieb am zuletzt editiert von
        #51

        @kleinerDrache:

        Das Problem ist das der Drucker nur per HTTPS angesprochen werden kann. Hat da jemand eine Idee ? `
        Noch ein Hinweis für dich: Schau dir mal die "request-ssl" Library an (https://www.npmjs.com/package/request-ssl)!

        1 Antwort Letzte Antwort
        0
        • J Offline
          J Offline
          jojo43
          schrieb am zuletzt editiert von
          #52

          Liebe Community,

          nach reichlich suchen und probieren habe ich es als iobroke-newbie geschafft.

          Dank all den guten Tipps hier im Threat.

          Gern teile ich meinen View und das Script für einen HP Laserjet Pro MFP M276n:

          View:

          ! { "settings": { "style": { "background-clip": "border-box", "background-color": "#f8f2f2", "background_class": "", "background": "" }, "theme": "redmond", "sizex": "", "sizey": "", "gridSize": "", "snapType": null }, "widgets": { "e00001": { "tpl": "tplJustgageJustGage", "data": { "g_fixed": false, "g_visibility": false, "g_css_font_text": false, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "is_tdp": "false", "factor": "1", "balance1": "10", "balance2": "50", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false, "oid": "javascript.1.Drucker.HP.M276n.Cyan.Level", "min_oid": "0", "max_oid": "100", "digits": "0", "valueFontColor": "", "pointerColor": "", "title": "", "titleFontColor": "#000000", "titleFontFamily": "Arial, Helvetica, sans-serif", "labelFontColor": "#000000", "labelFontFamily": "Arial, Helvetica, sans-serif", "color1": "#FFFFFF", "color2": "", "color3": "#00FFFF" }, "style": { "left": "21px", "top": "56px", "width": "129px", "height": "95px", "z-index": 1 }, "widgetSet": "justgage" }, "e00002": { "tpl": "tplValueString", "data": { "oid": "javascript.1.Drucker.HP.M276n.Cyan.LastUsed", "g_fixed": false, "g_visibility": false, "g_css_font_text": true, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false, "html_prepend": "Letzte Nutzung: " }, "style": { "left": "34px", "top": "157px", "font-size": "small", "width": "169px", "height": "19px", "z-index": 1 }, "widgetSet": "basic" }, "e00003": { "tpl": "tplValueString", "data": { "oid": "javascript.1.Drucker.HP.M276n.Cyan.InstallDay", "g_fixed": false, "g_visibility": false, "g_css_font_text": true, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false, "html_prepend": "Installation: ", "html_append": "" }, "style": { "left": "59px", "top": "182px", "font-size": "small", "width": "144px", "height": "19px", "z-index": 1 }, "widgetSet": "basic" }, "e00004": { "tpl": "tplValueString", "data": { "oid": "nothing_selected", "g_fixed": false, "g_visibility": false, "g_css_font_text": true, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false, "html_prepend": "Cyan" }, "style": { "left": "42px", "top": "43px", "font-weight": "bold", "font-size": "large", "width": "60px", "height": "20px", "z-index": 1 }, "widgetSet": "basic" }, "e00005": { "tpl": "tplValueString", "data": { "oid": "javascript.1.Drucker.HP.M276n.Cyan.Ink", "g_fixed": false, "g_visibility": false, "g_css_font_text": true, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false }, "style": { "left": "147px", "top": "47px", "font-size": "small", "font-weight": "bold", "width": "60px", "height": "20px", "z-index": 1 }, "widgetSet": "basic" }, "e00006": { "tpl": "tplJustgageJustGage", "data": { "g_fixed": false, "g_visibility": false, "g_css_font_text": false, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "is_tdp": "false", "factor": "1", "balance1": "10", "balance2": "50", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false, "oid": "javascript.1.Drucker.HP.M276n.Magenta.Level", "min_oid": "0", "max_oid": "100", "digits": "0", "valueFontColor": "", "pointerColor": "", "title": "", "titleFontColor": "#000000", "titleFontFamily": "Arial, Helvetica, sans-serif", "labelFontColor": "#000000", "labelFontFamily": "Arial, Helvetica, sans-serif", "color1": "#FFFFFF", "color2": "", "color3": "#FF00FF" }, "style": { "left": "229px", "top": "56px", "width": "129px", "height": "95px", "z-index": 1 }, "widgetSet": "justgage" }, "e00007": { "tpl": "tplValueString", "data": { "oid": "javascript.1.Drucker.HP.M276n.Magenta.LastUsed", "g_fixed": false, "g_visibility": false, "g_css_font_text": true, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false, "html_prepend": "Letzte Nutzung: " }, "style": { "left": "242px", "top": "157px", "font-size": "small", "width": "169px", "height": "19px", "z-index": 1 }, "widgetSet": "basic" }, "e00008": { "tpl": "tplValueString", "data": { "oid": "javascript.1.Drucker.HP.M276n.Magenta.InstallDay", "g_fixed": false, "g_visibility": false, "g_css_font_text": true, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false, "html_prepend": "Installation: ", "html_append": "" }, "style": { "left": "266px", "top": "181px", "font-size": "small", "width": "144px", "height": "19px", "z-index": 1 }, "widgetSet": "basic" }, "e00009": { "tpl": "tplValueString", "data": { "oid": "nothing_selected", "g_fixed": false, "g_visibility": false, "g_css_font_text": true, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false, "html_prepend": "Magenta" }, "style": { "left": "249px", "top": "42px", "font-weight": "bold", "font-size": "large", "width": "88px", "height": "20px", "z-index": 1 }, "widgetSet": "basic" }, "e00010": { "tpl": "tplValueString", "data": { "oid": "javascript.1.Drucker.HP.M276n.Magenta.Ink", "g_fixed": false, "g_visibility": false, "g_css_font_text": true, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false }, "style": { "left": "354px", "top": "46px", "font-size": "small", "font-weight": "bold", "width": "60px", "height": "20px", "z-index": 1 }, "widgetSet": "basic" }, "e00011": { "tpl": "tplJustgageJustGage", "data": { "g_fixed": false, "g_visibility": false, "g_css_font_text": false, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "is_tdp": "false", "factor": "1", "balance1": "10", "balance2": "50", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false, "oid": "javascript.1.Drucker.HP.M276n.Yellow.Level", "min_oid": "0", "max_oid": "100", "digits": "0", "valueFontColor": "", "pointerColor": "", "title": "", "titleFontColor": "#000000", "titleFontFamily": "Arial, Helvetica, sans-serif", "labelFontColor": "#000000", "labelFontFamily": "Arial, Helvetica, sans-serif", "color1": "#FFFFFF", "color2": "", "color3": "#FFFF00" }, "style": { "left": "21px", "top": "244px", "width": "129px", "height": "95px", "z-index": 1 }, "widgetSet": "justgage" }, "e00012": { "tpl": "tplValueString", "data": { "oid": "javascript.1.Drucker.HP.M276n.Yellow.LastUsed", "g_fixed": false, "g_visibility": false, "g_css_font_text": true, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false, "html_prepend": "Letzte Nutzung: " }, "style": { "left": "33px", "top": "344px", "font-size": "small", "width": "169px", "height": "19px", "z-index": 1 }, "widgetSet": "basic" }, "e00013": { "tpl": "tplValueString", "data": { "oid": "javascript.1.Drucker.HP.M276n.Yellow.InstallDay", "g_fixed": false, "g_visibility": false, "g_css_font_text": true, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false, "html_prepend": "Installation: ", "html_append": "" }, "style": { "left": "57px", "top": "368px", "font-size": "small", "width": "144px", "height": "19px", "z-index": 1 }, "widgetSet": "basic" }, "e00014": { "tpl": "tplValueString", "data": { "oid": "nothing_selected", "g_fixed": false, "g_visibility": false, "g_css_font_text": true, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false, "html_prepend": "Yellow" }, "style": { "left": "40px", "top": "229px", "font-weight": "bold", "font-size": "large", "width": "60px", "height": "20px", "z-index": 1 }, "widgetSet": "basic" }, "e00015": { "tpl": "tplValueString", "data": { "oid": "javascript.1.Drucker.HP.M276n.Yellow.Ink", "g_fixed": false, "g_visibility": false, "g_css_font_text": true, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false }, "style": { "left": "145px", "top": "233px", "font-size": "small", "font-weight": "bold", "width": "60px", "height": "20px", "z-index": 1 }, "widgetSet": "basic" }, "e00016": { "tpl": "tplJustgageJustGage", "data": { "g_fixed": false, "g_visibility": false, "g_css_font_text": false, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "is_tdp": "false", "factor": "1", "balance1": "10", "balance2": "50", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false, "oid": "javascript.1.Drucker.HP.M276n.Black.Level", "min_oid": "0", "max_oid": "100", "digits": "0", "valueFontColor": "", "pointerColor": "", "title": "", "titleFontColor": "#000000", "titleFontFamily": "Arial, Helvetica, sans-serif", "labelFontColor": "#000000", "labelFontFamily": "Arial, Helvetica, sans-serif", "color1": "#FFFFFF", "color2": "", "color3": "#000000" }, "style": { "left": "229px", "top": "244px", "width": "129px", "height": "95px", "z-index": 1 }, "widgetSet": "justgage" }, "e00017": { "tpl": "tplValueString", "data": { "oid": "javascript.1.Drucker.HP.M276n.Black.LastUsed", "g_fixed": false, "g_visibility": false, "g_css_font_text": true, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false, "html_prepend": "Letzte Nutzung: " }, "style": { "left": "240px", "top": "343px", "font-size": "small", "width": "169px", "height": "19px", "z-index": 1 }, "widgetSet": "basic" }, "e00018": { "tpl": "tplValueString", "data": { "oid": "javascript.1.Drucker.HP.M276n.Black.InstallDay", "g_fixed": false, "g_visibility": false, "g_css_font_text": true, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false, "html_prepend": "Installation: ", "html_append": "" }, "style": { "left": "265px", "top": "368px", "font-size": "small", "width": "144px", "height": "19px", "z-index": 1 }, "widgetSet": "basic" }, "e00019": { "tpl": "tplValueString", "data": { "oid": "nothing_selected", "g_fixed": false, "g_visibility": false, "g_css_font_text": true, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false, "html_prepend": "Black" }, "style": { "left": "247px", "top": "228px", "font-weight": "bold", "font-size": "large", "width": "60px", "height": "20px", "z-index": 1 }, "widgetSet": "basic" }, "e00020": { "tpl": "tplValueString", "data": { "oid": "javascript.1.Drucker.HP.M276n.Black.Ink", "g_fixed": false, "g_visibility": false, "g_css_font_text": true, "g_css_background": false, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false }, "style": { "left": "352px", "top": "232px", "font-size": "small", "font-weight": "bold", "width": "60px", "height": "20px", "z-index": 1 }, "widgetSet": "basic" }, "e00021": { "tpl": "tplFrame", "data": { "g_fixed": false, "g_visibility": false, "g_css_font_text": true, "g_css_background": true, "g_css_shadow_padding": false, "g_css_border": false, "g_gestures": false, "g_signals": false, "visibility-cond": "==", "visibility-val": 1, "visibility-groups-action": "hide", "title": "HP MFP M276n", "title_color": "black", "title_top": "3", "title_left": "11", "header_height": "0", "header_color": "black", "signals-cond-0": "==", "signals-val-0": true, "signals-icon-0": "/vis/signals/lowbattery.png", "signals-icon-size-0": 0, "signals-blink-0": false, "signals-horz-0": 0, "signals-vert-0": 0, "signals-hide-edit-0": false, "signals-cond-1": "==", "signals-val-1": true, "signals-icon-1": "/vis/signals/lowbattery.png", "signals-icon-size-1": 0, "signals-blink-1": false, "signals-horz-1": 0, "signals-vert-1": 0, "signals-hide-edit-1": false, "signals-cond-2": "==", "signals-val-2": true, "signals-icon-2": "/vis/signals/lowbattery.png", "signals-icon-size-2": 0, "signals-blink-2": false, "signals-horz-2": 0, "signals-vert-2": 0, "signals-hide-edit-2": false }, "style": { "left": "6px", "top": "5px", "width": "446px", "height": "420px", "font-size": "large", "font-weight": "bold", "background-color": "#a8a9d7", "z-index": 0 }, "widgetSet": "basic" } }, "name": "Drucker", "filterList": [] } !
          sowie dem passenden Script

          ! ````
          /* bringt den Druckerttonerstand von WEB enabled HP Farmlaserdrucker M276n in ioBroker
          Drucker HP Tintenstand für iobroker ermitteln
          Basierend auf CCU2 Script fuer HP Drucker http://homematic-forum.de/forum/viewtopic.php?f=31&t=25140
          und dem angepassten Script von PiX aus iobroker http://forum.iobroker.de/viewtopic.php?f=21&t=910&p=6931&hilit=drucker&sid=6780c0b33361e199846dcb584c8dc289&sid=6780c0b33361e199846dcb584c8dc289#p6931
          Author : looxer01 - 22.12.2015
          Version 0.2 29.01.2015 Druckerparameter jetzt einstellbar im Bereich der Einstellungen
          */
          ! // hier Drucker parameter einstellen - vor dem ersten Speichern des Scripts
          ! var druckerIP = '192.168.0.238'; // Drucker IP
          var druckermod = "M276n"; // Drucker Modell - Strukturelement in den Variablen
          var TinteID = "131A"; // Tinte - Tintenbezeichnung
          var TinteCyanBez = "CF211A"; // Bezeichnung fuer Cyan
          var TinteYellowBez = "CF212A"; // Bezeichnung fuer Yellow
          var TinteBlackBez = "CF210X"; // Bezeichnung fuer Black
          var TinteMagentaBez = "CF213A"; // Bezeichnung fuer Magenta
          ! // ende Einstellungen
          ! var druckerURL = "http://" + druckerIP + "/DevMgmt/ConsumableConfigDyn.xml"; // URL nicht ändern
          var request = require('request'); // Enabling for URL Request
          var cut1 = "dd:ConsumableLabelCode"; // Marker für color
          var cut2 = "dd:ConsumablePercentageLevelRemaining"; // Marker für Level
          var cut3 = "ccdyn:ConsumableInfo"; // ab hier stehen die Informationen
          var cut4 = "dd:MaxCapacity"; // Marker für maximale Kapazität
          var cut5 = "dd:ConsumableLastUsedDate"; // Marker für letzte Nutzung
          var cut6 = "dd:Date"; // Marker für Installationsdatum
          var cut7 = "ccdyn:ConsumableInfo"; // Marker für
          ! var level_M = 0; // Tintenlevel
          var level_C = 0; // Tintenlevel
          var level_Y = 0; // Tintenlevel
          var level_K = 0; // Tintenlevel
          var capacity_M = 0; // Tintenlevel
          var capacity_C = 0; // Tintenlevel
          var capacity_Y = 0; // Tintenlevel
          var capacity_K = 0; // Tintenlevel
          var LastUsed_M = ""; // Tintenlevel
          var LastUsed_C = ""; // Tintenlevel
          var LastUsed_Y = ""; // Tintenlevel
          var LastUsed_K = ""; // Tintenlevel
          var InstallDay_M = ""; // Tintenlevel
          var InstallDay_C = ""; // Tintenlevel
          var InstallDay_Y = ""; // Tintenlevel
          var InstallDay_K = ""; // Tintenlevel

          var DruckIP = "Drucker.HP." + druckermod + ".IP"; // Variable für create states
          var DruckerName = "Drucker.HP." + druckermod + ".Name"; // Variable für create states
          var Modell = "Drucker.HP." + druckermod + ".Modell"; // Variable für create states
          var Tinte = "Drucker.HP." + druckermod + ".Tinte"; // Variable für create states
          var CyanInk = "Drucker.HP." + druckermod + ".Cyan.Ink"; // Variable für create states
          var YellowInk = "Drucker.HP." + druckermod + ".Yellow.Ink"; // Variable für create states
          var BlackInk = "Drucker.HP." + druckermod + ".Black.Ink"; // Variable für create states
          var MagentaInk = "Drucker.HP." + druckermod + ".Magenta.Ink"; // Variable für create states

          ! var CyanLevel = "Drucker.HP." + druckermod + ".Cyan.Level"; // Variable für create states
          var YellowLevel = "Drucker.HP." + druckermod + ".Yellow.Level"; // Variable für create states
          var BlackLevel = "Drucker.HP." + druckermod + ".Black.Level"; // Variable für create states
          var MagentaLevel= "Drucker.HP." + druckermod + ".Magenta.Level"; // Variable für create states
          ! var CyanCapacity = "Drucker.HP." + druckermod + ".Cyan.Capacity"; // Variable für create states
          var YellowCapacity = "Drucker.HP." + druckermod + ".Yellow.Capacity"; // Variable für create states
          var BlackCapacity = "Drucker.HP." + druckermod + ".Black.Capacity"; // Variable für create states
          var MagentaCapacity= "Drucker.HP." + druckermod + ".Magenta.Capacity"; // Variable für create states
          ! var CyanLastUsed = "Drucker.HP." + druckermod + ".Cyan.LastUsed"; // Variable für create states
          var YellowLastUsed = "Drucker.HP." + druckermod + ".Yellow.LastUsed"; // Variable für create states
          var BlackLastUsed = "Drucker.HP." + druckermod + ".Black.LastUsed"; // Variable für create states
          var MagentaLastUsed = "Drucker.HP." + druckermod + ".Magenta.LastUsed"; // Variable für create states
          ! var CyanInstallDay = "Drucker.HP." + druckermod + ".Cyan.InstallDay"; // Variable für create states
          var YellowInstallDay = "Drucker.HP." + druckermod + ".Yellow.InstallDay"; // Variable für create states
          var BlackInstallDay = "Drucker.HP." + druckermod + ".Black.InstallDay"; // Variable für create states
          var MagentaInstallDay= "Drucker.HP." + druckermod + ".Magenta.InstallDay"; // Variable für create states
          ! // Anlegen der Variablen
          createState(DruckIP,druckerIP);
          createState(DruckerName,druckermod);
          createState(Tinte,TinteID);
          ! createState(CyanInk,TinteCyanBez);
          createState(YellowInk,TinteYellowBez);
          createState(BlackInk,TinteBlackBez);
          createState(MagentaInk,TinteMagentaBez);
          ! createState(CyanLevel,0);
          createState(YellowLevel,0);
          createState(BlackLevel,0);
          createState(MagentaLevel,0);
          ! createState(CyanCapacity,0);
          createState(YellowCapacity,0);
          createState(BlackCapacity,0);
          createState(MagentaCapacity,0);
          ! createState(CyanLastUsed,"");
          createState(YellowLastUsed,"");
          createState(BlackLastUsed,"");
          createState(MagentaLastUsed,"");
          ! createState(CyanInstallDay,"");
          createState(YellowInstallDay,"");
          createState(BlackInstallDay,"");
          createState(MagentaInstallDay,"");
          ! // Schedule für die Updates
          schedule("/1 * * * * ", function () { // alle 20 Minuten
          // oder schedule(
          */6 * * * , function () { // alle 6 Stunden, etc

          request(druckerURL, function (error, response, body) { // Einlesen der XML Information
          if (!error && response.statusCode == 200) { // error check
          var eins_lastpos = body.indexOf(cut3); // ab hier beginnen die realen Daten

                  var start_position ;
                  var color;
                  var position;
                  var level_string ;
                  var max_capacity ;
                  var last_used;
                  var inst_day;
          

          ! for (var i = 1; i <= 4; i++) {

                   position = body.indexOf(cut1, start_position) + cut1.length  + 1;
                   color =   body.substring(position, position+1) ;
                   position = body.indexOf(cut2,start_position)+ cut2.length  + 1;
                   level_string = body.substring(position, position+3) ;
                   position = body.indexOf(cut4,start_position)+ cut4.length  + 1;      // dritte Position finden
                   max_capacity = body.substring(position, position+4) ;
                   position = body.indexOf(cut5,start_position)+ cut5.length  + 1;      // dritte Position finden
                   last_used = body.substring(position, position+10) ;
                   position = body.indexOf(cut6,start_position)+ cut6.length  + 1;      // dritte Position finden
                   inst_day = body.substring(position, position+10) ;
          

          ! // log("color " + color,"info");
          // log("Level " + level_string,"info");
          // log("max Kapa " + max_capacity,"info");
          // log("last used " + last_used,"info");
          // log("inst_day " + inst_day,"info");

                   if("M" == color){
                       level_M = level_string;
                       capacity_M = max_capacity;
                       LastUsed_M = last_used;
                       InstallDay_M = inst_day;
                      }
                  if("C" == color){
                       level_C = level_string;
                       capacity_C = max_capacity;
                       LastUsed_C = last_used;
                       InstallDay_C = inst_day;
                      }
                  if("Y" == color){
                       level_Y = level_string;
                       capacity_Y = max_capacity;
                       LastUsed_Y = last_used;
                       InstallDay_Y = inst_day;
                      }
                  if("K" == color){
                       level_K = level_string;
                       capacity_K = max_capacity;
                       LastUsed_K = last_used;
                       InstallDay_K = inst_day;
                      }
                  start_position = body.indexOf(cut3, position);                                   // merken position eins
          

          ! } //end For
          !
          // log('Drucker Level M ' + level_M , "info");
          // log('Drucker Level C ' + level_C , "info");
          // log('Drucker Level Y ' + level_Y , "info");
          // log('Drucker Level K ' + level_K , "info");

          // der folgende Bereich muss für ggf abweichenden Druckertyp angepasst werden
          setState(CyanLevel, level_C);
          setState(YellowLevel, level_Y);
          setState(BlackLevel, level_K);
          setState(MagentaLevel, level_M);
          setState(DruckIP, druckerIP);
          setState(CyanCapacity, capacity_C);
          setState(YellowCapacity, capacity_Y);
          setState(BlackCapacity, capacity_K);
          setState(MagentaCapacity, capacity_M);
          setState(CyanLastUsed, LastUsed_C);
          setState(YellowLastUsed, LastUsed_Y);
          setState(BlackLastUsed, LastUsed_K);
          setState(MagentaLastUsed, LastUsed_M);
          setState(CyanInstallDay, InstallDay_C);
          setState(YellowInstallDay, InstallDay_Y);
          setState(BlackInstallDay, InstallDay_K);
          setState(MagentaInstallDay, InstallDay_M);

          !
          } else { // if (!error && response.statusCode == 200) {
          log(error);
          log('Kein Drucker gefunden');

                      }
          

          ! }); // end of request
          ! }); // end of schedule
          ! ````
          Vielleicht hilft es einem und Viel Spaß damit

          Jürgen

          1 Antwort Letzte Antwort
          0
          • D Offline
            D Offline
            Dice19
            schrieb am zuletzt editiert von
            #53

            HI,

            hab das Skript eingefügt und entsprechend die IP angepasst.

            Beim starten erscheint folgende Meldung in Rot:

            00:15:57.655 [error] javascript.0 script.js.IT.Tinte compile failed: SyntaxError: Unexpected number

            Außer der IP und dem Tintenbezeichnung hab ich in dem Skript nichts weiter geändert.

            Nach was muss ich suchen im Skript?

            Danke

            1 Antwort Letzte Antwort
            0
            • Y Offline
              Y Offline
              ykuendig
              schrieb am zuletzt editiert von
              #54

              Nach dem Fehler.

              Gruss Yves

              1 Antwort Letzte Antwort
              0
              • D Offline
                D Offline
                Dice19
                schrieb am zuletzt editiert von
                #55

                Der wäre?

                1 Antwort Letzte Antwort
                0
                • Y Offline
                  Y Offline
                  ykuendig
                  schrieb am zuletzt editiert von
                  #56

                  Wollte damit wohl sagen; wenn Du uns nichts gibst, können wir auch nichts suchen.??!!

                  -> Geändertes Script herzeigen.

                  Gruss Yves

                  1 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    Dice19
                    schrieb am zuletzt editiert von
                    #57

                    Hier…

                    ! ````
                    var druckerIP = "192.168.178.31";
                    var druckerURL = "http://" 192.168.178.31 "/DevMgmt/ConsumableConfigDyn.xml";
                    ! var druckermod = "8500";
                    var TinteID = "920XL";
                    ! var request = require('request');
                    var cut1 = "dd:ConsumableLabelCode";
                    var cut2 = "dd:ConsumablePercentageLevelRemaining";
                    ! var level_M = 0;
                    var level_C = 0;
                    var level_Y = 0;
                    var level_K = 0;
                    ! // angepasst an HP 8900 - hier bitte entsprechend anpassen auf den jeweiligen Typ
                    createState('Drucker.HP.8500.IP',druckerIP);
                    createState('Drucker.HP.8500.Modell',druckermod);
                    createState('Drucker.HP.8500.Tinte',TinteID);
                    createState('Drucker.HP.8500.Cyan.Level');
                    createState('Drucker.HP.8500.Cyan.Ink','C4907A');
                    createState('Drucker.HP.8500.Yellow.Level');
                    createState('Drucker.HP.8500.Yellow.Ink','C4909A');
                    createState('Drucker.HP.8500.Black.Level');
                    createState('Drucker.HP.8500.Black.Ink','C4906A');
                    createState('Drucker.HP.8500.Magenta.Level');
                    createState('Drucker.HP.8500.Magenta.Ink','C4908A');
                    ! schedule("*/20 * * * *", function () { // alle 20 Minuten
                    ! request(druckerURL, function (error, response, body) {
                    if (!error && response.statusCode == 200) {
                    ! // Farbe nummer 1
                    var eins_position = body.indexOf(cut1) + cut1.length + 1;
                    var color = body.substring(eins_position, eins_position+1) ;
                    var zwei_position = body.indexOf(cut2)+ cut2.length + 1;
                    var level_string = body.substring(zwei_position, zwei_position+2) ;
                    var eins_lastpos = eins_position +10;
                    var zwei_lastpos = zwei_position + 10;
                    ! if("M" == color){
                    level_M = level_string;
                    }
                    if("X" == color){
                    level_C = level_string;
                    }
                    if("Y" == color){
                    level_Y = level_string;
                    }
                    if("K" == color){
                    level_K = level_string;
                    }
                    ! // Farbe nummer 2
                    eins_position = body.indexOf(cut1, eins_lastpos) + cut1.length + 1 ;
                    color = body.substring(eins_position, eins_position+1) ;
                    zwei_position = body.indexOf(cut2,zwei_lastpos)+ cut2.length + 1;
                    level_string = body.substring(zwei_position, zwei_position+2) ;
                    ! if("M" == color){
                    level_M = level_string;
                    }
                    if("C" == color){
                    level_C = level_string;
                    }
                    if("Y" == color){
                    level_Y = level_string;
                    }
                    if("K" == color){
                    level_K = level_string;
                    }
                    eins_lastpos = eins_position + 10;
                    zwei_lastpos = zwei_position + 10;
                    ! // Farbe nummer 3
                    eins_position = body.indexOf(cut1, eins_lastpos) + cut1.length + 1;
                    color = body.substring(eins_position, eins_position+1) ;
                    zwei_position = body.indexOf(cut2,zwei_lastpos)+ cut2.length + 1;
                    level_string = body.substring(zwei_position, zwei_position+2) ;
                    ! if("M" == color){
                    level_M = level_string;
                    }
                    if("C" == color){
                    level_C = level_string;
                    }
                    if("Y" == color){
                    level_Y = level_string;
                    }
                    if("K" == color){
                    level_K = level_string;
                    }
                    eins_lastpos = eins_position + 10;
                    zwei_lastpos = zwei_position + 10;
                    ! // Farbe nummer 4
                    eins_position = body.indexOf(cut1, eins_lastpos) + cut1.length + 1;
                    color = body.substring(eins_position, eins_position+1) ;
                    zwei_position = body.indexOf(cut2,zwei_lastpos)+ cut2.length + 1;
                    level_string = body.substring(zwei_position, zwei_position+2) ;
                    ! if("M" == color){
                    level_M = level_string;
                    }
                    if("C" == color){
                    level_C = level_string;
                    }
                    if("Y" == color){
                    level_Y = level_string;
                    }
                    if("K" == color){
                    level_K = level_string;
                    }
                    eins_lastpos = eins_position + 10;
                    zwei_lastpos = zwei_position + 10;
                    ! log('Drucker Level M ' + level_M , "info");
                    log('Drucker Level C ' + level_C , "info");
                    log('Drucker Level Y ' + level_Y , "info");
                    log('Drucker Level K ' + level_K , "info");
                    ! // der folgende Bereich muss für ggf abweichenden Druckertyp angepasst werden
                    ! setState('javascript.0.Drucker.HP.8500.Cyan.Level', level_C);
                    setState('javascript.0.Drucker.HP.8500.Yellow.Level', level_Y);
                    setState('javascript.0.Drucker.HP.8500.Black.Level', level_K);
                    setState('javascript.0.Drucker.HP.8500.Magenta.Level', level_M);
                    setState('javascript.0.Drucker.HP.8500.IP', druckerIP);
                    ! } else { // if (!error && response.statusCode == 200) {
                    log(error);
                    log('Kein Drucker gefunden');
                    ! }
                    ! }); // end of request
                    ! }); // end of schedule

                    
                    geändert: Code in Code-Tags und Spoiler gesetzt; ****Homoran (Mod)****
                    1 Antwort Letzte Antwort
                    0
                    • Y Offline
                      Y Offline
                      ykuendig
                      schrieb am zuletzt editiert von
                      #58

                      Da ist definitiv schon ein Fehler drin. Ev. hast Du den schon mit-kopiert… oder was auch immer.

                      Ich schau's mal durch.

                      Für das nächste Mal; bitte den Code zwischen die (Code)(/code) Markierungen einpacken...

                      Gruss Yves

                      1 Antwort Letzte Antwort
                      0
                      • Y Offline
                        Y Offline
                        ykuendig
                        schrieb am zuletzt editiert von
                        #59

                        Das war schon verpfuscht. Habe nun eine neuere Version des Druckerscripts für Dich angepasst.

                        Bitte bei den Objekten, alle bereits erstellten -javascript.0.Drucker.HP.8500- Einträge löschen (falls vorhanden).

                        Das Script macht die dann neu.

                        Einstellungen sollten ca. passen - So wie es ist, läufts alle 6 Stunden. Das könnte bei Zeile 69 sonst angepasst werden.

                        /* bringt den Druckertintenstand von WEB enabled HP Tintenstrahler in ioBroker
                           Drucker HP Tintenstand für iobroker ermitteln
                          Basierend auf CCU2 Script fuer HP Drucker http://homematic-forum.de/forum/viewtopic.php?f=31&t=25140
                          und dem angepassten Script von PiX aus iobroker  http://forum.iobroker.de/viewtopic.php?f=21&t=910&p=6931&hilit=drucker&sid=6780c0b33361e199846dcb584c8dc289&sid=6780c0b33361e199846dcb584c8dc289#p6931
                          Author : looxer01 - 22.12.2015
                          Version 0.2 29.01.2015        Druckerparameter jetzt einstellbar im Bereich der Einstellungen
                          kosmetik ykuendig
                        */
                        
                        // hier Drucker parameter einstellen - vor dem ersten Speichern des Scripts
                        
                        var druckerIP       = '192.168.178.31';            // Drucker IP 
                        var druckermod      = "8500";                   // Drucker Modell - Strukturelement in den Variablen
                        var TinteID         = "920XL";                  // Tinte - Tintenbezeichnung
                        var TinteCyanBez    = "1234567";                // Bezeichnung fuer Cyan
                        var TinteMagentaBez = "1234567";                // Bezeichnung fuer Magenta
                        var TinteYellowBez  = "1234567";                // Bezeichnung fuer Yellow
                        var TinteBlackBez   = "1234567";                // Bezeichnung fuer Black
                        
                        // ENDE der Einstellungen
                        
                        var druckerURL      = "http://" + druckerIP + "/DevMgmt/ConsumableConfigDyn.xml";          // URL nicht ändern
                        var request         = require('request');                                                   // Enabling for URL Request
                        var cut0            = "dd:Capacity";                                                        // Marker für capacity
                        var cut1            = "dd:ConsumableLabelCode";                                             // Marker für color
                        var cut2            = "dd:ConsumablePercentageLevelRemaining";                              // Marker für Level
                        
                        var level_C  = 0;                                                                           // Tintenlevel
                        var level_M  = 0;                                                                           // Tintenlevel
                        var level_Y  = 0;                                                                           // Tintenlevel
                        var level_K  = 0;                                                                           // Tintenlevel
                        
                        var DruckIP         = "Drucker.HP." + druckermod + ".IP";                                   // Variable für create states
                        var DruckerName     = "Drucker.HP." + druckermod + ".Name";                                 // Variable für create states
                        var Modell          = "Drucker.HP." + druckermod + ".Modell";                               // Variable für create states
                        var Tinte           = "Drucker.HP." + druckermod + ".Tinte";                                // Variable für create states
                        
                        var CyanInk         = "Drucker.HP." + druckermod + ".Color1Cyan.Ink";                       // Variable für create states
                        var MagentaInk      = "Drucker.HP." + druckermod + ".Color2Magenta.Ink";                    // Variable für create states
                        var YellowInk       = "Drucker.HP." + druckermod + ".Color3Yellow.Ink";                     // Variable für create states
                        var BlackInk        = "Drucker.HP." + druckermod + ".Color4Black.Ink";                      // Variable für create states
                        
                        var CyanLevel       = "Drucker.HP." + druckermod + ".Color1Cyan.Level";                     // Variable für create states
                        var MagentaLevel    = "Drucker.HP." + druckermod + ".Color2Magenta.Level";                  // Variable für create states
                        var YellowLevel     = "Drucker.HP." + druckermod + ".Color3Yellow.Level";                   // Variable für create states
                        var BlackLevel      = "Drucker.HP." + druckermod + ".Color4Black.Level";                    // Variable für create states
                        
                        // Anlegen der Variablen
                        createState(DruckIP,druckerIP);
                        createState(DruckerName,druckermod);
                        createState(Tinte,TinteID);
                        
                        createState(CyanInk,TinteCyanBez);
                        createState(MagentaInk,TinteMagentaBez);
                        createState(YellowInk,TinteYellowBez);
                        createState(BlackInk,TinteBlackBez);
                        
                        createState(CyanLevel,0);
                        createState(MagentaLevel,0);
                        createState(YellowLevel,0);
                        createState(BlackLevel),0;
                        
                        // Schedule für die Updates
                        schedule("0 */6 * * *",  Drucker);      // Schedule alle 6 Stunden
                        Drucker();                              // Sofort beim Scriptstart einmal laufen lassen
                        
                        function Drucker () {
                        
                            request(druckerURL, function (error, response, body) {                              // Einlesen der XML Information
                            if (!error && response.statusCode == 200) {                                         // error check
                        
                                // Farbe nummer 1   
                                var null_position = body.indexOf(cut0) + cut0.length + 1 ;
                                var eins_position = body.indexOf(cut1, null_position) + cut1.length  + 1;       // erste Position finden
                                var color =   body.substring(eins_position, eins_position+1) ;                  // erste Position ist die Farbe
                                var zwei_position = body.indexOf(cut2)+ cut2.length  + 1;                       // zweite Position finden
                                var level_string = body.substring(zwei_position, body.indexOf(TagEndMarker, zwei_position));
                                var eins_lastpos = eins_position;                                               // merken position eins
                                var zwei_lastpos = zwei_position;                                               // merken position zwei
                                var TagEndMarker = '<';
                        
                                if("C" == color){ level_C  = level_string; }
                                if("M" == color){ level_M  = level_string; }
                                if("Y" == color){ level_Y  = level_string; }
                                if("K" == color){ level_K  = level_string; }
                        
                                eins_lastpos = eins_position + 10;
                                zwei_lastpos = zwei_position + 10;               
                        
                                // Farbe nummer 2   
                                eins_position = body.indexOf(cut1, eins_lastpos) + cut1.length + 1 ;
                                color =   body.substring(eins_position, eins_position+1) ;
                                zwei_position = body.indexOf(cut2,zwei_lastpos)+ cut2.length  + 1;
                                level_string = body.substring(zwei_position, body.indexOf(TagEndMarker, zwei_position));
                        
                                if("C" == color){ level_C  = level_string; }
                                if("M" == color){ level_M  = level_string; }
                                if("Y" == color){ level_Y  = level_string; }
                                if("K" == color){ level_K  = level_string; }
                        
                                eins_lastpos = eins_position + 10;
                                zwei_lastpos = zwei_position + 10;               
                        
                                // Farbe nummer 3   
                                eins_position = body.indexOf(cut1, eins_lastpos) + cut1.length  + 1;
                                color =   body.substring(eins_position, eins_position+1) ;
                                zwei_position = body.indexOf(cut2,zwei_lastpos)+ cut2.length  + 1;
                                level_string = body.substring(zwei_position, body.indexOf(TagEndMarker, zwei_position));
                        
                                if("C" == color){ level_C  = level_string; }
                                if("M" == color){ level_M  = level_string; }
                                if("Y" == color){ level_Y  = level_string; }
                                if("K" == color){ level_K  = level_string; }
                        
                                eins_lastpos = eins_position + 10;
                                zwei_lastpos = zwei_position + 10;               
                        
                                // Farbe nummer 4 
                                eins_position = body.indexOf(cut1, eins_lastpos) + cut1.length  + 1;
                                color =   body.substring(eins_position, eins_position+1) ;
                                zwei_position = body.indexOf(cut2,zwei_lastpos)+ cut2.length  + 1;
                                level_string = body.substring(zwei_position, body.indexOf(TagEndMarker, zwei_position));
                        
                                if("C" == color){ level_C  = level_string; }
                                if("M" == color){ level_M  = level_string; }
                                if("Y" == color){ level_Y  = level_string; }
                                if("p" == color){ level_pK = level_string; }
                                if("K" == color){ level_K  = level_string; }
                        
                                eins_lastpos = eins_position + 10;
                                zwei_lastpos = zwei_position + 10;               
                        
                                log('Drucker Level  C ' + level_C  , "info");
                                log('Drucker Level  M ' + level_M  , "info");
                                log('Drucker Level  Y ' + level_Y  , "info");
                                log('Drucker Level  K ' + level_K  , "info");
                        
                                // der folgende Bereich muss für ggf abweichenden Druckertyp angepasst werden
                                setState(CyanLevel, level_C);
                                setState(MagentaLevel, level_M);
                                setState(YellowLevel, level_Y);
                                setState(BlackLevel, level_K);
                                setState(DruckIP, druckerIP);
                        
                            } else  {  //   if (!error && response.statusCode == 200) {
                                log(error);
                                log('Kein Drucker gefunden');
                            }
                        
                            }); // end of request
                        
                        } // end of function
                        
                        

                        Dann mal los.

                        Gruss Yves

                        1 Antwort Letzte Antwort
                        0
                        • D Offline
                          D Offline
                          Dice19
                          schrieb am zuletzt editiert von
                          #60

                          Das Skript läuft soweit aber er findet keinen Drucker. Mal sehen ob ich was finde…

                          1 Antwort Letzte Antwort
                          0
                          • Y Offline
                            Y Offline
                            ykuendig
                            schrieb am zuletzt editiert von
                            #61

                            Die IP vom Drucker muss stimmen: 192.168.178.31

                            Der Drucker muss das Vorhaben untersützen. Sprich, er muss auf Eingabe des Links im Browser ein XML zurückschicken:

                            http://192.168.178.31/DevMgmt/ConsumableConfigDyn.xml
                            

                            Im Zweifelsfalle das Resultat-XML hier posten. (( CODE-Tags nicht vergessen))

                            Gruss Yves

                            1 Antwort Letzte Antwort
                            0
                            • D Offline
                              D Offline
                              Dice19
                              schrieb am zuletzt editiert von
                              #62

                              Ok dann klappt das wohl mit dem Drucker nicht.

                              Ergebnis:

                              404 Not Found

                              1 Antwort Letzte Antwort
                              0
                              • Y Offline
                                Y Offline
                                ykuendig
                                schrieb am zuletzt editiert von
                                #63

                                Probier mal:

                                http://192.168.178.31/DevMgmt/ProductConfigDyn.xml
                                ````oder:
                                

                                http://192.168.178.31/DevMgmt/MediaHandlingDyn.xml

                                http://192.168.178.31/DevMgmt/ProductStatusDyn.xml

                                Gruss Yves

                                1 Antwort Letzte Antwort
                                0
                                • D Offline
                                  D Offline
                                  Dice19
                                  schrieb am zuletzt editiert von
                                  #64

                                  Keine Chance sagt immer das selbe 404 nicht gefunden.

                                  Wenn ich dir IP direkt aufrufe öffnet er aber das Geräte Fenster und zeigt Tintenstand etc an.

                                  1 Antwort Letzte Antwort
                                  0
                                  • Y Offline
                                    Y Offline
                                    ykuendig
                                    schrieb am zuletzt editiert von
                                    #65

                                    Dann kopier mal den Quelltext der normalen Seite hier rein. Ev. kann die auch durchsucht werden.

                                    Gruss Yves

                                    1 Antwort Letzte Antwort
                                    0
                                    • D Offline
                                      D Offline
                                      Dice19
                                      schrieb am zuletzt editiert von
                                      #66

                                      Nicht wundern hab den Drucker nun übers LAN angeschlossen und dadurch die andere Ip.

                                      ! http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                                      ! http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
                                      ! <title><br/><br /> <br/><br /><br/><br /><br/><br /> HP Officejet 6500 E709n<br/><br /><br/><br />   192.168.178.47<br/><br /><br/><br /><br/><br /><br/><br /><br/><br /></title>
                                      !
                                      ! | HP Logohttp://www.hp.com';" /> |
                                      ! # HP Officejet 6500 E709n
                                      ! | Druckpatronen |
                                      ! |
                                      ! HPD0B01A   
                                      ! 192.168.178.47 |
                                      ! Status: 
                                      ! Bereit 
                                      ! Bereit    
                                      !   
                                      ! Aktualisieren
                                      ! |
                                      ! |
                                      ! Informationen
                                      ! Einstellungen
                                      ! Netzwerk

                                      !

                                      ! Übersicht
                                      ! Geräteinformationen
                                      ! Netzwerkinformationen
                                      ! Status
                                      ! Nutzungsbericht
                                      ! Protokoll
                                      ! Anwendungen
                                      ! Webscan
                                      ! EWS-Einstellungen
                                      ! Sprache
                                      ! Aktualisierungsrate
                                      ! |
                                      ! |
                                      ! #
                                      ! Geräteinformationen
                                      ! |
                                      ! |
                                      ! ###
                                      ! Status
                                      ! |
                                      ! #####
                                      ! Gerät:
                                      ! |
                                      ! HP Officejet 6500 E709n

                                      !
                                      HP Officejet 6500 E709n

                                      ! Status: 
                                      ! Bereit 
                                      ! Bereit    
                                      ! |
                                      ! |
                                      ! #####
                                      ! Geschätzte Tintenfüllstände:*

                                      !
                                      !
                                      !
                                      !
                                      !
                                      !
                                      !
                                      !
                                      !

                                      |

                                      ! Magenta
                                      ! |   |
                                      ! Zyan
                                      ! |   |
                                      ! Gelb
                                      ! |   |
                                      ! Schwarz
                                      ! |
                                      ! *Nur ungefähre Werte. Die tatsächlichen Tintenstände können abweichen.
                                      ! |
                                      ! #####
                                      ! Optionen, die einen Benutzereingriff erfordern:
                                      ! |
                                      ! ###
                                      ! Angaben
                                      ! |
                                      ! #####
                                      ! Gerät:
                                      ! |
                                      ! Produktname
                                      ! |
                                      ! HP Officejet 6500 E709n

                                      !

                                      ! Produktmodellnummer
                                      ! |
                                      ! CB057A

                                      !

                                      ! Produktseriennummer
                                      ! |
                                      ! TH094321X205G2

                                      !

                                      ! Dienst-ID
                                      ! |
                                      ! 21075

                                      !

                                      ! Drucker-ID
                                      ! |
                                      ! 0

                                      !

                                      ! Firmwareversion
                                      ! |
                                      ! RBP1FN0907AR

                                      !

                                      ! Automatischer Duplexer
                                      ! |
                                      ! Installiert

                                      !

                                      ! Administrator-Passwort
                                      ! |
                                      ! Nicht festgelegt

                                      !

                                      ! Seitenanzahl gesamt
                                      ! |
                                      ! 6583

                                      !

                                      ! Land/Region
                                      ! |
                                      ! Deutschland

                                      !

                                      ! PCL-Set Standard-Symbole
                                      ! |
                                      ! 341
                                      ! |
                                      ! |
                                      ! #####
                                      ! Tintenpatrone:
                                      ! |
                                      ! Farbe
                                      ! |
                                      ! Patronenbereich (PX)
                                      ! |
                                      ! Datum der Erstinstallation (J-M-T)
                                      ! |
                                      ! Datum Garantieablauf (J-M-T)
                                      ! |
                                      ! Teilenummer

                                      !

                                      |

                                      ! Schwarz
                                      !  Schwarz

                                      ! 1 2016-11-18 2017-03-26

                                      ! Gelb
                                      !  Gelb

                                      ! 1 2016-12-16 2018-11-12

                                      ! Zyan
                                      !  Zyan

                                      ! 1 2016-12-16 2018-11-12

                                      ! Magenta
                                      !  Magenta
                                      ! | 1 | 2017-02-26 | 2018-11-12 | |
                                      ! |
                                      ! |

                                      1 Antwort Letzte Antwort
                                      0
                                      • Y Offline
                                        Y Offline
                                        ykuendig
                                        schrieb am zuletzt editiert von
                                        #67

                                        Das ginge mit dem parser Adapter, wenn Du möchtest.
                                        452_parser01.png sieht dann so aus: 452_parser02.png
                                        Regexzeilen zum kopieren:````
                                        cyanink=([+-]?\d+)
                                        magentaink=([+-]?\d+)
                                        yellowink=([+-]?\d+)
                                        blackink=([+-]?\d+)

                                        Objektnamen nach eigenem Gutdünken anpassen und Polling Intervall in ms einstellen… :idea:

                                        Gruss Yves

                                        Sascha LöbbertS 1 Antwort Letzte Antwort
                                        0
                                        • D Offline
                                          D Offline
                                          Dice19
                                          schrieb am zuletzt editiert von
                                          #68

                                          Bei mir sieht es unter objekte ebenso aus, nur das er mir in grüner oder orangener Schrift bei allen vieren 0% anzeigt

                                          :(

                                          @ykuendig:

                                          Das ginge mit dem parser Adapter, wenn Du möchtest.

                                          parser01.png sieht dann so aus: parser02.png

                                          Regexzeilen zum kopieren:````
                                          cyanink=([+-]?\d+)
                                          magentaink=([+-]?\d+)
                                          yellowink=([+-]?\d+)
                                          blackink=([+-]?\d+)

                                          Objektnamen nach eigenem Gutdünken anpassen und Polling Intervall in ms einstellen… :idea: ` 
                                          1 Antwort Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          430

                                          Online

                                          32.8k

                                          Benutzer

                                          82.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe