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
Vibrating-perimeter - Simple helper mod that logs how fast you are mining together with a simple buttplug.io script to control a vibrator

Vibrating Perimeter This project consists of a small minecraft helper mod that writes too a log file and a script that reads said log. Currently it on

Heart[BOT] 0 Nov 20, 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
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
A simple, transparent, open-source key logger, written in Python, for tracking your own key-usage statistics.

A simple, transparent, open-source key logger, written in Python, for tracking your own key-usage statistics, originally intended for keyboard layout optimization.

Ga68 56 Jan 03, 2023
Docker container log aggregation with Elasticsearch, Kibana & Filebeat

Epilog Dead simple container log aggregation with ELK stack Preface Epilog aims to demonstrate a language-agnostic, non-invasive, and straightfo

Redowan Delowar 23 Oct 26, 2022
Rich is a Python library for rich text and beautiful formatting in the terminal.

Rich 中文 readme • lengua española readme • Läs på svenska Rich is a Python library for rich text and beautiful formatting in the terminal. The Rich API

Will McGugan 41.5k Jan 07, 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
pyEventLogger - a simple Python Library for making customized Logs of certain events that occur in a program

pyEventLogger is a simple Python Library for making customized Logs of certain events that occur in a program. The logs can be fully customized and can be printed in colored format or can be stored i

Siddhesh Chavan 2 Nov 03, 2022
A colored formatter for the python logging module

Log formatting with colors! colorlog.ColoredFormatter is a formatter for use with Python's logging module that outputs records using terminal colors.

Sam Clements 778 Dec 26, 2022
Translating symbolicated Apple JSON format crash log into our old friends :)

CrashTranslation Translating symbolicated Apple JSON format crash log into our old friends :) Usage python3 translation.py -i {input_sybolicated_json_

Kam-To 11 May 16, 2022
Display tabular data in a visually appealing ASCII table format

PrettyTable Installation Install via pip: python -m pip install -U prettytable Install latest development version: python -m pip install -U git+https

Jazzband 924 Jan 05, 2023
Outlog it's a library to make logging a simple task

outlog Outlog it's a library to make logging a simple task!. I'm a lazy python user, the times that i do logging on my apps it's hard to do, a lot of

ZSendokame 2 Mar 05, 2022
Logging system for the TPC software.

tpc_logger Logging system for the TPC software. The TPC Logger class provides a singleton for logging information within C++ code or in the python API

UC Davis Machine Learning 1 Jan 10, 2022
Command-line tool that instantly fetches Stack Overflow results when an exception is thrown

rebound Rebound is a command-line tool that instantly fetches Stack Overflow results when an exception is thrown. Just use the rebound command to exec

Jonathan Shobrook 3.9k Jan 03, 2023
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
Stand-alone parser for User Access Logging from Server 2012 and newer systems

KStrike Stand-alone parser for User Access Logging from Server 2012 and newer systems BriMor Labs KStrike This script will parse data from the User Ac

BriMor Labs 69 Nov 01, 2022
Scout: an open-source version of the monitoring tool

Badger Scout Scout is an open-source version of the monitoring tool used by Badg

Badger Finance 2 Jan 13, 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
metovlogs is a very simple logging library

metovlogs is a very simple logging library. Setup is one line, then you can use it as a drop-in print replacement. Sane and useful log format out of the box. Best for small or early projects.

Azat Akhmetov 1 Mar 01, 2022
Debugging-friendly exceptions for Python

Better tracebacks This is a more helpful version of Python's built-in exception message: It shows more code context and the current values of nearby v

Clemens Korndörfer 1.2k Dec 28, 2022