Regulace chlazení Goodwe
- Lion®
- Administrátor fóra
- Příspěvky: 1609
- Registrován: 28. září 2020, 14:07
- Bydliště: podkrkonoší
- Dal poděkování: 145 poděkování
- Dostal poděkování: 194 poděkování
- Kontaktovat uživatele:
Re: Regulace chlazení Goodwe
________________
Přispěj a získej přístup do obsahu fóra pro dárce.
Oficiální sada s Raspberry Pi 4B/4GB, černá +Argon NEO Raspberry Pi 4 Case
Patriot Burst 2.5" SATA SSD 120GB + AXAGON EE25-XA6 ALINE box
Galerie realizací
Přispěj a získej přístup do obsahu fóra pro dárce.
Oficiální sada s Raspberry Pi 4B/4GB, černá +Argon NEO Raspberry Pi 4 Case
Patriot Burst 2.5" SATA SSD 120GB + AXAGON EE25-XA6 ALINE box
Galerie realizací
- Dušan
- Dárce - Donátor
- Příspěvky: 358
- Registrován: 30. březen 2021, 08:25
- Dal poděkování: 24 poděkování
- Dostal poděkování: 29 poděkování
Re: Regulace chlazení Goodwe
Četl jsem to asi hodinu a snažil se to pochopit, no vůbec z toho nejsem moudrý. S EspHome nedělám, tak je to pro mě španělská vesnice.kiklhorn píše: ↑08. březen 2023, 12:23 Přečti si tohle: https://cs.wikipedia.org/wiki/Printf a dej vědět jestli pomohlo.
Vždycky se něco naučím na nějakém názorném kódu, který je stejný jako ten můj, protože o tom mém kódu znám ten daný smysl .
Rpi 4 8GB RAM Home assistant běží na ssd, Esp, Sonoff ještě pořád jde, Tasmotka je hodně dobrá, ale Tuya nebrat GigaBlue + oscam , TV Philips 70" síť Unifi, GW 10K ET+ , Dynes 10kWh, 8.1kwp
-
- 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: Regulace chlazení Goodwe
2) přepíšu jej s použitím printf, namíso printДушан píše: ↑07. březen 2023, 23:50
1) vyjdu z tohoto kódu:Kód: Vybrat vše
if (id(regulace1).state) { it.print(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: ON"); } else { it.print(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: OFF"); }
Kód: Vybrat vše
if (id(regulace1).state) {
it.printf(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: ON");
} else {
it.printf(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: OFF");
}
3) Předpokládejme že procento otáček je v celočíselné proměnné (typ int) s názvem "otacky".
Kód: Vybrat vše
if (id(regulace1).state) {
it.printf(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: ON, otáčky: %d procent", otacky);
} else {
it.printf(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: OFF");
}
Tady konkrétně byla jen jedna %d v textu nahrazeno obsahem celočíselné proměnné otáčky.
4) Pokud by otacky nebyla celočíselná proměnná, ale desetinné číslo (float) tak bych to napsal
Kód: Vybrat vše
if (id(regulace1).state) {
it.printf(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: ON, otáčky: %f procent", otacky);
} else {
it.printf(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: OFF");
}
5) U výpisu procent asi stačí třeba jedno desetinné místo
Kód: Vybrat vše
if (id(regulace1).state) {
it.printf(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: ON, otáčky: %.1f procent", otacky);
} else {
it.printf(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: OFF");
}
Kód: Vybrat vše
if (id(regulace1).state) {
it.printf(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: ON, otáčky: %.0f procent", otacky);
} else {
it.printf(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: OFF");
}
[spoiler=Objekty, ale hrozně, hrozně zjednodušeně...]
Představ si že ti na stole leží třeba krabička s třemi tlačítky, displejem a tiskárnou.
Displej:
Na prvním řádku vidíš čas, je tam stále.
Na druhém řádku vidíš datum, je tam stále
Tlačítka:
První spouští venku déšť
Druhé tlačítko sníh
Třetí zařídí že vyjde slunce
Takže máš objekt krabička
s atributy čas a datum
což jsou vlastně proměnné ke čtení, a v kódu se na ně odkážeš jako
Kód: Vybrat vše
id(krabicka).cas
id(krabicka).datum
Kód: Vybrat vše
id(krabicka).dest()
Kód: Vybrat vše
id(krabicka).snih(hodně)
Navíc v případě že se akce povede tak z tiskárny vyleze papírek a na něm napsaná 0.
Nebo se nepovede a vyleze třeba 400 - nenalezena voda
Obsah displeje krabičky (atributy) máš k dispozici stále
Papírek jen v okamžiku mačkání tlačítka (volání metody). Buď jej použiješ a nebo tě nezajímá.
[/spoiler]
Kód: Vybrat vše
if (id(regulace1).state) {
it.printf(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: ON, otáčky: %.0f procent", id(senzorotacky).state;
} else {
it.printf(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: OFF");
}
7) Máš někde i senzor s id "otrpm" ve kterém jsou otáčky v RPM? Tak doplníme do textu placeholder a do seznamu hodnot něco (funkci, proměnnou...) co nám tu hodnotu poskytne, v tomto případě opět senzor.
Kód: Vybrat vše
if (id(regulace1).state) {
it.printf(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: ON, otáčky: %.0f procent, %.0f RPM", id(senzorotacky).state, id(otrpm).state;
} else {
it.printf(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: OFF");
}
Pochopení printf formátu je důležité, používá se ve spoustě programovacích jazyků. Nejen pro zobrazení na displej.
[spoiler=Poznámka pod čarou:]
Znak % je speciální třeba i v šablonách použitých v yaml (jinja)
Abys nevypisoval v textu slovo procent, ale znak %
tak záleží na konvenci v čem to píšeš.
Vyzkoušej jestli to tady bude správně ve tvaru s mezerou za
%
nebo zdvojené
%%
nebo oescapované
\%
nebo v jiných uvozovkách
'%'
Se znakem \ a dalšími je to podobně.[/spoiler]
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
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
- Dušan
- Dárce - Donátor
- Příspěvky: 358
- Registrován: 30. březen 2021, 08:25
- Dal poděkování: 24 poděkování
- Dostal poděkování: 29 poděkování
Re: Regulace chlazení Goodwe
Bod č.7 ten senzor s id "otrpm" nemám. Nevíš kde bych ho našel ?
Myslíš toto?
Myslíš toto?
Kód: Vybrat vše
fan:
- platform: speed
output: regulace
name: "Regulace"
Rpi 4 8GB RAM Home assistant běží na ssd, Esp, Sonoff ještě pořád jde, Tasmotka je hodně dobrá, ale Tuya nebrat GigaBlue + oscam , TV Philips 70" síť Unifi, GW 10K ET+ , Dynes 10kWh, 8.1kwp
-
- 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: Regulace chlazení Goodwe
To fakt nebylo cílem mého přípěvku...
Ale nějaké nápady by byly i na tohle.
Má ventilátor třetí drát? - oddělení mosfetem nebo optočlenem a počítání pulsů (a pravděpodobně děleno dvěma) na ESP třeba pomocí https://esphome.io/components/sensor/pulse_counter.html
Nemá třetí drát, ale je mezi lopatkami mezera? Použít nějakou optozávoru s modulovaným světlem
Ani třetí drát, ani mezera?
a) Bílá tečka na rotoru a fototranzistor odrazem (něco takového se tu myslím řešilo pro odečítání vodoměru)
nebo
b) Snímání magnetického pole někde na ventilátoru
Asi by šlo i něco se stroboskopem
Ale nějaké nápady by byly i na tohle.
Má ventilátor třetí drát? - oddělení mosfetem nebo optočlenem a počítání pulsů (a pravděpodobně děleno dvěma) na ESP třeba pomocí https://esphome.io/components/sensor/pulse_counter.html
Nemá třetí drát, ale je mezi lopatkami mezera? Použít nějakou optozávoru s modulovaným světlem
Ani třetí drát, ani mezera?
a) Bílá tečka na rotoru a fototranzistor odrazem (něco takového se tu myslím řešilo pro odečítání vodoměru)
nebo
b) Snímání magnetického pole někde na ventilátoru
Asi by šlo i něco se stroboskopem
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
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
- Dušan
- Dárce - Donátor
- Příspěvky: 358
- Registrován: 30. březen 2021, 08:25
- Dal poděkování: 24 poděkování
- Dostal poděkování: 29 poděkování
Re: Regulace chlazení Goodwe
Ouuu, tak to ty procenta tam mít nemusím
Větráček má pouze 2 dráty , jedině , že bych koupil jiný se 3 dráty.
Větráček má pouze 2 dráty , jedině , že bych koupil jiný se 3 dráty.
Rpi 4 8GB RAM Home assistant běží na ssd, Esp, Sonoff ještě pořád jde, Tasmotka je hodně dobrá, ale Tuya nebrat GigaBlue + oscam , TV Philips 70" síť Unifi, GW 10K ET+ , Dynes 10kWh, 8.1kwp
-
- 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: Regulace chlazení Goodwe
Dobře. Hlavně mi prozraď jestli byl pochopen ten printf.
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
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
- Dušan
- Dárce - Donátor
- Příspěvky: 358
- Registrován: 30. březen 2021, 08:25
- Dal poděkování: 24 poděkování
- Dostal poděkování: 29 poděkování
Re: Regulace chlazení Goodwe
Nebudu ti lhát, pochopil jsem to do bodu č. 5
Ty otáčky se nedají nějak vytáhnout z HA z vývoje ? Tam je atribut percentage: a ten ukazuje procenta otáček.
Ty otáčky se nedají nějak vytáhnout z HA z vývoje ? Tam je atribut percentage: a ten ukazuje procenta otáček.
Rpi 4 8GB RAM Home assistant běží na ssd, Esp, Sonoff ještě pořád jde, Tasmotka je hodně dobrá, ale Tuya nebrat GigaBlue + oscam , TV Philips 70" síť Unifi, GW 10K ET+ , Dynes 10kWh, 8.1kwp
-
- 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: Regulace chlazení Goodwe
Do předchozího textu jsem doplnil spoiler s vysvětlením toho id(objekt).atribut zápisu. Je to tak pochopitelnější?
Nakopíruj mi sem celý yaml k ESP a screenshot z vývojářské nástroje, stavy k té věci co zobrazuje otáčky podobně jako:
Nakopíruj mi sem celý yaml k ESP a screenshot z vývojářské nástroje, stavy k té věci co zobrazuje otáčky podobně jako:
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
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
- Dušan
- Dárce - Donátor
- Příspěvky: 358
- Registrován: 30. březen 2021, 08:25
- Dal poděkování: 24 poděkování
- Dostal poděkování: 29 poděkování
Re: Regulace chlazení Goodwe
Ve vývoji ukazuje rychlost viz screenshot percentage: 54%
yaml kod esp
BTW: Mám objednané větráčky, které budou mít 3 dráty . Pro jistotu ty procenta tam musíme dostat
yaml kod esp
Kód: Vybrat vše
esphome:
name: chlazeni
friendly_name: Chlazení
esp8266:
board: d1_mini
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "qNwT5OpNsok923YkGt8ODXkM/69oP52QuUccWWfZ0fM="
ota:
password: "c26a6d071d87a8b9bf71f32a6b790cc2"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Chlazeni Fallback Hotspot"
password: "ikpk0A6rv33s"
web_server:
port: 80
# auth:
# username: jmeno
# password: heslo
output:
- platform: esp8266_pwm
pin: D5
frequency: 12000 Hz
id: regulace
fan:
- platform: speed
output: regulace
name: "Regulace"
switch:
- platform: restart
name: "Pin D1 Restart"
binary_sensor:
- platform: homeassistant
name: "Regulace chlazení"
id: regulace1
entity_id: fan.chlazeni_regulace
internal: true
sensor:
- platform: homeassistant
name: "Teplota sřídače"
id: teplota
entity_id: sensor.inverter_temperature_air
internal: true
- platform: homeassistant
name: "FVE výroba"
id: fve_vyroba
entity_id: sensor.pv_power
internal: true
- platform: homeassistant
name: "Baterie"
id: batery
entity_id: sensor.battery_state_of_charge
internal: true
- platform: homeassistant
name: "Baterie"
id: dum
entity_id: sensor.house_consumption
internal: true
# Display
i2c:
sda: D1
scl: D2
display:
- platform: ssd1306_i2c
model: "SH1106 128x64"
reset_pin: D0
address: 0x3C
update_interval: 2s
lambda: |-
it.printf(0, 10, id(pismo), TextAlign::BASELINE_LEFT, "FVE výroba: %.0f W", id(fve_vyroba).state);
it.printf(0, 23, id(pismo), TextAlign::BASELINE_LEFT, "Spotřeba: %.0f W", id(dum).state);
it.printf(0, 36, id(pismo), TextAlign::BASELINE_LEFT, "Baterie: %.0f%%", id(batery).state);
it.printf(0, 49, id(pismo), TextAlign::BASELINE_LEFT, "Teplota: %.1f°C", id(teplota).state);
if (id(regulace1).state) {
it.print(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: ON");
} else {
it.print(0, 62, id(pismo), TextAlign::BASELINE_LEFT, "Chlazení: OFF");
}
# Písmo
font:
- file: "arial.ttf"
glyphs: "!%()+,-/_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzμčáůýří"
id: pismo
size: 12
- file: "arial.ttf"
glyphs: "!%()+,-/_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzμčáůýř"
id: pismo40
size: 40
- file: "arial.ttf"
glyphs: "!%()+,-/_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzμčáůýř"
id: pismo26
size: 26
- file: "arial.ttf"
glyphs: "!%()+,-/_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzμčáůýř"
id: pismo20
size: 20
- file: "materialdesignicons-webfont.ttf"
id: fann
size: 60
glyphs: [
'', # F0210 mdi-fan
]
- file: "materialdesignicons-webfont.ttf"
id: solar
size: 5
glyphs: [
'', # F1A73 mdi-solar-power-variant
]
- file: "materialdesignicons-webfont.ttf"
id: teplota1
size: 60
glyphs: [
'', # F050F mdi-thermomete
]
- file: 'materialdesignicons-webfont.ttf'
id: wifi_doma
size: 5
glyphs: [
# Wifi
'', # mdi-wifi-strength-1
'', # mdi-wifi-strength-2
'', # mdi-wifi-strength-3
'', # mdi-wifi-strength-4
'', # mdi-wifi-strength-alert-outline
]
captive_portal:
Rpi 4 8GB RAM Home assistant běží na ssd, Esp, Sonoff ještě pořád jde, Tasmotka je hodně dobrá, ale Tuya nebrat GigaBlue + oscam , TV Philips 70" síť Unifi, GW 10K ET+ , Dynes 10kWh, 8.1kwp