FHEM Forum

FHEM - Energiemanagement und Energieerzeugung => Solaranlagen => Thema gestartet von: Askie am 25 Januar 2016, 11:19:14

Titel: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Askie am 25 Januar 2016, 11:19:14
Moin!

Die Einbindung eines (relativ kostengünstigen) Victron Batteriemonitor BMV600 / BMV602 via RS232 wurde von Privat58 und mir gelöst.
Zusammen haben wir das Modul 00_BMV600.pm geschrieben (siehe Anhang).
Das Modul stellt alle Daten vom Batteriemonitor zur Verfügung (Spannung, (Lade-)Strom, Restlaufzeit, und eine Menge weiterer Daten).

Ist bei mir derzeit auf einem Pi A+ zusammen mit einem BMV600 und einer Insel-Anlage in Betrieb und läuft ohne Probleme.
Ich hoffe es hilft mal jemandem..
******************************************************************************************************
EDIT: 08.07.2018
Modul umbenannt und auf das VE.Direkt Text Protokoll erweitert.
Damit sollen nicht nur die BMV60x und BMV700x sondern auch eine ganze Reihe Victron MPPT und Inverter unterstützt werden.

EDIT 10.07.2018:
Neue DateiVersion von 00_VEDirect.pm.

EDIT 15.05.2019:
kleines Update und Fehlerkorrektur bei Leistung Lastausgang (MPPT)

Das Modul sollte jetzt vollständig funktionieren (incl. Checksumme)

define <Name> VEDirect /dev/ttyUSB0@19200
define <Name> VEDirect /dev/serial0@19200

******************************************************************************************************
EDIT: 03.10.2019
Komplett überarbeitet
Das neue Modul liegt jetzt in GIT  --> sie Antwort #54

******************************************************************************************************


Gruß

Askie
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: mmatt am 14 Februar 2016, 12:07:48
Super  :)

Denkst Du, das könnte mit den neueren BMV 700 und 702 auch funktionieren?
Müsste man glatt mal das Protokoll vergleichen.

Danke für das Modul
Gruesse Martin



Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: PV-Solar am 15 Februar 2017, 22:59:29
Hallo,

ich würde das Modul gern für meinen BMV-700 nutzen. Das Device ist angelegt, Raw_Readings hatte ich auf ON gestellt. Ich habe leider nur genau einmal Daten bekommen. State ist "opened". Wo / wie kann ich das Intervall zum Auslesen festlegen?

Gruß
PV-Solar
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: Askie am 16 Februar 2017, 21:58:59
Hallo PV-Solar,
Es gibt leider keinen Intervall zum abfragen. Das Modul wertet lediglich die 1 mal pro Sekunde empfangen Daten vom Bmv600 aus. Ob der 700er auch regelmäßig Daten sendet weiss ich leider nicht. Ich empfehle dir das mal zu testen in dem du einfach mal auf der seriellen Konsole guckst was kommt...
VG
Askie
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: PV-Solar am 17 Februar 2017, 12:20:56
Der BMV-700 sendet auch permanent. Ich habe es mit minicom sowie 2 anderen Tools geprüft. Das Modul selbst hat die Schnittstelle auf jeden Fall geöffnet, da ich nur dann lesbare Ausgaben von der Schnittstelle erhalte, wenn FHEM bzw. das Modul nicht läuft. Die Werte vom BMV-700 sind im Wesentlichen die gleichen wie beim BMV-600, es sendet auch zusätzlich den Wert für die aktuelle Leistung.

Nur leider ändern sich die Werte bei den Readings überhaupt nicht.

Gruß
PV-solar
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: Askie am 18 Februar 2017, 22:20:44
hm.. dann scheint es ein Problem mit der Auswertung der Daten zu geben. Kannst du mit mal einen Auszug schicken was der BMV700 sendet?
Ich gucke ,mir das gerne mal an...(kann aber leider etwas dauern - hab gerade nicht so viel Zeit wie ich gerne zum Basteln hätte  :-[ )
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: PV-Solar am 18 Februar 2017, 23:23:53
Ich habe mir mal die Rechte der Datei angesehen - User fhem, Gruppe dialout - sollte also passen.
Im fhem.log beim Starten habe ich nur 2 Einträge:
2017.02.18 22:38:53 3: Opening BMV700 device /dev/ttyUSB0
2017.02.18 22:38:53 3: BMV700 device opened


Hier mal ein Mitschnitt aus minicom:
Checksum Y
PID 0x203
V 25786
I -416
P -11
CE -138045
SOC 338
TTG 0
Alarm OFF
Relay ON
AR 0
BMV 700
FW 0307
Checksum -
H1 -177771
H2 -143550
H3 -129812
H4 6
H5 0
H6 -1706024
H7 24286
H8 28945
H9 280177
H10 13
H11 0
H12 0
H17 4312
H18 4655
Checksum W
PID 0x203
V 25787
I -414
P -11
CE -138046
SOC 338
TTG 0
Alarm OFF
Relay ON
AR 0
BMV 700
FW 0307
Checksum -
H1 -177771
H2 -143550
H3 -129812
H4 6
H5 0
H6 -1706024
H7 24286
H8 28945
H9 280179
H10 13
H11 0
H12 0
H17 4312
H18 4655
Checksum U

Soviel mehr als beim 600er ist das ja nicht.

Meine Definition
raw definition:
defmod BMV700 BMV600 /dev/ttyUSB0
attr BMV700 Raw_Readings On
attr BMV700 room Werkstatt

setstate BMV700 opened
setstate BMV700 2017-02-18 23:04:54 state opened


Es wäre schön, wenn ich irgendwo sehen kann, dass das Modul gerade ausgeführt wird bzw. wurde (timestamp).
Denn derzeit weiß ich nicht, ob das Modul überhaupt läuft.

Gruß
PV-Solar

Nachtrag:
Die zusätzlichen Werte des BMV-700 würde ich mir zutrauen in das Modul einzupflegen.
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: Askie am 19 Februar 2017, 10:27:14
Hm. Sieht nicht so viel anders aus... müsste -bis auf die neuen Werte- eigentlich gehen. Wenn du gucken möchtest ob das Modul funktioniert. bau vielleicht mal ein paar log3 ausdrücke ein...

Nachtrag: Stell mal bitte auf verbose 5 und guck mal ob Daten gelesen werden...
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: PV-Solar am 19 Februar 2017, 22:13:21
Ich habe mal ein Log3 direkt nach
return "" if ( !defined($buf) );
eingefügt.

Das was ich dann im Log sehe lässt mich vermuten, dass eventuell die Schnittstelle mit der falschen Geschwindigkeit geöffnet wurde. Laut Victron 19200. Mein minicom-Aufruf lautet ja auch
minicom -b 19200 -D /dev/ttyUSB0

Kann ich die 19200 irgendwo einstellen?

Gruß
PV-Solar

Nachtrag:
Habe in DevIO.pm geschaut und dann die Definition angepasst
define BMV700 BMV600 /dev/ttyUSB0@19200
Jetzt funktioniert es.  :)
Als nächstes sind die neuen Werte dran...
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: Askie am 20 Februar 2017, 06:05:15
Super...
Bitte dann auch wieder hier posten - es gibt bestimmt noch andere, die daran interessiert sind. :D
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: ducati748sp am 23 Mai 2017, 13:00:51
hallo zusammen,

seit ein paar tagen habe ich einen victron mppt 75/15 solarladeregler. über das extra bestellte ve.direct kabel kann ich am usb port des raspi (/dev/ttyUSB0) die seriellen daten empfangen. jede sekunde kommt folgendes datagramm:

PID     0xA042
FW      123
SER#    HQ1644SZ6Z9
V       12300
I       240
VPV     22850
PPV     8
CS      3
ERR     0
LOAD    ON
IL      400
H19     40
H20     15
H21     71
H22     13
H23     95
HSDS    3
Checksum        ,

laut victron dokumentation bedeuten die werte

PID     0xA042 | ProductID: BlueSolar MPPT 75/15
FW      123 | firmware version: 1.23
SER#    HQ1644SZ6Z9 | seriennummer: HQ1644SZ6Z9
V       12300 | Batteriespannung: 12,3V
I       270 | Batteriestrom: 270mA
VPV     21850 | Panelspannung: 21,850V
PPV     8 | Panelleistung: 8W
CS      3 | State of operation: 0 = off; 2 = Fault; 3 = Bulk, 4 = Absorption; 5 = Float
ERR     0 | Fehler: 0
LOAD    ON | Lastzustand: ON
IL      400 | Laststrom: 400mA
H19     40 | Gesamtertrag in 0.01kWh (10Wh) also 400Wh
H20     15 | Tagesertrag in 0.01kWh
H21     71 | Max. Tagessleistung:  71W
H22     13 | Ertrag gestern in 0.01kWh
H23     95 | Max. Tagesleistung gestern: 95Wh
HSDS    3 | Day sequence number 0...364
Checksum        * | Checksumme


wäre es euch möglich, euer modul dahingehend zu erweitern? meine perl kenntnisse reichen dafür nicht annähenrd aus.

schöne grüße,
frank
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: Askie am 23 Mai 2017, 14:06:31
Moin Frank...
Das sollte eigentlich kein Problem sein. Versuch mal deinen laderegler mit dem bestehenden Modul einzubinden. Eigentlich sollten dann schon ein paar Daten kommen. Die fehlenden Daten müsste man dann noch nachziehen - was ich leider kurzfristig nicht schaffen werde, weil ich privat zu viel um die Ohren habe. Wenn du aber etwas Geduld hast....
VG
Askie..
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: ducati748sp am 23 Mai 2017, 19:43:18
hi askie,

danke für die schnelle antwort und den tip. ich habe mir das modul heruntergeladen, dann "define BMV700 BMV600 /dev/ttyUSB0@19200" eingegeben und es kommt tatsächlich schon was zurück.

DeviceOverview
BMV700
opened
Internals
CFGFN
DEF
/dev/ttyUSB0@19200
DeviceName
/dev/ttyUSB0@19200
FD
10
NAME
BMV700
NR
26
PARTIAL
STATE
opened
TYPE
BMV600
Readings
Firmware
123
2017-05-23 19:41:39
Power
-2.89
2017-05-23 19:41:39
Spannung_V
13.15
2017-05-23 19:41:39
Strom_A
-0.22
2017-05-23 19:41:39
state
opened
2017-05-23 19:36:31


und sei beruhigt, ich habe sehr viel geduld. weiß ja wie das ist, wenn man solche projekte nebenbei macht.

grüße,
frank
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: ducati748sp am 23 Mai 2017, 23:15:08
hallo askie,

nachdem ich mich nun doch mal rangetraut habe und einfach mal mit copy&paste deinen code erweitert habe, konnte ich alle benötigten werte ermitteln.
hier meine änderungen, sie beginnen da, wo die trennlienien mit "fju" markiert sind. war einfacher, als ich dachte.

  #***************************************************************************************************************
      if($e_[0] eq "I")
{
if ($RawReading eq "On")
        {
          readingsBulkUpdate($hash,"_I",($e_[1] ));      # aktueller Strom in mA
        }
        readingsBulkUpdate($hash,"Batteriestrom in A",sprintf("%.2f",$e_[1] / 1000)); # aktueller Strom in A
        $Power = ($Power * $e_[1]) / 1000;           #für Leistungsberechnung als Reading
}
      #***************************************************************************************************************
  #*************** fju ******************************************************************************************
      if($e_[0] eq "VPV")  # mV Panelspannung in mV
{
if ($RawReading eq "On")
        {
          readingsBulkUpdate($hash,"_VPV",($e_[1] ));     
        }
        readingsBulkUpdate($hash,"Panelspannung",sprintf("%.2f",$e_[1] / 1000));
}
  #*************** fju ******************************************************************************************
      if($e_[0] eq "PPV")  # Panelleistung in W
{
if ($RawReading eq "On")
        {
          readingsBulkUpdate($hash,"_PPV",($e_[1] ));     
        }
        readingsBulkUpdate($hash,"Panelleistung",sprintf("%.2f",$e_[1]));
}
  #*************** fju ******************************************************************************************
      if($e_[0] eq "IL")  # Laststrom in A
{
if ($RawReading eq "On")
        {
          readingsBulkUpdate($hash,"_IL",($e_[1] ));     
        }
        readingsBulkUpdate($hash,"Laststrom in A",sprintf("%.2f",$e_[1] / 1000));
}
      #*************** fju ******************************************************************************************
      if($e_[0] eq "H19")    # Gesamtertrag in 0.01kWh (1/10Wh)
{
if ($RawReading eq "On")
        {
          readingsBulkUpdate($hash,"_H19",($e_[1] ));     
        }
        readingsBulkUpdate($hash,"Gesamtertrag in Wh",sprintf("%.2f",$e_[1] * 10));
}
      #*************** fju ******************************************************************************************
      if($e_[0] eq "H20")    # Tagesertrag in 0.01kWh (1/10Wh)
{
if ($RawReading eq "On")
        {
          readingsBulkUpdate($hash,"_H20",($e_[1] ));     
        }
        readingsBulkUpdate($hash,"Tagesertrag in Wh",sprintf("%.2f",$e_[1] * 10));
}
      #*************** fju ******************************************************************************************
      if($e_[0] eq "H21")    # Max. TagesPVleistung in W
{
if ($RawReading eq "On")
        {
          readingsBulkUpdate($hash,"_H21",($e_[1] ));     
        }
        readingsBulkUpdate($hash,"Max. TagesPVleistung in W",sprintf("%.2f",$e_[1] ));
}
      #*************** fju ******************************************************************************************
      if($e_[0] eq "H22")    # Ertrag gestern in 0.01kWh
{
if ($RawReading eq "On")
        {
          readingsBulkUpdate($hash,"_H22",($e_[1] ));     
        }
        readingsBulkUpdate($hash,"Ertrag gestern in Wh",sprintf("%.2f",$e_[1] * 10));
}
     #*************** fju ******************************************************************************************
      if($e_[0] eq "H23")    # Max. PVleistung gestern
{
if ($RawReading eq "On")
        {
          readingsBulkUpdate($hash,"_H23",($e_[1] ));     
        }
        readingsBulkUpdate($hash,"Max. TagesPVleistung gestern in W",sprintf("%.2f",$e_[1] ));
}


      #***************************************************************************************************************


grüße,
frank
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: Bob19 am 06 Juli 2017, 23:59:55
Hallo Gemeinde,
ich bin gerade seit 2 Wochen ein Neuling was Raspberry Pi und FHEM angeht, und habe schon ein Paar Sachen hier über das Forum gelesen.

Ich betreibe mein Raspberry PI 3 mit FHEM / Pilight / Homebridge und das klappt wunderbar.
Habe meine Sachen von Intertechno damit am laufen.

nun zu mein Vorhaben:

Ich habe im Garten eine Photovoltaik Anlage mit Victron BMV 700 und ein Bluetooth dongel. Was ich von zu Hause auslesen kann, weil die Entfernung sehr gering ist.
Mein Raspberry PI3 hat ja auch Bluetooth on Board.

Kann man den BMV 700 via Bluetooth am Raspberry PI auslesen und mir wenigstens die Batterieanzeige in % auf Apple Home anzeigen zu Lassen? Oder geht das nur über USB?

Danke im Voraus
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: Bob19 am 07 Juli 2017, 22:26:49
Push

Keiner eine Lösung?
Ober bin ich hier falsch?
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: Askie am 07 Juli 2017, 23:21:15
Moin Bob19,
Wenn dein blauzahn dongel als serielle Schnittstelle fungiert sollte das recht einfach gehen... falls nicht wird das Modul nicht so ohne weiteres funktionieren - d.h. es müsste auf das blauzahn Protokoll umgeschrieben werden. Allerdings weiß ich nicht wie das arbeitet, von daher ist eine Antwort relativ schwierig...
Gruß Askie
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: Bob19 am 22 Juli 2017, 14:46:30
@ Askie

Schade das es da keine Lösung gibt, aber danke für die Hilfe
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: duke-f am 11 Oktober 2017, 08:28:03
Ich danke den Autoren dieses Modul. Habe das ganze auch in einer etwas angepassten Variante orientiert an den Beiträgen von @ducati748sp für einen mppt 75/15 jetzt im Einsatz. Das Modul läuft dabei auf einem besonderen FHEM auf einem Spar-Debian auf meinem NAS und ist per FHEM2FHEM an das Haupt-System auf dem Cubie eingebunden.

Für die, die es interessiert:
Das hatte folgenden Grund. Mein mppt 75/15 ist außerhalb des Hauses im Gartenhaus. Daher kann er nicht direkt an einem vorhandenen Kleinstrechner mit FHEM eingebunden werden. Abhilfe schuf hier ein seh myUTN-55, der den USB-Anschluss des mppt 75/15 per WLAN weiterleiten kann. Klar ist das nicht die kostengünstigste Lösung, aber davon soll hier nicht die Rede sein. Vorteil des myUTN-55: Es gibt Linux-Treiber. Leider aber nicht für die ARM-Prozessoren der Raspberries und des Cubie - zumindest habe ich es nicht geschafft, sie dort zum Laufen zu bringen. Daher dann die Lösung des Spar-Debian als VM auf dem NAS. Das FHEM dort bedient nun ausschließlich den mppt 75/15. Ein Vorteil dieses vom Hauptsystem abgetrennten Systems ist, dass das Hauptsystem weniger belastet wird. Der mppt 57/15 liefert nämlich Daten im Abstand weniger Sekunden und die Lösung in der hier vorliegenden Variante schreibt erst mal sehr viel in die Log-Dateien. Das könnte man zwar besser organisieren, denke ich, aber gerade in der Anfangsphase will ich doch diese Information erst mal möglichst komplett haben. Daher wird jetzt auf dem mppt-FHEM alle 5 Minuten eine gewisse Auswertung der Unmenge an Daten vorgenommen, ohne das Hauptsystem zu belasten. Hier bin ich aber noch nicht fertig, bisher wird erst mal der Ladestrom über 5 Minuten gemittelt. Gleiches sollte noch mit dem Ladestrom vorgenommen, für andere Größen ist vielleicht eher der Spitzenwert innerhalb 5 Minten interessant. Für den Ladezustand sollte hingegen auf jeden Fall ein eventuell auftretender Fehler gemeldet werden. Und alle 5 Minuten werden dann ausgewählte Daten in einen Dummy geschrieben, der dann im Hauptsystem über FHEM2FHEM landet und dort weiter integriert wird in form eines Dummies mit den Readings:


Ladestrom_5Min
-0.19
2017-10-11 08:18:41
Ladezustand
0
2017-10-11 08:18:41
Laststrom
0.10
2017-10-11 08:18:41
Max_Tagesleistung
0.00
2017-10-11 08:18:41
Panelleistung
0.00
2017-10-11 08:18:41
Panelspannung
13.00
2017-10-11 08:18:41
Power
-2.48
2017-10-11 08:18:41
Spannung_B
13.05
2017-10-11 08:18:41
Tagesertrag
0.00
2017-10-11 08:18:41
Tagesverbrauch
-28.4
2017-10-11 08:18:41
state
Spannung_B: 13.05 Ladestrom_5Min: -0.187966666666682 Tagesertrag: 0.00 Tagesverbrauch: -28.3950879722659 Laststrom: 0.10 Max._Tagesleistung: 0.00 Ladezustand: 0 Panelspannung: 13.00 Paneleistung: 0.00 Power: -2.48
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: McUles am 17 Mai 2018, 15:27:27
Hat inzwischen jemand das Modul auf die 700er Serie erweitert?
Habe einen BMV712 (702+Bluetooth) und würde den gerne auslesen.
Titel: Antw:Modul für Victron Batteriemonitor BMV600 / BMV602
Beitrag von: duke-f am 17 Mai 2018, 16:33:42
Mal ins blaue gefragt: Wenn Du den einfach mal anschließt und siehst, was dabei raus kommt? Soweit ich weis ist das Protokoll doch recht simpel gestrickt bei diesen Geräten.
Titel: Modul für Victron BMV60x / BMV 70x / MPPT / Inverter VE.Direct Textprotokoll
Beitrag von: Askie am 03 Juli 2018, 13:17:14
So... nachdem ich gerade mal ein bisschen Zeit hatte habe ich die Gelegenheit genutzt das Modul auf das VE.Direkt Text Protokoll zu erweitern. Damit sollen nicht nur die BMV60x und BMV700x sondern auch eine ganze Reihe MPPT und Inverter unterstützt werden.
Da ich leider nur einen BMV600 besitze kann ich nicht groß Testen und die Benutzung geschieht natürlich auf eigene Gefahr ;)
Ich hoffe es hilft dem einen oder anderen trotzdem.

Neue DateiVersion von 00_VEDirect.pm.
Das Modul sollte jetzt vollständig funktionieren (incl. Checksumme)

define <Name> VEDirect /dev/ttyUSB0@19200
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: McUles am 08 Juli 2018, 13:44:24
Habe dein Plugin (VEDirect) bei mir im Wohnwagen installiert. Daten werden soweit ordentlich ausgelesen. Nur der Typ des Gerätes wird nicht angezeigt. Habe es im PID Array bereits ergänzt, kommt aber trotzdem nicht. Habe einen BMV-712 smart (0xA381).
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Askie am 09 Juli 2018, 10:14:51
Moin McUles,

probier mal bitte die angehängte Version. Ich kann leider derzeit noch nicht testen (aber hoffentlich heute Abend - wenn DHL mitspielt ;) )

Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: McUles am 09 Juli 2018, 12:00:32
Was hast du den daran geändert? Habe keine neue PID darin gefunden?
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Askie am 09 Juli 2018, 12:09:03
Ups...
konntest du auch nicht - war die falsche Datei ;(
Änderung: %PID umbenannt (wegen möglicher Probleme)
%PrID erweitert um BMV-712 smart

Versuch es mal mit der hier...
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: McUles am 09 Juli 2018, 12:45:26
Datei ausgetauscht und noch mal getestet, kommt nix rein :(
Also die Daten generell schon, nur der Product Name nicht.
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Askie am 09 Juli 2018, 13:18:09
hm, muss ich heute aben mal gucken...
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: McUles am 09 Juli 2018, 18:24:22
Habe eine kleine Ergänzung für dich:

Zeile 605:
$Values{'TTG'} = int($TTG / 60)." h ".($TTG % 60)." min"; #Wert Speichern

Dann werden die Stunden nicht mehr als Float angezeigt, sondern nur noch die Stunde, was ja auch ausreicht ;)
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Askie am 10 Juli 2018, 14:43:27
Moin!
aktuelle Version von 00_VEDirekt.pm im 1.Beitrag ergänzt
(@McUles: ist ergänzt)
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: duke-f am 13 Dezember 2018, 08:08:50
@Askie
Ich habe erst jetzt gesehen, es gibt was neues - und ich habe seit langem noch die Version namens BMV600. Die mit kleinen Anpassungen, weil die Leerzeichen in den Readings störten.
Jetzt hatte ich mal spaßeshalber die neue Version eingespielt und festgestellt, dass sie nicht so läuft, wie ich gewohnt bin. Offensichtlich gibt es eine ganz neue Definition die Readings betreffend. Habe jetzt wieder die alte Version aktiviert und die neuen Readings gelöscht. Ich nutze ein MPPT 75/15. Gibt es irgend einen Vorteil für mich durch einen Umstieg, oder soll ich besser alles beim alten lassen, wenn es da funktioniert?
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Askie am 13 Dezember 2018, 09:22:39
Moin duke-f,
das musst du natürlich selbst entscheiden.
Gerade für den MPPT ist die neue Version interessant, da dieser unterstützt wird (mit Historie etc,).
Ausserdem ist es mit der neues Version möglich mehrere Geräte an einer FHEM-Instanz laufen zu lassen.
Bei mir werkeln derzeit ein MPPT75/15, ein Phönix Inverter und ein BMV700 an einer FHEM Installation herum.
Die Readings haben sich aber in der Tat ein wenig geändert, was im wesentlichen an Anpassungen an das VE.direct-Protokoll liegt.
In beschränktem Maße sind auch set-Funktionen implementiert (z.B. zum ein-/ausschalten eines Inverters oder zum Abrufender Historie beim MPPT)
VG..
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: duke-f am 13 Dezember 2018, 09:45:42
Besten Dank,

ja, die Entscheidung liegt klar bei mir. Da hast Du recht. Für mich ist es aber so, dass ich auf weiteres bestimmt nur ein einziges Gerät betreibe. Weiter habe ich das innerhalb eines virtuellen Debian auf meinem NAS, da ich an der Position des Victron keinen direkten USB-Anschluss habe und diesen durch einen USB-WLAN-Server realisiere, für den es wiederum zwar Linux-Treiber gibt, dies aber leider nur für x86-Systeme. Also weder für den Cubie noch für einen Raspie. Hat jetzt aber wieder den Vorteil, dass ich auf diesem Mini-FHEM erst die Daten etwas ausmiste und mir 5-Minuten-Mittelwerte FHEM-intern berechne (in Analogie zu meinen anderen Energiezählern), und diese dann an das Haupt-FHEM per FHEM2FHEM übermittle.

So, war nun etwas ausführlich. Aber ich denke, es ist nun verständlich, dass aufgrund der Änderungen der Readings meine Zwischerechnungen entsprechend angepasst werden müssten, was ich wiederum nur dann machen möchte, wenn es sich für mich ein Vorteil ergibt. Set-Befehle sind für mich wahrscheinlich dauerhaft nicht von Bedeutung. Aber das Auslesen der Historie bietet doch einen Anreiz. Gerade jetzt hatte ich diesen USB-WLAN-Server einige Tage außer Betrieb nehmen müssen und es fehlt ein gutes Teil der Daten. Ist nicht wichtig, im Moment scheint eh fast keine Sonne. Aber wenn es die Möglichkeit gibt, die 30 Tage des internen Speichers doch noch zu bekommen in solchen Fällen, werde ich den Umstieg nochmal angehen.

Leider hatte ich beim ersten Versuch heute morgen aber das Gefühl, dass seltsamerweise zwar die neuen Readings alle schnall auftauchten, jedoch die Werte danach nicht aktualisiert wurden. Deshalb werde ich besser ein neues Gerät einfügen statt das alte BMV600 zu ändern.

Die beiden Attribute CBatt1 und Unominal gibt es nicht mehr, richtig?
Bin die Tage etwas gebunden - typisch Vorweihnachtszeit - werde aber von Erfolg/Mißerfolg berichten.

EDIT: Nach set StatusRequest läuft die kontinuierliche Aktualisierung. nun muss ich mich nur noch in die neuen Readings und Attribute einlesen. Vor der endgültigen Umstellung werde ich nur noch meine Funktionen anpassen müssen.
Ich danke auf jeden Fall für dieses sehr nützliche Modul!
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Askie am 13 Dezember 2018, 21:00:19
Das klingt doch gut...
Nein, die beiden Attribute gibt es nicht mehr - die machen auch keinen Sinn mehr...
Sehr gerne... und frohes Fest an ALLE!
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: hanami am 23 Februar 2019, 10:58:00
Zitat von: Askie am 13 Dezember 2018, 09:22:39
Moin duke-f,
das musst du natürlich selbst entscheiden.
Gerade für den MPPT ist die neue Version interessant, da dieser unterstützt wird (mit Historie etc,).
Ausserdem ist es mit der neues Version möglich mehrere Geräte an einer FHEM-Instanz laufen zu lassen.
Bei mir werkeln derzeit ein MPPT75/15, ein Phönix Inverter und ein BMV700 an einer FHEM Installation herum.
Die Readings haben sich aber in der Tat ein wenig geändert, was im wesentlichen an Anpassungen an das VE.direct-Protokoll liegt.
In beschränktem Maße sind auch set-Funktionen implementiert (z.B. zum ein-/ausschalten eines Inverters oder zum Abrufender Historie beim MPPT)
VG..
Moin Askie,

ich habe nun seit längerem auch Dein Modul mit einem Victron MPPT 100/20 im Einsatz und bin begeistert. Danke für die Arbeit.

Was ich jedoch vermisse, ist die angesprochene "Historien" Funktion.
Leider habe ich unter den set Befehlen nur ein set Status Request.
Wie komme ich an die Historie? Derzeit lasse ich alles in ein Log schreiben, ist natürlich nicht so toll.

Vielen Dank vorab.
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: TK67 am 04 März 2019, 16:27:26
@Askie

zunächst mal vielen Dank für das Modul.
Habe über ein USB Kabel den Victron SmartSolar MPPT Laderegler 100/50 am Raspi angeschlossen.
Ich plane jetzt mir den BMV-712 Smart zu holen. Brauche ich dann dazu ein weiteres USB Kabel oder ist es möglich die beiden Geräte über Bluetooth zu koppeln,
so das ich dann über ein Kabel die Daten von beiden Geräten bekomme ?

Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Askie am 04 März 2019, 17:20:44
Moin zusammen...
@hanami: die history sollte eigentlich als reading auftauchen. Mehr habe ich leider bislang nicht einbauen können.

@TK67:  Koppeln über bt wäre zwar schön, aber das funktioniert leider nicht. Du benötigst ein 2. Kabel.
Allerdings ist es ausreichend z. B. Einen günstigen USB to rs232 Konverter zu kaufen und den mit der Schnittstelle des bmv zu verbinden... (muss also kein original Kabel sein...)
Oder falls noch frei kann auch direkt die Schnittstelle des raspi benutzt werden.
Btw: die Schnittstelle ist in der Regel 3,3v... Also drauf achten!

Grüße Askie
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: hanami am 05 März 2019, 17:03:31
@Askie, vielen Dank für Dein Feedback
ZitatAutor: Askie
« am: Gestern um 17:20:44 » Zitat einfügen
Moin zusammen...
@hanami: die history sollte eigentlich als reading auftauchen. Mehr habe ich leider bislang nicht einbauen können.
Nicht das wir hier aneinander vorbeireden. Mit History Funktion denke ich an die Victron typische 30 Tage History.
Oder meinst Du die Readings? Maximale_Leistung_gestern; Maximale_Leistung_heute; kWh_Ausbeute_gesamt; kWh_Ausbeute_gestern; kWh_Ausbeute_heute

Hier mal ein List des Reglers und der Readings:
defmod VE.MPPT.100_20 VEDirect /dev/ttyUSB0@19200
attr VE.MPPT.100_20 Darstellung_Ertrag Wh
attr VE.MPPT.100_20 berechneteWerte On
attr VE.MPPT.100_20 group Photovoltaik
attr VE.MPPT.100_20 icon measure_photovoltaic_inst
attr VE.MPPT.100_20 room KaWa,Serverroom
attr VE.MPPT.100_20 sortby 01

setstate VE.MPPT.100_20 disconnected
setstate VE.MPPT.100_20 2019-02-24 10:40:12 B_Leistung 3.93 W
setstate VE.MPPT.100_20 2019-02-24 10:40:12 B_LeistungLast 8.13 W
setstate VE.MPPT.100_20 2019-02-24 10:40:12 B_Wattstunden_entnommen -0.00 Wh
setstate VE.MPPT.100_20 2019-02-24 10:40:12 B_Wattstunden_geladen 0.24 Wh
setstate VE.MPPT.100_20 2019-02-24 10:40:12 Betriebsart Bulk
setstate VE.MPPT.100_20 2019-02-24 10:40:12 BetriebsartValue 3
setstate VE.MPPT.100_20 2019-02-24 10:40:12 DaySequenceNumber 155
setstate VE.MPPT.100_20 2019-02-24 10:40:12 Fehlermeldung kein Fehler
setstate VE.MPPT.100_20 2019-02-24 10:40:12 Firmware 1.39
setstate VE.MPPT.100_20 2019-02-24 10:40:12 LastStrom_A 0.60 A
setstate VE.MPPT.100_20 2019-02-24 10:40:12 Lastausgang eingeschaltet
setstate VE.MPPT.100_20 2019-02-24 10:40:12 LeistungPanel_W 13.00 W
setstate VE.MPPT.100_20 2019-02-24 10:40:12 Maximale_Leistung_gestern 29.00 W
setstate VE.MPPT.100_20 2019-02-24 10:40:12 Maximale_Leistung_heute 27.00 W
setstate VE.MPPT.100_20 2019-02-24 10:40:12 Product_Name SmartSolar MPPT 100|20
setstate VE.MPPT.100_20 2019-02-24 10:40:12 Seriennummer HQXXXXXX
setstate VE.MPPT.100_20 2019-02-24 10:40:12 SpannungPanel_V 19.41 V
setstate VE.MPPT.100_20 2019-02-24 10:40:12 Spannung_V 13.55 V
setstate VE.MPPT.100_20 2019-02-24 10:40:12 Strom_A 0.29 A
setstate VE.MPPT.100_20 2019-02-24 10:40:12 kWh_Ausbeute_gesamt 4780.00 Wh
setstate VE.MPPT.100_20 2019-02-24 10:40:12 kWh_Ausbeute_gestern 80.00 Wh
setstate VE.MPPT.100_20 2019-02-24 10:40:12 kWh_Ausbeute_heute 40.00 Wh
setstate VE.MPPT.100_20 2019-03-05 14:17:15 state disconnected



Beste Grüße
hanami
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Askie am 06 März 2019, 12:46:07
Halllo Hanami,

wenn du einen get Befehl abgibst ("get VE.MPPT.100_20 History_data All") dann sollten  (log-level 4)
die History werte als Reading "History_*datum*Werte*" erscheinen. In dem von Dir bereitgestellten Auszug fehlen diese Reading allerdings.


Gruß Askie
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Matthias76 am 30 März 2019, 07:27:02
Wieso muss denn ein BMV712 über ein serielles Datenkabel (ggf. adaptiert auf USB) für die Verbindung mit einem FHEM-Server verwendet werden?
Victron wirbt doch produktreihen-intern damit, dass dank ,,Smart" (Bluetooth) die VE.Bus-Anschlüsse frei bleiben und so nun x Geräte vollständig miteinander sprechen können, wo vorher dann bei 2 schluss war, weil Buchsen=belegt.
Und da Bluetooth ja eigentlich nur anders verpackte serielle Kommunikation ist?!?

Also im Fall FHEM mit BMV würde ich annehmen, ein Bluetooth-Dongle am Server, gekoppelt mit dem BMV müsste die gleichen Möglichkeiten bieten, wie die direkte Verkabelung.
Ich meine, Victron bietet auch SDKs.

Oder geht das nicht, weil via BT was fehlt, doch anders läuft usw. ?

---

Nachtrag:
Ich werde die Verbindung nun halt doch via RS232/UART machen.
Softwaresweitig habe ich das Modul schon mal in FHEM eingebaut,
aber nach dem DEFINE ...VEDirect.pm ... habe ich immer Fehler-Log-Einträge.
Ist das normal, wenn das Modul integriert/aktiviert ist, aber kein Kabel/Gerät dran steckt?
Das Skript kann ja nicht voller Fehler sein, wenn es von euch allen erfolgreich eingesetzt wird?!?

2019.04.01 23:07:52 0: syntax error at ./FHEM/00_VEDirect.pm line 506, near "%ARtext{"
syntax error at ./FHEM/00_VEDirect.pm line 515, near "%ARtext{"
Global symbol "$AR" requires explicit package name at ./FHEM/00_VEDirect.pm line 518.
Global symbol "$AR_text" requires explicit package name at ./FHEM/00_VEDirect.pm line 520.
Global symbol "$AR_text" requires explicit package name at ./FHEM/00_VEDirect.pm line 520.
syntax error at ./FHEM/00_VEDirect.pm line 520, near "%ARtext{"
Global symbol "$AR" requires explicit package name at ./FHEM/00_VEDirect.pm line 520.
Global symbol "$AR" requires explicit package name at ./FHEM/00_VEDirect.pm line 521.
Global symbol "$AR" requires explicit package name at ./FHEM/00_VEDirect.pm line 521.
Global symbol "$AR" requires explicit package name at ./FHEM/00_VEDirect.pm line 523.
Global symbol "$AR_text" requires explicit package name at ./FHEM/00_VEDirect.pm line 525.
Global symbol "$AR_text" requires explicit package name at ./FHEM/00_VEDirect.pm line 525.
syntax error at ./FHEM/00_VEDirect.pm line 525, near "%ARtext{"
./FHEM/00_VEDirect.pm has too many errors.
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Matthias76 am 06 April 2019, 01:10:46
Inzwischen habe ich Daten am seriellen UART0 meines Cubietrucks anliegen, aber das ändert nichts daran...

Hat denn keiner eine Idee, warum das Modul so rein gar nicht (mehr) funktioniert?
Also zumindest das Hinzufügen in FHEM (Web) mittels der Zeile:
"define BMV VEDirect /dev/ttyS0@19200" gelingt nicht!
Es folgt prompt diese Meldung in FHEM:
"Cannot load module VEDirect"

Im Log dann:
2019.04.06 01:00:06 0: syntax error at ./FHEM/00_VEDirect.pm line 506, near "%ARtext{"
syntax error at ./FHEM/00_VEDirect.pm line 515, near "%ARtext{"
Global symbol "$AR" requires explicit package name at ./FHEM/00_VEDirect.pm line 518.
Global symbol "$AR_text" requires explicit package name at ./FHEM/00_VEDirect.pm line 520.
Global symbol "$AR_text" requires explicit package name at ./FHEM/00_VEDirect.pm line 520.
syntax error at ./FHEM/00_VEDirect.pm line 520, near "%ARtext{"
Global symbol "$AR" requires explicit package name at ./FHEM/00_VEDirect.pm line 520.
Global symbol "$AR" requires explicit package name at ./FHEM/00_VEDirect.pm line 521.
Global symbol "$AR" requires explicit package name at ./FHEM/00_VEDirect.pm line 521.
Global symbol "$AR" requires explicit package name at ./FHEM/00_VEDirect.pm line 523.
Global symbol "$AR_text" requires explicit package name at ./FHEM/00_VEDirect.pm line 525.
Global symbol "$AR_text" requires explicit package name at ./FHEM/00_VEDirect.pm line 525.
syntax error at ./FHEM/00_VEDirect.pm line 525, near "%ARtext{"
./FHEM/00_VEDirect.pm has too many errors[/quote]


Mittels "sudo cu -s 19200 -l /dev/ttyS0" bekomme ich diese Infos:
Zitat
H1      -59840
H2      -29474
H3      0
H4      1
H5      0
H6      -394132
H7      13001
H8      14234
H9      33523
H10     7
H11     0
H12     0
H15     0
H16     0
H17     5
PID     0xA381
V       13038
T       11
I       -2489
P       -32
CE      -29474
SOC     824
TTG     1150
Alarm   OFF
Relay   OFF
AR      0
BMV     712 Smart
FW      0401
Checksum
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: duke-f am 06 April 2019, 11:28:29
Scheint doch so zu sein, dass auf Linux-Ebene das Modul schon da ist, aber nicht zu FHEM durch kommt. Das erinnert mich zumindest ansatzweise an mein Systemverhalten: Ich habe den Victron ja über einen USB-WLAN-Konverter angebunden, der gelegentlich mal eine Trennung für mehr oder weniger kurze Zeit hat, woher auch immer. Aber nach jeder Trennung und nach jedem Neustart muss ich zu allererst auf Linuxebene die Daten einmal abrufen, dann kommten sie anschließend auch bei FHEM an. Aber ich kann Dir jetzt nicht sagen, ob ich dann genau Deine Meldung habe.

Daher habe ich mir folgendes DOIF angelegt:

defmod DI_VICTRON_reopen DOIF ([VICTRON] eq "opened")({system ("/opt/fhem/restart_watchdog_s")})


mit dem zugehörigen Skript:

#!/bin/bash
sleep 10
/opt/fhem/PV-SysReader -i /dev/Victron_DC -d mppt
sleep 10
/opt/fhem/PV-SysReader -i /dev/Victron_DC -d mppt
date >> /var/log/watchdog_s


Entsprechendes wird beim Neustart auch per Cronjob aufgerufen. Das ist wegen dem erwähnten Konverter bei mir dann noch etwas umfangreicher.
Allerdings nutze ich nach wie vor das Vorgänger-Modul BMV600. Das läuft bei mir und liefert mir auch alles, was ich brauche. Wollte mal testweise umsteigen, hatte dann aber erst noch Probleme dabei, dann mit dem Konverter und bin im Moment froh, dass es überhaupt wieder läuft.
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Matthias76 am 06 April 2019, 13:05:57
War das jetzt auf meine Frage bzw. Problematik die Antwort?
Weil klar, ich habe die Modul-Datei in das entsprechende Verzeichnis FHEM reinkopiert, deshalb ist sie (1x) auch da.
Nun will ich es in FHEM benutzen und das Perl-Script wird von FHEM verwendet, bricht es dann aber ab, weil zu viele Fehler im Programm sind?!? Also wie man sieht, kommen die Logeinträge mit Verweis auf Fehler im Perl-Modul schon beim nötigen DEFINE setzen (Versuch) des VEDirekt-Moduls, wobei es auch gleich deaktiviert wird.
Leider bin ich kein Programmierer. Mir fehlt es an Erfahrungen mit Perl u.ä., da liegen meine Stärken in anderen IT-Sektoren.  ;) 
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: duke-f am 06 April 2019, 13:43:25
War halt ein Ansatz, mit dem ich mir beholfen habe. Wenn Du ein eine "mundgerechte" Lösung suchst, muss ich mich wieder ausblenden, da ich auch nicht so ein Experte bin. Meine Stärken liegen nicht mal im gesamten IT-Bereich sondern wo ganz anders.

Bestimmt gibt es da andere, die da tiefer drin stecken. Wenn durch mein Post nun das Thema auch nur etwas gepuscht wurde und damit Aufmerksamkeit geweckt wird, ist Dir ja vielleicht schon damit geholfen. ;)
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Matthias76 am 06 April 2019, 14:11:36
Hey, ja dann danke für den Push.
Ich versuche mich als "0<ich<Perl-Anfänger" eben gerade an der Analyse, was da schief läuft.
Gehe ich strikt nach "Google-Art" vor, so sind im 00_VEDirekt.pm einige Variabeln nicht wie nötig mit "my" deklariert worden und ob sinnhaft oder nicht, habe ich diese mal am Anfang mit Nichts "" deklariert:
my %attr = ""; #Matthias-K-AddIn
my $readingFnAttributes = ""; #Matthias-K-AddIn
my %ARtext = ""; #Matthias-K-AddIn
my $ARtext = ""; #Matthias-K-AddIn
my $AR_text = ""; #Matthias-K-AddIn
my $AR = ""; #Matthias-K-AddIn

Dadurch fielen schon mal alle Meldungen in der Art "Global symbol "$AR_text" requires explicit package name at ./FHEM/00_VEDirect.pm line 531." weg:
Zitat2019.04.06 13:57:34 0: syntax error at ./FHEM/00_VEDirect.pm line 513, near "%ARtext{"
syntax error at ./FHEM/00_VEDirect.pm line 522, near "%ARtext{"
syntax error at ./FHEM/00_VEDirect.pm line 527, near "%ARtext{"
syntax error at ./FHEM/00_VEDirect.pm line 532, near "%ARtext{"
syntax error at ./FHEM/00_VEDirect.pm line 537, near "%ARtext{"
syntax error at ./FHEM/00_VEDirect.pm line 542, near "%ARtext{"
syntax error at ./FHEM/00_VEDirect.pm line 547, near "%ARtext{"
syntax error at ./FHEM/00_VEDirect.pm line 549, near "}"
syntax error at ./FHEM/00_VEDirect.pm line 554, near "}"
syntax error at ./FHEM/00_VEDirect.pm line 560, near "}"
./FHEM/00_VEDirect.pm has too many errors.

Es ist anscheinend immer der gleiche Syntaxfehler im Perl-Programm, an wiederkehrenden Stellen.

Dabei frage ich mich nur, wie das Modul jemals bei irgendwem funktioniert haben konnte.
Oder anders - doch, klar weiß ich das - Linux lebt, Perl lebt, die Comm. lebt und täglich ändern sich so die Basics.  :P ;D

Naja, ich habe immer noch "Ubuntu 14.04 LTS" auf dem Cubietruck.
Dieses jedoch (wie auch FHEM) tagesaktuell durchgepatcht.

Perl:
This is perl 5, version 18, subversion 2 (v5.18.2) built for arm-linux-gnueabihf-thread-multi-64int
(with 41 registered patches)
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Matthias76 am 06 April 2019, 19:29:51
So, nachdem ich nun einen ganzen Tag ohne Erfolg an dem VEDirect.pm-Problem rumanalysiert habe,
habe ich einfach ein anderes Modul im Netz gesucht und gefunden, geladen, aktiviert, das auch funktioniert.

Für alle, denen es wie mir geht und denen die Basis-Funktionen eines BMV reichen,
geht alternativ dieses Modul eines anderen Authors:
https://ideone.com/pmeB2Q
Damit habe ich endlich Ergebnisse.  8)

Nun, vielleicht findet sich mal Zeit, Lust & Gelegenheit für die Authoren von 00_VEDirect.PM ihr Perl-Modul zu überarbeiten.  :-*

Vielleicht hat jemand noch einen Tipp für ein anderes Problem.
Zitatps aux |grep "getty"
root       646  0.0  0.0   1804   696 tty4     Ss+  19:12   0:00 /sbin/getty -8 38400 tty4
root       649  0.0  0.0   1804   696 tty5     Ss+  19:12   0:00 /sbin/getty -8 38400 tty5
root       654  0.0  0.0   1804   696 tty2     Ss+  19:12   0:00 /sbin/getty -8 38400 tty2
root       655  0.0  0.0   1804   696 tty3     Ss+  19:12   0:00 /sbin/getty -8 38400 tty3
root       658  0.0  0.0   1804   696 tty6     Ss+  19:12   0:00 /sbin/getty -8 38400 tty6
ABER IN /var/log/messages:
ZitatApr  6 18:58:07 matiserv kernel: [    0.000000] Kernel command line: console=ttyS0,115200 init=/init... usw...

Das Problem daran ist, dass ich meinen Cubietruck nur rebooten kann, wenn ich das serielle Kabel an UART0 mal eben trenne und erst nach dem Reboot wieder dranstecke, sonst bootet er gar nicht! Anscheinend wird die "wachende ttyS0-Console" vom BMV überfallen. Ich brauche sie nicht, bekomme sie aber auch nicht abgestellt. Es gibt hier kein Grub, Lilo o.ä., wo ich Kernel-Parameter absetzen könnte. Es gibt kein /etc/inittab. Alles andere gefundene ist schon aus.

Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: duke-f am 06 April 2019, 22:02:25
Zitat
Für alle, denen es wie mir geht und denen die Basis-Funktionen eines BMV reichen,
geht alternativ dieses Modul eines anderen Authors:
https://ideone.com/pmeB2Q
Damit habe ich endlich Ergebnisse.  8)
So auf den ersten Blick erinnert mich das zumindest im oberen Bereich andie von mir genutzte Version des Moduls BMV600.
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Askie am 16 April 2019, 15:57:20
Moin,

@Matthias76:
Auch ich als Entwickler dieses Moduls bin kein Programmierer... ich habe mich nur hingesetzt und versucht meinen Bedürfnissen entsprechend eine Lösung für mich zu finden.
Übrigends: Ich habe gerade noch mal testweise das im ersten Beitrag hinterlegte Modul in ein bis dato unbelecktes FHEM kopiert und ein Gerät definiert - Das funktioniert bei mir tadellos (Raspbian Stretch auf einem Raspi...nicht auf einem Cubie).
--> den %ARtext-Fehler kann ich nicht leider nicht nachvollziehen :( ---> möglicherweise ein Fehler beim kopieren des Moduls passiert? Andere Perl-Version ?

Zum Thema Blauzahn: ("Und da Bluetooth ja eigentlich nur anders verpackte serielle Kommunikation ist...")
Ja, das wäre schön, wenn es so einfach gehen würde. Leider ist meines Wissens nach die Schnittstelle unter Raspbian (und linux im allgemeinen) zwar vorhanden, aber die Umsetzung und das direkte Ansprechen ist mir zu hoch. So einfach wie du es Dir vorstellst ist es leider nicht ...
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: appi am 23 April 2019, 19:52:44
Hallo Kollegen
super Modul, installiert, definiert und läuft auf Anhieb mit einem Victron MPP 100/20.

Genau was ich in meinem Wohnmobil brauche, Danke.

Gruss Remo

Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Askie am 17 Mai 2019, 11:44:23
Moin zusammen...
Zur Info: Ich habe die Datei 00_VEDirect.pm (im ersten Beitrag) aktualisiert. Insbesondere das Hex-Protokoll findet nun mehr Verwendung und ich habe
ein ein bisschen Fehlerkorrektur betrieben...
Viel Spaß damit..
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: andreas_n am 11 Juni 2019, 11:11:16
Hallo

Eine nette Erweiterung wäre die Kommunikation über ein TCP/IP Port.
Ein Gateway (TTL->TCP/IP) für den BMV gibt es bereits für unter 10E.

Wäre sowas denkbar?
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Askie am 27 Juni 2019, 22:24:30
Moin andreas_n,

denkbar wäre das sicherlich - allerdings übersteigt das derzeit meine Möglichkeiten (sowohl was Hardware zum Testen angeht als auch das nötige Hintergrundwissen).
Gruß

Askie...
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: TK67 am 08 Juli 2019, 23:46:01
Hallo,

wäre es möglich die Zeit der Aktualisierung höher zu setzen. Habe das Problem das wenn ich das Modul 2 mal einbinde, einmal Seriell für den BMV 712 und einmal USB für den MPPT 100/50, die Systembelastung stark ansteigt.
Ohne Einbindung liegt die Fhem Belastung der CPU bei max 6% und Load average: 0.05 0.06 0.06
Mit dem MPPT 100/50 und dem BMV 712 sind die Werte CPU bis zu 28% und Load average: 0.26 0.29 0.30

Gruß TK67
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: velofreak am 14 September 2019, 15:02:49
Vielen Dank für den Entwicklungsaufwand! Hier ein Anwendungsbeispiel  https://blog.velofreak.de/?p=546 (https://blog.velofreak.de/?p=546)
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Askie am 03 Oktober 2019, 00:06:30
Moin zusammen...

so, nach langer Zeit hatte ich mal wieder ein bisschen Zeit und Ruhe das Modul nochmal zu überarbeiten.
Es handelt sich derzeit um ein noch nicht ganz fehlerfreies MAJOR Update!
D.h.: Die alten Reading-Namen gehören der Vergangenheit an (Ich habe mich jetzt an den Registernamen der Geräte orientiert)
Feature update: Nahezu alle möglichen Werte für alle Geräte zu setzen und auszulesen.
Bug-Fix: Mehrfach auftretende Readings mit gleichen Namen beseitigt
Bug-Fix: hohe CPU-Last --> hier gab es etwas Verbesserung

Die jeweils aktuelle Version ist jetzt in GIT zu finden: https://github.com/Askie666/VE.Direct.git

läuft bei mir derzeit mit einem MPPT 75/15 und einem Phönix Iverter 12V 500VA

Wie immer: Festgestellte Fehler gerne melden. Ich versuche mich zeitnah darum zu kümmern :)
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kurt6908 am 07 Oktober 2019, 12:19:26
Hallo,

laut Victron-Homepage ist der Smart Battery Sense Long Range von Victron Energy (MPN SBS050150200) auch in das VE.Smart Network per Bluetooth eingebunden.

Hat jemand Erfahrung, ob dieses Teil auch mit dem Modul funktioniert und zumindest die Werte auslesbar sind? Oder braucht es hier zwingend ein Ladegerät?

Ich bin aktuell verzweifelt auf der Suche nach einem günstigen Batteriewächter, den ich per FHEM/Raspi abfragen kann, da mein Solar-Wechselrichter leider keine entsprechende Schnittstelle hat. Selberbastln kommt leider nicht in Frage .... zwei linke Hände beim Bastln...die oben genannten BMVxxx sind  mir für meine 1000EUR-Inselanlage zu teuer....

Viele Grüße

pk444
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Askie am 07 Oktober 2019, 12:44:50
Moin!
Die Smart Battery Sense Long Range-Erweiterunf kommuniziert direkt mit Victron Solarleadereglern und nicht mit diesem FHEM-Modul...
Günstige BMV 700er liegen bei ca. 90€ + ca. 5@ für einen (Selbstbau) usb-seriell adapter... sind bei einer 1000€ Anlage also auch nicht sehr teuer und bieten dafür relativ viel...(Batterieschutz, autom. Verbraucherabschaltung ... lässt sich damit alles gut bewerkstelligen...)
Gruß
Askie
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kurt6908 am 29 November 2019, 18:37:11
Hallo,

ich bräuchte mal kurz Unterstützung:

Ich möchte das Modul 00_VEDirect.pm einbinden.

Beim Einrichten des Modules mit

define batterie VEDirect /dev/ttyUSB0@19200

bekomme ich den Fehler:

wrong syntax: define <name> VEDirect [connection|none] [DeviceType]

Ein "define batterie VEDirect none" führt auch zum gleichen Fehler. Ich vermute, dass im Modul hier bei den benötigten Parametern ein Fehler ist.

Gruß

Kurt

Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kurt6908 am 29 November 2019, 19:09:13
Hallo,

Fehler gefunden ;=)

"define batterie VEDirect /dev/ttyUSB0@19200" muss mit dem Typ ergänzt werden. Bei mir mit "Inverter" dann gehts auch.

Auf der ersten Seite #1 fehlt im define der type bzw. die möglichen Typen. Ich bin erst auf Grund eines Blickes in den Quell-Code draufgekommen.

Gruß

Kurt

 
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: abc2006 am 30 Dezember 2019, 05:01:54
Hallo,
bin gerade am Überlegen, ob ich mir einen Victron MultiPlus und einen VenusGX zulegen soll.
Da ich bisher noch gar nichts mit Victron unternommen habe, frage ich mich, ob ich die Vnus GX mit diesem Modul auslesen könnte.

Hat jemand Erfahrungen diesbezüglich?

Danke und Grüße,
Stephan
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kurt6908 am 27 Januar 2020, 08:29:34
Hallo,

ich habe das Modul nun seit einiger Zeit in meiner entfernten Garage am laufen. Die Garage ist mit einer eigenen FHEM-Instanz ausgestattet, auf der das Modul installiert ist.

Mittels FHEM2FHEM ist die Fhem-Instanz in der Garage an mein zentrales Fhem angeschlossen, was dem Grunde nach auch einwandfrei funktioniert.

Mir ist jedoch aufgefallen, dass folgende Wert von VEDirect.pm im Modus "inverter" nicht korrekt bzw. just-in-time über FHEM2FHEM in der zentralen Instanz aktualisiert werden:

Warning_reason
SerialTextInput
Hardwareversion (fehlt ganz)
Firmwareversion
Device_mode
state

Nachdem FHEM2FHEM einen richtigten Log-Eintrag benötigt, gehe ich davon aus, dass VEDirect die Werte zwar im GUI anzeigt, jedoch nicht korrekt loggt, bzw. nicht just-in-time loggt, so dass sie nicht per FHEM2FHEM übertragen werden können.

z.B.

Device_mode:
VEDirect.pm (entfernt): off
FHEM2FHEM (zentral): 104

Warning_reason:
VEDirect.pm (entfernt): 0
FHEM2FHEM (zentral): 0PID

Parallel würde ich vorschlagen, das Modul in das Repository und ins FHEM-Update aufzunehmen.

Gruß

Kurt

Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: sdz36 am 14 Februar 2020, 21:17:37
Hallo,
teste gerade mit einem BMV700.
Dabei wird bei mir die Batteriespannung nicht angezeigt.
Im Text ist "V" zu sehen.

Danke und Grüße,
Johannes
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Medel am 19 Mai 2020, 18:41:51
Hallo,

Ich habe einen SmartSolar MPPT 75|10 und habe ihn über ein Bluetooth Modul HC05 an Fhem über den Port /dev/rfcomm0 angebunden. Die Datenübertragung funktioniert.
Wenn ich einen Befehl über set und get anwähle kommt folgende Fehlermeldung:
zum Beispiel: get solargarten Battery_voltage

jquery.min.js line 2:
Error: Syntax error, unrecognized expression: a[name=VEDirect Protokoll ParserBattery_voltage]

Bei dem Beispiel wird nach absenden ein Fenster mit "0" angezeigt obwohl das Reading 13,33 anzeigt und ständig aktualisiert wird.
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: maseb am 25 Mai 2020, 16:17:12
Hallo,

ich habe einen BMV 712 smart an das aktuelle Modul aus dem GIT angeschlossen.

Es funktioniert alles bis auf die Anzeige der Spannung, im Reading als -V-.  Diese wird nicht aktualisiert.

Gibt es dafür schon eine Lösung?

Im älteren Modul wird die Spannung angezeigt. Würde aber gerne das Aktuelle Modul verwenden.

Grüße
Rudi
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Medel am 14 November 2020, 11:47:34
Hallo,

bei MPPT geht kein "set" Kommando, wollte den Last Ausgang mit Fhem schalten.
Soweit ich feststellen konnte liegt es daran dass im Kommando Namen in  %mppt_reg Unterstriche vorhanden sind, diese werden bei VEDirect_Set  gefiltert mit $cmd =~ s/_//g
Dies ist bei fast allen Kommando Namen der Fall.

Im Get Befehl steht nur "oad_output_control"

Gruß
Mario
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Askie am 16 November 2020, 12:51:15
@Medel: Danke für die info  :D
in der aktuellen GIT-Version habe ich "$cmd =~ s/_//g" mal auskommentiert, und den "oad_output_control"-Fehler behoben.
Mir ist allerdings noch schleierhaft woher der Fehler "jquery.min.js line 2:
Error: Syntax error, unrecognized expression: a[name=VEDirect Protokoll ParserBattery_voltage] " kommt...

VG...
                     
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Medel am 16 November 2020, 18:37:42
Hallo,

"get ... Battery_voltage bzw Battery_current" gibt es seit der letzten Version nicht mehr. Das heißt jetzt ja "Main_or_channel_1_battery_voltage" und "Main_or_channel_1_battery_current" aber "get.." mit den neuen Bezeichnungen gibt es nicht, kann es also nicht testen  ob der Fehler noch kommt.

Soweit ich es getestet hab geht das Schalten jetzt.

Gruß
Mario
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: HRE_7390_pi am 19 November 2020, 08:25:12
Moin Andre,

hast Du in der neuen Version was zum Thema geändert das "abends ca 23Uhr" das History Log mit dem neuen Werten überschrieben wird?


Grüße
Hans-Jürgen
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Medel am 20 November 2020, 21:05:06
Hallo,

habe jetzt mehrere Get abfragen getestet. Es kommt jedoch keine Antwort zurück. Im Log steht, nach absenden des get zum Beispiel:
VEDirect_Get Keylist: 0xED9A 0x2030 0x1057 0x010B 0x2005 0x200E 0x1053 0x0352 0xEDD9 0xEDD3 0x1059 0xEDF7 0xEDD7 0x0105 0xEDE0 0xED97 0x105A  0x106B 0xEDA9 0x106C 0xEDA3 0x2031 0xEDA7 0xEDDA 0x106E 0xEDB8 0xED99 0x1065 0xEDBA 0x2001 0xEDF6 0x0353 0x1052 0xEDEC 0x1054 0x1060 0x105F 0x0400 0xEDF4 0x2212 0xEDDF 0xEDD4 0x1058 0xEDD2 0x1056 0xEDF2 0x100A 0xEDA8 0x0100 0x1061 0xED96 0x0401 0xEDA4 0x106D 0xED98 0xEDA2 0xEDB9 0x2000 0x0201 0x2004 0x0106 0x200F 0xEDA0 0x1030 0x105D 0x2002 0x1051 0xEDCC 0x0104 0xEDD1 0xEDFD 0xEDDD 0xEDF1 0x104F 0x2006 0xEDCE 0x2211 0xED90 0x2008 0xED91 0x1066 0xED9D 0x1068 0xEDD0 0xEDF0 0xEDA1 0x0404 0x1050 0x1064 0xEDAD 0x1062 0xEDBB 0x0200 0xEDBC 0x0402 0xEDEA 0x1055 0xEDE8 0x2007 0x2003 0x105E 0x0351 0xEDFC 0xEDFB 0xEDE6 0xEDDB 0x0205 0xEDDC 0x105C 0x105B 0xEDCD 0x106A 0xEDEF 0xEDD5 0xEDBD 0xED9E 0xEDAC 0xEDAB 0x1069 0x1063 0x010A 0x0403 0x1067 0x2015 0xEDA5 0x0140 0x0350 0xED9B 0xED9C
2020.11.20 20:56:12 5: VEDirect (SolarGarten) - Get command: Charger_maximum_current  ---> Register 0xEDDF identified
2020.11.20 20:56:12 5: VEDirect (SolarGarten) - get command Charger_maximum_current - sending --> :7DFED0082
oder
VEDirect_Get Keylist: 0xED9A 0x2030 0x1057 0x010B 0x2005 0x200E 0x1053 0x0352 0xEDD9 0xEDD3 0x1059 0xEDF7 0xEDD7 0x0105 0xEDE0 0xED97 0x105A  0x106B 0xEDA9 0x106C 0xEDA3 0x2031 0xEDA7 0xEDDA 0x106E 0xEDB8 0xED99 0x1065 0xEDBA 0x2001 0xEDF6 0x0353 0x1052 0xEDEC 0x1054 0x1060 0x105F 0x0400 0xEDF4 0x2212 0xEDDF 0xEDD4 0x1058 0xEDD2 0x1056 0xEDF2 0x100A 0xEDA8 0x0100 0x1061 0xED96 0x0401 0xEDA4 0x106D 0xED98 0xEDA2 0xEDB9 0x2000 0x0201 0x2004 0x0106 0x200F 0xEDA0 0x1030 0x105D 0x2002 0x1051 0xEDCC 0x0104 0xEDD1 0xEDFD 0xEDDD 0xEDF1 0x104F 0x2006 0xEDCE 0x2211 0xED90 0x2008 0xED91 0x1066 0xED9D 0x1068 0xEDD0 0xEDF0 0xEDA1 0x0404 0x1050 0x1064 0xEDAD 0x1062 0xEDBB 0x0200 0xEDBC 0x0402 0xEDEA 0x1055 0xEDE8 0x2007 0x2003 0x105E 0x0351 0xEDFC 0xEDFB 0xEDE6 0xEDDB 0x0205 0xEDDC 0x105C 0x105B 0xEDCD 0x106A 0xEDEF 0xEDD5 0xEDBD 0xED9E 0xEDAC 0xEDAB 0x1069 0x1063 0x010A 0x0403 0x1067 0x2015 0xEDA5 0x0140 0x0350 0xED9B 0xED9C
2020.11.20 21:01:56 5: VEDirect (SolarGarten) - Get command: Load_output_control  ---> Register 0xEDAB identified
2020.11.20 21:01:56 5: VEDirect (SolarGarten) - get command Load_output_control - sending --> :7ABED00B6


Die Sendung scheint zu gehen, es kommt jedoch keine Antwort auf die Anfrage zurück. Auch die Readings werden nicht gesetzt.


Gruß
Mario
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: HRE_7390_pi am 21 November 2020, 12:03:33
Hi Mario,
Mach mal FHEM Neustart. Hatte in der vorherigen Version das Phänomen das nach einem Neustart das ,,get" einmal funktioniert zb für float_voltage oder equalization_voltage, hab mir die Parameter so geholt zumal ich die ja nur einmalig gebraucht hatte . Danach nicht mehr.
Interessant ist get history_all funktioniert immer.
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Medel am 21 November 2020, 13:48:53
Hallo,

habe nochmals getestet config all geht, wird aber nicht in einem extra Fenster angezeigt, History all geht auch, das Ergebnis wird im Fenster angezeigt. Rest soweit ich getestet habe kommt ist keine Antwort im Log zu sehen

Habe mal alle gets durchprobiert und dabei die Log ausgaben gefiltert  nach VEDirect und :7. Es kommt ist keine Antwort zurück außer bei History all, bei config all kommt :A... wenn ich das recht interpretiere

Gruß

Mario
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: riker1 am 29 Dezember 2020, 20:15:12
Hallo,

hört sich super an interessiert mich auch sehr.

Gerade neu in dem Thema.

Mal ne Anfängerfrage dazu.  wie genau verbindet ihr sie RS232 Schnittstelle mit den Kabeln?

danke VG T
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: HRE_7390_pi am 12 Januar 2021, 18:53:50
VictronConnect Energy USB interface Kabel
ASS030530010
Ve.Direct zu USB Interface

Oder selbst bauen, gibt wohl Anleitungen
USB Adapter ist Plug and Play mit dem Modul 
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Thomas78 am 15 Februar 2021, 10:11:38
Hallo zusammen,

ich verwende einen BMV700 soweit funktioniert alles soweit.
Allerdings kann man die folgenden Einträge im Log finden.

2021.02.14 14:33:23 1: PERL WARNING: Use of uninitialized value within @e in index at ./FHEM/00_VEDirect.pm line 1061, <GEN7> line 2.
2021.02.14 14:33:23 1: PERL WARNING: Use of uninitialized value $lastMin in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1039, <GEN7> line 2.
2021.02.14 14:33:23 1: PERL WARNING: Illegal hexadecimal digit '
' ignored at ./FHEM/00_VEDirect.pm line 1436, <GEN7> line 2.

Hat jemand eine Idee an was es liegen könnte?
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Erwin01 am 28 Februar 2021, 11:19:54
Hallo, ich habe das gleiche Problem, auch diese Fehlermeldung mit eimem MPPT 75/15.
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: riker1 am 28 Februar 2021, 13:31:05
Hallo,

funktioniert das Modul auch mit dem Smart Shunt?

https://www.victronenergy.de/battery-monitors/smart-battery-shunt (https://www.victronenergy.de/battery-monitors/smart-battery-shunt)

danke VG T
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: 2bedom am 09 Mai 2021, 22:01:54
Hallo zusammen,

ich bin auf der suche nach einer Möglichkeit meine 3 Victron Geräte in fhem einzubinden.
Ich habe
1x 100/50 mppt Solarregler mit Bluetooth (https://www.victronenergy.de/solar-charge-controllers/mppt-100-30)
1x Batterie Protect 220A (https://www.victronenergy.de/upload/documents/Datasheet-Battery-Protect-65-A--100-A--220-A-DE.pdf)
1x Victron Phoenix Inverter 12/1200 230V VE.Direct 1000W 12V (https://www.offgridtec.com/victron-phoenix-inverter-12-1200-230v-ve-direct-1000w-12v.html)

Alle Geräte haben VE.Direct und Bluetooth (außer der Wandler)..
Nun die Frage muss ich da jetzt echt 3 Ve.Direct Kabel kaufen um die alle an den Pi anzuschliessen ? oder gibts da ne andere Möglichkeit ?

Hoffe ihr könnt mir helfen...
Danke
Grüße
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Sprocki62 am 30 September 2021, 18:13:20
Tach zusammen,

hab mir dieses Modul auch für meinen MPPT 75/15 installiert.. lief auf Anhieb, mit ein paar Fehlern.

Hier ein Auszug aus dem FHEM-Log direkt nach einem Neustart:


2021.09.30 12:06:38 1: PERL WARNING: "my" variable %MPPT masks earlier declaration in same scope at ./FHEM/00_VEDirect.pm line 532, <$fh> line 382.
2021.09.30 12:06:38 3: Opening MPPT75_15 device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A702Q1IB-if00-port0
2021.09.30 12:06:38 3: Setting MPPT75_15 serial parameters to 19200,8,N,1
2021.09.30 12:06:38 3: MPPT75_15 device opened
...
2021.09.30 12:06:39 1: PERL WARNING: Illegal hexadecimal digit '
' ignored at ./FHEM/00_VEDirect.pm line 1436.
2021.09.30 12:06:39 1: PERL WARNING: Argument "" isn't numeric in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1248.
2021.09.30 12:06:39 1: PERL WARNING: Use of uninitialized value $lastMin in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1039.
2021.09.30 12:06:39 1: PERL WARNING: Use of uninitialized value within @e in index at ./FHEM/00_VEDirect.pm line 1061.
2021.09.30 12:07:21 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1206.
2021.09.30 12:07:21 1: PERL WARNING: Filehandle $fh opened only for input at ./FHEM/00_VEDirect.pm line 1222, <$fh> line 32.


Hat jemand 'ne Idee, was da nicht so ganz stimmt?

Danke & Gruß
Johannes
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 07 November 2021, 16:22:31
Es ist ruhig geworden um das Victron-Modul. Vermutlich läuft es bei euch auch so unauffällig wie hier 8)
Daher möchte ich nun zum Ende der Saison meine Konfiguration zur Verfügung stellen, sei es zum Abgucken, Bemängeln oder Verbessern.  :P Wie habt ihr das gelöst?

Heute habe ich endlich von der bisher bewährten Version 7.2 auf 12.2 aufgerüstet. Bisher störte mich an dem Schritt die Anpassung aller Readings sowie die Menge an Daten, die man erst mal sinnvoll limitieren muss. Das ist jetzt noch nicht ganz optimal, aber schon gut nutzbar. Ich schaue mir später die geloggten Daten an und reduziere dann mit event-on-change-reading weiter.

Wir betreiben im Garten eine kleine Solar-Inselanlage, welche über den Sommer sämtliche 12V-Komponenten für Bewässerung, Klimadaten, Überwachung und (Licht-)Steuerung übernimmt. Das Projekt besteht aus einem Victron MPPT 75/15 (ohne BT, verbunden über einen USB-TTL-Wandler mit CP2102), ein Solarworld-Modul mit knapp 300Wp und zwei 12V-AGM-Batterien mit 68Ah parallel. Einen Sinus-Wechselrichter mit 1.5kW nutze ich fürs Wasserwerk. Zum Ende der Saison baue ich auf 24V um, da der Laderegler nur 220W@12V kann. Für die sonnenarme Zeit habe ich ein Meanwell Netzteil in der Hutschiene, welches über zwei dicke Schottky-Dioden gekoppelt ist. Die Verbraucher reduzieren sich in der Zeit auf den RasPi4, einen WLAN AP ( Fritz 1160 @12V) und HM-Kleinkram. Aber das nur am Rande...

Mein Beispielcode für die Einbindung des 75/15:
define Laderegler VEDirect /dev/ttyUSB0@19200 MPPT
attr Laderegler event-min-interval .*:240
attr Laderegler event-on-change-reading Main_or_channel_1_battery_voltage.*:0.12,Main_or_channel_1_battery_current.*:0.18,Panel_power.*:3.5,Panel_voltage.*:6.5,Charger_current.*:0.3,Load_current.*:0.22,.*
attr Laderegler group Solarenergie
attr Laderegler room Energie
attr Laderegler stateFormat { sprintf("%.0f W aktuell - %s <br> %.0f W max. heute <br> %s heute <br> %s gestern <br> Batterie: %s %s <br> Ausgang: %.1f A - %s",ReadingsNum($name,"Panel_power","0") ,ReadingsVal($name,"Charger_state","0"),ReadingsNum($name,"Maximum_power_today","0")  ,ReadingsVal($name,"Yield_today","0") ,ReadingsVal($name,"Yield_yesterday","0") ,ReadingsVal($name,"Main_or_channel_1_battery_voltage","0") ,ReadingsVal($name,"Main_or_channel_1_battery_current","0") ,ReadingsNum($name,"Load_current","0"), ReadingsVal($name,"Load_output_state","0")) ;;;;}


Das FileLog dazu:
define FileLog_Laderegler FileLog ./log/Laderegler-%Y.log Laderegler:Main_or_channel_1_battery_current:.*|Laderegler:Panel_power:.*|Laderegler:Main_or_channel_1_battery_voltage:.*|Laderegler:Load_current:.*
attr FileLog_Laderegler logtype text


Wie das in der Praxis aussieht, habe ich mal angehangen.
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 08 November 2021, 06:36:03
Zitat von: Sprocki62 am 30 September 2021, 18:13:20
hab mir dieses Modul auch für meinen MPPT 75/15 installiert.. lief auf Anhieb, mit ein paar Fehlern.

Hier ein Auszug aus dem FHEM-Log direkt nach einem Neustart:  <...>

Hat jemand 'ne Idee, was da nicht so ganz stimmt?
Hier verhält sich das mit der 12.2 ähnlich, die 7.2. war dagegen frei von Logeinträgen.

Logauszug:
2021.11.07 10:47:25 0: Server started with 127 defined entities (fhem.pl:25161/2021-10-30 perl:5.028001 os:linux user:fhem pid:30326)
2021.11.07 10:47:25 1: PERL WARNING: Illegal hexadecimal digit '
' ignored at ./FHEM/00_VEDirect.pm line 1436.
2021.11.07 10:47:25 1: PERL WARNING: Argument "" isn't numeric in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1248.
2021.11.07 10:47:25 1: PERL WARNING: Use of uninitialized value within @e in index at ./FHEM/00_VEDirect.pm line 1061.
2021.11.07 10:47:25 1: PERL WARNING: Use of uninitialized value $lastMin in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1039.
2021.11.07 10:47:27 2: AttrTemplates: got 241 entries
2021.11.07 10:47:37 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1206.
2021.11.07 10:48:04 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/00_VEDirect.pm line 1788.
2021.11.07 10:48:04 1: PERL WARNING: Use of uninitialized value in index at ./FHEM/00_VEDirect.pm line 1773.
2021.11.07 10:48:13 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/00_VEDirect.pm line 1741.
2021.11.07 11:58:23 1: PERL WARNING: "my" variable %MPPT masks earlier declaration in same scope at ./FHEM/00_VEDirect.pm line 532.
2021.11.07 11:58:23 1: PERL WARNING: Subroutine VEDirect_Initialize redefined at ./FHEM/00_VEDirect.pm line 797.
2021.11.07 11:58:23 1: PERL WARNING: Subroutine VEDirect_Define redefined at ./FHEM/00_VEDirect.pm line 816.
2021.11.07 11:58:23 1: PERL WARNING: Subroutine VEDirect_Attr redefined at ./FHEM/00_VEDirect.pm line 864.
2021.11.07 11:58:23 1: PERL WARNING: Subroutine VEDirect_Undef redefined at ./FHEM/00_VEDirect.pm line 913.
2021.11.07 11:58:23 1: PERL WARNING: Subroutine VEDirect_Ready redefined at ./FHEM/00_VEDirect.pm line 926.
2021.11.07 11:58:23 1: PERL WARNING: Subroutine VEDirect_Read redefined at ./FHEM/00_VEDirect.pm line 946.
2021.11.07 11:58:23 1: PERL WARNING: Subroutine VEDirect_ParseTXT redefined at ./FHEM/00_VEDirect.pm line 1050.
2021.11.07 11:58:23 1: PERL WARNING: Subroutine VEDirect_ParseHEX redefined at ./FHEM/00_VEDirect.pm line 1166.
2021.11.07 11:58:23 1: PERL WARNING: Subroutine VEDirect_ChecksumHEX redefined at ./FHEM/00_VEDirect.pm line 1428.
2021.11.07 11:58:23 1: PERL WARNING: Subroutine VEDirect_ChecksumTXT redefined at ./FHEM/00_VEDirect.pm line 1447.
2021.11.07 11:58:23 1: PERL WARNING: Subroutine VEDirect_ParseHistory redefined at ./FHEM/00_VEDirect.pm line 1465.
2021.11.07 11:58:23 1: PERL WARNING: Subroutine VEDirect_Set redefined at ./FHEM/00_VEDirect.pm line 1589.
2021.11.07 11:58:23 1: PERL WARNING: Subroutine VEDirect_Get redefined at ./FHEM/00_VEDirect.pm line 1696.
2021.11.07 11:58:23 1: PERL WARNING: Subroutine VEDirect_Init redefined at ./FHEM/00_VEDirect.pm line 1818.


Grundsätzlich läuft erst mal alles, erzeugt im laufenden Betrieb keine Probleme. Ich beobachte das jetzt ein paar Tage.
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Mastodon am 03 April 2022, 10:24:22
Hallo zusammen,

Ich lasse das Modul mit einem Victron MPPT 75/15 und einem BMV700 laufen und habe folgendes Problem:

Im Log bekomme ich alle paar Sekunden folgende Meldungen (Beispiel):

2022.04.03 10:12:38 3: VEDirect (MPPT75_15) - ParseHex: Received Async History MSG
2022.04.03 10:12:38 3: VEDirect (MPPT75_15) - ParseHex: 20220403 | 20220403 | Tot_Sys_res: 1.1 kWh |Tot_Sys: 10.71 kWh |PvMax: 22.68 V |BattVMax: 14.2 V |BattVMin: 12.82 V |NrDays: 4
2022.04.03 10:12:38 3: VEDirect (MPPT75_15) - ParseHex: Received Async History MSG
2022.04.03 10:12:38 3: VEDirect (MPPT75_15) - ParseHex: 20220403 | 20220403 | Yield: 0.05 kWh |Consum: 0.02 kWh |Batt_VMax: 13.56 V |Batt_VMin: 13.09 V |t_Bulk: 174 |t_Absorb: 0 |t_float: 0 |Pv_PMax: 79 W |Batt_IMax

Hat jemand eine Idee, woher das kommen kann?
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 28 November 2022, 19:06:40
Die nächste Saison ist um, es gibt neue und mehr Erfahrungen mit dem Modul. Grundsätzlich läuft es sehr gut und zuverlässig, zu den Problemen komme ich später.

Getestet mit FHEM habe ich mittlerweile erfolgreich folgende Komponenten:
- BlueSolar 75/15
- SmartSolar 75/10
- SmartSolar 100/20
- SmartSolar 100/30
- Phoenix 24/375
- SmartShunt 500A

Die Bluetooth-fähigen Geräte lassen sich untereinander über BT verbinden, so das Temperatur, Batteriespannung, Ladefunktion etc. synchronisiert werden. Gleichzeitig kann man über VE.direct seriell an die Daten gelangen. Was leider (noch?) nicht geht ist das Einbinden von Geräten, die ausschließlich BT sprechen. Hier hält sich Victron bedeckt und gibt nur zögerlich wenige Infornationen preis. Die Umsetzung von BT hat Victron nicht konsequent umgesetzt, manche Geräte sind lediglich über die App einfacher konfigurierbar (z.B. der SmartBatteryProtect). Einen Ansatz, den ich versuchen möchte, ist hier beschrieben: https://github.com/birdie1/victron (https://github.com/birdie1/victron). Damit kommt man zumindest über z.B. MQTT an die Daten eines Orion oder BlueSmart-Laders. Hat jemand damit bereits Erfahrung gesammelt?

Dennoch habe ich zwei "Problemchen", deren Lösung meine Software-Kentnisse übersteigen:
- Das Modul verursacht relativ viel Load auf dem RasPi. Mit drei VE.direct-Anschlüssen sind das permanent über 30% auf dem RasPi4. Wie ist die Erfahrung bei Euch? Gibt es Unterschiede bei den USB-Chips? Ich habe CP2102, CH341, usw getestet- ohne relevante Änderung.
- regelmäßig habe ich Logeinträge, welche offenbar von Übertragungsfehlern auf der seriellen Schnittstelle kommen. Das sieht etwa so aus:
2022.11.26 18:46:02 1: PERL WARNING: Argument "26639PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.26 19:26:02 1: PERL WARNING: Argument "26616PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.26 20:04:02 1: PERL WARNING: Argument "26560PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.26 20:28:02 1: PERL WARNING: Argument "26623PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.26 22:10:02 1: PERL WARNING: Argument "0\rPID" isn't numeric in sprintf at ./FHEM/00_VEDirect.pm line 1083.
2022.11.26 23:04:02 1: PERL WARNING: Argument "26538PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.27 01:16:02 1: PERL WARNING: Argument "26510PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.27 02:12:02 1: PERL WARNING: Argument "26516PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.27 07:02:41 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1248.
2022.11.27 07:29:23 1: PERL WARNING: Hexadecimal number > 0xffffffff non-portable at ./FHEM/00_VEDirect.pm line 1264.
2022.11.27 07:57:02 1: PERL WARNING: Argument "2PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.27 08:18:00 1: PERL WARNING: Argument "0:\nOR" isn't numeric in sprintf at ./FHEM/00_VEDirect.pm line 1083.
2022.11.27 09:02:02 1: PERL WARNING: Argument "26727PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.27 10:28:02 1: PERL WARNING: Argument "27126PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.27 11:09:02 1: PERL WARNING: Argument "27096PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.27 11:52:02 1: PERL WARNING: Argument "28058PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.27 19:57:02 1: PERL WARNING: Argument "26597PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.27 21:05:02 1: PERL WARNING: Argument "26646\rPID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.27 21:06:02 1: PERL WARNING: Argument "26648\rPID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.27 21:32:02 1: PERL WARNING: Argument "26628PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.27 22:28:02 1: PERL WARNING: Argument "266PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.28 02:35:00 1: PERL WARNING: Argument "0:\nWARN" isn't numeric in sprintf at ./FHEM/00_VEDirect.pm line 1083.
2022.11.28 03:08:02 1: PERL WARNING: Argument "26645PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.28 03:16:02 1: PERL WARNING: Argument "26522\rPID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.28 04:21:02 1: PERL WARNING: Argument "26512PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.28 07:24:02 1: PERL WARNING: Argument "26491\rPID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.28 13:38:13 1: PERL WARNING: Argument "SmartShunt 500A/50mV" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.28 16:35:02 1: PERL WARNING: Argument "26PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.28 16:55:02 1: PERL WARNING: Argument "26657PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
2022.11.28 17:35:02 1: PERL WARNING: Argument "26563PID" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.


Hier müsste man die Pakete auf Plausibilität prüfen und ungültige Daten verwerfen. Gibt es hierzu einen Ansatz? Nutzt jemand originale VE.direct-Kabel und kann dort solche Fehler beobachten? Welcher Chip ist dort verbaut? Bringt dessen galvanische Trennung eventuell einen Vorteil gegen Störungen?
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: sledge am 28 November 2022, 19:33:07
Ohne es genau zu wissen, aber wenn die Geräte sich zB alle mit einem CerboGX verbinden lassen, sollte doch auch der Weg über einen RaspBerry + Venus OS möglich sein? Entsprechendes VE.Direct Kabel dran und gut ist?

Vielleicht ist dort auch das Load-Problem nicht mehr so augenscheinlich?

Wie so viele andere lese ich Venus OS via MQTT aus - geht ja bei FHEm sozusagen out of the box.

Oder biege ich irgendwo falsch ab?
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 29 November 2022, 07:01:46
Zitat von: sledge am 28 November 2022, 19:33:07
Ohne es genau zu wissen, aber wenn die Geräte sich zB alle mit einem CerboGX verbinden lassen, sollte doch auch der Weg über einen RaspBerry + Venus OS möglich sein? Entsprechendes VE.Direct Kabel dran und gut ist? Vielleicht ist dort auch das Load-Problem nicht mehr so augenscheinlich?
Einen Versuch wäre es unbedingt wert. Das bedingt zwar einen zusätzlichen RasPi ohne funktionellen Mehrwert, würde aber eventuell Load und fehlerhafte Datenpakete eliminieren. Venus OS hatte ich bereits aufgesetzt, war aber von der nicht umfänglich nutzbaren Bluetooth-Funktionalität enttäuscht. Den Rest konnte dann wieder FHEM.
Zitat
Wie so viele andere lese ich Venus OS via MQTT aus - geht ja bei FHEm sozusagen out of the box.
Kannst Du auch in umgekehrte Richtung über MQTT steuern? Meine Erfahrung mit FHEM und MQTT sind sehr gut. Mit APsystems läuft es mittlerweile hervorragend, mit HoyMiles ging es von Anfang an völlig problemlos.
Zitat
Oder biege ich irgendwo falsch ab?
Nein, überhaupt nicht. Ich kann ja auch völlig falsch abgebogen sein  ;)
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: sledge am 29 November 2022, 18:31:09
ZitatVenus OS hatte ich bereits aufgesetzt, war aber von der nicht umfänglich nutzbaren Bluetooth-Funktionalität enttäuscht.
Zugegeben: Bluetooth ist nicht mein Anwendungsfall. Ich betreibe hier nur einen Multiplus II an Venus OS.

Aber die VE.Direct (Oder VE.Bus) Schnittstellen sollten am Rasp ja funktionieren. Hier halt aktuell nur mit einem MK3-USB-Interface, aber ohne nennenswerte Last.

ZitatKannst Du auch in umgekehrte Richtung über MQTT steuern? Meine Erfahrung mit FHEM und MQTT sind sehr gut. Mit APsystems läuft es mittlerweile hervorragend, mit HoyMiles ging es von Anfang an völlig problemlos.
Die Frage ist: Was willst Du bei Victron steuern. Und ja, natürlich kannst Du Venus OS (zumindest teilweise) über MQTT oder modbus TCP steuern. Du kennst das Excel-File mit den Modubs-Registern? Da findest Du eig. alles, was Du benötigst.

Auf github findest Du zahlreiche Plugins / Erweterungen für Venus OS, sodass auch eine Steuerung via MQTT in Teilen möglich ist. Wobei viel out of the box gehen sollte.

Hier mal der Link: https://github.com/victronenergy/dbus-mqtt


Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 15 Januar 2023, 17:11:00
Ich habs: Die in #81 benannten "Problemchen" sind gelöst! Die CPU-Last ist nun im unteren einstelligen Prozent-Bereich, das Log seit 2 Wochen fehlerfrei.

Bisher war mir der CP2102 immer sehr sympathisch, läuft er doch auf jedem System gut und unauffällig. Testweise hatte ich kürzlich alle Adapter auf CH340 umgebaut, um neue Kabel mit den bisherigen Adaptern zu konfektionieren. Das Teil meldet sich als CH341, der Chip ist jedoch ein CH340E (ohne Quarz) oder CH340G (mit Quarz). Offenbar erzeugt bereits ein CP2102 am RasPi4 so viel Last und entsprechend Fehler, das ich im Oktober/November bei bisherigen Tests nicht darauf schließen konnte. Die Pegel sind übrigens immer 5V TTL, außer beim BMV-700, welcher 3.3V sehen möchte. (https://www.victronenergy.com/live/vedirect_protocol:faq#q4is_the_vedirect_interface_33_or_5v (https://www.victronenergy.com/live/vedirect_protocol:faq#q4is_the_vedirect_interface_33_or_5v))

Fazit: Wer keine galvanische Trennung benötigt und etwas löten kann, ist mit einem CH340 USB-seriell-Adapter an dieser Stelle gut beraten.

Ganz nebenbei: Als Temperatursensor für den SmartShunt 500A/50mV funktioniert der 150kOhm NTC Vishay NTCLE100E3154JB0 hervorragend. Das Original habe ich auch da, bekomme es aber mechanisch aufgrund der Größe nicht an die Stelle, wo es Sinn ergibt.  8)
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: corradoBB am 02 März 2023, 07:39:50
Hallo Zusammen,

ich benutze das Modul seit einiger Zeit in Verbindung mit einem VE MPPT 100/15 und einem VE MPPT 100/20 in meiner PV - Inselanlage. Prima Sache, (fast) alles läuft wie gewünscht.
Ich habe nun an meine Batterie - Bank noch einen VE Smart Battery Sense ergänzt um Spannung und Temperatur direkter abzufragen. Im Modul gibt es dafür auch Reading's, leider nicht mit sinnvollen Werten. Kommt da über die Schnittstelle nichts?

Gruß Björn
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 02 März 2023, 10:38:53
Den Eindruck habe ich auch, zumindest hakt es da irgendwo.

Ich betreibe an meiner Insel derzeit einen SmartSolar 100/20, einen 75/10 und einen Smart Battery Sense. Alle sind über BT synchronisert, in der App kommen Spannung und Temperatur an den Reglern an und werden auch berücksichtigt.

Was mir auffällt: Die angezeigte Temperatur passt erst im Laufe des Vormittags, wenn ein wenig geladen wurde, an manchen Tagen auch gar nicht. Die Temperatur kommt manchmal in Kelvin, manchmal in Celsius.

Das sieht dann so aus:
Battery_temperature    277.15 K
oder so
Battery_temperature    0 �C
Zudem kommen die Werte scheinbar seltener als der gesamte Rest. Wie sind Deine Beobachtungen?

Ich rechne im stateFormat dann die Kelvin in °C um:
ReadingsNum($name,"Battery_temperature","0")- 273.15)
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: corradoBB am 02 März 2023, 14:24:15
Das zeigt sich bei mir genauso. Ich rechne auch via stateFormat um und zeichne letztendlich in °C in die Datenbank auf. Änderungen stellen sich meist erst ein, wenn Solar eine Zeit aktiv ist.
Die Spannung vom Sens kommt gar nicht an.

Battery_voltage_sense 655.35 V
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 06 März 2023, 20:26:25
Hier genauso.
Im Modul habe ich jetzt nichts Auffälliges entdeckt, das reicht die empfangenen Daten einfach durch, würde ich meinen.
Vielleicht kann @Askie noch etwas dazu sagen, gerne auch alle anderen.

Mein nächster Ansatz: Mit dem Windows Recher, VictronConnect und einem VE.Direct Kabel lauschen, was die Schnittstelle tatsächlich liefert.
Titel: Antw:Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 18 März 2023, 10:16:07
Hallo in die Runde :)

Ich habe mir auch einen MPPT Laderegler 75/15 zugelegt, in der Annahme ihn hierüber steuern zu können...

Mein Aufbau:

Netzteil -> MPPT -> Akku
(ja nicht direkt aus Solar laden / evtl. ändert sich das aber noch)

Ich habe auch schon mit Venus-OS rumgespielt, da kann/könnte ich zwar einstellen was ich will aber irgendwie nicht über fhem (auch nicht per mqtt: zu doof? :-\  ).

Ich habe mir so ein USB-VEDirect-Kabel gebastelt: geht prima
(aktuell auch ein LAN-TTL, da der Laderegler nicht direkt an mein fhem kommt, geht auch prima :) / ESP-Bridge ging nicht, vermute mal wegen Latenz?)

Also ich kann mit dem Modul Werte lesen :)
(es gibt noch ein paar Warnings, evtl. schaue ich mir das mal an oder setze verbose :)  )

Was ich steuern kann: an/aus

Leider kann ich keinen Ladestrom etc. einstellen :-\
Das ginge über VenusOS, allerdings nur indirekt (so sieht es aus), es begrenzt einfach "generell"...

Achja, Frage: kann ich das beim 75/15 generell nicht einstellen bzw. was kann ich einstellen (bzw. sollte ich können) und was nur "sehen"?
(also ja: get vs. set aber wie geschrieben machen bei mir die set nicht wirklich was [bzw. "merke" ich davon nichts"], außer eben charge on/off)
EDIT: gibt es eine Doku, wo ich das rauslesen könnte?

EDIT: so ich habe mich ein wenig damit beschäftigt. Klasse! Was ich will/wollte geht! Allerdings fehlt beim setzen von Battery_maximum_current ein Eingabefeld. Es wird wohl der gerade aktive Strom genommen. Allerdings führt wohl ein "manuelles" set VictronMPPT Battery_maximum_current 10 dazu, auch andere Werte nehmen zu können :)

Danke, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 28 März 2023, 07:35:06
Hallo Joachim,

ein paar kleine Ecken und Kanten hat das Modul noch, aber in der jetzigen Form ist es zuverlässig nutzbar, alles Wichtige funktioniert. Venus-OS hatte ich kurz getestet, konnte aber für mich keinen Mehrwert entdecken. Zum selbst gebauten VE.Direct-Kabel hatte ich in #85 was geschrieben, das war bei mir entscheidend. Ich habe bei allen VE-Direct-Komponenten einen RasPi in "serieller Reichweite", wodurch die LAN-Kopplung noch kein Thema war. Bis zu fünf ungültige Pakete im Monat hatte ich jetzt trotzdem noch im Log ;-)

Nutzt Du einen BlueSolar oder SmartSolar Regler? Ich habe nur noch "Smart" im Einsatz, um parallel zur seriellen Verbindung per Bluetooth an die Komponente zu gelangen, Einstellungen zu kontrollieren/abzurufen, Firmware-Update per App zu machen und die Vernetzung über BT einzurichten. Vieles macht man nur einmal, aber es ist eben schön bequem. Den Ladestrom kann man auch dort begrenzen; an dem Parameter war ich aber noch nicht dran.

Den Schaltausgang kann man prima separat nutzen, habe mir dafür ein readingsProxy erstellt:
define LR_Out_G1 readingsProxy LR_G1:Load_output_state
attr LR_Out_G1 devStateIcon ON:FS20.on:off ONPID:FS20.orange:off OFF:FS20.off:on
attr LR_Out_G1 setFn {($CMD eq "on")?fhem("set $DEVICE Load_output_control on"):fhem("set $DEVICE Load_output_control off");; return undef}
attr LR_Out_G1 setList on off

Beim loggen der Victron-Komponenten muss man reichlich filtern, sonst wird die Datenmenge ziemlich üppig. Ich habe mir damit beholfen, alle wichtigen Dinge in ein userReading zu schreiben und nur noch Dieses zu loggen. Klappt gut, ist aber abhängig vom ersten Wert in der Zeile. Erst kürzlich habe ich "acceptedRange" beim FileLog entdeckt, womit man auch Ausreißer bei den Werten sehr einfach ausschließt. bisher hatte ich mir dafür ein readingsChange erstellt, welches nicht plausible Werte unterdrückt.

Ursprünglich hatte ich ein 12V-System, habe aber gleich nach der ersten Saison auf 24V umgebaut. Der 75/15 kann im 12V-System nur bis 220W aus dem Panel holen, bei 24V ist es entsprechend das Doppelte. Ich wandle dann lieber im Nachgang 24V => 12V zentral für die Verbraucher. Für die Dimensionierung von Panel/Laderegler kann ich den MPPT Calculator von Victron empfehlen. Erstaunlich bei der Berechnung ist dabei der Einfluss des Temperatur-Koeffizienten bei Ganzjahres-Betrieb an sonnigen Wintertagen. Da ist die Leerlaufspannung der Module schnell im kritischen Bereich, wenn man vorher bereits knapp dimensioniert hatte.

Viele Grüße,

Ricardo

Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 28 März 2023, 15:28:05
Hallo Ricardo,

:)

Ich bin ja heilfroh, dass es das Modul gibt!
Mit Ecken und Kanten kann ich leben 8)
"Fehlende" Eingabefelder auch, arbeite (verm.) eh mit "Scripten" und dann kann ich das set-Kommando ja so absetzen wie es soll/muss ;)

Nach ein wenig "auseinandersetzen" mit dem Modul kann ich alles tun, was ich will :)

Anbindung per LAN-Adapter klappt eigentlich, wenn nicht, dann muss dort halt ein PI hin (läge ja "bereit" ;)  )...

Venus-OS hab ich mir auch angeschaut und kam zum selben Ergebnis wie du.

Äh, ich nutze "nur" MPPT-Laderegler (75/15) ohne BT, also nur seriell. Reicht mir (solange er tut was er soll).

Das mit dem ReadingsProxy sieht interessant aus :)

Danke (dafür und das Modul)!

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 07 April 2023, 17:10:27
Zitat von: Askie am 03 Oktober 2019, 00:06:30Moin zusammen...

so, nach langer Zeit hatte ich mal wieder ein bisschen Zeit und Ruhe das Modul nochmal zu überarbeiten.
Es handelt sich derzeit um ein noch nicht ganz fehlerfreies MAJOR Update!
D.h.: Die alten Reading-Namen gehören der Vergangenheit an (Ich habe mich jetzt an den Registernamen der Geräte orientiert)
Feature update: Nahezu alle möglichen Werte für alle Geräte zu setzen und auszulesen.
Bug-Fix: Mehrfach auftretende Readings mit gleichen Namen beseitigt
Bug-Fix: hohe CPU-Last --> hier gab es etwas Verbesserung

Die jeweils aktuelle Version ist jetzt in GIT zu finden: https://github.com/Askie666/VE.Direct.git

läuft bei mir derzeit mit einem MPPT 75/15 und einem Phönix Iverter 12V 500VA

Wie immer: Festgestellte Fehler gerne melden. Ich versuche mich zeitnah darum zu kümmern :)


Hallo,

dann melde ich mal ;)

Ich habe ein wenig rumgespielt und da ich ja vorhabe den Victron per LAN (TTL-LAN-Adapter, aktuell sogar noch mit WLAN-Strecke dazwischen ;) ) einzubinden, hatte ich (gerade wenn ich den Akku lade) immer wieder Meldungen im Log.

Habe herausgefunden, dass wohl die Implementierung bzgl. VEDirect_ChecksumTXT fehlerhaft ist.
Anbei meine gepatchte Version (sofern ich rauskriege wie ich mit dem neuen Forumsformat Dateien anhängen kann ;)  )...
EDIT: done :)

Es werden zwar jetzt in meiner Konstellation (beim Laden) so einige Telegramme verworfen aber wenigstens stehen keine "komischen" Daten mehr in den Readings und auch die Meldungen wegen "isn't numeric usw." sind weg 8)

EDIT: einzig sehr, sehr selten habe ich noch folgende Meldung:
2023.04.07 17:27:44 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1209.
aber da bin ich noch nicht dahinter gekommen...
EDIT: bzw. gerade gesehen, dass die "neu" ist bzw. (doch) nicht die, wegen der ich schon mal geschaut hatte... (evtl. ist die auch weg, weil keine "ungültigen" Telegramme mehr "verarbeitet" werden)...
Mal sehen... ;)

EDIT: wenn (noch mehr) Zeit ist, vielleicht "repariere" ich auch das mit den fehlenden Eingabemöglichkeiten 8)

Achja: noch mal vielen Dank für das Modul! :)

Im Einsatz mit einem Victron MPPT 75/15

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 13 April 2023, 15:45:51
Zitat von: MadMax-FHEM am 07 April 2023, 17:10:27EDIT: wenn (noch mehr) Zeit ist, vielleicht "repariere" ich auch das mit den fehlenden Eingabemöglichkeiten 8)

So hatte eben noch mal ein paar Minuten :)

my $MPPTSets = "Restart:noArg Charger_mode:off,on Relay_battery_low_voltage_set:slider,9,0.1,95 Relay_battery_low_voltage_clear:slider,9,0.1,95 Relay_battery_high_voltage_set:slider,9,0.1,95 ".
               "Relay_battery_high_voltage_clear:slider,9,0.1,95 Relay_minimum_enabled_time:slider,0,1,500 Clear_history:noArg RX_Port_operation_mode:Remote_On_off,Load_output_configuration,".
               "Load_output_on_off_remote_control_inverted,Load_output_on_off_remote_control_normal Load_switch_low_level Load_switch_high_level TX_Port_operation_mode:Pulse_every".
               "0_01kWh,Lighting_control_pwm_normal,Lighting_control_pwm_inverted,Virtual_load_output Load_output_control:off,auto,alt1,alt2,on,user1,user2,automatic_energy_selector ".
               "Relay_operation_mode:off,PV_V_high,int_temp_high,Batt_Voltage_low,equalization_active,Error_cond_present,int_temp_low,Batt_Voltage_too_high,Charger_in_float_or_storage,".
               "day_detection,load_control Charger_maximum_current Battery_low_temperature_level:noArg Low_temperature_charge_current:noArg Battery_maximum_current:noArg ".
               "Battery_type:TYPE_1_GEL_Victron_Long_Life_14_1V,TYPE_2_GEL_Victron_Deep_discharge_14_3V,TYPE_3_GEL_Victron_Deep_discharge_14_4V,TYPE_4_AGM_Victron_Deep_discharge_14_7V,".
               "TYPE_5_Tubular_plate_cyclic_mode_1_14_9V,TYPE_6_Tubular_plate_cyclic_mode_2_15_1V,TYPE_7_Tubular_plate_cyclic_mode_3_15_3V,TYPE_8_LiFEPO4_14_2V,User_defined ".
               "Battery_temp_compensation:noArg Battery_equalization_voltage Battery_float_voltage Battery_absorption_voltage:noArg Automatic_equalization_mode:multiple,disabled";

Ich habe mal bei folgenden "Settern" das :noArg weggenommen, weil mir da Eingabemöglichkeiten fehlten (per set MPPT Charger_maximum_current 10 direkt geht ja / reicht mir eigentlich auch, weil ich es es [nur] per Programm setze aber so ist es "richtiger"? ;)  ):
Charger_maximum_current
Load_switch_low_level
Load_switch_high_level

Ob da noch mehr eigentlich ohne .noArg sein sollten/müssten etc.: keine Ahnung
Mir reicht das erst mal :)
Ich habe mal keine neue "Patch-Datei" angehangen, ich hoffe es geht auch per "Code-Ausschnitt"...
...falls es überhaupt jemanden interessiert...
Das andere war ja (so ich das sehe) ein Fehler, das hier ist ja "nur" Optik 8)

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 13 April 2023, 16:20:06
Zitat...falls es überhaupt jemanden interessiert...

Hallo Joachim,
scheinbar nutzen das mittlerweile nur noch SEHR wenige Leute. Ich merke es im Umkreis meiner Kollegen: entweder Billigware ohne jede Steuerung (oder China-Cloud) auf der einen Seite, fertig installierte Anlage mit xx kW Peak und x kWh Speicher auf der anderen Seite.
Der eine Download war ich, allerdings habe ich mein Modul schon an ein paar Stellen angepasst, was ich wiederrum erst mal suchen muss. Dein Modul hatte ich noch nicht getestet, sorry.

Gerade die CRC-Prüfung juckt mich schon, da ich hier ganz oft falsche Werte bekomme, wodurch die Regelung einen Schluckauf bekommt. ;D
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 14 April 2023, 10:16:56
Zitat von: kpwg am 13 April 2023, 16:20:06scheinbar nutzen das mittlerweile nur noch SEHR wenige Leute. Ich merke es im Umkreis meiner Kollegen: entweder Billigware ohne jede Steuerung (oder China-Cloud) auf der einen Seite, fertig installierte Anlage mit xx kW Peak und x kWh Speicher auf der anderen Seite.

Hallo Ricardo,

ja, hatte ich auch erst überlegt und gegenüber den Billig-China-Dingern sind die Victron schon "teuer"...
...aber: gut dokumentiert und offene Schnittstelle OHNE Cloud :)
Und: das "muss" man unterstützen (finde ich)!
Ausserdem: es hat mich "gejuckt" ;)


Zitat von: kpwg am 13 April 2023, 16:20:06Der eine Download war ich, allerdings habe ich mein Modul schon an ein paar Stellen angepasst, was ich wiederrum erst mal suchen muss. Dein Modul hatte ich noch nicht getestet, sorry.
...
Gerade die CRC-Prüfung juckt mich schon, da ich hier ganz oft falsche Werte bekomme, wodurch die Regelung einen Schluckauf bekommt. ;D

Kein Ding bzw. besteht ja keine "Pflicht" das zu nehmen oder zu teseten ;)
Ich hab es ja erst mal (nur) für mich "verbessert", weil es eben gerade in meiner Konstellation mit "remote" per LAN (und aktuell noch schlimmer mit WLAN-Strecke zum testen dazwischen) so gar nicht gut wollte bzw. eben immer wieder "komische Zeichen" in den Readings standen...
Habe dabei gemerkt, dass der CRC-Check bei Text-Messages immer "gut geht" und dann eben gemerkt, dass er (mMn) fehlerhaft ist...
Ich habe also gar nicht viel geändert:
die CRC für TextMessage Sub komplett neu und den Aufruf des crc-Checks für Textmessages, weil dort die gesamte empfangene Nachricht rein muss (inkl. "führender" \r\n statt wie im Original-Code mit entfernten \r\n zu Beginn, so ich das richtig interpretiert habe)...
Also nur diese beiden "Stellen"...

Wenn es dann doch noch jemand anders brauchen kann: umso besser 8)


Zitat von: kpwg am 13 April 2023, 16:20:06...allerdings habe ich mein Modul schon an ein paar Stellen angepasst, was ich wiederrum erst mal suchen muss.
Wo hast du angepasst?
Funktional oder (wie mein letzter Post) nur/eher "kosmetisch"?

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Sprocki62 am 14 April 2023, 19:50:50
Moin..
ich oute mich auch mal als ein Noch-Nutzer dieses Moduls, da mich der Ertag der Solarzelle auf meinem Wohnmobil schon interessiert (wenn ich da schon eine FHEM-Instanz auf nem Raspi 24/7 betreibe ;-) )
 
Hatte hier auch schon mal einen Beitrag geschrieben, wo ich gehofft hatte, dass sich der Modul-Ersteller mal drauf meldet..
Aber gut.. ich hab dann beschlossen, mit dem "Fehler" zu leben und hab das beste draus gemacht.

Werd' den Patch mal ausprobieren..
Danke, Joachim, dass Du das mal angefasst hast.

Grüße
Sprocki62
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 14 April 2023, 20:09:29
Zitat von: Sprocki62 am 14 April 2023, 19:50:50Hatte hier auch schon mal einen Beitrag geschrieben, wo ich gehofft hatte, dass sich der Modul-Ersteller mal drauf meldet..

Was für ein Problem war das?
Evtl. ja jetzt gefixt oder ich kann auch mal versuchen zu schauen...
...oder vielleicht hat es auch Ricardo behoben...

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Sprocki62 am 14 April 2023, 20:42:36
Zitat von: MadMax-FHEM am 14 April 2023, 20:09:29
Zitat von: Sprocki62 am 14 April 2023, 19:50:50Hatte hier auch schon mal einen Beitrag geschrieben, wo ich gehofft hatte, dass sich der Modul-Ersteller mal drauf meldet..

Was für ein Problem war das?
Evtl. ja jetzt gefixt oder ich kann auch mal versuchen zu schauen...
...oder vielleicht hat es auch Ricardo behoben...

Gruß, Joachim

Danke, dass Du nachfragst.. :-)
Hier nochmal der Fehler von 2021.. sieht aber heute nicht anders aus..

2021.09.30 12:06:38 1: PERL WARNING: "my" variable %MPPT masks earlier declaration in same scope at ./FHEM/00_VEDirect.pm line 532, <$fh> line 382.
2021.09.30 12:06:38 3: Opening MPPT75_15 device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A702Q1IB-if00-port0
2021.09.30 12:06:38 3: Setting MPPT75_15 serial parameters to 19200,8,N,1
2021.09.30 12:06:38 3: MPPT75_15 device opened
...
2021.09.30 12:06:39 1: PERL WARNING: Illegal hexadecimal digit '
' ignored at ./FHEM/00_VEDirect.pm line 1436.
2021.09.30 12:06:39 1: PERL WARNING: Argument "" isn't numeric in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1248.
2021.09.30 12:06:39 1: PERL WARNING: Use of uninitialized value $lastMin in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1039.
2021.09.30 12:06:39 1: PERL WARNING: Use of uninitialized value within @e in index at ./FHEM/00_VEDirect.pm line 1061.
2021.09.30 12:07:21 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1206.
2021.09.30 12:07:21 1: PERL WARNING: Filehandle $fh opened only for input at ./FHEM/00_VEDirect.pm line 1222, <$fh> line 32.

Vielleicht hast Du ja eine Idee... bin leider nicht soo tief drin im Programmieren..

Danke + Gruß
Sprocki62
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 14 April 2023, 22:13:58
Zitat von: Sprocki62 am 14 April 2023, 20:42:362021.09.30 12:06:39 1: PERL WARNING: Use of uninitialized value $lastMin in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1039.
2021.09.30 12:06:39 1: PERL WARNING: Use of uninitialized value within @e in index at ./FHEM/00_VEDirect.pm line 1061.

Die 2 Meldungen könnten/sollten mit meinem Fix weg sein.
Hatte ich auch bzw. ist der "Bereich" dort wo es bei falschn Inhalten zu "Prolemen" kommen kann und da zuvor falsche Nachrichen nicht korrekt aussortiert wurden...
...könnte es jetzt klappen ohne diese Meldungen 8)

Die erste Meldung:
Zitat von: Sprocki62 am 14 April 2023, 20:42:362021.09.30 12:06:39 1: PERL WARNING: Use of uninitialized value $lastMin in numeric ne (!=) at ./FHEM2021.09.30 12:06:38 1: PERL WARNING: "my" variable %MPPT masks earlier declaration in same scope at ./FHEM/00_VEDirect.pm line 532, <$fh> line 382.
da bin ich (auch) überfragt bzw. kommt die bei mir nicht, gut ich habe auch verbose=0 ;)
Evtl. ändere ich das mal und schaue (noch mal)...
...bzw. versuche zu verstehen was die Meldung "will"/"meint"...
EDIT: ok, ich denke ich weiß warum sie kommt. Aber wie ich das ändere, mal sehen...
EDIT: hmmm, so ich das richtig deute ist diese Definition "überflüssig" weil ja danach erneut ANDERS definiert wird, also "überdefiniert" (wie ja die Meldung "sagt"), daher kann man den Teil:
my %MPPT =    ('0'=>"Off",
               '1'=>"Voltage_or_current_limited",
               '2'=>"MPP Tracker active");
eigentlich einfach löschen (oder die Meldung ignorieren ;)  Sollte ja nur beim Laden/Starten kommen?)...
Zeilen 250-252...

Bzgl. dem hier:
Zitat von: Sprocki62 am 14 April 2023, 20:42:362021.09.30 12:06:39 1: PERL WARNING: Use of uninitialized value $lastMin in numeric ne (!=) at ./FHEM2021.09.30 2021.09.30 12:07:21 1: PERL WARNING: Filehandle $fh opened only for input at ./FHEM/00_VEDirect.pm line 1222, <$fh> line 32.

sollte wohl das helfen:
              open(my $fh, '<', $logFile) or die $!;
gegen
              open(my $fh, '+<', $logFile) or die $!;
ersetzen. Zeile: 1214
Also öffnen lesend und schreibend, weil in Zeile 1222 eben geschrieben wird/werden soll(te)...

Habe ich so nicht, da ich ohne "LogHistoryToFile" arbeite... ;)

Bei den Meldungen müsste ich auch mal verbose wieder hoch drehen und schauen, ob ich die auch habe:
Zitat von: Sprocki62 am 14 April 2023, 20:42:362021.09.30 12:06:39 1: PERL WARNING: Use of uninitialized value $lastMin in numeric ne (!=) at ./FHEM2021.09.30 2021.09.30 12:06:39 1: PERL WARNING: Argument "" isn't numeric in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1248.
2021.09.30 12:07:21 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1206.

Da das eigentlich in der Verarbeitung von HEX-Nachrichten ist, muss ich da (auch) mal schauen.
Evtl. kann aber auch sein, dass es mit meiner Änderung gar nicht erst so weit kommt und auch diese Meldungen weg sind...
Kannst du ja mal ausprobieren :)

Wenn sie bleiben schaue ich (vielleicht) noch mal... 8)

EDIT: evtl. hänge ich die Tage mal eine neue Patch-Version an, mit den ganzen hier genannten Änderungen. Wenn weitere Dinge sind, dann mal melden, ich schau dann (vielleicht) mal...

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Sprocki62 am 15 April 2023, 10:38:29
Moin Joachim,

Danke, dass Du Dir die Zeit nimmst, dich mit MEINEN Problem zu beschäftigen..
Also.. ich hab deinen Patch nun installiert.. aber leider sind die Meldungen immer noch da, allerdings immer zwei oder drei Zeilen später.
Hatte vorher schon mal selbst ne Änderung gemacht, und um die Zeilen nicht zu verlieren, hab ich sie mit "#" auskommentiert stehen lassen.

....
2023.04.15 10:04:08 1: PERL WARNING: "my" variable %MPPT masks earlier declaration in same scope at ./FHEM/00_VEDirect.pm line 532, <$fh> line 400.
2023.04.15 10:04:08 3: Opening MPPT75_15 device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A702Q1IB-if00-port0
2023.04.15 10:04:08 3: Setting MPPT75_15 serial parameters to 19200,8,N,1
2023.04.15 10:04:08 3: MPPT75_15 device opened
2023.04.15 10:04:08 3: HUEDevice2: I/O device is deCONZ
2023.04.15 10:04:09 3: geolocation: URL is none, periodic updates will be limited to explicit GetXXPoll attribues (if defined)
2023.04.15 10:04:09 3: geolocation: interval is 0, no periodic updates will done.
2023.04.15 10:04:09 3: geolocation: Defined without URL featurelevel 6.2
2023.04.15 10:04:10 3: ESPEasy ESPBridge: Bridge v2.18 port [TCP:IPV4:8383] opened.
2023.04.15 10:04:11 2: deCONZ: autocreate: created 0/0/0 devices (ignored 0/0/0)
.... (ein paar Zeilen gelöscht)
2023.04.15 10:04:11 1: PERL WARNING: Illegal hexadecimal digit '
' ignored at ./FHEM/00_VEDirect.pm line 1440.
2023.04.15 10:04:11 1: PERL WARNING: Argument "" isn't numeric in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1252.
2023.04.15 10:04:11 1: PERL WARNING: Use of uninitialized value $lastMin in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1042.
2023.04.15 10:04:13 1: PERL WARNING: Use of uninitialized value within @e in index at ./FHEM/00_VEDirect.pm line 1064.
2023.04.15 10:04:30 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1209.
2023.04.15 10:04:39 3: telnetForBlockingFn_1681545879.2156: port 41417 opened

Was allerdings geholfen hat, war die Änderung ..
Zitatsollte wohl das helfen:
              open(my $fh, '<', $logFile) or die $!;
gegen
              open(my $fh, '+<', $logFile) or die $!;
ersetzen. Zeile: 1214
Also öffnen lesend und schreibend, weil in Zeile 1222 eben geschrieben wird/werden soll(te)...
Die entsprechende Meldung trat beim Neustart nicht mehr auf.

Und mit der Meldung
2023.04.15 10:04:08 1: PERL WARNING: "my" variable %MPPT masks earlier declaration in same scope at ./FHEM/00_VEDirect.pm line 532, <$fh> line 400. kann ich gut leben..   die kommt wirklich nur beim Start.. und %MPPT wird ja später noch mal richtig deklariert.

Danke nochmal/schon mal..  ;-) 

Was ich Dir/Euch nicht vorenthalten möchte, ist die Änderung, die ich selbst schon mal gemacht habe.. ist zwar nur "Kosmetik", aber mir war es wichtig.

Irgendwo zwischen Zeile 70 und 73 habe ich die Zeile
"H22"=>{"ReadingName"=>"Yield_yesterday","Unit"=>"-","Scale"=>"1"},gegen
"H22"=>{"ReadingName"=>"Yield_yesterday","Unit"=>"kWh","Scale"=>"0.01"},
getauscht, weil ich die Maßeinheit richtig haben wollte. ;-)

Vielleicht hilfts ja dem einen oder anderen auch...

Schönes Wochenende
Johannes (aka Sprocki62)
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 15 April 2023, 10:54:28
Hallo Johannes,

danke für's Testen.
Hmm, dann werde ich evtl. mal noch mal schauen.

Solange keine "Verbindungsprobleme" (TTL-LAN-Adapter geht grad noch aber dann mit WLAN-Strecke dazwischen, naja) waren hatte ich (mit verbose 0 beim VEDirect-Device) hatte ich keine/kaum Meldungen.
Ganz schlimm war es dann, wenn geladen wurde, dann hat es das Log vollgehagelt (trotz verbose 0 am Device).

Mit meiner aktuellen Anpassung (und wie ich denke korrekte Implementierung von CRC bei Text) habe ich keine Meldungen mehr im Log... :)

Kommen die Meldungen regelmäßig oder "nur" beim Start?
(gut sehe ich ja dann vielleicht auch, wenn ich mal verbose wieder hoch setze/lösche)

Allerdings geht der Urlaub zu Ende (oder ist es ja eigentlich schon), daher weiß ich nicht (genau) wann ich dazu komme...

EDIT:
eben habe ich mal das unnötige my @MPPT rausgeworfen :)
Bei einem reload bekomme ich dann (auch) folgendes:
2023.04.15 10:56:19 1: PERL WARNING: Use of uninitialized value within @e in index at ./FHEM/00_VEDirect.pm line 1061.
2023.04.15 10:56:23 1: PERL WARNING: Illegal hexadecimal digit '
' ignored at ./FHEM/00_VEDirect.pm line 1436.
2023.04.15 10:56:23 1: PERL WARNING: Argument "" isn't numeric in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1248.
Aber so wie es aussieht eben nur beim Start (bzw. reload)...
Hmmm, mal sehen ;)

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Sprocki62 am 15 April 2023, 11:26:59
Moin Joachim,

wenn ich kann, helfe ich gerne mit.. und wenn's nur beim Testen ist..

ZitatKommen die Meldungen regelmäßig oder "nur" beim Start?
Sieht so aus, als wenn die nur beim Start kämen..

Und das my %MPPT hab' ich gerade auch rausgeworfen.. es funktioniert noch alles. :-) 

Hier nochmal MEINE Fehlermeldungen (sind ja ein paar mehr als bei dir):
2023.04.15 11:19:22 1: PERL WARNING: Illegal hexadecimal digit '
' ignored at ./FHEM/00_VEDirect.pm line 1440.
2023.04.15 11:19:22 1: PERL WARNING: Argument "" isn't numeric in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1252.
2023.04.15 11:19:22 1: PERL WARNING: Use of uninitialized value $lastMin in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1042.
2023.04.15 11:19:23 1: PERL WARNING: Use of uninitialized value within @e in index at ./FHEM/00_VEDirect.pm line 1064.
2023.04.15 11:19:32 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1209.

Aber gut.. 
Wenn Dir oder Ricardo noch was dazu einfällt, ok..  wenn nicht, auch ok. ;-)
Daaanke soweit! :-)

Bis demnääähx
Johannes
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 15 April 2023, 12:53:19
Ich habe mal auf die Schnelle meine bisherigen Anpassungen gesucht und "visualisiert". Klar geht das besser, aber das hier geht halt schnell  ;D
Dabei sind ansich nur zwei Fehlerbehebungen, eine Schönheitskorrektur (Idle, Bulk, Absorb, Float, ...) und einmal sehe ich keinen Unterschied. 8)
Die CRC-Prüfung kann ich eventuell heute abend testen, vorher müssen noch neue VE.Direct Kabel mit CH340 her. Es motiviert schon, wenn hier wieder Bewegung ins Thema kommt.
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 15 April 2023, 13:27:34
Jep, ist angenehmer :)

Schau ich mir mal an...
...zusammen mit den anderen Dingen...

Kann aber evtl. etwas dauern...

Werfe dann wieder eine Patch-Version ein...

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 15 April 2023, 23:18:41
Zitat von: MadMax-FHEM am 15 April 2023, 13:27:34Werfe dann wieder eine Patch-Version ein...
:)

Ging doch schneller.

Bzgl.:
Zitat von: kpwg am 15 April 2023, 12:53:19Ich habe mal auf die Schnelle meine bisherigen Anpassungen gesucht und "visualisiert". Klar geht das besser, aber das hier geht halt schnell  ;D
Dabei sind ansich nur zwei Fehlerbehebungen, eine Schönheitskorrektur (Idle, Bulk, Absorb, Float, ...) und einmal sehe ich keinen Unterschied. 8)
Die CRC-Prüfung kann ich eventuell heute abend testen, vorher müssen noch neue VE.Direct Kabel mit CH340 her. Es motiviert schon, wenn hier wieder Bewegung ins Thema kommt.
Also ich hab mal versucht das einzubauen.

Folgendes habe ich eingebaut:
Bei Diff1 konnte ich nicht sehen was der Unterschied ist und auch im Code keinen Fehler erkennen... Sorry 8)

Diff2 habe ich übernommen, ich arbeite nicht mit historischen Daten (aus dem Modul), wenn dann mache ich das mit fhem-Mitteln...

Von Diff3 habe ich nichts übernommen :-\
Grund: ich finde die Begriffe wie sie sind ok, sorry...

Bei Diff4: Ist mir auch schon aufgefallen, dass != bei "Zeichenkettenvergleich" nicht passt. Da aber keine WARN kamen (was sonst ja der Fall ist), hab ich das erst mal gelassen. Allerdings bedeutet != eher ne ? Daher habe ich das mal statt ge (wie von dir vorgeschlagen) in ne umgebaut, mal sehen. Bzw.: gibt es einen bestimmten Grund für dein ge ? (habe den Code nicht weiter analysiert)...


Aktuell habe ich beim Reload keine Einträge mehr im Log.
Fehler (meiner Meinung nach) war ein Schleifenzähler, der von 0 - Einträge im Array ging. Habe den nun korrigiert auf 0 - Anzahl Arrayeinträge -1 (müsste stimmen bzw. habe ich das auch so "abgezählt")...

Da ich aber nicht/nie alle Logeinträge bekommen habe: bitte mal testen :)

EDIT: Hmmm, ok. Hab doch noch einen Eintrag (wenn ich Laden beende)
2023.04.15 23:27:35 1: PERL WARNING: Illegal hexadecimal digit '
' ignored at ./FHEM/00_VEDirect.pm line 1248.
Mal sehen, ob ich bei ParseHex auch noch was finde.
Allerdings habe ich mich da noch nicht so tief eingearbeitet...
Und: ich werde (mindestens für mich) die verbose 3 Meldungen bei ParseHex auf 4 oder 5 setzen, damit ich mit verbose 3 (Standard) laufen lassen kann. Aktuell werden die empfangenen Hex-Messages bei verbose 3 geloggt...
...finde ich nicht schön/unpassend/unnötig. Was meint ihr? Wenn für auch auch ok, dann baue ich das generell um...
EDIT: hmm, das ist ja die Stelle mit != ne ge (ge habe ich auch mal probiert, hat aber irgendwie nchts geändert)... Mal sehen...

EDIT: ok, noch eine Meldung...
2023.04.15 23:41:39 1: PERL WARNING: Argument "1365j\nI" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1069.
Habe dort ebenfalls != durch ne ersetzt, mal sehen...

EDIT: ich habe eine (neue) Patch angehangen. Dort die verbose bei den Log3 laut "Wiki verbose" (so ich denke) umgesetzt...

EDIT: also ich habe noch ein wenig rumgetestet und bin aktuell Meldungsfrei :)
(aber ich nutze ja nicht alles usw.)

EDIT: weil es mir aber keine Ruhe gelassen hat, habe ich noch ein wenig rumgesucht (wo eine for-Schleife [mMn] falsch ist, evtl. sind ja weitere drin) und würde folgende for-Anweisungen eigentlich auch umbauen:
1091: for my $b (0 .. int(@bits)) -> for my $b (0 .. $#bits)
1093: for my $b (0 .. int(@bits)) -> for my $b (0 .. $#bits)
1478: for $i (0 .. length($msg)) -> for $i (0 .. length($msg) - 1)

Wenn also bei euch weitere/weiterhin Einträge auftauchen (die ich bei mir halt nicht kriege) wären das meine nächsten (und aktuell letzten) Ansatzpunkte.
Evtl. baue ich das (trotzdem es bei mir wohl da nicht langläuft) mal so ein und schaue was passiert...

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Sprocki62 am 16 April 2023, 18:03:12
Reverse Engineering macht Spaß!!   ;D

Hallo Joachim,
hatte auch mal ein wenig rumgespielt..  bin auf ähnliche Ergenisse gekommen wie du.
Hab nur noch ein paar mehre von den "!=" durch "ne" ersetzt.

Hab dann aber doch mal deinen Patch genommen.
Und es sind bei mir doch noch drei Fehlermeldungen übrig geblieben...

2023.04.16 17:06:35 1: PERL WARNING: Use of uninitialized value $lastMin in string ne at ./FHEM/00_VEDirect.pm line 1039.
2023.04.16 17:06:35 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/00_VEDirect.pm line 1043.
2023.04.16 17:07:21 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1206.
----
2023.04.16 17:09:56 1: PERL WARNING: Use of uninitialized value $lastMin in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1039.
2023.04.16 17:09:56 1: PERL WARNING: Use of uninitialized value in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1043.
2023.04.16 17:10:21 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1206.

Zum Fehler in line 1039 und 1043
Vor der ersten Meldung (von 17:06 Uhr) "uninitialized value $lastMin in string ne " hatte ich dort "!=" auch durch "ne" ersetzt  -> also KEIN string ???
Vor der zweiten Meldung (von 17:09 Uhr) "uninitialized value $lastMin in numeric ne (!=)" bin ich wieder zurück zu "!="  -.> auch kein NUMERIC?
Oder was bedeutet das ""uninitialized"? Falscher Typ bei Variablen-Deklaration?

Zum Fehler in line 1206
2023.04.16 17:10:21 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1206.
   1206             my $Hdate = POSIX::strftime("%Y%m%d",localtime(time+86400*$Register{ $type }->{ $id }->{'Skalierung'}));
   1207             my $HdateOld = POSIX::strftime("%Y%m%d",localtime(time-86400*$Register{ $type }->{ $id }->{'Skalierung'}));

Irgendwas mit dem POSIX::strftime scheint da nicht zu stimmen  -> Argument "" isn't numeric in multiplication
Ist "%Y%m%d" ein String? 
Vermutung: Perl-Version seit der Entwicklung dieses Moduls geändert..oder ich hab ne andere Perl-Version auf dem WoMo-Pi... oder ich hab ein UPDATE verpennt.  Nutze  perl:5.028001

Der Error
2023.04.15 23:27:35 1: PERL WARNING: Illegal hexadecimal digit '
' ignored at ./FHEM/00_VEDirect.pm line 1248.

tritt bei mir nicht mehr auf.. siehe Änderung in Zeile 1436.. 
2 mal $val nacheinander kam mir komisch vor.. Da hab ich das zweite $val einfach mal auskommentiert..  Mut zur "Lücke" ;-)

   1424 ##################################################################################################################################################
   1425 # ChecksumHEx
   1426 ##################################################################################################################################################
   1427 sub VEDirect_ChecksumHEX($$)
   1428 {
   1429   my ($startVal, $cmd) = @_;
   1430   $startVal = 0x55;
   1431
   1432   for my $i (1 .. length($cmd))
   1433    {
   1434       my $val = 0;
   1435       $val = hex(substr($cmd,$i,1)) if($i==1);
   1436   #    $val = hex(substr($cmd,$i,2)) if $i % 2 ==0;
   1437       $startVal -= $val if( looks_like_number($val));
   1438
   1439    }
   1440    $startVal &= 0xFF;
   1441    return (sprintf("%02X", $startVal));;
   1442 }


Was meinst Du dazu?
Und was sagt denn Ricardo dazu?

Soo... das Wo.E. ist nun fast vorbei..
Mal schauen, wann ich wieder Zeit zum "Basteln" habe..

Vielen Dank auf jeden Fall für Eure Arbeit.

Bis denne
Grüße
Johannes
 
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 16 April 2023, 18:22:25
Stimmt, WE (fast) vorbei...
Mal sehen...

Das mit strftime schaue ich mir mal an.
Allerdings könnte auch sein, dass in dem was nach dem Multiplizieren (was aus Hashes gelesen wird) kommt nicht passt. Dazu tendiere ich eher...

Das mit uninitialized bedeutet (und ist ja auch "nur" ein Warning), dass da eine Variable benutzt wird, die nicht explizit initialisiert wurde, sondern halt "leer" einfach "nur" angelegt wurde...

Muss ich mal sehen...

Manches/vieles sind aber auch Folgefehler von z.B. falschen Schleifendurchläufen...

Hast du mal die von mir vorgeschlagenen Änderungen probiert?
Die sind in dem Patch (noch) nicht drin...

Da ich halt Warning-/Fehlerfrei bin (aktuell) ist halt auch schwer zu suchen, weil ich ja nur theoretisch den Code anschauen kann...

Kommen die Meldungen regelmässig oder reproduzierbar?
Dann könnte ich mal Logging einbauen, du provozierst den Eintrag und dann sehen wir wie weit wir kommen...

Danke für die Unterstützung!

EDIT: ich laufe auf Bullseye (aktuell) und aktuellem fhem... Perl Version müsste ich erst mal abfragen... Nutze aber auch praktisch nur Standardeinstellungen beim Device, also nur define und gut. Nutze einen MPPT 75/15. Da hängt ein Netzteil (48V) dran und lädt einen Akku (12V LiFePo4). Wenn voll, entlade ich den wieder über einen Wechselrichter, "gesteuert" über den Lastausgang des Victron...

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Sprocki62 am 16 April 2023, 18:36:32
Ach ja..

ZitatHast du mal die von mir vorgeschlagenen Änderungen probiert?
Die sind in dem Patch (noch) nicht drin...

Ja.. die sind drin.. keine Änderung im Log. Aber ich lasse sie erstmal so drin.

ZitatKommen die Meldungen regelmässig oder reproduzierbar?
Ja.. regelmässig beim Start..  sonst nicht.

Und die Filehandler-Meldung (die diese ganze Aktion ins Rollen gebracht hat ;-) ) ist jetzt komplett weg.

Danke nochmal...
Grüße
Johannes
 


Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Sprocki62 am 16 April 2023, 18:43:23
Und damit ihr auch wisst, was ich mit diesem Victron-Modul so anstelle...  ;-) 

Die Daten kommen live aus dem WoMo... mittels VPN angebunden.

Ausgabe des Moduls.

MPPTBetriebsart: bulk
Tracker operation mode: 2 MPPT
Panel-Leistung: 4.7 W
Max. Panel-Leistung: 54 W
Ertrag heute: 0.1 kWh
Ertrag gestern: 0.05 kWh
Batteriestrom: -0.01 A
Batteriespannung: 12.85 V
Error-Code: No error

Und in FTUI:

siehe angehängter Screenshot
womo_solar.JPG
:-) 
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 16 April 2023, 18:44:25
Zitat von: Sprocki62 am 16 April 2023, 18:36:32
ZitatKommen die Meldungen regelmässig oder reproduzierbar?
Ja.. regelmässig beim Start..  sonst nicht.

Ok.
Ich schaue mir mal an was du so für Meldungen hast und welche Ausgaben ich denke helfen könnten mich weiterzubringen ;)
Wenn ich eine Version habe, dann stelle ich die wieder hier ein zum Testen.
Dann baue ich auch gleich die weiteren vorgeschlagenen Dinge ein, wenn die bei dir eh schon laufen...
EDIT: oder du hängst deine aktuelle Version hier an, dann diffe ich mal und erstelle eine basierend da drauf... (nicht, dass wir zu unterschiedliche Versionen haben ;) )...

EDIT: das was du bei VEDirect_ChecksumHEX auskommentiert hast, hätte ich eher andersrum auskommentiert, weil das was du auskommentiert hast ja zuvor der letztendlich vereendete Wert war ;) Evtl. schaue ich da auch mal in der Anleitung von Victron nach ;) Hat ja bei VEDirect_ChecksumTxt auch prima geklappt 8)

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 16 April 2023, 19:49:32
Bei dem Fehler in 1039 denke ich eher (und er kommt ja auch nur beim Start?), dass es noch keinen lastHex gibt, also my $lastMin = $hash->{helper}{lastHex}; undefined ist und eben $lastMin nicht initialisiert ist.
Ist es mal durchgelaufen, steht in lastHex was drin und dann löpt das ohne Meldung...

String/nicht String ist in dem Fall egal, weil beides wohl Zahlen sind und das interpretiert Perl so und auch anders ;)
Sofern beides "ähnlich" ist, also String und Zahl sein kann.
Wichtig ist dann eher, dass u.U. das Vergleichsergebnis anders sein kann (also zw. != und ne je nachdem ob eben Zeichenkette oder Zahl)...

Evtl. sowas:
    my $lastMin = 0;
    $lastMin = $hash->{helper}{lastHex};

oder (noch besser?):
    my $lastMin = 0;
    $lastMin = $hash->{helper}{lastHex};if(defined($hash->{helper}{lastHex}));
oder (noch viel besser?):
Beim DEF des Devices mit 0 (oder der aktuellen Zeit?) initialisieren?


Fehler in 1248, hmm, evtl. weil doch was mit CRCHex nicht stimmmt?
Bei Gelegenheit schaue ich mir die Implementierung von VEDirect_ChecksumHEX doch mal (genauer) an...

Bzgl. Fehler 1206/1207 denke ich ja, dass da beim ersten Durchlauf (Kommen die auch "nur" beim Start?) irgendwas halt noch nicht initialisiert ist, ähnlich dem Problem mit $lastMin ?

Also besser du postest mal deine aktuelle Version, dann mache ich einen Diff usw. und basierend darauf mal eine neue Version zum weiteren Testen...
(bevor wir aneinander "vorbei" arbeiten ;)  )...

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: Sprocki62 am 16 April 2023, 21:34:37
Hi Joachim,
ich hänge "meine" Version einfach mal hier dran...
Kannst ja mal schauen, ob du noch was davon gebrauchen kannst.

Schönen Abend... und bis die Tage.
Beste Grüße vom südl. Rande des Ruhrpotts
Johannes


00_VEDirect_meinPatch.pm
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 17 April 2023, 06:45:23
Da schaut man mal ein paar Stunden hier nicht rein... ;D

Ich habe gestern zuerst meine VE.Direct Kabel ersetzt. Wie schon letztens festgestellt, geht die Fehlerquote und die Last auf dem RasPi deutlich runter, wenn man CH340 Wandler nutzt. Mit vier CH340 habe ich deutlich weniger Last als vorher mit drei CP2102. Bisher sind beim ungepatchten Modul innerhalb (knapp) 24h drei Logeinträge aufgetaucht, vorher täglich etwa 10 bis 30 Einträge (mit einer Schnittstelle weniger!).

Das gepatchte Modul will ich heute testen, danke für das bearbeiten der diffs von mir. Alles ok, einzig bei Diff3 werde ich die Begrifflichkeiten wieder anpassen müssen. Ein "not_charging" ist zu groß für das vorgesehene Feld und deutlich größer als alle anderen Zustände, was auf kleinen Displays zu ungewollten Umbrüchen führt. Ob groß oder klein geschrieben, ist tatsächlich nur Kosmetik  8) Ich finde, solche Zustände sollten stets eine ähnliche Wortlänge haben, was der Visualisierung in einfacher Form entgegen kommt. Ich löse das wieder mit einem sed auf shell-Ebene, kann ich gerne mal hier posten. Man kommt immer mal in die Situation, wo ein Detail im Modul nicht passt, für 99% der Nutzer aber in Ordnung ist.  :))

Das FTUI-Panel ist natürlich der Hingucker!
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 17 April 2023, 19:34:22
(M)Ein erster Test: Die Version aus #106 läuft hier nicht, der Start von fhem wird blockiert. Ich muss das nochmal genauer analysieren, aber das geht dann am Produktivsystem zu weit. Es ist ja nicht das erste Modul, was ich modifiziert ins System einschleuse. Im Idealfall lädt man mit reload das Modul nach, ein kompletter Neustart des RasPi muss aber auch gehen.
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 17 April 2023, 19:42:12
Hmm, schade.

Weil am prinzipiellen Ablauf hab ich eigentlich nichts geändert...

Du kannst auch mal die erste modifizierte Version nehmen. Da wurde wirklich nur die CRC für Text angepasst...

Wenn die auch nicht geht, dann ist es verm. was anderes in deinem System (mM ;) )...
EDIT: usb-check ist (verm.) disabled?

Ich werde auch mal booten usw.
Wobei ich dazu erst mal das Wettermodul "bereinigen" muss, sonst startet mein fhem (aktuell) auch nicht...

Bin allerdings aktuell sehr eingespannt (so ist das nach Urlaub)...

Kann also dauern bis ich wieder zu was komme...

Meine nächsten geplanten Schritte (also was ich einbauen/anpassen würde) habe ich ja geschrieben... ;)

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 17 April 2023, 20:22:12
Mir lässt das auch keine Ruhe, das Problem wird sich schon zeigen. Ein Raspi3 mit fhem müsste noch in der Bastelkiste liegen, dazu einen ungenutzten BlueSolar Regler. Damit sollte es funktionieren  O:-)
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 17 April 2023, 20:32:29
Da bin ich mal gespannt! :)

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 17 April 2023, 20:48:07
Kaum macht man es richtig, gehts! ;D
Die Schnittstellen waren noch blockiert. Nach Neustart ist erst mal alles wieder da, es kommen ordentlich Daten (aktuell 5x VE.Direct, Pakete kommen jeweils zweimal pro Sekunde)

Die Logeinträge nach "shutdown restart":
2023.04.17 20:37:45 0: Server shutdown
2023.04.17 20:37:47 1: Including fhem.cfg
2023.04.17 20:37:48 1: Including ./log/fhem.save
2023.04.17 20:37:48 0: Featurelevel: 6.2
2023.04.17 20:37:48 0: Server started with 60 defined entities (fhem.pl:27410/2023-04-07 perl:5.032001 os:linux user:fhem pid:945)
2023.04.17 20:37:48 1: PERL WARNING: Use of uninitialized value $lastMin in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1039.
2023.04.17 20:37:48 1: PERL WARNING: Illegal hexadecimal digit '
' ignored at ./FHEM/00_VEDirect.pm line 1436

Die Last des Systems ist angenehm niedrig (wie vorher):
htop.PNG

EDIT: Das kam gerade noch hinterher:
2023.04.17 20:46:49 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1206.
Viele Grüße, Ricardo
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 17 April 2023, 21:45:06
Zitat von: Sprocki62 am 16 April 2023, 21:34:37Hi Joachim,
ich hänge "meine" Version einfach mal hier dran...
Kannst ja mal schauen, ob du noch was davon gebrauchen kannst.

Schönen Abend... und bis die Tage.
Beste Grüße vom südl. Rande des Ruhrpotts
Johannes


00_VEDirect_meinPatch.pm (https://forum.fhem.de/index.php?action=dlattach;attach=170747;type=preview;file)


Danke.
Ich habe mir deine Version mal angesehen und einige der != -> ne "Ersetzungen" wieder zurückgenommen (ich denke, dass der index in einem Array/Zeichenkette eine Zahl ist ;)  ).

Ich habe auch schon mal einige Logausgaben vorbereitet für Meldungen, die so "gemeldet" wurden, ich selbst aber nicht habe.
Interessant wäre jetzt nat.: läuft die Version überhaupt (bei mir tut sie es 8)  [weiterhin])...
...und gibt es noch Ausgaben im Log?
Regelmässig oder "nur" beim Start.

Wenn ich das weiß, kann ich die dann noch mal auf Basis einer mir bekannten Version angehen :)

Diese Stelle finde ich (noch) eigenartig:
          $payload = int(hex($payload))*$Register{ $type }->{ $id }->{'Skalierung'} if($Register{ $type }->{ $id }->{'Skalierung'} ne "" || !defined($Register{ $type }->{ $id }->{'Skalierung'}));
Aber dazu muss ich mal abwarten, ob dazu (überhaupt) noch eine Meldung kommt...

Andere/ähnliche Stellen können bei "komischen Konstellationen" auch Logausgaben "erzeugen".
Dazu bin ich aber nicht wirklich tief genug im Code drin (wollte ich eigentlich auch nicht, sonst bin ich ja fast schon bei Neuimplementierung ;) :D  )...
EDIT: Tja, haben wir ja schon einen solchen Fall... ;)
Zitat von: kpwg am 17 April 2023, 20:48:072023.04.17 20:46:49 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1206.

Und ich denke VEDirect_ChecksumHEX muss ich mir doch mal anschauen und mit der Beschreibung von Victron mal gegenprüfen...
(die 2x $val können schon Sinn machen, es wird ja entweder oder ausgeführt, es sind if dahinter ;)  )
EDIT:
Zitat von: kpwg am 17 April 2023, 20:48:072023.04.17 20:37:48 1: PERL WARNING: Illegal hexadecimal digit '
' ignored at ./FHEM/00_VEDirect.pm line 1436
Gut hier ist die Frage, ob ich die Zeile noch korrekt zuordnen kann. Aber wenn es noch in etwa zusammenpasst, dann eben genau: VEDirect_ChecksumHEX noch mal prüfen...

So ganz zufrieden bin ich (noch) nicht...
...aber für heute muss ich mal (wieder) Pause machen...

EDIT:
Zitat von: kpwg am 17 April 2023, 20:48:072023.04.17 20:37:48 1: PERL WARNING: Use of uninitialized value $lastMin in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1039.
Sollte mit angehängter Version nicht mehr auftreten :)


DANKE für's Testen! :)


Gruß, Joachim

P.S.: jetzt müssten wir mal wieder "glatt ziehen" und mit der hier angehängten Version testen, sonst kriege ich die Zeilen nicht zusammen...
...und dann halt mal rauskriegen wann die Einträge kommen (Start oder regelmässig und wenn regelmässig: wie oft / wenn regelmässig aber sehr selten, dann wird verm. das Log recht voll, bis so ein Fall wieder eintritt :-\  -> ist halt unangenehm für den Tester)
 (allerdings werde ich verm. die nächsten Tage inkl. WE zu nicht viel kommen :-\  )
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 17 April 2023, 22:36:55
Zitat von: kpwg am 17 April 2023, 20:48:072023.04.17 20:46:49 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1206.

            my $Hdate = POSIX::strftime("%Y%m%d",localtime(time+86400*$Register{ $type }->{ $id }->{'Skalierung'}));
            my $HdateOld = POSIX::strftime("%Y%m%d",localtime(time-86400*$Register{ $type }->{ $id }->{'Skalierung'}));

Manche Skalierungen sind mit "" angegeben -> wenn da eine davon "rausgegriffen" wird, kommt diese Meldung.
Muss ich nur sehen, was da "vernünftig" ist.
"Überall" eine numerische Skalierung angeben (welche?) oder prüfen, ob eine numerische Skalierung vorliegt...
...aber was tun, wenn nicht? ;)

Muss ich mal drüber nachdenken...

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 18 April 2023, 06:36:59
Hallo Johannes und Joachim,

besten Dank für Euren Input und die Versionen. Mit "global verbose 2" war bis jetzt komplett Ruhe, es kamen keine Logeinträge dazu. Aktuell habe ich global verbose auf 3 gesetzt, da kam gleich die erste Meldung (hat aber aufgrund des LogLevel damit nix zu tun):
2023.04.18 06:20:44 1: PERL WARNING: Hexadecimal number > 0xffffffff non-portable at ./FHEM/00_VEDirect.pm line 1264.
Ich meine, das kommt vom 100/30, da ich (nur) dort das reading  Consumed_Wh    FFFFFFFF  habe.

Interessant ist auch noch der Charger_state, wenn die Sonne aufgeht: ich habe dann für einen kurzen Moment schnell wechselnde Werte zwischen den bekannten Zuständen ("Charger_state:not_charging,,fault,bulk,absorption,float,equalize,ess") und einer großen numerischen Zahl. Logeinträge werden dazu aber nicht generiert.

Viele Grüße und einen schönen Tag,

Ricardo
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 18 April 2023, 17:17:39
Es gibt neue Logeinträge:
2023.04.18 13:54:17 1: PERL WARNING: Use of uninitialized value within @bits in numeric eq (==) at ./FHEM/00_VEDirect.pm line 1092.
2023.04.18 13:54:17 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/00_VEDirect.pm line 1096.

Ich kann es nicht deuten, aber könnten dafür noch immer fehlerhafte Pakete verantwortlich sein? Ich "empfange" hier fast eine Million Frames am Tag aus den fünf Geräten, da kann schon mal was schief gehen. Die Fehler sind irgendwie diffus, nicht wirklich klar zuzuordnen. Ich bin allerdings auch kein Programmierer, lerne aber gerne was dazu. ::)

Noch eine Bitte: Es sollte in Zeile 4 zur Version von Askie noch eine Art "mod-Version" mit Datum angehängt werden, damit wir den Stand besser unterscheiden können. Vielleicht meldet sich auch Askie mal
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 18 April 2023, 19:09:22
Ok, schaue ich mir mal an...
Aber ich fürchte ja, "komische" Pakete...
Und dann passt was nicht...

Jep, das mit Version ist eine gute Idee...
Ich schau mal...

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 21 April 2023, 13:45:17
Zitat von: kpwg am 18 April 2023, 06:36:59Hallo Johannes und Joachim,

besten Dank für Euren Input und die Versionen. Mit "global verbose 2" war bis jetzt komplett Ruhe, es kamen keine Logeinträge dazu. Aktuell habe ich global verbose auf 3 gesetzt, da kam gleich die erste Meldung (hat aber aufgrund des LogLevel damit nix zu tun):
2023.04.18 06:20:44 1: PERL WARNING: Hexadecimal number > 0xffffffff non-portable at ./FHEM/00_VEDirect.pm line 1264.
Ich meine, das kommt vom 100/30, da ich (nur) dort das reading  Consumed_Wh    FFFFFFFF  habe.

Interessant ist auch noch der Charger_state, wenn die Sonne aufgeht: ich habe dann für einen kurzen Moment schnell wechselnde Werte zwischen den bekannten Zuständen ("Charger_state:not_charging,,fault,bulk,absorption,float,equalize,ess") und einer großen numerischen Zahl. Logeinträge werden dazu aber nicht generiert.

Viele Grüße und einen schönen Tag,

Ricardo

Hmm, dazu habe ich nur folgendes gefunden:
https://github.com/exiftool/exiftool/issues/6

Scheint so als ob (bei bestimmten Plattformen und/oder Perl Versionen) Zahlen über 100000000 (Dezimal) zu dieser Warnung führen...

100000000Wh -> 100000kWh?

Und auch bei anderen Modulen (bislang ohne Lösung): https://forum.fhem.de/index.php?topic=122779.msg1173629#msg1173629

Das mit den wechselnden Zuständen bei Sonnenaufgang: da schaue ich mal, wenn ich das Ladegerät einschalte (müsste ja dasselbe sein?), ansonsten mal verbos auf 5 setzen bevor das passiert, dann sieht man was empfangen wird. Wird das so empfangen, dann wohl auch so gesendet und dann kann man auf Empfangsseite wenig tun (ignorieren ist ja keine Lösung? ;)  )...
EDIT: eben probiert und geht bei mir sofort (also zumindest wenn ich im Device-Overview schaue) auf bulk... :-\

Aber bei verbose 5 (und 4) wird sehr viel geloggt!
(drum habe ich auch einige Logausgaben in verbose geändert, damit das Modul wenigstens in verbose 3 betrieben werden kann / es gibt nur eine [oder sehr wenige] Ausgaben mit verbose 1, also nur wenn ein Fehler im Modul erkannt wurde / so wie verbose definiert ist -> habe ich zumindest versucht)

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 21 April 2023, 14:01:52
Zitat von: kpwg am 18 April 2023, 17:17:39Es gibt neue Logeinträge:
2023.04.18 13:54:17 1: PERL WARNING: Use of uninitialized value within @bits in numeric eq (==) at ./FHEM/00_VEDirect.pm line 1092.
2023.04.18 13:54:17 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/00_VEDirect.pm line 1096.

Ich kann es nicht deuten, aber könnten dafür noch immer fehlerhafte Pakete verantwortlich sein? Ich "empfange" hier fast eine Million Frames am Tag aus den fünf Geräten, da kann schon mal was schief gehen. Die Fehler sind irgendwie diffus, nicht wirklich klar zuzuordnen. Ich bin allerdings auch kein Programmierer, lerne aber gerne was dazu. ::)

Was mich wundert ist die Zeile.
Bei mir steht in Zeile 1092:
          for my $b (0 .. $#bits)

Ich denke aber bzw. macht es mehr Sinn, wenn der Fehler hierher stammt (1093):
          {$cntOnes+=1 if($bits[$b] == 1); }
Ich habe in dem Fall das Ende "korrigiert", kann aber sein, dass das Array nicht bei 0 sondern bei 1 beginnt, dann wäre am falschen Ende "korrigiert" worden...
Ich habe mal in Zeile 1085 das Logging angepasst (von 5 auf 1), da ich die Ausgabe aber nicht bekomme, habe ich auch kein Log :-\
Wenn du willst kannst du das ja mal ändern, dann kann man das "Bit-Array" mal nachbauen und schauen wie es richtig ist...
        Log3 $name, 1, "VEDirect ($name) - ParseTXT: AR: $tmpVal --> bin: $bin";

Auch die Meldung zu 1096 verwirrt mich, bei mir steht da:
            my $arVal = 2**$b;


Das erste "concatinate" was dort passen würde ist bei mir in 1098:
            $Rout .= $ARtext{$arVal} if (defined $ARtext{$arVal} && $bits[$b] == 1);

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 21 April 2023, 14:12:19
Ich werde mir dann doch bei Gelegenheit mal die HEXChecksum-rüfung anschauen...
(...müssen).

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 23 April 2023, 18:38:22
Mal wieder eine Rückmeldung nach Tagen: Die letzte hier gepostete Version läuft gut, es gibt deutlich weniger Fehlermeldungen. Heute habe ich im Schuppen ein wenig gebaut (ISO-Rohr verlegt, Kabel gezogen und an den unmöglichsten Stellen doch noch durch bekommen) und musste dafür die Technik kurz außer Betrieb nehmen. Ein Neustart wäre auch so kein Problem, aber man startet ja nicht ohne Not ständig neu  ;D

Die Logeinträge nach dem Start:
2023.04.23 15:18:38 1: Including ./log/fhem.save
2023.04.23 15:18:38 0: Featurelevel: 6.2
2023.04.23 15:18:38 0: Server started with 63 defined entities (fhem.pl:27410/2023-04-07 perl:5.032001 os:linux user:fhem pid:529)
2023.04.23 15:18:38 1: PERL WARNING: Use of uninitialized value $lastMin in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1039.
2023.04.23 15:18:38 1: PERL WARNING: Illegal hexadecimal digit '
' ignored at ./FHEM/00_VEDirect.pm line 1436.
2023.04.23 15:18:48 2: AttrTemplates: got 271 entries
2023.04.23 15:19:41 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1206.
Die 1039 ist noch da, obwohl sie das gar nicht mehr sollte?
Dort stehtif($lastMin != $minu)
    {
      my $command = ":154";
      DevIo_SimpleWrite($hash, $command, 2, 1) ;
      $hash->{helper}{lastHex} = $minu;
    }
Muss $lastMin hier noch definiert werden? Oder habe ich doch nicht die aktuellste Version erwischt O:-)

Die 1436 gehört zum sub VEDirect_ChecksumHEX($$). Ich denke, da klemmt es noch immer, da sich hier auch in seltenen Fällen noch falsche Werte durchmogeln (falsche Spannung vom Shunt, entsprechende Reaktion ...) Hier kommt ein Zeilenumbruch, denk ich. Aber woher!

Ansonsten war das Log über fünf Tage recht ruhig:
2023.04.17 20:37:48 0: Server started with 60 defined entities (fhem.pl:27410/2023-04-07 perl:5.032001 os:linux user:fhem pid:945)
2023.04.17 20:37:48 1: PERL WARNING: Use of uninitialized value $lastMin in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1039.
2023.04.17 20:37:48 1: PERL WARNING: Illegal hexadecimal digit '
' ignored at ./FHEM/00_VEDirect.pm line 1436.
2023.04.17 20:46:49 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1206.
2023.04.18 06:20:44 1: PERL WARNING: Hexadecimal number > 0xffffffff non-portable at ./FHEM/00_VEDirect.pm line 1264.
2023.04.18 13:54:17 1: PERL WARNING: Use of uninitialized value within @bits in numeric eq (==) at ./FHEM/00_VEDirect.pm line 1092.
2023.04.18 13:54:17 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/00_VEDirect.pm line 1096.
2023.04.19 10:28:18 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/00_VEDirect.pm line 1592.
2023.04.20 05:59:35 1: PERL WARNING: Hexadecimal number > 0xffffffff non-portable at ./FHEM/00_VEDirect.pm line 1264.
2023.04.21 18:58:14 1: PERL WARNING: Use of uninitialized value $tmtset[1] in split at ./FHEM/00_VEDirect.pm line 1657.
2023.04.22 11:55:23 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/00_VEDirect.pm line 1592.
2023.04.22 12:14:15 1: PERL WARNING: Use of uninitialized value $payload in concatenation (.) or string at ./FHEM/00_VEDirect.pm line 1274.
2023.04.22 12:14:15 1: PERL WARNING: Use of uninitialized value $payload in concatenation (.) or string at ./FHEM/00_VEDirect.pm line 1275.
Die Einträge "Hexadecimal number > 0xffffffff non-portable" entsprechen dem Zeitpunkt, zu welchem der Laderegler morgens seinen Betrieb aufnimmt.
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 23 April 2023, 18:48:57
Zitat von: MadMax-FHEM am 21 April 2023, 14:01:52Was mich wundert ist die Zeile.
Bei mir steht in Zeile 1092:
          for my $b (0 .. $#bits)
ZitatDas ist hier die 1091

Ich denke aber bzw. macht es mehr Sinn, wenn der Fehler hierher stammt (1093):
          {$cntOnes+=1 if($bits[$b] == 1); }

ZitatGenau, ist hier in 1092

Ich habe in dem Fall das Ende "korrigiert", kann aber sein, dass das Array nicht bei 0 sondern bei 1 beginnt, dann wäre am falschen Ende "korrigiert" worden...
Ich habe mal in Zeile 1085 das Logging angepasst (von 5 auf 1), da ich die Ausgabe aber nicht bekomme, habe ich auch kein Log :-\
Wenn du willst kannst du das ja mal ändern, dann kann man das "Bit-Array" mal nachbauen und schauen wie es richtig ist...
        Log3 $name, 1, "VEDirect ($name) - ParseTXT: AR: $tmpVal --> bin: $bin";

ZitatDas will ich heute noch testen, wenn man (also Frau!) mir die Zeit lässt.

Auch die Meldung zu 1096 verwirrt mich, bei mir steht da:
            my $arVal = 2**$b;
ZitatDas steht in der 1095


Das erste "concatinate" was dort passen würde ist bei mir in 1098:
            $Rout .= $ARtext{$arVal} if (defined $ARtext{$arVal} && $bits[$b] == 1);

Zitat=> 1097

Ich habe glaub ich soeben vermurkst zitiert. Aber man versteht es, denk ich. Da sind wir auch wieder bei den Versionsnummern  ::)
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 23 April 2023, 18:56:19
Jaja, Versionsnummer, verstanden... ;)
Aktuell leider wenig Zeit...

Aber da du eine Zeile verrutscht bist: doch nicht letzte Version?

Und ja $lastMin in 1039 hätte ich nicht mehr erwartet.
Ich prüfe mal...
EDIT: jetzt bin ich wirklich verwirrt (erst mal). Im Original steht schon
  $hash->{helper}{lastHex} = "1"; 
Hatte ich übersehen.
Ich habe dann mal (weil ich es korrekter finde) folgendes "ergänzt" (eigentlich als einziges einfügen wollen ;)  ):
  $hash->{helper}{lastHex} = -1; 
Entweder wird das gar nicht durchlaufen?
(Weil sonst könnte man ein "definition wegen früherer definition usw." (hab grad den engl. Fehlertext nicht parat ;) )
Muss ich noch mal schauen.
Ist aber wirklich nur beim Start, da dann eben der hash noch nicht initialisiert ist. Nach dem ersten Durchlauf steht ja immer der des letzten Durchlaufs drin...

Und stelle meine aktuelle Version inkl. Versionsangabe hier rein...
EDIT: done. V1.0

EDIT: ja, muss mir das mit CRC-HEX mal ansehen. Ich selbst habe leider keine Meldungen (oder so gut wie). Mache aktuell aber auch noch nicht wirklich was damit. Mehr Meldungen bei Text-Messages hatte ich, da ich eben per LAN/WLAN angebunden habe, da gingen dann wohl einige Meldungen "kaputt"...

Danke für's Testen!

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 23 April 2023, 21:27:11
Ich muss danken fürs Fehler beheben!

Die neue Version ist in Betrieb, Logauszug bei Start
2023.04.23 21:13:30 1: Including ./log/fhem.save
2023.04.23 21:13:30 0: Featurelevel: 6.2
2023.04.23 21:13:30 0: Server started with 65 defined entities (fhem.pl:27410/2023-04-07 perl:5.032001 os:linux user:fhem pid:528)
2023.04.23 21:13:30 1: PERL WARNING: Use of uninitialized value $lastMin in numeric ne (!=) at ./FHEM/00_VEDirect.pm line 1042.
2023.04.23 21:13:30 1: PERL WARNING: Illegal hexadecimal digit '
' ignored at ./FHEM/00_VEDirect.pm line 1443.
2023.04.23 21:13:45 2: AttrTemplates: got 271 entries
2023.04.23 21:17:29 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1209.

Ich beobachte das mal, sieht soweit gut aus, die Kiste rennt :)
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 23 April 2023, 22:21:34
:)

Das mit $lastMin muss ich mir mal ansehen, ist eigenartig aber zumindest "klar"...

Die anderen Meldungen sind dann hoffentlich weg, wenn ich CRC-Hex geprüft habe...
Ansonsten müssen wir wohl (erst mal) damit leben...

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 24 April 2023, 19:11:06
Nach 22h Laufzeit gibt es aktuell keine Fehlermeldungen bis auf den Sonnenaufgang, so schaut das richtig gut aus. Der Eintrag kommt so auch nicht jeden Tag!
Ich baue mir jetzt noch ein DOIF, um die Ausreißer-Werte einzufangen und zu loggen.

Auffällig war gestern nach dem Neustart, das die "1209er" Fehlermeldung immer etwas verzögert nach dem Start kommt, genauer hier zwischen einer und vier Minuten. Ich meine, danach tritt das nicht wieder auf? Entweder rutschen hier falsche Werte durch oder es ist ein Wert nicht initialisiert?

Viele Grüße,
Ricardo
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 26 April 2023, 14:37:07
Hmmm, obwohl es gut läuft habe ich mal ein wenig weitergebastelt :)
(ihr könnt ja bei "nichtgefallen" auf die V1.0 zurück ;)  )
Anbei also die V1.1 8)

Das Problem beim Start bzgl. $lastMin konnte ich beheben, obwohl es mir seltsam vorkommt aber sei's drum:
    my $lastMin = -1;
    $lastMin = $hash->{helper}{lastHex} if(defined($hash->{helper}{lastHex}));

Ich habe auch ChecksumHEX umgebaut (so wie es eigentlich sein sollte?).
Bislang wurde die Funktion dazu genutzt um die Checksum für Kommandos zu berechnen, das habe ich gelassen.
Ich habe eine neue Funktion hinzugefügt (noch nicht "sauber" aber sollte tun), die nun "stur" die Prüfung der Checksum bei HEX-Antworten durchführt und im Falle, dass etwas nicht stimmt dies ausgibt (verbose 1).
Da ich eigentlich keine WARN habe (oder so gut wie), trotzdem aber einige Checksum-Fehler bin ich nicht sicher, ob da nicht einige korrekte verworfen werden...
Da müsstet ihr mal testen :)

Dann gibt es ja noch die "isn't numeric" Meldungen (die ich auch ab und an habe).
Da bin ich dran.
Folgende weiß ich woher, beheben: hmmm (was ist die richtige Skalierung?)
2023.04.26 14:14:31 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1216.
2023.04.26 14:14:31 1: VEDirect (VictronMPPTTCP) - 1221 numberproblem payload: Tot_Sys_res: 1.58 kWh |Tot_Sys: 1.81 kWh |PvMax: 51.62 V |BattVMax: 14.43 V |BattVMin: 0.07 V |NrDays: 30    type: MPPT   id: 0x104F    Register...:
(Zeilennummer kann/wird bei euch auch bzgl. der V1.1 abweichen, soll nur zeigen wie ich suche und was ich gefunden habe ;) )

Das ist mir klar, da eben bei diesem Eintrag die Skalierung "" ist 8)
"0x104F"=>{"Bezeichnung"=>"Total_history", "ReadingName"=>"Total_history", "Einheit"=>"", "Skalierung"=>"", "Payloadnibbles"=>"68", "min"=>"", "max"=>"", "Zyklisch"=>"0", "getConfigAll"=>"0", "getValues"=>"Total_history:noArg", "setValues"=>"-", "spezialSetGet"=>"-"},
Was mich allerdings wundert ist, dass ich bei Folgeaufrufen mit dieser "Kennung" type: MPPT  id: 0x104F keine "isn't numeric" bekomme, obwohl es ja eigentlich IMMER nicht numeric ist/sein müsste (was mir auch mein Logeintrag "sagt")...

Es gibt bestimmt noch weitere, die zu finden, naja.
Ich hänge mal eine V1.1v (für verbose ;)  ) mit dran, wo ich mehr Ausgaben bzgl. "isn't numeric" eingebaut habe.
Allerdings weiß ich nicht wie die "spamt" ;)
Im Zweifel halt die V1.1 (oder eben wieder V1.0) nehmen...

EDIT: wichtig nat. wenn ihr "Fehler" oder "Meldungen" postet, mit welcher Version die aufgetreten sind...

Bei mir läuft aktuell die V1.1v

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 27 April 2023, 16:26:48
Ich habe die Versionen mal zum Testen parat gelegt. Es gibt hier mit der v1.0 seit meiner letzten Meldung noch keinen Logeintrag, obwohl jetzt auch der zweite Laderegler viel leisten muss  ::)
Als wichtige Basis sehe ich immer noch einen funktionierenden USB-Seriell-TTL-Wandler. Hier wären noch weitere Erfahrungen interessant, auch mit dem originalen Kabel (sofern das überhaupt jemand besitzt  ;D )
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 27 April 2023, 17:48:27
Zitat von: kpwg am 27 April 2023, 16:26:48Ich habe die Versionen mal zum Testen parat gelegt. Es gibt hier mit der v1.0 seit meiner letzten Meldung noch keinen Logeintrag, obwohl jetzt auch der zweite Laderegler viel leisten muss  ::)

Freut mich :)
Macht nix, ich bastle trotzdem weiter 8)
Eben mal das mit der HEXChecksum gerade gezogen (so ich denke)...
Die verbose-Version wäre dann um Fehler bzgl. "Skalierung" zu finden (isn't numeric) aber die habe ich ganz selten, daher: "Schönheitsfehler"
Je nachdem welche Daten da so kommen/abgerufen werden kann das nat. schon mal einige Logeinträge produzieren.
Wenn sie anfangen sich zu wiederholen, kann man die Version ohne "v" einspielen (oder auch V1.0) und einfach die Ausgaben hier posten.

Für meinen "Fehler" mit "isn't numeric" bei "type: MPPT   id: 0x104F" habe ich beschlossen enfach mal eine Skalierung von "0" anzugeben, wie bei "History_today" (ich dachte "Total_history" und "History_today" liegen nicht so weit auseinander ;)  ).

Ich habe gemerkt, dass (bei mir) die get-Kommandos nicht funktionieren und weiß auch warum...
...aber ich habe nur mal die "Fehlstellen" auskommentiert, kann aber nicht die Lösung sein, muss erst mal verstehen...
Wenn weiterhin Zeit bleibt, dann geht es weiter (und wenn nur für mich: auch ok :)  )...
...habe auch einige Dokumente gefunden, mal sehen...

Ich habe meinem MPPT 70/15 heute mal ein FW-Update verpasst :)
Dazu auch mal auf dem PC die VictronConnect-App genutzt: bin richtig froh das Geld ausgegeben zu haben :)
EDIT: wobei ich zunächst erschrocken bin, da manches was ich machen wollte/mir wichtig war plötzlich nicht mehr ging :-\ Gut, geht nun anders... Dabei sind mir noch ein paar Fehler aufgefallen, eieieiei... Wenn man mal was anfängt... ;)

Zitat von: kpwg am 27 April 2023, 16:26:48Als wichtige Basis sehe ich immer noch einen funktionierenden USB-Seriell-TTL-Wandler. Hier wären noch weitere Erfahrungen interessant, auch mit dem originalen Kabel (sofern das überhaupt jemand besitzt  ;D )

Hmm, war/ist bei mir ganz einfach hiernach: https://obenschlaefer.com/low-budget-energiemonitor-victron-venus-os-mit-raspberry-pi-obenschlaefer/ gemacht mit folgenden Kabeln: https://www.amazon.de/dp/B07BMVVPPF und einem USB/TTL den ich noch rumliegen hatte 8)

Aktuell sogar mittels TTL-LAN-Adapter (https://wiki.fhem.de/wiki/Serial_TTL_to_Ethernet_Module) und den sogar noch per WLAN-Bridge 8)
Soll später mal nur per LAN, also ohne WLAN eingebunden werden.
Aber für aktuelle Tests ist das so einfacher...
Dabei habe ich eben bemerkt, dass da wohl schon mal Pakete "verstümmelt" ankommen...
...drum meine "Aktivitäten"...

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 06 Mai 2023, 12:22:37
Die 1.1 (aktuell noch ohne "v") läuft nun- gewohnt unauffällig  8)
Der Start von FHEM sieht im Log so aus:
2023.05.06 12:01:58 1: Including ./log/fhem.save
2023.05.06 12:01:58 0: Featurelevel: 6.2
2023.05.06 12:01:58 0: Server started with 56 defined entities (fhem.pl:27410/2023-04-07 perl:5.032001 os:linux user:fhem pid:550)
2023.05.06 12:02:18 1: PERL WARNING: Argument "" isn't numeric in multiplication (*) at ./FHEM/00_VEDirect.pm line 1209.
2023.05.06 12:02:53 2: AttrTemplates: got 271 entries
Also erst mal entspannt. Ich hatte schon die letzten Tage keine Logeinträge mehr, auch der Sonnenaufgang "funktionierte" mit der 1.0  ;D

Jetzt hatte ich mal die Set Kommandos probiert, aber es ging zumindest aus der Weboberfläche nicht fehlerfrei. Ich wollte den Regler neu starten, da mir die Kiste zu zeitig in "Float" ging, ohne wirklich die Konstanstspannungsphase durchlaufen zu haben.
Ein "set <device> Restart" über die Weboberfläche bringt
unknown argument Restart, choose one of Restart Charger_mode Relay_battery_low_voltage_set Relay_battery_low_voltage_clear Relay_battery_high_voltage_set Relay_battery_high_voltage_clear Relay_minimum_enabled_time Clear_history RX_Port_operation_mode Load_switch_low_level Load_switch_high_level TX_Port_operation_mode Load_output_control Relay_operation_mode Charger_maximum_current Battery_low_temperature_level Low_temperature_charge_current Battery_maximum_current Battery_type Battery_temp_compensation Battery_equalization_voltage Battery_float_voltage Battery_absorption_voltage Automatic_equalization_mode wobei auch nichts passiert. Von der Kommandozeile die selbe Reaktion. Nun stelle ich mir gerade die Frage, ob die MTTP Regler das überhaupt können. Ich schaue da mal nach... evtl gibt es Unterschiede ::)

Viele Grüße, Ricardo
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 06 Mai 2023, 12:52:27
Ich habe mal schnell in den Code geschaut und es gibt 3 Stellen wo bei "set" (sub VEDirect_Set($$@)) die "usage" ausgegeben wird:

1. wenn $cmd == "" oder "?" (also "leeres" Kommando oder "Kommando-Hilfe") -> ist ja eher nicht der Fall
EDIT: Zeile 1635

2. wenn der Typ nicht gefunden wird, also MPPT, BMV, ... oder kein Register für $cmd existiert, z.B.:
    elsif($type eq "MPPT" && defined($mppt_reg{$cmd}))
ich konnte für Restart in den Regsiter-Hashes nichts finden?
Könnte also hier rausfallen...
EDIT: Zeile 1649

3. wenn das Register zu $cmd nicht defined ist (also ein Sub-Anteil von 2. ?), weil diese Zeile ja nie durchlaufen wird?
    elsif($reg eq "-" && $cmd eq "Restart")
EDIT: Zeile 1722
weil ja zuvor schon ein Durchlauf ist, wenn $reg defined ist (egal welchen Inhalts?), daher würde das ja gar nicht mehr abgeprüft, sondern gleich vorher "abgebogen"?
Also hier:
## Informationen aus dem %Register zum Befehl holen und verarbeiten
    if(defined($reg))
EDIT: Zeile 1673

Ich denke aber (bzw. konnte nichts finden), dass $reg nicht definiert ist, weil zu Restart keines da ist?



Funktioniert das Restart denn bei BMV oder anderen Typen?

Man könnte ja mal "quick&dirty" das hier "erzwingen", indem mal einfach nur auf $cmd eq "Restart" ändert, also das mit $reg eg "-" weglässt?
    elsif($reg eq "-" && $cmd eq "Restart")
    {
      DevIo_SimpleWrite($hash, ":64F", 2, 1) ;
    }     
    else
EDIT: ab Zeile 1722
EDIT: bzgl. "quick&dirty", es muss nat. auch erst mal 2. "umschifft" werden, wobei wir wieder bei einem Eintrag für Restart wären? Oder für wirklich "quick&super-dirty" auch noch das hier anpassen, also z.B. die "Abfrage" bzgl. defined($reg) rausnehmen:
    elsif($type eq "MPPT" && defined($mppt_reg{$cmd}))
oder einfach(er) das else am "Ende" dieser "Abfrage-Orgie" einfach lassen ;)
    else{return $usage;}
EDIT: Zeile 1669
EDIT: Sauberer wäre (verm.) einen Eintrag für Restart in mppt_reg usw. zu machen?

EDIT: Zeilennummern bzgl. V1.1 (ohne v) ergänzt...

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 06 Mai 2023, 13:38:04
Sorry, musste erst mal zu Tisch. Da hab ich wenig Argumente dagegen  :))

Der Fehler tritt in der 1636 auf:
2023.05.06 12:17:22 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/00_VEDirect.pm line 1636.
Ich teste das mal, welche Geräte überhaupt das Kommando unterstützen.
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 06 Mai 2023, 13:55:15
1636?
Welche Version?
Schon was angepasst?

Bei mir ist da nur eine Logausgabe mit verbose 5 (Version V1.1 ohne v):
    return $usage if(($cmd eq "" || $cmd eq "?"));
    Log3 $name, 5, "VEDirect ($name) - Set command: $cmd Arguments $args[0]"; <- 1636
    my ($reg,$scale,$unit,$setitm,$spezSetGet,$payload);

Gut, kann nat. sein, dass da eine der Variablen nicht initialisiert ist/wurde...
Evtl. würde man was "sehen", wenn der verbose dort mal auf 1 gestellt wird:
    return $usage if(($cmd eq "" || $cmd eq "?"));
    Log3 $name, 1, "VEDirect ($name) - Set command: $cmd Arguments $args[0]";
    my ($reg,$scale,$unit,$setitm,$spezSetGet,$payload);
Sollte ja nicht weiter stören, wird ja nur bei set durchlaufen...

EDIT: ich muss dann auch mal weg 8)

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 06 Mai 2023, 16:43:50
Ja genau, die 1.1 ohne "v" und ohne Anpassungen
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: MadMax-FHEM am 06 Mai 2023, 17:25:32
Zitat von: kpwg am 06 Mai 2023, 16:43:50Ja genau, die 1.1 ohne "v" und ohne Anpassungen

Ok, dann halt bei Restart wird (nat.) Arguments $args[0] nicht initialisiert sein, weil ja ohne Argumente... ;)

Um die Meldung wegzukriegen, entweder die args nicht ausgeben oder vorher prüfen, ob args definiert ist ;)

Oder einfach ignorieren 8)

Wenn ich mal Zeit habe werde ich mal versuchen neben der get-Logik auch das mit dem set zu verstehen und (falls notwendig) "korrigieren"...
...aber aktuell bin ich noch beim get zugange...

Gruß, Joachim
Titel: Aw: Modul für Victron BMV600 / BMV602 / BMV700 / BMV702 / MPPT / Inverter
Beitrag von: kpwg am 07 Mai 2023, 17:01:51
Zitat von: MadMax-FHEM am 06 Mai 2023, 17:25:32Wenn ich mal Zeit habe werde ich mal versuchen neben der get-Logik auch das mit dem set zu verstehen und (falls notwendig) "korrigieren"...
...aber aktuell bin ich noch beim get zugange...
Der aktuelle Zustand des Modules ist ja auch schon ordentlich, ich nutze das wie gesagt bereits länger produktiv. Bisher habe ich unplausible Werte zB mit readingsChange korrigiert, was zwar das Problem löst, aber nicht die Ursache behebt. Aktuell ist auch die 1.1 ohne "v" störungsfrei in Betrieb, einzig der Sonnenaufgang hat sich heute nach Tagen wieder mal gemeldet, was ich aber für "kosmetisch" halte. Die set-Funktion ist hier mit dem Phoenix Wechselrichter (24/375) gut kompatibel (nutze ich am häufigsten), lediglich ein "Restart" gibt es bei dem WR gar nicht. Recht gut lässt sich das überprüfen, indem man die Demo-Bibliothek der Victron App nutzt und schaut, was die Geräte überhaupt können. Es würde mich wundern, wenn die App selbst kein Set unterstützt, das VE.Direct-Interface dieses aber trotzdem kennt.