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 …}
}
13.40 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.05 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\Entry {#1794
  +user: Proxies\__CG__\App\Entity\User {#1900 …}
  +magazine: App\Entity\Magazine {#289
    +icon: Proxies\__CG__\App\Entity\Image {#270 …}
    +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 {#297
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#261 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
    +entries: Doctrine\ORM\PersistentCollection {#204 …}
    +posts: Doctrine\ORM\PersistentCollection {#162 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
    +bans: Doctrine\ORM\PersistentCollection {#141 …}
    +reports: Doctrine\ORM\PersistentCollection {#127 …}
    +badges: Doctrine\ORM\PersistentCollection {#105 …}
    +logs: Doctrine\ORM\PersistentCollection {#95 …}
    +awards: Doctrine\ORM\PersistentCollection {#84 …}
    +categories: Doctrine\ORM\PersistentCollection {#71 …}
    -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 {#298
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#292
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1916 …}
  +slug: "PCB-Design-Review-Request-ESP32-Smart-Relay-Board"
  +title: "PCB Design Review Request: ESP32 Smart Relay Board"
  +url: null
  +body: """
    Hi, this post is structured similarly to r/PrintedCircuitBoard 's review request format. Since we don’t have any PCB communities over here yet, I thought that this might fit in here and can maybe spark some friendly discussion.\n
    \n
    This is a relay board controlling electrically driven windows and blinds. For this purpose it has some additional connectors to a weather station, interior sensors and an LCD screen.\n
    \n
    It is replacing a ~20 year old board that has started to develop some annoying quirks. I’ve mostly copied what the original board did and adjusted it for the ESP32. This is not a production board and if all goes well, I will only ever assemble a single one of these.\n
    \n
    The primary usage scenario is that the MCU will monitor the weather station and then actuate the motor groups (M1 - M6 connected on `J3` - `J8`) to keep the indoors temperature and humidity in check.\n
    \n
    At least during summer time the board will likely run 24/7 and will hopefully be used for a number of years. For maintenance reasons I’ve tried to keep it simple and the component count low.\n
    \n
    Mains power is supplied from `J1` and being fed to the motors via the relays. `PS1` converts the line voltage to +5V DC for the relay coils and some auxiliary components. The switching regulator `U2` steps that down to +3.3V for the MCU `U1` and IO Expander `U3`.\n
    \n
    The board size is mostly constrained by the preexisting mounting holes which gives me plenty of space to work with even with just a 2 layer board. The enclosure containing the mounts is installed indoors and is finger-pokey-tight.\n
    \n
    Jumper `JP1` allows me to supply the MCU devkit daughter board with +5V, should I ever replace it with a different one. Similarly `J11` exists for future expansion.\n
    \n
    `J10` mounts another daughter board (not included in review) facilitating communications with the weather station. Should the station ever need to be replaced I can swap in a new, matching board.\n
    \n
    There aren’t any high-speed connections on the board. The fastest one is likely the SPI connection to the LCD controller but I can slow it down in firmware if necessary.\n
    \n
    Regarding the DNP components: There are only 5 motors installed at the moment so I will cover the sixth slot with a piece of plastic for now. `R1` and `R2` will only be populated if the 10k pullup resistors integrated into the MCU are insufficient for typical baud rates.\n
    \n
    While it is not the first board I’ve designed, it is the first one carrying mains power (European grid 230V@50Hz). I’m using 2 oz copper to accommodate the motor currents within reasonably wide traces.\n
    \n
    In case anyone is interested, it will be running the ESPHome firmware to easily integrate with the Home-Assistant smart home solution. This also pushes firmware maintenance from me onto the ESPHome devs.\n
    \n
    3D render from front (no 3D model for relays `K**` and MCU board; 3D model for `J1` and `J2` is a stand-in of same outer dimensions): ![3D Front](https://discuss.tchncs.de/pictrs/image/e10e7dc8-b4af-4500-8892-b720fc872521.png)\n
    \n
    Orthographic view from front: ![Orthographic Front](https://discuss.tchncs.de/pictrs/image/1bc119bd-4eca-49d1-9985-72491ed37276.png)\n
    \n
    Schematic:\n
    \n
    ![Schematic](https://discuss.tchncs.de/pictrs/image/9ae85da3-3d33-4e58-b616-47c427a9dadb.png)\n
    \n
    PCB All layers (For reference: thickest traces are 2.5 mm / ~98.4 mils; thinnest traces are 0.25 mm / ~9.84 mils): ![All layers](https://discuss.tchncs.de/pictrs/image/acbcd718-af07-499b-a7c6-af473b2bb7d1.png)\n
    \n
    PCB Front layers excluding Silkscreen: ![Front layers](https://discuss.tchncs.de/pictrs/image/59d2d309-567c-4827-bc0d-56cccf5e37d1.png)\n
    \n
    PCB Back layers + Front Fab layer: ![Back layers](https://discuss.tchncs.de/pictrs/image/45aad0ae-f5a7-48d9-b4ec-ed2e70903c00.png)
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 6
  +favouriteCount: 18
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1695038978 {#1861
    date: 2023-09-18 14:09:38.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1947 …}
  +votes: Doctrine\ORM\PersistentCollection {#1893 …}
  +reports: Doctrine\ORM\PersistentCollection {#2388 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1397 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1371 …}
  +badges: Doctrine\ORM\PersistentCollection {#1379 …}
  +children: []
  -id: 2246
  -titleTs: "'board':8 'design':2 'esp32':5 'pcb':1 'relay':7 'request':4 'review':3 'smart':6"
  -bodyTs: "'+3.3':230 '+5':211,293 '/pictrs/image/1bc119bd-4eca-49d1-9985-72491ed37276.png)':535 '/pictrs/image/45aad0ae-f5a7-48d9-b4ec-ed2e70903c00.png)':585 '/pictrs/image/59d2d309-567c-4827-bc0d-56cccf5e37d1.png)':574 '/pictrs/image/9ae85da3-3d33-4e58-b616-47c427a9dadb.png)':540 '/pictrs/image/acbcd718-af07-499b-a7c6-af473b2bb7d1.png)':564 '/pictrs/image/e10e7dc8-b4af-4500-8892-b720fc872521.png)':526 '0.25':556 '10k':410 '2':264,448 '2.5':549 '20':72 '230v':443 '24/7':164 '3d':494,499,507,522 '5':381 '50hz':444 '9.84':558 '98.4':551 'accommod':452 'actuat':135 'addit':56 'adjust':94 'allow':283 'also':484 'annoy':82 'anoth':312 'anyon':462 'aren':342 'assembl':114 'assist':479 'auxiliari':220 'back':576,581 'baud':421 'blind':49 'board':43,75,91,104,160,241,266,291,314,340,351,429,506 'carri':438 'case':461 'check':153 'coil':217 'communic':320 'communiti':20 'compon':187,221,377 'connect':141,348,359 'connector':57 'constrain':245 'contain':269 'control':44,363 'convert':206 'copi':87 'copper':450 'count':188 'cover':390 'current':455 'daughter':290,313 'dc':213 'design':432 'dev':493 'develop':80 'devkit':289 'differ':302 'dimens':521 'discuss':38 'discuss.tchncs.de':525,534,539,563,573,584 'discuss.tchncs.de/pictrs/image/1bc119bd-4eca-49d1-9985-72491ed37276.png)':533 'discuss.tchncs.de/pictrs/image/45aad0ae-f5a7-48d9-b4ec-ed2e70903c00.png)':583 'discuss.tchncs.de/pictrs/image/59d2d309-567c-4827-bc0d-56cccf5e37d1.png)':572 'discuss.tchncs.de/pictrs/image/9ae85da3-3d33-4e58-b616-47c427a9dadb.png)':538 'discuss.tchncs.de/pictrs/image/acbcd718-af07-499b-a7c6-af473b2bb7d1.png)':562 'discuss.tchncs.de/pictrs/image/e10e7dc8-b4af-4500-8892-b720fc872521.png)':524 'dnp':376 'driven':46 'easili':473 'electr':45 'enclosur':268 'esp32':98 'esphom':470,492 'european':441 'even':260 'ever':113,297,328 'exclud':568 'exist':306 'expand':238 'expans':309 'fab':579 'facilit':319 'fastest':353 'fed':198 'finger':278 'finger-pokey-tight':277 'firmwar':371,471,486 'first':428,436 'fit':29 'format':12 'friend':37 'front':497,523,530,532,566,570,578 'futur':308 'give':252 'goe':108 'grid':442 'group':138 'hi':1 'high':346 'high-spe':345 'hole':250 'home':478,481 'home-assist':477 'hope':167 'humid':151 'includ':316 'indoor':148,274 'instal':273,383 'insuffici':418 'integr':413,474 'interest':464 'interior':62 'io':237 'j1':195,510 'j10':310 'j11':305 'j2':512 'j3':143 'j8':144 'jp1':282 'jumper':281 'k':503 'keep':146,182 'layer':265,543,561,567,571,577,580,582 'lcd':66,362 'least':155 'like':162,356 'line':208 'low':189 'm':446 'm1':139 'm6':140 'main':190,439 'mainten':176,487 'match':339 'mayb':34 'mcu':127,234,288,416,505 'might':28 'mil':552,559 'mm':550,557 'model':500,508 'moment':386 'monitor':129 'most':86,244 'motor':137,201,382,454 'mount':249,271,311 'necessari':373 'need':329 'new':338 'number':172 'old':74 'one':117,303,354,437 'onto':490 'origin':90 'orthograph':527,531 'outer':520 'oz':449 'pcb':19,541,565,575 'piec':396 'plastic':398 'plenti':254 'pokey':279 'popul':407 'post':3 'power':191,440 'preexist':248 'primari':121 'product':103 'ps1':205 'pullup':411 'purpos':52 'push':485 'quirk':83 'r/printedcircuitboard':8 'r1':401 'r2':403 'rate':422 'reason':177,457 'refer':545 'regard':374 'regul':224 'relay':42,204,216,502 'render':495 'replac':70,298,332 'request':11 'resistor':412 'review':10,318 'run':163,468 'scenario':123 'schemat':536,537 'screen':67 'sensor':63 'silkscreen':569 'similar':6,304 'simpl':184 'sinc':13 'singl':116 'sixth':392 'size':242 'slot':393 'slow':367 'smart':480 'solut':482 'space':256 'spark':35 'speed':347 'spi':358 'stand':516 'stand-in':515 'start':78 'station':61,132,324,327 'step':226 'structur':5 'summer':157 'suppli':193,286 'swap':335 'switch':223 'temperatur':149 'thickest':546 'thinnest':553 'thought':25 'tight':280 'time':158 'trace':459,547,554 'tri':180 'typic':420 'u1':235 'u2':225 'u3':239 'usag':122 'use':169,447 'v':212,231,294 've':85,179,431 'via':202 'view':528 'voltag':209 'weather':60,131,323 'well':109 'wide':458 'window':47 'within':456 'work':258 'year':73,174 'yet':23"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1695047280
  +visibility: "visible             "
  +apId: "https://discuss.tchncs.de/post/3401691"
  +editedAt: DateTimeImmutable @1695031518 {#75
    date: 2023-09-18 12:05:18.0 +02:00
  }
  +createdAt: DateTimeImmutable @1694982780 {#2415
    date: 2023-09-17 22:33:00.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"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\Entry {#1794
  +user: Proxies\__CG__\App\Entity\User {#1900 …}
  +magazine: App\Entity\Magazine {#289
    +icon: Proxies\__CG__\App\Entity\Image {#270 …}
    +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 {#297
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#261 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
    +entries: Doctrine\ORM\PersistentCollection {#204 …}
    +posts: Doctrine\ORM\PersistentCollection {#162 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
    +bans: Doctrine\ORM\PersistentCollection {#141 …}
    +reports: Doctrine\ORM\PersistentCollection {#127 …}
    +badges: Doctrine\ORM\PersistentCollection {#105 …}
    +logs: Doctrine\ORM\PersistentCollection {#95 …}
    +awards: Doctrine\ORM\PersistentCollection {#84 …}
    +categories: Doctrine\ORM\PersistentCollection {#71 …}
    -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 {#298
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#292
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1916 …}
  +slug: "PCB-Design-Review-Request-ESP32-Smart-Relay-Board"
  +title: "PCB Design Review Request: ESP32 Smart Relay Board"
  +url: null
  +body: """
    Hi, this post is structured similarly to r/PrintedCircuitBoard 's review request format. Since we don’t have any PCB communities over here yet, I thought that this might fit in here and can maybe spark some friendly discussion.\n
    \n
    This is a relay board controlling electrically driven windows and blinds. For this purpose it has some additional connectors to a weather station, interior sensors and an LCD screen.\n
    \n
    It is replacing a ~20 year old board that has started to develop some annoying quirks. I’ve mostly copied what the original board did and adjusted it for the ESP32. This is not a production board and if all goes well, I will only ever assemble a single one of these.\n
    \n
    The primary usage scenario is that the MCU will monitor the weather station and then actuate the motor groups (M1 - M6 connected on `J3` - `J8`) to keep the indoors temperature and humidity in check.\n
    \n
    At least during summer time the board will likely run 24/7 and will hopefully be used for a number of years. For maintenance reasons I’ve tried to keep it simple and the component count low.\n
    \n
    Mains power is supplied from `J1` and being fed to the motors via the relays. `PS1` converts the line voltage to +5V DC for the relay coils and some auxiliary components. The switching regulator `U2` steps that down to +3.3V for the MCU `U1` and IO Expander `U3`.\n
    \n
    The board size is mostly constrained by the preexisting mounting holes which gives me plenty of space to work with even with just a 2 layer board. The enclosure containing the mounts is installed indoors and is finger-pokey-tight.\n
    \n
    Jumper `JP1` allows me to supply the MCU devkit daughter board with +5V, should I ever replace it with a different one. Similarly `J11` exists for future expansion.\n
    \n
    `J10` mounts another daughter board (not included in review) facilitating communications with the weather station. Should the station ever need to be replaced I can swap in a new, matching board.\n
    \n
    There aren’t any high-speed connections on the board. The fastest one is likely the SPI connection to the LCD controller but I can slow it down in firmware if necessary.\n
    \n
    Regarding the DNP components: There are only 5 motors installed at the moment so I will cover the sixth slot with a piece of plastic for now. `R1` and `R2` will only be populated if the 10k pullup resistors integrated into the MCU are insufficient for typical baud rates.\n
    \n
    While it is not the first board I’ve designed, it is the first one carrying mains power (European grid 230V@50Hz). I’m using 2 oz copper to accommodate the motor currents within reasonably wide traces.\n
    \n
    In case anyone is interested, it will be running the ESPHome firmware to easily integrate with the Home-Assistant smart home solution. This also pushes firmware maintenance from me onto the ESPHome devs.\n
    \n
    3D render from front (no 3D model for relays `K**` and MCU board; 3D model for `J1` and `J2` is a stand-in of same outer dimensions): ![3D Front](https://discuss.tchncs.de/pictrs/image/e10e7dc8-b4af-4500-8892-b720fc872521.png)\n
    \n
    Orthographic view from front: ![Orthographic Front](https://discuss.tchncs.de/pictrs/image/1bc119bd-4eca-49d1-9985-72491ed37276.png)\n
    \n
    Schematic:\n
    \n
    ![Schematic](https://discuss.tchncs.de/pictrs/image/9ae85da3-3d33-4e58-b616-47c427a9dadb.png)\n
    \n
    PCB All layers (For reference: thickest traces are 2.5 mm / ~98.4 mils; thinnest traces are 0.25 mm / ~9.84 mils): ![All layers](https://discuss.tchncs.de/pictrs/image/acbcd718-af07-499b-a7c6-af473b2bb7d1.png)\n
    \n
    PCB Front layers excluding Silkscreen: ![Front layers](https://discuss.tchncs.de/pictrs/image/59d2d309-567c-4827-bc0d-56cccf5e37d1.png)\n
    \n
    PCB Back layers + Front Fab layer: ![Back layers](https://discuss.tchncs.de/pictrs/image/45aad0ae-f5a7-48d9-b4ec-ed2e70903c00.png)
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 6
  +favouriteCount: 18
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1695038978 {#1861
    date: 2023-09-18 14:09:38.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1947 …}
  +votes: Doctrine\ORM\PersistentCollection {#1893 …}
  +reports: Doctrine\ORM\PersistentCollection {#2388 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1397 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1371 …}
  +badges: Doctrine\ORM\PersistentCollection {#1379 …}
  +children: []
  -id: 2246
  -titleTs: "'board':8 'design':2 'esp32':5 'pcb':1 'relay':7 'request':4 'review':3 'smart':6"
  -bodyTs: "'+3.3':230 '+5':211,293 '/pictrs/image/1bc119bd-4eca-49d1-9985-72491ed37276.png)':535 '/pictrs/image/45aad0ae-f5a7-48d9-b4ec-ed2e70903c00.png)':585 '/pictrs/image/59d2d309-567c-4827-bc0d-56cccf5e37d1.png)':574 '/pictrs/image/9ae85da3-3d33-4e58-b616-47c427a9dadb.png)':540 '/pictrs/image/acbcd718-af07-499b-a7c6-af473b2bb7d1.png)':564 '/pictrs/image/e10e7dc8-b4af-4500-8892-b720fc872521.png)':526 '0.25':556 '10k':410 '2':264,448 '2.5':549 '20':72 '230v':443 '24/7':164 '3d':494,499,507,522 '5':381 '50hz':444 '9.84':558 '98.4':551 'accommod':452 'actuat':135 'addit':56 'adjust':94 'allow':283 'also':484 'annoy':82 'anoth':312 'anyon':462 'aren':342 'assembl':114 'assist':479 'auxiliari':220 'back':576,581 'baud':421 'blind':49 'board':43,75,91,104,160,241,266,291,314,340,351,429,506 'carri':438 'case':461 'check':153 'coil':217 'communic':320 'communiti':20 'compon':187,221,377 'connect':141,348,359 'connector':57 'constrain':245 'contain':269 'control':44,363 'convert':206 'copi':87 'copper':450 'count':188 'cover':390 'current':455 'daughter':290,313 'dc':213 'design':432 'dev':493 'develop':80 'devkit':289 'differ':302 'dimens':521 'discuss':38 'discuss.tchncs.de':525,534,539,563,573,584 'discuss.tchncs.de/pictrs/image/1bc119bd-4eca-49d1-9985-72491ed37276.png)':533 'discuss.tchncs.de/pictrs/image/45aad0ae-f5a7-48d9-b4ec-ed2e70903c00.png)':583 'discuss.tchncs.de/pictrs/image/59d2d309-567c-4827-bc0d-56cccf5e37d1.png)':572 'discuss.tchncs.de/pictrs/image/9ae85da3-3d33-4e58-b616-47c427a9dadb.png)':538 'discuss.tchncs.de/pictrs/image/acbcd718-af07-499b-a7c6-af473b2bb7d1.png)':562 'discuss.tchncs.de/pictrs/image/e10e7dc8-b4af-4500-8892-b720fc872521.png)':524 'dnp':376 'driven':46 'easili':473 'electr':45 'enclosur':268 'esp32':98 'esphom':470,492 'european':441 'even':260 'ever':113,297,328 'exclud':568 'exist':306 'expand':238 'expans':309 'fab':579 'facilit':319 'fastest':353 'fed':198 'finger':278 'finger-pokey-tight':277 'firmwar':371,471,486 'first':428,436 'fit':29 'format':12 'friend':37 'front':497,523,530,532,566,570,578 'futur':308 'give':252 'goe':108 'grid':442 'group':138 'hi':1 'high':346 'high-spe':345 'hole':250 'home':478,481 'home-assist':477 'hope':167 'humid':151 'includ':316 'indoor':148,274 'instal':273,383 'insuffici':418 'integr':413,474 'interest':464 'interior':62 'io':237 'j1':195,510 'j10':310 'j11':305 'j2':512 'j3':143 'j8':144 'jp1':282 'jumper':281 'k':503 'keep':146,182 'layer':265,543,561,567,571,577,580,582 'lcd':66,362 'least':155 'like':162,356 'line':208 'low':189 'm':446 'm1':139 'm6':140 'main':190,439 'mainten':176,487 'match':339 'mayb':34 'mcu':127,234,288,416,505 'might':28 'mil':552,559 'mm':550,557 'model':500,508 'moment':386 'monitor':129 'most':86,244 'motor':137,201,382,454 'mount':249,271,311 'necessari':373 'need':329 'new':338 'number':172 'old':74 'one':117,303,354,437 'onto':490 'origin':90 'orthograph':527,531 'outer':520 'oz':449 'pcb':19,541,565,575 'piec':396 'plastic':398 'plenti':254 'pokey':279 'popul':407 'post':3 'power':191,440 'preexist':248 'primari':121 'product':103 'ps1':205 'pullup':411 'purpos':52 'push':485 'quirk':83 'r/printedcircuitboard':8 'r1':401 'r2':403 'rate':422 'reason':177,457 'refer':545 'regard':374 'regul':224 'relay':42,204,216,502 'render':495 'replac':70,298,332 'request':11 'resistor':412 'review':10,318 'run':163,468 'scenario':123 'schemat':536,537 'screen':67 'sensor':63 'silkscreen':569 'similar':6,304 'simpl':184 'sinc':13 'singl':116 'sixth':392 'size':242 'slot':393 'slow':367 'smart':480 'solut':482 'space':256 'spark':35 'speed':347 'spi':358 'stand':516 'stand-in':515 'start':78 'station':61,132,324,327 'step':226 'structur':5 'summer':157 'suppli':193,286 'swap':335 'switch':223 'temperatur':149 'thickest':546 'thinnest':553 'thought':25 'tight':280 'time':158 'trace':459,547,554 'tri':180 'typic':420 'u1':235 'u2':225 'u3':239 'usag':122 'use':169,447 'v':212,231,294 've':85,179,431 'via':202 'view':528 'voltag':209 'weather':60,131,323 'well':109 'wide':458 'window':47 'within':456 'work':258 'year':73,174 'yet':23"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1695047280
  +visibility: "visible             "
  +apId: "https://discuss.tchncs.de/post/3401691"
  +editedAt: DateTimeImmutable @1695031518 {#75
    date: 2023-09-18 12:05:18.0 +02:00
  }
  +createdAt: DateTimeImmutable @1694982780 {#2415
    date: 2023-09-17 22:33:00.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"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\Entry {#1794
  +user: Proxies\__CG__\App\Entity\User {#1900 …}
  +magazine: App\Entity\Magazine {#289
    +icon: Proxies\__CG__\App\Entity\Image {#270 …}
    +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 {#297
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#261 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
    +entries: Doctrine\ORM\PersistentCollection {#204 …}
    +posts: Doctrine\ORM\PersistentCollection {#162 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
    +bans: Doctrine\ORM\PersistentCollection {#141 …}
    +reports: Doctrine\ORM\PersistentCollection {#127 …}
    +badges: Doctrine\ORM\PersistentCollection {#105 …}
    +logs: Doctrine\ORM\PersistentCollection {#95 …}
    +awards: Doctrine\ORM\PersistentCollection {#84 …}
    +categories: Doctrine\ORM\PersistentCollection {#71 …}
    -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 {#298
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#292
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1916 …}
  +slug: "PCB-Design-Review-Request-ESP32-Smart-Relay-Board"
  +title: "PCB Design Review Request: ESP32 Smart Relay Board"
  +url: null
  +body: """
    Hi, this post is structured similarly to r/PrintedCircuitBoard 's review request format. Since we don’t have any PCB communities over here yet, I thought that this might fit in here and can maybe spark some friendly discussion.\n
    \n
    This is a relay board controlling electrically driven windows and blinds. For this purpose it has some additional connectors to a weather station, interior sensors and an LCD screen.\n
    \n
    It is replacing a ~20 year old board that has started to develop some annoying quirks. I’ve mostly copied what the original board did and adjusted it for the ESP32. This is not a production board and if all goes well, I will only ever assemble a single one of these.\n
    \n
    The primary usage scenario is that the MCU will monitor the weather station and then actuate the motor groups (M1 - M6 connected on `J3` - `J8`) to keep the indoors temperature and humidity in check.\n
    \n
    At least during summer time the board will likely run 24/7 and will hopefully be used for a number of years. For maintenance reasons I’ve tried to keep it simple and the component count low.\n
    \n
    Mains power is supplied from `J1` and being fed to the motors via the relays. `PS1` converts the line voltage to +5V DC for the relay coils and some auxiliary components. The switching regulator `U2` steps that down to +3.3V for the MCU `U1` and IO Expander `U3`.\n
    \n
    The board size is mostly constrained by the preexisting mounting holes which gives me plenty of space to work with even with just a 2 layer board. The enclosure containing the mounts is installed indoors and is finger-pokey-tight.\n
    \n
    Jumper `JP1` allows me to supply the MCU devkit daughter board with +5V, should I ever replace it with a different one. Similarly `J11` exists for future expansion.\n
    \n
    `J10` mounts another daughter board (not included in review) facilitating communications with the weather station. Should the station ever need to be replaced I can swap in a new, matching board.\n
    \n
    There aren’t any high-speed connections on the board. The fastest one is likely the SPI connection to the LCD controller but I can slow it down in firmware if necessary.\n
    \n
    Regarding the DNP components: There are only 5 motors installed at the moment so I will cover the sixth slot with a piece of plastic for now. `R1` and `R2` will only be populated if the 10k pullup resistors integrated into the MCU are insufficient for typical baud rates.\n
    \n
    While it is not the first board I’ve designed, it is the first one carrying mains power (European grid 230V@50Hz). I’m using 2 oz copper to accommodate the motor currents within reasonably wide traces.\n
    \n
    In case anyone is interested, it will be running the ESPHome firmware to easily integrate with the Home-Assistant smart home solution. This also pushes firmware maintenance from me onto the ESPHome devs.\n
    \n
    3D render from front (no 3D model for relays `K**` and MCU board; 3D model for `J1` and `J2` is a stand-in of same outer dimensions): ![3D Front](https://discuss.tchncs.de/pictrs/image/e10e7dc8-b4af-4500-8892-b720fc872521.png)\n
    \n
    Orthographic view from front: ![Orthographic Front](https://discuss.tchncs.de/pictrs/image/1bc119bd-4eca-49d1-9985-72491ed37276.png)\n
    \n
    Schematic:\n
    \n
    ![Schematic](https://discuss.tchncs.de/pictrs/image/9ae85da3-3d33-4e58-b616-47c427a9dadb.png)\n
    \n
    PCB All layers (For reference: thickest traces are 2.5 mm / ~98.4 mils; thinnest traces are 0.25 mm / ~9.84 mils): ![All layers](https://discuss.tchncs.de/pictrs/image/acbcd718-af07-499b-a7c6-af473b2bb7d1.png)\n
    \n
    PCB Front layers excluding Silkscreen: ![Front layers](https://discuss.tchncs.de/pictrs/image/59d2d309-567c-4827-bc0d-56cccf5e37d1.png)\n
    \n
    PCB Back layers + Front Fab layer: ![Back layers](https://discuss.tchncs.de/pictrs/image/45aad0ae-f5a7-48d9-b4ec-ed2e70903c00.png)
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 6
  +favouriteCount: 18
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1695038978 {#1861
    date: 2023-09-18 14:09:38.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1947 …}
  +votes: Doctrine\ORM\PersistentCollection {#1893 …}
  +reports: Doctrine\ORM\PersistentCollection {#2388 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1397 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1371 …}
  +badges: Doctrine\ORM\PersistentCollection {#1379 …}
  +children: []
  -id: 2246
  -titleTs: "'board':8 'design':2 'esp32':5 'pcb':1 'relay':7 'request':4 'review':3 'smart':6"
  -bodyTs: "'+3.3':230 '+5':211,293 '/pictrs/image/1bc119bd-4eca-49d1-9985-72491ed37276.png)':535 '/pictrs/image/45aad0ae-f5a7-48d9-b4ec-ed2e70903c00.png)':585 '/pictrs/image/59d2d309-567c-4827-bc0d-56cccf5e37d1.png)':574 '/pictrs/image/9ae85da3-3d33-4e58-b616-47c427a9dadb.png)':540 '/pictrs/image/acbcd718-af07-499b-a7c6-af473b2bb7d1.png)':564 '/pictrs/image/e10e7dc8-b4af-4500-8892-b720fc872521.png)':526 '0.25':556 '10k':410 '2':264,448 '2.5':549 '20':72 '230v':443 '24/7':164 '3d':494,499,507,522 '5':381 '50hz':444 '9.84':558 '98.4':551 'accommod':452 'actuat':135 'addit':56 'adjust':94 'allow':283 'also':484 'annoy':82 'anoth':312 'anyon':462 'aren':342 'assembl':114 'assist':479 'auxiliari':220 'back':576,581 'baud':421 'blind':49 'board':43,75,91,104,160,241,266,291,314,340,351,429,506 'carri':438 'case':461 'check':153 'coil':217 'communic':320 'communiti':20 'compon':187,221,377 'connect':141,348,359 'connector':57 'constrain':245 'contain':269 'control':44,363 'convert':206 'copi':87 'copper':450 'count':188 'cover':390 'current':455 'daughter':290,313 'dc':213 'design':432 'dev':493 'develop':80 'devkit':289 'differ':302 'dimens':521 'discuss':38 'discuss.tchncs.de':525,534,539,563,573,584 'discuss.tchncs.de/pictrs/image/1bc119bd-4eca-49d1-9985-72491ed37276.png)':533 'discuss.tchncs.de/pictrs/image/45aad0ae-f5a7-48d9-b4ec-ed2e70903c00.png)':583 'discuss.tchncs.de/pictrs/image/59d2d309-567c-4827-bc0d-56cccf5e37d1.png)':572 'discuss.tchncs.de/pictrs/image/9ae85da3-3d33-4e58-b616-47c427a9dadb.png)':538 'discuss.tchncs.de/pictrs/image/acbcd718-af07-499b-a7c6-af473b2bb7d1.png)':562 'discuss.tchncs.de/pictrs/image/e10e7dc8-b4af-4500-8892-b720fc872521.png)':524 'dnp':376 'driven':46 'easili':473 'electr':45 'enclosur':268 'esp32':98 'esphom':470,492 'european':441 'even':260 'ever':113,297,328 'exclud':568 'exist':306 'expand':238 'expans':309 'fab':579 'facilit':319 'fastest':353 'fed':198 'finger':278 'finger-pokey-tight':277 'firmwar':371,471,486 'first':428,436 'fit':29 'format':12 'friend':37 'front':497,523,530,532,566,570,578 'futur':308 'give':252 'goe':108 'grid':442 'group':138 'hi':1 'high':346 'high-spe':345 'hole':250 'home':478,481 'home-assist':477 'hope':167 'humid':151 'includ':316 'indoor':148,274 'instal':273,383 'insuffici':418 'integr':413,474 'interest':464 'interior':62 'io':237 'j1':195,510 'j10':310 'j11':305 'j2':512 'j3':143 'j8':144 'jp1':282 'jumper':281 'k':503 'keep':146,182 'layer':265,543,561,567,571,577,580,582 'lcd':66,362 'least':155 'like':162,356 'line':208 'low':189 'm':446 'm1':139 'm6':140 'main':190,439 'mainten':176,487 'match':339 'mayb':34 'mcu':127,234,288,416,505 'might':28 'mil':552,559 'mm':550,557 'model':500,508 'moment':386 'monitor':129 'most':86,244 'motor':137,201,382,454 'mount':249,271,311 'necessari':373 'need':329 'new':338 'number':172 'old':74 'one':117,303,354,437 'onto':490 'origin':90 'orthograph':527,531 'outer':520 'oz':449 'pcb':19,541,565,575 'piec':396 'plastic':398 'plenti':254 'pokey':279 'popul':407 'post':3 'power':191,440 'preexist':248 'primari':121 'product':103 'ps1':205 'pullup':411 'purpos':52 'push':485 'quirk':83 'r/printedcircuitboard':8 'r1':401 'r2':403 'rate':422 'reason':177,457 'refer':545 'regard':374 'regul':224 'relay':42,204,216,502 'render':495 'replac':70,298,332 'request':11 'resistor':412 'review':10,318 'run':163,468 'scenario':123 'schemat':536,537 'screen':67 'sensor':63 'silkscreen':569 'similar':6,304 'simpl':184 'sinc':13 'singl':116 'sixth':392 'size':242 'slot':393 'slow':367 'smart':480 'solut':482 'space':256 'spark':35 'speed':347 'spi':358 'stand':516 'stand-in':515 'start':78 'station':61,132,324,327 'step':226 'structur':5 'summer':157 'suppli':193,286 'swap':335 'switch':223 'temperatur':149 'thickest':546 'thinnest':553 'thought':25 'tight':280 'time':158 'trace':459,547,554 'tri':180 'typic':420 'u1':235 'u2':225 'u3':239 'usag':122 'use':169,447 'v':212,231,294 've':85,179,431 'via':202 'view':528 'voltag':209 'weather':60,131,323 'well':109 'wide':458 'window':47 'within':456 'work':258 'year':73,174 'yet':23"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1695047280
  +visibility: "visible             "
  +apId: "https://discuss.tchncs.de/post/3401691"
  +editedAt: DateTimeImmutable @1695031518 {#75
    date: 2023-09-18 12:05:18.0 +02:00
  }
  +createdAt: DateTimeImmutable @1694982780 {#2415
    date: 2023-09-17 22:33:00.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"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 {#289
  +icon: Proxies\__CG__\App\Entity\Image {#270 …}
  +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 {#297
    date: 2024-10-20 10:40:08.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#261 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#257 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#246 …}
  +entries: Doctrine\ORM\PersistentCollection {#204 …}
  +posts: Doctrine\ORM\PersistentCollection {#162 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#224 …}
  +bans: Doctrine\ORM\PersistentCollection {#141 …}
  +reports: Doctrine\ORM\PersistentCollection {#127 …}
  +badges: Doctrine\ORM\PersistentCollection {#105 …}
  +logs: Doctrine\ORM\PersistentCollection {#95 …}
  +awards: Doctrine\ORM\PersistentCollection {#84 …}
  +categories: Doctrine\ORM\PersistentCollection {#71 …}
  -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 {#298
    date: 2024-09-25 09:01:54.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1687144409 {#292
    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