NEWS
ich brauche etwas Nachhilfe mit Node Red und RS232
-
@OliverIO
Bin zwar nicht mehr vor dem PC, aber es sind echt Leerzeichen. Habe das ganze mal in Notepad hineinkopiert und die quasi Spalten angeschaut es sind einmal 9 und dann wieder 13 und wieder 9.
Auch habe ich das ganze mal als csv gespeichert und auch Excell erkennt nicht autmatisch Spalten. Was ich bereits erreicht habe ist, dass ich die Leerzeichen durch ein Semikolon ersetzen konnte. Was ich nun aber nicht schaffe sind die ersten beiden Zeilen wegzulassen und die entsprechenden Werte rauszupicken. Ich bin da mit Node-Red noch Anfänger und habe auch sonst mit Software manchmal meine Mühe.Das ganze soll eigentlich einfach meine 8 Akku mit jeweils 16 Zellen auslesen und die Spannung und Ladung in die Datenpunkte füllen. Ob das nun im eigenen Node-Red Container oder im iobroker Container läuft ist mir eigentlich egal. Und ja ich weiss es gibt bereits ein Adapter aber der funktioniert scheinbar bei Pytes nicht mehr oder nicht.
habe mir mal aus deinem screenhot oben die daten extrahiert. aber wie gesagt das ist nur annahme und folgenden testflow gemacht

1.das erste ist ein inject node zum manuellen starten des flows, den brauchst du nicht. bei dir wird aus der rs232 getriggert
2.diese node stellt den test text bereit, bei dir wäre das dann die rs232 node
3.hier wird nun aus dem ankommenden text die daten aufbereitet- verarbeitet wird nur wenn text kommt
- text muss mindestens 9 zeichen lang sein
- text wird dann in einzelne zeilen aufgeteilt evtl leerzeilen werden ausgefiltert
- jede zeile wird mit regex in spalten aufgeteilt, dabei fliegen die leezeichen raus
- jeder match wird dann in ein battery objekt in das entsprechende feld gelegt
- aus jedem zeilen objekt wird dann ein eigenes messag objekt erzeugt
- wenn alle zeilen verarbeitet sind, werden alle messages an node red zum weiterverarbeiten zurückgegeben
- debug node: die gibt dann für jede einzelne message (also jede zeile) eine nachricht im debug fenster (käfer symbol) aus. vgl screenshot
danach darfst du damit machen was du willst :)
also bspw ein battery objekt nehmen, aus den daten den datenpunkt ableiten (also das ist eine eigene node, bei dem du den datenpunktnamen und den zu schreibenden inhalt ermittelst) und dann mit der iobroker out node an iobroker sendenNachtrag:
da ich gerade in spiellaune war habe ich dir deinen flow noch zu ende gemacht
in der zusätzlichen node function 1 (habe sie jetzt nicht benannt)
wird das battery objekt jetzt so aufbereitet, das es durch iobroker out direkt geschrieben wird
Ich habe bei mir mal als hauptobjekt
0_userdata.0.noderedbattery
genommen.in den node red instanz einstellungen musst du dann noch die folgende option aktivieren

das sieht dann so aus

versuche aber jede einzelne node zu verstehen was die macht, sonst kannst du die nicht anpassen.
-
Vielen Dank, bin gerade unterwegs, werde das aber morgen mal testen. Der Inhalt des Debug sieht schon sehr vielversprechend aus. Damit lässt sich glaub dann relativ einfach ein Datenpunkt für den Iobroker erstellen. Ich meinte ich habe solche Filter auch schon gebaut beim auslesen der Victron Forcast aus dem VRM.
Ich werde auf alle Fälle mal den ganzen String nochmals "nackt" hier einstellen.
Mit den Terminal Tools lassen sich den BMS noch ganz viele Dinge entlocken, habe unteranderem festgestellt, dass meine 8 Pytes mehrere verschiedene BMS Versionen und auch entsprechend verschiedene Firmeware haben. Sogar solche die ich zusammen gekauft habe. -
Vielen Dank, bin gerade unterwegs, werde das aber morgen mal testen. Der Inhalt des Debug sieht schon sehr vielversprechend aus. Damit lässt sich glaub dann relativ einfach ein Datenpunkt für den Iobroker erstellen. Ich meinte ich habe solche Filter auch schon gebaut beim auslesen der Victron Forcast aus dem VRM.
Ich werde auf alle Fälle mal den ganzen String nochmals "nackt" hier einstellen.
Mit den Terminal Tools lassen sich den BMS noch ganz viele Dinge entlocken, habe unteranderem festgestellt, dass meine 8 Pytes mehrere verschiedene BMS Versionen und auch entsprechend verschiedene Firmeware haben. Sogar solche die ich zusammen gekauft habe.relativ einfach ein Datenpunkt für den Iobroker
ist schon fertig. macht es bei mir schon so und ist im obigen flow enthalten.
habe aber gerade festgestellt, das das mit in neuen flow importieren nicht richtig klappt.
flow oben heißt
flow 1
wenn du den schon hast, dann vorher umbenennen -
Vielen Dank, bin gerade unterwegs, werde das aber morgen mal testen. Der Inhalt des Debug sieht schon sehr vielversprechend aus. Damit lässt sich glaub dann relativ einfach ein Datenpunkt für den Iobroker erstellen. Ich meinte ich habe solche Filter auch schon gebaut beim auslesen der Victron Forcast aus dem VRM.
Ich werde auf alle Fälle mal den ganzen String nochmals "nackt" hier einstellen.
Mit den Terminal Tools lassen sich den BMS noch ganz viele Dinge entlocken, habe unteranderem festgestellt, dass meine 8 Pytes mehrere verschiedene BMS Versionen und auch entsprechend verschiedene Firmeware haben. Sogar solche die ich zusammen gekauft habe. -
@Homoran
Absolut richtig erkannt. Mein Cerbo GX kommuniziert weiterhin über den BMS-CAN direckt mit dem Master BMS und holt sich die Daten die es braucht.Mein Ansatz ist eben, dass Victron und Pytes zusammen die Sache machen sollen und ich eigentlich nur ein Visualisierung der Zellen haben will. Weil die Erfahrung der letzten 1 1/2 Jahren hat mir gezeigt, dass die beiden das sehr gut machen und ich da keinerlei Eingriffe machen muss.
Wenn ich letzten Sonntag nicht etwas vorlaut gewesen wäre in einer Diskussion um die angebliche "Bombe und Brandbeschleuniger" in meinem Keller, würden wir hier kaum diskutieren.
Ein absoluter Verbrennerfan wollte mir erklären das alles zu gefährlich ist und sich nie rechnen würde. Da habe ich eben behauptet das mein Akku besser überwacht wird als sein Benzintank. Nun muss ich halt Beweise liefern.Ich werde das ganze nochmals zusammenfassen und in einen kompletten Eintrag schreiben, dass auch jemand ohne alles zu lesen etwas versteht.
-
@Homoran
Absolut richtig erkannt. Mein Cerbo GX kommuniziert weiterhin über den BMS-CAN direckt mit dem Master BMS und holt sich die Daten die es braucht.Mein Ansatz ist eben, dass Victron und Pytes zusammen die Sache machen sollen und ich eigentlich nur ein Visualisierung der Zellen haben will. Weil die Erfahrung der letzten 1 1/2 Jahren hat mir gezeigt, dass die beiden das sehr gut machen und ich da keinerlei Eingriffe machen muss.
Wenn ich letzten Sonntag nicht etwas vorlaut gewesen wäre in einer Diskussion um die angebliche "Bombe und Brandbeschleuniger" in meinem Keller, würden wir hier kaum diskutieren.
Ein absoluter Verbrennerfan wollte mir erklären das alles zu gefährlich ist und sich nie rechnen würde. Da habe ich eben behauptet das mein Akku besser überwacht wird als sein Benzintank. Nun muss ich halt Beweise liefern.Ich werde das ganze nochmals zusammenfassen und in einen kompletten Eintrag schreiben, dass auch jemand ohne alles zu lesen etwas versteht.
Ein absoluter Verbrennerfan wollte mir erklären das alles zu gefährlich ist und sich nie rechnen würde.
Wenn es die Kategorie von Menschen ist, was ich aktuell vor Auge hab, merk dir, wenn es dir zu viel wird:
Hör rechtzeitig auf mit diskutieren. Einige von dieser Kategorie wirst du nie überzeugen/zufriedenstellen stellen -
Ein absoluter Verbrennerfan wollte mir erklären das alles zu gefährlich ist und sich nie rechnen würde.
Wenn es die Kategorie von Menschen ist, was ich aktuell vor Auge hab, merk dir, wenn es dir zu viel wird:
Hör rechtzeitig auf mit diskutieren. Einige von dieser Kategorie wirst du nie überzeugen/zufriedenstellen stellen -
@Homoran
Absolut richtig erkannt. Mein Cerbo GX kommuniziert weiterhin über den BMS-CAN direckt mit dem Master BMS und holt sich die Daten die es braucht.Mein Ansatz ist eben, dass Victron und Pytes zusammen die Sache machen sollen und ich eigentlich nur ein Visualisierung der Zellen haben will. Weil die Erfahrung der letzten 1 1/2 Jahren hat mir gezeigt, dass die beiden das sehr gut machen und ich da keinerlei Eingriffe machen muss.
Wenn ich letzten Sonntag nicht etwas vorlaut gewesen wäre in einer Diskussion um die angebliche "Bombe und Brandbeschleuniger" in meinem Keller, würden wir hier kaum diskutieren.
Ein absoluter Verbrennerfan wollte mir erklären das alles zu gefährlich ist und sich nie rechnen würde. Da habe ich eben behauptet das mein Akku besser überwacht wird als sein Benzintank. Nun muss ich halt Beweise liefern.Ich werde das ganze nochmals zusammenfassen und in einen kompletten Eintrag schreiben, dass auch jemand ohne alles zu lesen etwas versteht.
die angebliche "Bombe und Brandbeschleuniger" in meinem Keller
Dann kennt der den Unterschied zwischen Li-Ion und LFP nicht.
Der soll sich mal die videos ansehen, in denen die Chinesen auf die LFP Zellen mit Pistolen schießen...ohne Konsequenzen!und ich eigentlich nur ein Visualisierung der Zellen haben will.
Genau darum geht's mir auch.
Ich hab schon reichlich Informationen

Wüsste aber auch gerne mehr über die Einzelzellen.
Danke!
-
@OliverIO
Da wirst du absolut Recht habe, nur ist es etwas schwierig wenn das der Pate eines meiner Kinder ist. Da kann man nur versuchen nicht darüber zu sprechen. Aber wenn er damit beginnt ist es dann etwas heikel.Ich habe den Flow einfach mal rasch bei mir importiert und den aktuellen Output aus der Schnittstelle per copie-paste reingefügt, aber da kommt etwas Müll raus. Die Sortierung kommt irgendwie durcheinander.

Wie bekomme ich einen HEX Output?
Edit: habe da gerade noch was herausgefunden:

Zum Glück gibt es noch brauchbare Terminal-Software: jede Zeile endet mit 0X00D 0X00D 0X00A (den letzten sieht man nicht). Die "Leerzeichen sind alle 0X020
Das ganze habe ich jetzt mit folgendem Flow erzeugt: (ist eigentlich ganz einfach)

Dann kann man beim Node "write file" angeben wohinEdit2:
mit dieser Art kann man sich ein kompletes File mit allen Parameter von allen Zellen erstellen, denn Node-Red ist so schlau und öffnet das File und fügt den neuen Teil unten an und schliesst es wieder.Komando "help"
@ Local command: bat Battery data show - bat [pwr][index] data History data load - data [event/history][item] datalist Show recorded data - datalist {event/history}{item}} disp Display Info at regular intervals - disp [(pwrs pwrNo)/val]/[(bats batNo)/volt/curr/temp] help Help [cmd] info Device infomation - info log Log information show - log login Login Admin mode - login [password] logout user mode - logout pwr Power data show - pwr [index] shut Shut down - shut soh State of health - soh [addr] stat Statistic data show - stat time Time - time [year] [month] [day] [hour] [minute] [second] trst Test Soft Reset - trst updata updata system - updata ver firmware info - ver ********************************************************** Remote command: Press [Enter] to be continued,other key to exit -
die angebliche "Bombe und Brandbeschleuniger" in meinem Keller
Dann kennt der den Unterschied zwischen Li-Ion und LFP nicht.
Der soll sich mal die videos ansehen, in denen die Chinesen auf die LFP Zellen mit Pistolen schießen...ohne Konsequenzen!und ich eigentlich nur ein Visualisierung der Zellen haben will.
Genau darum geht's mir auch.
Ich hab schon reichlich Informationen

Wüsste aber auch gerne mehr über die Einzelzellen.
Danke!
@Homoran
So wie ich das chemische Verständnis dieser Person einschätze kann er den Unterschied zwischen den verschiedenen Zell-Chemien gar nicht erkennen. Das beste, aber auch irgendwie übliche, Arrgument war dann die "Kinderarbeit" zur Kobalt gewinnung. Spätestens da habe ich begriffen das er nicht will. Möchte eigentlich nicht wissen wieviel "Sklavenarbeit" im Oel-Sektor drin steckt.Aber es bringt nichts mit solchen Leute über solche Dinge zu sprechen, irgenwiw kann man nur Müde lächeln und sich fragen wie soviel Unwissen und Desinteresse her kommt, aber trotzdem damit diskutieren wollen.
Hast du diese Infos alle aus dem Cerbo, ich gehe davon aus per Modbus aus den Register? Da hole ich auch ein paar DInge raus, habe aber festgestellt, dass es via MQTT fast zuverläsiger kommt.
Zudem gibt es mit der "MQTT-Bridge" die Möglichkeit, den ganzen Cerbo zu sich in einen eigenen Broker zu holen. -
Ich habe den Flow einfach mal rasch bei mir importiert und den aktuellen Output aus der Schnittstelle per copie-paste reingefügt, aber da kommt etwas Müll raus. Die Sortierung kommt irgendwie durcheinander.

Wie bekomme ich einen HEX Output?
Edit: habe da gerade noch was herausgefunden:

Zum Glück gibt es noch brauchbare Terminal-Software: jede Zeile endet mit 0X00D 0X00D 0X00A (den letzten sieht man nicht). Die "Leerzeichen sind alle 0X020
Das ganze habe ich jetzt mit folgendem Flow erzeugt: (ist eigentlich ganz einfach)

Dann kann man beim Node "write file" angeben wohinEdit2:
mit dieser Art kann man sich ein kompletes File mit allen Parameter von allen Zellen erstellen, denn Node-Red ist so schlau und öffnet das File und fügt den neuen Teil unten an und schliesst es wieder.Komando "help"
@ Local command: bat Battery data show - bat [pwr][index] data History data load - data [event/history][item] datalist Show recorded data - datalist {event/history}{item}} disp Display Info at regular intervals - disp [(pwrs pwrNo)/val]/[(bats batNo)/volt/curr/temp] help Help [cmd] info Device infomation - info log Log information show - log login Login Admin mode - login [password] logout user mode - logout pwr Power data show - pwr [index] shut Shut down - shut soh State of health - soh [addr] stat Statistic data show - stat time Time - time [year] [month] [day] [hour] [minute] [second] trst Test Soft Reset - trst updata updata system - updata ver firmware info - ver ********************************************************** Remote command: Press [Enter] to be continued,other key to exithm eigentlich kein müll nur nicht die letzte version
hier dann noch 2 extra nodes für den hexoutput
die function node einfach mit dem ausgang der rs232 node verbinden.
da ich nicht weiß was für ein datentyp aus rs232 rauskommt kann diese mit Buffer und mit string umgehen
Ausgabe sieht dann so aus

das ist zwar gekürzt (...) aber das reicht zum analysierenbitte als markieren und als text hier reinstellen
-
@Homoran
So wie ich das chemische Verständnis dieser Person einschätze kann er den Unterschied zwischen den verschiedenen Zell-Chemien gar nicht erkennen. Das beste, aber auch irgendwie übliche, Arrgument war dann die "Kinderarbeit" zur Kobalt gewinnung. Spätestens da habe ich begriffen das er nicht will. Möchte eigentlich nicht wissen wieviel "Sklavenarbeit" im Oel-Sektor drin steckt.Aber es bringt nichts mit solchen Leute über solche Dinge zu sprechen, irgenwiw kann man nur Müde lächeln und sich fragen wie soviel Unwissen und Desinteresse her kommt, aber trotzdem damit diskutieren wollen.
Hast du diese Infos alle aus dem Cerbo, ich gehe davon aus per Modbus aus den Register? Da hole ich auch ein paar DInge raus, habe aber festgestellt, dass es via MQTT fast zuverläsiger kommt.
Zudem gibt es mit der "MQTT-Bridge" die Möglichkeit, den ganzen Cerbo zu sich in einen eigenen Broker zu holen.diese Infos alle aus dem Cerbo, ich gehe davon aus per Modbus aus den Register
Ich auch
Restlaufzeit ist über ein Blockly gerechnet
Bis minimal SoC bei Entladung, bis max SoC (96%bei 56V) bei LadungWirkungsgrad auch: Verhältnis eingespeicherte Energie zu ausgespeicherter Energie
diese Infos alle aus dem Cerbo, ich gehe davon aus per Modbus aus den Register
Ich im Prinzip auch
Restlaufzeit ist über ein Blockly gerechnet
Bis minimal SoC bei Entladung, bis max SoC (96%bei 56V) bei LadungUnd Zyklen ist ebenfalls einfach ein counter der bei erreichen einer vollen Kapazität hochzählt
-
hm eigentlich kein müll nur nicht die letzte version
hier dann noch 2 extra nodes für den hexoutput
die function node einfach mit dem ausgang der rs232 node verbinden.
da ich nicht weiß was für ein datentyp aus rs232 rauskommt kann diese mit Buffer und mit string umgehen
Ausgabe sieht dann so aus

das ist zwar gekürzt (...) aber das reicht zum analysierenbitte als markieren und als text hier reinstellen
40 0d 0d 0a 42 61 74 74 65 72 79 20 20 56 6f 6c 74 20 20 20 20 20 54 65 6d 70 72 20 20 20 20 42 61 73 65 20 53 74 61 74 65 20 20 20 56 6f 6c 74 2e 20 53 74 61 74 65 20 20 43 75 72 72 2e 20 53 74 61 74 65 20 20 54 65 6d 70 2e 20 53 74 61 74 65 20 20 43 6f 75 6c 6f 6d 62 20 20 20 20 20 0d 0d 0a 30 20 20 20 20 20 20 20 20 33 34 36 35 20 20 20 20 20 32 39 30 30 30 20 20 20 20 49 64 6c 65 20 20 20 20 20 20 20 20 20 4e 6f 72 6d 61 6c 20 20 20 20 20 20 20 4e 6f 72 6d 61 6c 20 20 20 20 20 20 20 4e 6f 72 6d 61 6c 20 20 20 20 20 20 20 20 39 36 25 20 20 20 20 20 20 39 35 32 35 38 20 6d 41 48 0d 0d 0a 31 20 20 20 20 20 20 20 20 33 34 36 39 20 20 20 20 20 32 39 30 30 30 20 20 20 20 49 64 6c 65 20 20 20 20 20 20 20 20 20 4e 6f 72 6d 61 6c 20 20 20 20 20 20 20 4e 6f 72 6d 61 6c 20 20 20 20 20 20 20 4e 6f 72 6d 61 6c 20 20 20 20 20 20 20 20 39 37 25 20 20 20 20 20 20 39 36 30 33 36 20 6d 41 48 0d 0d 0a 32 20 20 20 20 20 20 20 20 33 34 36 30 20 20 20 20 20 32 39 30 30 30 20 20 20 20 49 64 6c 65 20 20 2...Du meinst so?
Edit:
Also ich habe jetzt mal den Flow von dir einfach importiert und gestartet, das sieht im Iobroker sehr gut aus. Also müssen wir die Aufbereitung des payload aus dem RS232 Node noch irgendwie anderst machen. Ich frage mich gerade ob der aufbereitung auch gleich noch die Batterie-Nr. vom aufruf mit geben könnten? Denn es sind jetzt bei mir ja 8 Batterien an je 16 Zellen. Sprich in den Datenpunkten müsste ja dann auch irgendwo noch das "bat x" drin stehen. Ich weiss das gibt unendliche viele Datenpunkte, aber es sind da bei mir ja auch 128 einzelne Zellen. Einzelne Datenpunkte werden nie jemand interessieren, aber es wird einfacher sein, die einfach drin zu lassen? -
40 0d 0d 0a 42 61 74 74 65 72 79 20 20 56 6f 6c 74 20 20 20 20 20 54 65 6d 70 72 20 20 20 20 42 61 73 65 20 53 74 61 74 65 20 20 20 56 6f 6c 74 2e 20 53 74 61 74 65 20 20 43 75 72 72 2e 20 53 74 61 74 65 20 20 54 65 6d 70 2e 20 53 74 61 74 65 20 20 43 6f 75 6c 6f 6d 62 20 20 20 20 20 0d 0d 0a 30 20 20 20 20 20 20 20 20 33 34 36 35 20 20 20 20 20 32 39 30 30 30 20 20 20 20 49 64 6c 65 20 20 20 20 20 20 20 20 20 4e 6f 72 6d 61 6c 20 20 20 20 20 20 20 4e 6f 72 6d 61 6c 20 20 20 20 20 20 20 4e 6f 72 6d 61 6c 20 20 20 20 20 20 20 20 39 36 25 20 20 20 20 20 20 39 35 32 35 38 20 6d 41 48 0d 0d 0a 31 20 20 20 20 20 20 20 20 33 34 36 39 20 20 20 20 20 32 39 30 30 30 20 20 20 20 49 64 6c 65 20 20 20 20 20 20 20 20 20 4e 6f 72 6d 61 6c 20 20 20 20 20 20 20 4e 6f 72 6d 61 6c 20 20 20 20 20 20 20 4e 6f 72 6d 61 6c 20 20 20 20 20 20 20 20 39 37 25 20 20 20 20 20 20 39 36 30 33 36 20 6d 41 48 0d 0d 0a 32 20 20 20 20 20 20 20 20 33 34 36 30 20 20 20 20 20 32 39 30 30 30 20 20 20 20 49 64 6c 65 20 20 2...Du meinst so?
Edit:
Also ich habe jetzt mal den Flow von dir einfach importiert und gestartet, das sieht im Iobroker sehr gut aus. Also müssen wir die Aufbereitung des payload aus dem RS232 Node noch irgendwie anderst machen. Ich frage mich gerade ob der aufbereitung auch gleich noch die Batterie-Nr. vom aufruf mit geben könnten? Denn es sind jetzt bei mir ja 8 Batterien an je 16 Zellen. Sprich in den Datenpunkten müsste ja dann auch irgendwo noch das "bat x" drin stehen. Ich weiss das gibt unendliche viele Datenpunkte, aber es sind da bei mir ja auch 128 einzelne Zellen. Einzelne Datenpunkte werden nie jemand interessieren, aber es wird einfacher sein, die einfach drin zu lassen?ok die bestehende function node passt für die daten.
eine ungewöhlichkeit gibt es 0d 0d 0a
entweder verwendet man nur 0d oder 0d 0a,
gemischt ist ungewöhlich, aber das hat sich der liebe hersteller halt so ausgedacht.
wahrscheinlich ist@ <CR>für ihn ein art beginnzeichen.
nun zum müll.
was ist dir da aufgefallen? wieso reihenfolge?
abfolge des flows istrs232
|
tabelle parsen und jede zeile in ein battery objekt umwandeln.
jede zeile ist eine eigene message
|
für jede message (also für jede zeile) die daten für iobroker aufbereiten, so das notfalls der state angelegt werden kann, also mit unit, beschreibung, etc.
|
die letzte iobroker node hat keine konfiguration, da sie direkt die aufbereiteten daten nehemn und dann nach iobroker schreiben kann.also nimm den flow aus dem letzten post, importier ihn, beachte mein hinweis weiter oben zur konfiguration von node-red, damit er auch states nach 0_userdata schreiben darf.
lass den flow laufen. dann findest du unterhalb des datenpunkts
0_userdata.0.noderedbattery
die komplette struktur. screenshot habe ich gestern schon eingefügt.
je battery id werden nun diverse states angelegt mit den werten aus der tabelle
wenn du den datenpunktnamen ändern willst, dann kannst du das in der node zur aufbereitung der iobroker daten
-
ok die bestehende function node passt für die daten.
eine ungewöhlichkeit gibt es 0d 0d 0a
entweder verwendet man nur 0d oder 0d 0a,
gemischt ist ungewöhlich, aber das hat sich der liebe hersteller halt so ausgedacht.
wahrscheinlich ist@ <CR>für ihn ein art beginnzeichen.
nun zum müll.
was ist dir da aufgefallen? wieso reihenfolge?
abfolge des flows istrs232
|
tabelle parsen und jede zeile in ein battery objekt umwandeln.
jede zeile ist eine eigene message
|
für jede message (also für jede zeile) die daten für iobroker aufbereiten, so das notfalls der state angelegt werden kann, also mit unit, beschreibung, etc.
|
die letzte iobroker node hat keine konfiguration, da sie direkt die aufbereiteten daten nehemn und dann nach iobroker schreiben kann.also nimm den flow aus dem letzten post, importier ihn, beachte mein hinweis weiter oben zur konfiguration von node-red, damit er auch states nach 0_userdata schreiben darf.
lass den flow laufen. dann findest du unterhalb des datenpunkts
0_userdata.0.noderedbattery
die komplette struktur. screenshot habe ich gestern schon eingefügt.
je battery id werden nun diverse states angelegt mit den werten aus der tabelle
wenn du den datenpunktnamen ändern willst, dann kannst du das in der node zur aufbereitung der iobroker daten
@OliverIO
Bitte höfflichst um entschuldigung. Jetzt scheint es zu gehen.
Ich habe den letzten Flow genommen und die konvertierung an den Ausgang des Aufrufs gehängt und gestartet. Jetzt werden im Iob alle Datenpunkte sauber erstellt.

und ja, das "@" scheint eine Art Markierung für die Antwort zu sein, die kommt bei allen Abfragen immer als erstes, egal was man sich holt.
Wieso auch immer das vorher jedes Datenfeld in eine eigene msg geschrieben hat, weiss ich nicht, aber das habe ich gemeint.
Vielen Dank für deine aufwendige Arbeit, ich bin da eben echt eher der Handwerker und tue mich mit Software erstellen meist sehr schwer. Ich baue mir jetzt da mal rund um ein Flow der mir periodisch alle Zellen abholt und in die Datenpunkte schreibt.
Sobald ich das habe, stelle ich das hier zur Verfügung. -
@OliverIO
Bitte höfflichst um entschuldigung. Jetzt scheint es zu gehen.
Ich habe den letzten Flow genommen und die konvertierung an den Ausgang des Aufrufs gehängt und gestartet. Jetzt werden im Iob alle Datenpunkte sauber erstellt.

und ja, das "@" scheint eine Art Markierung für die Antwort zu sein, die kommt bei allen Abfragen immer als erstes, egal was man sich holt.
Wieso auch immer das vorher jedes Datenfeld in eine eigene msg geschrieben hat, weiss ich nicht, aber das habe ich gemeint.
Vielen Dank für deine aufwendige Arbeit, ich bin da eben echt eher der Handwerker und tue mich mit Software erstellen meist sehr schwer. Ich baue mir jetzt da mal rund um ein Flow der mir periodisch alle Zellen abholt und in die Datenpunkte schreibt.
Sobald ich das habe, stelle ich das hier zur Verfügung.@andibr
Alles gut, dadurch lernt man und evtl weckt es interesse an einem komplett neuen Gebiet. Es gibt auch andere Handwerker hier die mittlerweile komplette Adapter erstellen.Als tip. mit KI (auch schon die kostenlosen wie chatgpt,claude,gemini), kann man sich sehr viel erklären lassen.
Von den ganzen function nodes habe ich selbst keine einzige Zeile selbst geschrieben.
Ich könnte zwar, aber die KI macht das mittlerweile in sekunden. Die Kunst ist nur, es ihr richtig zu beschreiben. Im Zweifel einfach Copy/Paste und ein wenig Kontext, woher es kommt, welches Umfeld du nutzt und was du versuchst zu erreichen. Im einfachsten Fall einfach nur das Ziel eintippen und dich leiten lassen.Dann noch meine Kritik an den Low und "NoCode" Tools wie node-red, n8n,blockly.
Wenn es dir zu beginn einfacher fällt mit einer grafischen Darstellung zu arbeiten, alles gut. Aber diese Tools begrenzen dich irgendwann.
Klar könnte man durch installation weiterer nodes auch dieses Problem rein grafisch und Konfiguration lösen können, aber kürzer sind immer ein paar echte Programmzeilen.
Wenn du mal den kompletten flow bereitstellst, dann werde ich mal ein javascript für den iobroker erstellen (lassen) der das gleiche macht.
Hier haben wir eigentlich schon viel javascript verwendet, weil bei so speziellen Dingen dann die Standards schnell am Ende sind.
Aber für den Anfang um etwas über Abläufe, Struktur, Ursache/Wirkung zu lernen alles gut. -
@andibr
Alles gut, dadurch lernt man und evtl weckt es interesse an einem komplett neuen Gebiet. Es gibt auch andere Handwerker hier die mittlerweile komplette Adapter erstellen.Als tip. mit KI (auch schon die kostenlosen wie chatgpt,claude,gemini), kann man sich sehr viel erklären lassen.
Von den ganzen function nodes habe ich selbst keine einzige Zeile selbst geschrieben.
Ich könnte zwar, aber die KI macht das mittlerweile in sekunden. Die Kunst ist nur, es ihr richtig zu beschreiben. Im Zweifel einfach Copy/Paste und ein wenig Kontext, woher es kommt, welches Umfeld du nutzt und was du versuchst zu erreichen. Im einfachsten Fall einfach nur das Ziel eintippen und dich leiten lassen.Dann noch meine Kritik an den Low und "NoCode" Tools wie node-red, n8n,blockly.
Wenn es dir zu beginn einfacher fällt mit einer grafischen Darstellung zu arbeiten, alles gut. Aber diese Tools begrenzen dich irgendwann.
Klar könnte man durch installation weiterer nodes auch dieses Problem rein grafisch und Konfiguration lösen können, aber kürzer sind immer ein paar echte Programmzeilen.
Wenn du mal den kompletten flow bereitstellst, dann werde ich mal ein javascript für den iobroker erstellen (lassen) der das gleiche macht.
Hier haben wir eigentlich schon viel javascript verwendet, weil bei so speziellen Dingen dann die Standards schnell am Ende sind.
Aber für den Anfang um etwas über Abläufe, Struktur, Ursache/Wirkung zu lernen alles gut.@OliverIO
Für mich als ex. Elektroninstallateur ist es eben vielfach einfacher in einer Maske zu sehen was der Code eigentlich machen sollte, als in einem strukturierten Text.Wir verwenden bei uns im Job auch sehr viel strukturierte Text für Steuerungsfunktionen, aber das ist in der Regel eine andere Abteilung, ich bin nur zuständig, dass die Elektropläne korrekt und vollständig für alle sind.
Klar, dass interesse an den Möglichkeiten ist schon lange geweckt, aber wie bei allem, wenn man das nicht oft macht, vergisst man sehr vieles wieder. Bei mir ist entstehen solche Dinge eben manchmal aus "dummen" Ideen, oder eben aus "herausforderungen" die man nicht direkt sucht.
Ich arbeite mich jetzt mal rund um und schaue was da raus kommt.
Nochmals herzlichen DankGruss Andi
(aus der überhitzten Schweiz)
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden