Re: Daly BMS kann nicht gelesen werden
Verfasst: Di 29. Nov 2022, 14:38
Leider schaffe ich es auch nicht mein Daly 8S richtig auszulesen.
Mit den Tips von simon.s bin ich weiter gekommen.
$Adresse habe ich in der daly_bms.php schon auf 40 geändert (sonst geht gar nichts)
in der funktion.inc.php habe bei esmart auslesen fürs Daly 8S
elseif (strlen( $Ergebnis ) == 39) {
$Ergebnis1 = substr( $Ergebnis, 4, 8 );
$Ergebnis1 .= substr( $Ergebnis, 17, 8 );
$Ergebnis1 .= substr( $Ergebnis, 30, 8 );
$Dauer = 0; // Ausgang vorbereiten..
$OK = true;
$Ergebnis = $Ergebnis1;
}
eingesetzt.
So bekomme ich
29.11. 14:12:01 |------------ Start daly_bms.php ----------------------------
29.11. 14:12:01 o -Hardware Version: Raspberry Pi 3 Model B Plus Rev 1.3
29.11. 14:12:07 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:11 !! -Datenfehler, nochmal... a54091080000000000000000
29.11. 14:12:17 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:23 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:29 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:35 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:41 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:47 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:53 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:59 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:59 !! -Keine gültigen Daten empfangen.
29.11. 14:12:59 |------------ Stop daly_bms.php --------------
wenn ich in der daly_bms.php
$commandID 95
if($rc === false) auf ($rc === true) ändere bekommen ich teilweise Daten (Siehe unten)
hat jemand eine Idee?
Nach gefühlten 1000 Versuchen gebe ich auf.
Verwende so wie simon den original rs485 Adapter eine ftdi bekomme ich in einigen Tagen.
Ausgelesene Daten
29.11. 13:47:13 -InfluxDB => [ Batterie Strom=3,SOC=69.5,Ladestrom=0,Entladestrom=3,Ah_Rest=159.85,Ladezyklen=1,Spannung=26.5,Spannung_Zelle1=0,Spannung_Zelle2=0,Spannung_Zelle3=0,Spannung_Zelle4=,Spannung_Zelle5=,Spannung_Zelle6=,Spannung_Zelle7=,Spannung_Zelle8=,Temperatur_Sensor1=19 1669726031
Service Anz_TempSensoren=1,Zellenanzahl=8,Status=1,BMS_Zyklen=55,Ladung_MOS_Status=1,Entladung_MOS_Status=1,Max_Temp=19,Max_Temp_Zelle=1,Min_Temp=19,Min_Temp_Zelle=1,Max_Spannung=3.32,Max_Spannung_Zelle=7,Min_Spannung=3.317,Min_Spannung_Zelle=1,FehlerCode="0000000000000000" 1669726031
]
29.11. 13:47:13 -Daten nicht zur lokalen InfluxDB gesendet! info: array (
'url' => 'http://localhost/write?db=solaranzeige&precision=s',
'content_type' => 'application/json',
'http_code' => 400,
'header_size' => 621,
'request_size' => 712,
'filetime' => -1,
'ssl_verify_result' => 0,
'redirect_count' => 0,
'total_time' => 0.0094,
'namelookup_time' => 0.000194,
'connect_time' => 0.000196,
'pretransfer_time' => 0.000569,
'size_upload' => 555.0,
'size_download' => 344.0,
'speed_download' => 38222.0,
'speed_upload' => 61666.0,
'download_content_length' => 344.0,
'upload_content_length' => 555.0,
'starttransfer_time' => 0.009263,
'redirect_time' => 0.0,
'redirect_url' => '',
'primary_ip' => '::1',
'certinfo' =>
array (
),
'primary_port' => 8086,
'local_ip' => '::1',
'local_port' => 43884,
'http_version' => 2,
'protocol' => 1,
'ssl_verifyresult' => 0,
'scheme' => 'HTTP',
'appconnect_time_us' => 196,
'connect_time_us' => 196,
'namelookup_time_us' => 194,
'pretransfer_time_us' => 569,
'redirect_time_us' => 0,
'starttransfer_time_us' => 9263,
'total_time_us' => 9400,
)
29.11. 13:47:51 -OK. Datenübertragung erfolgreich.
29.11. 13:47:51 |------------ Stop daly_bms.php ----------------------------
29.11. 13:48:01 |------------ Start daly_bms.php ----------------------------
29.11. 13:48:01 o -Hardware Version: Raspberry Pi 3 Model B Plus Rev 1.
29.11. 13:47:13 -InfluxDB => [ Batterie S
Mit den Tips von simon.s bin ich weiter gekommen.
$Adresse habe ich in der daly_bms.php schon auf 40 geändert (sonst geht gar nichts)
in der funktion.inc.php habe bei esmart auslesen fürs Daly 8S
elseif (strlen( $Ergebnis ) == 39) {
$Ergebnis1 = substr( $Ergebnis, 4, 8 );
$Ergebnis1 .= substr( $Ergebnis, 17, 8 );
$Ergebnis1 .= substr( $Ergebnis, 30, 8 );
$Dauer = 0; // Ausgang vorbereiten..
$OK = true;
$Ergebnis = $Ergebnis1;
}
eingesetzt.
So bekomme ich
29.11. 14:12:01 |------------ Start daly_bms.php ----------------------------
29.11. 14:12:01 o -Hardware Version: Raspberry Pi 3 Model B Plus Rev 1.3
29.11. 14:12:07 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:11 !! -Datenfehler, nochmal... a54091080000000000000000
29.11. 14:12:17 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:23 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:29 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:35 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:41 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:47 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:53 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:59 !! -Datenfehler, nochmal... a54095080000000000000000
29.11. 14:12:59 !! -Keine gültigen Daten empfangen.
29.11. 14:12:59 |------------ Stop daly_bms.php --------------
wenn ich in der daly_bms.php
$commandID 95
if($rc === false) auf ($rc === true) ändere bekommen ich teilweise Daten (Siehe unten)
hat jemand eine Idee?
Nach gefühlten 1000 Versuchen gebe ich auf.
Verwende so wie simon den original rs485 Adapter eine ftdi bekomme ich in einigen Tagen.
Ausgelesene Daten
29.11. 13:47:13 -InfluxDB => [ Batterie Strom=3,SOC=69.5,Ladestrom=0,Entladestrom=3,Ah_Rest=159.85,Ladezyklen=1,Spannung=26.5,Spannung_Zelle1=0,Spannung_Zelle2=0,Spannung_Zelle3=0,Spannung_Zelle4=,Spannung_Zelle5=,Spannung_Zelle6=,Spannung_Zelle7=,Spannung_Zelle8=,Temperatur_Sensor1=19 1669726031
Service Anz_TempSensoren=1,Zellenanzahl=8,Status=1,BMS_Zyklen=55,Ladung_MOS_Status=1,Entladung_MOS_Status=1,Max_Temp=19,Max_Temp_Zelle=1,Min_Temp=19,Min_Temp_Zelle=1,Max_Spannung=3.32,Max_Spannung_Zelle=7,Min_Spannung=3.317,Min_Spannung_Zelle=1,FehlerCode="0000000000000000" 1669726031
]
29.11. 13:47:13 -Daten nicht zur lokalen InfluxDB gesendet! info: array (
'url' => 'http://localhost/write?db=solaranzeige&precision=s',
'content_type' => 'application/json',
'http_code' => 400,
'header_size' => 621,
'request_size' => 712,
'filetime' => -1,
'ssl_verify_result' => 0,
'redirect_count' => 0,
'total_time' => 0.0094,
'namelookup_time' => 0.000194,
'connect_time' => 0.000196,
'pretransfer_time' => 0.000569,
'size_upload' => 555.0,
'size_download' => 344.0,
'speed_download' => 38222.0,
'speed_upload' => 61666.0,
'download_content_length' => 344.0,
'upload_content_length' => 555.0,
'starttransfer_time' => 0.009263,
'redirect_time' => 0.0,
'redirect_url' => '',
'primary_ip' => '::1',
'certinfo' =>
array (
),
'primary_port' => 8086,
'local_ip' => '::1',
'local_port' => 43884,
'http_version' => 2,
'protocol' => 1,
'ssl_verifyresult' => 0,
'scheme' => 'HTTP',
'appconnect_time_us' => 196,
'connect_time_us' => 196,
'namelookup_time_us' => 194,
'pretransfer_time_us' => 569,
'redirect_time_us' => 0,
'starttransfer_time_us' => 9263,
'total_time_us' => 9400,
)
29.11. 13:47:51 -OK. Datenübertragung erfolgreich.
29.11. 13:47:51 |------------ Stop daly_bms.php ----------------------------
29.11. 13:48:01 |------------ Start daly_bms.php ----------------------------
29.11. 13:48:01 o -Hardware Version: Raspberry Pi 3 Model B Plus Rev 1.
29.11. 13:47:13 -InfluxDB => [ Batterie S