As the title suggests, radio config updates via the UI don't actually apply until you restart the service. I would expect that after the config gets updated, that it restarts the radio, or we get a button in the config page somewhere that restarts the radio. I can tell that the process is not applying the config immediately as when switching from 62.5KHz to 250KHz there should be a significant noise floor change, when in actual fact, there is none, and no data is heard.
Current behaviour:
Modifying a radio config item updates the config file, but does not take effect immediately.
Expected behaviour:
Modifying a radio config item updates the config file, restarts the radio, and takes effect immediately.
Branch: feat/companion
Log:
Mar 17 10:38:25 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:25,269 - AdvertHelper - INFO - Advert limiter config reloaded: adaptive=True, rate_limit=True, bucket=3.0, dedupe=True
Mar 17 10:38:25 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:25,272 - ConfigManager - INFO - Reloaded AdvertHelper config
Mar 17 10:38:25 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:25,275 - HTTPServer - INFO - Radio config updated: bw=250.0kHz
Mar 17 10:38:26 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:26,234 - SX1262_wrapper - DEBUG - [RX Task] Status check #25000, noise_floor=-99.4dBm
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,131 - ConfigManager - INFO - Configuration saved to /etc/pymc_repeater/config.yaml
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,137 - ConfigManager - DEBUG - Live updated daemon config section: repeater
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,140 - ConfigManager - DEBUG - Live updated daemon config section: delays
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,141 - ConfigManager - DEBUG - Live updated daemon config section: radio
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,142 - ConfigManager - INFO - Live updated daemon config sections: repeater, delays, radio
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,145 - RepeaterHandler - INFO - Runtime configuration reloaded successfully
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,155 - ConfigManager - INFO - Reloaded RepeaterHandler runtime config
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,157 - AdvertHelper - INFO - Advert limiter config reloaded: adaptive=True, rate_limit=True, bucket=3.0, dedupe=True
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,158 - ConfigManager - INFO - Reloaded AdvertHelper config
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,159 - HTTPServer - INFO - Radio config updated: sf=11
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,538 - SX1262_wrapper - DEBUG - [RX Task] Status check #25500, noise_floor=-99.2dBm
Mar 17 10:38:38 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:38,797 - SX1262_wrapper - DEBUG - [RX Task] Status check #26000, noise_floor=-99.8dBm
Mar 17 10:38:43 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:43,864 - RepeaterHandler - DEBUG - Recorded noise floor: -99.8 dBm
Mar 17 10:38:45 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:45,006 - SX1262_wrapper - DEBUG - [RX Task] Status check #26500, noise_floor=-99.3dBm
Mar 17 10:38:51 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:51,179 - SX1262_wrapper - DEBUG - [RX Task] Status check #27000, noise_floor=-99.3dBm
Cheers,
Josh
Hi,
As the title suggests, radio config updates via the UI don't actually apply until you restart the service. I would expect that after the config gets updated, that it restarts the radio, or we get a button in the config page somewhere that restarts the radio. I can tell that the process is not applying the config immediately as when switching from 62.5KHz to 250KHz there should be a significant noise floor change, when in actual fact, there is none, and no data is heard.
Current behaviour:
Modifying a radio config item updates the config file, but does not take effect immediately.
Expected behaviour:
Modifying a radio config item updates the config file, restarts the radio, and takes effect immediately.
Branch: feat/companion
Log:
Mar 17 10:38:25 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:25,269 - AdvertHelper - INFO - Advert limiter config reloaded: adaptive=True, rate_limit=True, bucket=3.0, dedupe=True
Mar 17 10:38:25 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:25,272 - ConfigManager - INFO - Reloaded AdvertHelper config
Mar 17 10:38:25 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:25,275 - HTTPServer - INFO - Radio config updated: bw=250.0kHz
Mar 17 10:38:26 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:26,234 - SX1262_wrapper - DEBUG - [RX Task] Status check #25000, noise_floor=-99.4dBm
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,131 - ConfigManager - INFO - Configuration saved to /etc/pymc_repeater/config.yaml
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,137 - ConfigManager - DEBUG - Live updated daemon config section: repeater
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,140 - ConfigManager - DEBUG - Live updated daemon config section: delays
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,141 - ConfigManager - DEBUG - Live updated daemon config section: radio
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,142 - ConfigManager - INFO - Live updated daemon config sections: repeater, delays, radio
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,145 - RepeaterHandler - INFO - Runtime configuration reloaded successfully
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,155 - ConfigManager - INFO - Reloaded RepeaterHandler runtime config
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,157 - AdvertHelper - INFO - Advert limiter config reloaded: adaptive=True, rate_limit=True, bucket=3.0, dedupe=True
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,158 - ConfigManager - INFO - Reloaded AdvertHelper config
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,159 - HTTPServer - INFO - Radio config updated: sf=11
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,538 - SX1262_wrapper - DEBUG - [RX Task] Status check #25500, noise_floor=-99.2dBm
Mar 17 10:38:38 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:38,797 - SX1262_wrapper - DEBUG - [RX Task] Status check #26000, noise_floor=-99.8dBm
Mar 17 10:38:43 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:43,864 - RepeaterHandler - DEBUG - Recorded noise floor: -99.8 dBm
Mar 17 10:38:45 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:45,006 - SX1262_wrapper - DEBUG - [RX Task] Status check #26500, noise_floor=-99.3dBm
Mar 17 10:38:51 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:51,179 - SX1262_wrapper - DEBUG - [RX Task] Status check #27000, noise_floor=-99.3dBm
Cheers,
Josh
<!-- github-sync-id:4087687956 -->
If I go to change the radio settings, it tells me that it's warning me that a service restart might be required.
But then it says settings applied sucessfully
However if i do something like change the frequency, it tells me it applied successfully but the frequency doesn't actually change (despite getting the green success box) until I manuall restart the service. Same for the bandwidth or the SF.
As a user, I expect that if it tells me they're applied, that they're applied, and the changes are immediate, otherwise, it should tell me to restart the service - and then gives me a big button to do so (like the console switcher does).
But I would assume it's possible to close the sx1262 connection in the background a re-initialise it on the fly so a service restart isn't required?
I think something is broken here.
If I go to change the radio settings, it tells me that it's warning me that a service restart might be required.
But then it says settings applied sucessfully
However if i do something like change the frequency, it tells me it applied successfully but the frequency doesn't actually change (despite getting the green success box) until I manuall restart the service. Same for the bandwidth or the SF.
As a user, I expect that if it tells me they're applied, that they're applied, and the changes are immediate, otherwise, it should tell me to restart the service - and then gives me a big button to do so (like the console switcher does).
But I would assume it's possible to close the sx1262 connection in the background a re-initialise it on the fly so a service restart isn't required?
<img width="1199" height="592" alt="Image" src="https://github.com/user-attachments/assets/780f870d-7e8d-4c8e-88b3-733076d2f13f" />
<img width="1199" height="592" alt="Image" src="https://github.com/user-attachments/assets/838d4cad-e075-4186-ac26-f09dfccda2a0" />
<!-- github-comment-id:4077908792 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Hi,
As the title suggests, radio config updates via the UI don't actually apply until you restart the service. I would expect that after the config gets updated, that it restarts the radio, or we get a button in the config page somewhere that restarts the radio. I can tell that the process is not applying the config immediately as when switching from 62.5KHz to 250KHz there should be a significant noise floor change, when in actual fact, there is none, and no data is heard.
Current behaviour:
Modifying a radio config item updates the config file, but does not take effect immediately.
Expected behaviour:
Modifying a radio config item updates the config file, restarts the radio, and takes effect immediately.
Branch: feat/companion
Log:
Mar 17 10:38:25 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:25,269 - AdvertHelper - INFO - Advert limiter config reloaded: adaptive=True, rate_limit=True, bucket=3.0, dedupe=True
Mar 17 10:38:25 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:25,272 - ConfigManager - INFO - Reloaded AdvertHelper config
Mar 17 10:38:25 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:25,275 - HTTPServer - INFO - Radio config updated: bw=250.0kHz
Mar 17 10:38:26 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:26,234 - SX1262_wrapper - DEBUG - [RX Task] Status check #25000, noise_floor=-99.4dBm
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,131 - ConfigManager - INFO - Configuration saved to /etc/pymc_repeater/config.yaml
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,137 - ConfigManager - DEBUG - Live updated daemon config section: repeater
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,140 - ConfigManager - DEBUG - Live updated daemon config section: delays
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,141 - ConfigManager - DEBUG - Live updated daemon config section: radio
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,142 - ConfigManager - INFO - Live updated daemon config sections: repeater, delays, radio
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,145 - RepeaterHandler - INFO - Runtime configuration reloaded successfully
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,155 - ConfigManager - INFO - Reloaded RepeaterHandler runtime config
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,157 - AdvertHelper - INFO - Advert limiter config reloaded: adaptive=True, rate_limit=True, bucket=3.0, dedupe=True
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,158 - ConfigManager - INFO - Reloaded AdvertHelper config
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,159 - HTTPServer - INFO - Radio config updated: sf=11
Mar 17 10:38:32 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:32,538 - SX1262_wrapper - DEBUG - [RX Task] Status check #25500, noise_floor=-99.2dBm
Mar 17 10:38:38 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:38,797 - SX1262_wrapper - DEBUG - [RX Task] Status check #26000, noise_floor=-99.8dBm
Mar 17 10:38:43 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:43,864 - RepeaterHandler - DEBUG - Recorded noise floor: -99.8 dBm
Mar 17 10:38:45 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:45,006 - SX1262_wrapper - DEBUG - [RX Task] Status check #26500, noise_floor=-99.3dBm
Mar 17 10:38:51 ultrapeater pymc-repeater[1092]: 2026-03-17 10:38:51,179 - SX1262_wrapper - DEBUG - [RX Task] Status check #27000, noise_floor=-99.3dBm
Cheers,
Josh
It should warn you if the settings can't be applied?
I think something is broken here.
If I go to change the radio settings, it tells me that it's warning me that a service restart might be required.
But then it says settings applied sucessfully
However if i do something like change the frequency, it tells me it applied successfully but the frequency doesn't actually change (despite getting the green success box) until I manuall restart the service. Same for the bandwidth or the SF.
As a user, I expect that if it tells me they're applied, that they're applied, and the changes are immediate, otherwise, it should tell me to restart the service - and then gives me a big button to do so (like the console switcher does).
But I would assume it's possible to close the sx1262 connection in the background a re-initialise it on the fly so a service restart isn't required?
Fixed in dev21