Skip to content

[Feature request]: Support Hyprland screen capturing (after its transition away from wlroots) #111

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Rishik-Y opened this issue Jun 13, 2024 · 59 comments

Comments

@Rishik-Y
Copy link
Contributor

Steps for reproducing the issue

Running Wluma on Hyprland

There is no issue, and the wluma works perfectly fine when keeping capture = "none"

but doesn't really work when keeping capture = "wlroots"

I was till now stuck in finding out how to set it up exactly properly

but thanks to #40

It was way easier, but one thing I am stuck on is that https://github.com/vega-d had gnome installed which doesn't have wlroots

While I have hyprland installed which I am pretty sure is based on wlroots Compositor

I feel like I am missing something since everything works just right when keeping capture = "none" and using my webcam as sensor.

Can anybody tell me what exactly is the issue here.

What is the buggy behavior?

❯ wluma
[2024-06-13T13:54:27Z INFO  wluma] Continue adjusting brightness and wluma will learn your preference over time.
thread 'predictor-eDP-1' panicked at src/frame/capturer/wlroots.rs:80:14:
Unable to init export_dmabuf_manager: Missing
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

What is the expected behavior?

❯ wluma
[2024-06-13T13:51:29Z INFO  wluma] Continue adjusting brightness and wluma will learn your preference over time.

Logs

░▒▓   ~  
❯ RUST_LOG=debug wluma
[2024-06-13T13:58:18Z DEBUG wluma] Using Config {
        als: Webcam {
            video: 0,
            thresholds: {
                30: "dim",
                60: "bright",
                75: "outdoors",
                15: "dark",
                0: "night",
                45: "normal",
            },
        },
        output: [
            Backlight(
                BacklightOutput {
                    name: "eDP-1",
                    path: "/sys/devices/pci0000:00/0000:00:08.1/0000:07:00.0/drm/card2/card2-eDP-1/amdgpu_bl2",
                    capturer: Wlroots,
                    min_brightness: 1,
                },
            ),
            Backlight(
                BacklightOutput {
                    name: "keyboard-dell",
                    path: "/sys/class/net/enp4s0/enp4s0-2::lan",
                    capturer: None,
                    min_brightness: 0,
                },
            ),
        ],
    }
[2024-06-13T13:58:18Z INFO  wluma] Continue adjusting brightness and wluma will learn your preference over time.
thread 'predictor-eDP-1' panicked at src/frame/capturer/wlroots.rs:80:14:
Unable to init export_dmabuf_manager: Missing
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Version

4.4.0-1

Environment

░▒▓   ~  
❯ lsb_release -a; uname -a; pgrep -l sway; pacman -Q | egrep "(wlroots|vulkan|sway|clang|rust)"; dpkg -l | egrep "(wlroots|vulkan|sway|clang|rust)"
bash: lsb_release: command not found
Linux archlinux 6.9.3-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 31 May 2024 15:14:45 +0000 x86_64 GNU/Linux
egrep: warning: egrep is obsolescent; using grep -E
clang 17.0.6-2
rust 1:1.78.0-1
swaylock-effects 1.7.0.0-4
swaylock-effects-debug 1.7.0.0-4
vulkan-headers 1:1.3.285-1
vulkan-icd-loader 1.3.285-1
vulkan-intel 1:24.1.1-1
vulkan-radeon 1:24.1.1-1
vulkan-validation-layers 1.3.275-1
wlroots 0.17.3-1
bash: dpkg: command not found
egrep: warning: egrep is obsolescent; using grep -E
@maximbaz
Copy link
Owner

Hello! It doesn't sound like you are missing a dependency or something like that, and there have been people writing in this project who were using wluma on hyprland at the time, so it definitely used to work. Hyprland actually runs on a fork of wlroots, so it's possible that it differs too much from vanilla wlroots today, or that there's a bug somewhere (also possibly in wluma code!).

#88 (comment)

I'll try my luck: @riley-martin do you still use wluma and hyprland?

@Rishik-Y Rishik-Y reopened this Jun 13, 2024
@Rishik-Y
Copy link
Contributor Author

Rishik-Y commented Jun 13, 2024

Thanks very much for looking into it.
I like using Wluma, but I really don't know where the hiccup I am getting stuck is.
I will post if I do find anything regarding this.

(Again, I am really sorry I clicked closed by mistake and so I opened it again)

@riley-martin
Copy link

I'll try my luck: @riley-martin do you still use wluma and hyprland?

I don't use hyprland much anymore. I'd be glad to test it when I get a chance but it might not happen right away.

@riley-martin
Copy link

I did some testing tonight and it didn't work for me either. Looking at some recent release notes (0.40.0 and 0.41.0) it appears that hyprland is switching to their own wayland implementation instead of using wlroots, so I guess that would be the problem.

@maximbaz
Copy link
Owner

Oh great catch, thanks for pointing it out!

We can conclude that wluma's wlroots capturer is not expected to work on Hyprland anymore.

We can leave this issue open as a feature request, in case someone from community would like to implement a new capturer for Hyprland (perhaps wait until Hyprland completes their transition away from wlroots first).

Thanks @Rishik-Y for spotting the issue and @riley-martin for tracking down the root cause!

@maximbaz maximbaz changed the title [Bug]: Unable to keep wlroots for capturer even though i use Hyprland [Feature request]: Support Hyprland screen capturing (after its transition away from wlroots) Jun 16, 2024
@Rishik-Y
Copy link
Contributor Author

I did some testing tonight and it didn't work for me either. Looking at some recent release notes (0.40.0 and 0.41.0) it appears that hyprland is switching to their own wayland implementation instead of using wlroots, so I guess that would be the problem.

Oh, Right, I totally didn't see that,
All this while, I have been breaking myself, thinking I may be bad at understanding or I simply broke stuff somewhere.
It seems the issue was simply something that had been in my blind spot.

Thank you, @riley-martin, for checking up on this issue and @maximbaz, for quickly responding to my issue.
Finally, I can rest at ease now.

@Rishik-Y
Copy link
Contributor Author

Hey @maximbaz, I have been trying to understand the code and how it works for the past few weeks and have kind of found the exact issue a while back.

To better give the info from What I understood.

The issue shown on my screen is:
Unable to init export_dmabuf_manager: Missing at line 80
Which is in wluma/src/frame/capturer/wlroots.rs.

Which is the error when it executes

        let dmabuf_manager = globals
            .instantiate_exact::<ZwlrExportDmabufManagerV1>(1) 

Which is at line 78.

I have tried to understand where does the ZwlrExportDmabufManagerV1 initiates from, but it seems that main.rs doesn't have much relation to wlroots, so the first line starts from

use wayland_protocols::wlr::unstable::export_dmabuf::v1::client::{
    zwlr_export_dmabuf_frame_v1::{CancelReason, Event},
    zwlr_export_dmabuf_manager_v1::ZwlrExportDmabufManagerV1,
};

Which is on line 8 of wlroots.rs.

As @riley-martin stated, Hyprland Had changed the compositor from original wlroots to modified wlroots.

I tried to investigate what exactly was modified in the directories and found out that the directories were changed
/usr/include/wlr/types/wlr_export_dmabuf_v1.h instead of wlroots folder
(Which is not that much of an issue... yet)
but wlr_export_dmabuf_v1.h contains the code very similar to the original wlr-export-dmabuf-unstable-v1.h (I think?)
Where instead of zwlr_export_dmabuf_manager_v1, it contains wlr_export_dmabuf_manager_v1 everywhere, and some minor changes are made.

I have thought about changing the file itself, but I know it will instead break my system apart, so I tried finding ways to change the code for Hyprland Users, but the wluma program uses a crate called wlroots-Protocols which gives the program much of its wlroots functionality.

I believed that it shouldn't be much of a hassle to fix this, but it turns out there is no crate created for Hyprland Modified wlroots.

I tried finding out using other crates whether it would work or not by adding the wlroots-protocol-wlr crate into the Cargo.toml and modified a bit

like in line 8
I kept,
use wayland_protocols_wlr::export_dmabuf::v1::client::{
(For trial and error)

And the program seems to detect it by showing the error in other code instead of that line where I need to modify to suit it with the use wayland-protocols-wlr, but even then
(from what I think) it wont work because even in that the code is written as zwlr_export_dmabuf_manager_v1, and i really don't know now what to try next.

I tried asking Chatgpt, and it states that to make a fork of wayland-protocol-wlr crate and and modify there, and add that in cargo.toml, which seems again very complicated to me.

I Have become very obsessed with trying to make this program run on Hyprland.
I even started learning rust in the past three days just so I could make it work.

I would really appreciate your thoughts on this, where I am assuming something is wrong, and what I should be doing next.

I can understand Rust somewhat since I already know a bit of C/C++, Python, Java and a bit of Haskell.
But should I complete learning the basics of rust first? (it would probably take a few more days)

Note:
I am not asking you to fix it; I am simply asking you to give me any tips on what I can do to contribute here and make wlroots work on my Hyprland. Your expertise in rust would be greatly appreciated.

PS: Please don't be too harsh with me; I am just a second-year College student.

@maximbaz
Copy link
Owner

Nice work and analysis, @Rishik-Y!

First of all, it looks like the dmabuf protocol has been marked stable, so in wlroots.rs we should remove the ::unstable parts (and probably cargo update the corresponding crate). The struct names still start with Zwlr, so perhaps you don't even need to change anything more than the import.

It might be that this change alone fixes wluma for Hyprland, if the only difference they did for now was to get rid of the now obsolete "unstable" version of the dmabuf protocol. Before we discuss more ideas, could you try this?

@Rishik-Y
Copy link
Contributor Author

Thanks for the suggestion @maximbaz,
I already tried removing the ::unstable tag (Through trial and error ☺️)
So unfortunately, it doesn't work.

Also I am sorry for my wording if it was not explained by me properly, but what I meant was
ZwlrExportDmabufManagerV1 is the same here with wlrExportDmabufManagerV1 instead.

Here is the attachment of the code for wlr_export_dmabuf_v1.h

/*
 * This an unstable interface of wlroots. No guarantees are made regarding the
 * future consistency of this API.
 */
#ifndef WLR_USE_UNSTABLE
#error "Add -DWLR_USE_UNSTABLE to enable unstable wlroots features"
#endif

#ifndef WLR_TYPES_WLR_EXPORT_DMABUF_V1_H
#define WLR_TYPES_WLR_EXPORT_DMABUF_V1_H

#include <stdbool.h>
#include <wayland-server-core.h>
#include <wlr/render/dmabuf.h>

struct wlr_export_dmabuf_manager_v1 {
	struct wl_global *global;
	struct wl_list frames; // wlr_export_dmabuf_frame_v1.link

	struct wl_listener display_destroy;

	struct {
		struct wl_signal destroy;
	} events;
};

struct wlr_export_dmabuf_frame_v1 {
	struct wl_resource *resource;
	struct wlr_export_dmabuf_manager_v1 *manager;
	struct wl_list link; // wlr_export_dmabuf_manager_v1.frames

	struct wlr_output *output;

	bool cursor_locked;

	struct wl_listener output_commit;
	struct wl_listener output_destroy;
};

struct wlr_export_dmabuf_manager_v1 *wlr_export_dmabuf_manager_v1_create(
	struct wl_display *display);

#endif

Here are the files which were supposed to work wluma However I believe is modified by hyprland, Hence not working anymore.
image

I don't know whether it's just me making rookie mistakes, but from what I understood these are the modified wlroots used by Hyprland.
Really appreciate any tip.

@maximbaz
Copy link
Owner

It looks like the file is actually identical to the wlroots sources 🤔

https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/master/include/wlr/types/wlr_export_dmabuf_v1.h

Don't worry this is definitely not rookie mistakes, from what we see so far it looks like the header files of the dmabuf did not change between wlroots and Hyprland (yet), so there must be something else that has changed or has broken 🤔 I think the Z in ZwlrExportDmabufManagerV1 means something else during the transition from C to Rust, as you can see Z is also absent in the C sources above from wlroots repo.

@Rishik-Y
Copy link
Contributor Author

Oh, I totally didn't Know that.
Thanks for Checking up @maximbaz
I would have wasted a lot of time on this, if it weren't for you.
I will continue to find the actual issue on where its causing.

Rishik-Y added a commit to Rishik-Y/awesome-hyprland that referenced this issue Jul 11, 2024
Support for wluma on Hyprland has been depreciated after slowly transitioning away from wlroot.

The complete information on this can be found here:
maximbaz/wluma#111
@Rishik-Y
Copy link
Contributor Author

Hello @maximbaz, So sorry that i keep disturbing you again and again.
I just want to ask,
Was there any specific reason why you decided to use wayland_protocolsV0.29.5 (Which includes wlr modules)
or
Will it be fine if I update the version of the wayland_protocols to V0.30.0 or higher (Which separated wlr modules to wayland_protocols_wlr extension, Assuming I am able to integrate it in the wlroots.rs file)

@maximbaz
Copy link
Owner

Don't worry, ask as much as you need 😁

The reason is that 0.29 was latest when I wrote that code initially, and migrating to 0.30 was a bit tricky so I never succeeded to make that work 😭

#86

@maximbaz
Copy link
Owner

That is all to say, if you want to give it a go, please do!

@Rishik-Y
Copy link
Contributor Author

Don't worry, ask as much as you need 😁

Thank you very much. ☺️

The reason is that 0.29 was latest when I wrote that code initially, and migrating to 0.30 was a bit tricky so I never succeeded to make that work 😭

I had initially assumed that you probably chose that specific version probably due to wlr being incorporated in wayland-protocols or having incompatibility issues in further versions (at least, I hoped That was the case so that I would indirectly have a reason not to touch the complicated stuff)
But it seems that's not the case. 🥲

That is all to say, if you want to give it a go, please do!

I know I will suffer a lot while figuring things around,
However, I have become somewhat fixated on this project, so I will try migrating it to 0.30 or try other ways to see if it will be fixed for my Hyprland. 😁
Again thank you for your response.

@daniel-sousa-me
Copy link

I just found this project after weeks of searching for something like this. I got a new laptop with an oled screen. It is amazing not to have a light-bulb constantly pointed at my face, but now it is extra annoying when I open a bright webpage. The proper way to fix this would probably be on the firmware's brightness control, but it's closed source, so a hack like this is probably required :(

Unfortunately I'm running into this same problem.

@maximbaz Which wm do you use? I don't know rust, but I'd like to try to make this work.

From what I'm reading here, it seems like it would make sense to try to upgrade the wayland_protocols. Even if it doesn't solve our problem with hyprland, at least we'd have a contribution for this project :)

@maximbaz
Copy link
Owner

I'm using sway, and yeah I agree finishing #86 would be quite awesome, and help is certainly appreciated as I dont know when I can get to it... Splitting upgrade into wayland and not wayland to make it simpler could be a good way to start

@daniel-sousa-me
Copy link

daniel-sousa-me commented Jul 12, 2024

I'm new to wayland. I thought hyprland and sway were different levels and that hyprland was using sway.

I've found this program is also grabbing frames with the same rust library, but using the new version:
https://github.com/russelltg/wl-screenrec/blob/a3d0b5da69487441ce81ebfc3be8ba8d2255c714/src/main.rs

It works on hyprland. From what I understand, the things from the wlroots protocol are being integrated into the wayland protocol with the goal that all compositors use it. So hyprland most likely will try maintain compatibility.

I'm trying to use it as reference to update wluma's code, but it's going slowly because I have no idea what I'm doing

@Rishik-Y
Copy link
Contributor Author

Rishik-Y commented Aug 2, 2024

Hi @daniel-sousa-me, Nice to see you here as well trying to help fix the issue.

Also Hello @maximbaz
It's been a few weeks and I have been learning rust and trying ways to fix the issue but turns out the Hyprland has completely migrated from wlroots-based wayland compositor written over their website
But they do claim that the wlroots apps should continue to work.

In any case, The issue is still persistent, and I am still continuing to find a fix for my laptop.

I was just wondering whether updating the version of the toml files truly be a fix for it or should I go in some other route trying other ways instead?

@wolf-yuan-6115
Copy link

But they do claim that the wlroots apps should continue to work.

I think it's not referring to everything depending on wlroots work, they are talking about "apps" here, it might only mention apps that use wlroots to display content. (Not sure, just my guess)

wluma doesn't display any GUI, it's capturing the display, so it's probably not in that scope.

@maximbaz
Copy link
Owner

maximbaz commented Aug 2, 2024

I'm reasonably sure the primary reason for it not working on Hyprland is that the current code uses "unstable" dmabuf protocol (because it was unstable at the time of writing it), and Hyprland after the rewrite only announces the support for the stable one:

https://github.com/hyprwm/Hyprland/blob/1fa4b7d79baaad47fde8e72221cd77f569fbfe35/CMakeLists.txt#L307

We should really upgrade wayland_protocols in this repo, and then hopefully it will work, unless then we discover some other incompatibility issues between wlroots and hyprland 🙂

@Rishik-Y
Copy link
Contributor Author

Hey @maximbaz,

I was just looking through your code (trying to understand what each and every code is doing before again touching the wlroot.rs)
And I didn't understand what exactly is this code doing (The bottom code is from wluma/src/brightness/backlight.rs (line 75)

        let brightness_hw_changed_path = Path::new(path).join("brightness_hw_changed");
        if Path::new(&brightness_hw_changed_path).exists() {
            inotify
                .watches()
                .add(&brightness_hw_changed_path, WatchMask::MODIFY)?;
        }

Is this the file which was created as a replacement for the original file if it doesn't have write permissions?

Even if it is, why and how did the name "brightness_hw_changed" even come?
It could be from other files which I haven't read yet,
but I can't seem to find what exactly it does except join brightness_hw_changed to the path, and check if it exists
(Which I don't think would exist) and assuming that it does, it will simply monitor whether it's modified or not.

Please Correct me if I am wrong about it.

The main concern for me is when I usually remove some stuff from code, it breaks, and I would realise where exactly it is being used, but the thing here is, it works without any issue, with no error or warning.

@maximbaz
Copy link
Owner

maximbaz commented Sep 18, 2024

This file brightness_hw_changed may or may not exist, when it does, it can indicate that brightness was changed by hardware rather than software. The file name is decided by the Linux kernel.

That code establishes inotify watches on several files, which allows us to run some code when any of those files get changed. Meaning that whenever brightness was changed (using software or hardware), we want to execute update function, which reads the current brightness value:

match (self.inotify.read_events(&mut buffer), self.current) {
(_, None) => update(self),
(Ok(mut events), Some(cached)) => {
if events.next().is_some() {
update(self)
} else {
Ok(cached)
}
}

This is to avoid having to periodically check for the current brightness value, which is not very battery-efficient.

Hope that helps!

@Rishik-Y
Copy link
Contributor Author

No, I didn't mean that Inotify is not needed by any means.
I am sorry In case it was portrayed that way from my side. 😟

That code establishes inotify watches on several files, which allows us to run some code when any of those files get changed. Meaning that whenever brightness was changed (using software or hardware), we want to execute update function, which reads the current brightness value:

I totally understand the need for it.

What I don't get here is

This file brightness_hw_changed may or may not exist, when it does, it can indicate that brightness was changed by hardware rather than software. The file name is decided by the Linux kernel.

Can you clarify whether there may be some people who may get "brightness_hw_changed" and its just in my system that the file "brightness_hw_changed" doesn't appear?
Or does it get generated somehow by the system?

Also if the File name is decided by the linux kernal, then why did we hardcode it there with brightness_hw_changed in the code?

    let brightness_hw_changed_path = Path::new(path).join("brightness_hw_changed");

Sorry for asking sudden questions; I just wanted to know more about how the program works. 😀

@maximbaz
Copy link
Owner

maximbaz commented Oct 4, 2024

I was just referring to wlroots.rs in that PR, e.g. here 😅
https://github.com/maximbaz/wluma/pull/86/files#diff-68e993e6d37850f27f1c82bc616a17284d0ad42115aee63e2d559d9544f1a736

@maximbaz
Copy link
Owner

@Rishik-Y Vulkan driver got released for my hardware, which means I can run and test wluma again 🥳 Have you made some progress on upgrading wayland libs? Otherwise I can now try to take it over 💪

@maximbaz
Copy link
Owner

I'll close this in favor of #121. Hyprland may or may not support the wlr-screencopy-unstable-v1 after its migration away from wlroots, but it will most likely support the new ext-image-* protocols (at some point).

@Rishik-Y
Copy link
Contributor Author

@Rishik-Y Vulkan driver got released for my hardware, which means I can run and test wluma again 🥳 Have you made some progress on upgrading wayland libs? Otherwise I can now try to take it over 💪

Its Nice that you can finally test wluma again 😊
But sorry to say I didn't make much progress since past 2 weeks 😞 (Due to having Semester exams going on right now)
You can take it over if you would like. 👍️

@maximbaz
Copy link
Owner

@Rishik-Y please run the latest main branch with RUST_LOG=trace and share what you see 😉

I'm curious whether your hyprland supports another protocol that I just implemented (it's a bit buggy still).

@Rishik-Y
Copy link
Contributor Author

Rishik-Y commented Oct 23, 2024

Yep, So As you asked i just ran the new wluma..
I Haven't checked the code yet on what changes you made (Will do soon 😁)
I am a bit confused in some cases, but I will send every scenario nonetheless...

I dont know whether i need to send the logs here or #121
So for now, i will send all log in the new #121 as its related to the new/old protocol which is wlr-screencopy-unstable-v1
(Do tell me if you would like for me to continue here instead)

@maximbaz
Copy link
Owner

maximbaz commented Oct 23, 2024

Here is fine, #121 is about a different protocol, not wlr-screencopy :)

I'm just curious if hyprland supports it at all, or not - in the beginning wluma will now trace-log Detected support for .....

@Rishik-Y
Copy link
Contributor Author

Rishik-Y commented Oct 23, 2024

I just ran the latest wluma-main code in my latest Hyprland
Here are some of the logs from when I ran with the config wlr-export-dmabuf-unstable-v

❯ cargo run
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.16s
warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
     Running `target/debug/wluma`
[2024-10-23T21:15:26Z INFO  wluma] Continue adjusting brightness and wluma will learn your preference over time.
thread 'predictor-eDP-1' panicked at src/frame/capturer/wayland.rs:105:21:
Requested to use wlr-export-dmabuf-unstable-v1 protocol, but it's not available
stack backtrace:
   0: rust_begin_unwind
   1: core::panicking::panic_fmt
   2: <wluma::frame::capturer::wayland::Capturer as wluma::frame::capturer::Capturer>::run
             at ./src/frame/capturer/wayland.rs:105:21
   3: wluma::main::{{closure}}::{{closure}}
             at ./src/main.rs:87:29
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

@maximbaz
Copy link
Owner

Run it with config capturer=wlroots, it will then detect all 👍

@Rishik-Y
Copy link
Contributor Author

Yep just ran it with wlroots 👍️
I was confused for a few minutes thinking it started working but it wasn't changing based on screen content so just went and tried using Rust_Log=trace
and its showing only for als.webcam
So I am assuming you fixed it so that at least the program won't crash 🙂

@maximbaz
Copy link
Owner

Cool, but just to be sure I understand correctly what you experience, could you please share the logs when you run it with capturer=wlroots and RUST_LOG=trace?

@Rishik-Y
Copy link
Contributor Author

Here is fine, #121 is about a different protocol, not wlr-screencopy :)

I'm just curious if hyprland supports it at all, or not - in the beginning wluma will now trace-log Detected support for .....

Oh sorry I just took a quick glance at the code here in app.rs
and saw WlrScreencopyUnstableV1, so i simply assumed you used it here.
I presume you probably were simply adding it for now as a template.

@Rishik-Y
Copy link
Contributor Author

Also here are the logs for capturer=wlroots using RUST_LOG=trace

cargo run
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.13s
warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
     Running `target/debug/wluma`
[2024-10-23T21:32:17Z DEBUG wluma] Using Config {
        als: Webcam {
            video: 0,
            thresholds: {
                30: "dim",
                60: "bright",
                15: "dark",
                0: "night",
                45: "normal",
                75: "outdoors",
            },
        },
        output: [
            Backlight(
                BacklightOutput {
                    name: "eDP-1",
                    path: "/sys/devices/pci0000:00/0000:00:08.1/0000:07:00.0/drm/card2/card2-eDP-1/amdgpu_bl2",
                    capturer: Wayland(
                        Any,
                    ),
                    min_brightness: 1,
                },
            ),
            Backlight(
                BacklightOutput {
                    name: "keyboard-MSI",
                    path: "/sys/class/net/enp4s0/enp4s0-2::lan",
                    capturer: None,
                    min_brightness: 0,
                },
            ),
        ],
    }
[2024-10-23T21:32:17Z INFO  wluma] Continue adjusting brightness and wluma will learn your preference over time.
[2024-10-23T21:32:17Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T21:32:17Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:17Z TRACE wluma::frame::capturer::wayland] Detected support for wlr-screencopy-unstable-v1 protocol
[2024-10-23T21:32:17Z DEBUG wluma::frame::capturer::wayland] Using output 'AU Optronics 0xAF90  (eDP-1)' for config 'eDP-1'
[2024-10-23T21:32:17Z TRACE wluma::frame::capturer::wayland] Using wlr-screencopy-unstable-v1 protocol to request frames
[2024-10-23T21:32:17Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T21:32:17Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T21:32:17Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:17Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T21:32:18Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:18Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T21:32:18Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T21:32:18Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:18Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T21:32:18Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:18Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:18Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:18Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:18Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:18Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:18Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:18Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:18Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:18Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:19Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:19Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:19Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:19Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:19Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:19Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:19Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:19Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:19Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:19Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:19Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:19Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:19Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:19Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:19Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:20Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:20Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:20Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:20Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 37)
[2024-10-23T21:32:20Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:20Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:20Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 23)
[2024-10-23T21:32:20Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:20Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 24)
[2024-10-23T21:32:20Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:20Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:20Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 24)
[2024-10-23T21:32:20Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:20Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 25)
[2024-10-23T21:32:20Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:20Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:20Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 24)
[2024-10-23T21:32:20Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:20Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 25)
[2024-10-23T21:32:20Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:20Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:20Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 27)
[2024-10-23T21:32:20Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:21Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 25)
[2024-10-23T21:32:21Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:21Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:21Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 21)
[2024-10-23T21:32:21Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:21Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T21:32:21Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:21Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 2)
[2024-10-23T21:32:21Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:21Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 25)
[2024-10-23T21:32:21Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:21Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 22)
[2024-10-23T21:32:21Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:21Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 22)
[2024-10-23T21:32:21Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:21Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 26)
[2024-10-23T21:32:21Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:21Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 24)
[2024-10-23T21:32:21Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:21Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 28)
[2024-10-23T21:32:21Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:22Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 26)
[2024-10-23T21:32:22Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:22Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 26)
[2024-10-23T21:32:22Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:22Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 22)
[2024-10-23T21:32:22Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:22Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 21)
[2024-10-23T21:32:22Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:22Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 25)
[2024-10-23T21:32:22Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:22Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:22Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 4)
[2024-10-23T21:32:22Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:22Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 23)
[2024-10-23T21:32:22Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:22Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 26)
[2024-10-23T21:32:22Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:22Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 25)
[2024-10-23T21:32:22Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:23Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 31)
[2024-10-23T21:32:23Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:23Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 37)
[2024-10-23T21:32:23Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:23Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 31)
[2024-10-23T21:32:23Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:23Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 38)
[2024-10-23T21:32:23Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:23Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 25)
[2024-10-23T21:32:23Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:23Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 25)
[2024-10-23T21:32:23Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:23Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 31)
[2024-10-23T21:32:23Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:23Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 25)
[2024-10-23T21:32:23Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:23Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:23Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 0)
[2024-10-23T21:32:23Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:23Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 5)
[2024-10-23T21:32:24Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:24Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 6)
[2024-10-23T21:32:24Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:24Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 26)
[2024-10-23T21:32:24Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:24Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 6)
[2024-10-23T21:32:24Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:24Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 27)
[2024-10-23T21:32:24Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T21:32:24Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 24)
^C

@maximbaz
Copy link
Owner

Awesome, thanks! So we can conclude that Hyprland didn't implement wlr-export-dmabuf-unstable-v1 when moved away from wlroots, but they did implement wlr-screencopy-unstable-v1 one - which is also wlroots-specific, but perhaps a lot more widely used, so they wanted to ensure compatibility with most apps.

There's unfortunately a memory leak right now, which I can't catch, so be careful with running wluma from main branch for long period of time, my RAM gets eaten up very fast. I'll ping you when it's usable for you 👍

Thanks for testing and sharing the logs!

@Rishik-Y
Copy link
Contributor Author

Very Glad to be useful! 😁
And really sorry you had to, in the end, do it yourself...
I really wanted to fix it, unfortunately, it seems that i still don't have enough skills and knowledge to fix it yet
Do tell me if you need any help!

@maximbaz
Copy link
Owner

I think I fixed the memory leak 🥳 I think it's safe to run wluma for longer periods of time, so it would actually be helpful if you could use the latest code from main branch and report if you stumble upon any issue!

@maximbaz
Copy link
Owner

One particular issue to keep an eye on, is whether you get occasional unexpected zeros in luma calculation, like so:

[2024-10-23T21:48:43Z TRACE wluma::predictor::controller] Prediction: 180 (lux: none, luma: 17)
[2024-10-23T21:48:43Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:43Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:43Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 174 (lux: none, luma: 0)  <-------------
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 180 (lux: none, luma: 17)
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 174 (lux: none, luma: 0)  <-------------
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:45Z TRACE wluma::predictor::controller] Prediction: 174 (lux: none, luma: 0)  <-------------
[2024-10-23T21:48:45Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:45Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)

I can't still find what I am doing wrong, and there's a dirty workaround that should prevent some/most of them...

// The frame is sadly not always ready at this stage, and I couldn't find how to make Vulkan synchronize with the compositor ☹️
thread::sleep(Duration::from_millis(10));

@Rishik-Y
Copy link
Contributor Author

Hey @maximbaz,
I was running wluma again and it wasnt changing brightness at all so ran the logs and
I am indeed getting those occasional unexpected zeros except its not occasional but always

Here are the logs:

❯ cargo run
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.06s
warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
     Running `target/debug/wluma`
[2024-10-23T22:01:32Z DEBUG wluma] Using Config {
        als: Webcam {
            video: 0,
            thresholds: {
                45: "normal",
                30: "dim",
                0: "night",
                60: "bright",
                15: "dark",
                75: "outdoors",
            },
        },
        output: [
            Backlight(
                BacklightOutput {
                    name: "eDP-1",
                    path: "/sys/devices/pci0000:00/0000:00:08.1/0000:07:00.0/drm/card2/card2-eDP-1/amdgpu_bl2",
                    capturer: Wayland(
                        Any,
                    ),
                    min_brightness: 1,
                },
            ),
            Backlight(
                BacklightOutput {
                    name: "keyboard-MSI",
                    path: "/sys/class/net/enp4s0/enp4s0-2::lan",
                    capturer: None,
                    min_brightness: 0,
                },
            ),
        ],
    }
[2024-10-23T22:01:32Z INFO  wluma] Continue adjusting brightness and wluma will learn your preference over time.
[2024-10-23T22:01:32Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:01:32Z TRACE wluma::frame::capturer::wayland] Detected support for wlr-screencopy-unstable-v1 protocol
[2024-10-23T22:01:32Z DEBUG wluma::frame::capturer::wayland] Using output 'AU Optronics 0xAF90  (eDP-1)' for config 'eDP-1'
[2024-10-23T22:01:32Z TRACE wluma::frame::capturer::wayland] Using wlr-screencopy-unstable-v1 protocol to request frames
[2024-10-23T22:01:32Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:32Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:01:32Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:01:32Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:32Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:01:32Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:01:32Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:32Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:01:33Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:33Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:01:33Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:33Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:33Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:33Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:33Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:33Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:33Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:33Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:33Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:33Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:33Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:33Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:33Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:34Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:34Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:34Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:34Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:34Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:34Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:34Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:34Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:34Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:34Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:34Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:34Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:34Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:34Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:34Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:35Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:35Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:35Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:35Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:35Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:35Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:35Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:35Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:35Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:35Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:35Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:35Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:35Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:35Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:35Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:36Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:01:36Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:36Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:36Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:36Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:36Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:36Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:36Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:36Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:36Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:36Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:37Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:37Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:37Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:37Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:37Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:37Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:37Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:37Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:37Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:37Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:43Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:43Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:43Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:43Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:43Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:43Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:43Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:43Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:43Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:43Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:44Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:44Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:44Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:44Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:44Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:44Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:44Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:44Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:44Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:44Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:45Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:45Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:45Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:45Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:45Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:45Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:45Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:45Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:45Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:45Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:46Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:46Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:46Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:46Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:46Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:46Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:46Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:46Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:46Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:46Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:47Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:47Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:47Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:47Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:47Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:47Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:47Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:47Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:47Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:47Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:48Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:48Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:48Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:48Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:48Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:48Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:48Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:48Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:48Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:48Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:49Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:49Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:49Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:49Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:49Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:49Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:49Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:49Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:49Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:49Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:52Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:52Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:52Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:52Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:52Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:52Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:52Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:52Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:52Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:52Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:53Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:53Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:53Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:53Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:53Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:53Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:53Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:53Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:53Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:54Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:54Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:54Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:54Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:54Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:54Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:54Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:54Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:54Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:54Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:56Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:56Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:56Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:56Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:56Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:56Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:56Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:56Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:56Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:56Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:57Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:57Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:57Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:57Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:57Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:57Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:57Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:57Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:57Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:57Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:58Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:58Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:58Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:58Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:58Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:58Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:58Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:58Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:58Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:58Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:59Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:59Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:59Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:59Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:59Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:59Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:59Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:59Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:59Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:01:59Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:00Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:00Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:00Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:00Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:00Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:00Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:00Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:00Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:00Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:00Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:01Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:01Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:01Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:01Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:01Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:01Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:01Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:01Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:01Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:01Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:02Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:02Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:02Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:02Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:02Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:02Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:02Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:02Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:02Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:02Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:03Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:03Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:03Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:03Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:03Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:03Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:03Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:03Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:03Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:03Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:04Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:04Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:04Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:04Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:04Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:04Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:04Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:04Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:04Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:04Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:05Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:05Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:05Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:05Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:05Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:05Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:05Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:05Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:05Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:05Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:06Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:06Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:06Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:06Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:06Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:06Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:06Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:06Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:06Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:06Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:07Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:07Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:07Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:07Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:07Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:07Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:07Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:07Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:07Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:07Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:08Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:08Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:08Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:08Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:08Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:08Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:08Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:08Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:08Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:02:08Z TRACE wluma::als::webcam] ALS (webcam): night (8)
^C

I waited for a few seconds hoping it would change but nothing happened

@maximbaz
Copy link
Owner

Very interesting, hmmmm 🤔 Thanks for sharing, will ping you if I get any idea as to what to try...

@maximbaz
Copy link
Owner

Interestingly in your previous log, you did get luma value. Could you maybe just try a couple of times latest main (to be sure you still only getting zeros) and then a couple of times a previous commit (to be sure you get non-zeros sometimes). If that's the case, it's a clear indication that my memory leak cleanup is wrong

@Rishik-Y
Copy link
Contributor Author

Ok i ran the Latest Commit a couple of times,
and i noticed 2 things...
One is prediction values are still always zero
Second is als.webcam is still as usual detecting (as there are changes with swaps of 8 and 9)

Log:

cargo run
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.06s
warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
     Running `target/debug/wluma`
[2024-10-23T22:12:37Z DEBUG wluma] Using Config {
        als: Webcam {
            video: 0,
            thresholds: {
                60: "bright",
                15: "dark",
                30: "dim",
                0: "night",
                45: "normal",
                75: "outdoors",
            },
        },
        output: [
            Backlight(
                BacklightOutput {
                    name: "eDP-1",
                    path: "/sys/devices/pci0000:00/0000:00:08.1/0000:07:00.0/drm/card2/card2-eDP-1/amdgpu_bl2",
                    capturer: Wayland(
                        Any,
                    ),
                    min_brightness: 1,
                },
            ),
            Backlight(
                BacklightOutput {
                    name: "keyboard-MSI",
                    path: "/sys/class/net/enp4s0/enp4s0-2::lan",
                    capturer: None,
                    min_brightness: 0,
                },
            ),
        ],
    }
[2024-10-23T22:12:37Z INFO  wluma] Continue adjusting brightness and wluma will learn your preference over time.
[2024-10-23T22:12:37Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:12:37Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:37Z TRACE wluma::frame::capturer::wayland] Detected support for wlr-screencopy-unstable-v1 protocol
[2024-10-23T22:12:37Z DEBUG wluma::frame::capturer::wayland] Using output 'AU Optronics 0xAF90  (eDP-1)' for config 'eDP-1'
[2024-10-23T22:12:37Z TRACE wluma::frame::capturer::wayland] Using wlr-screencopy-unstable-v1 protocol to request frames
[2024-10-23T22:12:37Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:12:37Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:37Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:12:37Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:12:37Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:37Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:12:37Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:12:38Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:38Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:12:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:38Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:38Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:38Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:38Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:38Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:39Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:39Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:39Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:39Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:39Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:39Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:40Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:40Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:40Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:40Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:40Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:40Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:41Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:12:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:41Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:42Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:42Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:43Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:43Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:43Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:43Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:43Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:43Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:43Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:43Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:43Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:43Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:44Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:44Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:44Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:44Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:44Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:44Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:44Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:44Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:44Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:44Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:45Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:45Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:45Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:45Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:45Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:45Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:45Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:45Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:45Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:45Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:46Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:46Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:46Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:46Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:46Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:46Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:46Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:46Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:46Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:46Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:47Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:47Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:47Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:47Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:47Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:47Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:47Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:47Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:47Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:47Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:48Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:48Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:48Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:48Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:48Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:48Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:48Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:48Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:48Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:48Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:49Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:49Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:49Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:49Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:49Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:49Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:49Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:49Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:49Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:49Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:50Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:50Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:51Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:52Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:52Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:52Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:52Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:52Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:52Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:52Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:52Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:52Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:52Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:53Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:53Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:53Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:53Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:53Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:53Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:53Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:53Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:53Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:53Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:54Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:54Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:54Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:54Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:54Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:54Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:54Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:54Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:54Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:54Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:12:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:55Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:56Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:56Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:12:56Z TRACE wluma::als::webcam] ALS (webcam): night (8)
^C

But yes one thing is clear prediction value is always zero (tested 10 times)

@maximbaz
Copy link
Owner

Okay thanks, and how about with the latest commit that I just pushed?

@Rishik-Y
Copy link
Contributor Author

Rishik-Y commented Oct 23, 2024

Here the is Logs of previous commit code where there is no such issue (except memory leak)


❯ cargo run
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.08s
warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
     Running `target/debug/wluma`
[2024-10-23T22:18:04Z DEBUG wluma] Using Config {
        als: Webcam {
            video: 0,
            thresholds: {
                60: "bright",
                15: "dark",
                0: "night",
                75: "outdoors",
                45: "normal",
                30: "dim",
            },
        },
        output: [
            Backlight(
                BacklightOutput {
                    name: "eDP-1",
                    path: "/sys/devices/pci0000:00/0000:00:08.1/0000:07:00.0/drm/card2/card2-eDP-1/amdgpu_bl2",
                    capturer: Wayland(
                        Any,
                    ),
                    min_brightness: 1,
                },
            ),
            Backlight(
                BacklightOutput {
                    name: "keyboard-MSI",
                    path: "/sys/class/net/enp4s0/enp4s0-2::lan",
                    capturer: None,
                    min_brightness: 0,
                },
            ),
        ],
    }
[2024-10-23T22:18:04Z INFO  wluma] Continue adjusting brightness and wluma will learn your preference over time.
[2024-10-23T22:18:04Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:18:04Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:04Z TRACE wluma::frame::capturer::wayland] Detected support for wlr-screencopy-unstable-v1 protocol
[2024-10-23T22:18:04Z DEBUG wluma::frame::capturer::wayland] Using output 'AU Optronics 0xAF90  (eDP-1)' for config 'eDP-1'
[2024-10-23T22:18:04Z TRACE wluma::frame::capturer::wayland] Using wlr-screencopy-unstable-v1 protocol to request frames
[2024-10-23T22:18:04Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 64)
[2024-10-23T22:18:04Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:18:04Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 35)
[2024-10-23T22:18:04Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:04Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:18:04Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 59)
[2024-10-23T22:18:04Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:18:04Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 63)
[2024-10-23T22:18:04Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:04Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:18:04Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 65)
[2024-10-23T22:18:04Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:18:04Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 58)
[2024-10-23T22:18:04Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:04Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-23T22:18:05Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 36)
[2024-10-23T22:18:05Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:05Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 65)
[2024-10-23T22:18:05Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:05Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:05Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 59)
[2024-10-23T22:18:05Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:05Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 66)
[2024-10-23T22:18:05Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:05Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:05Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:05Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 56)
[2024-10-23T22:18:05Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:05Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:05Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 61)
[2024-10-23T22:18:05Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:05Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 60)
[2024-10-23T22:18:05Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:05Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:05Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 64)
[2024-10-23T22:18:05Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:05Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 28)
[2024-10-23T22:18:05Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:05Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:06Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 66)
[2024-10-23T22:18:06Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:06Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 63)
[2024-10-23T22:18:06Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:06Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:06Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 64)
[2024-10-23T22:18:06Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:06Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 17)
[2024-10-23T22:18:06Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:06Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:06Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 27)
[2024-10-23T22:18:06Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:06Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 64)
[2024-10-23T22:18:06Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:06Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:06Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 54)
[2024-10-23T22:18:06Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:06Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 66)
[2024-10-23T22:18:06Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:06Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:06Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 66)
[2024-10-23T22:18:06Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:06Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:06Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:06Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 66)
[2024-10-23T22:18:07Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:07Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 64)
[2024-10-23T22:18:07Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:07Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:07Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 47)
[2024-10-23T22:18:07Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:07Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 45)
[2024-10-23T22:18:07Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:07Z TRACE wluma::als::webcam] ALS (webcam): night (9)
[2024-10-23T22:18:07Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 65)
[2024-10-23T22:18:07Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:18:07Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 65)
[2024-10-23T22:18:07Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:07Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:18:07Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 50)
[2024-10-23T22:18:07Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:18:07Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 66)
[2024-10-23T22:18:07Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:07Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:18:07Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 66)
[2024-10-23T22:18:07Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:18:07Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 46)
[2024-10-23T22:18:07Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-23T22:18:07Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:18:08Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 37)
[2024-10-23T22:18:08Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:18:08Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 65)
[2024-10-23T22:18:08Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:18:08Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 63)
[2024-10-23T22:18:08Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:18:08Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 32)
[2024-10-23T22:18:08Z TRACE wluma::als::webcam] ALS (webcam): night (8)
[2024-10-23T22:18:08Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 19)
[2024-10-23T22:18:08Z TRACE wluma::als::webcam] ALS (webcam): night (8)
^C

@Rishik-Y
Copy link
Contributor Author

I have tried it as well a couple of times and there is no such issue in this one where its showing 0 as prediction value except at the start of process

@maximbaz
Copy link
Owner

Okay, cool, so we declare this as fixed? Thanks for spotting! If you spot more issues, please report, it's very helpful 🙏

@maximbaz
Copy link
Owner

Actually one more request @Rishik-Y, could you comment this line out and confirm whether those occasional zeros appear for you or not?

// The frame is sadly not always ready at this stage, and I couldn't find how to make Vulkan synchronize with the compositor ☹️
thread::sleep(Duration::from_millis(10));

$ RUST_LOG=trace cargo run
...
[2024-10-23T21:48:43Z TRACE wluma::predictor::controller] Prediction: 180 (lux: none, luma: 17)
[2024-10-23T21:48:43Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:43Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:43Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 174 (lux: none, luma: 0)  <-------------
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 180 (lux: none, luma: 17)
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 174 (lux: none, luma: 0)  <-------------
[2024-10-23T21:48:44Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:45Z TRACE wluma::predictor::controller] Prediction: 174 (lux: none, luma: 0)  <-------------
[2024-10-23T21:48:45Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)
[2024-10-23T21:48:45Z TRACE wluma::predictor::controller] Prediction: 181 (lux: none, luma: 16)

In other words, is that thread::sleep() necessary for you or not?

@Rishik-Y
Copy link
Contributor Author

Yep!
As you asked just compared between commenting it out and not,
Both have exactly same output.

Where at start the prediction would predict zero for 3 seconds would swap between 0 and 135 (idk why 135) as the prediction value

Next for 3 seconds occasional zero's appear and disappear (Swapping between predicted value and 0)

And later (Which is after 6 seconds)
Proper prediction which doesn't show any occasional zero.

Commenting and not commenting doesn't seem to make any difference whatsoever. 👍️

@maximbaz
Copy link
Owner

@Rishik-Y just so that I have more data, could I ask you to confirm whether the latest main still works for you? (see #124 with Hyprland-related issue)

@Rishik-Y
Copy link
Contributor Author

Yep just tested the latest main,
And i don't seem to face such issue unfortunately

However while running the export RUST_LOG=TRACE

There is some repeatition over here

[2024-10-25T17:08:34Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:34Z TRACE wluma::als::webcam] ALS (webcam): night (13)

I don't think it is a problem as of now but just letting you know that every 3 seconds, in trace its seems to print double ALS however there is no print of double prediction.
But other than that there is not much of an issue on my side...

Here is the LOG:

cargo run
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.12s
warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.1
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
     Running `target/debug/wluma`
[2024-10-25T17:08:32Z DEBUG wluma] Using Config {
        als: Webcam {
            video: 0,
            thresholds: {
                60: "bright",
                0: "night",
                45: "normal",
                75: "outdoors",
                15: "dark",
                30: "dim",
            },
        },
        output: [
            Backlight(
                BacklightOutput {
                    name: "eDP-1",
                    path: "/sys/devices/pci0000:00/0000:00:08.1/0000:07:00.0/drm/card2/card2-eDP-1/amdgpu_bl2",
                    capturer: Wayland(
                        Any,
                    ),
                    min_brightness: 1,
                },
            ),
            Backlight(
                BacklightOutput {
                    name: "keyboard-MSI",
                    path: "/sys/class/net/enp4s0/enp4s0-2::lan",
                    capturer: None,
                    min_brightness: 0,
                },
            ),
        ],
    }
[2024-10-25T17:08:32Z DEBUG wluma::brightness::backlight] Using direct write on /sys/devices/pci0000:00/0000:00:08.1/0000:07:00.0/drm/card2/card2-eDP-1/amdgpu_bl2 to change brightness value
[2024-10-25T17:08:32Z DEBUG wluma::brightness::backlight] Using direct write on /sys/class/net/enp4s0/enp4s0-2::lan to change brightness value
[2024-10-25T17:08:32Z INFO  wluma] Continue adjusting brightness and wluma will learn your preference over time.
[2024-10-25T17:08:32Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-25T17:08:32Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:32Z DEBUG wluma::frame::capturer::wayland] Detected support for wlr-screencopy-unstable-v1 protocol
[2024-10-25T17:08:32Z DEBUG wluma::frame::capturer::wayland] Using output 'AU Optronics 0xAF90  (eDP-1)' for config 'eDP-1'
[2024-10-25T17:08:32Z DEBUG wluma::frame::capturer::wayland] Using wlr-screencopy-unstable-v1 protocol to request frames
[2024-10-25T17:08:32Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-25T17:08:32Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:32Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-25T17:08:32Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-25T17:08:33Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:33Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-25T17:08:33Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-25T17:08:33Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:33Z TRACE wluma::als::webcam] ALS (webcam): outdoors (100)
[2024-10-25T17:08:33Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:33Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:33Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:33Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:33Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:33Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:33Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:33Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:33Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:33Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:34Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:34Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:34Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:34Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:34Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:34Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:34Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:34Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:34Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:34Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:34Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:34Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:34Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:34Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:34Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:35Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:35Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:35Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 19)
[2024-10-25T17:08:35Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:35Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:35Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:35Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 5)
[2024-10-25T17:08:35Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:35Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 12)
[2024-10-25T17:08:35Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:35Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:35Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 12)
[2024-10-25T17:08:35Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:35Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 11)
[2024-10-25T17:08:35Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:35Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:35Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 14)
[2024-10-25T17:08:35Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:35Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 12)
[2024-10-25T17:08:35Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:35Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:35Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 0)
[2024-10-25T17:08:35Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:36Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 0)
[2024-10-25T17:08:36Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:36Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:36Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 3)
[2024-10-25T17:08:36Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:36Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 9)
[2024-10-25T17:08:36Z TRACE wluma::predictor::controller] Prediction: 0 (lux: outdoors, luma: 0)
[2024-10-25T17:08:36Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:36Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:36Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 3)
[2024-10-25T17:08:36Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:36Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 2)
[2024-10-25T17:08:36Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:36Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 2)
[2024-10-25T17:08:36Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:36Z TRACE wluma::predictor::controller] Prediction: 135 (lux: outdoors, luma: 6)
[2024-10-25T17:08:36Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:36Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 1)
[2024-10-25T17:08:36Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:36Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 2)
[2024-10-25T17:08:36Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:37Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 13)
[2024-10-25T17:08:37Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:37Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 9)
[2024-10-25T17:08:37Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:37Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 11)
[2024-10-25T17:08:37Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:37Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 19)
[2024-10-25T17:08:37Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:37Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 19)
[2024-10-25T17:08:37Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:37Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:37Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 19)
[2024-10-25T17:08:37Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:37Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 4)
[2024-10-25T17:08:37Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:37Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 7)
[2024-10-25T17:08:37Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:37Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 14)
[2024-10-25T17:08:37Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:38Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 12)
[2024-10-25T17:08:38Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:38Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 12)
[2024-10-25T17:08:38Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:38Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 2)
[2024-10-25T17:08:38Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:38Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 4)
[2024-10-25T17:08:38Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:38Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 10)
[2024-10-25T17:08:38Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:38Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 19)
[2024-10-25T17:08:38Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:38Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 6)
[2024-10-25T17:08:38Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:38Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:38Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 10)
[2024-10-25T17:08:38Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:38Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 4)
[2024-10-25T17:08:38Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:38Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 3)
[2024-10-25T17:08:39Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:39Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 11)
[2024-10-25T17:08:39Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:39Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 13)
[2024-10-25T17:08:39Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:39Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 0)
[2024-10-25T17:08:39Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:39Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 8)
[2024-10-25T17:08:39Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:39Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 14)
[2024-10-25T17:08:39Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:39Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 12)
[2024-10-25T17:08:39Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:39Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 3)
[2024-10-25T17:08:39Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:39Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 19)
[2024-10-25T17:08:39Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:39Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:39Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 4)
[2024-10-25T17:08:40Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:40Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 12)
[2024-10-25T17:08:40Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:40Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 1)
[2024-10-25T17:08:40Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:40Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 12)
[2024-10-25T17:08:40Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:40Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 3)
[2024-10-25T17:08:40Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:40Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 14)
[2024-10-25T17:08:40Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:40Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 13)
[2024-10-25T17:08:40Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:40Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 3)
[2024-10-25T17:08:40Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:40Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 10)
[2024-10-25T17:08:40Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:40Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 3)
[2024-10-25T17:08:40Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:41Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 12)
[2024-10-25T17:08:41Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:41Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:41Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 10)
[2024-10-25T17:08:41Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:41Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 10)
[2024-10-25T17:08:41Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:41Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 2)
[2024-10-25T17:08:41Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:41Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 19)
[2024-10-25T17:08:41Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:41Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 3)
[2024-10-25T17:08:41Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:41Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 2)
[2024-10-25T17:08:41Z TRACE wluma::als::webcam] ALS (webcam): night (13)
[2024-10-25T17:08:41Z TRACE wluma::predictor::controller] Prediction: 35 (lux: night, luma: 11)
[2024-10-25T17:08:41Z TRACE wluma::als::webcam] ALS (webcam): night (13)
^C

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants