2 Flaschen Champagner für Programmierer

Hi.
Wie ihr ja alle wisst, habe ich vom programmieren sehr wenig Ahnung.
Ich schenke dem, der auf das Pekaway Betriebssystem parallel Venus OS von Victron drauf bekommt 2 Flaschen Champagner [Veuve oder Moet je nach Wunsch). Beide Systeme sollten gleichzeitig laufen.
Würde mich echt freuen!!!
LG
Mikel

Moet kannste nicht trinken. Pfurz trocken :joy:
Ich trinke lieber dunklen Doppelbock :crazy_face:

Findest du? Mir schmeckt die Brühe.

Ok, dann Doppelbock dunkel zum gleichen Wechselkurs, oder was auch immer!

Ich frage mich nach dem Hintergrund. Denn das ist glaube ich eher nicht möglich die Konzepte sind schon ordentlich weit auseinander.

Über das laufen beider Programme parallel wurde kurz im Livestream gesprochen, war nicht meine Idee.
Ich fände es eine wirklich schöne Spielerei! Ausserdem bekomme ich es nicht hin in Pekaway zwei MPPT Lladeregler gleichzeitig anzuzeigen.
Ich hatte ja auch schon nach einem VE.Direct Kabelmgefragt welches 2 USB Anschlüsse hätte, dann würde ich zwei Pi nutzen, einen für Pekaway und einen für Venus.

Ein Kabel mit 2 USB geht Technisch nicht. Das gibt das Seriale Protokoll nicht her.
Venus verfolg ein komplett eigens Konzept für zum Beispiel Treiber Starten (Geräte die Angebungen sind). Selbst wenn man es rein von der Software hin bekommen würde das man beides zum laufen bekommt hast du das Problem das die Daten entweder in dem einen sin oder in dem anderen System den es kann immer nur ein Process auf die Schnittstelle zu greifen. Ergo muss du dich auch dann noch um den Daten Austausch kümmern.

https://www.victronenergy.com/live/venus-os:large

Das kann man jetzt den NodeRed mit Installieren das könnte deine Lösung sein

2 Likes

@der kleine Punk.
Das wäre der Hammer! Vielen lieben Dank für deine Mühe! Wenns funktionuert brauche ich deine Adresse!

Mühsam ernährt sich das Eichhörnchen.
Ich habe jetzt einfach ein wenig versucht, bin dann in Palette verwalten gegangen, dort Victron eingegeben und mir den Flow " node-red-contrib-victron-vedirect-usb" drei mal in das Pekaway Node red gezogen. Dort habe ich jewils den USB Port angepasst (0, 1 und 2) und jetzt habe ich meine Victron Geräte drin mit automatisch gezogener Bezeichnung und grünenm Punkt, die werden also erkannt. Nur wir es weiter geht, keine Ahnung, werde weiter testen. In Pekaway wird weiterhin parallel Victron Geräte gezeigt

Nein, die Anzeige in Pekaway funktioniert doch nicht parallel, sie ist eingefroren.

Hallo Mikel
tu dir einen Gefallen und programmiere das auf einer eigenen Seite.
Dann kannst du dir das vor einem Update sichern und einfacher wieder einfügen.
In einem coment node reinschreiben was du dafür installierren musst.
grafik
Und eventuell was du auf den Originalseiten geändert ,gelöscht hast.
Ist bei einem Update einfacher nachvollziehbar.
Gruß Arno

@ahtdf
Vielen Dank für die Info! Eigene Seite? Heißt ich öffne einen seperaten Flow oder ich öffne Note Red doppelt im Browser?
Sorry, ich hatte mal Basic, das ist aber gefühlt 100 Jahre her und hilft mir hier nicht wirklich.

Einen separaten flow,
Den kannst du dann exportieren. Auf deinen PC und nach einem Update wieder importieren.

1 Like

Wie gesagt das war mir klar du kannst nicht mit 2 Treibern auf ein Schnittstelle zu greifen.
Das ist das was ich dir versuche die ganze zeit klar zu machen.

Du muss jetzt die daten von den MPPT nicht via USB holen sondern auf dem Vensus.
Es wird nicht möglich sein das du den PeKaWay Standard nach dem Update bearbeiten musst.
Weil das einfach davon aus geht das die Daten vom USB kommen das aber bei dir nicht so.

Jeden falls glaube ich das.

Das könnte das sein was du brauchst das holt die Daten vom DBUS das soll auch Lokal Funktionieren

@derkleinePunk
Ich hatte das verstanden mit 2 Treibern auf einer Schnittstelle, der Versuch gestern kam aber aus deinem neuen Post mit dem Victron Node Red, da fand ich die Ve.direct USB Bausteine, ein Versuch war es Wert.
Deinen neuen Link habe ich installiert, aber das sind nur Bausteine die nötig sind zum Programmieren, das dauert noch bei mir, krieg ich aber noch hin.
Vielen Dank für die Unterstützung und die Hilfe.

Ich bräuchte das ja nicht wenn ich meine beiden Smart Solar in Pekaway sehen würde, aber das bekomme ich ja auch nicht hin. Habe im Flow einen zweiten Smart Solar eingefügt, sehe auch jeweils 2 Felder, aber überall die selben Werte und diese Werte springen immer zwichen beiden Reglern hin und her. Vincent sagt die Werte werden jeweils vom anderen Smart Solar überschrieben und ich soll die Variante ändern, nur Wo???

@Mikel Hallo Mikel
Das ist nur mal sone Idee, da ich keine MPPT habe ist es schwer nachzuvollziehen.
Ich gehe mal davon aus das du hier in 2 USB Anschlüssen VE.direkt einstellst.
grafik
Das machst du hier
grafik
Also wählst du eine 2 aus. Die wird als globale variable weggeschrieben. Und hier oben wieder geholt.
grafik
Die 2, schickst du auf den Ausgang 3 zur Seite VE direkt
grafik
Hier wird dann auseinander getüdelt was es ist, und auf die entsprechende Ausgabe geschickt
grafik
Ich habe mir gedacht, das du dir einen USB Anschluss nimmst in dem fall hier den USB4
Und machst den 2.MPPT auf eine eigene Seite.
grafik
Dann darfst du den USB 4 auf der config Seite nicht einstellen.
grafik
Das sollte eigentlich funktionieren.
Wenn du den Flow importierst, bekommst du eine Export Seite.
grafik
Und in der Menüleiste


Lass es mich wissen wenn es funktioniert :wink:
Gruß Arno

[{"id":"41652a604673163a","type":"tab","label":"Export","disabled":false,"info":"","env":[]},{"id":"4ce498f94597b298","type":"comment","z":"41652a604673163a","name":"USB SERIAL4","info":" - USB K-Line\nWebasto\n- baut 2400 8E1\n- binary buffers \n- split after 50ms\n\n\nUSB K-Line China Heater\n-Baud Rate \t\t25000\n- binary buffers \n- split after 10ms\n- \n\n\n\nMULTI UART 3.3v\nDALY/HEYO BMS \n-- baut 9600 8E1\n- binary buffers \n- split after 10ms\n\n\nDALY/HEYO BMS \n-- baut 9600 8E1\n- binary buffers \n- split after 10ms\n\nVictron Ve.Direct\n- Baud Rate \t\t19200\n- binary buffers \n- split after 10ms\n\n","x":170,"y":280,"wires":[]},{"id":"b49ab1db81cfb9c1","type":"serial in","z":"41652a604673163a","name":"","serial":"e3c8faf77aeea751","x":170,"y":340,"wires":[["820847cf973f38e5"]]},{"id":"820847cf973f38e5","type":"function","z":"41652a604673163a","name":"search PID","func":"\nmsg.pid = msg.payload.toString();\nmsg.pid = msg.pid.split(\"\\n\");\n\n\n\n\nmsg.pid = msg.pid[1].substring(4,10);\n\n\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":340,"y":340,"wires":[["e2637aac8c9a3826"]]},{"id":"97cbc801cb811b24","type":"function","z":"41652a604673163a","name":"Smart Solar MPPT","func":"msg.payload = msg.payload.toString();\nmsg.payload = msg.payload.split(\"\\n\");\n\nmsg.payload = {\n    \"PID\": msg.payload[1].substring(4),\n    \"FW\": msg.payload[2].substring(3),\n    \"SER\": msg.payload[3].substring(5),\n    \"Vbatt\": parseFloat(msg.payload[4].substring(2)/1000),\n    \"Current\": parseFloat(msg.payload[5].substring(2)),\n    \"PanelVolt\": parseFloat(msg.payload[6].substring(4)/1000),\n    \"PanelPower\": parseFloat(msg.payload[7].substring(4)),\n    \"Error\": msg.payload[10].substring(4),\n    \"Iload\": parseFloat(msg.payload[12].substring(3)),\n    \"kwhcounter\": parseFloat(msg.payload[13].substring(4)),\n    \"kwhcountertoday\": parseFloat(msg.payload[14].substring(4)),\n    \"maxPowerToday\": parseFloat(msg.payload[15].substring(4)),\n    \"kwhcounterYesterday\": parseFloat(msg.payload[16].substring(4)),\n    \"maxPowerYesterday\": parseFloat(msg.payload[17].substring(4))\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":810,"y":340,"wires":[["4a88e4a8e0d34a36","474e5539b35fe354","5df60c72729d6690","66f1c5e6d8d632cd"]]},{"id":"012d3df3fb91eb22","type":"ui_text","z":"41652a604673163a","group":"96ca9f9a5c672ba0","order":0,"width":0,"height":0,"name":"","label":"PanelVolt","format":"{{msg.payload}}","layout":"row-spread","className":"","x":1240,"y":320,"wires":[]},{"id":"4a88e4a8e0d34a36","type":"function","z":"41652a604673163a","name":"PanelVolt","func":"msg.payload=msg.payload.PanelVolt;\nglobal.set(\"VE_PanelVolt\",msg.payload);\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1020,"y":320,"wires":[["012d3df3fb91eb22"]]},{"id":"7df25933d5d12562","type":"ui_text","z":"41652a604673163a","group":"96ca9f9a5c672ba0","order":1,"width":0,"height":0,"name":"","label":"PanelPower","format":"{{msg.payload}}","layout":"row-spread","className":"","x":1250,"y":360,"wires":[]},{"id":"474e5539b35fe354","type":"function","z":"41652a604673163a","name":"PanelPower","func":"msg.payload=msg.payload.PanelPower;\nglobal.set(\"VE_PanelPower\",msg.payload);\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1030,"y":360,"wires":[["7df25933d5d12562"]]},{"id":"d4840a4be2c5b4f0","type":"ui_text","z":"41652a604673163a","group":"96ca9f9a5c672ba0","order":1,"width":0,"height":0,"name":"","label":"Battery Volt","format":"{{msg.payload}}","layout":"row-spread","className":"","x":1250,"y":400,"wires":[]},{"id":"5df60c72729d6690","type":"function","z":"41652a604673163a","name":"BatteryVolt","func":"msg.payload=msg.payload.Vbatt;\nglobal.set(\"VE_BatteryVolt\",msg.payload);\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1030,"y":400,"wires":[["d4840a4be2c5b4f0"]]},{"id":"66f1c5e6d8d632cd","type":"function","z":"41652a604673163a","name":"solarCurrent","func":"msg.payload=msg.payload.Current;\nglobal.set(\"VE_solarCurrent\",msg.payload);\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1030,"y":440,"wires":[["9bac8a0795c69c8a"]]},{"id":"9bac8a0795c69c8a","type":"ui_text","z":"41652a604673163a","group":"96ca9f9a5c672ba0","order":1,"width":0,"height":0,"name":"","label":"Charge Current","format":"{{msg.payload}}","layout":"row-spread","className":"","x":1260,"y":440,"wires":[]},{"id":"e2637aac8c9a3826","type":"function","z":"41652a604673163a","name":"Check Smart Solar","func":"\n//https://git.pekaway.de/Karl/campercontrol/-/blob/master/ve%20direct/VE.Direct-Protocol-3.29.pdf\n\n\n//Solar MPPT \n\n\nif(msg.pid == \"0x0300\")\nreturn msg;\n\nif(msg.pid == \"0xA040\")\nreturn msg;\n\nif(msg.pid == \"0xA041\")\nreturn msg;\n\nif(msg.pid == \"0xA042\")\nreturn msg;\n\nif(msg.pid == \"0xA043\")\nreturn msg;\n\nif(msg.pid == \"0xA044\")\nreturn msg;\n\nif(msg.pid == \"0xA045\")\nreturn msg;\n\nif(msg.pid == \"0xA046\")\nreturn msg;\n\nif(msg.pid == \"0xA047\")\nreturn msg;\n\nif(msg.pid == \"0xA049\")\nreturn msg;\n\nif(msg.pid == \"0xA04A\")\nreturn msg;\n\nif(msg.pid == \"0xA04B\")\nreturn msg;\n\nif(msg.pid == \"0xA04C\")\nreturn msg;\n\nif(msg.pid == \"0xA04D\")\nreturn msg;\n\nif(msg.pid == \"0xA04E\")\nreturn msg;\n\nif(msg.pid == \"0xA04F\")\nreturn msg;\n\nif(msg.pid == \"0xA050\")\nreturn msg;\n\nif(msg.pid == \"0xA051\")\nreturn msg;\n\nif(msg.pid == \"0xA052\")\nreturn msg;\n\nif(msg.pid == \"0xA053\")\nreturn msg;\n\nif(msg.pid == \"0xA054\")\nreturn msg;\n\nif(msg.pid == \"0xA055\")\nreturn msg;\n\nif(msg.pid == \"0xA056\")\nreturn msg;\n\nif(msg.pid == \"0xA057\")\nreturn msg;\n\nif(msg.pid == \"0xA058\")\nreturn msg;\n\nif(msg.pid == \"0xA059\")\nreturn msg;\n\n\nif(msg.pid == \"0xA05A\")\nreturn msg;\n\nif(msg.pid == \"0xA05B\")\nreturn msg;\n\nif(msg.pid == \"0xA05C\")\nreturn msg;\n\nif(msg.pid == \"0xA05D\")\nreturn msg;\n\nif(msg.pid == \"0xA05F\")\nreturn msg;\n\nif(msg.pid == \"0xA060\")\nreturn msg;\n\nif(msg.pid == \"0xA061\")\nreturn msg;\n\nif(msg.pid == \"0xA062\")\nreturn msg;\n\nif(msg.pid == \"0xA062\")\nreturn msg;\n\nif(msg.pid == \"0xA063\")\nreturn msg;\n\nif(msg.pid == \"0xA064\")\nreturn msg;\n\nif(msg.pid == \"0xA064\")\nreturn msg;\n\n\nif(msg.pid == \"0xA066\")\nreturn msg;\n\nif(msg.pid == \"0xA067\")\nreturn msg;\n\nif(msg.pid == \"0xA068\")\nreturn msg;\n\nif(msg.pid == \"0xA069\")\nreturn msg;\n\nif(msg.pid == \"0xA06A\")\nreturn msg;\n\nif(msg.pid == \"0xA06B\")\nreturn msg;\n\nif(msg.pid == \"0xA06C\")\nreturn msg;\n\nif(msg.pid == \"0xA06D\")\nreturn msg;\n\nif(msg.pid == \"0xA06E\")\nreturn msg;\n\nif(msg.pid == \"0xA06F\")\nreturn msg;\n\nif(msg.pid == \"0xA070\")\nreturn msg;\n\nif(msg.pid == \"0xA071\")\nreturn msg;\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":550,"y":340,"wires":[["97cbc801cb811b24"]]},{"id":"45774173387b50f9","type":"inject","z":"41652a604673163a","name":"every 2min","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"120","crontab":"","once":true,"onceDelay":"50","topic":"","payload":"","payloadType":"date","x":790,"y":260,"wires":[["03d24738b7e5db12"]]},{"id":"03d24738b7e5db12","type":"function","z":"41652a604673163a","name":"reset globals","func":"/////VE.direct\n\n//SmartSolar\nglobal.set(\"VE_PanelVolt\",\"\");\nglobal.set(\"VE_PanelPower\",\"\");\nglobal.set(\"VE_BatteryVolt\",\"\");\nglobal.set(\"VE_solarCurrent\",\"\");\n\n\n\nmsg.payload = \"\";\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1010,"y":260,"wires":[["012d3df3fb91eb22","7df25933d5d12562","d4840a4be2c5b4f0","9bac8a0795c69c8a"]]},{"id":"e3c8faf77aeea751","type":"serial-port","serialport":"/dev/ttyPKW4","serialbaud":"9600","databits":"8","parity":"none","stopbits":"1","waitfor":"","dtr":"none","rts":"none","cts":"none","dsr":"none","newline":"100","bin":"bin","out":"interbyte","addchar":"","responsetimeout":"10000"},{"id":"96ca9f9a5c672ba0","type":"ui_group","name":"Daten","tab":"44cc4c67cb189e36","order":1,"disp":true,"width":"6","collapse":false,"className":""},{"id":"44cc4c67cb189e36","type":"ui_tab","name":"2. MPPT","icon":"dashboard","order":29,"disabled":false,"hidden":false}]
1 Like

@ahtdf
Hallo Arno, vielen lieben Dank, da hast du dir eine Riesen Arbeit gemacht, leider komme ich damit aber nicht klar, da reicht mein Node Red Verständnis nicht für aus, leider. Ich habe es 2 Stunden probiert ohne Erfolg, ich kann auch nicht alles nachvollziehen, wie leite ich den USB um zum Beispiel, und was wurde vorne am Flow des MPPT Reglers eingefügt (vor Ccheck Smart Solar und search Pid) und was ist mit der ganz langen Zeile unter deinem Post? Fragen über Fragen, sorry!

@ahtdf
Es hat geklappt! Yipppiehhh!!!

Ein schööööner taaag, die Welt steht still ein schööööner…

1 Like