{"id":1010,"date":"2018-07-16T15:57:10","date_gmt":"2018-07-16T14:57:10","guid":{"rendered":"https:\/\/www.open4me.de\/?p=1010"},"modified":"2018-07-16T16:46:53","modified_gmt":"2018-07-16T15:46:53","slug":"druckerstatus-in-node-red","status":"publish","type":"post","link":"https:\/\/www.open4me.de\/index.php\/2018\/07\/druckerstatus-in-node-red\/","title":{"rendered":"Druckerstatus in Node-Red"},"content":{"rendered":"<p>Trotz intensiven Suchens habe ich keine fertige L\u00f6sung gefunden, wie man den Status eines Netzwerkdruckers (IPP-Supprt vorausgesetzt) innerhalb von Node-Red abfragen k\u00f6nnte.<\/p>\n<p>Also selber ans Werk.<\/p>\n<p>Nach einigen Suchen bin auf das Tool ipptool (sudo apt install cups-ipp-utils) gesto\u00dfen. Mit Hilfe von diesem Tool kann man den Status eines Druckers \u00fcber IPP abfragen. Die folgende Bash-Datei (&#8222;printerstatus&#8220;) ruft den Status den Druckers (in meinem Fall IP 192.168.2.123) ab. Wenn der Drucker nicht erreichbar ist, wird ein Offline Status zur\u00fcckgeliefert.<\/p>\n<pre class=\"lang:sh decode:true\" title=\"printerstatus\">#!\/bin\/bash\r\n\/usr\/bin\/ipptool -T 5 -c -t -v ipp:\/\/192.168.2.123\/ipp\/ get-printer-attributes.test || echo \" printer-state-message (textWithoutLanguage) = Offline\"\r\n<\/pre>\n<p>Ich habe die Datei unter &#8222;\/home\/pi\/bin\/printerstatus&#8220; abgelegt.<\/p>\n<p>In Node-Red ist es keine gro\u00dfe Herausforderung mehr. Die Datei regelm\u00e4\u00dfig aufrufen, die Ausgabe zeilenweise splitten, nach der Zeile &#8222;printer-state-message&#8220; suchen und das Ergebnisse ausgeben.<\/p>\n<figure id=\"attachment_1013\" aria-describedby=\"caption-attachment-1013\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.open4me.de\/wp-content\/uploads\/druckerstatus.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1013 size-medium\" src=\"https:\/\/www.open4me.de\/wp-content\/uploads\/druckerstatus-300x114.png\" alt=\"\" width=\"300\" height=\"114\" srcset=\"https:\/\/www.open4me.de\/wp-content\/uploads\/druckerstatus-300x114.png 300w, https:\/\/www.open4me.de\/wp-content\/uploads\/druckerstatus-768x293.png 768w, https:\/\/www.open4me.de\/wp-content\/uploads\/druckerstatus.png 863w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1013\" class=\"wp-caption-text\">Node-Red Flow<\/figcaption><\/figure>\n<pre class=\"wrap:true lang:js decode:true\" title=\"Node-Red Flow\">[{\"id\":\"71745fbb.535e1\",\"type\":\"exec\",\"z\":\"379c0ed1.2ef2da\",\"command\":\"\/home\/pi\/bin\/printerstatus\",\"addpay\":false,\"append\":\"\",\"useSpawn\":\"false\",\"timer\":\"10\",\"oldrc\":false,\"name\":\"Ipptool\",\"x\":270,\"y\":660,\"wires\":[[\"9afc54de.945c4\"],[],[]]},{\"id\":\"f6207655.510128\",\"type\":\"inject\",\"z\":\"379c0ed1.2ef2da\",\"name\":\"30 sec\",\"topic\":\"\",\"payload\":\"\",\"payloadType\":\"str\",\"repeat\":\"30\",\"crontab\":\"\",\"once\":false,\"onceDelay\":0.1,\"x\":100,\"y\":660,\"wires\":[[\"71745fbb.535e1\"]]},{\"id\":\"9afc54de.945c4\",\"type\":\"split\",\"z\":\"379c0ed1.2ef2da\",\"name\":\"Split \\\\n\",\"splt\":\"\\\\n\",\"spltType\":\"str\",\"arraySplt\":1,\"arraySpltType\":\"len\",\"stream\":false,\"addname\":\"\",\"x\":460,\"y\":740,\"wires\":[[\"cdc67f9b.25fd5\"]]},{\"id\":\"cdc67f9b.25fd5\",\"type\":\"switch\",\"z\":\"379c0ed1.2ef2da\",\"name\":\"Filter State\",\"property\":\"payload\",\"propertyType\":\"msg\",\"rules\":[{\"t\":\"cont\",\"v\":\"printer-state-message\",\"vt\":\"str\"}],\"checkall\":\"true\",\"repair\":false,\"outputs\":1,\"x\":640,\"y\":740,\"wires\":[[\"85cef94c.6ec2c8\"]]},{\"id\":\"41376012.1d44b\",\"type\":\"ui_text\",\"z\":\"379c0ed1.2ef2da\",\"group\":\"2ca42408.15cfac\",\"order\":0,\"width\":\"4\",\"height\":\"1\",\"name\":\"\",\"label\":\"Status: \",\"format\":\"{{msg.payload}}\",\"layout\":\"row-spread\",\"x\":690,\"y\":840,\"wires\":[]},{\"id\":\"85cef94c.6ec2c8\",\"type\":\"change\",\"z\":\"379c0ed1.2ef2da\",\"name\":\"Remove Prefix\",\"rules\":[{\"t\":\"change\",\"p\":\"payload\",\"pt\":\"msg\",\"from\":\"printer-state-message (textWithoutLanguage) =\",\"fromt\":\"str\",\"to\":\"\",\"tot\":\"str\"}],\"action\":\"\",\"property\":\"\",\"from\":\"\",\"to\":\"\",\"reg\":false,\"x\":460,\"y\":840,\"wires\":[[\"41376012.1d44b\"]]},{\"id\":\"2ca42408.15cfac\",\"type\":\"ui_group\",\"z\":\"\",\"name\":\"Ger\u00e4te-Steuerung\",\"tab\":\"d60df41e.ae9c2\",\"order\":1,\"disp\":true,\"width\":\"6\",\"collapse\":false},{\"id\":\"d60df41e.ae9c2\",\"type\":\"ui_tab\",\"z\":\"\",\"name\":\"Ger\u00e4te-Steuerung\",\"icon\":\"dashboard\",\"order\":3}]<\/pre>\n<p>&nbsp;<\/p>\n<p>Das ipptool unterst\u00fctzt auch eine XML-Ausgabe, da aber XML nicht gut in Node-Red zu verarbeiten ist, habe ich die Text-Ausgabe genutzt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Trotz intensiven Suchens habe ich keine fertige L\u00f6sung gefunden, wie man den Status eines Netzwerkdruckers (IPP-Supprt vorausgesetzt) innerhalb von Node-Red abfragen k\u00f6nnte. Also selber ans Werk. Nach einigen Suchen bin auf das Tool ipptool (sudo apt install cups-ipp-utils) gesto\u00dfen. Mit Hilfe von diesem Tool kann man den Status eines Druckers \u00fcber IPP abfragen. Die folgende &hellip; <a href=\"https:\/\/www.open4me.de\/index.php\/2018\/07\/druckerstatus-in-node-red\/\" class=\"more-link\"><span class=\"screen-reader-text\">Druckerstatus in Node-Red<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[47],"tags":[],"class_list":["post-1010","post","type-post","status-publish","format-standard","hentry","category-node-red"],"_links":{"self":[{"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/posts\/1010","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/comments?post=1010"}],"version-history":[{"count":6,"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/posts\/1010\/revisions"}],"predecessor-version":[{"id":1017,"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/posts\/1010\/revisions\/1017"}],"wp:attachment":[{"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/media?parent=1010"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/categories?post=1010"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.open4me.de\/index.php\/wp-json\/wp\/v2\/tags?post=1010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}