FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: druschba am 25 März 2025, 13:47:03

Titel: MQTT Bluepalm B2500
Beitrag von: druschba am 25 März 2025, 13:47:03
Hallo,

ich möchte meinen Speicher per MQTT in Fhem einbinden.

Die Verbindung konnte ich auch schon herstellen.
MQTT ist hier aber nicht so umgesetzt, wie ich das erwartet hätte.
Wenn ich z.B. den Payload CD=01 an den Speciher schicke bekomme ich eine Antwort, die folgendermaßen außsieht und in ein reading geschrieben wird:


p1=1,p2=1,w1=132,w2=105,pe=35,vv=142,sv=11,cs=1,cd=3,am=0,o1=0,o2=0,do=100,lv=5,cj=0,kn=784,g1=0,g2=0,b1=0,b2=0,tl=14,th=15,tc=0,tf=0,fc=202303012046,id=5,a0=35,a1=0,a2=0,l0=2,l1=0


Also ganz einfach eine durch Komma seperierte Liste. Wie kann ich die einzelnen Elemente in eigene Readings packen?

Danke und Grüße

druschba
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: Beta-User am 25 März 2025, 14:36:01
Ungetestet - für die readingList:
{my $ret; for my $element (split m{,}x, $EVENT) {my ($key, $val) = split m{=}x, $element; $ret->{$key}=$val} return $ret;}Theoretischer Einstieg in das Thema ca. hier:
https://wiki.fhem.de/wiki/MQTT2_DEVICE_-_Schritt_f%C3%BCr_Schritt#Perl
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: rudolfkoenig am 25 März 2025, 15:24:52
Ich wuerde danach ueber ein jsonMap (https://fhem.de/commandref_modular.html#MQTT2_DEVICE-attr-jsonMap) nachdenken.
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: Beta-User am 25 März 2025, 19:30:29
Mich würde davor eigentlich auch interessieren, was man mit solchen Reading-Werten anfangen kann?

Vielleicht muss man nicht nur die Reading-Namen anpassen, sondern auch die Werte (teilweise) mappen?

Na ja, schauen wir mal...
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: druschba am 25 März 2025, 19:48:47
Danke für Eure Antworten.

Die Werte der einzelnen Readings sind gut dokumentiert. Damit kann ich dann den Ladezustand der Batterie etc. protokolieren und davon abhängig Energie entnehmen.

z.B. p1=1 beduetet auf eingang eins wird die batterie geladen, w1=132 Leiszung auf Eingang1 132 Watt.

Danke für Eure Anregung und Hilfe. ich werde mich mal versuchen.

Falls es interessiert hier ein LINK zu den Payloads:  https://github.com/noone2k/hm2500pub/wiki/MQTT

Danke und Grüße

druschba
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: frober am 26 März 2025, 07:39:20
Zitat von: Beta-User am 25 März 2025, 14:36:01{my $ret; for my $element (split m{,}x, $EVENT) {my ($key, $val) = split m{=}x, $element; $ret->{$key}=$val} return $ret;}

Jetzt muss ich doch fragen...

Zu meinen Verständnis
m{,}x mich irritieren die geschweiften Klammern. Diese kenne ich im Regex um die Anzahl der Wiederholungen zu beschränken. Bedeutet das, dass solange gesplittet wird, wie ein Komma vorhanden ist? Ein Split /,/ macht aber doch auch nichts anderes!?

Edit:
Ich beantworte es selbst...
Zitat aus Perldoc:
ZitatDas letzte Beispiel zeigt, dass s/// andere Trennzeichen wie s!!! und s{}{} und sogar verwendet werden können s{}//.


Zweitens, woher weiß FHEM hier den Readingsnamen, bzw. wie wird dieser ermittelt?
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: Beta-User am 26 März 2025, 08:15:37
Zitat von: frober am 26 März 2025, 07:39:20
Zitat von: Beta-User am 25 März 2025, 14:36:01{my $ret; for my $element (split m{,}x, $EVENT) {my ($key, $val) = split m{=}x, $element; $ret->{$key}=$val} return $ret;}

Jetzt muss ich doch fragen...

Zu meinen Verständnis
m{,}x mich irritieren die geschweiften Klammern. Diese kenne ich im Regex um die Anzahl der Wiederholungen zu beschränken. Bedeutet das, dass solange gesplittet wird, wie ein Komma vorhanden ist? Ein Split /,/ macht aber doch auch nichts anderes!?

Edit:
Ich beantworte es selbst...
Zitat aus Perldoc:
ZitatDas letzte Beispiel zeigt, dass s/// andere Trennzeichen wie s!!! und s{}{} und sogar verwendet werden können s{}//.


Zweitens, woher weiß FHEM hier den Readingsnamen, bzw. wie wird dieser ermittelt?
Das "split m{,}x, $EVENT" ist "vorne" einfach eine "compilerfreundlichere" Schreibweise der regex, mit der gesplittet werden soll. Das Ergebnis ist ein Array mit "x=y" Texten.

Die werden dann einfach weiter am "=" gesplittet, der erste Teil gibt den Readingnamen (key des HASH %ret, auf den referenziert wird), der hintere Teil eben den Reading-Wert.

Zitat von: druschba am 25 März 2025, 19:48:47p1=1 beduetet auf eingang eins wird die batterie geladen
Sowas hatte ich schon vermutet, d.h. "eigentlich" willst du am Ende doch zum Teil "Menschenlesbare Text-Reading-Inhalte".

Für sowas ist es m.E. sinnvoll, die ganze Analyse von $EVENT an eine sub auszulagern, die das erledigt. Siehe z.B. (den weiter verlinkten Thread) hier: https://forum.fhem.de/index.php?msg=1109103
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: frober am 26 März 2025, 08:30:36
Zitat von: Beta-User am 26 März 2025, 08:15:37Die werden dann einfach weiter am "=" gesplittet, der erste Teil gibt den Readingnamen (key des HASH %ret, auf den referenziert wird), der hintere Teil eben den Reading-Wert.

D.h. mit
return $retwird die Referenz
$ret->{$key}=$valanalog
Reading=Wert übergeben.

Danke für die Erläuterung.


Titel: Aw: MQTT Bluepalm B2500
Beitrag von: TomLee am 26 März 2025, 08:32:54
Moin,

ich habs so verstanden das m erlaubt einen anderen Delimiter anzugeben wie /.
Das x ist in dem Fall mein ich überflüssig.
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: Beta-User am 26 März 2025, 08:42:07
Zitat von: TomLee am 26 März 2025, 08:32:54ich habs so verstanden das m erlaubt einen anderen Delimiter anzugeben wie /.
Ja. Wobei bestimmte "Klammern" halt paarig anzugeben sind, es ginge z.B. auch:
m<,>x
Zitat von: frober am 26 März 2025, 08:30:36wird die Referenz
Nope. Ganz am Ende nach Auswertung aller Paare wird die Referenz auf einen HASH übergeben, der alle so ermittelbaren Paare enthält, und nicht, (so verstehe ich deine Rückmeldung?) nur ein einzelnes "Reading=Wert"-Paar.

PS: Ob das syntaktisch so klappt, habe ich nicht näher geprüft. Das mit den Siegeln (\%{$ret}?!?) ist immer wieder lustig... Von daher würde mich erst mal von @druschba interessieren, ob das (Zwischen-) Ergebnis paßt, ohne das log zu füllen ;D .
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: frober am 26 März 2025, 08:52:12
Zitat von: Beta-User am 26 März 2025, 08:42:07Nope. Ganz am Ende nach Auswertung aller Paare wird die Referenz auf einen HASH übergeben, der alle so ermittelbaren Paare enthält, und nicht, (so verstehe ich deine Rückmeldung?) nur ein einzelnes "Reading=Wert"-Paar.

Dein Code habe ich soweit schon verstanden.
Durch die for-Schleife werden alle ermittelten "Reading=Wert"-Paare übergeben.
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: TomLee am 26 März 2025, 08:53:43
ZitatPS: Ob das syntaktisch so klappt, habe ich nicht näher geprüft.

Ich vermute es klappt, habs aber auch nicht ausprobiert. Hab mich nur so lange damit beschäftigt, bis ich alles verstanden habe.
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: TomLee am 26 März 2025, 09:06:14
Muss jetzt los.

Aber eins noch.
Richtiger wäre $ret so anzugeben: my $ret={};
my ($key, $val) = split m{=}x, $element; sollte nur einmal durchlaufen werden, sollte ein = im Wert vorkommen:
my ($key, $val) = split m{=}x, $element,2;

Und dann könnte man noch für einen Ersatzwert sorgen, falls Wert mal leer ist.
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: Beta-User am 26 März 2025, 09:37:41
Zitat von: TomLee am 26 März 2025, 09:06:14Richtiger wäre $ret so anzugeben: my $ret={};
Wie kommst du darauf?

Mein Verständnis - entsprechend https://perldoc.perl.org/perldata - ist:
ZitatPerl has three built-in data types: scalars, arrays of scalars, and associative arrays of scalars, known as "hashes". A scalar is a single string (of any size, limited only by the available memory), number, or a reference to something
Da es Perl sowieso erlaubt, die Inhalte des hier relevanten SCALAR "$ret" zwischen (den drei genannten) "beliebigen" Variablen-Typen hin- und herzutauschen, muss man nicht erst explizit sagen, dass $ret eine Referenz auf einen HASH sein soll (per geschweifter Klammer).

Das mit der ",2" bei split ist zumindest theoretisch korrekt, in dem gegebenen Beispiel kam es aber genausowenig vor wie der Fall, dass gar kein Wert zugewiesen war. Daher habe ich das nicht weiter verkomplizieren wollen.


Zitat von: frober am 26 März 2025, 08:52:12Durch die for-Schleife werden alle ermittelten "Reading=Wert"-Paare übergeben.
Sprachlich m.E. korrekter: durch die for-Schleife werden alle "Reading=Wert"-Paare in den referenzierten HASH geschrieben.

Titel: Aw: MQTT Bluepalm B2500
Beitrag von: TomLee am 26 März 2025, 12:49:05
ZitatWie kommst du darauf?

Richtiger war auf die Schnelle vlt. falsch ausgedrückt. Würde man die geschweiften Klammern mit angeben, wäre es verständlicher/leichter auf Anhieb zu lesen/verstehen. So ist es erstmal nur ne skalare Variable, später ergibt sich das es eine Hashreferenz ist.
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: Beta-User am 26 März 2025, 13:07:44
Zitat von: TomLee am 26 März 2025, 12:49:05wäre es verständlicher/leichter auf Anhieb zu lesen/verstehen.
Der Schnippsel ist (als one-liner) eh' kaum lesbar ;D .
Und die Aufgabenstellung war insgesamt auch eher von der Art, von der ich angenommen hatte, dass es besser ist, das als Code zu liefern wie als "lies das und das!"-Variante ;) .

Aber es freut mich, dass anscheinend etwas breiteres Interesse an solchen Schnippselchen besteht ;D .
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: SaibotRetsevlis am 30 März 2025, 18:57:35
Hallo Forum,
wie kann der MQTT Server, also fehm, den Payload schicken?
Danke

Zitat von: druschba am 25 März 2025, 13:47:03Wenn ich z.B. den Payload CD=01 an den Speciher schicke bekomme ich eine Antwort, die folgendermaßen außsieht und in ein reading geschrieben wird:
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: TomLee am 30 März 2025, 19:27:48
Das ist in der Bedienungsanleitung (help MQTT2_SERVER) beschrieben.

https://fhem.de/commandref_modular.html#MQTT2_DEVICE-attr-setList
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: SaibotRetsevlis am 30 März 2025, 19:52:14
Danke hat funktioniert
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: AlexMuc am 07 Juni 2025, 16:15:28
Hallo druschba,
nachdem ich jetzt endlich "das Original" von Marstek habe, möchte ich den auch gerne in Hem einbinden.

Wie genau hast du den eingebunden nachdem du MQTT auf dem Gerät aktiviert hast?
Soweit ich das sehe, muß man den ja regelmäßig selber abfrage, d.h. man erstellt sich ein doif oder at welches einen Befehl per MQTT sendet und bekommt dann die Antwort. Würdest du dein MQTT Device und das Device für die Abfrage hier posten. Sonst muß ich und alle anderen nach mir das Rad neu erfinden wenn wir den Speicher einbinden wollen.

Alex
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: Diblominschenör am 25 Mai 2026, 22:50:42
Alter Thread ich weis,
aber hat jemand inzwischen Bluepalm / Marstek / Saturn / Tronic - b2500(-d) Speicher per MQTT am laufen?

Ich habe gerade das Projekt ESPHome B2500 ( https://tomquist.github.io/esphome-b2500/ )
für meine zwei Marstek B2500-D aufgesetzt, damit bekommt man MQTT Daten ohne die
Marstek App zum FHEM geschickt, aber ich habe definitiv Probleme mit der Auswertung!

Wäre wirklich cool wenn da schon jemand was gebastelt hätte....

Titel: Aw: MQTT Bluepalm B2500
Beitrag von: DeeSPe am 25 Mai 2026, 23:19:26
Damit (https://tomquist.github.io/hmjs/) MQTT aktivieren und damit (https://github.com/tomquist/hm2mqtt) vernünftige Readings erzeugen lassen.
Das läuft bei mir seit paar Monaten sehr gut.

Gruß
Dan
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: JWRu am 27 Mai 2026, 07:10:43
Ich habe den ESPHome B2500 laufen. Ich will die Marstek App gerne weiter nutzen, weil die Nulleinspeisung (Automodus) mit dem EcoTracker recht gut funktioniert.
Das geht mit der von @DeeSPe beschriebenen Lösung nicht - die sollte man nehmen, wenn man "cloudfrei" arbeiten will.
So sehen meine Readings etc. aus: JSONMAP:
     voltage_cells_1 voltage_cell_01
     voltage_cells_10 voltage_cell_10
     voltage_cells_11 voltage_cell_11
     voltage_cells_12 voltage_cell_12
     voltage_cells_13 voltage_cell_13
     voltage_cells_14 voltage_cell_14
     voltage_cells_2 voltage_cell_02
     voltage_cells_3 voltage_cell_03
     voltage_cells_4 voltage_cell_04
     voltage_cells_5 voltage_cell_05
     voltage_cells_6 voltage_cell_06
     voltage_cells_7 voltage_cell_07
     voltage_cells_8 voltage_cell_08
     voltage_cells_9 voltage_cell_09
   READINGS:
     2026-05-26 15:18:20   IODev           myMQTT_Server
     2026-05-26 23:02:07   active          OFF
     2026-05-27 06:26:58   active_pv1      ON
     2026-05-27 06:26:58   active_pv2      ON
     2026-05-26 15:18:41   ble_mac         xxxxxxxxxxxx
     2026-05-26 15:18:41   ble_ok          ON
     2026-05-26 15:18:40   board           esp32-s3-devkitc-1
     2026-05-26 15:18:41   charge_mode     SimultaneousChargeAndDischarge
     2026-05-27 06:58:48   daily_total_charge_battery 17
     2026-05-27 06:58:48   daily_total_charge_load 18
     2026-05-27 06:58:48   daily_total_discharge_battery 0
     2026-05-27 06:58:48   daily_total_discharge_load 0
     2026-05-26 15:51:42   debug           ␛[0;33m[W][component:520]: preferences took a long time for an operation (52 ms), max is 30 ms␛[0m
     2026-05-26 15:18:41   dod             90.000000
     2026-05-11 20:03:01   enabled         ON
     2026-05-26 15:18:41   enabled_bluetooth ON
     2026-05-26 15:18:41   enabled_smartmeter ON
     2026-05-27 06:58:48   energy          0.000
     2026-05-27 06:58:48   energy_pv       0.028
     2026-05-26 15:18:41   fc41d_fw        202409090159
     2026-05-26 15:18:40   friendly_name   B2500
     2026-05-26 15:18:41   fw_version      116
     2026-05-26 15:18:41   generation      2
     2026-05-12 07:38:15   hour            23
     2026-05-26 15:18:41   id              3601115030374d33300a4009
     2026-05-26 15:18:40   ip              192.168.178.93
     2026-05-27 06:58:49   last_response   2026-05-27T06:58:49
     2026-05-26 15:18:40   mac             ac276ea86fe8
     2026-05-12 07:38:15   minute          59
     2026-05-26 15:18:41   mqtt_ok         ON
     2026-05-26 15:18:41   name            B2500
     2026-05-26 15:18:40   network         wifi
     2026-05-26 15:18:40   platform        ESP32
     2026-05-27 06:58:48   power           0
     2026-05-27 06:58:48   power_1         0
     2026-05-27 06:58:48   power_2         0
     2026-05-27 06:58:48   power_pv        40
     2026-05-27 06:58:48   power_pv1       19
     2026-05-27 06:58:48   power_pv2       21
     2026-05-26 15:18:41   region          EU
     2026-05-27 06:58:48   remaining_capacity 224
     2026-05-27 06:58:48   remaining_percent 10.0
     2026-05-27 06:23:23   scene           Dusk/Dawn
     2026-05-12 07:38:15   second          0
     2026-05-26 15:18:41   smartmeter_connected ON
     2026-05-27 06:58:49   smartmeter_out  367
     2026-05-27 06:58:49   smartmeter_value 199
     2026-05-26 15:18:41   status          online
     2026-05-26 15:18:41   surplus_feed_in ON
     2026-05-27 06:58:48   temp1           24
     2026-05-27 06:58:48   temp2           24
     2026-05-27 06:58:03   time            04:58
     2026-05-26 15:18:41   timer_1_enabled OFF
     2026-05-26 15:18:41   timer_1_end_hour 21
     2026-05-26 15:18:41   timer_1_end_minute 0
     2026-05-26 15:18:41   timer_1_end_second 0
     2026-05-26 15:18:41   timer_1_power   80.000000
     2026-05-26 15:18:41   timer_1_start_hour 6
     2026-05-26 15:18:41   timer_1_start_minute 0
     2026-05-26 15:18:41   timer_1_start_second 0
     2026-05-26 15:18:41   timer_2_enabled OFF
     2026-05-26 15:18:41   timer_2_end_hour 23
     2026-05-26 15:18:41   timer_2_end_minute 59
     2026-05-26 15:18:41   timer_2_end_second 0
     2026-05-26 15:18:41   timer_2_power   800.000000
     2026-05-26 15:18:41   timer_2_start_hour 21
     2026-05-26 15:18:41   timer_2_start_minute 0
     2026-05-26 15:18:41   timer_2_start_second 0
     2026-05-26 15:18:41   timer_3_enabled OFF
     2026-05-26 15:18:41   timer_3_end_hour 6
     2026-05-26 15:18:41   timer_3_end_minute 0
     2026-05-26 15:18:41   timer_3_end_second 0
     2026-05-26 15:18:41   timer_3_power   800.000000
     2026-05-26 15:18:41   timer_4_enabled ON
     2026-05-26 15:18:41   timer_4_end_hour 23
     2026-05-26 15:18:41   timer_4_end_minute 59
     2026-05-26 15:18:41   timer_4_end_second 0
     2026-05-26 15:18:41   timer_4_power   80.000000
     2026-05-26 15:18:41   timer_4_start_hour 0
     2026-05-26 15:18:41   timer_4_start_minute 0
     2026-05-26 15:18:41   timer_4_start_second 0
     2026-05-26 15:18:41   timer_5_enabled OFF
     2026-05-26 15:18:41   timer_5_end_hour 23
     2026-05-26 15:18:41   timer_5_end_minute 59
     2026-05-26 15:18:41   timer_5_end_second 0
     2026-05-26 15:18:41   timer_5_power   80.000000
     2026-05-26 15:18:41   timer_5_start_hour 0
     2026-05-26 15:18:41   timer_5_start_minute 0
     2026-05-26 15:18:41   timer_5_start_second 0
     2026-05-26 15:18:41   type            HMJ-2
     2026-05-27 06:58:41   uptime          237.26
     2026-05-26 15:18:40   version         2026.3.0
     2026-05-27 06:58:48   voltage_avg     3.225429
     2026-05-27 06:58:48   voltage_cell_01 3.225000
     2026-05-27 06:58:48   voltage_cell_02 3.225000
     2026-05-27 06:58:48   voltage_cell_03 3.225000
     2026-05-27 06:58:48   voltage_cell_04 3.225000
     2026-05-27 06:58:48   voltage_cell_05 3.226000
     2026-05-27 06:58:48   voltage_cell_06 3.226000
     2026-05-27 06:58:48   voltage_cell_07 3.226000
     2026-05-27 06:58:48   voltage_cell_08 3.226000
     2026-05-27 06:58:48   voltage_cell_09 3.225000
     2026-05-27 06:58:48   voltage_cell_10 3.226000
     2026-05-27 06:58:48   voltage_cell_11 3.226000
     2026-05-27 06:58:48   voltage_cell_12 3.225000
     2026-05-27 06:58:48   voltage_cell_13 3.225000
     2026-05-27 06:58:48   voltage_cell_14 3.225000
     2026-05-27 06:58:48   voltage_delta   0.001000
     2026-05-27 06:58:48   voltage_max     3.226000
     2026-05-27 06:58:48   voltage_min     3.225000
     2026-05-27 06:58:48   voltage_sum     45.156000
     2026-05-26 15:18:41   wifi_ok         ON
     2026-05-26 15:18:41   wifi_ssid       XXXXXXXXXXXXXX

Attributes:
   DbLogInclude power.*,energy.*,remaining.*,daily.*
   alias      Batteriespeicher B2500
   event-min-interval remaining.*:300,daily.*:300
   event-on-change-reading .*
   icon       mdt-home-battery-outline
   jsonMap    voltage_cells_1:voltage_cell_01
voltage_cells_2:voltage_cell_02
voltage_cells_3:voltage_cell_03
voltage_cells_4:voltage_cell_04
voltage_cells_5:voltage_cell_05
voltage_cells_6:voltage_cell_06
voltage_cells_7:voltage_cell_07
voltage_cells_8:voltage_cell_08
voltage_cells_9:voltage_cell_09
voltage_cells_10:voltage_cell_10
voltage_cells_11:voltage_cell_11
voltage_cells_12:voltage_cell_12
voltage_cells_13:voltage_cell_13
voltage_cells_14:voltage_cell_14
   readingList b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/debug:.* debug
b2500_ac276ea86fe8:esphome/discover/b2500:.* { json2nameValue($EVENT) }
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/last_response:.* last_response
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/type:.* type
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/id:.* id
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/ble_mac:.* ble_mac
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/status:.* status
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/1/start:.* { json2nameValue($EVENT,'timer_1_start_') }
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/2/start:.* { json2nameValue($EVENT,'timer_2_start_') }
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/3/start:.* { json2nameValue($EVENT,'timer_3_start_') }
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/4/start:.* { json2nameValue($EVENT,'timer_4_start_') }
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/5/start:.* { json2nameValue($EVENT,'timer_5_start_') }
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/1/end:.* { json2nameValue($EVENT,'timer_1_end_') }
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/2/end:.* { json2nameValue($EVENT,'timer_2_end_') }
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/3/end:.* { json2nameValue($EVENT,'timer_3_end_') }
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/4/end:.* { json2nameValue($EVENT,'timer_4_end_') }
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/5/end:.* { json2nameValue($EVENT,'timer_5_end_') }
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/battery/dod:.* dod
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/1/power:.* timer_1_power
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/2/power:.* timer_2_power
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/3/power:.* timer_3_power
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/4/power:.* timer_4_power
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/5/power:.* timer_5_power
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/bluetooth/enabled:.* enabled_bluetooth
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/smartmeter/enabled:.* enabled_smartmeter
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/surplus_feed_in:.* surplus_feed_in
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/1/enabled:.* timer_1_enabled
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/2/enabled:.* timer_2_enabled
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/3/enabled:.* timer_3_enabled
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/4/enabled:.* timer_4_enabled
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/timer/5/enabled:.* timer_5_enabled
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/battery/charge_mode:.* charge_mode
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/generation:.* generation
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/name:.* name
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/fw_version:.* fw_version
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/time:.* time
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/fc41d_fw:.* fc41d_fw
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/wifi_ssid:.* wifi_ssid
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/scene:.* scene
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/region:.* region
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/battery/cell_voltage:.* { json2nameValue($EVENT,'voltage_',$JSONMAP) }
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/wifi_ok:.* wifi_ok
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/mqtt_ok:.* mqtt_ok
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/pv1/active:.* active_pv1
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/pv2/active:.* active_pv2
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/smartmeter/connected:.* smartmeter_connected
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/ble_ok:.* ble_ok
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/esp32/uptime:.* uptime
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/battery/remaining_percent:.* remaining_percent
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/pv1/power:.* power_pv1
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/pv2/power:.* power_pv2
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/pv/power:.* power_pv
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/power1/power:.* power_1
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/power2/power:.* power_2
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/power/power:.* power
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/battery/remaining_capacity:.* remaining_capacity
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/smartmeter/out:.* smartmeter_out
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/smartmeter/value:.* smartmeter_value
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/temp1:.* temp1
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/device/temp2:.* temp2
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/battery/daily_total_charge:.* daily_total_charge_battery
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/battery/daily_total_discharge:.* daily_total_discharge_battery
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/load/daily_total_charge:.* daily_total_charge_load
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/load/daily_total_discharge:.* daily_total_discharge_load
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/pv/energy:.* energy_pv
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/power/energy:.* energy
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/power1/active:.* active
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/1/power2/active:.* active
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/npw/enabled:.* npw_enabled
b2500_ac276ea86fe8:SmartHome/Photovoltaics/B2500/npw/max_limit:.* npw_max_limit
   room       Energie und Wasser,System->Protokolle->MQTT
   stateFormat {sprintf ("PV Leistung: %3d W - Ausgangsleistung: %3d W - SOC: %3d %%",ReadingsNum("$name","power_pv",0), ReadingsNum("$name","power",0), ReadingsNum("$name","remaining_percent",0))}
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: DeeSPe am 27 Mai 2026, 08:23:26
Die App funktioniert (über Bluetooth) genau so weiter wie vorher.
Ich habe auch einen EcoTracker und die Batterien benutzen diesen auch wunderbar.
Deshalb reicht mir meine Lösung auch, weil ich nur die Readings auswerten möchte und keine Steuerung über FHEM benötige.

Gruß
Dan
Titel: Aw: MQTT Bluepalm B2500
Beitrag von: JWRu am 27 Mai 2026, 09:04:21
ZitatDie App funktioniert (über Bluetooth) genau so weiter wie vorher.
Das ist richtig - aber nur im Bereich der Bluetooth-Reichweite.