Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
0.75 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.04 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\EntryComment {#1394
  +user: Proxies\__CG__\App\Entity\User {#1916 …}
  +entry: App\Entity\Entry {#1810 …}
  +magazine: App\Entity\Magazine {#313
    +icon: Proxies\__CG__\App\Entity\Image {#294 …}
    +name: "askelectronics@discuss.tchncs.de"
    +title: "askelectronics"
    +description: """
      **For questions about component-level electronic circuits, tools and equipment.**\n
      \n
      Rules\n
      -----\n
      \n
      1: Be nice.\n
      \n
      2: Be on-topic (eg: *Electronic*, not *electrical*).\n
      \n
      3: No commercial stuff, buying, selling or valuations.\n
      \n
      4: Be safe.\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 154
    +entryCommentCount: 1230
    +postCount: 1
    +postCommentCount: 4
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729413608 {#321
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#285 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#281 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#270 …}
    +entries: Doctrine\ORM\PersistentCollection {#228 …}
    +posts: Doctrine\ORM\PersistentCollection {#186 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#248 …}
    +bans: Doctrine\ORM\PersistentCollection {#165 …}
    +reports: Doctrine\ORM\PersistentCollection {#151 …}
    +badges: Doctrine\ORM\PersistentCollection {#129 …}
    +logs: Doctrine\ORM\PersistentCollection {#119 …}
    +awards: Doctrine\ORM\PersistentCollection {#108 …}
    +categories: Doctrine\ORM\PersistentCollection {#95 …}
    -id: 11
    +apId: "askelectronics@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/c/askelectronics"
    +apPublicUrl: "https://discuss.tchncs.de/c/askelectronics"
    +apFollowersUrl: "https://discuss.tchncs.de/c/askelectronics/followers"
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "askelectronics"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727247714 {#322
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#316
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2466 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2355 …}
  +body: """
    > can you power the sensors off a pin? At least then you can programmatically power cycle them if you need to.\n
    \n
    Not really, at least I wouldn’t really know how. The sensor needs +3V, GND and two data pins, and the pico only has one 3V out, that seems to connect directly to the voltage regulator. I guess, I could try to use a GPIO pin as a switchable 3V out, but that seems rather hacky.\n
    \n
    > The Pico also has a watchdog, you could set it up to give it a reboot if things don’t respond in time. It doesn’t solve the issues of course but at least it gets it back to a workable state\n
    \n
    Unfortunately, a simple machine.reset() seems not to be enough. I didn’t use “real” watchdogs, but what a Java dev knows: try/catch. I wrapped the entire loop in a try/except block and simply call machine.reset() if something goes wrong. That does work sometimes, but not always. Of course the possibilities are a) some exception isn’t getting caught b) there is some electronic issue, maybe the SPI interface to the DHT is “stuck” or not properly reset. I can resolve the problems by completely disconnecting the device for a while from power.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1696250249 {#1605
    date: 2023-10-02 14:37:29.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@agressivelyPassive@feddit.de"
    "@dgriffith@aussie.zone"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2167 …}
  +nested: Doctrine\ORM\PersistentCollection {#2357 …}
  +votes: Doctrine\ORM\PersistentCollection {#2429 …}
  +reports: Doctrine\ORM\PersistentCollection {#2442 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1359 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2485 …}
  -id: 30449
  -bodyTs: "'+3':35 '3v':48,72 'also':81 'alway':166 'b':179 'back':116 'block':151 'call':154 'caught':178 'complet':204 'connect':53 'could':62,86 'cours':109,168 'cycl':16 'data':40 'dev':140 'devic':207 'dht':191 'didn':131 'direct':54 'disconnect':205 'doesn':103 'electron':183 'enough':129 'entir':146 'except':174 'get':114,177 'give':91 'gnd':37 'goe':158 'gpio':67 'guess':60 'hacki':78 'interfac':188 'isn':175 'issu':107,184 'java':139 'know':30,141 'least':10,25,112 'loop':147 'machine.reset':124,155 'mayb':185 'need':20,34 'one':47 'pico':44,80 'pin':8,41,68 'possibl':170 'power':3,15,212 'problem':202 'programmat':14 'proper':196 'rather':77 'real':134 'realli':23,29 'reboot':94 'regul':58 'reset':197 'resolv':200 'respond':99 'seem':51,76,125 'sensor':5,33 'set':87 'simpl':123 'simpli':153 'solv':105 'someth':157 'sometim':163 'spi':187 'state':120 'stuck':193 'switchabl':71 'thing':96 'time':101 'tri':63 'try/catch':142 'try/except':150 'two':39 'unfortun':121 'use':65,133 'v':36 'voltag':57 'watchdog':84,135 'work':162 'workabl':119 'wouldn':27 'wrap':144 'wrong':159"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/3394212"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696250249 {#1377
    date: 2023-10-02 14:37:29.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\EntryComment {#1394
  +user: Proxies\__CG__\App\Entity\User {#1916 …}
  +entry: App\Entity\Entry {#1810 …}
  +magazine: App\Entity\Magazine {#313
    +icon: Proxies\__CG__\App\Entity\Image {#294 …}
    +name: "askelectronics@discuss.tchncs.de"
    +title: "askelectronics"
    +description: """
      **For questions about component-level electronic circuits, tools and equipment.**\n
      \n
      Rules\n
      -----\n
      \n
      1: Be nice.\n
      \n
      2: Be on-topic (eg: *Electronic*, not *electrical*).\n
      \n
      3: No commercial stuff, buying, selling or valuations.\n
      \n
      4: Be safe.\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 154
    +entryCommentCount: 1230
    +postCount: 1
    +postCommentCount: 4
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729413608 {#321
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#285 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#281 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#270 …}
    +entries: Doctrine\ORM\PersistentCollection {#228 …}
    +posts: Doctrine\ORM\PersistentCollection {#186 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#248 …}
    +bans: Doctrine\ORM\PersistentCollection {#165 …}
    +reports: Doctrine\ORM\PersistentCollection {#151 …}
    +badges: Doctrine\ORM\PersistentCollection {#129 …}
    +logs: Doctrine\ORM\PersistentCollection {#119 …}
    +awards: Doctrine\ORM\PersistentCollection {#108 …}
    +categories: Doctrine\ORM\PersistentCollection {#95 …}
    -id: 11
    +apId: "askelectronics@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/c/askelectronics"
    +apPublicUrl: "https://discuss.tchncs.de/c/askelectronics"
    +apFollowersUrl: "https://discuss.tchncs.de/c/askelectronics/followers"
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "askelectronics"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727247714 {#322
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#316
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2466 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2355 …}
  +body: """
    > can you power the sensors off a pin? At least then you can programmatically power cycle them if you need to.\n
    \n
    Not really, at least I wouldn’t really know how. The sensor needs +3V, GND and two data pins, and the pico only has one 3V out, that seems to connect directly to the voltage regulator. I guess, I could try to use a GPIO pin as a switchable 3V out, but that seems rather hacky.\n
    \n
    > The Pico also has a watchdog, you could set it up to give it a reboot if things don’t respond in time. It doesn’t solve the issues of course but at least it gets it back to a workable state\n
    \n
    Unfortunately, a simple machine.reset() seems not to be enough. I didn’t use “real” watchdogs, but what a Java dev knows: try/catch. I wrapped the entire loop in a try/except block and simply call machine.reset() if something goes wrong. That does work sometimes, but not always. Of course the possibilities are a) some exception isn’t getting caught b) there is some electronic issue, maybe the SPI interface to the DHT is “stuck” or not properly reset. I can resolve the problems by completely disconnecting the device for a while from power.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1696250249 {#1605
    date: 2023-10-02 14:37:29.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@agressivelyPassive@feddit.de"
    "@dgriffith@aussie.zone"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2167 …}
  +nested: Doctrine\ORM\PersistentCollection {#2357 …}
  +votes: Doctrine\ORM\PersistentCollection {#2429 …}
  +reports: Doctrine\ORM\PersistentCollection {#2442 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1359 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2485 …}
  -id: 30449
  -bodyTs: "'+3':35 '3v':48,72 'also':81 'alway':166 'b':179 'back':116 'block':151 'call':154 'caught':178 'complet':204 'connect':53 'could':62,86 'cours':109,168 'cycl':16 'data':40 'dev':140 'devic':207 'dht':191 'didn':131 'direct':54 'disconnect':205 'doesn':103 'electron':183 'enough':129 'entir':146 'except':174 'get':114,177 'give':91 'gnd':37 'goe':158 'gpio':67 'guess':60 'hacki':78 'interfac':188 'isn':175 'issu':107,184 'java':139 'know':30,141 'least':10,25,112 'loop':147 'machine.reset':124,155 'mayb':185 'need':20,34 'one':47 'pico':44,80 'pin':8,41,68 'possibl':170 'power':3,15,212 'problem':202 'programmat':14 'proper':196 'rather':77 'real':134 'realli':23,29 'reboot':94 'regul':58 'reset':197 'resolv':200 'respond':99 'seem':51,76,125 'sensor':5,33 'set':87 'simpl':123 'simpli':153 'solv':105 'someth':157 'sometim':163 'spi':187 'state':120 'stuck':193 'switchabl':71 'thing':96 'time':101 'tri':63 'try/catch':142 'try/except':150 'two':39 'unfortun':121 'use':65,133 'v':36 'voltag':57 'watchdog':84,135 'work':162 'workabl':119 'wouldn':27 'wrap':144 'wrong':159"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/3394212"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696250249 {#1377
    date: 2023-10-02 14:37:29.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\EntryComment {#1394
  +user: Proxies\__CG__\App\Entity\User {#1916 …}
  +entry: App\Entity\Entry {#1810 …}
  +magazine: App\Entity\Magazine {#313
    +icon: Proxies\__CG__\App\Entity\Image {#294 …}
    +name: "askelectronics@discuss.tchncs.de"
    +title: "askelectronics"
    +description: """
      **For questions about component-level electronic circuits, tools and equipment.**\n
      \n
      Rules\n
      -----\n
      \n
      1: Be nice.\n
      \n
      2: Be on-topic (eg: *Electronic*, not *electrical*).\n
      \n
      3: No commercial stuff, buying, selling or valuations.\n
      \n
      4: Be safe.\n
      \n
      ---
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 154
    +entryCommentCount: 1230
    +postCount: 1
    +postCommentCount: 4
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729413608 {#321
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#285 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#281 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#270 …}
    +entries: Doctrine\ORM\PersistentCollection {#228 …}
    +posts: Doctrine\ORM\PersistentCollection {#186 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#248 …}
    +bans: Doctrine\ORM\PersistentCollection {#165 …}
    +reports: Doctrine\ORM\PersistentCollection {#151 …}
    +badges: Doctrine\ORM\PersistentCollection {#129 …}
    +logs: Doctrine\ORM\PersistentCollection {#119 …}
    +awards: Doctrine\ORM\PersistentCollection {#108 …}
    +categories: Doctrine\ORM\PersistentCollection {#95 …}
    -id: 11
    +apId: "askelectronics@discuss.tchncs.de"
    +apProfileId: "https://discuss.tchncs.de/c/askelectronics"
    +apPublicUrl: "https://discuss.tchncs.de/c/askelectronics"
    +apFollowersUrl: "https://discuss.tchncs.de/c/askelectronics/followers"
    +apInboxUrl: "https://discuss.tchncs.de/inbox"
    +apDomain: "discuss.tchncs.de"
    +apPreferredUsername: "askelectronics"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1727247714 {#322
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#316
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2466 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2355 …}
  +body: """
    > can you power the sensors off a pin? At least then you can programmatically power cycle them if you need to.\n
    \n
    Not really, at least I wouldn’t really know how. The sensor needs +3V, GND and two data pins, and the pico only has one 3V out, that seems to connect directly to the voltage regulator. I guess, I could try to use a GPIO pin as a switchable 3V out, but that seems rather hacky.\n
    \n
    > The Pico also has a watchdog, you could set it up to give it a reboot if things don’t respond in time. It doesn’t solve the issues of course but at least it gets it back to a workable state\n
    \n
    Unfortunately, a simple machine.reset() seems not to be enough. I didn’t use “real” watchdogs, but what a Java dev knows: try/catch. I wrapped the entire loop in a try/except block and simply call machine.reset() if something goes wrong. That does work sometimes, but not always. Of course the possibilities are a) some exception isn’t getting caught b) there is some electronic issue, maybe the SPI interface to the DHT is “stuck” or not properly reset. I can resolve the problems by completely disconnecting the device for a while from power.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1696250249 {#1605
    date: 2023-10-02 14:37:29.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@agressivelyPassive@feddit.de"
    "@dgriffith@aussie.zone"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2167 …}
  +nested: Doctrine\ORM\PersistentCollection {#2357 …}
  +votes: Doctrine\ORM\PersistentCollection {#2429 …}
  +reports: Doctrine\ORM\PersistentCollection {#2442 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1359 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2485 …}
  -id: 30449
  -bodyTs: "'+3':35 '3v':48,72 'also':81 'alway':166 'b':179 'back':116 'block':151 'call':154 'caught':178 'complet':204 'connect':53 'could':62,86 'cours':109,168 'cycl':16 'data':40 'dev':140 'devic':207 'dht':191 'didn':131 'direct':54 'disconnect':205 'doesn':103 'electron':183 'enough':129 'entir':146 'except':174 'get':114,177 'give':91 'gnd':37 'goe':158 'gpio':67 'guess':60 'hacki':78 'interfac':188 'isn':175 'issu':107,184 'java':139 'know':30,141 'least':10,25,112 'loop':147 'machine.reset':124,155 'mayb':185 'need':20,34 'one':47 'pico':44,80 'pin':8,41,68 'possibl':170 'power':3,15,212 'problem':202 'programmat':14 'proper':196 'rather':77 'real':134 'realli':23,29 'reboot':94 'regul':58 'reset':197 'resolv':200 'respond':99 'seem':51,76,125 'sensor':5,33 'set':87 'simpl':123 'simpli':153 'solv':105 'someth':157 'sometim':163 'spi':187 'state':120 'stuck':193 'switchabl':71 'thing':96 'time':101 'tri':63 'try/catch':142 'try/except':150 'two':39 'unfortun':121 'use':65,133 'v':36 'voltag':57 'watchdog':84,135 'work':162 'workabl':119 'wouldn':27 'wrap':144 'wrong':159"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://feddit.de/comment/3394212"
  +editedAt: null
  +createdAt: DateTimeImmutable @1696250249 {#1377
    date: 2023-10-02 14:37:29.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED edit
App\Entity\Magazine {#313
  +icon: Proxies\__CG__\App\Entity\Image {#294 …}
  +name: "askelectronics@discuss.tchncs.de"
  +title: "askelectronics"
  +description: """
    **For questions about component-level electronic circuits, tools and equipment.**\n
    \n
    Rules\n
    -----\n
    \n
    1: Be nice.\n
    \n
    2: Be on-topic (eg: *Electronic*, not *electrical*).\n
    \n
    3: No commercial stuff, buying, selling or valuations.\n
    \n
    4: Be safe.\n
    \n
    ---
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 154
  +entryCommentCount: 1230
  +postCount: 1
  +postCommentCount: 4
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729413608 {#321
    date: 2024-10-20 10:40:08.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#285 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#281 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#270 …}
  +entries: Doctrine\ORM\PersistentCollection {#228 …}
  +posts: Doctrine\ORM\PersistentCollection {#186 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#248 …}
  +bans: Doctrine\ORM\PersistentCollection {#165 …}
  +reports: Doctrine\ORM\PersistentCollection {#151 …}
  +badges: Doctrine\ORM\PersistentCollection {#129 …}
  +logs: Doctrine\ORM\PersistentCollection {#119 …}
  +awards: Doctrine\ORM\PersistentCollection {#108 …}
  +categories: Doctrine\ORM\PersistentCollection {#95 …}
  -id: 11
  +apId: "askelectronics@discuss.tchncs.de"
  +apProfileId: "https://discuss.tchncs.de/c/askelectronics"
  +apPublicUrl: "https://discuss.tchncs.de/c/askelectronics"
  +apFollowersUrl: "https://discuss.tchncs.de/c/askelectronics/followers"
  +apInboxUrl: "https://discuss.tchncs.de/inbox"
  +apDomain: "discuss.tchncs.de"
  +apPreferredUsername: "askelectronics"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1727247714 {#322
    date: 2024-09-25 09:01:54.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1687144409 {#316
    date: 2023-06-19 05:13:29.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details