vh
c659fa5020
fix(esphome): correct the record — mDNS advertisement was never removed
...
ha-dev caught a false claim I committed in 687c699 : 'no mDNS advertisement'
and '_esphomebuilder._tcp gone too'. Both wrong. The dashboard is still
advertised; I confirmed it independently with an mDNS PTR query rather than
taking the correction on trust — 331-byte response from 10.0.50.45.
The error was two instruments deep. First, wrong instrument: I inferred a
network fact from a log grep instead of asking the network. Second, the grep
itself was silently truncating — returned 0 for a
line that exists in the full log at 19:03:03 on the current boot, because a
bare time is parsed against a different reference than the displayed
timestamps. A filter that drops your window reports absence indistinguishably
from a real zero.
Re-verified the peer-link conclusion against the FULL log, since it rested on
the same bad grep: 'peer-link site listening' appears at 18:55:22 and 19:01:28
only, both before the 19:03:01 restart, and Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
u_str ESTAB 0 0 /run/systemd/journal/stdout 503187424 * 503225110
u_str ESTAB 0 0 * 321804885 * 321804884
u_dgr ESTAB 0 0 * 520466417 * 25662
u_str ESTAB 0 0 /run/systemd/journal/stdout 502189514 * 502207581
u_str ESTAB 0 0 * 20836 * 15946
u_str ESTAB 0 0 * 364734154 * 364734153
u_str ESTAB 0 0 * 172931544 * 172931545
u_str ESTAB 0 0 * 187891155 * 187891156
u_str ESTAB 0 0 * 520270573 * 520261514
u_str ESTAB 0 0 * 20631 * 25881
u_str ESTAB 0 0 * 172931543 * 172931542
u_dgr ESTAB 0 0 * 16863 * 16864
u_str ESTAB 0 0 * 503210394 * 503205589
u_str ESTAB 0 0 * 248399528 * 248399529
u_str ESTAB 0 0 * 105475370 * 105475371
u_str ESTAB 0 0 * 69011789 * 69011788
u_str ESTAB 0 0 * 3165934 * 3165933
u_str ESTAB 0 0 * 24696 * 20601
u_str ESTAB 0 0 * 2175986 * 2175985
u_str ESTAB 0 0 * 172931558 * 172931559
u_str ESTAB 0 0 * 160801993 * 160801992
u_str ESTAB 0 0 * 18386 * 18385
u_str ESTAB 0 0 * 187891160 * 187891159
u_dgr ESTAB 0 0 * 61008 * 25662
u_str ESTAB 0 0 * 3167752 * 3167753
u_dgr ESTAB 0 0 * 17512 * 25662
u_str ESTAB 0 0 /run/systemd/journal/stdout 20596 * 24684
u_str ESTAB 0 0 * 364734156 * 364734155
u_str ESTAB 0 0 * 172931557 * 172931556
u_str ESTAB 0 0 * 163017376 * 163017377
u_str ESTAB 0 0 * 24671 * 19536
u_str ESTAB 0 0 * 160801991 * 160801990
u_str ESTAB 0 0 * 37642868 * 37642869
u_str ESTAB 0 0 * 535492351 * 535492350
u_str ESTAB 0 0 * 105475367 * 105475366
u_str ESTAB 0 0 * 24705 * 24706
u_str ESTAB 0 0 /run/systemd/journal/stdout 271511134 * 271557694
u_str ESTAB 0 0 * 2175985 * 2175986
u_str ESTAB 0 0 /run/systemd/journal/stdout 15948 * 16931
u_str ESTAB 0 0 * 18328 * 15945
u_str ESTAB 0 0 * 105323726 * 105323727
u_str ESTAB 0 0 * 45403900 * 45403901
u_str ESTAB 0 0 * 527114553 * 527114554
u_str ESTAB 0 0 * 287336311 * 287336310
u_str ESTAB 0 0 * 287354062 * 287354063
u_str ESTAB 0 0 * 105315056 * 105315055
u_str ESTAB 0 0 * 3165933 * 3165934
u_str ESTAB 0 0 * 14493 * 14492
u_str ESTAB 0 0 * 16875 * 24708
u_dgr ESTAB 0 0 * 27435051 * 25664
u_str ESTAB 0 0 * 163017377 * 163017376
u_str ESTAB 0 0 * 505982055 * 505963077
u_str ESTAB 0 0 * 505979226 * 505982036
u_str ESTAB 0 0 * 248399529 * 248399528
u_str ESTAB 0 0 * 51378988 * 51378989
u_str ESTAB 0 0 * 364734155 * 364734156
u_str ESTAB 0 0 * 160777161 * 160777160
u_dgr ESTAB 0 0 * 20583 * 25662
u_str ESTAB 0 0 * 37642870 * 37642871
u_str ESTAB 0 0 * 520270568 * 0
u_str ESTAB 0 0 * 105475368 * 105475369
u_str ESTAB 0 0 * 18990478 * 18991473
u_str ESTAB 0 0 * 4332746 * 4332745
u_str ESTAB 0 0 * 4041751 * 4041752
u_str ESTAB 0 0 * 24684 * 20596
u_str ESTAB 0 0 * 520517051 * 0
u_str ESTAB 0 0 /run/systemd/journal/stdout 321223400 * 321228120
u_dgr ESTAB 0 0 * 28403 * 25662
u_str ESTAB 0 0 * 172931542 * 172931543
u_str ESTAB 0 0 /run/systemd/journal/stdout 15945 * 18328
u_str ESTAB 0 0 * 51378990 * 51378991
u_str ESTAB 0 0 * 364734153 * 364734154
u_str ESTAB 0 0 * 172931561 * 172931560
u_str ESTAB 0 0 * 28400 * 19407
u_str ESTAB 0 0 * 287336310 * 287336311
u_str ESTAB 0 0 /run/containerd/s/11912e5b8985b87f67739888cd3d1796ea228b84682db1a435736131d390e93d 505982036 * 505979226
u_str ESTAB 0 0 * 51378992 * 51378993
u_str ESTAB 0 0 * 163017378 * 163017379
u_str ESTAB 0 0 * 105323728 * 105323729
u_dgr ESTAB 0 0 * 16794 * 16795
u_str ESTAB 0 0 * 502207581 * 502189514
u_str ESTAB 0 0 * 24687 * 20599
u_str ESTAB 0 0 /run/systemd/journal/stdout 61700 * 61004
u_str ESTAB 0 0 /run/dbus/system_bus_socket 24708 * 16875
u_str ESTAB 0 0 * 172931559 * 172931558
u_str ESTAB 0 0 * 18385 * 18386
u_str ESTAB 0 0 * 502207587 * 502207588
u_str ESTAB 0 0 * 2175982 * 2175981
u_str ESTAB 0 0 /run/systemd/journal/stdout 15947 * 24716
u_dgr ESTAB 0 0 /run/systemd/notify 16793 * 0
u_str ESTAB 0 0 * 211929261 * 211929262
u_str ESTAB 0 0 * 505966166 * 505963075
u_str ESTAB 0 0 /home/lkraven/.claude/remote/run/b927d560/rpc.sock 520261514 * 520270573
u_str ESTAB 0 0 * 177602210 * 177602211
u_str ESTAB 0 0 * 160777160 * 160777161
u_str ESTAB 0 0 * 211929262 * 211929261
u_dgr ESTAB 0 0 * 4041742 * 25662
u_str ESTAB 0 0 * 503653921 * 503666646
u_str ESTAB 0 0 * 4041752 * 4041751
u_str ESTAB 0 0 /run/containerd/containerd.sock 503204798 * 503100306
u_str ESTAB 0 0 * 51378991 * 51378990
u_str ESTAB 0 0 /run/systemd/journal/stdout 18991473 * 18990478
u_str ESTAB 0 0 * 2175983 * 2175984
u_str ESTAB 0 0 * 364734152 * 364734151
u_str ESTAB 0 0 * 172931545 * 172931544
u_str ESTAB 0 0 * 160801990 * 160801991
u_dgr ESTAB 0 0 * 16866 * 16865
u_dgr ESTAB 0 0 /run/systemd/journal/dev-log 25662 * 0
u_str ESTAB 0 0 /run/systemd/journal/stdout 503222380 * 503210386
u_str ESTAB 0 0 * 2175981 * 2175982
u_dgr ESTAB 0 0 /run/systemd/journal/socket 25664 * 0
u_str ESTAB 0 0 * 187891158 * 187891157
u_str ESTAB 0 0 * 105323725 * 105323724
u_str ESTAB 0 0 * 271499970 * 271499971
u_str ESTAB 0 0 /run/systemd/journal/stdout 20599 * 24687
u_dgr ESTAB 0 0 * 16865 * 16866
u_str ESTAB 0 0 * 520517939 * 520517938
u_str ESTAB 0 0 * 287354064 * 287354065
u_str ESTAB 0 0 * 105475369 * 105475368
u_str ESTAB 0 0 /run/user/1000/bus 283951 * 286837
u_dgr ESTAB 0 0 * 20620 * 25664
u_str ESTAB 0 0 * 187891159 * 187891160
u_dgr ESTAB 0 0 * 16795 * 16794
u_str ESTAB 0 0 * 211826467 * 211826466
u_str ESTAB 0 0 * 158808 * 158807
u_str ESTAB 0 0 * 24716 * 15947
u_str ESTAB 0 0 /run/docker.sock 505963075 * 505966166
u_str ESTAB 0 0 * 177602211 * 177602210
u_str ESTAB 0 0 * 160777158 * 160777159
u_str ESTAB 0 0 * 37642872 * 37642873
u_str ESTAB 0 0 * 502207588 * 502207587
u_str ESTAB 0 0 * 286837 * 283951
u_str ESTAB 0 0 * 14492 * 14493
u_str ESTAB 0 0 /run/systemd/journal/stdout 20601 * 24696
u_str ESTAB 0 0 * 160801992 * 160801993
u_str ESTAB 0 0 * 409730867 * 409730866
u_str ESTAB 0 0 * 520517938 * 520517939
u_str ESTAB 0 0 * 287354063 * 287354062
u_str ESTAB 0 0 * 271499971 * 271499970
u_str ESTAB 0 0 * 2175984 * 2175983
u_str ESTAB 0 0 /run/systemd/journal/stdout 19536 * 24671
u_dgr ESTAB 0 0 * 57047973 * 16793
u_str ESTAB 0 0 * 45403901 * 45403900
u_str ESTAB 0 0 * 37642869 * 37642868
u_str ESTAB 0 0 * 158807 * 158808
u_str ESTAB 0 0 * 61004 * 61700
u_str ESTAB 0 0 /run/containerd/s/642d2e2cfa9c2dce9b0a7f5d1300cbf425c4ebf5c4725e1fe426333f34172e6f 503666646 * 503653921
u_str ESTAB 0 0 * 503225110 * 503187424
u_str ESTAB 0 0 * 3164605 * 3164606
u_str ESTAB 0 0 * 535492350 * 535492351
u_str ESTAB 0 0 * 527114554 * 527114553
u_str ESTAB 0 0 * 287354067 * 287354066
u_str ESTAB 0 0 * 51378989 * 51378988
u_str ESTAB 0 0 * 265067896 * 265067895
u_str ESTAB 0 0 * 172931546 * 172931547
u_str ESTAB 0 0 * 163017379 * 163017378
u_str ESTAB 0 0 * 187891157 * 187891158
u_str ESTAB 0 0 /run/systemd/journal/stdout 19407 * 28400
u_str ESTAB 0 0 * 535601698 * 535601697
u_str ESTAB 0 0 * 531452134 * 531452135
u_str ESTAB 0 0 * 503100306 * 503204798
u_str ESTAB 0 0 * 503210386 * 503222380
u_str ESTAB 0 0 * 4332745 * 4332746
u_str ESTAB 0 0 * 364734151 * 364734152
u_str ESTAB 0 0 * 172931556 * 172931557
u_str ESTAB 0 0 * 3167753 * 3167752
u_str ESTAB 0 0 * 16931 * 15948
u_dgr ESTAB 0 0 * 153774 * 25662
u_str ESTAB 0 0 * 105323729 * 105323728
u_str ESTAB 0 0 * 535601697 * 535601698
u_str ESTAB 0 0 /run/containerd/containerd.sock.ttrpc 505963077 * 505982055
u_str ESTAB 0 0 * 172931547 * 172931546
u_str ESTAB 0 0 * 105323727 * 105323726
u_dgr ESTAB 0 0 * 16864 * 16863
u_str ESTAB 0 0 * 468781321 * 0
u_str ESTAB 0 0 * 321228120 * 321223400
u_str ESTAB 0 0 * 105475366 * 105475367
u_str ESTAB 0 0 * 535633202 * 535633201
u_dgr ESTAB 0 0 * 30815 * 25662
u_str ESTAB 0 0 * 265067895 * 265067896
u_str ESTAB 0 0 * 177602213 * 177602212
u_str ESTAB 0 0 * 187891156 * 187891155
u_dgr ESTAB 0 0 * 16859 * 25664
u_str ESTAB 0 0 /run/systemd/journal/stdout 15946 * 20836
u_str ESTAB 0 0 * 172931560 * 172931561
u_str ESTAB 0 0 * 321804884 * 321804885
u_str ESTAB 0 0 * 287354065 * 287354064
u_str ESTAB 0 0 /run/dbus/system_bus_socket 25881 * 20631
u_str ESTAB 0 0 * 51378993 * 51378992
u_str ESTAB 0 0 /run/dbus/system_bus_socket 280975 * 286838
u_str ESTAB 0 0 * 37642871 * 37642870
u_str ESTAB 0 0 * 531452135 * 531452134
u_str ESTAB 0 0 * 287354066 * 287354067
u_str ESTAB 0 0 * 211826466 * 211826467
u_str ESTAB 0 0 /run/containerd/containerd.sock 503205589 * 503210394
u_str ESTAB 0 0 * 409730866 * 409730867
u_str ESTAB 0 0 * 105323724 * 105323725
u_str ESTAB 0 0 * 271557694 * 271511134
u_str ESTAB 0 0 * 69011788 * 69011789
u_str ESTAB 0 0 * 286838 * 280975
u_str ESTAB 0 0 * 24706 * 24705
u_str ESTAB 0 0 * 535633201 * 535633202
u_str ESTAB 0 0 * 37642873 * 37642872
u_str ESTAB 0 0 * 105475371 * 105475370
u_str ESTAB 0 0 * 105315055 * 105315056
u_str ESTAB 0 0 * 177602212 * 177602213
u_str ESTAB 0 0 * 160777159 * 160777158
u_str ESTAB 0 0 * 3164606 * 3164605
u_str ESTAB 0 0 * 15925 * 13386
u_str ESTAB 0 0 * 187899267 * 187899268
u_str ESTAB 0 0 * 4489879 * 4489880
u_str ESTAB 0 0 * 321803916 * 321803915
u_str ESTAB 0 0 * 52452825 * 52452826
u_str ESTAB 0 0 /run/systemd/journal/stdout 28383 * 21596
u_str ESTAB 0 0 * 531437601 * 531437600
u_str ESTAB 0 0 * 19420 * 19421
u_str ESTAB 0 0 * 503672006 * 503563060
u_str ESTAB 0 0 * 51388674 * 51388673
u_str ESTAB 0 0 * 25878 * 24711
u_str ESTAB 0 0 * 147394 * 154728
u_str ESTAB 0 0 * 187899271 * 187899272
u_str ESTAB 0 0 * 321803915 * 321803916
u_str ESTAB 0 0 * 249986684 * 249986685
u_str ESTAB 0 0 * 3804253 * 3804252
u_str ESTAB 0 0 * 24408 * 24709
u_str ESTAB 0 0 * 248406427 * 248406426
u_str ESTAB 0 0 * 527128577 * 527128578
u_str ESTAB 0 0 * 318961033 * 318961034
u_str ESTAB 0 0 * 265080194 * 265080193
u_str ESTAB 0 0 * 111082006 * 111088943
u_str ESTAB 0 0 * 19234766 * 19234767
u_str ESTAB 0 0 * 192528046 * 192528045
u_dgr ESTAB 0 0 * 149063 * 25662
u_str ESTAB 0 0 * 520269438 * 520269437
u_str ESTAB 0 0 * 265080189 * 265080190
u_str ESTAB 0 0 * 53881124 * 53881123
u_dgr ESTAB 0 0 * 27429404 * 16793
u_str ESTAB 0 0 * 535470104 * 535470103
u_str ESTAB 0 0 * 192528047 * 192528048
u_str ESTAB 0 0 * 535621794 * 535621795
u_str ESTAB 0 0 * 468766309 * 468766308
u_str ESTAB 0 0 * 265080192 * 265080191
u_str ESTAB 0 0 * 45411693 * 45411692
u_str ESTAB 0 0 * 16086 * 16087
u_dgr ESTAB 0 0 * 321773330 * 25662
u_str ESTAB 0 0 * 531438660 * 531438661
u_str ESTAB 0 0 * 249986680 * 249986681
u_str ESTAB 0 0 * 22636499 * 22636498
u_str ESTAB 0 0 * 535470103 * 535470104
u_str ESTAB 0 0 * 187772975 * 187772974
u_str ESTAB 0 0 /run/systemd/journal/stdout 27035 * 21527
u_str ESTAB 0 0 * 265080193 * 265080194
u_dgr ESTAB 0 0 * 15922 * 15921
u_str ESTAB 0 0 * 10561346 * 0
u_dgr ESTAB 0 0 * 21541 * 21540
u_str ESTAB 0 0 * 187899269 * 187899270
u_str ESTAB 0 0 * 4499989 * 0
u_str ESTAB 0 0 * 248406429 * 248406428
u_str ESTAB 0 0 * 19250299 * 19250298
u_str ESTAB 0 0 * 172954250 * 172954249
u_str ESTAB 0 0 * 37647005 * 37647006
u_dgr ESTAB 0 0 * 15898 * 25662
u_str ESTAB 0 0 * 192528048 * 192528047
u_str ESTAB 0 0 * 25874 * 25873
u_str ESTAB 0 0 * 535590167 * 535590166
u_str ESTAB 0 0 * 249986681 * 249986680
u_str ESTAB 0 0 * 53881123 * 53881124
u_str ESTAB 0 0 * 22636500 * 22636501
u_str ESTAB 0 0 * 19421 * 19420
u_str ESTAB 0 0 * 318989927 * 318989926
u_str ESTAB 0 0 * 192528045 * 192528046
u_str ESTAB 0 0 * 149062 * 148051
u_str ESTAB 0 0 * 527128578 * 527128577
u_str ESTAB 0 0 * 527122038 * 0
u_str ESTAB 0 0 * 341919445 * 341919444
u_str ESTAB 0 0 * 265080190 * 265080189
u_str ESTAB 0 0 * 246588366 * 246588367
u_str ESTAB 0 0 /run/user/1000/zellij/contract_version_1/Claude 527128606 * 527139333
u_str ESTAB 0 0 * 750542 * 750541
u_str ESTAB 0 0 * 57054442 * 57048863
u_str ESTAB 0 0 * 52453681 * 52453682
u_str ESTAB 0 0 * 22636496 * 22636497
u_str ESTAB 0 0 * 150082 * 158811
u_str ESTAB 0 0 * 187899268 * 187899267
u_str ESTAB 0 0 /run/dbus/system_bus_socket 13386 * 15925
u_str ESTAB 0 0 * 52452830 * 52452829
u_str ESTAB 0 0 /run/systemd/journal/stdout 24406 * 18609
u_str ESTAB 0 0 * 52453682 * 52453681
u_str ESTAB 0 0 * 45411694 * 45411695
u_str ESTAB 0 0 * 187772976 * 187772977
u_str ESTAB 0 0 * 531419342 * 531419341
u_str ESTAB 0 0 * 341919444 * 341919445
u_str ESTAB 0 0 * 249986682 * 249986683
u_str ESTAB 0 0 * 321770450 * 321770451
u_str ESTAB 0 0 * 187899270 * 187899269
u_str ESTAB 0 0 * 4489882 * 4489881
u_str ESTAB 0 0 /run/systemd/journal/stdout 111088943 * 111082006
u_str ESTAB 0 0 * 19250298 * 19250299
u_str ESTAB 0 0 /run/systemd/journal/stdout 20604 * 18626
u_str ESTAB 0 0 * 19234767 * 19234766
u_str ESTAB 0 0 * 21596 * 28383
u_dgr ESTAB 0 0 * 468766299 * 25662
u_str ESTAB 0 0 * 52452828 * 52452827
u_str ESTAB 0 0 * 16087 * 16086
u_str ESTAB 0 0 * 750540 * 750539
u_str ESTAB 0 0 * 52452826 * 52452825
u_str ESTAB 0 0 * 535590166 * 535590167
u_str ESTAB 0 0 * 468766308 * 468766309
u_str ESTAB 0 0 * 265080191 * 265080192
u_str ESTAB 0 0 /run/dbus/system_bus_socket 148051 * 149062
u_str ESTAB 0 0 * 527139333 * 527128606
u_str ESTAB 0 0 * 187772979 * 187772978
u_str ESTAB 0 0 * 22636497 * 22636496
u_str ESTAB 0 0 * 18626 * 20604
u_str ESTAB 0 0 * 15887 * 16905
u_str ESTAB 0 0 * 4489878 * 4489877
u_str ESTAB 0 0 * 282025 * 282026
u_str ESTAB 0 0 * 246588367 * 246588366
u_str ESTAB 0 0 * 18609 * 24406
u_str ESTAB 0 0 * 318989926 * 318989927
u_str ESTAB 0 0 * 750541 * 750542
u_str ESTAB 0 0 /run/user/1000/bus 158811 * 150082
u_str ESTAB 0 0 * 25873 * 25874
u_str ESTAB 0 0 * 248406431 * 248406430
u_str ESTAB 0 0 * 531438661 * 531438660
u_str ESTAB 0 0 * 520269437 * 520269438
u_str ESTAB 0 0 * 53881122 * 53881121
u_str ESTAB 0 0 * 45411692 * 45411693
u_str ESTAB 0 0 * 750537 * 750538
u_str ESTAB 0 0 /run/systemd/journal/stdout 16905 * 15887
u_str ESTAB 0 0 * 319149630 * 319149631
u_str ESTAB 0 0 * 187765377 * 187765378
u_str ESTAB 0 0 * 282032 * 282033
u_str ESTAB 0 0 * 22636498 * 22636499
u_str ESTAB 0 0 * 187899272 * 187899271
u_str ESTAB 0 0 * 4489877 * 4489878
u_str ESTAB 0 0 /run/dbus/system_bus_socket 24709 * 24408
u_str ESTAB 0 0 * 52452827 * 52452828
u_str ESTAB 0 0 * 282026 * 282025
u_str ESTAB 0 0 * 249986683 * 249986682
u_str ESTAB 0 0 * 22636501 * 22636500
u_str ESTAB 0 0 * 21527 * 27035
u_dgr ESTAB 0 0 * 520269428 * 25662
u_dgr ESTAB 0 0 * 21540 * 21541
u_str ESTAB 0 0 /run/systemd/journal/stdout 497070283 * 497065485
u_str ESTAB 0 0 * 192528044 * 192528043
u_str ESTAB 0 0 * 4489881 * 4489882
u_str ESTAB 0 0 * 531419341 * 531419342
u_str ESTAB 0 0 * 37647006 * 37647005
u_str ESTAB 0 0 * 45411696 * 45411697
u_str ESTAB 0 0 * 187772978 * 187772979
u_str ESTAB 0 0 * 57050542 * 57045722
u_str ESTAB 0 0 * 4510855 * 4510854
u_str ESTAB 0 0 /run/dbus/system_bus_socket 57048863 * 57054442
u_str ESTAB 0 0 * 53881121 * 53881122
u_dgr ESTAB 0 0 * 527122050 * 25662
u_str ESTAB 0 0 /run/systemd/journal/stdout 57045722 * 57050542
u_str ESTAB 0 0 * 750539 * 750540
u_str ESTAB 0 0 * 282033 * 282032
u_dgr ESTAB 0 0 * 15921 * 15922
u_str ESTAB 0 0 * 321770451 * 321770450
u_str ESTAB 0 0 * 192528043 * 192528044
u_str ESTAB 0 0 * 53881120 * 53881119
u_str ESTAB 0 0 * 187772974 * 187772975
u_str ESTAB 0 0 * 503669018 * 503673885
u_str ESTAB 0 0 * 318961034 * 318961033
u_str ESTAB 0 0 * 53881119 * 53881120
u_str ESTAB 0 0 * 187772977 * 187772976
u_str ESTAB 0 0 * 4510854 * 4510855
u_str ESTAB 0 0 * 52452829 * 52452830
u_str ESTAB 0 0 * 535621795 * 535621794
u_dgr ESTAB 0 0 * 15908 * 25664
u_str ESTAB 0 0 * 4489880 * 4489879
u_str ESTAB 0 0 /run/systemd/journal/stdout 154728 * 147394
u_str ESTAB 0 0 * 249986685 * 249986684
u_str ESTAB 0 0 /run/docker.sock 503563060 * 503672006
u_str ESTAB 0 0 * 319149631 * 319149630
u_str ESTAB 0 0 * 248406426 * 248406427
u_str ESTAB 0 0 * 531437600 * 531437601
u_str ESTAB 0 0 * 142624625 * 142626682
u_str ESTAB 0 0 * 51388673 * 51388674
u_str ESTAB 0 0 * 45411697 * 45411696
u_str ESTAB 0 0 * 248406430 * 248406431
u_str ESTAB 0 0 /run/systemd/journal/stdout 142626682 * 142624625
u_str ESTAB 0 0 /run/containerd/containerd.sock.ttrpc 503673885 * 503669018
u_str ESTAB 0 0 * 3804252 * 3804253
u_str ESTAB 0 0 * 497065485 * 497070283
u_str ESTAB 0 0 * 45411695 * 45411694
u_str ESTAB 0 0 /run/dbus/system_bus_socket 24711 * 25878
u_dgr ESTAB 0 0 * 21536 * 25664
u_str ESTAB 0 0 * 321773321 * 0
u_str ESTAB 0 0 * 750538 * 750537
u_str ESTAB 0 0 * 248406428 * 248406429
u_str ESTAB 0 0 * 187765378 * 187765377
u_str ESTAB 0 0 * 4036771 * 0
u_str ESTAB 0 0 * 172954249 * 172954250
tcp ESTAB 0 0 10.100.10.50:8770 10.0.10.10:61497
tcp ESTAB 0 0 10.100.10.50:40898 160.79.104.10:https
tcp ESTAB 0 0 10.100.10.50:38636 160.79.104.10:https
tcp ESTAB 0 0 10.100.10.50:48192 104.18.32.47:https
tcp ESTAB 0 0 10.100.10.50:40490 104.18.32.47:https
tcp ESTAB 0 0 10.100.10.50:844 10.100.50.50:nfs
tcp ESTAB 0 0 10.100.10.50:34046 160.79.104.10:https
tcp ESTAB 0 0 10.100.10.50:52620 10.100.50.40:8390
tcp ESTAB 0 0 10.100.10.50:51638 70.230.226.88:https
tcp ESTAB 0 0 10.100.10.50:ssh 10.0.10.10:60190
tcp ESTAB 0 0 10.100.10.50:44198 199.165.136.101:https
tcp ESTAB 0 0 10.100.10.50:34048 160.79.104.10:https
tcp ESTAB 0 0 10.100.10.50:52664 10.6.110.50:ssh
tcp ESTAB 0 0 10.100.10.50:36054 160.79.104.10:https
tcp ESTAB 0 0 10.100.10.50:47758 104.18.32.47:https
tcp ESTAB 0 0 10.100.10.50:56154 10.0.10.235:ssh
tcp ESTAB 0 0 10.100.10.50:48002 160.79.104.10:https
tcp ESTAB 0 0 10.100.10.50:48206 34.149.66.165:https
tcp ESTAB 0 0 10.100.10.50:33262 104.18.28.234:https
tcp ESTAB 0 0 10.100.10.50:ssh 10.100.79.2:62737
tcp CLOSE-WAIT 1 0 10.100.10.50:56568 10.250.50.70:4000
tcp ESTAB 0 0 10.100.10.50:38016 160.79.104.10:https
tcp ESTAB 0 0 10.100.10.50:44484 208.111.40.12:https
tcp ESTAB 0 0 10.100.10.50:52610 34.149.66.165:https
tcp ESTAB 0 0 10.100.10.50:ssh 10.100.10.194:51093
tcp ESTAB 0 0 10.100.10.50:58500 160.79.104.10:https
tcp ESTAB 0 0 10.100.10.50:57430 160.79.104.10:https
tcp ESTAB 0 0 10.100.10.50:ssh 38.120.94.3:59226
tcp ESTAB 0 0 10.100.10.50:51558 160.79.104.10:https
tcp ESTAB 0 0 10.100.10.50:57184 160.79.104.10:https
tcp ESTAB 0 0 10.100.10.50:39920 160.79.104.10:https
tcp ESTAB 0 0 10.100.10.50:44666 34.149.66.165:https
tcp ESTAB 0 0 10.100.10.50:ssh 10.0.10.83:49689
tcp ESTAB 0 0 10.100.10.50:54550 38.120.12.44:https
tcp ESTAB 0 0 10.100.10.50:39908 160.79.104.10:https
tcp CLOSE-WAIT 1 0 10.100.10.50:42224 10.250.50.152:http-alt
tcp ESTAB 0 0 10.100.10.50:ssh 10.0.10.10:60814
tcp ESTAB 0 0 [::ffff:10.100.10.50]:45876 [::ffff:10.250.50.70]:49346 shows only 6052. That
conclusion holds — but the log evidence originally cited for it was worthless
and happened to agree.
What is actually still advertised is helpers.dashboard_advertise announcing
_esphomebuilder._tcp.local. at 6052, the auth-gated dashboard, independent of
remote-build. It leaks existence, address, dashboard id, Device Builder and
ESPHome versions and hostname: LAN version fingerprinting, not reachability
into the build subsystem. Left alone deliberately; both the compose comment
and the README now say so, including that an earlier revision claimed
otherwise.
2026-09-14 19:09:27 -07:00
vh
687c6999f3
fix(esphome): actually disable remote-build — two switches, only one closes the port
...
ha-dev found the WS API and tested the read half; this runs the write. But the
command they identified is the wrong half, which is worth recording because the
naming actively misleads.
remote_build/set_offloader_settings {remote_builds_enabled: false}
the OUTBOUND half — this dashboard sending builds to peers.
Persists, reads back false, and leaves the receiver listening.
remote_build/set_settings {enabled: false}
the receiver-side master switch, per ReceiverController.set_settings's
own docstring. Tears the listener down live, no restart needed.
Set both. Verified across a restart: 6055 absent, zero peer-link bind lines,
zero mDNS advertisements, both switches read back false. Persisted at
_remote_build.enabled in /config/.device-builder.json — which did not exist
until the flag was first changed, so 'no on-disk representation' was true only
of the default state.
ESPHOME_REMOTE_BUILD_HOST=127.0.0.1 is KEPT as a backstop rather than removed.
The off state now lives in one JSON file whose in-code default is enabled:True
(controllers/remote_build/_state.py) and whose module's stores soft-recover to
an empty model on a malformed blob rather than erroring — so a lost or corrupt
settings file silently re-enables remote-build. With the env var set, that
regression binds loopback instead of 0.0.0.0.
Also finishes deploy-stack.sh properly. This was patched three times in one
session because -a is -rlptgoD and a non-root identity cannot apply owner,
group, permissions OR times to a root-owned directory; each patch fixed one
letter and the next deploy failed on the next one, every time exiting 23 AFTER
a successful transfer. The rule is now written into the script: the deploy
syncs content, the conventions own metadata. --no-o --no-g --no-perms
--omit-dir-times. Verified: clean run, destination keeps 2775 root:docker with
setgid intact.
2026-09-14 19:05:11 -07:00
vh
8073a6aed9
fix(esphome): bind the remote-build peer-link to loopback; finish the rsync fix
...
ha-dev asked for the Device Builder 1.0.0 remote-build receiver to be turned
off: one instance, builds run locally, so the feature has no role, and it was
binding 0.0.0.0:6055 with mDNS advertisement on a privileged host-network
container that writes firmware to devices.
Reading the source first changed the framing. controllers/remote_build/
_state.py declares 'remote_builds_enabled: bool = True', so nobody enabled it
— it arrived on by default with the rewrite. And the flag has no on-disk
representation until it is changed: neither .device-builder.json nor
.device-builder-preferences.json carries it, and the only writer is the app's
own command API behind the UI. Setting it from a playbook would mean inventing
a schema for a model I have not read.
So this binds ESPHOME_REMOTE_BUILD_HOST=127.0.0.1 — a documented env var, no
entrypoint override — which removes the LAN reachability now and is verifiable
(ss reports 127.0.0.1:6055, was 0.0.0.0:6055). It is explicitly NOT the off
switch ha-dev asked for and the compose comment says so; the Settings toggle
is one UI click and the line can go once someone flips it.
Also completes yesterday's deploy-stack.sh fix, which was half a fix. --no-o
--no-g stopped rsync chgrp-ing a root:docker destination as a non-root
identity, but the very next deploy failed the same way one layer along —
'failed to set times on ...' — because a non-root identity cannot utime() a
root-owned directory either. Same exit 23 after a successful transfer. Added
--omit-dir-times. Fixing only the group half looked fixed until the next run,
which is the whole reason this is worth a line in the script's comment.
2026-09-14 18:55:54 -07:00
vh
d1769ed114
feat(esphome): pin 2026.8.2, relocate config into backup coverage, rotate creds
...
ha-dev requested all three on esh-docker-vm (operator-authorized); the stack
had no canonical copy, so it is added to stacks/ rather than edited in place.
Pinned ghcr.io/esphome/esphome:2026.8.2 — it was bare, which is exactly how it
sat on 2025.8.2 for a year: docker pulled latest once at container creation
(2026-04-20, from a layer cached 2025-08-29) and never re-pulled. Every current
Everything Presence sensor failed config validation on that build. Verified
after: esphome version reports 2026.8.2 and the vendor's own Pro package now
validates clean (exit 0, 'Configuration is valid!'), which is the item that
unblocks the six waiting sensors.
Relocated /path/to/esphome/config (the upstream template placeholder, taken
literally by docker) to /opt/docker/conf/esphome, matching the mosquitto
pattern. Copied and checksum-verified all 5763 files before removing the
original, with a tarball kept at /root/pre-change-archive/.
Credentials moved off test/ChangeMe to the vaulted 32-char secret
(esh-docker-vm/esphome-dashboard), passed via a host-only .env so nothing
plaintext enters git.
Three things the job surfaced that were not in the request:
The directory is 538 MB, not the 3 KB reported — .esphome/platformio is
508 MB of PlatformIO toolchain and .esphome/build another 31 MB, both
regenerable. Relocating as-asked would have inflated restic's /opt/docker
source ~45x against its own ~12 MB budget, so both subtrees are excluded in
/etc/restic/profiles.yaml. The 3 KB of actual config is now covered, which
was the point.
2026.8.2 logs a DEPRECATION for the bare USERNAME/PASSWORD env names and says
they will stop working in a future release — a silent auth loss on some later
bump, on a privileged host-network container that can flash any ESP device on
the LAN. Switched to ESPHOME_USERNAME/ESPHOME_PASSWORD; the warning is gone.
Device Builder 1.0.0 opens a NEW listener on 0.0.0.0:6055 (remote-build
peer-link) that 2025.8.2 did not have.
Also fixes deploy-stack.sh: plain 'rsync -a' makes rsync chgrp the destination
as the deploy identity, which since the 2026-09-14 root:docker normalisation is
not root. It failed with 'Operation not permitted' and exit 23 AFTER
transferring content — a loud error on a deploy that had succeeded. --no-o
--no-g lets the setgid bit assign the group instead.
2026-09-14 18:47:54 -07:00