Stránka 1 z 1

Home assistant programování, syntax

Napsal: ned led 23, 2022 6:44 pm
od Plazivec
Zdarec, snažím se něco naučit a jde to hodně ztuha. Prozatím experimentuju s ESPHome, v rámci toho jsem naprogramoval dva kousky nodemcu.
Jeden umí číst ultrazvukové čidlo, druhý píše na display. Teď stojím před dalším krokem, v rámci kterého chci pochopit práci se sensory a jejich hodnotami, proměnné, deklaraci proměnných a podobný kraviny.
Tady jsou ti dva fešáci:

Ultrazvuk:

nodemcu1.yaml

Kód: Vybrat vše

esphome:
  name: nodemcu1

esp8266:
  board: nodemcuv2

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "09105441c6a0b0e6e205fe5308823b85"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Nodemcu1 Fallback Hotspot"
    password: "VTsGAnrmRXgY"

captive_portal:

sensor:
  - platform: ultrasonic
    trigger_pin: D1
    echo_pin: D2
    name: "Ultrasonic Sensor"
    update_interval: 1s
Display:

lcd.yaml

Kód: Vybrat vše

esphome:
  name: lcd

esp8266:
  board: nodemcuv2

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "2b28b908a5f8c549bfe0728e0839ffdb"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Lcd Fallback Hotspot"
    password: "IQAK8I2EUX6M"

captive_portal:

i2c:
  sda: D2
  scl: D1

display:
  - platform: lcd_pcf8574
    dimensions: 16x2
    address: 0x27
    lambda: |-
      it.print("Nazdar blboune");
IMG_20220123_183805.jpg
IMG_20220123_183805.jpg (1.01 MiB) Zobrazeno 3600 x
No a teďkonc, jak dostat ty hodnoty z toho ultrazvuku do toho displeje?

Re: Home assistant programování, syntax

Napsal: ned led 23, 2022 7:10 pm
od Plazivec
To je taky dobrý, ale já se holt pustil přes HA a tohle je Arduino.
Proč? Protože v Arduinu bych těžko implantoval nějakou databázi jako influx a zaznamenával hodnoty, jako proč infra čidlo spustilo ventilátor výměny vzduchu ve strojovně, jaká byla přitom teplota apod. V HA se udělá čidlo, nechá se ukládat měření a také zároveň rozhodovat akci a přitom třebas v dashboardu blikat červenou, nebo zatroubit vzduchovým klaksónem ve strojovně k evakuaci baráku.

Re: Home assistant programování, syntax

Napsal: ned led 23, 2022 7:37 pm
od Plazivec
ESP v první řade na základě toho yaml vytvoří globální entitu s jedinečným id: sensor.ultrasonic_sensor. V ní se nepřetržitě objevuje naměřená hodnota a s ní pak dál můžeme různým způsobem nakládat. Třebas ji jenom hodit na dashboard do karty, nebo založit rozhodování, tam jsem se ještě nedostal. A nebo zároveň hodit do influxu.

Re: Home assistant programování, syntax

Napsal: ned led 23, 2022 8:38 pm
od Plazivec
Je tam přeci v tom světě jeden malinkatej rozdíl. Dneska všichni chceme, aby jsme do toho mohli vrtat ťukáním na mobilu.A to 0xFFkama nejde.

PS. já kdysi začínal binárním kódem - seděl za děrovačkou a zmršil hromadu papíru při děrování štítků.

Re: Home assistant programování, syntax

Napsal: pon led 24, 2022 12:54 am
od Kodl69
To plativec: zatím toho moc nemáš. Já splácal návody dohromady, a na jednom ESP mám INA3221 a LCD displej, kterj ukazuje proudy, a to dokonce i tehdy, když nemá wifi:

Kód: Vybrat vše

esphome:
  name: batt-current
  platform: ESP8266
  board: d1_mini
  
i2c:
  sda: D1
  scl: D2
  scan: true
  id: bus_a  

# měření proudu 
sensor:
  - platform: ina3221
    address: 0x40
    channel_1:
      shunt_resistance: 0.1 ohm
      current:
        id: akui1
        name: "aku 1 current"
      power:
        name: "aku 1 Power"
      bus_voltage:
        name: "aku 1 Bus Voltage"
      shunt_voltage:
        name: "aku 1 Shunt Voltage"
        
    channel_2:
      shunt_resistance: 0.1 ohm
      current:
        id: akui2
        name: "aku 2 Current"
      power:
        name: "aku 2 Power"
      bus_voltage:
        name: "aku 2 Bus Voltage"
      shunt_voltage:
        name: "aku 2 Shunt Voltage"    
        
    channel_3:
      shunt_resistance: 0.1 ohm
      current:
        id: akui3
        name: "aku 3 Current"
      power:
        name: "aku 3 Power"
      bus_voltage:
        name: "aku 3 Bus Voltage"
      shunt_voltage:
        name: "aku 3 Shunt Voltage"    
    
    update_interval: 6s
    

    
binary_sensor:
  - platform: gpio
    id: button
    device_class: light
    pin:
      number: D3
      mode: INPUT_PULLUP
      inverted: True
    on_press:
      - switch.toggle: fakebutton

switch:
  - platform: template
    name: "Sonoff Basic přepínač"
    optimistic: true
    id: fakebutton
    turn_on_action:
    - switch.turn_on: relay
    - light.turn_on: led
    turn_off_action:
    - switch.turn_off: relay
    - light.turn_off: led
  - platform: gpio
    id: relay
    pin: D7

output:
  - platform: esp8266_pwm
    id: basic_green_led
    pin:
      number: D4
      inverted: True

light:
  - platform: monochromatic
    output: basic_green_led 
    id: led
    

display:
  - platform: lcd_pcf8574
    id: lcdmeter
    dimensions: 20x4
    address: 0x27
    lambda: |-
          it.printf(0,0, "aku 1 %.2f A", id(akui1).state);
          it.printf(0,1, "aku 2 %.2f A", id(akui2).state);
          it.printf(0,2, "aku 3 %.2f A", id(akui3).state);
          if (id(relay).state) {it.printf(0,3, "spinac ON ");
          id(lcdmeter).backlight();
          } else {it.printf(0,3, "spinac OFF") ;
          id(lcdmeter).no_backlight();
          };
  
# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "3d9d788c8608ea7122d17c736e11ab77"

wifi:
  ssid: "mojewifi"
  password: "heslowifi"
  
# Optional manual IP
  manual_ip:
    static_ip: 192.168.1.150
    gateway: 192.168.1.1
    subnet: 255.255.255.0
  
a jako bonus mám spínání jednoho Gpio a zároveň podsvícení displeje, ale to je zatím polotovar.
Potřeboval bych spínat bistabilní relátka, tj jenom 0.5s impulsy na jednom a pro vypnutí zas na jiným pinu, ale na to jsem nikde nenašel návod :)

Re: Home assistant programování, syntax

Napsal: pon led 24, 2022 8:33 am
od Plazivec
No nemám, co nadělám, jsem holt o dost blbější. Nedaří se mi pořád nějak pochopit ten syntax systém a ať dělám co dělám, pořád to na mně řve, že mu chybí dvoutečka, přijdu na to, že to není dvoutečka, ale málo mezer před řádkou, hurá, pak to zařve konflikt s něčím v HA.
Prostě si to na mně zasedlo. To s těma mezera je taková kravina, že to jsem ještě nikde neviděl. A včera jsem musel do práce něco vylaminovat, než jsem se k tomu dostal, tak jsem byl unavenej, že jsem na to už ani neviděl.
Dneska jsem se k tomu posadil s kafe, prásk prásk za 2 minuty to jelo. Jsem o milimetr dál.

Edit, moh bys mě napsat, jaký šunty máš na těch ina3221?

Re: Home assistant programování, syntax

Napsal: pon led 24, 2022 8:50 am
od ringo
Kodl69 píše: pon led 24, 2022 12:54 am Potřeboval bych spínat bistabilní relátka, tj jenom 0.5s impulsy na jednom a pro vypnutí zas na jiným pinu, ale na to jsem nikde nenašel návod :)
Já jsem začínal na Domoticzu (který ESP nemá integrováno v sobě) a pro ESP se tam používá firmware EspEASY. Funguje to trochu jinak - do ESP se nahraje universální FW a připojí se do wifi. Pak se na to přistupuje přes WWW a tak se pak nastavují připojené periférie, způsob komunikace,... Umožňuje to i rules tj. jednoduché prográmky které běží přímo na tom ESP a ty se pak dají vyvolat přes http. Mám tam takto uděláno ovládání žaluzií, kdy pro pouhé naklopení jsou potřeba krátké impulsy. Do HA jsem potom doplnil jen volání ( např. command_on: "/usr/bin/curl -X GET http://192.168.2.21/control?cmd=event,bastlirna_45").
Na testování různých hw senzorů na ESP mohu tento FW vřele doporučit protože to funguje autonomně a bez nutnosti ladění konfigurace (výběry z menu). Samozřejmě má to i minus - pro integraci z HA se pak musí na straně HA nastavit to načítání čidel.

Re: Home assistant programování, syntax

Napsal: pon led 24, 2022 7:31 pm
od Kodl69
normálně od číňana, 100A/75mV a hlavní je tuším 400A/75mV. https://www.aliexpress.com/item/4000158 ... mainSearch Ješte to nemám finalizovaný, na desce se musí přerušit zemní spojení a odstranit ty 0R1 bočníky

Re: Home assistant programování, syntax

Napsal: pon led 24, 2022 9:56 pm
od Plazivec
Není těch 100A málo? Já teda nevim, jak se dimenzují, ale není lepší nějaká rezerva? Třeba na 5kW axpert a 50V baterii je těch 100A akorát.

Re: Home assistant programování, syntax

Napsal: úte led 25, 2022 12:09 pm
od josse
Plazivec píše:Není těch 100A málo? Já teda nevim, jak se dimenzují, ale není lepší nějaká rezerva? Třeba na 5kW axpert a 50V baterii je těch 100A akorát.
Záleží jestli dimenzujeme pojistku nebo vedení.

Když vedení, tak je to málo, když pojistku, tak je to možná zbytečně moc. Klidně bych šel na 80A, trvá 30 sekund než vypadne při 160!, Pro 14S to je cca 8.3kW! Stejně ty akumulátory nemůžou dávat tolika proudu dlouhou dobu, hned by byly prázdné. S malými akumulátory bych doporučoval spíš menší pojistky. Já mám 125A mezi baterkárnou a domem, pro 2x 4kW...

Re: Home assistant programování, syntax

Napsal: úte led 25, 2022 4:25 pm
od Plazivec
josse píše: úte led 25, 2022 12:09 pm Záleží jestli dimenzujeme pojistku nebo vedení.
Dimenzujeme šunt ;)

Re: Home assistant programování, syntax

Napsal: úte led 25, 2022 4:29 pm
od Plazivec
Koukám na to jak pablb, už se zamotávám a nevim, jak z toho ven.
Kde najdu v HA API heslo?
Co je to OTA a kde najdu klíč?