NodeRed programování
Home Assistant, Arduino, SDS, Raspberry, Linux, vzdálený dohled, automatizace, měření, opensource, closedsource, hotová řešení, DIY, stavebnice, komponenty, software, postupy, návody, schémata, rady, zkušenosti ...
-
- Příspěvky: 75
- Registrován: stř dub 17, 2013 1:21 pm
- Reputace: 0
Re: NodeRed programování
Dotaz. Když mam nějaké data, které chci, aby se zachovaly, když restartuji raspberry.
Jak se to řeší? Dík.
Jak se to řeší? Dík.
-
- Příspěvky: 4053
- Registrován: úte dub 23, 2013 10:21 am
- Reputace: 661
- Lokalita: Kousek od Lysé nad Labem
- Systémové napětí: 48V
- Výkon panelů [Wp]: 46000
- Kapacita baterie [kWh]: 40
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Kousek od Lysé nad Labem
Re: NodeRed programování
Třeba vytvořením nové entity template? https://www.home-assistant.io/integrations/template/
_______________________________________________________________________
43 kWp, LiFePO4 62 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A) + Axpert PIP 5048MS
43 kWp, LiFePO4 62 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A) + Axpert PIP 5048MS
-
- Příspěvky: 91
- Registrován: úte led 16, 2018 2:28 pm
- Reputace: 8
- Lokalita: okr. Tachov
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: okr.Tachov
Re: NodeRed programování
Lze ukládat přes context do paměti, po zapnutí do souboru na SDkartu
https://nodered.org/docs/user-guide/context
nebo přímo do souboru
https://nodered.org/docs/user-guide/context
nebo přímo do souboru
-
- Příspěvky: 47
- Registrován: pát bře 18, 2011 1:01 pm
- Reputace: 2
- Lokalita: Ostrava!!!
- Systémové napětí: 48V
- Bydliště: Ostrava!!!
Re: NodeRed programování
Jestli mohu poradit, jako uživatel Nodered, tak než používat hodnoty (msg.payload) označkované topicem (msg.topic),
je lepší používat global hodnoty, tj. proměnné global.proměna. např. v nodu function ji lze definovat jako global.set("variable",x) kde variable je název proměnné a x je hodnota.
Global hodnotu pak lze přečíst napříč všech flow pomocí global.get("variable"),
je to rozhodně pohodlnější, jak předat libovolnému function flow více výpočtových nebo podmínkových hodnot než předávat nodu "stream" s hodnotou msg.payload a k tomu msg.topic
např.
předání hodnoty do function node na vstupu (z msg.payload) a přiřazení do globalní hodnoty SwPosSet
v jiném nodu function, kde chci s touto hodnotou pracovat pak jen na začátku kódu předám
příp. můžu s hodnotou rovnou pracovat
je lepší používat global hodnoty, tj. proměnné global.proměna. např. v nodu function ji lze definovat jako global.set("variable",x) kde variable je název proměnné a x je hodnota.
Global hodnotu pak lze přečíst napříč všech flow pomocí global.get("variable"),
je to rozhodně pohodlnější, jak předat libovolnému function flow více výpočtových nebo podmínkových hodnot než předávat nodu "stream" s hodnotou msg.payload a k tomu msg.topic
např.
předání hodnoty do function node na vstupu (z msg.payload) a přiřazení do globalní hodnoty SwPosSet
Kód: Vybrat vše
global.set("SwPosSet",msg.payload);
Kód: Vybrat vše
switchPosSet = global.get('SwPosSet');
.
.
.
if (swichPosSet == 3)
{
..........
}
Kód: Vybrat vše
.
if (global.get('SwPosSet') == 3)
{
..........
}
-
- Příspěvky: 47
- Registrován: pát bře 18, 2011 1:01 pm
- Reputace: 2
- Lokalita: Ostrava!!!
- Systémové napětí: 48V
- Bydliště: Ostrava!!!
Re: NodeRed programování
A ještě další tip,
pro lepší debug-ování jednotlivých function nodu je dobré přidat node.status než je vrácena hodnota msg.payload
příklad:
tak nějak to pak vypadá ve flow:
pro lepší debug-ování jednotlivých function nodu je dobré přidat node.status než je vrácena hodnota msg.payload
příklad:
Kód: Vybrat vše
if (global.get('SwPosSet') == 3)
{
msg.payload = global.get('ChargeCurrentSet') + 1;
node.status({fill:"blue", shape:"dot", text: msg.payload});
return msg;
}
-
- Příspěvky: 75
- Registrován: stř dub 17, 2013 1:21 pm
- Reputace: 0
Re: NodeRed programování
alextccz - Děkuji, ten context je to co potřebují, ale nedaří se.
Očučel jsem na YouTube všechny videa a stejně někde dělám chybu.
/home/leo/.node-red/settings.js
Bylo tam za komentované.
contextStorage: {
default: {
module:"localfilesystem"
},
},
A reboot.
Když otevřu uzel Change, tak tam nemam toto.
Očučel jsem na YouTube všechny videa a stejně někde dělám chybu.
/home/leo/.node-red/settings.js
Bylo tam za komentované.
contextStorage: {
default: {
module:"localfilesystem"
},
},
A reboot.
Když otevřu uzel Change, tak tam nemam toto.
-
- Příspěvky: 91
- Registrován: úte led 16, 2018 2:28 pm
- Reputace: 8
- Lokalita: okr. Tachov
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: okr.Tachov
Re: NodeRed programování
Tohle na výběr taky nemám. Předpokládám že je tam volba zda uložit do paměti nebo do souboru. Pravděpodobně by to mohlo souviset s těmito nastaveními https://nodered.org/docs/api/context/ ale funguje to i bez toho. V mém případě se automaticky založí se adresář Context v umístění /data/home/nodered/.node-red/context
Kód: Vybrat vše
[
{
"id": "fba6b9c6470fed69",
"type": "inject",
"z": "a5c2686a419678c5",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "pokus",
"payload": "",
"payloadType": "date",
"x": 120,
"y": 5120,
"wires": [
[
"673e81397e1d60c6"
]
]
},
{
"id": "2ace8c5447420afe",
"type": "debug",
"z": "a5c2686a419678c5",
"name": "debug 18",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 500,
"y": 5120,
"wires": []
},
{
"id": "001231f9c0b9db2f",
"type": "inject",
"z": "a5c2686a419678c5",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "pokus",
"payloadType": "flow",
"x": 100,
"y": 5180,
"wires": [
[
"6c4bf27e016c42ab"
]
]
},
{
"id": "673e81397e1d60c6",
"type": "change",
"z": "a5c2686a419678c5",
"name": "",
"rules": [
{
"t": "set",
"p": "pokus",
"pt": "flow",
"to": "payload",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 300,
"y": 5120,
"wires": [
[
"2ace8c5447420afe"
]
]
},
{
"id": "6c4bf27e016c42ab",
"type": "debug",
"z": "a5c2686a419678c5",
"name": "debug 19",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 360,
"y": 5180,
"wires": []
}
]
-
- Příspěvky: 47
- Registrován: pát bře 18, 2011 1:01 pm
- Reputace: 2
- Lokalita: Ostrava!!!
- Systémové napětí: 48V
- Bydliště: Ostrava!!!
Re: NodeRed programování
A co tak použít node "write file"?
-
- Podobná témata
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
Kurs programování aplikací v Hradci Králové
od honzaL » » v Semináře a přednášky
Kurs programování aplikací v Hradci Králové
- 1 Odpovědi
- 1954 Zobrazení
-
Poslední příspěvek od honzaL
-
-
- 0 Odpovědi
- 1512 Zobrazení
-
Poslední příspěvek od PavelVe
-
- 11 Odpovědi
- 931 Zobrazení
-
Poslední příspěvek od Diablo1st
-
- 5 Odpovědi
- 805 Zobrazení
-
Poslední příspěvek od ElektroEzs
-
- 35 Odpovědi
- 3404 Zobrazení
-
Poslední příspěvek od Antrac1t
Kdo je online
Uživatelé prohlížející si toto fórum: Claudebot [Bot] a 1 host