Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Einsteigerfragen
  4. Einbindung von Geräten
  5. JK BMS mit Modbus Adapter über RS485 zu TCP einbinden.

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

JK BMS mit Modbus Adapter über RS485 zu TCP einbinden.

Geplant Angeheftet Gesperrt Verschoben Einbindung von Geräten
111 Beiträge 8 Kommentatoren 11.9k Aufrufe 6 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • SierraS Sierra

    @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.

    782788a3-6d64-4fd6-b13d-6ed6a8db8ec1-grafik.png

    Als Kontrolle ob wirklich Ein oder Aus mit den anderen Registern:

    a8dd9115-8a0e-443c-9b75-5dbaeb922fdd-grafik.png

    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 :blush:

    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.

    D Online
    D Online
    Dieter_P
    schrieb am zuletzt editiert von Dieter_P
    #98

    @sierra @Elektroniker86
    Danke für eure dokumentierte Vorarbeit!

    Habe gerade versucht zwei v19 BMS (Master-Slave-Verbund) über Buchse RS485-1 mit einem RS485 zu TCP Adapter auszulesen.

    Klappt genau wie ihr es beschrieben habt.

    Eine Geräte-ID in der Modbus-Adapterinstanz passen zum Steckplatz (ID:0 oder ID:1) funktioniert prima.

    Mehrere Geräte IDs in der Adapterinstanz klappt bei mir gar nicht, egalwelche ID ich abfrage und wo es eingesteckt ist.

    Habt ihr dazu noch etwas herausgefunden?

    Müßte dazu nun einen zweiten RS485-TCP Converter spendieren und falls ein drittes Batteriepack kommt, noch einen, klingt aufwendig für ein BUSsystem :(

    SierraS Elektroniker86E 2 Antworten Letzte Antwort
    0
    • D Dieter_P

      @sierra @Elektroniker86
      Danke für eure dokumentierte Vorarbeit!

      Habe gerade versucht zwei v19 BMS (Master-Slave-Verbund) über Buchse RS485-1 mit einem RS485 zu TCP Adapter auszulesen.

      Klappt genau wie ihr es beschrieben habt.

      Eine Geräte-ID in der Modbus-Adapterinstanz passen zum Steckplatz (ID:0 oder ID:1) funktioniert prima.

      Mehrere Geräte IDs in der Adapterinstanz klappt bei mir gar nicht, egalwelche ID ich abfrage und wo es eingesteckt ist.

      Habt ihr dazu noch etwas herausgefunden?

      Müßte dazu nun einen zweiten RS485-TCP Converter spendieren und falls ein drittes Batteriepack kommt, noch einen, klingt aufwendig für ein BUSsystem :(

      SierraS Offline
      SierraS Offline
      Sierra
      schrieb am zuletzt editiert von
      #99

      @dieter_p
      Nein ich habe nichts mehr weiter getestet.

      Interessant wäre ob dies vielleicht mit einem RJ45 Splitter funktionieren würde.
      Weiss aber nicht ob die Ports des BMS dafür gemacht sind, riskieren will ich das ehrlich gesagt nicht :grimacing:

      1 Antwort Letzte Antwort
      1
      • D Dieter_P

        @sierra @Elektroniker86
        Danke für eure dokumentierte Vorarbeit!

        Habe gerade versucht zwei v19 BMS (Master-Slave-Verbund) über Buchse RS485-1 mit einem RS485 zu TCP Adapter auszulesen.

        Klappt genau wie ihr es beschrieben habt.

        Eine Geräte-ID in der Modbus-Adapterinstanz passen zum Steckplatz (ID:0 oder ID:1) funktioniert prima.

        Mehrere Geräte IDs in der Adapterinstanz klappt bei mir gar nicht, egalwelche ID ich abfrage und wo es eingesteckt ist.

        Habt ihr dazu noch etwas herausgefunden?

        Müßte dazu nun einen zweiten RS485-TCP Converter spendieren und falls ein drittes Batteriepack kommt, noch einen, klingt aufwendig für ein BUSsystem :(

        Elektroniker86E Offline
        Elektroniker86E Offline
        Elektroniker86
        schrieb am zuletzt editiert von
        #100

        @dieter_p

        Hi,

        ich habe bereits weiter getestet und habe es hinbekommen mit zwei instanzen und einem Modbusgateway 3 Batterien auszulesen.

        Muss mir nur noch was einfallen lassen wie ich das noch schön mache damit das auch optisch was aussieht.

        Wenn ich Zeit habe werde ich meine Lösung genauer beschreiben.

        1 Antwort Letzte Antwort
        1
        • Elektroniker86E Offline
          Elektroniker86E Offline
          Elektroniker86
          schrieb am zuletzt editiert von
          #101

          Wie versprochen meine Settings bzw. mein Testaufbau.
          Werde das Gateway wahrscheinlich in ein Gehäuse einbauen und die RJ45 Buchsen auch .

          Batterie A (Adresse 0 (Master):

          Screenshot 2025-10-11 134318.png

          _address	name	description	unit	type	len	factor	offset	formula	role	room	poll	wp	cw	isScale
          4608	Zelle 1		V	uint16be	1	0.001	0		level		true	false	false	false
          4609	Zelle 2		V	uint16be	1	0.001	0		level		true	false	false	false
          4610	Zelle 3		V	uint16be	1	0.001	0		level		true	false	false	false
          4611	Zelle 4		V	uint16be	1	0.001	0		level		true	false	false	false
          4612	Zelle 5		V	uint16be	1	0.001	0		level		true	false	false	false
          4613	Zelle 6		V	uint16be	1	0.001	0		level		true	false	false	false
          4614	Zelle 7		V	uint16be	1	0.001	0		level		true	false	false	false
          4615	Zelle 8		V	uint16be	1	0.001	0		level		true	false	false	false
          4616	Zelle 9		V	uint16be	1	0.001	0		level		true	false	false	false
          4617	Zelle 10		V	uint16be	1	0.001	0		level		true	false	false	false
          4618	Zelle 11		V	uint16be	1	0.001	0		level		true	false	false	false
          4619	Zelle 12		V	uint16be	1	0.001	0		level		true	false	false	false
          4620	Zelle 13		V	uint16be	1	0.001	0		level		true	false	false	false
          4621	Zelle 14		V	uint16be	1	0.001	0		level		true	false	false	false
          4622	Zelle 15		V	uint16be	1	0.001	0		level		true	false	false	false
          4623	Zelle 16		V	uint16be	1	0.001	0		level		true	false	false	false
          4676	Max_Zelle_Spannung		V	uint16be	1	0.001	0		level		true	false	false	false
          4677	Zellen_Diff		V	uint16be	1	0.001	0		level		true	false	false	false
          4678	Max_Zelle_Nummer			uint8be	1	1	0		level		true	false	false	false
          4678	Min_Zelle_Nummer			uint8le	1	1	0		level		true	false	false	false
          4746	TempMos		°C	uint16be	1	0.1	0		level		true	false	false	false
          4749	Spannung		V	uint32be	2	0.001	0		level		true	false	false	false
          4751	Watt		W	uint32be	2	0.001	0		level		true	false	false	false
          4753	Strom		A	int32be	2	0.001	0		level		true	false	false	false
          4755	Temperatur 1		°C	int16be	1	0.1	0		level		true	false	false	false
          4756	Temperatur 2		°C	int16be	1	0.1	0		level		true	false	false	false
          4757	Alarm			uint32be	2	1	0		level		true	false	false	false
          4759	BalanCurrent		A	uint16be	1	0.001	0		level		true	false	false	false
          4760	BalanStatus			uint8le	1	1	0		level		true	false	false	false
          4760	SOC		%	uint8be	1	1	0		level		true	false	false	false
          4761	ReCap		Ah	int32be	2	0.001	0		level		true	false	false	false
          4763	MaxCap		Ah	uint32be	2	0.001	0		level		true	false	false	false
          4765	Zyklen			uint32be	2	0.001	0		level		true	false	false	false
          4767	SOCCycleCap		Ah	uint32be	2	0.001	0		level		true	false	false	false
          4769	SOCSOH		%	uint8le	1	1	0		level		true	false	false	false
          4769	Precharge			uint8be	1	1	0		level		true	false	false	false
          4770	UserAlarm			uint16be	1	1	0		level		true	false	false	false
          4771	RunTime			uint32be	2	1	0		level		true	false	false	false
          4773	Laden_Erlaubt			uint8le	1	1	0		level		true	false	false	false
          4773	Entladen_Erlaubt			uint8be	1	1	0		level		true	false	false	false
          4836	BatVol		V	uint16be	1	0.01	0		level		true	false	false	false
          4856	TempBat 3		°C	int16be	1	0.1	0		level		true	false	false	false
          4857	TempBat 4		°C	int16be	1	0.1	0		level		true	false	false	false
          4858	TempBat 5		°C	int16be	1	0.1	0		level		true	false	false	false
          5120	DeviceID			string	8	1	0		level		true	false	false	false
          5128	Hardware_Version			string	4	1	0		level		true	false	false	false
          5132	Software_Version			string	4	1	0		level		true	false	false	false
          5140	Name1			string	6	1	0		level		true	false	false	false
          5156	Installationsdatum			string	4	1	0		level		true	false	false	false
          5160	SerienNummer			string	8	1	0		level		true	false	false	false
          5168	Name2			string	8	1	0		level		true	false	false	false
          5176	Pin_Code			string	8	1	0		level		true	false	false	false
          

          Batterie B+C (Adresse 1 + 2 (Slaves):

          Screenshot 2025-10-11 134124.png

          Screenshot 2025-10-11 134144.png

          _address	deviceId	name	description	unit	type	len	factor	offset	formula	role	room	poll	wp	cw	isScale
          4608	1	Zelle 1		V	uint16be	1	0.001	0		level		true	false	false	false
          4609	1	Zelle 2		V	uint16be	1	0.001	0		level		true	false	false	false
          4610	1	Zelle 3		V	uint16be	1	0.001	0		level		true	false	false	false
          4611	1	Zelle 4		V	uint16be	1	0.001	0		level		true	false	false	false
          4612	1	Zelle 5		V	uint16be	1	0.001	0		level		true	false	false	false
          4613	1	Zelle 6		V	uint16be	1	0.001	0		level		true	false	false	false
          4614	1	Zelle 7		V	uint16be	1	0.001	0		level		true	false	false	false
          4615	1	Zelle 8		V	uint16be	1	0.001	0		level		true	false	false	false
          4616	1	Zelle 9		V	uint16be	1	0.001	0		level		true	false	false	false
          4617	1	Zelle 10		V	uint16be	1	0.001	0		level		true	false	false	false
          4618	1	Zelle 11		V	uint16be	1	0.001	0		level		true	false	false	false
          4619	1	Zelle 12		V	uint16be	1	0.001	0		level		true	false	false	false
          4620	1	Zelle 13		V	uint16be	1	0.001	0		level		true	false	false	false
          4621	1	Zelle 14		V	uint16be	1	0.001	0		level		true	false	false	false
          4622	1	Zelle 15		V	uint16be	1	0.001	0		level		true	false	false	false
          4623	1	Zelle 16		V	uint16be	1	0.001	0		level		true	false	false	false
          4676	1	Max_Zelle_Spannung		V	uint16be	1	0.001	0		level		true	false	false	false
          4677	1	Zellen_Diff		V	uint16be	1	0.001	0		level		true	false	false	false
          4678	1	Max_Zelle_Nummer			uint8be	1	1	0		level		true	false	false	false
          4678	1	Min_Zelle_Nummer			uint8le	1	1	0		level		true	false	false	false
          4746	1	TempMos		°C	uint16be	1	0.1	0		level		true	false	false	false
          4749	1	Spannung		V	uint32be	2	0.001	0		level		true	false	false	false
          4751	1	Watt		W	uint32be	2	0.001	0		level		true	false	false	false
          4753	1	Strom		A	int32be	2	0.001	0		level		true	false	false	false
          4755	1	Temperatur 1		°C	int16be	1	0.1	0		level		true	false	false	false
          4756	1	Temperatur 2		°C	int16be	1	0.1	0		level		true	false	false	false
          4757	1	Alarm			uint32be	2	1	0		level		true	false	false	false
          4759	1	BalanCurrent		A	uint16be	1	0.001	0		level		true	false	false	false
          4760	1	BalanStatus			uint8le	1	1	0		level		true	false	false	false
          4760	1	SOC		%	uint8be	1	1	0		level		true	false	false	false
          4761	1	ReCap		Ah	int32be	2	0.001	0		level		true	false	false	false
          4763	1	MaxCap		Ah	uint32be	2	0.001	0		level		true	false	false	false
          4765	1	Zyklen			uint32be	2	0.001	0		level		true	false	false	false
          4767	1	SOCCycleCap		Ah	uint32be	2	0.001	0		level		true	false	false	false
          4769	1	SOCSOH		%	uint8le	1	1	0		level		true	false	false	false
          4769	1	Precharge			uint8be	1	1	0		level		true	false	false	false
          4770	1	UserAlarm			uint16be	1	1	0		level		true	false	false	false
          4771	1	RunTime			uint32be	2	1	0		level		true	false	false	false
          4773	1	Laden_Erlaubt			uint8le	1	1	0		level		true	false	false	false
          4773	1	Entladen_Erlaubt			uint8be	1	1	0		level		true	false	false	false
          4836	1	BatVol		V	uint16be	1	0.01	0		level		true	false	false	false
          4856	1	TempBat 3		°C	int16be	1	0.1	0		level		true	false	false	false
          4857	1	TempBat 4		°C	int16be	1	0.1	0		level		true	false	false	false
          4858	1	TempBat 5		°C	int16be	1	0.1	0		level		true	false	false	false
          5120	1	DeviceID			string	8	1	0		level		true	false	false	false
          5128	1	Hardware_Version			string	4	1	0		level		true	false	false	false
          5132	1	Software_Version			string	4	1	0		level		true	false	false	false
          5140	1	Name1			string	6	1	0		level		true	false	false	false
          5156	1	Installationsdatum			string	4	1	0		level		true	false	false	false
          5160	1	SerienNummer			string	8	1	0		level		true	false	false	false
          5168	1	Name2			string	8	1	0		level		true	false	false	false
          5176	1	Pin_Code			string	8	1	0		level		true	false	false	false
          4608	2	Zelle 1		V	uint16be	1	0.001	0		level		true	false	false	false
          4609	2	Zelle 2		V	uint16be	1	0.001	0		level		true	false	false	false
          4610	2	Zelle 3		V	uint16be	1	0.001	0		level		true	false	false	false
          4611	2	Zelle 4		V	uint16be	1	0.001	0		level		true	false	false	false
          4612	2	Zelle 5		V	uint16be	1	0.001	0		level		true	false	false	false
          4613	2	Zelle 6		V	uint16be	1	0.001	0		level		true	false	false	false
          4614	2	Zelle 7		V	uint16be	1	0.001	0		level		true	false	false	false
          4615	2	Zelle 8		V	uint16be	1	0.001	0		level		true	false	false	false
          4616	2	Zelle 9		V	uint16be	1	0.001	0		level		true	false	false	false
          4617	2	Zelle 10		V	uint16be	1	0.001	0		level		true	false	false	false
          4618	2	Zelle 11		V	uint16be	1	0.001	0		level		true	false	false	false
          4619	2	Zelle 12		V	uint16be	1	0.001	0		level		true	false	false	false
          4620	2	Zelle 13		V	uint16be	1	0.001	0		level		true	false	false	false
          4621	2	Zelle 14		V	uint16be	1	0.001	0		level		true	false	false	false
          4622	2	Zelle 15		V	uint16be	1	0.001	0		level		true	false	false	false
          4623	2	Zelle 16		V	uint16be	1	0.001	0		level		true	false	false	false
          4676	2	Max_Zelle_Spannung		V	uint16be	1	0.001	0		level		true	false	false	false
          4677	2	Zellen_Diff		V	uint16be	1	0.001	0		level		true	false	false	false
          4678	2	Max_Zelle_Nummer			uint8be	1	1	0		level		true	false	false	false
          4678	2	Min_Zelle_Nummer			uint8le	1	1	0		level		true	false	false	false
          4746	2	TempMos		°C	uint16be	1	0.1	0		level		true	false	false	false
          4749	2	Spannung		V	uint32be	2	0.001	0		level		true	false	false	false
          4751	2	Watt		W	uint32be	2	0.001	0		level		true	false	false	false
          4753	2	Strom		A	int32be	2	0.001	0		level		true	false	false	false
          4755	2	Temperatur 1		°C	int16be	1	0.1	0		level		true	false	false	false
          4756	2	Temperatur 2		°C	int16be	1	0.1	0		level		true	false	false	false
          4757	2	Alarm			uint32be	2	1	0		level		true	false	false	false
          4759	2	BalanCurrent		A	uint16be	1	0.001	0		level		true	false	false	false
          4760	2	BalanStatus			uint8le	1	1	0		level		true	false	false	false
          4760	2	SOC		%	uint8be	1	1	0		level		true	false	false	false
          4761	2	ReCap		Ah	int32be	2	0.001	0		level		true	false	false	false
          4763	2	MaxCap		Ah	uint32be	2	0.001	0		level		true	false	false	false
          4765	2	Zyklen			uint32be	2	0.001	0		level		true	false	false	false
          4767	2	SOCCycleCap		Ah	uint32be	2	0.001	0		level		true	false	false	false
          4769	2	SOCSOH		%	uint8le	1	1	0		level		true	false	false	false
          4769	2	Precharge			uint8be	1	1	0		level		true	false	false	false
          4770	2	UserAlarm			uint16be	1	1	0		level		true	false	false	false
          4771	2	RunTime			uint32be	2	1	0		level		true	false	false	false
          4773	2	Laden_Erlaubt			uint8le	1	1	0		level		true	false	false	false
          4773	2	Entladen_Erlaubt			uint8be	1	1	0		level		true	false	false	false
          4836	2	BatVol		V	uint16be	1	0.01	0		level		true	false	false	false
          4856	2	TempBat 3		°C	int16be	1	0.1	0		level		true	false	false	false
          4857	2	TempBat 4		°C	int16be	1	0.1	0		level		true	false	false	false
          4858	2	TempBat 5		°C	int16be	1	0.1	0		level		true	false	false	false
          5120	2	DeviceID			string	8	1	0		level		true	false	false	false
          5128	2	Hardware_Version			string	4	1	0		level		true	false	false	false
          5132	2	Software_Version			string	4	1	0		level		true	false	false	false
          5140	2	Name1			string	6	1	0		level		true	false	false	false
          5156	2	Installationsdatum			string	4	1	0		level		true	false	false	false
          5160	2	SerienNummer			string	8	1	0		level		true	false	false	false
          5168	2	Name2			string	8	1	0		level		true	false	false	false
          5176	2	Pin_Code			string	8	1	0		level		true	false	false	false
          

          Screenshot 2025-10-11 134049.png

          Screenshot 2025-10-11 133910.png Screenshot 2025-10-11 133846.png Screenshot 2025-10-11 133819.png Screenshot 2025-10-11 133758.png Screenshot 2025-10-11 133729.png Screenshot 2025-10-11 133703.png

          20251011_131225.jpg 20251011_134808.jpg 20251011_134816.jpg 20251011_134832.jpg

          D 1 Antwort Letzte Antwort
          1
          • Elektroniker86E Elektroniker86

            Wie versprochen meine Settings bzw. mein Testaufbau.
            Werde das Gateway wahrscheinlich in ein Gehäuse einbauen und die RJ45 Buchsen auch .

            Batterie A (Adresse 0 (Master):

            Screenshot 2025-10-11 134318.png

            _address	name	description	unit	type	len	factor	offset	formula	role	room	poll	wp	cw	isScale
            4608	Zelle 1		V	uint16be	1	0.001	0		level		true	false	false	false
            4609	Zelle 2		V	uint16be	1	0.001	0		level		true	false	false	false
            4610	Zelle 3		V	uint16be	1	0.001	0		level		true	false	false	false
            4611	Zelle 4		V	uint16be	1	0.001	0		level		true	false	false	false
            4612	Zelle 5		V	uint16be	1	0.001	0		level		true	false	false	false
            4613	Zelle 6		V	uint16be	1	0.001	0		level		true	false	false	false
            4614	Zelle 7		V	uint16be	1	0.001	0		level		true	false	false	false
            4615	Zelle 8		V	uint16be	1	0.001	0		level		true	false	false	false
            4616	Zelle 9		V	uint16be	1	0.001	0		level		true	false	false	false
            4617	Zelle 10		V	uint16be	1	0.001	0		level		true	false	false	false
            4618	Zelle 11		V	uint16be	1	0.001	0		level		true	false	false	false
            4619	Zelle 12		V	uint16be	1	0.001	0		level		true	false	false	false
            4620	Zelle 13		V	uint16be	1	0.001	0		level		true	false	false	false
            4621	Zelle 14		V	uint16be	1	0.001	0		level		true	false	false	false
            4622	Zelle 15		V	uint16be	1	0.001	0		level		true	false	false	false
            4623	Zelle 16		V	uint16be	1	0.001	0		level		true	false	false	false
            4676	Max_Zelle_Spannung		V	uint16be	1	0.001	0		level		true	false	false	false
            4677	Zellen_Diff		V	uint16be	1	0.001	0		level		true	false	false	false
            4678	Max_Zelle_Nummer			uint8be	1	1	0		level		true	false	false	false
            4678	Min_Zelle_Nummer			uint8le	1	1	0		level		true	false	false	false
            4746	TempMos		°C	uint16be	1	0.1	0		level		true	false	false	false
            4749	Spannung		V	uint32be	2	0.001	0		level		true	false	false	false
            4751	Watt		W	uint32be	2	0.001	0		level		true	false	false	false
            4753	Strom		A	int32be	2	0.001	0		level		true	false	false	false
            4755	Temperatur 1		°C	int16be	1	0.1	0		level		true	false	false	false
            4756	Temperatur 2		°C	int16be	1	0.1	0		level		true	false	false	false
            4757	Alarm			uint32be	2	1	0		level		true	false	false	false
            4759	BalanCurrent		A	uint16be	1	0.001	0		level		true	false	false	false
            4760	BalanStatus			uint8le	1	1	0		level		true	false	false	false
            4760	SOC		%	uint8be	1	1	0		level		true	false	false	false
            4761	ReCap		Ah	int32be	2	0.001	0		level		true	false	false	false
            4763	MaxCap		Ah	uint32be	2	0.001	0		level		true	false	false	false
            4765	Zyklen			uint32be	2	0.001	0		level		true	false	false	false
            4767	SOCCycleCap		Ah	uint32be	2	0.001	0		level		true	false	false	false
            4769	SOCSOH		%	uint8le	1	1	0		level		true	false	false	false
            4769	Precharge			uint8be	1	1	0		level		true	false	false	false
            4770	UserAlarm			uint16be	1	1	0		level		true	false	false	false
            4771	RunTime			uint32be	2	1	0		level		true	false	false	false
            4773	Laden_Erlaubt			uint8le	1	1	0		level		true	false	false	false
            4773	Entladen_Erlaubt			uint8be	1	1	0		level		true	false	false	false
            4836	BatVol		V	uint16be	1	0.01	0		level		true	false	false	false
            4856	TempBat 3		°C	int16be	1	0.1	0		level		true	false	false	false
            4857	TempBat 4		°C	int16be	1	0.1	0		level		true	false	false	false
            4858	TempBat 5		°C	int16be	1	0.1	0		level		true	false	false	false
            5120	DeviceID			string	8	1	0		level		true	false	false	false
            5128	Hardware_Version			string	4	1	0		level		true	false	false	false
            5132	Software_Version			string	4	1	0		level		true	false	false	false
            5140	Name1			string	6	1	0		level		true	false	false	false
            5156	Installationsdatum			string	4	1	0		level		true	false	false	false
            5160	SerienNummer			string	8	1	0		level		true	false	false	false
            5168	Name2			string	8	1	0		level		true	false	false	false
            5176	Pin_Code			string	8	1	0		level		true	false	false	false
            

            Batterie B+C (Adresse 1 + 2 (Slaves):

            Screenshot 2025-10-11 134124.png

            Screenshot 2025-10-11 134144.png

            _address	deviceId	name	description	unit	type	len	factor	offset	formula	role	room	poll	wp	cw	isScale
            4608	1	Zelle 1		V	uint16be	1	0.001	0		level		true	false	false	false
            4609	1	Zelle 2		V	uint16be	1	0.001	0		level		true	false	false	false
            4610	1	Zelle 3		V	uint16be	1	0.001	0		level		true	false	false	false
            4611	1	Zelle 4		V	uint16be	1	0.001	0		level		true	false	false	false
            4612	1	Zelle 5		V	uint16be	1	0.001	0		level		true	false	false	false
            4613	1	Zelle 6		V	uint16be	1	0.001	0		level		true	false	false	false
            4614	1	Zelle 7		V	uint16be	1	0.001	0		level		true	false	false	false
            4615	1	Zelle 8		V	uint16be	1	0.001	0		level		true	false	false	false
            4616	1	Zelle 9		V	uint16be	1	0.001	0		level		true	false	false	false
            4617	1	Zelle 10		V	uint16be	1	0.001	0		level		true	false	false	false
            4618	1	Zelle 11		V	uint16be	1	0.001	0		level		true	false	false	false
            4619	1	Zelle 12		V	uint16be	1	0.001	0		level		true	false	false	false
            4620	1	Zelle 13		V	uint16be	1	0.001	0		level		true	false	false	false
            4621	1	Zelle 14		V	uint16be	1	0.001	0		level		true	false	false	false
            4622	1	Zelle 15		V	uint16be	1	0.001	0		level		true	false	false	false
            4623	1	Zelle 16		V	uint16be	1	0.001	0		level		true	false	false	false
            4676	1	Max_Zelle_Spannung		V	uint16be	1	0.001	0		level		true	false	false	false
            4677	1	Zellen_Diff		V	uint16be	1	0.001	0		level		true	false	false	false
            4678	1	Max_Zelle_Nummer			uint8be	1	1	0		level		true	false	false	false
            4678	1	Min_Zelle_Nummer			uint8le	1	1	0		level		true	false	false	false
            4746	1	TempMos		°C	uint16be	1	0.1	0		level		true	false	false	false
            4749	1	Spannung		V	uint32be	2	0.001	0		level		true	false	false	false
            4751	1	Watt		W	uint32be	2	0.001	0		level		true	false	false	false
            4753	1	Strom		A	int32be	2	0.001	0		level		true	false	false	false
            4755	1	Temperatur 1		°C	int16be	1	0.1	0		level		true	false	false	false
            4756	1	Temperatur 2		°C	int16be	1	0.1	0		level		true	false	false	false
            4757	1	Alarm			uint32be	2	1	0		level		true	false	false	false
            4759	1	BalanCurrent		A	uint16be	1	0.001	0		level		true	false	false	false
            4760	1	BalanStatus			uint8le	1	1	0		level		true	false	false	false
            4760	1	SOC		%	uint8be	1	1	0		level		true	false	false	false
            4761	1	ReCap		Ah	int32be	2	0.001	0		level		true	false	false	false
            4763	1	MaxCap		Ah	uint32be	2	0.001	0		level		true	false	false	false
            4765	1	Zyklen			uint32be	2	0.001	0		level		true	false	false	false
            4767	1	SOCCycleCap		Ah	uint32be	2	0.001	0		level		true	false	false	false
            4769	1	SOCSOH		%	uint8le	1	1	0		level		true	false	false	false
            4769	1	Precharge			uint8be	1	1	0		level		true	false	false	false
            4770	1	UserAlarm			uint16be	1	1	0		level		true	false	false	false
            4771	1	RunTime			uint32be	2	1	0		level		true	false	false	false
            4773	1	Laden_Erlaubt			uint8le	1	1	0		level		true	false	false	false
            4773	1	Entladen_Erlaubt			uint8be	1	1	0		level		true	false	false	false
            4836	1	BatVol		V	uint16be	1	0.01	0		level		true	false	false	false
            4856	1	TempBat 3		°C	int16be	1	0.1	0		level		true	false	false	false
            4857	1	TempBat 4		°C	int16be	1	0.1	0		level		true	false	false	false
            4858	1	TempBat 5		°C	int16be	1	0.1	0		level		true	false	false	false
            5120	1	DeviceID			string	8	1	0		level		true	false	false	false
            5128	1	Hardware_Version			string	4	1	0		level		true	false	false	false
            5132	1	Software_Version			string	4	1	0		level		true	false	false	false
            5140	1	Name1			string	6	1	0		level		true	false	false	false
            5156	1	Installationsdatum			string	4	1	0		level		true	false	false	false
            5160	1	SerienNummer			string	8	1	0		level		true	false	false	false
            5168	1	Name2			string	8	1	0		level		true	false	false	false
            5176	1	Pin_Code			string	8	1	0		level		true	false	false	false
            4608	2	Zelle 1		V	uint16be	1	0.001	0		level		true	false	false	false
            4609	2	Zelle 2		V	uint16be	1	0.001	0		level		true	false	false	false
            4610	2	Zelle 3		V	uint16be	1	0.001	0		level		true	false	false	false
            4611	2	Zelle 4		V	uint16be	1	0.001	0		level		true	false	false	false
            4612	2	Zelle 5		V	uint16be	1	0.001	0		level		true	false	false	false
            4613	2	Zelle 6		V	uint16be	1	0.001	0		level		true	false	false	false
            4614	2	Zelle 7		V	uint16be	1	0.001	0		level		true	false	false	false
            4615	2	Zelle 8		V	uint16be	1	0.001	0		level		true	false	false	false
            4616	2	Zelle 9		V	uint16be	1	0.001	0		level		true	false	false	false
            4617	2	Zelle 10		V	uint16be	1	0.001	0		level		true	false	false	false
            4618	2	Zelle 11		V	uint16be	1	0.001	0		level		true	false	false	false
            4619	2	Zelle 12		V	uint16be	1	0.001	0		level		true	false	false	false
            4620	2	Zelle 13		V	uint16be	1	0.001	0		level		true	false	false	false
            4621	2	Zelle 14		V	uint16be	1	0.001	0		level		true	false	false	false
            4622	2	Zelle 15		V	uint16be	1	0.001	0		level		true	false	false	false
            4623	2	Zelle 16		V	uint16be	1	0.001	0		level		true	false	false	false
            4676	2	Max_Zelle_Spannung		V	uint16be	1	0.001	0		level		true	false	false	false
            4677	2	Zellen_Diff		V	uint16be	1	0.001	0		level		true	false	false	false
            4678	2	Max_Zelle_Nummer			uint8be	1	1	0		level		true	false	false	false
            4678	2	Min_Zelle_Nummer			uint8le	1	1	0		level		true	false	false	false
            4746	2	TempMos		°C	uint16be	1	0.1	0		level		true	false	false	false
            4749	2	Spannung		V	uint32be	2	0.001	0		level		true	false	false	false
            4751	2	Watt		W	uint32be	2	0.001	0		level		true	false	false	false
            4753	2	Strom		A	int32be	2	0.001	0		level		true	false	false	false
            4755	2	Temperatur 1		°C	int16be	1	0.1	0		level		true	false	false	false
            4756	2	Temperatur 2		°C	int16be	1	0.1	0		level		true	false	false	false
            4757	2	Alarm			uint32be	2	1	0		level		true	false	false	false
            4759	2	BalanCurrent		A	uint16be	1	0.001	0		level		true	false	false	false
            4760	2	BalanStatus			uint8le	1	1	0		level		true	false	false	false
            4760	2	SOC		%	uint8be	1	1	0		level		true	false	false	false
            4761	2	ReCap		Ah	int32be	2	0.001	0		level		true	false	false	false
            4763	2	MaxCap		Ah	uint32be	2	0.001	0		level		true	false	false	false
            4765	2	Zyklen			uint32be	2	0.001	0		level		true	false	false	false
            4767	2	SOCCycleCap		Ah	uint32be	2	0.001	0		level		true	false	false	false
            4769	2	SOCSOH		%	uint8le	1	1	0		level		true	false	false	false
            4769	2	Precharge			uint8be	1	1	0		level		true	false	false	false
            4770	2	UserAlarm			uint16be	1	1	0		level		true	false	false	false
            4771	2	RunTime			uint32be	2	1	0		level		true	false	false	false
            4773	2	Laden_Erlaubt			uint8le	1	1	0		level		true	false	false	false
            4773	2	Entladen_Erlaubt			uint8be	1	1	0		level		true	false	false	false
            4836	2	BatVol		V	uint16be	1	0.01	0		level		true	false	false	false
            4856	2	TempBat 3		°C	int16be	1	0.1	0		level		true	false	false	false
            4857	2	TempBat 4		°C	int16be	1	0.1	0		level		true	false	false	false
            4858	2	TempBat 5		°C	int16be	1	0.1	0		level		true	false	false	false
            5120	2	DeviceID			string	8	1	0		level		true	false	false	false
            5128	2	Hardware_Version			string	4	1	0		level		true	false	false	false
            5132	2	Software_Version			string	4	1	0		level		true	false	false	false
            5140	2	Name1			string	6	1	0		level		true	false	false	false
            5156	2	Installationsdatum			string	4	1	0		level		true	false	false	false
            5160	2	SerienNummer			string	8	1	0		level		true	false	false	false
            5168	2	Name2			string	8	1	0		level		true	false	false	false
            5176	2	Pin_Code			string	8	1	0		level		true	false	false	false
            

            Screenshot 2025-10-11 134049.png

            Screenshot 2025-10-11 133910.png Screenshot 2025-10-11 133846.png Screenshot 2025-10-11 133819.png Screenshot 2025-10-11 133758.png Screenshot 2025-10-11 133729.png Screenshot 2025-10-11 133703.png

            20251011_131225.jpg 20251011_134808.jpg 20251011_134816.jpg 20251011_134832.jpg

            D Online
            D Online
            Dieter_P
            schrieb am zuletzt editiert von Dieter_P
            #102

            @elektroniker86
            Ganz herzlichen Dank!
            Jetzt habe ich eine Zielvorgabe :)

            Auf den ersten Blick liegt die Lösung darin um mehrere BMS auszulesen, dass der Master und die Slaves anders aus der Instanz angesprochen werden: "Master" vs. "Mehrere IDs".

            Ich hatte immer verstanden, dass der RS485-1 zur Kommunikation zu einem WR immer ein Slave sein kann. Im Fall vom Master (Adresse 0) scheint das aber ein Irrweg.

            Werde mich mit der hoffentlich funktionierenden Lösung blad melden.

            Liest du bei dir nur Werte oder kannst Du auch Schreiben und Werte ändern?

            Elektroniker86E 1 Antwort Letzte Antwort
            0
            • D Dieter_P

              @elektroniker86
              Ganz herzlichen Dank!
              Jetzt habe ich eine Zielvorgabe :)

              Auf den ersten Blick liegt die Lösung darin um mehrere BMS auszulesen, dass der Master und die Slaves anders aus der Instanz angesprochen werden: "Master" vs. "Mehrere IDs".

              Ich hatte immer verstanden, dass der RS485-1 zur Kommunikation zu einem WR immer ein Slave sein kann. Im Fall vom Master (Adresse 0) scheint das aber ein Irrweg.

              Werde mich mit der hoffentlich funktionierenden Lösung blad melden.

              Liest du bei dir nur Werte oder kannst Du auch Schreiben und Werte ändern?

              Elektroniker86E Offline
              Elektroniker86E Offline
              Elektroniker86
              schrieb am zuletzt editiert von
              #103

              @dieter_p sagte in JK BMS mit Modbus Adapter über RS485 zu TCP einbinden.:

              Liest du bei dir nur Werte oder kannst Du auch Schreiben und Werte ändern?

              Hi guten Abend!

              nee ich lese nur aus. Mit dem schreiben habe ich mich nicht beschäftigt. Normalerweise stellt man das einmal ein, korrigiert mal was aber dann sollte es das im besten Fall gewesen sein.
              Aber falls Du da weiter bist und die passenden Register und Settings hast, darfst Du sie gerne hier posten.

              Beste Grüße

              D 1 Antwort Letzte Antwort
              1
              • Elektroniker86E Elektroniker86

                @dieter_p sagte in JK BMS mit Modbus Adapter über RS485 zu TCP einbinden.:

                Liest du bei dir nur Werte oder kannst Du auch Schreiben und Werte ändern?

                Hi guten Abend!

                nee ich lese nur aus. Mit dem schreiben habe ich mich nicht beschäftigt. Normalerweise stellt man das einmal ein, korrigiert mal was aber dann sollte es das im besten Fall gewesen sein.
                Aber falls Du da weiter bist und die passenden Register und Settings hast, darfst Du sie gerne hier posten.

                Beste Grüße

                D Online
                D Online
                Dieter_P
                schrieb am zuletzt editiert von
                #104

                @elektroniker86

                Hi

                ja gerne. Im Prinzip bin ich ja völlig bei dir. Empfinde es auch wenig "spannend" alle Zelleinzelspannungen und Widerstände dauerhaft zu monitoren oder gar zu trenden. Ist mir definitiv zuviel unnützlicher Traffic und Daten. Ich hol mir Dauerhaft ein paar Werte wie das Maximum der Zelldiferenzspannung. Wird es kritisch/komisch muß man eh genauer schauen was los ist.

                Da aber ich aber ehrlicherweise nicht mehr an eine so "einfache" Lösung geglaubt hab, hab mir einen 4-Kanal RS485 zu Ethernet Konverter günstig geschossen und warte noch auf Lieferung.

                SierraS 1 Antwort Letzte Antwort
                0
                • D Dieter_P

                  @elektroniker86

                  Hi

                  ja gerne. Im Prinzip bin ich ja völlig bei dir. Empfinde es auch wenig "spannend" alle Zelleinzelspannungen und Widerstände dauerhaft zu monitoren oder gar zu trenden. Ist mir definitiv zuviel unnützlicher Traffic und Daten. Ich hol mir Dauerhaft ein paar Werte wie das Maximum der Zelldiferenzspannung. Wird es kritisch/komisch muß man eh genauer schauen was los ist.

                  Da aber ich aber ehrlicherweise nicht mehr an eine so "einfache" Lösung geglaubt hab, hab mir einen 4-Kanal RS485 zu Ethernet Konverter günstig geschossen und warte noch auf Lieferung.

                  SierraS Offline
                  SierraS Offline
                  Sierra
                  schrieb am zuletzt editiert von Sierra
                  #105

                  @dieter_p
                  Ich weiß nicht welches System du hast, aber falls es zum Beispiel Victron ist, bekommst du über MQTT auch den Zelldrift ausgelesen.

                  6c1be7cd-711c-4567-abf6-681cebd612d5-grafik.png

                  Mfg

                  D Elektroniker86E 2 Antworten Letzte Antwort
                  1
                  • SierraS Sierra

                    @dieter_p
                    Ich weiß nicht welches System du hast, aber falls es zum Beispiel Victron ist, bekommst du über MQTT auch den Zelldrift ausgelesen.

                    6c1be7cd-711c-4567-abf6-681cebd612d5-grafik.png

                    Mfg

                    D Online
                    D Online
                    Dieter_P
                    schrieb am zuletzt editiert von
                    #106

                    @sierra
                    Danke ja, geht auch über Modbus TCP vom Victron ausgelesen.

                    SierraS 1 Antwort Letzte Antwort
                    0
                    • D Dieter_P

                      @sierra
                      Danke ja, geht auch über Modbus TCP vom Victron ausgelesen.

                      SierraS Offline
                      SierraS Offline
                      Sierra
                      schrieb am zuletzt editiert von
                      #107

                      @dieter_p
                      Ja sollte gehen, aber aus irgendeinen Grund ist es bei mir immer 0V, keine Ahnung warum das bei mir über Modbus nicht geht.
                      Egal ob ich ID 100, 225, 227 verwende.

                      1 Antwort Letzte Antwort
                      0
                      • SierraS Sierra

                        @dieter_p
                        Ich weiß nicht welches System du hast, aber falls es zum Beispiel Victron ist, bekommst du über MQTT auch den Zelldrift ausgelesen.

                        6c1be7cd-711c-4567-abf6-681cebd612d5-grafik.png

                        Mfg

                        Elektroniker86E Offline
                        Elektroniker86E Offline
                        Elektroniker86
                        schrieb am zuletzt editiert von
                        #108

                        @sierra

                        Bei mir geht es um ein SMA Setup da bekommt man vom Batteriewechselrichter nur die Gesamt DC Spannung und den Strom ausgelesen. Mehr kommt da leider nicht.

                        Deshalb komme ich nur über die Batterie zu den Werten.

                        D 2 Antworten Letzte Antwort
                        0
                        • Elektroniker86E Elektroniker86

                          @sierra

                          Bei mir geht es um ein SMA Setup da bekommt man vom Batteriewechselrichter nur die Gesamt DC Spannung und den Strom ausgelesen. Mehr kommt da leider nicht.

                          Deshalb komme ich nur über die Batterie zu den Werten.

                          D Online
                          D Online
                          Dieter_P
                          schrieb am zuletzt editiert von Dieter_P
                          #109

                          *edit: fehler gefunden :face_palm:

                          1 Antwort Letzte Antwort
                          0
                          • Elektroniker86E Elektroniker86

                            @sierra

                            Bei mir geht es um ein SMA Setup da bekommt man vom Batteriewechselrichter nur die Gesamt DC Spannung und den Strom ausgelesen. Mehr kommt da leider nicht.

                            Deshalb komme ich nur über die Batterie zu den Werten.

                            D Online
                            D Online
                            Dieter_P
                            schrieb am zuletzt editiert von Dieter_P
                            #110

                            @Elektroniker86
                            Hast Du ggf eine Idee?

                            Ich nutze jetzt den 4ch RS485 TCP Konverter von Waveshare und hab auch jedem Kanal ein JK-BMS am RS-485 verbunden.

                            Das Master BMS (ID#01) funktioniert nach Deinen Infos super.

                            Nun hänge ich am ersten Slave und (ganz komisch) bekomme die Zellspannungen (Register 4608-4623) problemlos ausgelesen. Alle Regsteradressen danach zB 4676 Max_Zell_Spannung bleibt leer und sobald ich etwas davon im Adapter eingetragen hab, ist die Verbindung auch nicht stabil und wird getrennt (Gelbes Warndreieck in der Instanz).

                            Hast Du ene Idee?

                            d1269f8c-3a74-44e6-88c0-cd4e1ee6c784-grafik.png
                            90aed5ab-374a-4f32-9a57-b13f54b6380c-grafik.png

                            a5e70db6-1f3f-4c54-9eed-3d7c100595d9-grafik.png

                            Habe es nun so getestet und sobald Register 4676 gespeichert ist, treten Fehler auf:
                            ad3adfd1-1adc-46ef-b251-dd2179ca61ba-grafik.png

                            Edit: auch eine Erhöhung Wartezeit und Float Registerlänge auf 400 brachte leider keinen Unterschied und am Master läuft es ja mit diesen Setting aber hier:

                            modbus.2
                            	2025-11-17 11:36:01.371	info	Disconnected from slave 192.168.7.108
                            admin.0
                            	2025-11-17 11:36:01.194	info	<== Disconnect system.user.admin from ::ffff:192.168.0.2 modbus
                            admin.0
                            	2025-11-17 11:36:01.194	info	<== Disconnect system.user.admin from ::ffff:192.168.0.2 modbus
                            modbus.2
                            	2025-11-17 11:36:00.372	warn	[DevID_1] Poll error count: 2 code: {"err":"timeout","timeout":5000}
                            modbus.2
                            	2025-11-17 11:36:00.371	error	Client in error state.
                            modbus.2
                            	2025-11-17 11:36:00.370	error	Request timed out.
                            modbus.2
                            	2025-11-17 11:36:00.369	warn	Error: undefined
                            modbus.2
                            	2025-11-17 11:35:55.355	info	Connected to slave 192.168.7.108
                            admin.0
                            	2025-11-17 11:35:06.927	info	==> Connected system.user.admin from ::ffff:192.168.0.2
                            modbus.2
                            	2025-11-17 11:34:55.350	info	Disconnected from slave 192.168.7.108
                            modbus.2
                            	2025-11-17 11:34:54.350	warn	[DevID_1] Poll error count: 1 code: {"err":"timeout","timeout":5000}
                            modbus.2
                            	2025-11-17 11:34:54.349	error	Client in error state.
                            modbus.2
                            	2025-11-17 11:34:54.348	error	Request timed out.
                            modbus.2
                            	2025-11-17 11:34:54.347	warn	Error: undefined
                            modbus.2
                            	2025-11-17 11:34:49.331	info	Connected to slave 192.168.7.108
                            
                            1 Antwort Letzte Antwort
                            0
                            • D Online
                              D Online
                              Dieter_P
                              schrieb am zuletzt editiert von
                              #111

                              Habe versucht weitere Erkenntnisse zu gewinnen. Durch die funktionierende Verbindung zum Master (ID#0) war ich skeptisch, dass die Adaptereinstellungen wirklich etwas damit zu tun haben warum der Slave sich nicht auslesen lässt.

                              Habe dann mit dem Tool Modbus Poll angefangen einzelne Registeradressen auszulesen. Das hat überwiegend funktioniert. Aber es kommt au sporadisch zur Meldung 02 illegal Adress ...
                              Das deutete darauf hin, dass nicht alle Registeradressen an einem Slave lesbar sind. Für die aufgeführten Adressen von @Elektroniker86 am Slave kann ich das aber generell nicht bestätigen. Es kommt genauso Erfolg bei Adressen die auch manchmal den Fehler werfen.

                              Was sich nun als praktikabel gezeigt hat, ist das weniger oft mehr ist. Da ich die Zellspannungen zB nicht Einzeln hier benötige, habe ich das Päkchen entfernt und lese nur weitere Adressen was nun funktioniert. Im bisherigen Umfang von bis zu 10 Adressen funktioniert das. Entweder gibt es also eine Limitierung was das JK BMS als Slave auf einmal kommuniziert oder die Settings sind nicht optimal. Durch mögliche Lesungen habe ich aber erstmal eine praktikable Lösung.

                              1 Antwort Letzte Antwort
                              0
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              799

                              Online

                              32.4k

                              Benutzer

                              81.6k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe