Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

www
kiklhorn
Moderátor
Moderátor
Příspěvky: 905
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 108 poděkování
Dostal poděkování: 210 poděkování

Re: Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

Příspěvek od kiklhorn »

id (..
id(..
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

miror
Aktivní autor
Aktivní autor
Příspěvky: 53
Registrován: 31. leden 2022, 22:47
Dal poděkování: 1 poděkování

Re: Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

Příspěvek od miror »

Ak tu:
lambda: return id(sensor.antbms_old_soc).state ;
tak to nefunguje
Přílohy
Bez názvu1.jpg

kiklhorn
Moderátor
Moderátor
Příspěvky: 905
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 108 poděkování
Dostal poděkování: 210 poděkování

Re: Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

Příspěvek od kiklhorn »

Už z úvodu jsem psal že senzor v kódu není.
Tak bych ho tam zkusil přidat

Kód: Vybrat vše

sensor:
  - platform: homeassistant
    name: "Muj old soc senzor"
    entity_id: sensor.antbms_old_soc
    id: antbms_old_soc
a hodnotu v lambda pak vyčítat přes esphome id

Kód: Vybrat vše

return id(antbms_old_soc).state ;
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

Uživatelský avatar
tiimsvk
Dárce - Donátor
Dárce - Donátor
Příspěvky: 835
Registrován: 06. květen 2021, 07:03
Dal poděkování: 75 poděkování
Dostal poděkování: 65 poděkování

Re: Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

Příspěvek od tiimsvk »

miror píše: 02. únor 2023, 18:10 Tak som to skusil ale nieco je zle:

Kód: Vybrat vše

sensor:
  - platform: template
    name: "${device_name} procent baterie"
    id: bat_pct
    accuracy_decimals: 0
    unit_of_measurement: "%"
    device_class: battery
    lambda: return id (sensor.antbms_old_soc).state ;
    filters:
      - calibrate_polynomial:
         degree: 3
         datapoints:
          - 0.00 -> 0.0
          - 3.20 -> 0.0
          - 3.28 -> 10.0
          - 3.33 -> 20.0
          - 3.40 -> 30.0
          - 3.48 -> 40.0
          - 3.57 -> 50.0
          - 3.65 -> 60.0
          - 3.72 -> 70.0
          - 3.80 -> 80.0
          - 3.88 -> 90.0
          - 4.15 -> 95.0
          - 4.20 -> 100.0
      - lambda: |-
          if (x <= 100) {
            return x;
          } else {
            return 100;
          }
    on_value: 
      then:
        - output.set_level:
            id: light_1
            level: !lambda "return x/100;"
output:
  - platform: esp8266_pwm
    pin: GPIO3
    id: light_1
    # power_supply: power_supply_id
    inverted: false
    min_power: 0.00
    max_power: 1.00  
Ešte len detail ku kódu možno lahšie zapísanie kalibrácie na stav batérie v percentách

Kód: Vybrat vše

    filters:
      - calibrate_linear:
          - 3.2 -> 0
          - 4.2 -> 100
      - lambda: 'return max((float)0.0, x);' # No value lower than 0
      - lambda: 'return min((float)100.0, x);' # No value greater than 100
inak ako vyzerá krivka pri polynomickej krivke 3 radu:
podla kodu, ktory je vyssie
Clipboard02.jpg
potom moze nastat ze bude ukazovat zle hodnoty aj ked viem ze vybijanie baterie nie je priamka :)

farki
Nováček na fóru
Nováček na fóru
Příspěvky: 6
Registrován: 13. březen 2023, 23:19

Re: Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

Příspěvek od farki »

Kód: Vybrat vše

- platform: template
    name: "Batterka"
    unit_of_measurement: "%"
    accuracy_decimals: 0
    device_class: battery
    entity_category: diagnostic
    filters:
      - calibrate_linear:
          - 2.5 -> 0
          - 5 -> 100
      # No value lower than 0
      - lambda: 'return max((float)0.0, x);'
      # No value greater than 100
      - lambda: 'return min((float)100.0, x);'
    lambda: |-
      return (id(batlevel).state);
    update_interval: 20s
    icon: mdi:battery

PritelCz
Nováček na fóru
Nováček na fóru
Příspěvky: 1
Registrován: 20. září 2023, 11:35
Dal poděkování: 1 poděkování

Re: Zmena napätia na výstupe ESP8266 0-5V podľa stavu entity

Příspěvek od PritelCz »

Ahoj, resim podobnou vec, mam 2 entity a neco delam blbe, kod jsem dal do priloh
Ridi mi to Rele modul na ESPdev Bord.
Mam 2 podmínky ktere se snazim namackat na PWM vystup ktere ridi SsR rele 0 az 10V
1 Podminka je nabij baterku na 90% a spust ssr rele na cca 5% vykonu
2 Podminka nacti si hodnotu proudu (Esp si vycita hodnoty z BMS a pak je zobrazuje v HA)
pokud je proud vetsi nez 0 pridej 5% vykonu
pokud je mensi nez 0 uber 5%
3 podminka vypni pwm pokud je hodnota proudu mensi nez 0
Manualne mi to funguje, ale tim,ze neumim zatim poradne pracovat s Yaml tak mi to poradne nejde.
Poradi nekdo?
Přílohy
relemodul.yaml (2).txt
(5.96 KiB) Staženo 16 x

Odpovědět

Zpět na „ESPHome“