Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Script und VIS: Druckerpatronen Zustand

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Script und VIS: Druckerpatronen Zustand

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      kleinerDrache last edited by

      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 ?

      1 Reply Last reply Reply Quote 0
      • F
        frost last edited by

        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 Reply Last reply Reply Quote 0
        • F
          frost last edited by

          @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 Reply Last reply Reply Quote 0
          • J
            jojo43 last edited by

            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 Reply Last reply Reply Quote 0
            • D
              Dice19 last edited by

              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 Reply Last reply Reply Quote 0
              • Y
                ykuendig last edited by

                Nach dem Fehler.

                1 Reply Last reply Reply Quote 0
                • D
                  Dice19 last edited by

                  Der wäre?

                  1 Reply Last reply Reply Quote 0
                  • Y
                    ykuendig last edited by

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

                    -> Geändertes Script herzeigen.

                    1 Reply Last reply Reply Quote 0
                    • D
                      Dice19 last edited by

                      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 Reply Last reply Reply Quote 0
                      • Y
                        ykuendig last edited by

                        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...

                        1 Reply Last reply Reply Quote 0
                        • Y
                          ykuendig last edited by

                          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.

                          1 Reply Last reply Reply Quote 0
                          • D
                            Dice19 last edited by

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

                            1 Reply Last reply Reply Quote 0
                            • Y
                              ykuendig last edited by

                              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))

                              1 Reply Last reply Reply Quote 0
                              • D
                                Dice19 last edited by

                                Ok dann klappt das wohl mit dem Drucker nicht.

                                Ergebnis:

                                404 Not Found

                                1 Reply Last reply Reply Quote 0
                                • Y
                                  ykuendig last edited by

                                  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

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    Dice19 last edited by

                                    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 Reply Last reply Reply Quote 0
                                    • Y
                                      ykuendig last edited by

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

                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        Dice19 last edited by

                                        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>
                                        !
                                        ! | http://www.hp.com';" /> |
                                        ! # HP Officejet 6500 E709n
                                        ! | |
                                        ! |
                                        ! HPD0B01A   
                                        ! 192.168.178.47 |
                                        ! Status: 
                                        !  
                                        ! Bereit    
                                        !   
                                        !
                                        ! |
                                        ! |
                                        ! 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

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

                                        !
                                        !
                                        !
                                        !
                                        !
                                        !
                                        !
                                        !
                                        !

                                        |

                                        !
                                        ! |   |
                                        !
                                        ! |   |
                                        !
                                        ! |   |
                                        !
                                        ! |
                                        ! *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

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

                                        !
                                        !  Gelb

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

                                        !
                                        !  Zyan

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

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

                                        1 Reply Last reply Reply Quote 0
                                        • Y
                                          ykuendig last edited by

                                          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:
                                          Sascha Löbbert 1 Reply Last reply Reply Quote 0
                                          • D
                                            Dice19 last edited by

                                            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 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            43
                                            176
                                            82273
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo