nástěnný vypínač s tlačítky a dotykovým displejem. Sonoff NS Panel

www
kiklhorn
Moderátor
Moderátor
Příspěvky: 901
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 107 poděkování
Dostal poděkování: 210 poděkování

nástěnný vypínač s tlačítky a dotykovým displejem. Sonoff NS Panel

Příspěvek od kiklhorn »

Jen rychlý odkaz dokud se dá pořídit levně:


Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

kiklhorn
Moderátor
Moderátor
Příspěvky: 901
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 107 poděkování
Dostal poděkování: 210 poděkování

Re: nástěnný vypínač s tlačítky a dotykovým displejem. Sonoff NS Panel

Příspěvek od kiklhorn »

Jen doplním hardware = esp32 + Nextion display. Standardně přes eWeLink.

Už ho mají v nabídce na https://www.smart-switch.cz/sonoff/sonoff-nspanel/ za podstatně vyšší cenu.
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3333
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: nástěnný vypínač s tlačítky a dotykovým displejem. Sonoff NS Panel

Příspěvek od Pete30 »

Zde jsou nějaké další informace ohledně vlastního kódu ESPhome ke sledování.
https://community.home-assistant.io/t/s ... ter/332962
Pokud nejsem přítomen tak jsem na rybách ;)

kiklhorn
Moderátor
Moderátor
Příspěvky: 901
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 107 poděkování
Dostal poděkování: 210 poděkování

Re: nástěnný vypínač s tlačítky a dotykovým displejem. Sonoff NS Panel

Příspěvek od kiklhorn »

Panely z Kickstarteru jsou doma, cvičně jsem si jeden hodil pod ESPhome.

Jak ho dostat do ESPhome, třeba i bez pájení:


1) Hardware - Přední panel s displejem jde sundat rukou, je lehce zacvaklý čtyřmi plastovými zoubky.
[spoiler]Pak dva malé křížové šroubky a jsme u elektroniky.
elektronikasonoff.jpg
Je to SonOff a jak je u nich dobrým zvykem nalézá se v něm označené sériové rozhraní do kterého pasuje hřebínek. Ten ale pájet nebudeme.


Použijeme převodník z USB na seriový port a zapojíme jej podle -

Kód: Vybrat vše

panel  <====================> převodník
GPIO0 a GND spojené           GND
RX                            TX
TX                            RX
3v3                           3V3
Na propojení jsem si udělal hřebínek se zkrácenými piny - není třeba je střihat, stačí podržet za umělohmotnou část a zatlačit piny třeba proti stolu.
Dupont kablíky mám kromě jednoho v provedení samička <=> samička, GND je sameček <=> samička kde sameček je přesným způsobem zasunut do zkratovací propojky kde tak drží pevně a samosvorně - detail na obrázku.
dupont.jpg
Tolik k přípravě hardware.[/spoiler]

2) software
Není to moje práce, využil jsem na konci příspěvku odkazované (github) YT videa a soubory.
[spoiler]Pod ESP home, přidat zařízení, v mém případě s názvem kuchyn-nspanel
Konfiguračí soubor:

Kód: Vybrat vše

# Set some variables for convenience
substitutions:
  node_name: kuchyn-nspanel
  device_name: Kuchyně NSPanel
  tft_prefix: !secret tft_prefix

# Note: this may not be needed if the pull request has been merged.
# Check https://github.com/esphome/esphome/pull/2956 for current status.
external_components:
  - source: github://pr#2956
    components: [nextion]
    refresh: 1h

esphome:
  name: $node_name
  comment: $device_name

esp32:
  board: esp32dev

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

# Enable logging
logger:

# Enable wireless updates
ota:

# Enable Home Assistant API
api:
  services:
    # Service to play a song
    - service: play_rtttl
      variables:
        song_str: string
      then:
        - rtttl.play:
            rtttl: !lambda 'return song_str;'
    - service: upload_tft
      then:
        - lambda: 'id(disp1).upload_tft();'
    - service: send_command
      variables:
        cmd: string
      then:
        - lambda: 'id(disp1).send_command_printf("%s", cmd.c_str());'

# Sync the time
time:
  - platform: homeassistant
    id: homeassistant_time
    on_time:
      - seconds: 0
        minutes: '*'
        then:
          - lambda: |-
              auto time_text = id(homeassistant_time).now().strftime("%I:%M%p");
              id(disp1).set_component_text("time", time_text.c_str());

# A reboot button is always useful
button:
  - platform: restart
    name: Restart $device_name
    device_class: restart
  - platform: template
    name: $device_name TFT Upload
    device_class: update
    on_press:
      - lambda: 'id(disp1).upload_tft();'

# Define some inputs
binary_sensor:
  - platform: gpio
    name: $device_name Left Button
    pin:
      number: 14
      inverted: true
    on_release:
      lambda: 'id(disp1).send_command_printf("click wake_btn,0");'

  - platform: gpio
    name: $device_name Right Button
    pin:
      number: 27
      inverted: true
    on_release:
      lambda: 'id(disp1).send_command_printf("click wake_btn,0");'

  - platform: nextion
    name: $device_name On Button
    page_id: 0
    component_id: 2

  - platform: nextion
    name: $device_name Off Button
    page_id: 0
    component_id: 3

  - platform: nextion
    name: $device_name Bright Room Button
    page_id: 0
    component_id: 11

  - platform: nextion
    name: $device_name Bright Bar Button
    page_id: 0
    component_id: 4

  - platform: nextion
    name: $device_name TV On Button
    page_id: 0
    component_id: 8

  - platform: nextion
    name: $device_name TV Off Button
    page_id: 0
    component_id: 9

sensor:
  - platform: wifi_signal
    name: $device_name WiFi Signal
    update_interval: 60s

  - platform: ntc
    id: temperature
    sensor: resistance_sensor
    calibration:
      b_constant: 3950
      reference_temperature: 25°C
      reference_resistance: 10kOhm
    name: $device_name Temperature

  - platform: resistance
    id: resistance_sensor
    sensor: ntc_source
    configuration: DOWNSTREAM
    resistor: 11.2kOhm

  - platform: adc
    id: ntc_source
    pin: 38
    update_interval: 10s
    attenuation: 11db

  # Grab current temperature from Home Assistant
  - platform: homeassistant
    id: current_temperature
    entity_id: weather.ridge_drive
    attribute: temperature
    on_value:
      # Push it to the display
      then:
        - lambda: 'id(disp1).set_component_text_printf("temp", "%.1f ""\xb0""F", x);'

# Define some outputs
switch:
  # The two relays
  - platform: gpio
    name: $device_name Relay 1
    id: relay_1
    pin:
      number: 22
    restore_mode: ALWAYS_ON
  - platform: gpio
    name: $device_name Relay 2
    id: relay_2
    pin:
      number: 19

  # Pin 4 always needs to be on to power up the display
  - platform: gpio
    id: screen_power
    entity_category: config
    pin:
      number: 4
      inverted: true
    restore_mode: ALWAYS_ON

number:
  platform: template
  name: $device_name Brightness
  id: brightness
  entity_category: config
  unit_of_measurement: '%'
  min_value: 0
  max_value: 100
  step: 1
  initial_value: 25
  set_action:
    then:
      - lambda: 'id(disp1).set_backlight_brightness(x/100);'

# Configure the internal bleeper
output:
  - platform: ledc
    id: buzzer_out
    pin:
      number: 21

# Enable ringtone music support
rtttl:
  id: buzzer
  output: buzzer_out

# Configure UART for communicating with the screen
uart:
  id: tf_uart
  tx_pin: 16
  rx_pin: 17
  baud_rate: 115200

# Configure the screen itself
display:
  - platform: nextion
    id: disp1
    uart_id: tf_uart
    tft_url: $tft_prefix/dim-demo.tft
    on_setup:
      then:
        - number.set:
            id: brightness
            value: 25
        - lambda: |-
            id(disp1).set_component_text_printf(
              "temp", "%.1f ""\xb0""F", id(current_temperature).state
            );
        # A little fun...
        - rtttl.play: "startup:d=16,o=5,b=180:c,e,g,c6,8p,c,16p,e,c"

V secrets.yaml - odkaz v pravo nahoře v ESP home, nebo přímo v editoru
mám mj. tři řádky využívané kódem výše:

Kód: Vybrat vše

# Your Wi-Fi SSID and password
wifi_ssid: "NazevWifi"
wifi_password: "HesloKWifi"

tft_prefix: http://MujHomeassistant:8123/local/tft
V HA ve složce www/tft/ mám nahraný soubor dim-demo.tft (opět viz github na konci)
kdejetft.jpg
[/spoiler]
3) Instalace - jedna z možností -
[spoiler]zasunu sériový převodník do USB RPi, z ESPhome kliknu na instalovat, vyberu si RPi na kterém běží HA, a příslušný port.
Mezi tím co se bude kompilovat kód v klidu přiložím hřebínek a počkám až se kód nahraje do ESP v NSPanelu. Pak hřebínek odpojím.
Flashing.jpg
Pokud to proběhlo v pořádku, mohu panel zas seskládat. Případné další flashování již půjde OTA.

Mohu se podívat na log, tentokrát již bezdrátově přes wifi.
FirstLog.jpg
[/spoiler]


Důležité poznámky aneb pokud něco nejde...
- název souboru dim-demo.tft je definován v konfiguračním yaml nspanelu výše
- tamtéž je definována služba upload_tft (lze spustit třeba z vývojářské nástroje, služby)
- dim-demo.tft je zkompilovaný hmi soubor displeje nextion (k displeji se rozepíšu dále), tento konkrétní soubor je pro test stažen z - odkaz na github na konci příspěvku.
- tft_prefix v secrets je definovám webserver na který si po zavolání služby upload_tft sáhne pro soubor dim-demo.tft a nahraje jej do displeje. tzn. webserver může být klidně někde jinde než na vlastním HA
- Otestování dostupnosti souboru pro displej: na vlastním PC do adresního řádku prohlížeče napíšu http://MujHomeassistant:8123/local/tft/dim-demo.tft (což je výše definovaný tft_prefix/soubordispleje.tft) a tento se mi musí stáhnout.
- Pokud mi v síti správně nefunguje překlad názvů tak místo názvu použiji IP adresu
- když něco změním v secrets tak aby se to promítlo do zařízení tak jej musím znovu flashnout...

4) Dotykový displej, inteligentní dotykový displej Nextion není tak úplně displej
[spoiler]Úplně zjednodušeně. Vezměte si papír a nakreslete si na něj své vysněné uživatelské rozhraní.
Tady bude tlačítko, tady vedle malý displej s teplotou, tady posuvník kterým budu nastavovat teplotu, tady ledka, vedle dám tlačítko s displejem co bude odpočítávat čas do výbuchu...
A teď zajděte do dílny a vyrobte si na to krabičku, osaďte nakreslené součástky, připájejte to k ESP modulu...

... a nebo ne. Nainstalujte si Nextion Editor a nakreslete si to v něm. Nakreslíte tlačítko a bude se chovat jako tlačítko, nakreslíte displej a bude se chovat jako displej. A připájené k ESP modulu to už vlastně máme.

OK. Nakreslit, nasimulovat, uložit si pro úpravy ve formátu hmi, uložit zkompilovaný ve formátu tft.
Nahrání tft do displeje už umíme zavoláním služby v HA, a ta navržená tlačítka, displeje a další ovládáme kódem v yaml.
flash_displeje.jpg
[/spoiler]



Zdroj údajů:
Dále odkaz na dvě videa a soubory k nim.
https://github.com/masto/NSPanel-Demo-Files
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3333
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: nástěnný vypínač s tlačítky a dotykovým displejem. Sonoff NS Panel

Příspěvek od Pete30 »

Díval jsem se na ně již kdysi. Ano vypadají pěkně, ale i cena proto jsem je vynechal zatím v mém seznamu :shock:
Pokud nejsem přítomen tak jsem na rybách ;)

kiklhorn
Moderátor
Moderátor
Příspěvky: 901
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 107 poděkování
Dostal poděkování: 210 poděkování

Re: nástěnný vypínač s tlačítky a dotykovým displejem. Sonoff NS Panel

Příspěvek od kiklhorn »

Pete30 píše: 11. leden 2022, 09:02 ale i cena :shock:
Když jsem dával první odkaz tak z Kickstarteru 7.300,- za 6ks s dopravou a řekněme že tak nějak i s DPH. Když bych je dnes objednával na itead.cc tak by vyšly 6ks na 8.700- bez dopravy... A kdybych byl blázen a objednal v CZ tak za 6ks dám 18.000-
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3333
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: nástěnný vypínač s tlačítky a dotykovým displejem. Sonoff NS Panel

Příspěvek od Pete30 »

To mi nedělej, teď si mě trochu zviklal že o nich začínám přemýšlet, no nic uvidíme :roll:
Pokud nejsem přítomen tak jsem na rybách ;)

kiklhorn
Moderátor
Moderátor
Příspěvky: 901
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 107 poděkování
Dostal poděkování: 210 poděkování

Re: nástěnný vypínač s tlačítky a dotykovým displejem. Sonoff NS Panel

Příspěvek od kiklhorn »

Jednoduché zobrazování teplot, načtení hodnot při spuštění, aktualizace při změně hodnoty (on_value).
Násobím je *10 protože jsem použil pro zobrazení Xfloat pole z toolboxu s jedním desetiným místem a holt to takto funguje.
DSC_0609.jpg
[spoiler=kód pro ESPhome]

Kód: Vybrat vše

# Set some variables for convenience
substitutions:
  node_name: kuchyn-nspanel
  device_name: Kuchyně NSPanel
  tft_prefix: !secret tft_prefix

# Note: this may not be needed if the pull request has been merged.
# Check https://github.com/esphome/esphome/pull/2956 for current status.
external_components:
  - source: github://pr#2956
    components: [nextion]
    refresh: 1h

esphome:
  name: $node_name
  comment: $device_name

esp32:
  board: esp32dev

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

# Enable logging
logger:

# Enable wireless updates
ota:

# Enable Home Assistant API
api:
  services:
    # Service to play a song
    - service: play_rtttl
      variables:
        song_str: string
      then:
        - rtttl.play:
            rtttl: !lambda 'return song_str;'
    - service: upload_tft
      then:
        - lambda: 'id(disp1).upload_tft();'
    - service: send_command
      variables:
        cmd: string
      then:
        - lambda: 'id(disp1).send_command_printf("%s", cmd.c_str());'

# Sync the time
time:
  - platform: homeassistant
    id: homeassistant_time
    on_time:
      - seconds: 0
        minutes: '*'
        then:
          - lambda: |-
              auto time_text = id(homeassistant_time).now().strftime("%I:%M%p");
              id(disp1).set_component_text("time", time_text.c_str());

# A reboot button is always useful
button:
  - platform: restart
    name: Restart $device_name
    device_class: restart
  - platform: template
    name: $device_name TFT Upload
    device_class: update
    on_press:
      - lambda: 'id(disp1).upload_tft();'
      

# Define some inputs
binary_sensor:
  - platform: gpio
    name: $device_name Left Button
    pin:
      number: 14
      inverted: true
    on_release:
      - lambda: 'id(disp1).send_command_printf("click wake_btn,0");'
      - switch.toggle: relay_2

  - platform: gpio
    name: $device_name Right Button
    pin:
      number: 27
      inverted: true
    on_release:
      - lambda: 'id(disp1).send_command_printf("click wake_btn,0");'
      - switch.toggle: relay_1

  # - platform: nextion
  #   name: $device_name On Button
  #   page_id: 0
  #   component_id: 2

  # - platform: nextion
  #   name: $device_name Off Button
  #   page_id: 0
  #   component_id: 3

  # - platform: nextion
  #   name: $device_name Bright Room Button
  #   page_id: 0
  #   component_id: 11

  # - platform: nextion
  #   name: $device_name Bright Bar Button
  #   page_id: 0
  #   component_id: 4

  # - platform: nextion
  #   name: $device_name TV On Button
  #   page_id: 0
  #   component_id: 8

  # - platform: nextion
  #   name: $device_name TV Off Button
  #   page_id: 0
  #   component_id: 9

sensor:
  - platform: wifi_signal
    name: $device_name WiFi Signal
    update_interval: 60s

  - platform: ntc
    id: temperature
    sensor: resistance_sensor
    calibration:
      b_constant: 3950
      reference_temperature: 25°C
      reference_resistance: 10kOhm
    name: $device_name Temperature

  - platform: resistance
    id: resistance_sensor
    sensor: ntc_source
    configuration: DOWNSTREAM
    resistor: 11.2kOhm

  - platform: adc
    id: ntc_source
    pin: 38
    update_interval: 10s
    attenuation: 11db

  # Grab current temperature from Home Assistant
  - platform: homeassistant
    id: current_temperature
    entity_id: weather.domov
    attribute: temperature
    on_value:
      # Push it to the display
      then:
        # - lambda: 'id(disp1).set_component_text_printf("temp", "%.1f ""\xb0""C", x);'
        - lambda: 'id(disp1).set_component_value("x6", float(x*10));'
    
  - platform: homeassistant
    id: kuchyne_temperature
    entity_id: sensor.thp_kuchyne_temperature
    on_value:
      then:
        - lambda: 'id(disp1).set_component_value("x0", float(x*10));'
        
  - platform: homeassistant
    id: koupelna_temperature
    entity_id: sensor.thp_koupelna_temperature
    on_value:
      then:
        - lambda: 'id(disp1).set_component_value("x1", float(x*10));'
        
  - platform: homeassistant
    id: loznice_temperature
    entity_id: sensor.thv_loznice_temperature
    on_value:
      then:
        - lambda: 'id(disp1).set_component_value("x2", float(x*10));'

  - platform: homeassistant
    id: wc_temperature
    entity_id: sensor.th_wc_temperature
    on_value:
      then:
        - lambda: 'id(disp1).set_component_value("x3", float(x*10));'

  - platform: homeassistant
    id: predsin_temperature
    entity_id: sensor.pir_predsin_temperature
    on_value:
      then:
        - lambda: 'id(disp1).set_component_value("x4", float(x*10));'
        
  - platform: homeassistant
    id: mrazak_temperature
    entity_id: sensor.thp_mrazak_temperature
    on_value:
      then:
        - lambda: 'id(disp1).set_component_value("x5", float(x*10));'
        

    
# Define some outputs
switch:
  # The two relays
  - platform: gpio
    name: $device_name Relay 1
    id: relay_1
    pin:
      number: 22
    restore_mode: ALWAYS_OFF
  - platform: gpio
    name: $device_name Relay 2
    id: relay_2
    pin:
      number: 19

  # Pin 4 always needs to be on to power up the display
  - platform: gpio
    id: screen_power
    entity_category: config
    pin:
      number: 4
      inverted: true
    restore_mode: ALWAYS_ON

number:
  platform: template
  name: $device_name Brightness
  id: brightness
  entity_category: config
  unit_of_measurement: '%'
  min_value: 0
  max_value: 100
  step: 1
  initial_value: 25
  set_action:
    then:
      - lambda: 'id(disp1).set_backlight_brightness(x/100);'

# Configure the internal bleeper
output:
  - platform: ledc
    id: buzzer_out
    pin:
      number: 21

# Enable ringtone music support
rtttl:
  id: buzzer
  output: buzzer_out

# Configure UART for communicating with the screen
uart:
  id: tf_uart
  tx_pin: 16
  rx_pin: 17
  baud_rate: 115200

# Configure the screen itself
display:
  - platform: nextion
    id: disp1
    uart_id: tf_uart
    tft_url: $tft_prefix/prvni.tft
    on_setup:
      then:
        - number.set:
            id: brightness
            value: 75
        # - lambda: |-
        #     id(disp1).set_component_text_printf("temp", "%.1f ""\xb0""C", id(current_temperature).state);
        - lambda: |-
            id(disp1).set_component_value("x0", float(id(kuchyne_temperature).state*10));
            id(disp1).set_component_value("x1", float(id(koupelna_temperature).state*10));
            id(disp1).set_component_value("x2", float(id(loznice_temperature).state*10));
            id(disp1).set_component_value("x3", float(id(wc_temperature).state*10));
            id(disp1).set_component_value("x4", float(id(predsin_temperature).state*10));
            id(disp1).set_component_value("x5", float(id(mrazak_temperature).state*10));
            id(disp1).set_component_value("x6", float(id(current_temperature).state*10));
            
        # A little fun...
        - rtttl.play: "startup:d=16,o=5,b=180:c,e,g,c6,8p,c,16p,e,c"
[/spoiler]

V Nextion Editor pro EU verzi NS panelu - typ displeje: NX4832F035_011, rotace 270°
Pravá strana displeje (stejný v US verzi) je schována pod nakresleneným rámečkem, takže buď na to myslet nebo barvu odstranit, ale pak by to bylo takové nesymetrické ;)
Editor.jpg
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

lubost
Pokročilý
Pokročilý
Příspěvky: 112
Registrován: 03. duben 2021, 15:19
Dal poděkování: 2 poděkování
Dostal poděkování: 4 poděkování

Re: nástěnný vypínač s tlačítky a dotykovým displejem. Sonoff NS Panel

Příspěvek od lubost »

Je šanca, aby tento vypínač aktuálne pracoval v HA ako ostatné vypínače Sonoff (v aplikácii eWelink a príslušnou integráciou) s tretinovou cenou? ak by sa dala načítať aj teplota daného termostatu, tak by to bol bonus navyše... nemám odvahu zatiaľ ho nejako preflashovať (aktuálne ani nemám možnosti - hw)... skôr čakám, že sa objaví "normálna" integrácia... alebo po Vašich zisteniach to nehrozí a naozaj začať riešiť veci ohľadne nutnosti to preflashovať? asi EspHome, keďže s týmto mám skúsenosti...?

Ľubo

kiklhorn
Moderátor
Moderátor
Příspěvky: 901
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 107 poděkování
Dostal poděkování: 210 poděkování

Re: nástěnný vypínač s tlačítky a dotykovým displejem. Sonoff NS Panel

Příspěvek od kiklhorn »

Mezi doplňkem podporovanými zařízeními jej nevidím - https://appcms-src.coolkit.cn/uncategorized/9213.html (dole na stránce).

Upřímně - ani na chvíli jsem neuvažoval použití něčeho jiného než ESPHome, zvlášť když Sonoff má u všech zařízení co se mi dostaly do ruky vyvedený a označený port pro flashování.

Na flash stačí třeba tohle: https://www.laskakit.cz/esp-prog-v1-0-p ... -esp-01-s/
připojený přímo do HA
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

Odpovědět

Zpět na „Sonoff“