Stránka 17 z 35
Re: Victron komunita
Napsal: čtv říj 12, 2023 7:27 pm
od Kodl69
Takže další kolo nodered:
tohle

skoro funguje...
drobná chyba (ale vlastně zásadní pro fungování) nastane akorát ve chvíli, kdy je aktivní stav "přítomen " a SOC klesne pod hodnotu nastavenou pro vypnutí měniče a relátka pro zapnutí boileru. správně se odpojí boiler. vypne se měnič - logická chyba. Ale jak z toho ven? potřeboval bych funkci, která v případě, že je signál "přítomen" nebo dále překodovano na "1" prostě zablokoval možnost vypnutí multiplusu přes SOC. Další co bych tam potřeboval dodat je to, že i když je signál "přítomen" tak aby se vypnulo relé boileru při SOC pod 50% (50% SOC mám remote console nastavenejch pro start centrály) a nějak nevím jak na to. Pokud bych to programoval v nějakým C, tak bych prostě napsal
if pritomen=1 then ... ale takovouhle funkci nikde nevidím. Máte někdo tip, jak na to?
Re: Victron komunita
Napsal: čtv říj 12, 2023 7:31 pm
od vk_1
Kodl69 píše: ↑čtv říj 12, 2023 7:27 pm
Pokud bych to programoval v nějakým C, tak bych prostě napsal
if pritomen=1 then ... ale takovouhle funkci nikde nevidím. Máte někdo tip, jak na to?
Zkus použít node "function". Nepíše se to v C, ale v Javascriptu. Do toho se dostaneš velmi rychle, jednoduchý podmínky hned. Jednoduchý příklad:
Kód: Vybrat vše
let soc = msg.payload;
if (soc < 30) {
msg.payload = 0;
} else {
msg.payload = 1;
}
return msg;
Zkrátka do funkce vstupuje msg, pak jde i na výstup.
Re: Victron komunita
Napsal: čtv říj 12, 2023 8:08 pm
od Diablo1st
Príp. sa dá spojiť aj viacero podmienok dohromady, ale je to troška zložitejšie.
ja to mám spravené takto:
flow.JPG
function1 a PVtotal vytvoria topic, join ich spojí a function3 ich vyhodnotí takto:
function3.JPG
Re: Victron komunita
Napsal: čtv říj 12, 2023 8:19 pm
od vk_1
Když dělám složitější funkce, kde chci více vstupů, tak si je beru z global proměnných. Je to pro mě jednodušší, než vytvářet spoustu nodů a spojovat to.
Kód: Vybrat vše
let soc = global.get('statusBatterySoC');
if (global.get('statusHdoFeedInForbidden')) {
// disable grid
msg.payload = 2;
} else if (global.get('statusSpotPriceEUR') < global.get('statusNegativeSpotPriceThresholdEUR')) {
msg.payload = 3; // keep connected to enable charging
} else if (soc <= 18) {
// keep MP "On" to enable AC input and charging
msg.payload = 3
} else if (global.get('statusMPSwitchPosition') == 1) {
// charger should not be switched to offgrid inverter (2) immediately, causes a short outage
// switch to "On" first (3)
msg.payload = 3;
} else if ........
Re: Victron komunita
Napsal: čtv říj 12, 2023 8:29 pm
od Kodl69
zkusím to tak nějak jak navádí diablo 1st, to vk_1: ty proměnný jsou pro mě španělská vesnice. ještě k tomu spojení do jednoho, kde se vytvoří to rozlišení msg.payload.xxx a msg.payload.yyy?
Re: Victron komunita
Napsal: čtv říj 12, 2023 8:36 pm
od Diablo1st
Tiež som skúšal tie globálne premenné, ale teda tam som sa nechytal, preto radšej takto jednoduchšie
Function1 mám takto:
return {payload: msg.payload, topic: "soc"}
A Join mám takto:
join.JPG
Re: Victron komunita
Napsal: čtv říj 12, 2023 8:44 pm
od vk_1
Kodl69 píše: ↑čtv říj 12, 2023 8:29 pm
zkusím to tak nějak jak navádí diablo 1st, to vk_1: ty proměnný jsou pro mě španělská vesnice. ještě k tomu spojení do jednoho, kde se vytvoří to rozlišení msg.payload.xxx a msg.payload.yyy?
Použití globálních proměnných:
1.) nejdřív si udělám ukládání hodnot do proměnných.
Screenshot 2023-10-12 at 20.41.00.png
Screenshot 2023-10-12 at 20.41.11.png
2.) pak je můžu v libovolné funkci použít:
Kód: Vybrat vše
if (global.get('statusBatterySoC') > 80) {
// SoC je nad 80%, zapnu bojler
msg.payload = 1;
}
Re: Victron komunita
Napsal: čtv říj 12, 2023 9:01 pm
od Kodl69
Tak tohle už možná chápu, tohle je možná pro mě nakonec přijatelnější postup programování než spojovat ty okýnka. nějaký C a příp historický variace (pascal) tak nějak vstřebávám, ale to vizuální programování fakt ne.
Re: Victron komunita
Napsal: čtv říj 12, 2023 10:14 pm
od Kodl69
klasika, nechodilo mi to kvůli mejm běžnejm chybám, jako jsou velký a malý písmena v proměnných. Už to asi mám, ale chvilku jsem bojoval
Re: Victron komunita
Napsal: pát říj 13, 2023 6:59 am
od Momo
vk_1 píše: ↑čtv říj 12, 2023 8:44 pm
Kodl69 píše: ↑čtv říj 12, 2023 8:29 pm
zkusím to tak nějak jak navádí diablo 1st, to vk_1: ty proměnný jsou pro mě španělská vesnice. ještě k tomu spojení do jednoho, kde se vytvoří to rozlišení msg.payload.xxx a msg.payload.yyy?
Použití globálních proměnných:
1.) nejdřív si udělám ukládání hodnot do proměnných.
Screenshot 2023-10-12 at 20.41.00.png
Screenshot 2023-10-12 at 20.41.11.png
2.) pak je můžu v libovolné funkci použít:
Kód: Vybrat vše
if (global.get('statusBatterySoC') > 80) {
// SoC je nad 80%, zapnu bojler
msg.payload = 1;
}
Taky primárně používám JS, ale jenom v případě, že je ten program složitější.
Pro případ, který uvádíš - function 18 - bych použil jednoduchý node CHANGE. Jenoduše "SET" global."jméno globální proměnné" to the value msg.payload. Tohle mi přijde jednodušší. Globalget a globalset až ve složitějších případech.
Jinak zásadně používám globální proměnné, protože si na ně sáhnu kdekoli a nemusím je držet jako msg a slučovat je.
Můj hlavní rozhodovací program ostrov/hybrid je tento:
Kód: Vybrat vše
var Ostrov_Rezim = global.get("Ostrov_Rezim")
var Ostrov_Cas_On = global.get("Ostrov_Cas_On")
var Ostrov_SOC_On = global.get("Ostrov_SOC_On")
var Ostrov_Spotreba_On = global.get("Ostrov_Spotreba_On")
var Ostrov_Cas = global.get("Ostrov_Cas")
var Ostrov_SOC = global.get("Ostrov_SOC")
var Ostrov_Spotreba = global.get("Ostrov_Spotreba")
if (Ostrov_Rezim == 0)
{
msg.payload = 3
}
else if (Ostrov_Rezim == 1)
{
msg.payload = 2
}
else if ((Ostrov_Cas_On * !Ostrov_Cas == 1) || (Ostrov_SOC_On * !Ostrov_SOC == 1) || (Ostrov_Spotreba_On * !Ostrov_Spotreba == 1))
{
msg.payload = 3
}
else
{
msg.payload = 2
}
return msg;
Ostrov_Rezim je:
0 = OFF (hybrid)
1 = ON (ostrov)
2 = AUTO (podle mého algoritmu, který řeším v jiném programu)
Ostatní proměnné jsou typu boolean, tedy true/false. Je možné je pak invertovat, násobit a podobně.
Ty proměnné _On zapínají nebo vypínají příslušnou podmínku a to se násobí hodnotou, zda je ta podmínka splněna.
Ty dvě čárky v kódu vedle sebe jsou logický operátor OR.
Výstupem z programu je hodnota msg.payload pro Switch position.
To Kodl69:
Ve tvém případě bych udělal jednoduchou boolean globální proměnnou třeba "Pobyt" a ta by nabývala true/false. Pak jednoduše na tlačítka dát payload true nebo false a v dalším node CHANGE: SET global.Pobyt to the value msg.payload. Vyřešeno třemi nody. První dvě tlačítka s nastavením true/false, pak to sloučit do CHANGE. Podobně by šly řešit ty analogové vstupy z fyzických tlačítek. To je celé.
Dokonce bys to mohl udělat, že do jednoho nodu CHANGE by šly všechny čtyři tvé vstupy (2x tlačítko, 2x analogový vstup). Snadné.
Re: Victron komunita
Napsal: pát říj 13, 2023 1:34 pm
od vk_1
Momo píše: ↑pát říj 13, 2023 6:59 am
Pro případ, který uvádíš - function 18 - bych použil jednoduchý node CHANGE. Jenoduše "SET" global."jméno globální proměnné" to the value msg.payload. Tohle mi přijde jednodušší.
Jasně, na jednu proměnnou je to lepší řešení. Já používám většinou funkce, protože si tam píšu komentáře, nebo nastavuju více proměnných v jedné funkci:
Screenshot 2023-10-13 at 13.32.11.png
Screenshot 2023-10-13 at 13.34.46.png
Re: Victron komunita
Napsal: pát říj 13, 2023 3:05 pm
od filip
Přátelé, kamarádi, potřeboval bych poradit. Pořídil jsem si zásuvku TP Link Tapo P100 a podle návodu výše zde na fóru jsem ji připojil do sítě a nakonfiguroval v node-red. Bohužel ovládání funguje jen přes oficiální appku v mobilu, přes node-red to nefunguje. V msg je unexpected error:
Kód: Vybrat vše
msg : Object
object
payload: object
result: false
errorInf: "Error: Unexpected Error Code: 1003 (undefined)"
socketid: "6SIOtZT_v_a027hvAAAJ"
_msgid: "591180a9f14f6147"
Netušíte, čím by to mohlo být? Nastavení node - email/heslo pro přihlášení do TP link appky nebo na web je správně, několikrát zkontrolováno. IP adresu zásuvky jsem opsal z telefonu z appky v menu Info o zařízení.
Cílem by mělo být zapínání solárního topení v dílně. Nevím, zda se do node Turn-on/off má posílat nějaká msg, zkoušel jsem přes inject true, false, prázdný ale chyba je pořád stejná.
Re: Victron komunita
Napsal: pát říj 13, 2023 3:16 pm
od vk_1
filip píše: ↑pát říj 13, 2023 3:05 pm
Přátelé, kamarádi, potřeboval bych poradit. Pořídil jsem si zásuvku TP Link Tapo P100 a podle návodu výše zde na fóru jsem ji připojil do sítě a nakonfiguroval v node-red. Bohužel ovládání funguje jen přes oficiální appku v mobilu, přes node-red to nefunguje.
Já mám "Tapo P110". Tapo P100 nemám. Nicméně v popisu toho pluginu je i Tapo P100 jako podporované.
Nastavení v tom screenu mám stejně. Zkus aktualizovat firmware zásuvky (z appky).
Případně zkontrolovat, jestli v tom hesle/emailu nemáš nějaké speciální znaky, ale to už je obskurní. Já v hesle mám jen čísla a písmena.
Re: Victron komunita
Napsal: pát říj 13, 2023 3:21 pm
od vk_1
vk_1 píše: ↑pát říj 13, 2023 3:16 pm
Přátelé, kamarádi, potřeboval bych poradit. Pořídil jsem si zásuvku TP Link Tapo P100 a podle návodu výše zde na fóru jsem ji připojil do sítě a nakonfiguroval v node-red. Bohužel ovládání funguje jen přes oficiální appku v mobilu, přes node-red to nefunguje.
A ještě jsem našel tohle:
https://community.openhab.org/t/single- ... 3/149740/3
Kód: Vybrat vše
Tapo changed the protocol for some devices because of security reasons.
I had to rewrite the whole communication and uploaded a beta to my compiled-addons repository.
V praxi by to znamenalo, že je potřeba aktualizovat ten plugin do Node RED, pokud to autor byl ochotný aktualizovat na novější protokol.
Mně to aktuálně funguje, takže teď nic aktualizovat teda nebudu
Mám "
node-red-contrib-tplink-tapo-connect-api" verzi
0.3.5 a zásuvky firmware verzi
1.2.3 Build 230425 Rel. 142542, Tapo P110,
Hardware Version 1.0
Re: Victron komunita
Napsal: pát říj 13, 2023 3:27 pm
od filip
No, myslím si že P100 a P110 se liší jen proudem, P100 je do 10A a P110 je do 16A.
V heslu mám jen písmena a čísla.
Aktualizaci FW v zásuvce si vynutila appka v mobilu při konfiguraci. Je tam 1.2.1 Build 230804 Rel.190922
No nic, třeba ještě někdo něco poradí. V nejhorším to holt budu ovládat přes appku. Chtěl jsem to mít integrovaný do FVE, případně to spínání topení trochu automatizovat - principielně, když je dodávka do sítě, tak odpojit pár panelů od MPPT a pustit to do topení.
Re: Victron komunita
Napsal: pát říj 13, 2023 3:30 pm
od vk_1
filip píše: ↑pát říj 13, 2023 3:27 pm
Je tam 1.2.1 Build 230804 Rel.190922
Mám "node-red-contrib-tplink-tapo-connect-api" verzi 0.3.5 a zásuvky firmware verzi 1.2.3 Build 230425 Rel. 142542, Tapo P110, Hardware Version 1.0
Re: Victron komunita
Napsal: pát říj 13, 2023 3:33 pm
od filip
vk_1 píše: ↑pát říj 13, 2023 3:21 pm
Mám "
node-red-contrib-tplink-tapo-connect-api" verzi
0.3.5 a zásuvky firmware verzi
1.2.3 Build 230425 Rel. 142542, Tapo P110,
Hardware Version 1.0
Hmm, tak já mam Hardware version 2.0 a ten FW vypadá novější, 230425 bych tipoval na vydání 25.4.2023, kdežto já mám aktuální 230804 tj z 4.8.2023 takže o 4 měsíce novější. Mám těch zásuvek víc (5 ks) tak zkusím jinou bez aktualizace FW.
node-red-contrib-tplink-tapo-connect-api" mám také verzi 0.3.5
Re: Victron komunita
Napsal: pát říj 13, 2023 3:43 pm
od filip
filip píše: ↑pát říj 13, 2023 3:33 pm
Mám těch zásuvek víc (5 ks) tak zkusím jinou bez aktualizace FW.
Heuréka. Vzal jsem jinou zásuvku, aktualizace FW při registraci bohužel nejde přeskočit, takže jsem natvrdo vypnul appku. Při dalším spuštění, tam sice svítí někde vykřičník, že je k dispozici novější FW, ale důležité je,
že přes node-red to funguje.
Je tam verze FW 1.1.0 Build 220720 Rel 163239
Re: Victron komunita
Napsal: pát říj 13, 2023 8:08 pm
od vk_1
filip píše: ↑pát říj 13, 2023 3:43 pm
filip píše: ↑pát říj 13, 2023 3:33 pm
Mám těch zásuvek víc (5 ks) tak zkusím jinou bez aktualizace FW.
Heuréka. Vzal jsem jinou zásuvku, aktualizace FW při registraci bohužel nejde přeskočit, takže jsem natvrdo vypnul appku. Při dalším spuštění, tam sice svítí někde vykřičník, že je k dispozici novější FW, ale důležité je,
že přes node-red to funguje.
Je tam verze FW 1.1.0 Build 220720 Rel 163239
Tak to je pech. Takže se čeká na dobrovolníka, kdo aktualizuje node-red-contrib-tplink-tapo-connect-api na novější verzi TP protokolu. To mám docela štěstí, že mi to funguje.
Re: Victron komunita
Napsal: pát říj 13, 2023 8:12 pm
od vk_1
filip píše: ↑pát říj 13, 2023 3:43 pm
Heuréka. Vzal jsem jinou zásuvku, aktualizace FW při registraci bohužel nejde přeskočit, takže jsem natvrdo vypnul appku. Při dalším spuštění, tam sice svítí někde vykřičník, že je k dispozici novější FW, ale důležité je,
že přes node-red to funguje.
Na githubu uz je k tomu issue. Jestli to nekdo bude mit chut vyresit, netusim:
https://github.com/sanlike0911/node-red ... /issues/33
Re: Victron komunita
Napsal: pát říj 13, 2023 8:14 pm
od Kodl69
já jsem narazil na další divnost: multiplus píše, že je off, i když se zapne vypínačem a tečka signalizuje on, viz obrázek:
Snímek obrazovky pořízený 2023-10-13 20-02-22.png
vypínačem jsem mohl vypínat a zapínat jak jsem chtěl, prostě nic. Nezapnul se.
Potom jsem na téhle obrazovce klikl na "charger only", cvaklo v tom nějaký relé, a když jsem klikl na ON, tak se zapnul, ale pořád je na VRM zobrazeno off.
A další průšvih: když se vypne vypínačem, tak už nejde vypínačem zapnout, musím znovu kliknout na on ve VRM. Nemá to nějakou souvislost s node red? posílám do multiplusu stavy 3 (charger only) a 4 (on).
Na druhé instalaci je to ok, píše inverting a nestěžuje si.
Re: Victron komunita
Napsal: sob říj 14, 2023 10:27 am
od Momo
Našel jsem zatím nejvhodnější relé modul pro CerboGX.
Xtend Solarmi Wi-Fi relé DS142 s firmware Tasmota
https://www.digitor.cz/cs/260104-solarm ... ly-tasmota
Cena od 364,- Kč.
Nevýhody:
- ovládání přes WiFi (nevím sílu signálu), lepší by byl kabel přímo do cerba nebo RJ-45 k LAN
- pouze dvě relé, lépe 4 nebo 8
Pochopil jsem toto:
- napájení může být z baterií 48 V (buď DC 5V nebo DC 8-80 V)
- ovládání zřejmě přes MQTT Tasmota, mělo by jít řídít pomcí NR
- spínané dva obvody (klasika NC, NO, max 10 A, mělo by to zvládnout 2 kW, ale stejně bych ovládal silové relé
Ještě je alternativa DS131:
- cenovka podobná
- jenom 1 relé
- napájení asi jenom AC 230 V
Nepoužíváte? Co si o tom myslíte?
Trochu se bojím toho nastavení MQTT.
Re: Victron komunita
Napsal: sob říj 14, 2023 11:44 am
od pibi
https://www.tasmota.shop/cs/rele/15-rel ... smota.html
Jenom bych potřeboval někoho, kdo silnoproudaři bez zkušeností s programováním vysvětlí, jak to nastavit, aby to šlo ovládat z NodeRed v Cerbu.
Re: Victron komunita
Napsal: ned říj 15, 2023 10:16 am
od Momo
Tohle vypadá zajímavě, ty parametry jsou stejné stejné s tím 2-relé.
Taky napájení DC 5 V nebo 8-80 V, takže možno napájet z baterek.
Nevýhodou je ovládání přes WiFi, lepší by byl kabel přímo do Cerba.
Ale WiFi zase poskytuje další možnost přímého ovládání ze sítě bez Cerba.
Re: Victron komunita
Napsal: ned říj 15, 2023 2:31 pm
od pibi
Jsou i desky s USB, ale pro mě opět problém, jak to naprogramovat.
https://papouch.com/quido-usb-2-16-2-vs ... mer-p4651/