Integrates a UPS monitored by NUT into OctoPrint

Related tags

LoggingOctoPrint-UPS
Overview

OctoPrint UPS

This OctoPrint plugin interfaces with a UPS monitored by NUT (Network UPS Tools).

Requirements

  • NUT must be configured by the user. This plugin does not alter NUT configuration whatsoever.
  • A UPS that provides battery.charge in percentage.

Screenshots

UPS

Setup

Install the plugin using Plugin Manager from Settings

Support

Help can be found at the OctoPrint Community Forums

Comments
  • UPS plugin stops updating after a while.

    UPS plugin stops updating after a while.

    What were you doing?

    1. Install UPS plugin
    2. Point to already configured NUT entry for local UPS
    3. Plugin correctly shows UPS status
    4. Print with OctoPrint
    5. At some point the UPS plugin will stop updating and show stale data
    6. Check with "upsc" on the command line that the UPS is still connected and sending data.
    7. Sometimes (not always) opening the UPS plugin settings and saving makes the connection come back.

    UPS is an APC BackUPS 1500M

    What did you expect to happen?

    Plugin would still update

    What happened instead?

    Version of OctoPrint

    1.6.1

    Version of OctoPrint-UPS

    0.0.1

    Operating System running OctoPrint

    Debian Bullseye 11.0 on amd64 - Python 3.9

    Printer model & used firmware incl. version

    Custom, running Marlin bugfix-2.0.x

    Link to octoprint.log with octoprnt.plugins.ups set to DEBUG

    octoprint.zip

    triage awaiting information 
    opened by ManuelMcLure 7
  • Sudden Loss of Comms GUI Interface

    Sudden Loss of Comms GUI Interface

    Hiya!

    Recently came back to my Octoprint instance on my FFCP and noted I was having issues issuing commands. After a reboot, the Octoprint service wouldn't even start. While looking into the issue, I found my SD card completely full. Turned out it was log related and Daemon.log had been some 400+ mb. I deleted it and restarted. Everything back to normal!

    Well, I thought so. Before the reboot, I was well aware of the top bar (including the UPS plugin icon). I could still see the data coming back as normal. Once I rebooted, the icon is blank with the status OFFLINE.

    I confirmed NUT was acting normally using PuTTY. The data was available. But the plugin couldn't see it. I still see the configured UPS on the plugin menu drop down, so it isn't like it lost that configuration.

    While checking for and update, I noticed the plugin requires Python 3+. I am still running 1.7.3, which I think operates on Python 2.7 something. I know for a fact it was working prior to the reboot I described. Am I missing something?

    opened by InoSiX 6
  • [REQUEST] Adapt status pop-up to dark mode

    [REQUEST] Adapt status pop-up to dark mode

    Hi, very nice plugin for the OctoPrint.

    Thanks

    I only noticed that it is very difficult to read the status popup in Darktmode:

    image

    Could this still be adjusted?

    Thanks a lot FreundderNacht

    opened by FreunderNacht 3
  • [REQUEST] USB Connection to UPS instead of only LAN

    [REQUEST] USB Connection to UPS instead of only LAN

    Hey !

    I am using a Eaton 5S 700, which is connected to via the USB port on it. Your NUT config however does seem to only be through LAN, meaning i cannot connect to the UPS in any way. Is it possible to add a option to use a USB port for the connection, besides the built-in network ? NUT should be fully capable of doing this if i remember correctly.

    Thanks !

    Tom

    invalid 
    opened by TomKamin1 1
  • Less whitespace in popover

    Less whitespace in popover

    What does this PR do and why is it necessary?

    Not really necessary, but it does reduce the amount of whitespace in the popover and makes it IMHO more attractive.

    How was it tested? How can it be tested by the reviewer?

    Tested by running in Chrome and seeing the new appearance

    Screeshots

    Without this fix: image

    With this fix image

    opened by ManuelMcLure 1
  • Add missing open tr tags.

    Add missing open tr tags.

    What does this PR do and why is it necessary?

    Adds missing open <tr> tags to the generated table.

    How was it tested? How can it be tested by the reviewer?

    Ensured that the popover still looks correct with the new tags in place.

    Any background context you want to provide?

    This was not causing any visible issues (at least on Chrome) but could cause problems in the future

    What are the relevant tickets if any?

    None - this was from code review

    opened by ManuelMcLure 1
  • config['ups'] gets set to 'null'

    config['ups'] gets set to 'null'

    Not sure where or why this happens yet but...

    022-03-17 20:44:26,381 - octoprint.plugins.ups - ERROR - An exception occurred while getting vars info Traceback (most recent call last): File "/home/pi/.octoprint/plugins/ups/init.py", line 132, in _loop vars = self.ups.list_vars(ups=self.config['ups']) File "/home/pi/oprint/lib/python3.7/site-packages/nut2.py", line 157, in list_vars self._srv_handler.write(b"LIST VAR %s\n" % ups.encode('utf-8')) AttributeError: 'NoneType' object has no attribute 'encode'

    config yaml shows ups is 'null'. Opening settings. selecting the ups again, and saving works around for a short while until it happens again.

    bug solved 
    opened by kantlivelong 8
  • Feature request: pause at the end of the layer

    Feature request: pause at the end of the layer

    I would like to add a request that the "pause when UPS battery gets below X%" option include another option that the pause only occurs after the current layer is completed. If my UPS drops to 50%, I'm okay if it takes another 10% to finish the layer.

    opened by timur-tabi 1
  • [REQUEST] Interacting with telegram plugin to notify the user

    [REQUEST] Interacting with telegram plugin to notify the user

    Hi,

    what about making use of

    M118 E1 UserNotif UPS on battery and M118 E1 UserNotif UPS online

    to make Telegram notifying the user when UPS switches to/from battery?

    Thank you for this really nice plugin! Armando

    opened by MasterPIC 2
  • [REQUEST] Add Basic Commands Buttons & Optional Add'l Info

    [REQUEST] Add Basic Commands Buttons & Optional Add'l Info

    Being new to NUT, I see there is a hole slew of commands available. I'm intrigued and want to investigate further. I would also love to be able to select from different parameters to add to the drop down.

    Overall this is one of my new favorite plugins. Thanks for the contribution.

    opened by InoSiX 7
  • Thanks! Also Guide Request!

    Thanks! Also Guide Request!

    Hiya!

    Want to start off by saying thanks for the upload. I have this running now and it appears to be working. I was thinking about the USB plug on the back of my UPS I am using for my 3D printer and wondering if anyone had something to integrate the two. Not sure if you read my mind, but nice job regardless.

    That being said, there obviously isn't much here on how to get NUT going. I personally have never heard of it before reading it on your plugin description. Also, Linux is as powerful as it is convoluted.

    When looking at the plugin config page, I though the device must be connected via Ethernet. Perhaps this is just a me thing, but it may be worth being explicit here. I'm not sure it can be set up via Ethernet (I'm new, but can't imagine that it CANT be done).

    I Googled Raspberry pi NUT and stumbled across this guide:

    https://community.openhab.org/t/beginners-guide-to-network-ups-tools-nut-on-a-raspberry-pi/78443

    Which in turns also references:

    https://melgrubb.com/2016/12/11/rphs-v2-ups/

    It went OK. I did ultimately get it running. But these guides could use a little work. That being said, it would be great to have a guide here linked on the GITHUB (perhaps one that is better than these).

    Anyways, thanks again for the upload. It appears to be working!

    documentation help wanted 
    opened by InoSiX 1
Releases(0.0.1)
Owner
Shawn Bruce
Shawn Bruce
Json Formatter for the standard python logger

This library is provided to allow standard python logging to output log data as json objects. With JSON we can make our logs more readable by machines and we can stop writing custom parsers for syslo

Zakaria Zajac 1.4k Jan 04, 2023
A new kind of Progress Bar, with real time throughput, eta and very cool animations!

alive-progress :) A new kind of Progress Bar, with real-time throughput, eta and very cool animations! Ever found yourself in a remote ssh session, do

Rogério Sampaio de Almeida 4k Dec 30, 2022
Key Logger - Key Logger using Python

Key_Logger Key Logger using Python This is the basic Keylogger that i have made

Mudit Sinha 2 Jan 15, 2022
A python library used to interact with webots robocup game web logs

A python library used to interact with webots robocup game web logs

Hamburg Bit-Bots 2 Nov 05, 2021
This is a key logger based in python which when executed records all the keystrokes of the system it has been executed on .

This is a key logger based in python which when executed records all the keystrokes of the system it has been executed on

Purbayan Majumder 0 Mar 28, 2022
Prettify Python exception output to make it legible.

pretty-errors Prettifies Python exception output to make it legible. Install it with python -m pip install pretty_errors If you want pretty_errors to

Iain King 2.6k Jan 04, 2023
This open-source python3 script is a builder to the very popular token logger that is on my github that many people use.

Discord-Logger-Builder This open-source python3 script is a builder to the very popular token logger that is on my github that many people use. This i

Local 4 Nov 17, 2021
This is a wonderful simple python tool used to store the keyboard log.

Keylogger This is a wonderful simple python tool used to store the keyboard log. Record your keys. It will capture passwords and credentials in a comp

Rithin Lehan 2 Nov 25, 2021
蓝鲸日志平台(BK-LOG)是为解决分布式架构下日志收集、查询困难的一款日志产品,基于业界主流的全文检索引擎

蓝鲸日志平台(BK-LOG)是为解决分布式架构下日志收集、查询困难的一款日志产品,基于业界主流的全文检索引擎,通过蓝鲸智云的专属 Agent 进行日志采集,提供多种场景化的采集、查询功能。

腾讯蓝鲸 102 Dec 22, 2022
Python logging made (stupidly) simple

Loguru is a library which aims to bring enjoyable logging in Python. Did you ever feel lazy about configuring a logger and used print() instead?... I

13.7k Jan 02, 2023
Summarize LSF job properties by parsing log files.

Summarize LSF job properties by parsing log files of workflows executed by Snakemake.

Kim 4 Jan 09, 2022
Keylogger with Python which logs words into server terminal.

word_logger Experimental keylogger with Python which logs words into server terminal.

Selçuk 1 Nov 15, 2021
Progressbar 2 - A progress bar for Python 2 and Python 3 - "pip install progressbar2"

Text progress bar library for Python. Travis status: Coverage: Install The package can be installed through pip (this is the recommended method): pip

Rick van Hattem 795 Dec 18, 2022
A small utility to pretty-print Python tracebacks. ⛺

TBVaccine TBVaccine is a utility that pretty-prints Python tracebacks. It automatically highlights lines you care about and deemphasizes lines you don

Stavros Korokithakis 365 Nov 11, 2022
Structured Logging for Python

structlog makes logging in Python faster, less painful, and more powerful by adding structure to your log entries. It's up to you whether you want str

Hynek Schlawack 2.3k Jan 05, 2023
This is a DemoCode for parsing through large log files and triggering an email whenever there's an error.

LogFileParserDemoCode This is a DemoCode for parsing through large log files and triggering an email whenever there's an error. There are a total of f

2 Jan 06, 2022
HTTP(s) "monitoring" webpage via FastAPI+Jinja2. Inspired by https://github.com/RaymiiOrg/bash-http-monitoring

python-http-monitoring HTTP(s) "monitoring" powered by FastAPI+Jinja2+aiohttp. Inspired by bash-http-monitoring. Installation can be done with pipenv

itzk 39 Aug 26, 2022
Espion is a mini-keylogger tool that keeps track of all keys a user presses on his/her keyboard

Espion is a mini-keylogger tool that keeps track of all keys a user presses on his/her keyboard. The details get displayed on the terminal window and also stored in a log file.

Anurag.R.Simha 1 Apr 24, 2022
Colored terminal output for Python's logging module

coloredlogs: Colored terminal output for Python's logging module The coloredlogs package enables colored terminal output for Python's logging module.

Peter Odding 496 Dec 30, 2022
Greppin' Logs: Leveling Up Log Analysis

This repo contains sample code and example datasets from Jon Stewart and Noah Rubin's presentation at the 2021 SANS DFIR Summit titled Greppin' Logs. The talk was centered around the idea that Forens

Stroz Friedberg 20 Sep 14, 2022