Vzájemné provázání tlačítek pro volání command line

Nevíte kam vložit svůj příspěvek? Vložte jej sem, najdeme pro něj to správné místo.
Odpovědět
ringo
Aktivní autor
Aktivní autor
Příspěvky: 72
Registrován: 31. říjen 2021, 20:03
Dal poděkování: 4 poděkování
Dostal poděkování: 4 poděkování

Vzájemné provázání tlačítek pro volání command line

Příspěvek od ringo »

Mám tři žaluzie, které ovládám pomocí volání typů command_on:

Kód: Vybrat vše

- platform: command_line
  switches:
    velka_close:
      command_on: "/usr/bin/curl -X GET 	http://192.168.2.21/control?cmd=event,velka_close"
      command_off: "/usr/bin/curl -X GET 	http://192.168.2.21/control?cmd=event,velka_stop"
      friendly_name: velka_close
    velka_open:
      command_on: "/usr/bin/curl -X GET 	http://192.168.2.21/control?cmd=event,velka_open"
      command_off: "/usr/bin/curl -X GET 	http://192.168.2.21/control?cmd=event,velka_stop"
      friendly_name: velka_open
, kde v tom volání jsou kromě výše uvedeného stavu close a open dále stop, pulse 20, pulse 45 – kdy ty pulsy vyvolají krátkodobé otevření aby se ve stažené žaluzii pootočily lamely a částečně propuštěla světlo. Pro ovládání jsem vytvořil mřížku, kdy každý roleta má svůj sloupec kde jsou volání těchto stavů.

Kód: Vybrat vše

square: true
columns: 4
type: grid
cards:
  - type: vertical-stack
    cards:
        type: button
      - show_name: false
        show_icon: true
        type: button
        entity: switch.detsky_close
        icon: mdi:curtains-closed
        name: Close
      - type: button
        show_name: false
        entity: switch.detsky_open
        name: Open
        icon: mdi:blinds-open
      - show_name: false
        show_icon: true
Po stisku se tedy vyvolá příslušný příkaz a tlačítko začne svítit jako aktivní a buď samo doběhne a zobrazuje poslední stav, nebo opětovnýcm stisknutím vyvolám stop a pak tlačítko svítit přestane.
Pokud tedy dám nejprve volbu close tlačítko close je barevně zvýrazněno a vidím že jsem žaluzii zatáhl. Pokud dám open tak se zaktivní tlačítko open, ale z předchozího svítí i tlačítko close.Chtěl bych to nějak provázat aby mi tlačítka zobrazovali aktuální stav (např, u dětí v patře), kdy ten poslední stav „přebije“ ten předchozí.
Začal jsem psát další sadu switchů pomocí switch template, kde mám akce že stisk jiného tlačítka ve skupině vyvolá switch_on příslušného tlačítka a switch_off předchozích.

Kód: Vybrat vše

- platform: template
  switches:
    velka_close_t:
      turn_on:
        - service: switch.turn_off
          target:
            entity_id:
              - switch.velka_open
              - switch.velka_open
              - switch.velka_20
        - service: switch.turn_on
          target:
            entity_id: switch.velka_close
      turn_off:
        - service: script.dummy
      friendly_name: velka_close_t
Asi to bude fungovat, ale přijde mi to ale takové těžkopádné se spoustou zbytečného psaní, tak se raději ptám zkušenějších jestli je nenapadá nějaké elegantnější řešení? Jestli se nedá alespoň nějak skloubit platform template a platform command_line do jedné konfigurace? Nebo jestli na to nejít úplně jinak,

Odpovědět

Zpět na „Nová nezařazená témata“