danielwippermann / resol-vbus-logger.rs

A Rust application that uses the resol-vbus.rs library to log and visualize RESOL VBus data.
Other
3 stars 2 forks source link

PNG shows garbage #2

Closed anticharm01 closed 2 years ago

anticharm01 commented 2 years ago

Hi Daniel,

got it working with my SLT, but the PNG shows garbage except time and date.

2022.05.26 10:19:50 26.05.2022 10:18:05 48,0 38,2 888,8 43,2 37,5 999,9 0 0 0 99,99 20 0 0 0 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

test - Copy

Made a grey Heizungsschema.bmp to check if characters might be white eagle on white background :)

Any hints?

Thanks

danielwippermann commented 2 years ago

Hi @anticharm01!

The garbage you are seeing it the default string "---" that is used in case the VBus value for that position cannot be found:

https://github.com/danielwippermann/resol-vbus-logger.rs/blob/f59c31117f3a6601d6649528a1ee1f7945143363/src/png_generator.rs#L76

Sadly the PNG output does not automatically adapt to the connected controller (like the CSV output does), but has to be "configured" in code. The relevant lines are those here:

https://github.com/danielwippermann/resol-vbus-logger.rs/blob/master/src/png_generator.rs#L93-L197

The VBus packet field IDs used in that example code belong to a "SKSC3" controller. Since your SLT does provide a different set of packet field IDs, you end up with triple-dashes in your PNG.

You could change the lines manually to match your SLT values but that is quite a tedious job. The original approach that was used for the lines in the example was:

If you prefer to use the RESOL ServiceCenter method as well I'd search whether I still have that conversion tool somewhere... If I do, I'll make that accessible, allowing you to convert your *.rsc file into a snippet of code which you then can paste into the PNG generator example.

Best regards, Daniel

anticharm01 commented 2 years ago

Good Morning Daniel,

OK, I understand.

Unfortunately there is no SLT in the list for a new project in RSC. I have to create it manually or find another way to post the values into a website running lighttpd. Accutally there's no need for a PNG but it's a nice idea.

I'm still struggling to run the logger as a service. Every time I end my putty session, it stops.

Thanks.

anticharm01 commented 2 years ago

https://danielwippermann.github.io/resol-vbus/#/vsf/fields/00_0010_1001_10_0100

Found it on your page. Will try it later.

anticharm01 commented 2 years ago

OK, working. Except running as a service.

slt

danielwippermann commented 2 years ago

HI @anticharm01!

Good job!

Regarding running the logger in the background: have you tried starting it with "nohup" in front of the command and an "&" at the end? That normally should work. I myself prefer running it inside a tmux session but that is just personal preference.

danielwippermann commented 2 years ago

Unfortunately there is no SLT in the list for a new project in RSC. I have to create it manually or find another way to post the values into a website running lighttpd. Accutally there's no need for a PNG but it's a nice idea.

As as addition: you do not need to create a new project in RSC. Just start up RSC, switch to the VBus Logging panel, choose your connection method and click Connect. Your SLT's values should be visible on the "Protocol Data" page. If that is the case you should be able to add new VBus fields in the "Designer" view by right-clicking on the white canvas and selecting the appropriate command from the context menu.

anticharm01 commented 2 years ago

The service uses this file:

[Unit] Description=Resol VBus Logger After=network-online.target

[Service] Type=idle RootDirectory=/ WorkingDirectory=/resol-vbus-logger.rs/ ExecStart=/resol-vbus-logger.rs/target/release/logger StandardOutput=inherit StandardError=inherit Restart=always User=root Group=root

[Install] WantedBy=multi-user.target

anticharm01 commented 2 years ago

OK, everything is doing fine. Runs for two weeks now.