Termostat w supla-device for linux

User avatar
shimano73
Posts: 2071
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze

Post

Pytanko , czy aktualna biblioteka wspiera już termostaty na beta-cloud'zie? Jeśli tak to jak je ustawić ?
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
User avatar
klew
Posts: 10692
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

shimano73 wrote: Sun Nov 05, 2023 11:59 am Pytanko , czy aktualna biblioteka wspiera już termostaty na beta-cloud'zie? Jeśli tak to jak je ustawić ?
Coś tam na szybko wrzucałem, aby to uruchomić na Linuxie, ale nie pamiętam na ile to było gotowe do działania i czy gdzieś opisałem jak to uruchomić.
Postaram się wrzucić przykład i opis oraz uzupełnić implementację jeśli czegoś brakuje.
Przypomnij się proszę za kilka dni, jeśli do tego czasu nie wrzucę tutaj informacji
User avatar
klew
Posts: 10692
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

shimano73 wrote: Sun Nov 05, 2023 11:59 am Pytanko , czy aktualna biblioteka wspiera już termostaty na beta-cloud'zie? Jeśli tak to jak je ustawić ?
Sam kanał termostatu można dodać tak:

Code: Select all

  - type: Hvac
    cmd_on: "echo 1 > out_hvac_auto_1.txt"
    cmd_off: "echo 0 > out_hvac_auto_1.txt"
    cmd_on_secondary: "echo 1 > out_hvac_auto_2.txt"
    cmd_off_secondary: "echo 0 > out_hvac_auto_2.txt"
    main_thermometer_channel_no: 5
    aux_thermometer_channel_no: 6
    default_function: heat
cmd_on/off to komendy, które sd wykona, gdy termostat ma załączyć/wyłączyć grzanie.
Te "secondary" dotyczą funkcji "THERMOSTAT_AUTO" - ale tego bym jeszcze nie używał, bo to będzie lekko zmieniane.
W main/aux_thermometer_channel_no podajemy numery kanałów termometrów (domyślnych - można to w Cloud przestawić).

Reszta parametrów nie jest jeszcze wystawiona. Spróbuj sobie to uruchomić i daj znać czy działa. Jeśli jakieś parametry potrzebujesz ustawić dodatkowo, to daj znać.
User avatar
shimano73
Posts: 2071
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze

Post

W końcu się za to zabrałem.
w pliku yaml część odpowiedzialna za termostat wygląda to tak

Code: Select all

...
# Termostat
  - type: Hvac
    cmd_on: "echo 0 > /sys/class/gpio/gpio6/value"
    cmd_off: "echo 1 > /sys/class/gpio/gpio6/value"
    # cmd_on_secondary:
    # cmd_off_secondary:
    main_thermometer_channel_no: 1
    aux_thermometer_channel_no: 0
    default_function: heat
nie jestem pewnien do nr kanału , w tej chwili jest wpisany nr kanału czujnika zdefiniowanego w pliku yaml jako drugi, czujnik aux_thermmometr nie jest mi potrzebny.

w cloudzie jest jakiś problem bo wyświetla sie komunikat

Code: Select all

Konfiguracja jeszcze nie jest dostępna. Poczekaj, aż urządzenie się podłączy. 
i kręci się obok kółeczko już jakiś czas, dłuższy czas ;)
Ani w cloudzie ani w aplikacji nie wyświetla mi się temperatura z czujnika
dodam że czujnikiem z kanałi 1 jest czujnik Xiamoi
You do not have the required permissions to view the files attached to this post.
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
User avatar
klew
Posts: 10692
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

shimano73 wrote: Sat Nov 18, 2023 10:52 pm W końcu się za to zabrałem.
w pliku yaml część odpowiedzialna za termostat wygląda to tak
Zaktualizuj sobie źródła, bo masz tam wersję 23.10xx - możliwe, że coś tam źle było
Próbowałem to u siebie zreprodukować, ale mi się nie udało. Jedynie trafiłem na jeden problem gdzie rejestruje się urządzenie z podaniem kanału termometru, który nie istnieje i cloud to traktuje jako błąd i nie da się usunąć takiego urządzenia.
Także jeśli update nie pomoże, to wrzuć proszę cały config yaml, to sprawdzę to u siebie na takim samym i poszukam gdzie jest problem.
User avatar
shimano73
Posts: 2071
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze

Post

klew wrote: Mon Nov 20, 2023 8:11 am
shimano73 wrote: Sat Nov 18, 2023 10:52 pm W końcu się za to zabrałem.
w pliku yaml część odpowiedzialna za termostat wygląda to tak
Zaktualizuj sobie źródła, bo masz tam wersję 23.10xx - możliwe, że coś tam źle było
Próbowałem to u siebie zreprodukować, ale mi się nie udało. Jedynie trafiłem na jeden problem gdzie rejestruje się urządzenie z podaniem kanału termometru, który nie istnieje i cloud to traktuje jako błąd i nie da się usunąć takiego urządzenia.
Także jeśli update nie pomoże, to wrzuć proszę cały config yaml, to sprawdzę to u siebie na takim samym i poszukam gdzie jest problem.
System zaktualizowany

Code: Select all

dariusz@attic:~/supla-device/extras/examples/linux/build $ ./supla-device-linux --version
./supla-device-linux version: 23.11.01
dariusz@attic:~/supla-device/extras/examples/linux/build $

Wynik bez zmian , dodatkowo teraz nie mogę usunąć urządzenia z clouda, ale to chyba inny problem bo na beta mam jeszcze gkw i jego też nie mogę usunąć jest ten sam błąd

moj plik konfiguracyjny

Code: Select all

name: Attic Heating
log_level: debug
state_files_path: "/home/dariusz"
security_level: 2 # disable certyficate verification

supla:
  server:  beta-cloud.supla.org
  mail:  dariuszjszymanski@gmail.com

channels:
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/dariusz/MiTemperature2/A4:C1:38:3F:9C:2C.txt"
      expiration_time_sec: 120
    parser:
      type: Simple
      refresh_time_ms: 5000
    temperature: 0
    humidity: 1
    multiplier_temp: 1
    multiplier_humi: 1
    battery_level: 2
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/dariusz/MiTemperature2/A4:C1:38:6F:70:41.txt"
      expiration_time_sec: 120
    parser:
      type: Simple
      refresh_time_ms: 5000
    temperature: 0
    humidity: 1
    multiplier_temp: 1
    multiplier_humi: 1
    battery_level: 2
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/dariusz/MiTemperature2/A4:C1:38:BA:DA:44.txt"
      expiration_time_sec: 120
    parser:
      type: Simple
      refresh_time_ms: 5000
    temperature: 0
    humidity: 1
    multiplier_temp: 1
    multiplier_humi: 1
    battery_level: 2
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/dariusz/MiTemperature2/A4:C1:38:CD:0D:24.txt"
      expiration_time_sec: 120
    parser:
      type: Simple
      refresh_time_ms: 5000
    temperature: 0
    humidity: 1
    multiplier_temp: 1
    multiplier_humi: 1
    battery_level: 2
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/dariusz/MiTemperature2/A4:C1:38:12:00:D5.txt"
      expiration_time_sec: 120
    parser:
      type: Simple
      refresh_time_ms: 5000
    temperature: 0
    humidity: 1
    multiplier_temp: 1
    multiplier_humi: 1
    battery_level: 2

  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/dariusz/MiTemperature2/A4:C1:38:12:00:D5.txt"
      expiration_time_sec: 120
    parser:
      type: Simple
      refresh_time_ms: 5000
    temperature: 0
    humidity: 1
    multiplier_temp: 1
    multiplier_humi: 1
    battery_level: 2

  - type: BinaryParsed
    name: okno_filip
    state: 0
    parser:
      type: Simple
      refresh_time_ms: 500
    source:
      type: File
      file: "/home/dariusz/Windows/window1.txt"
      expiration_time_sec: 0

  - type: BinaryParsed
    name: okno_maks
    state: 0
    parser:
      type: Simple
      refresh_time_ms: 500
    source:
      type: File
      file: "/home/dariusz/Windows/window2.txt"
      expiration_time_sec: 0

    
# CmdRelay with state kept in memory and stored in storage
  - type: CmdRelay
    name: command_relay_1
    initial_state: restore
    cmd_on: "echo 0 > /sys/class/gpio/gpio5/value"
    cmd_off: "echo 1 > /sys/class/gpio/gpio5/value"
# CmdRelay with state kept in memory and stored in storage
  - type: CmdRelay
    name: command_relay_2
    initial_state: restore
    cmd_on: "echo 0 > /sys/class/gpio/gpio6/value"
    cmd_off: "echo 1 > /sys/class/gpio/gpio6/value"
# CmdRelay with state kept in memory and stored in storage
  - type: CmdRelay
    name: command_relay_3
    initial_state: restore
    cmd_on: "echo 0 > /sys/class/gpio/gpio13/value"
    cmd_off: "echo 1 > /sys/class/gpio/gpio13/value"
# CmdRelay with state kept in memory and stored in storage
  - type: CmdRelay
    name: command_relay_4
    initial_state: restore
    cmd_on: "echo 0 > /sys/class/gpio/gpio16/value"
    cmd_off: "echo 1 > /sys/class/gpio/gpio16/value"
# CmdRelay with state kept in memory and stored in storage
  - type: CmdRelay
    name: command_relay_5
    initial_state: restore
    cmd_on: "echo 0 > /sys/class/gpio/gpio19/value"
    cmd_off: "echo 1 > /sys/class/gpio/gpio19/value"

# Termostaty
  - type: Hvac
    cmd_on: "echo 0 > /sys/class/gpio/gpio6/value"
    cmd_off: "echo 1 > /sys/class/gpio/gpio6/value"
    # cmd_on_secondary:
    # cmd_off_secondary:
    main_thermometer_channel_no: 2
    aux_thermometer_channel_no: 0
    default_function: heat

System zainstalowany na malince Zero W 2
You do not have the required permissions to view the files attached to this post.
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
User avatar
lukfud
Posts: 2314
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa

Post

shimano73 wrote: Mon Nov 20, 2023 10:48 am
A to nie jest tak, że termostat szuka kanału termometru?
Kanał temperatury i wilgotności to nie to samo co sama temperatura.
https://www.facebook.com/groups/supladiy/
User avatar
klew
Posts: 10692
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

shimano73 wrote: Mon Nov 20, 2023 10:48 am Wynik bez zmian , dodatkowo teraz nie mogę usunąć urządzenia z clouda, ale to chyba inny problem bo na beta mam jeszcze gkw i jego też nie mogę usunąć jest ten sam błąd
Ten problem z usuwaniem mi się też pojawił, gdy użyłem w konfiguracji HVAC termometru, który nie istniał.

Trzeba poczekać aż fracz to poprawi, bo inaczej nie da się usunąć urządzenia.
Na GKW to raczej nie powinno wystąpić. Podaj proszę id GKW na beta, to sprawdzimy.

Odnośnie konfiguracji - spróbuj to postawić najpierw na minimalnej konfiguracji, czyli jeden termoemtr i jeden termostat. Jak ruszy, to będzie można tam dodawać dodatkowe kanały.
Jeśli nie używasz "aux" to nie ustawiaj tam "0" na sztywno, bo 0 to poprawny numer kanału. Najlepiej usuń tą linijkę z konfiguracji, to sd4linux samo sobie ustawi, że nie jest używane.
User avatar
klew
Posts: 10692
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

lukfud wrote: Mon Nov 20, 2023 11:03 am
shimano73 wrote: Mon Nov 20, 2023 10:48 am
A to nie jest tak, że termostat szuka kanału termometru?
Kanał temperatury i wilgotności to nie to samo co sama temperatura.
Oba typy kanałów są wspierane przez termostat. Także tam może być termometr lub termometr+wilgotność (patrz GKW :) )
User avatar
Robert Błaszczak
Posts: 4497
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra

Post

A może zamiast

Code: Select all

main_thermometer_channel_no
zaczytywać wartość temperatury bezpośrednio z pliku tekstowego. Np.

Code: Select all

main_thermometer_file
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl

Return to “Supla-device dla Linuxa (sd4linux)”