Home assistant programování, syntax

Odpovědět
Plazivec
Příspěvky: 888
Registrován: sob říj 02, 2021 11:19 am

Home assistant programování, syntax

Příspěvek 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 3568 x
No a teďkonc, jak dostat ty hodnoty z toho ultrazvuku do toho displeje?
7,5 kWp
--východ == 2,25 kWp == Epever Tracer 5415AN
--Jih ===== 3,00 kWp == Epever Tracer 8420AN
--Západ == 2,25 kWp == Epever Tracer 5415AN
2x Axpert king1 Parallel
2x150ah CATL Lion od Mikela
1x150ah samodomo
Plazivec
Příspěvky: 888
Registrován: sob říj 02, 2021 11:19 am

Re: Home assistant programování, syntax

Příspěvek 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.
7,5 kWp
--východ == 2,25 kWp == Epever Tracer 5415AN
--Jih ===== 3,00 kWp == Epever Tracer 8420AN
--Západ == 2,25 kWp == Epever Tracer 5415AN
2x Axpert king1 Parallel
2x150ah CATL Lion od Mikela
1x150ah samodomo
Plazivec
Příspěvky: 888
Registrován: sob říj 02, 2021 11:19 am

Re: Home assistant programování, syntax

Příspěvek 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.
7,5 kWp
--východ == 2,25 kWp == Epever Tracer 5415AN
--Jih ===== 3,00 kWp == Epever Tracer 8420AN
--Západ == 2,25 kWp == Epever Tracer 5415AN
2x Axpert king1 Parallel
2x150ah CATL Lion od Mikela
1x150ah samodomo
Plazivec
Příspěvky: 888
Registrován: sob říj 02, 2021 11:19 am

Re: Home assistant programování, syntax

Příspěvek 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ů.
7,5 kWp
--východ == 2,25 kWp == Epever Tracer 5415AN
--Jih ===== 3,00 kWp == Epever Tracer 8420AN
--Západ == 2,25 kWp == Epever Tracer 5415AN
2x Axpert king1 Parallel
2x150ah CATL Lion od Mikela
1x150ah samodomo
Kodl69
Příspěvky: 1302
Registrován: úte dub 06, 2021 10:45 pm

Re: Home assistant programování, syntax

Příspěvek 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 :)
Polostrovní FVE 8 kWp na severu jižní moravy. Samodomo měnič, osvětlení na DC, MPPT od Victronu, nic od Studeru...
Plazivec
Příspěvky: 888
Registrován: sob říj 02, 2021 11:19 am

Re: Home assistant programování, syntax

Příspěvek 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?
7,5 kWp
--východ == 2,25 kWp == Epever Tracer 5415AN
--Jih ===== 3,00 kWp == Epever Tracer 8420AN
--Západ == 2,25 kWp == Epever Tracer 5415AN
2x Axpert king1 Parallel
2x150ah CATL Lion od Mikela
1x150ah samodomo
ringo
Příspěvky: 71
Registrován: pát říj 22, 2021 8:04 am

Re: Home assistant programování, syntax

Příspěvek 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.
Kodl69
Příspěvky: 1302
Registrován: úte dub 06, 2021 10:45 pm

Re: Home assistant programování, syntax

Příspěvek 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
Polostrovní FVE 8 kWp na severu jižní moravy. Samodomo měnič, osvětlení na DC, MPPT od Victronu, nic od Studeru...
Plazivec
Příspěvky: 888
Registrován: sob říj 02, 2021 11:19 am

Re: Home assistant programování, syntax

Příspěvek 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.
7,5 kWp
--východ == 2,25 kWp == Epever Tracer 5415AN
--Jih ===== 3,00 kWp == Epever Tracer 8420AN
--Západ == 2,25 kWp == Epever Tracer 5415AN
2x Axpert king1 Parallel
2x150ah CATL Lion od Mikela
1x150ah samodomo
josse
Příspěvky: 870
Registrován: pon dub 19, 2021 10:37 am

Re: Home assistant programování, syntax

Příspěvek 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...
3,6kWp GWL Poly + 8,82kWp Canadian Mono, 3x PIP4048MS, 3x80P14S 18650 (~640Ah/34kWh)
Elektrárna: https://emoncms.trenet.org/dashboard/view?id=3
TČ: https://emoncms.trenet.org/dashboard/view?id=21
Plazivec
Příspěvky: 888
Registrován: sob říj 02, 2021 11:19 am

Re: Home assistant programování, syntax

Příspěvek od Plazivec »

josse píše: úte led 25, 2022 12:09 pm Záleží jestli dimenzujeme pojistku nebo vedení.
Dimenzujeme šunt ;)
7,5 kWp
--východ == 2,25 kWp == Epever Tracer 5415AN
--Jih ===== 3,00 kWp == Epever Tracer 8420AN
--Západ == 2,25 kWp == Epever Tracer 5415AN
2x Axpert king1 Parallel
2x150ah CATL Lion od Mikela
1x150ah samodomo
Plazivec
Příspěvky: 888
Registrován: sob říj 02, 2021 11:19 am

Re: Home assistant programování, syntax

Příspěvek 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íč?
7,5 kWp
--východ == 2,25 kWp == Epever Tracer 5415AN
--Jih ===== 3,00 kWp == Epever Tracer 8420AN
--Západ == 2,25 kWp == Epever Tracer 5415AN
2x Axpert king1 Parallel
2x150ah CATL Lion od Mikela
1x150ah samodomo
Odpovědět

Zpět na „Home Assistant“