Now that the update manager doesn't rely on the rate
limit it should always initialize successfully. An individual
updater may still fail to initialize, however this does
not prevent the update manager from loading.
Singed-off-by: Eric Callahan <arksine.code@gmail.com>
The rate limit fields can be extracted from the response
to an API request, even if that request fails with 403. This speeds up update manager initialization and reduces
failures if github is unreachable.
SIgned-off-by: Eric Callahan <arksine.code@gmail.com>
Make sure that the queue is set to ready after resuming,
even if the next job is unable to be loaded.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
When set to true, the queue will automatically transition
to the next job in the queue upon completion of the
current job. When false the queue will pause between
jobs, requiring that the user manually resume.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Resolve issues with ipv6 addresses. Only register the
net_state_changed event handler if Moonraker is bound
to all interfaces. Build a new instance of ServiceInfo
for each update rather than attempt to modify the
existing object.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Add `--plain` and `--no-legend` to the command to list service units.
This fixes a bug where a service could be prefixed with a unique
character, resulting undetected services.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Some devices on the Home Assistant server do not update their internal state immediately after a request returns. Introduce a configurable delay to work around this issue.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
This provides corrective action in the event that an
invalid user entry makes its way into the database.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
For gpiod versions 1.3 or greater use the "default_val" keyword argument to set the default, otherwise use
"default_vals".
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Determine if a firmware restart should be postponed by checking Klippy's state. This should correctly schedule the restart regardless of whether or not the device is bound to Klipper.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
This handles a specific scenario where a power device is bound to the Klipper service and is configured to perform a firmware restart after power on. In this case, we can detect if the firmware restart is required and abort it if necessary.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
When this option is set to "True", the device will power on after the file manager queues an upload for printing.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Now that init occurs before the server starts there is no need to block requests until post initialization.
Signed-off-buy: Eric Callahan <arksine.code@gmail.com>
The `send_event()` method now returns a future that can be awaited until all callbacks are complete. All events emitted during Klipper init are now awaited, and a Lock is used to prevent re-entry. This resolves potential timing issues with commands sent during the init sequence.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>