@apollon77 Habe nun iot mit der Pro Lizenz aktiv, nach Anpassung der URL funktioniert es nun wieder.
Vielen Dank für die Hilfe!
@apollon77 Habe nun iot mit der Pro Lizenz aktiv, nach Anpassung der URL funktioniert es nun wieder.
Vielen Dank für die Hilfe!
Hier mal Screens die bei mir ohne Probleme seit ein halbes Jahr läuft.
Wohl gemerkt, nur eine Batterie und direkt USB-RS485
Und hier habe ich mal meine Liste aus dem Adapter exportiert.
JKBMS_iobroker_modbus.txt
Diese kannst du unter HoldingRegisters importieren.
Und wie schon im vorigen Post erwähnt, der Start und die Reihenfolge ist der Schlüssel.
Explizit nur den SOC Wert auszulesen, kann schon wieder eine ganz andere Adresse sein.
Am besten die komplette Liste nehmen, alles drin lassen und nur das abgreifen was du benötigst.
@klausanders
Da gebe ich dir Recht.
Es ist schon verwirrend, in der PDF stehen auch die Längen.
Für Laden Ein/Aus sind 4 Bytes vorgesehen.
Im iobroker werden bei Länge 2 angezeigt, aber da werden vermutlich 1 Länge 2 Bytes verwendet, High und Low.
Egal, ich habe mal versucht zu schreiben, also das funktioniert mit den Adressen die in der PDF steht.
Als Kontrolle ob wirklich Ein oder Aus mit den anderen Registern:
Balancer Ein/Aus zu schreiben funktioniert nicht so wirklich, da allein schon 1500 drin steht. Keine Ahnung
Da ich aber die ganzen Schreibbefehle nicht brauche, habe ich mich damit nicht wirklich beschäftigt.
Im Heimbereich ist das auch nicht wirklich Notwendig finde ich, warum sollte man da was laufend verstellen?
Einmal eingestellt und die Anlage läuft.
In einem Camper würde ich es verstehen wenn man da was abdrehen möchte
Ich habe auf meinem BMS die letzte Firmware drauf, neuere kann ich leider nicht mehr updaten da der Support für <V19 eingestellt wurde. Eine aktualisierte Registerliste wäre mal was tolles, ich denke da hat sich einiges getan die letzten Jahre.
@KlausAnders
Um welche Register geht es?
Die PDF ist schon richtig...
@elektroniker86 Habe gestern endlich meine 2. Batterie bekommen.
Hat eh nur 3 Monate gedauert
Also, anscheinend geht es wirklich nicht dass man über einen RS485 Adapter die Packs ausliest.
Ich habe es nun mit 2 Stück USB-RS485 (liegen ja beim BMS bei) gelöst.
Man muss halt 2 Modbus-Instanzen machen, eine mit Adresse 0 und eine mit Adresse 1
Die Anlage liest über CAN auch beide Batterien aus, funktioniert alles.
Sollte also mit 2 Stück RS485-TCP Adapter auch funktionieren, ansonsten sehe ich keine andere Lösung.
Grüsse
@elektroniker86 Ja aber angeblich läuft es nicht so ganz stabil. Bei mir ist es etwas einfacher, mein Raspberry Pi ist gleich neben meiner Anlage, also USB-RS485 ist absolut kein Problem, hab ich ja jetzt auch im Einsatz.
Schlimmsten Fall bau ich mir einen Sniffer über Python damit ich die Werte raus bekomme.
Mal sehen, die 2. Batterie sollte eigentlich eh bald kommen, ist ja schon 1,5 Monate unterwegs.
Wenn sie ankommt, dann wird weiter getüftelt bis es läuft
@elektroniker86 Alles klar, das bedeutet, dass ich mir dann auch was einfallen lassen kann wenn die 2. Batterie ankommt.
Oje, das werden wieder schlaflose Nächte
@elektroniker86
Einen Denkanstoß gibt es noch.
Dein grünes Patchkabel ist ja dein TCP Adapter.
Hänge das mal an den RS485 neben dem CAN.
Die anderen zwei RS485 sind theoretisch für die "interne" Kommunikation, also die Master-Batterie wo der CAN aktiv ist, liest über die "internen" RS485 Anschlüsse die weiteren Batterien aus.
Du hängst jetzt in der "internen", sendest paralell zum Master auch deine Abfragen über TCP, das ergibt eigentlich einen Konflikt.
Bei der RS485 Kommunikation darf es nur einen Master geben der Befehle senden darf und das ist in diesen Fall die Batterie.
Dein TCP Adapter ist aber auch ein Master und kann somit die Fehler verursachen weil gleichzeitig gesendet wird.
Vielleicht kommt die JK-Software am Rechner damit klar weil es als Sniffer arbeitet und die Daten einfach nur lesend abgreift.
Teste mal den anderen Anschluss neben dem CAN
Das habe ich ausprobiert, allerdings bekomme ich dann garkeine Werte mehr.
Wirklich? OK, ich habe es auf 1 eingestellt und es arbeit... Hmm interessant
Hier ist die Beschreibung mit den DIP Schalter, also nach deinen einstellungen ist es ID 0 und ID 1
Also an deiner Stelle würde ich wirklich mal schauen die Kommunikation mit einer Batterie stabil zum laufen zu bekommen, wenn das geklappt hat dann die 2. Batterie dazu, je nachdem ID 0 oder ID 2
@elektroniker86 Ne so wie in meinem Screenshot sollte es passen.
Auf deinen ersten Bilder wo man die Batterie sieht, da hast du bei einer die DIP-Schalter alle auf OFF und bei der 2. ist eine auf ON.
Bedeutet dies nicht ID0 und ID1?
In deiner Text Datei liest du aber 1 und 2 aus.
Vielleicht ist das Schuld
@elektroniker86 In der Modbus Instanz wo du auch die IP Adresse eingegeben hast.
@elektroniker86
Die Verbindungsparameter hast du eh auch angepasst?
Float Register auf 400
usw.
Nachdem du ja 2 Batterien ausliest, könntest mal die Auslesezeit "Datenabfrageintervall" erhöhen.
Und die "Wartezeit" von 50ms auf 1000ms oder 2000ms erhöhen, vielleicht braucht es mehr Zeit zwischen den ID´s.