MQTT-Bridge für NEE...
 
Benachrichtigungen
Alles löschen

[Gelöst] MQTT-Bridge für NEEY, Seplos & Co via Bluetooth

75 Beiträge
14 Benutzer
5 Reactions
4,902 Ansichten
(@helge)
Autarkiekönig
Beigetreten: Vor 3 Jahren
Beiträge: 703
 

Veröffentlicht von: @elektrofix

In IoBroker sehe ich jetzt den "heltec-balancer",

damit hat sich dein ESP32 schonmal erfolgreich mit WiFi und dem MQTT verbunden.

womit hast du den ESP schlussendlich programmiert?

steht das "programmiergerät" mit dem daran befindlichem ESP32 in der Nähe der zu überwachenden Geräte?

leuchtet die "Login" LED am Neey wenn du den ESP32 in Betrieb nimmst? (hast du dich vorher mit dem Mobiltelefon "ordentlich" ausgeloggt.)

 

es sind viele Dinge die den Erfolg vermasseln können.

Ich habe bei mir den "Programmier-Pi" ins Batterieregal gestellt, und hab direkt folgende Anzeige nach dem programmieren: (ich habe mein 3tes Modul extra frisch programmiert) der kompiler auf dem Pi raucht ein bisschen Zeit, Video ist 2 minuten.

Freundliche Grüsse aus dem Schwabenländle
3,9 kWp - Ost & 6,0 kWp - West @ STP 8.0
1,0 kWp - Ost @ MPPT 250/30
Victron MultiPlusII 3000 - 3Phasen - 41kWh LiFePo4 18S - 3x NEEY 4A


   
AntwortZitat
Elektrofix
(@elektrofix)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 250
Themenstarter  

@helge Ich mache das über einen extra Pi mit Home Assistant, der nur dafür ist den ESP zu programmieren. Der ESP32 ist per usb an den Pi angeschlossen. Alles ist in meiner Garage und mit cat7 ans Haus angebunden. Die Programmierung dauert schweine lang, aber der Bildschirm sagt mir irgendwann das er fertig ist.

Die LED des NEEY kann ich nicht sehen, der ist in meine Mason280 eingebaut.

Der Abstand ESP32 <==> NEEY ist ca. 50cm mit meinem iPhone oder iPad sind es 150cm, wenn ich dann was auslese.

7,2 kWp Ost/West mit SMA STP 6.0-3AV 40 auf dem Garagendach 12° Neigung
SunnyIsland 6.0-13 mit 28kWh DIY-Akku (Seplos 10E mit NEEY 4.0) in der Garage
Smart ED3/22kW-Lader mit AHK und im Kofferraum eine Eierlegende-SMARTeWollmich-Ladebox

Ich arbeite mit Strom weil es mir Spass macht, nicht um Geld zu verdienen.


   
AntwortZitat
(@helge)
Autarkiekönig
Beigetreten: Vor 3 Jahren
Beiträge: 703
 

Veröffentlicht von: @elektrofix

aber der Bildschirm sagt mir irgendwann das er fertig ist.

ja das dauert etwas, aber die Bedingungen sind dann ja wie bei mir, startet nach dem upload auf das ESP denn so wie in dem kleinen Video das Log mit den Werten aslle paar sekunden?, oder magst du mal dein "file.yaml" hier als "code" einfügen.

edit. ich häng dir mal meine datei rein, ändere dort die MACadresse und lass das doch mal durchlaufen. es ist die selbe config aus dem video.

 edit2. per "scp" bekommst du die datei auf den pi 😉

edit3

C:\Users\helge>scp neey-helge-bank3.yaml pi@*IPdesZieles*:/home/pi/esphome-jk-bms/test-datei.yaml

 

Freundliche Grüsse aus dem Schwabenländle
3,9 kWp - Ost & 6,0 kWp - West @ STP 8.0
1,0 kWp - Ost @ MPPT 250/30
Victron MultiPlusII 3000 - 3Phasen - 41kWh LiFePo4 18S - 3x NEEY 4A


   
AntwortZitat
Elektrofix
(@elektrofix)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 250
Themenstarter  

Also bei mir kommen da keinerlei Daten. Nach dem Compeilen erscheint zum Schluss:

Dann machen ich das Dialogfeld zu und öffne es wieder über USB-Verbindung und dann das:

Wenn ich über WLAN das Log auffrufe kommt das:

Der Yaml:

Spoiler
NEEY
substitutions:
  name: heltec-balancer
  device_description: "Monitor and control a Heltec/NEEY 4A balancer via bluetooth"
  external_components_source: github://syssi/esphome-jk-bms@main
  mac_address: 00:E4:4C:21:D9:CD

esphome:
  name: ${name}
  comment: ${device_description}
  project:
    name: "syssi.esphome-jk-bms"
    version: 1.4.0

esp32:
  board: wemos_d1_mini32
  framework:
    type: esp-idf

external_components:
  - source: ${external_components_source}
    refresh: 0s

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

ota:

logger:
  level: DEBUG

# If you don't use Home Assistant please remove this `api` section and uncomment the `mqtt` component!
#api:
#  encryption:
#    key: "q+W4YeOHnu8kOBLz0LYw7uUlWzzRE+NMk6CpfZE856k="

mqtt:
   broker: !secret mqtt_host
   username: !secret mqtt_username
   password: !secret mqtt_password
   id: mqtt_client

esp32_ble_tracker:
  on_ble_advertise:
    then:
      - lambda: |-
          if (x.get_name().rfind("GW-", 0) == 0) {
            ESP_LOGI("ble_adv", "New Heltec/NEEY balancer found");
            ESP_LOGI("ble_adv", "  Name: %s", x.get_name().c_str());
            ESP_LOGI("ble_adv", "  MAC address: %s", x.address_str().c_str());
            ESP_LOGD("ble_adv", "  Advertised service UUIDs:");
            for (auto uuid : x.get_service_uuids()) {
              ESP_LOGD("ble_adv", "    - %s", uuid.to_string().c_str());
            }
          }

ble_client:
  - mac_address: ${mac_address}
    id: client0

heltec_balancer_ble:
  - ble_client_id: client0
    throttle: 5s
    id: bms0

binary_sensor:
  - platform: heltec_balancer_ble
    balancing:
      name: "${name} balancing"
    online_status:
      name: "${name} online status"

button:
  - platform: heltec_balancer_ble
    retrieve_settings:
      name: "${name} retrieve settings"
      id: retrieve_settings_button
    retrieve_device_info:
      name: "${name} retrieve device info"
    retrieve_factory_defaults:
      name: "${name} retrieve factory defaults"

number:
  - platform: heltec_balancer_ble
    cell_count:
      name: "${name} cell count"
    balance_trigger_voltage:
      name: "${name} balance trigger voltage"
    max_balance_current:
      name: "${name} max balance current"
    balance_sleep_voltage:
      name: "${name} balance sleep voltage"
    balance_start_voltage:
      name: "${name} balance start voltage"
    nominal_battery_capacity:
      name: "${name} nominal battery capacity"

sensor:
  - platform: heltec_balancer_ble
    min_cell_voltage:
      name: "${name} min cell voltage"
    max_cell_voltage:
      name: "${name} max cell voltage"
    min_voltage_cell:
      name: "${name} min voltage cell"
    max_voltage_cell:
      name: "${name} max voltage cell"
    delta_cell_voltage:
      name: "${name} delta cell voltage"
    average_cell_voltage:
      name: "${name} average cell voltage"
    cell_voltage_1:
      name: "${name} cell voltage 1"
    cell_voltage_2:
      name: "${name} cell voltage 2"
    cell_voltage_3:
      name: "${name} cell voltage 3"
    cell_voltage_4:
      name: "${name} cell voltage 4"
    cell_voltage_5:
      name: "${name} cell voltage 5"
    cell_voltage_6:
      name: "${name} cell voltage 6"
    cell_voltage_7:
      name: "${name} cell voltage 7"
    cell_voltage_8:
      name: "${name} cell voltage 8"
    cell_voltage_9:
      name: "${name} cell voltage 9"
    cell_voltage_10:
      name: "${name} cell voltage 10"
    cell_voltage_11:
      name: "${name} cell voltage 11"
    cell_voltage_12:
      name: "${name} cell voltage 12"
    cell_voltage_13:
      name: "${name} cell voltage 13"
    cell_voltage_14:
      name: "${name} cell voltage 14"
    cell_voltage_15:
      name: "${name} cell voltage 15"
    cell_voltage_16:
      name: "${name} cell voltage 16"
    cell_voltage_17:
      name: "${name} cell voltage 17"
    cell_voltage_18:
      name: "${name} cell voltage 18"
    cell_voltage_19:
      name: "${name} cell voltage 19"
    cell_voltage_20:
      name: "${name} cell voltage 20"
    cell_voltage_21:
      name: "${name} cell voltage 21"
    cell_voltage_22:
      name: "${name} cell voltage 22"
    cell_voltage_23:
      name: "${name} cell voltage 23"
    cell_voltage_24:
      name: "${name} cell voltage 24"
    cell_resistance_1:
      name: "${name} cell resistance 1"
    cell_resistance_2:
      name: "${name} cell resistance 2"
    cell_resistance_3:
      name: "${name} cell resistance 3"
    cell_resistance_4:
      name: "${name} cell resistance 4"
    cell_resistance_5:
      name: "${name} cell resistance 5"
    cell_resistance_6:
      name: "${name} cell resistance 6"
    cell_resistance_7:
      name: "${name} cell resistance 7"
    cell_resistance_8:
      name: "${name} cell resistance 8"
    cell_resistance_9:
      name: "${name} cell resistance 9"
    cell_resistance_10:
      name: "${name} cell resistance 10"
    cell_resistance_11:
      name: "${name} cell resistance 11"
    cell_resistance_12:
      name: "${name} cell resistance 12"
    cell_resistance_13:
      name: "${name} cell resistance 13"
    cell_resistance_14:
      name: "${name} cell resistance 14"
    cell_resistance_15:
      name: "${name} cell resistance 15"
    cell_resistance_16:
      name: "${name} cell resistance 16"
    cell_resistance_17:
      name: "${name} cell resistance 17"
    cell_resistance_18:
      name: "${name} cell resistance 18"
    cell_resistance_19:
      name: "${name} cell resistance 19"
    cell_resistance_20:
      name: "${name} cell resistance 20"
    cell_resistance_21:
      name: "${name} cell resistance 21"
    cell_resistance_22:
      name: "${name} cell resistance 22"
    cell_resistance_23:
      name: "${name} cell resistance 23"
    cell_resistance_24:
      name: "${name} cell resistance 24"
    total_voltage:
      name: "${name} total voltage"
    temperature_sensor_1:
      name: "${name} temperature sensor 1"
    temperature_sensor_2:
      name: "${name} temperature sensor 2"
    total_runtime:
      name: "${name} total runtime"
    balancing_current:
      name: "${name} balancing current"
    # Not implemented
    # errors_bitmask:
    #   name: "${name} errors bitmask"
    cell_detection_failed_bitmask:
      name: "${name} cell detection failed bitmask"
    cell_overvoltage_bitmask:
      name: "${name} cell overvoltage bitmask"
    cell_undervoltage_bitmask:
      name: "${name} cell undervoltage bitmask"
    cell_polarity_error_bitmask:
      name: "${name} cell polarity error bitmask"
    cell_excessive_line_resistance_bitmask:
      name: "${name} cell excessive line resistance bitmask"

switch:
  - platform: heltec_balancer_ble
    balancer:
      name: "${name} balancer"

text_sensor:
  - platform: heltec_balancer_ble
    # Not implemented
    # errors:
    #   name: "${name} errors"
    operation_status:
      name: "${name} operation status"
    total_runtime_formatted:
      name: "${name} total runtime formatted"
    buzzer_mode:
      name: "${name} buzzer mode"
    battery_type:
      name: "${name} battery type"

interval:
  - interval: 30min
    then:
      - button.press: retrieve_settings_button
Jetzt habe ich mir gedacht ich benutze jetzt einen Ble-scanner und habe das Ymal verwendet, aber die Log Verbindung ist nicht anders wie die anderen.
Spoiler
ble-Scanner

substitutions:
  name: ble-scanner
  device_description: "Search for BLE devices"

esphome:
  name: ${name}
  comment: ${device_description}
  project:
    name: "syssi.esphome-jk-bms"
    version: 1.4.0

esp32:
  board: wemos_d1_mini32
  framework:
    type: esp-idf

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

ota:

logger:
  level: DEBUG
  logs:
    wifi: WARN

mqtt:
   broker: !secret mqtt_host
   username: !secret mqtt_username
   password: !secret mqtt_password
   id: mqtt_client

esp32_ble_tracker:
  on_ble_advertise:
    then:
      - lambda: |-
          if (x.get_name().rfind("JK-", 0) == 0) {
            ESP_LOGI("ble_adv", "New JK-BMS found");
            ESP_LOGI("ble_adv", "  Name: %s", x.get_name().c_str());
            ESP_LOGI("ble_adv", "  MAC address: %s", x.address_str().c_str());
            ESP_LOGD("ble_adv", "  Advertised service UUIDs:");
            for (auto uuid : x.get_service_uuids()) {
              ESP_LOGD("ble_adv", "    - %s", uuid.to_string().c_str());
            }
          }

text_sensor:
  - platform: ble_scanner
    name: "BLE Devices Scanner"    

 
Im IoBroker bekomme ich nur einen Eintrag:

Die ESP-Cam soll einen Bluetooth 4.2 und einen Ble haben, aber irgendwie glaube ich nicht mehr so ganz. I Dont Know  

7,2 kWp Ost/West mit SMA STP 6.0-3AV 40 auf dem Garagendach 12° Neigung
SunnyIsland 6.0-13 mit 28kWh DIY-Akku (Seplos 10E mit NEEY 4.0) in der Garage
Smart ED3/22kW-Lader mit AHK und im Kofferraum eine Eierlegende-SMARTeWollmich-Ladebox

Ich arbeite mit Strom weil es mir Spass macht, nicht um Geld zu verdienen.


   
AntwortZitat
(@helge)
Autarkiekönig
Beigetreten: Vor 3 Jahren
Beiträge: 703
 

Veröffentlicht von: @elektrofix

Also bei mir kommen da keinerlei Daten. Nach dem Compeilen erscheint zum Schluss:

hier gibt es "KEIN" connect zum ESP, auch wenn du keine Auswahl hast wie im minifilm, connecting.................... es passiert nichts, auf das ESP werden keine daten geflasht.

siehe 1:25 im video: 

 ja das ganze ist immer zermürbend, weil es sich wohl nur um einen klitzekleinen fehler handelt..., dies weiss man immer erst im nachhinein.

 

 

Freundliche Grüsse aus dem Schwabenländle
3,9 kWp - Ost & 6,0 kWp - West @ STP 8.0
1,0 kWp - Ost @ MPPT 250/30
Victron MultiPlusII 3000 - 3Phasen - 41kWh LiFePo4 18S - 3x NEEY 4A


   
AntwortZitat
Elektrofix
(@elektrofix)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 250
Themenstarter  

Jetzt rennt die Kiste, aber ich weis nicht woran es gelegen hat I Dont Know  

Die ESP-Cam zum 597mal vom Pi4 getrennt, dann noch einmal übertragen, dann noch einmal von Pi4 getrennt und jetzt sendet es mit unaufhörlich daten, alle 5 Sec. Grinning

Kann mal das ganze auch Zeitlich begrenzen? Daten alle 30-60 Sec übertragen?

7,2 kWp Ost/West mit SMA STP 6.0-3AV 40 auf dem Garagendach 12° Neigung
SunnyIsland 6.0-13 mit 28kWh DIY-Akku (Seplos 10E mit NEEY 4.0) in der Garage
Smart ED3/22kW-Lader mit AHK und im Kofferraum eine Eierlegende-SMARTeWollmich-Ladebox

Ich arbeite mit Strom weil es mir Spass macht, nicht um Geld zu verdienen.


   
Helge reacted
AntwortZitat
(@helge)
Autarkiekönig
Beigetreten: Vor 3 Jahren
Beiträge: 703
 

@elektrofix "Klasse", hartnäckigkeit zahlt sich aus,

 

Freundliche Grüsse aus dem Schwabenländle
3,9 kWp - Ost & 6,0 kWp - West @ STP 8.0
1,0 kWp - Ost @ MPPT 250/30
Victron MultiPlusII 3000 - 3Phasen - 41kWh LiFePo4 18S - 3x NEEY 4A


   
AntwortZitat
Elektrofix
(@elektrofix)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 250
Themenstarter  

Fühle mich wie in der Schule: "Du hast eine Fehler gemacht, 6 und von vorne" Crying  

@helge Vielen Dank für Deine Hilfe Love Kiss Software ist nicht mehr so meins; vor 10 Jahre habe ich noch die Ansagen in den Zügen von Niedersachsen programmiert, 11 Tabelle wo gleichzeitig Daten geändert werden müssen. Das war jedoch einfacher wie yaml 

7,2 kWp Ost/West mit SMA STP 6.0-3AV 40 auf dem Garagendach 12° Neigung
SunnyIsland 6.0-13 mit 28kWh DIY-Akku (Seplos 10E mit NEEY 4.0) in der Garage
Smart ED3/22kW-Lader mit AHK und im Kofferraum eine Eierlegende-SMARTeWollmich-Ladebox

Ich arbeite mit Strom weil es mir Spass macht, nicht um Geld zu verdienen.


   
AntwortZitat
(@helge)
Autarkiekönig
Beigetreten: Vor 3 Jahren
Beiträge: 703
 

Veröffentlicht von: @elektrofix

Kann mal das ganze auch Zeitlich begrenzen? Daten alle 30-60 Sec übertragen?

in der configdatei habe ich mal testhalber throttle auf 60sec. geändert. und nun fragt das modul auch nur noch in diesem Intervall die Daten ab.

heltec_balancer_ble:
  - ble_client_id: client0
    throttle: 60s
    id: bms0

Freundliche Grüsse aus dem Schwabenländle
3,9 kWp - Ost & 6,0 kWp - West @ STP 8.0
1,0 kWp - Ost @ MPPT 250/30
Victron MultiPlusII 3000 - 3Phasen - 41kWh LiFePo4 18S - 3x NEEY 4A


   
AntwortZitat
Elektrofix
(@elektrofix)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 250
Themenstarter  

@helge Danke, hatte ich schon selber gesehen und auf 30s eingestellt. Heute die ersten Daten abgefragt, wie sich die einzelnen Zellen verhalten. Mein Balanceregler war schon bei 80% SoC aktiv.

Im IoBroker habe ich zwei Topic bekommen: „Homeassistant“ und einen mit den Name, den ich vergeben habe. Den ersten habe ich dann gelöscht. Ich bin froh das es läuft Inlove  

7,2 kWp Ost/West mit SMA STP 6.0-3AV 40 auf dem Garagendach 12° Neigung
SunnyIsland 6.0-13 mit 28kWh DIY-Akku (Seplos 10E mit NEEY 4.0) in der Garage
Smart ED3/22kW-Lader mit AHK und im Kofferraum eine Eierlegende-SMARTeWollmich-Ladebox

Ich arbeite mit Strom weil es mir Spass macht, nicht um Geld zu verdienen.


   
AntwortZitat
(@saviothecnic)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 6
 

Leute, ich habe beide einen Neey-Balancer
Was für ein Seplos BMS
Ich hätte gerne beide Daten in MQTT
habe die BT-Verbindung genutzt
Können Sie mir erklären, wie das geht?
Wo finde ich das Programm zum Einfügen in den ESP32?


   
AntwortZitat
Elektrofix
(@elektrofix)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 250
Themenstarter  

@saviothecnic Also ich verstehe dein Anliegen nicht so richtig. Hast Du einen oder zwei NEEY-Balancer. Wohin willst Du die Daten senden IoBroker, Homeassistens, Nodered? Willst Du das Seplos auch noch auslesen?

Das Programm für den ESP32 heißt ESPhome, das Programm ist in YAMMEL-geschreiben

7,2 kWp Ost/West mit SMA STP 6.0-3AV 40 auf dem Garagendach 12° Neigung
SunnyIsland 6.0-13 mit 28kWh DIY-Akku (Seplos 10E mit NEEY 4.0) in der Garage
Smart ED3/22kW-Lader mit AHK und im Kofferraum eine Eierlegende-SMARTeWollmich-Ladebox

Ich arbeite mit Strom weil es mir Spass macht, nicht um Geld zu verdienen.


   
AntwortZitat
(@saviothecnic)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 6
 

JA Mann, ich habe zwei Neey Balancer
Eines davon ist auf einer LiIon-Batteriebank montiert
Und eines, montiert auf einer LifePo4-Batteriebank
Plus ein Seplos BMS
Ich habe Mosquitto für MQTT und möchte es später verwenden
Daten zu Domoticz und HomeAssistant
Ist das mit drei ESP32 möglich?
Der Zweifel, den ich habe, ist, dass ich nicht verstanden habe, welches Programm ich auf den ESP32 laden muss, offensichtlich habe ich bereits die drei BT-MAC-Adressen meines Neey und BMS gefunden


   
AntwortZitat
Elektrofix
(@elektrofix)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 250
Themenstarter  

Ich habe eine RaspberryPi mit Homeassistens aufgesetzt und daran den ESP32 angeschlossen. Anschließend ESPHome auf den ESP32 installiert und ein Yamel-Skript von https://github.com/syssi/esphome-jk-bms benutzt.

Schwieriger war es die BT-MAC-Adresse heraus zu bekommen, da in der iOS-App diese nicht angezeigt wurde. Das habe ich dann mit meinem Win10-Rechner herausbekommen in dem ich mich damit verbunden habe.

7,2 kWp Ost/West mit SMA STP 6.0-3AV 40 auf dem Garagendach 12° Neigung
SunnyIsland 6.0-13 mit 28kWh DIY-Akku (Seplos 10E mit NEEY 4.0) in der Garage
Smart ED3/22kW-Lader mit AHK und im Kofferraum eine Eierlegende-SMARTeWollmich-Ladebox

Ich arbeite mit Strom weil es mir Spass macht, nicht um Geld zu verdienen.


   
AntwortZitat
(@saviothecnic)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 6
 

@elektrofix 

Ok I think I've done it but I also have to change the device
if it works right

For I only see the Balancer Neey does not see the BMS Seplos as I can also see the BMS Seplos connected always in BT

 


   
AntwortZitat
Seite 2 / 5
Teilen: