GET https://kbin.spritesserver.nl/m/askelectronics@discuss.tchncs.de/t/19359/Making-an-old-lamp-smart/votes/down

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.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 {#1799
  +user: Proxies\__CG__\App\Entity\User {#1900 …}
  +magazine: App\Entity\Magazine {#288
    +icon: Proxies\__CG__\App\Entity\Image {#269 …}
    +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 {#296
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#260 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#256 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#245 …}
    +entries: Doctrine\ORM\PersistentCollection {#203 …}
    +posts: Doctrine\ORM\PersistentCollection {#161 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#223 …}
    +bans: Doctrine\ORM\PersistentCollection {#140 …}
    +reports: Doctrine\ORM\PersistentCollection {#126 …}
    +badges: Doctrine\ORM\PersistentCollection {#104 …}
    +logs: Doctrine\ORM\PersistentCollection {#94 …}
    +awards: Doctrine\ORM\PersistentCollection {#83 …}
    +categories: Doctrine\ORM\PersistentCollection {#70 …}
    -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 {#297
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#291
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1916 …}
  +slug: "Making-an-old-lamp-smart"
  +title: "Making an old lamp smart"
  +url: null
  +body: """
    cross-posted from: [lemmy.world/post/9052986](https://lemmy.world/post/9052986)\n
    \n
    > I’ve got an antique lamp that needs a new switch knob, but then scope-creep happened and now I want to “smartify” it. I started off thinking that, since it has a metal body, I’d install a [capacitive touch switch](https://www.amazon.com/Control-Replacement-Function-Dimmable-Incandescent/dp/B095P35P2Q), but now it’s escalated to wanting to put an ESP8266 or ESP32 in it to handle the capacitive sensing, Home Assistant connectivity/control, and maybe even switching to some kind of low-voltage RGBW LED instead of a 120VAC Edison-base bulb (especially since I suspect I’d need some kind of antenna sticking out the top, since the metal lamp body would presumably otherwise block the ESP32’s signal).\n
    > \n
    > The lamp, BTW:\n
    > \n
    > ![](https://i.pinimg.com/originals/70/db/e3/70dbe34d4bf21ce783038375d446955a.jpg)\n
    > \n
    > (Apparently it’s a Genie lamp by Laurel Lamp Company, in case anybody cares. Also, the lamp shown is the same model, but it’s not my picture.)\n
    > \n
    > I’m aware that the “easy” way would probably be to just screw a smart light bulb into the socket and wiring I already have, but (a) I’m picky about both avoiding “clouds” and using FOSS firmware, and I don’t feel like sorting through the junk on Amazon to figure out which ones can be flashed with ESPHome, and more practically (b) that wouldn’t let me turn it on and off just by touching the lamp body, which is what sent me down this rabbit-hole in the first place.\n
    > \n
    > Anyway, I know this sort of thing *can* be done, but I’m not completely sure *how*. I know I could figure it out myself eventually, but I figured it couldn’t hurt to ask for advice in case somebody happens to be able to rattle off part numbers for the whole BOM off the top of their head, or knows exactly the right ESPHome howto to point me towards, or something like that. Any advice is welcome!\n
    > \n
    > (In case it’s relevant: my level of experience is that I programmed an Arduino to run neopixels (WS2812 RGB addressable LEDs) once, I’ve flashed ESPHome on some Sonoff S31 smart switches, and I’m a software engineer by trade but have never worked on anything IoT related professionally.)
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 2
  +favouriteCount: 11
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1702165317 {#1853
    date: 2023-12-10 00:41:57.0 +01: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: 19359
  -titleTs: "'lamp':4 'make':1 'old':3 'smart':5"
  -bodyTs: "'/control-replacement-function-dimmable-incandescent/dp/b095p35p2q),':53 '/originals/70/db/e3/70dbe34d4bf21ce783038375d446955a.jpg)':131 '/post/9052986](https://lemmy.world/post/9052986)':7 '120vac':93 'abl':297 'address':352 'advic':290,329 'alreadi':183 'also':146 'amazon':209 'antenna':108 'antiqu':12 'anybodi':144 'anyth':378 'anyway':254 'appar':132 'arduino':346 'ask':288 'assist':75 'avoid':192 'awar':162 'b':223 'base':96 'block':121 'bodi':43,117,239 'bom':306 'btw':128 'bulb':97,176 'capacit':48,72 'care':145 'case':143,292,333 'cloud':193 'compani':141 'complet':268 'connectivity/control':76 'could':274 'couldn':284 'creep':24 'cross':2 'cross-post':1 'd':45,103 'done':263 'easi':165 'edison':95 'edison-bas':94 'engin':370 'escal':58 'esp32':66,123 'esp8266':64 'especi':98 'esphom':219,318,358 'even':79 'eventu':279 'exact':315 'experi':340 'feel':202 'figur':211,275,282 'firmwar':197 'first':252 'flash':217,357 'foss':196 'geni':136 'got':10 'handl':70 'happen':25,294 'head':312 'hole':249 'home':74 'howto':319 'hurt':286 'i.pinimg.com':130 'i.pinimg.com/originals/70/db/e3/70dbe34d4bf21ce783038375d446955a.jpg)':129 'instal':46 'instead':90 'iot':379 'junk':207 'kind':83,106 'knob':19 'know':256,272,314 'lamp':13,116,127,137,140,148,238 'laurel':139 'led':89,353 'lemmy.world':6 'lemmy.world/post/9052986](https://lemmy.world/post/9052986)':5 'let':227 'level':338 'light':175 'like':203,326 'low':86 'low-voltag':85 'm':161,188,266,367 'mayb':78 'metal':42,115 'model':153 'need':15,104 'neopixel':349 'never':375 'new':17 'number':302 'one':214 'otherwis':120 'part':301 'picki':189 'pictur':159 'place':253 'point':321 'post':3 'practic':222 'presum':119 'probabl':168 'profession':381 'program':344 'put':62 'rabbit':248 'rabbit-hol':247 'rattl':299 'relat':380 'relev':336 'rgb':351 'rgbw':88 'right':317 'run':348 's31':362 'scope':23 'scope-creep':22 'screw':172 'sens':73 'sent':243 'shown':149 'signal':125 'sinc':38,99,113 'smart':174,363 'smartifi':31 'socket':179 'softwar':369 'somebodi':293 'someth':325 'sonoff':361 'sort':204,258 'start':34 'stick':109 'sure':269 'suspect':101 'switch':18,50,80,364 'thing':260 'think':36 'top':112,309 'touch':49,236 'toward':323 'trade':372 'turn':229 'use':195 've':9,356 'voltag':87 'want':29,60 'way':166 'welcom':331 'whole':305 'wire':181 'work':376 'would':118,167 'wouldn':225 'ws2812':350 'www.amazon.com':52 'www.amazon.com/control-replacement-function-dimmable-incandescent/dp/b095p35p2q),':51"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1701567517
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/9052995"
  +editedAt: null
  +createdAt: DateTimeImmutable @1701532017 {#74
    date: 2023-12-02 16:46:57.0 +01: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 {#1799
  +user: Proxies\__CG__\App\Entity\User {#1900 …}
  +magazine: App\Entity\Magazine {#288
    +icon: Proxies\__CG__\App\Entity\Image {#269 …}
    +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 {#296
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#260 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#256 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#245 …}
    +entries: Doctrine\ORM\PersistentCollection {#203 …}
    +posts: Doctrine\ORM\PersistentCollection {#161 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#223 …}
    +bans: Doctrine\ORM\PersistentCollection {#140 …}
    +reports: Doctrine\ORM\PersistentCollection {#126 …}
    +badges: Doctrine\ORM\PersistentCollection {#104 …}
    +logs: Doctrine\ORM\PersistentCollection {#94 …}
    +awards: Doctrine\ORM\PersistentCollection {#83 …}
    +categories: Doctrine\ORM\PersistentCollection {#70 …}
    -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 {#297
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#291
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1916 …}
  +slug: "Making-an-old-lamp-smart"
  +title: "Making an old lamp smart"
  +url: null
  +body: """
    cross-posted from: [lemmy.world/post/9052986](https://lemmy.world/post/9052986)\n
    \n
    > I’ve got an antique lamp that needs a new switch knob, but then scope-creep happened and now I want to “smartify” it. I started off thinking that, since it has a metal body, I’d install a [capacitive touch switch](https://www.amazon.com/Control-Replacement-Function-Dimmable-Incandescent/dp/B095P35P2Q), but now it’s escalated to wanting to put an ESP8266 or ESP32 in it to handle the capacitive sensing, Home Assistant connectivity/control, and maybe even switching to some kind of low-voltage RGBW LED instead of a 120VAC Edison-base bulb (especially since I suspect I’d need some kind of antenna sticking out the top, since the metal lamp body would presumably otherwise block the ESP32’s signal).\n
    > \n
    > The lamp, BTW:\n
    > \n
    > ![](https://i.pinimg.com/originals/70/db/e3/70dbe34d4bf21ce783038375d446955a.jpg)\n
    > \n
    > (Apparently it’s a Genie lamp by Laurel Lamp Company, in case anybody cares. Also, the lamp shown is the same model, but it’s not my picture.)\n
    > \n
    > I’m aware that the “easy” way would probably be to just screw a smart light bulb into the socket and wiring I already have, but (a) I’m picky about both avoiding “clouds” and using FOSS firmware, and I don’t feel like sorting through the junk on Amazon to figure out which ones can be flashed with ESPHome, and more practically (b) that wouldn’t let me turn it on and off just by touching the lamp body, which is what sent me down this rabbit-hole in the first place.\n
    > \n
    > Anyway, I know this sort of thing *can* be done, but I’m not completely sure *how*. I know I could figure it out myself eventually, but I figured it couldn’t hurt to ask for advice in case somebody happens to be able to rattle off part numbers for the whole BOM off the top of their head, or knows exactly the right ESPHome howto to point me towards, or something like that. Any advice is welcome!\n
    > \n
    > (In case it’s relevant: my level of experience is that I programmed an Arduino to run neopixels (WS2812 RGB addressable LEDs) once, I’ve flashed ESPHome on some Sonoff S31 smart switches, and I’m a software engineer by trade but have never worked on anything IoT related professionally.)
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 2
  +favouriteCount: 11
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1702165317 {#1853
    date: 2023-12-10 00:41:57.0 +01: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: 19359
  -titleTs: "'lamp':4 'make':1 'old':3 'smart':5"
  -bodyTs: "'/control-replacement-function-dimmable-incandescent/dp/b095p35p2q),':53 '/originals/70/db/e3/70dbe34d4bf21ce783038375d446955a.jpg)':131 '/post/9052986](https://lemmy.world/post/9052986)':7 '120vac':93 'abl':297 'address':352 'advic':290,329 'alreadi':183 'also':146 'amazon':209 'antenna':108 'antiqu':12 'anybodi':144 'anyth':378 'anyway':254 'appar':132 'arduino':346 'ask':288 'assist':75 'avoid':192 'awar':162 'b':223 'base':96 'block':121 'bodi':43,117,239 'bom':306 'btw':128 'bulb':97,176 'capacit':48,72 'care':145 'case':143,292,333 'cloud':193 'compani':141 'complet':268 'connectivity/control':76 'could':274 'couldn':284 'creep':24 'cross':2 'cross-post':1 'd':45,103 'done':263 'easi':165 'edison':95 'edison-bas':94 'engin':370 'escal':58 'esp32':66,123 'esp8266':64 'especi':98 'esphom':219,318,358 'even':79 'eventu':279 'exact':315 'experi':340 'feel':202 'figur':211,275,282 'firmwar':197 'first':252 'flash':217,357 'foss':196 'geni':136 'got':10 'handl':70 'happen':25,294 'head':312 'hole':249 'home':74 'howto':319 'hurt':286 'i.pinimg.com':130 'i.pinimg.com/originals/70/db/e3/70dbe34d4bf21ce783038375d446955a.jpg)':129 'instal':46 'instead':90 'iot':379 'junk':207 'kind':83,106 'knob':19 'know':256,272,314 'lamp':13,116,127,137,140,148,238 'laurel':139 'led':89,353 'lemmy.world':6 'lemmy.world/post/9052986](https://lemmy.world/post/9052986)':5 'let':227 'level':338 'light':175 'like':203,326 'low':86 'low-voltag':85 'm':161,188,266,367 'mayb':78 'metal':42,115 'model':153 'need':15,104 'neopixel':349 'never':375 'new':17 'number':302 'one':214 'otherwis':120 'part':301 'picki':189 'pictur':159 'place':253 'point':321 'post':3 'practic':222 'presum':119 'probabl':168 'profession':381 'program':344 'put':62 'rabbit':248 'rabbit-hol':247 'rattl':299 'relat':380 'relev':336 'rgb':351 'rgbw':88 'right':317 'run':348 's31':362 'scope':23 'scope-creep':22 'screw':172 'sens':73 'sent':243 'shown':149 'signal':125 'sinc':38,99,113 'smart':174,363 'smartifi':31 'socket':179 'softwar':369 'somebodi':293 'someth':325 'sonoff':361 'sort':204,258 'start':34 'stick':109 'sure':269 'suspect':101 'switch':18,50,80,364 'thing':260 'think':36 'top':112,309 'touch':49,236 'toward':323 'trade':372 'turn':229 'use':195 've':9,356 'voltag':87 'want':29,60 'way':166 'welcom':331 'whole':305 'wire':181 'work':376 'would':118,167 'wouldn':225 'ws2812':350 'www.amazon.com':52 'www.amazon.com/control-replacement-function-dimmable-incandescent/dp/b095p35p2q),':51"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1701567517
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/9052995"
  +editedAt: null
  +createdAt: DateTimeImmutable @1701532017 {#74
    date: 2023-12-02 16:46:57.0 +01: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 {#1799
  +user: Proxies\__CG__\App\Entity\User {#1900 …}
  +magazine: App\Entity\Magazine {#288
    +icon: Proxies\__CG__\App\Entity\Image {#269 …}
    +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 {#296
      date: 2024-10-20 10:40:08.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#260 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#256 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#245 …}
    +entries: Doctrine\ORM\PersistentCollection {#203 …}
    +posts: Doctrine\ORM\PersistentCollection {#161 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#223 …}
    +bans: Doctrine\ORM\PersistentCollection {#140 …}
    +reports: Doctrine\ORM\PersistentCollection {#126 …}
    +badges: Doctrine\ORM\PersistentCollection {#104 …}
    +logs: Doctrine\ORM\PersistentCollection {#94 …}
    +awards: Doctrine\ORM\PersistentCollection {#83 …}
    +categories: Doctrine\ORM\PersistentCollection {#70 …}
    -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 {#297
      date: 2024-09-25 09:01:54.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1687144409 {#291
      date: 2023-06-19 05:13:29.0 +02:00
    }
  }
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#1916 …}
  +slug: "Making-an-old-lamp-smart"
  +title: "Making an old lamp smart"
  +url: null
  +body: """
    cross-posted from: [lemmy.world/post/9052986](https://lemmy.world/post/9052986)\n
    \n
    > I’ve got an antique lamp that needs a new switch knob, but then scope-creep happened and now I want to “smartify” it. I started off thinking that, since it has a metal body, I’d install a [capacitive touch switch](https://www.amazon.com/Control-Replacement-Function-Dimmable-Incandescent/dp/B095P35P2Q), but now it’s escalated to wanting to put an ESP8266 or ESP32 in it to handle the capacitive sensing, Home Assistant connectivity/control, and maybe even switching to some kind of low-voltage RGBW LED instead of a 120VAC Edison-base bulb (especially since I suspect I’d need some kind of antenna sticking out the top, since the metal lamp body would presumably otherwise block the ESP32’s signal).\n
    > \n
    > The lamp, BTW:\n
    > \n
    > ![](https://i.pinimg.com/originals/70/db/e3/70dbe34d4bf21ce783038375d446955a.jpg)\n
    > \n
    > (Apparently it’s a Genie lamp by Laurel Lamp Company, in case anybody cares. Also, the lamp shown is the same model, but it’s not my picture.)\n
    > \n
    > I’m aware that the “easy” way would probably be to just screw a smart light bulb into the socket and wiring I already have, but (a) I’m picky about both avoiding “clouds” and using FOSS firmware, and I don’t feel like sorting through the junk on Amazon to figure out which ones can be flashed with ESPHome, and more practically (b) that wouldn’t let me turn it on and off just by touching the lamp body, which is what sent me down this rabbit-hole in the first place.\n
    > \n
    > Anyway, I know this sort of thing *can* be done, but I’m not completely sure *how*. I know I could figure it out myself eventually, but I figured it couldn’t hurt to ask for advice in case somebody happens to be able to rattle off part numbers for the whole BOM off the top of their head, or knows exactly the right ESPHome howto to point me towards, or something like that. Any advice is welcome!\n
    > \n
    > (In case it’s relevant: my level of experience is that I programmed an Arduino to run neopixels (WS2812 RGB addressable LEDs) once, I’ve flashed ESPHome on some Sonoff S31 smart switches, and I’m a software engineer by trade but have never worked on anything IoT related professionally.)
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 2
  +favouriteCount: 11
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1702165317 {#1853
    date: 2023-12-10 00:41:57.0 +01: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: 19359
  -titleTs: "'lamp':4 'make':1 'old':3 'smart':5"
  -bodyTs: "'/control-replacement-function-dimmable-incandescent/dp/b095p35p2q),':53 '/originals/70/db/e3/70dbe34d4bf21ce783038375d446955a.jpg)':131 '/post/9052986](https://lemmy.world/post/9052986)':7 '120vac':93 'abl':297 'address':352 'advic':290,329 'alreadi':183 'also':146 'amazon':209 'antenna':108 'antiqu':12 'anybodi':144 'anyth':378 'anyway':254 'appar':132 'arduino':346 'ask':288 'assist':75 'avoid':192 'awar':162 'b':223 'base':96 'block':121 'bodi':43,117,239 'bom':306 'btw':128 'bulb':97,176 'capacit':48,72 'care':145 'case':143,292,333 'cloud':193 'compani':141 'complet':268 'connectivity/control':76 'could':274 'couldn':284 'creep':24 'cross':2 'cross-post':1 'd':45,103 'done':263 'easi':165 'edison':95 'edison-bas':94 'engin':370 'escal':58 'esp32':66,123 'esp8266':64 'especi':98 'esphom':219,318,358 'even':79 'eventu':279 'exact':315 'experi':340 'feel':202 'figur':211,275,282 'firmwar':197 'first':252 'flash':217,357 'foss':196 'geni':136 'got':10 'handl':70 'happen':25,294 'head':312 'hole':249 'home':74 'howto':319 'hurt':286 'i.pinimg.com':130 'i.pinimg.com/originals/70/db/e3/70dbe34d4bf21ce783038375d446955a.jpg)':129 'instal':46 'instead':90 'iot':379 'junk':207 'kind':83,106 'knob':19 'know':256,272,314 'lamp':13,116,127,137,140,148,238 'laurel':139 'led':89,353 'lemmy.world':6 'lemmy.world/post/9052986](https://lemmy.world/post/9052986)':5 'let':227 'level':338 'light':175 'like':203,326 'low':86 'low-voltag':85 'm':161,188,266,367 'mayb':78 'metal':42,115 'model':153 'need':15,104 'neopixel':349 'never':375 'new':17 'number':302 'one':214 'otherwis':120 'part':301 'picki':189 'pictur':159 'place':253 'point':321 'post':3 'practic':222 'presum':119 'probabl':168 'profession':381 'program':344 'put':62 'rabbit':248 'rabbit-hol':247 'rattl':299 'relat':380 'relev':336 'rgb':351 'rgbw':88 'right':317 'run':348 's31':362 'scope':23 'scope-creep':22 'screw':172 'sens':73 'sent':243 'shown':149 'signal':125 'sinc':38,99,113 'smart':174,363 'smartifi':31 'socket':179 'softwar':369 'somebodi':293 'someth':325 'sonoff':361 'sort':204,258 'start':34 'stick':109 'sure':269 'suspect':101 'switch':18,50,80,364 'thing':260 'think':36 'top':112,309 'touch':49,236 'toward':323 'trade':372 'turn':229 'use':195 've':9,356 'voltag':87 'want':29,60 'way':166 'welcom':331 'whole':305 'wire':181 'work':376 'would':118,167 'wouldn':225 'ws2812':350 'www.amazon.com':52 'www.amazon.com/control-replacement-function-dimmable-incandescent/dp/b095p35p2q),':51"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1701567517
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/9052995"
  +editedAt: null
  +createdAt: DateTimeImmutable @1701532017 {#74
    date: 2023-12-02 16:46:57.0 +01: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 {#288
  +icon: Proxies\__CG__\App\Entity\Image {#269 …}
  +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 {#296
    date: 2024-10-20 10:40:08.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#260 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#256 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#245 …}
  +entries: Doctrine\ORM\PersistentCollection {#203 …}
  +posts: Doctrine\ORM\PersistentCollection {#161 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#223 …}
  +bans: Doctrine\ORM\PersistentCollection {#140 …}
  +reports: Doctrine\ORM\PersistentCollection {#126 …}
  +badges: Doctrine\ORM\PersistentCollection {#104 …}
  +logs: Doctrine\ORM\PersistentCollection {#94 …}
  +awards: Doctrine\ORM\PersistentCollection {#83 …}
  +categories: Doctrine\ORM\PersistentCollection {#70 …}
  -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 {#297
    date: 2024-09-25 09:01:54.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1687144409 {#291
    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