Integracja z Midea AC

Ah, ok, czyli jeśli w ramach paranoi security zdecyduję się wyciąć urządzenia z sieci/wrzucić w osobny vlan bez dostępu na zewnątrz to skazany jestem na ESP?

Drugim moim wyborem było GREE ale te z kolei kilka dni po wycięciu z chińskiej chmury wyłączają wifi :wink:
(rozwiązaniem dla odmiany jest mockup api serwer, odpowiadający zamiast chmury…)

Czyli muszę zdecydować który “drut” preferuję.

EDIT: Czyli w sumie myląca jest nazwa integracji - zawierająca LAN, co sugerowałoby możliwą pracę bez internetu?

Chodzi o połączenie lokalne do HA który to już jest połączony z Internetem a w raz nim Integracje.

@Integer aż tak nie kombinowałem :sweat_smile: ale wydaje mi się że OSK103 i OSK105 nie będą działały wtedy prawidłowo - chyba że postawisz jakiś fałszywy serwer. Całkowicie lokalnie działają starsze dongle OSK102 (ale sam nie testowałem).

Nazwa myląca - ale gwoli ścisłości część urządzeń działa tam full local.

Ogólnie jak na chmurę działa zaskakująco dobrze, ani razu nie zdarzyło się aby ta chmura padła, nie działało mi tylko wtedy jak Netia padła :stuck_out_tongue:

Jak masz aż takie potrzeby aby działało local to idź w ESP, nie ma co kombinować.

Działają lokalnie, sprawdzone na 2. urządzeniach.

Witam wszystkich! To mój pierwszy post, choć często tu zaglądam. Na początku chciałbym podziękować za to co robicie, za świetny poziom merytoryczny i cierpliwość dla “zielonych” jak ja:)
Home Assistant to moje nowe hobby od jakiegoś miesiąca. Mam klimatyzatory Rotenso, konkretnie model Imoto i26xi/Hiro.
W skrócie: moduł eu-osk105 z zestawu Rotenso działa u mnie lokalnie, bez problemu, z integracją georgezhao2010/midea_ac_lan z HACS, mam też moduły od smartlight.me, które działają, równiez bez problemów, w oparciu o integrację esphome.
Po tygodniu testów “porównawczych”, nie widzę dużej różnicy w działaniu obu modułów. Integracja z HACS jest bardziej rozbudowana, ma więcej encji i to pewnie finalnie przeważy podczas decyzji które moduły zostawić “na produkcji”

klima_salon.json (3,8 KB)
Cześć.
Od niedawna zacząłem swoją przygodę z HA. Czy ktoś może mi doradzić dlaczego nie działa mi moja automatyzacja. Klima nie załącza się, słychać tylko 2 krótkie dźwięki, więc wnioskuje, że zaakceptowała tryb grzania i ustawioną temperaturę, ale nic pozatym się nie dzieje.

Cześć. Zgłasza się świeżak. Mam Rotenso Ukura. Do tego integracja Midea AC Lan. Właściwie to sprawdziłem chyba wszystkie. Ogólnie działa to OK, ale nie mogę sczytać temperatury z pilota. Mam również termometr Bluetooth, który używam w automatyzacji NodeRed do załączania i wyłączania. Szkopuł jest tylko taki, że ustawiłem temperaturę “wymaganą” na 28 stopni (Node Red pilnuje jej na poziomie 23 stopnie. Ustawione mam 28 ponieważ klimatyzator co chwilę się przełaczał na wentylowanie, ponieważ temperatura klimatyzatora wzrastała do 28 stopni. Jak wykorzystać termometr bluetooth aby on wskazywał temperaturę pomieszczenia a nie pilot z funkcją “Follow Me”, bo to działa kiepsko. Pozdrawiam i czeka na rady.

Myślę, że jest to podobny problem, o którym pisałem

1 polubienie

Witam.

Panowie mam jeden problem z ESP a raczej z odpaleniem gdzie indziej. Znajomy poprosił mnie abym mu zakodował i “Stworzył” moduł pod klimatyzację tą co ja mam, czyli Rotenso. okazuje się, że moduł wifi i on i ja mamy ten sam czyli OSK-105, a więc zrobiłem identyczny moduł Esp jak u siebie, zakodowałem i u mnie w domu na mojej sieci wifi moduł i łączył się z routerem i dane wysyłał.

Problem zrodził się u znajomego. Mimo tego, że w kodzie wpisałem !Secrets, aby on jużnic nie kompilował, tylko po prostu odpalił sprzęt. Niestety Moduł ani nie łączy się z jego siecią wifi i nie chce siępołączyć mimo wielu prób, zmian kodu itp…:confused: Kompilować kompiluje wszystko ale wyskakuje błąd jeśli chodzi o łączenie się z siecią wifi u niego.

Przyjrzyjcie się i doradźcie co można by zrobić w tej sytuacji:/ Ja już wszystkiego próbowałem.

Przypisałem adresy IP na sztywno, dhcp w routerze włączone, kombinowałem z kodem. Nic nie robi:/ Macie jakieś rozwiązanie do tego?

tutaj jest kod jaki jest wrzucony do esp:

esphome:
  name: "Klima"

esp8266:
  board: esp01_1m


# Enable Home Assistant API
api:
  password: ""

ota:
  password: ""

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


  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Klima_Hotspot"
    password: !secret wifi_password

captive_portal:


# Disable logging over UART (required)
logger:
  baud_rate: 0

# Enable Web server.
web_server:
  port: 80

# Sync time with Home Assistant.
time:
  - platform: homeassistant
    id: homeassistant_time

# Text sensors with general information.
text_sensor:
  # Expose ESPHome version as sensor.
  - platform: version
    name: klima ESPHome Version
  # Expose WiFi information as sensors.
  - platform: wifi_info
    ip_address:
      name: klima IP
    ssid:
      name: klima SSID
    bssid:
      name: klima BSSID

# Sensors with general information.
sensor:
  # Uptime sensor.
  - platform: uptime
    name: klima Uptime

  # WiFi Signal sensor.
  - platform: wifi_signal
    name: klima WiFi Signal
    update_interval: 60s

# UART settings for Midea dongle (required)
uart:
  tx_pin: 1   # hardware dependant
  rx_pin: 3   # hardware dependant
  baud_rate: 9600

# Main settings
climate:
  - platform: midea
    name: "Midea AC"    # Use a unique name.
    period:  2s                 # Optional
    timeout: 4s                # Optional
    num_attempts: 3       # Optional
    autoconf: true            # Autoconfigure most options.
    beeper: true              # Beep on commands.
    visual:             # Optional. Example of visual settings override.
      min_temperature: 17 °C    # min: 17
      max_temperature: 30 °C    # max: 30
      temperature_step: 1 °C  # min: 0.5

# All capabilities in the section below are detected when autoconf = true:
    supported_modes:    
      - FAN_ONLY
      - HEAT_COOL
      - COOL
      - HEAT
      - DRY
    custom_fan_modes:
      - SILENT
      - TURBO
    supported_presets:  # All capabilities in this section detected by autoconf.
      - ECO
      - BOOST
      - SLEEP
    custom_presets:     # All capabilities in this section detected by autoconf.
      - FREEZE_PROTECTION
    supported_swing_modes:
      - VERTICAL
      - HORIZONTAL
      - BOTH
    #outdoor_temperature:  # Optional. Create outdoor unit temperature sensor (may display incorrect values after long inactivity).
    #  name: "Temp"
    #power_usage:          # Optional. Create power usage sensor (only for devices that support this feature).
    #  name: "Power"
    #humidity_setpoint:    # Optional. Create indoor humidity sensor.
    #  name: "Humidity"

To co masz w secrets zostaje wkompilowane jawnie tzn. to działa jak include, to nie są powiązania dynamiczne (secrets służy tylko do tego żebyś się mógł dzielić YAMLem publicznie bez ujawniania danych wrażliwych).

ale to już powinno wystarczyć, aby urządzenie po nie znalezieniu pasującej sieci wystawiło własny hotspot Klima_Hotspot, z którym się łączysz z dowolnego klienta używając klucza który masz u siebie zdefiniowany w !secret wifi_password (więc wiesz jakie hasło ma podać, bo masz je u siebie, zamiast je ukrywać mogłeś podać puste lub jawne)

wifi:
[...]
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Klima_Hotspot"
    password: !secret wifi_password

captive_portal:

a to że akurat dla hotspota zdefiniowałeś taki sam klucz jak do swojej sieci no to peszek, ale - no cóż - nie musiałeś dublować tego samego klucza.

Nic nie robi bo kumpel pewnie ma inny SSID i inny klucz (hasło do sieci), więc urządzenie nie może się do niejk podłączyć,
Poczekaj aż się uruchomi w trybie hotspota i podaj własne hasło by się zalogować, konfigurujesz pod http://192.168.4.1

Odnośnie fotki z ekranu - kompilowanie u niego jest daremne, bo urządzenia nie ma w sieci LAN, musiałbyś sflaszować po kabelku u niego, bo OTA nie może się udać póki nie masz połączenia ze sprzętem po sieci (a nie masz, bo hasła są złe).

Jeśli chcesz przygotowywać dla kogoś prekompilowane wsady, to trzeba zrobić parę fikołków w YAMLu, przykład masz tu

Dziękuję za odpowiedź. Czyli jak dobrze rozumiem, pasuje przyjść teraz do niego z programatorem i kodować w jego sieci? Czy wystarczy najzwyczajniej wpiąć moduł pod PC i zacząć flashować?

Pamiętam jak u siebie robiłem, to programator tylko raz był mi potrzebny do zrobienia obrazu a później już poszło normalnie.

Wystarczy dać mu własne hasło, które ustawiłeś jako hasło dla hotspota.

Z poziomu hotspota masz (tzn. on ma) możliwość konfiguracji połączenia z WiFi, więc tam ustawi swój SSID i swoje hasło (klucz) do WiFi.

Na tym etapie (po ustawieniu prawidłowych SSID i hasła) urządzenie da się dodać do HA, bo w końcu będzie połączone z LAN kolegi.

I do IDE (dashboardu) ESPHome (no to niezupełnie tak, ale nie wnikamy w szczegóły, po prostu powinno dać się to ogarnąć jeśli dasz mu swojego YAMLa, z którego skompilowałeś aktualny wsad), zacznie też działać OTA.

Dzięki za info ale moduł nie chce wpuścić do siebie (jak jest w trybie AP) ani po moim haśle, ani po kolegi:/

Wkompilowałeś mu jak rozumiem swoje hasło - zdefiniowane dokładnie tu

więc jeśli je znasz to musi działać.
(jak rozumiem kompilowałeś u siebie z dokładnie tego YAMLa, który wrzuciłeś do posta, a nie z jakiegoś innego, jeśli z innego to wrzuć dokładnie to z czego skompilowałeś firmware, to pokażę gdzie szukać tego hasła).

W tym YAML, który wrzuciłeś są dokładnie 2 wystąpienia !secret wifi_password, więc dwukrotnie wskazują na to samo hasło - jeśli sprzęt działał w twojej sieci to jest to hasło również pasujące do twojej sieci, bo powyższe wskazuje 2x na ten sam wpis w secrets.yaml w tym IDE ESPHome, w którym skompilowałeś wsad (czyli u siebie w swojej instalacji, a nie u kogoś).

A jak widać używasz tego samego załączenia tu (gdzie wskazujesz na klucz-hasło do swojego WiFi)


A teraz z innej beczki

Z hotspotem bez internetu większość systemów “mądrzejszych od użytkownika” może nie chcieć się łączyć, więc tu może tkwić problem, no ale to musisz ogarnąć samodzielnie, te durne ustawienia dają się wyłączyć zarówno w ios, adroidzie, windowsie i osx, a o linuxach się nie będę wypowiadał jakkolwiek możliwe, że w wybranych najnowszych desktopowych dystrybucjach też już wprowadzono jakieś “ułatwiacze” to jednak jak dotąd w linuxach nie spotkałem się problemem łączenia do hotspota bez internetu.


Wrócę jeszcze do tego

być może tak będzie dla Ciebie najprościej, to chyba zależy tylko od tego z czym sobie poradzisz, ja widzę przynajmniej kilka alternatywnych rozwiązań tego problemu, ale ze zdecydowanie najprostszym (zalogowanie do hotspota ESP i zmiana ustawień WiFI) sobie nie daliście rady…

Skoro wsad działał poprawnie w Ciebie, to moim zdaniem nie wymaga ponownego programowania. Tylko zmian w ustawieniach w trybie hotspota.

Jeśli skompilujesz u kolegi, który w secrets.yaml (TYM secrets.yaml, które należy do IDE ESPHome, a nie tym które należy do HA!!!) będzie miał wpisane ustawienia dla swojej sieci. to skompilowany wsad binarny będzie INNY (bo jego lokalne załączenia z pliku secrets.yaml będą inne) i będzie zawierał pasujące hasło do jego sieci jako swoje domyślne

A tam nie ma ukrytej sieci wifi ?
Jeśli jest, to pomaga “fast_connect: True”

Pewnie pomaga, tylko

  1. kolegom się nie udało skorzystać z trybu hotspota w gotowym firmware ESPHome

więc problem leży w innym miejscu (może akurat w aktualnym ESPHome mamy np. zwalony tryb hotspota, tylko nikt jeszcze o tym nie wie, bo tego używa się ekstremalnie rzadko? ale niestety próba odtworzenie problemu jest zbyt upierdliwa w realizacji) ja jednak stawiam na to, że to kwestia błędnie wpisywanego hasła.
Być może to hasło zawiera jakieś znaki, które nie powinny się w nim znaleźć (i np. działa tylko gdy jest na sztywno zakodowane - to tylko kolejne szukanie dziury w całym, no ale nie każdy znak jest “zdrowy” do takich zastosowań…), no ale to wie tylko @jar87
Tu może warto przypomineć, że instalacja IDE (dashboardu czy tam środowiska uruchomieniowego ESPHome) nie ma żadnego wpływu na działanie już skompilowanego wsadu.

  1. pomysł na ukrywanie SSID jest w dzisiejszych czasach mocno słaby (nie zwiększa bezpieczeństwa, a utrudnia życie), więc nawet jeśli docelowy użytkownik to stosuje to dużo rozsądniejszym osunięciem jest włączenie widoczności sieci.

Nie ma opcji, esp nie chce wpuścić do hotspota ani poprzez hasło znajomego, ani poprzez moje… No nic, pozostaje zakodować u niego moduł na nowo i tyle…

Pisałem już o tym ze 3 razy - nie ma opcji by użyć hasła znajomego, skoro wkompilowałeś w firmware swoje hasło takie jak masz ustawione tu

de facto zostało wkompilowane takie hasło jakie miałeś tam ustawione w momencie kompilacji i o ile YAML źródłowy był DOKŁADNIE taki jak wrzuciłeś do posta.

Przyczyn można szukać w wielu miejscach, ale mi się już nie chce, bo się czuję jakbym mówił do ściany…

2 razy napisałem, że mojego hasła też nie chce wczytać…

Jest możliwych wiele przyczyn, łącznie z błędem w ESPHome akurat w tej wersji w której akurat kompilowałeś ( jakkolwiek 2024.2.1 działa OK, bo sprawdziłem na podobnym module MCU, ale nie używałem twojego YAMLa!), możliwa usterka sprzętowa (skrajnie nieprawdopodobna, ale jednak możliwa, by akurat w tym miejscu flasha gdzie jest hasło wystąpił błąd i nie został zauważony przy flashowaniu),

Aż po teorię graniczącą z lądowaniem UFO, ale jednak możliwą - choćby, że edytowałeś plik secrets.yaml jakimś windowsowym edytorem i zostały tam jakieś białe znaki, które akurat psim swędem w twojej sieci nie przeszkadzają się połączyć z AP, ale nie da się ich wpisać z klawiatury przy próbie łączenia z hotspotem ESP (choćby dlatego, że ich nawet nie widać, więc o nich nie wiesz)…


Zrób tak jak uważasz za stosowne, to się musi udać naprawić, najsensowniejsze jest podanie w YAMLu jawnych haseł i skompilowanie takiego wsadu (nie będziesz wtedy siał teorii spiskowych, że jest to magicznie wczytywane z IDE ESPHome, bo nie jest).