Mozesz pokazac swoj config
Nie mogę, nie mam tego sprzętu.
Też mam falownik ktl-3ph. Udało Ci się pobrać dane przez rs485? Zastanawiam się czy jest sens w ogóle zaczynać próby.
Tak, dzisiaj po kilku dniach walki zaczelo dzialac
Udało się komuś dodać produkcję do Dashboard energia? U mnie nie ma encji w rozwijanym menu
troche z tym walczylem ale juz jesprawie ok podaje swoj yaml
esphome:
name: $devicename
platform: ESP8266
board: esp01_1m
board_flash_mode: dout
logger:
level: INFO
baud_rate: 0
uart:
id: mod_bus
tx_pin: 1
rx_pin: 3
baud_rate: 9600
stop_bits: 1
modbus:
id: mod_bus_sofar
modbus_controller:
- id: sofarsolar
address: 0x01
modbus_id: mod_bus_sofar
update_interval: 10s
text_sensor:
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Status
id: inverter_status
register_type: holding
address: 0x0404
response_size: 2
lambda: |-
auto z = "Unknown";
char d = data[item->offset+1];
if (d == 0) z = "Wait";
else if (d == 1) z = "Check";
else if (d == 2) z = "Normal";
else if (d == 3) z = "Fault";
else if (d == 4) z = "Permanent";
return {z};
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Fault Message
id: inverter_fault_message
register_type: holding
address: 0x0405
response_size: 10
lambda: |-
std::string z = "";
int idx = item->offset;
//byte[0]
if ((data[idx] & 0x1) != 0) z += "GridOVP,";
if ((data[idx] & 0x2) != 0) z += "GridUVP,";
if ((data[idx] & 0x4) != 0) z += "GridOFP,";
if ((data[idx] & 0x8) != 0) z += "GridUFP,";
if ((data[idx] & 0x10) != 0) z += "PVUVP,";
if ((data[idx] & 0x20) != 0) z += "GridLVRT,";
if ((data[idx] & 0x40) != 0) z += "reserve-ID7,";
if ((data[idx] & 0x80) != 0) z += "reserve-ID8,";
//byte[1]
idx++;
if ((data[idx] & 0x1) != 0) z += "PVOVP,";
if ((data[idx] & 0x2) != 0) z += "IpvUnbalance,";
if ((data[idx] & 0x4) != 0) z += "PvConfigSetWrong,";
if ((data[idx] & 0x8) != 0) z += "GFCIFault,";
if ((data[idx] & 0x10) != 0) z += "PhaseSequenceFault,";
if ((data[idx] & 0x20) != 0) z += "HwBoostOCP,";
if ((data[idx] & 0x40) != 0) z += "HwAcOCP,";
if ((data[idx] & 0x80) != 0) z += "AcRmsOCP,";
//byte[2]
idx++;
if ((data[idx] & 0x1) != 0) z += "HwADFaultIGrid,";
if ((data[idx] & 0x2) != 0) z += "HwADFaultDCI,";
if ((data[idx] & 0x4) != 0) z += "HwADFaultVGrid,";
if ((data[idx] & 0x8) != 0) z += "GFCIDeviceFault,";
if ((data[idx] & 0x10) != 0) z += "MChip_Fault,";
if ((data[idx] & 0x20) != 0) z += "HwAuxPowerFault,";
if ((data[idx] & 0x40) != 0) z += "BusVoltZeroFault,";
if ((data[idx] & 0x80) != 0) z += "IacRmsUnbalance,";
//byte[3]
idx++;
if ((data[idx] & 0x1) != 0) z += "BusUVP,";
if ((data[idx] & 0x2) != 0) z += "BusOVP,";
if ((data[idx] & 0x4) != 0) z += "VbusUnbalance,";
if ((data[idx] & 0x8) != 0) z += "DciOCP,";
if ((data[idx] & 0x10) != 0) z += "SwOCPInstant,";
if ((data[idx] & 0x20) != 0) z += "SwBOCPInstant,";
if ((data[idx] & 0x40) != 0) z += "reserved-ID31,";
if ((data[idx] & 0x80) != 0) z += "reserved-ID32,";
//byte[4]
idx++;
if (data[idx] != 0) z += "reserved-ID33~40,";
//byte[5]
idx++;
if (data[idx] != 0) z += "reserved-ID41~48,";
//byte[6]
idx++;
if ((data[idx] & 0x1) != 0) z += "ConsistentFault_VGrid,";
if ((data[idx] & 0x2) != 0) z += "ConsistentFault_FGrid,";
if ((data[idx] & 0x4) != 0) z += "ConsistentFault_DCI,";
if ((data[idx] & 0x8) != 0) z += "ConsistentFault_GFCI,";
if ((data[idx] & 0x10) != 0) z += "SpiCommLose,";
if ((data[idx] & 0x20) != 0) z += "SciCommLose,";
if ((data[idx] & 0x40) != 0) z += "RelayTestFail,";
if ((data[idx] & 0x80) != 0) z += "PvIsoFault,";
//byte[7]
idx++;
if ((data[idx] & 0x1) != 0) z += "OverTempFault_Inv,";
if ((data[idx] & 0x2) != 0) z += "OverTempFault_Boost,";
if ((data[idx] & 0x4) != 0) z += "OverTempFault_Env,";
if ((data[idx] & 0x8) != 0) z += "PEConnectFault,";
if ((data[idx] & 0x10) != 0) z += "reserved-ID61,";
if ((data[idx] & 0x20) != 0) z += "reserved-ID62,";
if ((data[idx] & 0x40) != 0) z += "reserved-ID63,";
if ((data[idx] & 0x80) != 0) z += "reserved-ID64,";
//byte[8]
idx++;
if ((data[idx] & 0x1) != 0) z += "unrecoverHwAcOCP,";
if ((data[idx] & 0x2) != 0) z += "unrecoverBusOVP,";
if ((data[idx] & 0x4) != 0) z += "unrecoverIacRmsUnbalance,";
if ((data[idx] & 0x8) != 0) z += "unrecoverIpvUnbalance,";
if ((data[idx] & 0x10) != 0) z += "unrecoverVbusUnbalance,";
if ((data[idx] & 0x20) != 0) z += "unrecoverOCPInstant,";
if ((data[idx] & 0x40) != 0) z += "unrecoverPvConfigSetWrong,";
if ((data[idx] & 0x80) != 0) z += "reserved-ID72,";
//byte[9]
idx++;
if ((data[idx] & 0x1) != 0) z += "reserved-ID73,";
if ((data[idx] & 0x2) != 0) z += "unrecoverIPVInstant,";
if ((data[idx] & 0x4) != 0) z += "unrecoverWRITEEEPROM,";
if ((data[idx] & 0x8) != 0) z += "unrecoverREADEEPROM,";
if ((data[idx] & 0x10) != 0) z += "unrecoverRelayFail,";
if ((data[idx] & 0x20) != 0) z += "reserved-ID78,";
if ((data[idx] & 0x40) != 0) z += "reserved-ID79,";
if ((data[idx] & 0x80) != 0) z += "reserved-ID80,";
if(z.length() > 0){
z.pop_back();
}
return {z};
sensor:
- platform: wifi_signal
id: inverter_wifi_signal
name: ${friendly_name} WiFi Signal
update_interval: 60s
- platform: uptime
id: inverter_uptime
name: ${friendly_name} Uptime
filters:
- lambda: return x / 60.0;
unit_of_measurement: minutes
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} DC1 Voltage
id: inverter_dc_v1
register_type: holding
address: 0x0584
unit_of_measurement: "V"
icon: "mdi:alpha-v-circle-outline"
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} DC1 Current
id: inverter_dc_c1
register_type: holding
address: 0x0585
unit_of_measurement: "A"
icon: "mdi:alpha-a-circle-outline"
value_type: U_WORD
accuracy_decimals: 2
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} DC2 Voltage
id: inverter_dc_v2
register_type: holding
address: 0x0587
unit_of_measurement: "V"
icon: "mdi:alpha-v-circle-outline"
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} DC2 Current
id: inverter_dc_c2
register_type: holding
address: 0x0588
unit_of_measurement: "A"
icon: "mdi:alpha-a-circle-outline"
value_type: U_WORD
accuracy_decimals: 2
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} DC1 Power
id: inverter_dc_power1
register_type: holding
address: 0x0586
unit_of_measurement: "W"
device_class: "power"
value_type: U_WORD
filters:
- multiply: 10
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} DC2 Power
id: inverter_dc_power2
register_type: holding
address: 0x0589
unit_of_measurement: "W"
device_class: "power"
value_type: U_WORD
filters:
- multiply: 10
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} AC Power
id: inverter_ac_power
register_type: holding
address: 0x0485
unit_of_measurement: "W"
device_class: "power"
value_type: U_WORD
filters:
- multiply: 10
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} AC Reactive Power
id: inverter_ac_reactive_power
register_type: holding
address: 0x0486
unit_of_measurement: "Var"
device_class: "power"
value_type: S_WORD
filters:
- multiply: 10
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} AC Freq
id: inverter_ac_freq
register_type: holding
address: 0x0484
unit_of_measurement: "Hz"
icon: "mdi:current-ac"
value_type: U_WORD
accuracy_decimals: 2
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} AC1 Voltage
id: inverter_ac_v1
register_type: holding
address: 0x048d
unit_of_measurement: "V"
icon: "mdi:alpha-v-circle-outline"
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} AC1 Current
id: inverter_ac_c1
register_type: holding
address: 0x048e
unit_of_measurement: "A"
icon: "mdi:alpha-a-circle-outline"
value_type: U_WORD
accuracy_decimals: 2
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} AC2 Voltage
id: inverter_ac_v2
register_type: holding
address: 0x0498
unit_of_measurement: "V"
icon: "mdi:alpha-v-circle-outline"
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} AC2 Current
id: inverter_ac_c2
register_type: holding
address: 0x0499
unit_of_measurement: "A"
icon: "mdi:alpha-a-circle-outline"
value_type: U_WORD
accuracy_decimals: 2
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} AC3 Voltage
id: inverter_ac_v3
register_type: holding
address: 0x04a3
unit_of_measurement: "V"
icon: "mdi:alpha-v-circle-outline"
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} AC3 Current
id: inverter_ac_c3
register_type: holding
address: 0x04a4
unit_of_measurement: "A"
icon: "mdi:alpha-a-circle-outline"
value_type: U_WORD
accuracy_decimals: 2
filters:
- multiply: 0.01
# - platform: modbus_controller
# modbus_controller_id: sofarsolar
# name: ${friendly_name} Energy total
# id: inverter_energy_total
# register_type: holding
# address: 0x068f
# unit_of_measurement: "kWh"
# device_class: "energy"
# value_type: U_DWORD
# - platform: modbus_controller
# modbus_controller_id: sofarsolar
# name: ${friendly_name} Energy generation time total
# id: inverter_energy_generation_time_total
# register_type: holding
# address: 0x0689
# unit_of_measurement: "h"
# value_type: U_DWORD
# - platform: modbus_controller
# modbus_controller_id: sofarsolar
# name: ${friendly_name} Energy today
# id: inverter_energy_today
# register_type: holding
# address: 0x0019
# unit_of_measurement: "kWh"
# device_class: "energy"
# value_type: U_WORD
# accuracy_decimals: 2
# filters:
# - multiply: 0.01
# - platform: modbus_controller
# modbus_controller_id: sofarsolar
# name: ${friendly_name} Energy generation time today
# id: inverter_energy_generation_time_today
# register_type: holding
# address: 0x0685
# unit_of_measurement: "min"
# value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} PV Generation today
id: inwerter_PV_generation_today
register_type: holding
address: 0x0685
icon: "mdi:solar-power"
device_class: "energy"
state_class: "total_increasing"
unit_of_measurement: "kWh"
value_type: U_WORD
accuracy_decimals: 3
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} PV Generation total
id: inwerter_PV_generation_total
register_type: holding
address: 0x0687
icon: "mdi:solar-power"
device_class: "energy"
state_class: "total_increasing"
unit_of_measurement: "kWh"
value_type: U_WORD
accuracy_decimals: 3
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Load consumption today
id: inwerter_Load_consumption_today
register_type: holding
address: 0x0689
icon: "mdi:lightning-bolt-outline"
device_class: "energy"
state_class: "total_increasing"
unit_of_measurement: "kWh"
value_type: U_WORD
accuracy_decimals: 3
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Load consumption total
id: inwerter_Load_consumption_total
register_type: holding
address: 0x068B
icon: "mdi:lightning-bolt-outline"
device_class: "energy"
state_class: "total_increasing"
unit_of_measurement: "kWh"
value_type: U_WORD
accuracy_decimals: 3
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Daily Energy Bought
id: inwerter_daily_energy_bought
register_type: holding
address: 0x068D
icon: "mdi:transmission-tower-export"
device_class: "energy"
state_class: "total_increasing"
unit_of_measurement: "kWh"
value_type: U_WORD
accuracy_decimals: 3
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Total Energy Bought
id: inwerter_total_energy_bought
register_type: holding
address: 0x068F
icon: "mdi:transmission-tower-export"
device_class: "energy"
state_class: "total_increasing"
unit_of_measurement: "kWh"
value_type: U_WORD
accuracy_decimals: 3
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Daily Energy Sold
id: inwerter_daily_energy_sold
register_type: holding
address: 0x0691
icon: "mdi:transmission-tower-import"
device_class: "energy"
state_class: "total_increasing"
unit_of_measurement: "kWh"
value_type: U_WORD
accuracy_decimals: 3
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Total Energy Sold
id: inwerter_total_energy_sold
register_type: holding
address: 0x0693
icon: "mdi:transmission-tower-import"
device_class: "energy"
state_class: "total_increasing"
unit_of_measurement: "kWh"
value_type: U_WORD
accuracy_decimals: 3
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Daily Battery Charge
id: inwerter_daily_battery_charge
register_type: holding
address: 0x0695
icon: "mdi:battery-plus"
device_class: "energy"
state_class: "total_increasing"
unit_of_measurement: "kWh"
value_type: U_WORD
accuracy_decimals: 3
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Total Battery Charge
id: inwerter_total_battery_charge
register_type: holding
address: 0x0697
icon: "mdi:battery-plus"
device_class: "energy"
state_class: "total_increasing"
unit_of_measurement: "kWh"
value_type: U_WORD
accuracy_decimals: 3
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Daily Battery Discharge
id: inwerter_daily_battery_discharge
register_type: holding
address: 0x0699
icon: "mdi:battery-minus"
device_class: "energy"
state_class: "total_increasing"
unit_of_measurement: "kWh"
value_type: U_WORD
accuracy_decimals: 3
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Total Battery Discharge
id: inwerter_total_battery_discharge
register_type: holding
address: 0x069B
icon: "mdi:battery-minus"
device_class: "energy"
state_class: "total_increasing"
unit_of_measurement: "kWh"
value_type: U_WORD
accuracy_decimals: 3
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Temprature module
id: inverter_temp_module
register_type: holding
address: 0x0420
unit_of_measurement: "°C"
device_class: "temperature"
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Temprature inverter
id: inverter_temp_inverter
register_type: holding
address: 0x0418
unit_of_measurement: "°C"
device_class: "temperature"
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Bus voltage
id: inverter_bus_voltage
register_type: holding
address: 0x001D
unit_of_measurement: "V"
icon: "mdi:alpha-v-circle-outline"
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Battery Power
id: inverter_battery_power
register_type: holding
address: 0x0606
device_class: "power"
unit_of_measurement: "W"
icon: "mdi:battery-charging"
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 10
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Battery SOC
id: inverter_battery_soc
register_type: holding
address: 0x0608
device_class: "battery"
unit_of_measurement: "%"
icon: "mdi:battery"
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Battery SOH
id: inverter_battery_soh
register_type: holding
address: 0x0609
device_class: "battery"
unit_of_measurement: "%"
icon: "mdi:battery"
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Battery Current
id: inverter_battery_current
register_type: holding
address: 0x0605
device_class: "current"
unit_of_measurement: "A"
icon: "mdi:current-dc"
value_type: U_WORD
accuracy_decimals: 2
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Battery Voltage
id: inverter_battery_voltage
register_type: holding
address: 0x0604
device_class: "voltage"
unit_of_measurement: "V"
icon: "mdi:battery"
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} Battery Temperature
id: inverter_battery_temperature
register_type: holding
address: 0x0607
device_class: "temperature"
unit_of_measurement: "C"
icon: "mdi:battery"
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: sofarsolar
name: ${friendly_name} "Battery Number of Cycles"
id: inverter_battery_number_of_cycles
register_type: holding
address: 0x060a
device_class: ""
unit_of_measurement: "cycle"
# Basic switch to allow you to restart the device remotely
switch:
- platform: restart
name: ${friendly_name} Restart
binary_sensor:
- platform: status
name: ${friendly_name} Status
wpis dotyczy invertera HYD 10 ktl
Dla mnie za duży plik:
“ERROR Error binary size: Error: ESP does not have enough space to store OTA file. Please try flashing a minimal firmware (remove everything except ota)”
Masz to na jakiej płytce wgrane?
mam to na wemosie ale przez ota tego nie wgrasz tylko po kabelku
Zaraz zaraz, skompilowałem z czystej ciekawości i na płytkach z 4MB flasha (np. D1 mini) powinno wchodzić “z palcem w tyłku” - trzeba tylko zmienić definicję z ESP-01s (1MB czyli te esp01_1m
) na definicję naprawdę używanej płytki z 4MB (np. dla D1 mini d1_mini
).
Uwaga
- definicja ma się zgadzać z użytą płytką!
- uboga krewna czyli D1 mini lite ma 1MB, natomiast “wypas” D1 mini pro ma 16GB, ale powszechnie używane klony D1 mini mają 4MB jak oryginał.
- dla płytek, na których się zmieści wersja z OTA i tak pierwsze flashowanie po kabelku, no i trzeba włączyć dyrektywę
ota:
Linking /data/aaa/.pioenvs/aaa/firmware.elf
RAM: [====== ] 57.4% (used 46992 bytes from 81920 bytes)
Flash: [======= ] 65.7% (used 686661 bytes from 1044464 bytes)
Mam taki problem, udało mi się uruchomić ESP32 + konwerter i podałączyć do Sofara HYD15KTL - 3PH ale mam takie błędy na modbusie:
[modbus:108]: Modbus CRC Check failed! C1CD!=00
[22:38:44][W][modbus_controller:113]: Duplicate modbus command found: type=0x3 address=29 count=1
[22:38:44][W][modbus_controller:113]: Duplicate modbus command found: type=0x3 address=1028 count=6
[22:38:44][W][modbus_controller:113]: Duplicate modbus command found: type=0x3 address=1048 count=1
[22:38:44][W][modbus_controller:113]: Duplicate modbus command found: type=0x3 address=1056 count=1
[22:38:44][W][modbus_controller:113]: Duplicate modbus command found: type=0x3 address=1156 count=3
[22:38:44][W][modbus_controller:113]: Duplicate modbus command found: type=0x3 address=1165 count=2
[22:38:44][W][modbus_controller:113]: Duplicate modbus command found: type=0x3 address=1176 count=2
[22:38:44][W][modbus_controller:113]: Duplicate modbus command found: type=0x3 address=1677 count=1
[22:38:44][W][modbus_controller:113]: Duplicate modbus command found: type=0x3 address=1679 count=1
[22:38:44][W][modbus_controller:113]: Duplicate modbus command found: type=0x3 address=1681 count=1
[22:38:44][W][modbus_controller:113]: Duplicate modbus command found: type=0x3 address=1683 count=1
[22:38:44][W][modbus_controller:113]: Duplicate modbus command found: type=0x3 address=1685 count=1
[22:38:44][W][modbus_controller:113]: Duplicate modbus command found: type=0x3 address=1687 count=1
[22:38:44][W][modbus_controller:113]: Duplicate modbus command found: type=0x3 address=1689 count=1
[22:38:44][W][modbus_controller:113]: Duplicate modbus command found: type=0x3 address=1691 count=1
[22:38:45][W][modbus:108]: Modbus CRC Check failed! C1CD!=00
[22:38:46][W][modbus:108]: Modbus CRC Check failed! C1CD!=00
Tak cały czas w kółko, dane nie są odczytywane prawidłowo.
Jakieś pomysły co to może być ?
Błąd sumy kontrolnej - albo nieprawidłowo ją liczysz albo rzeczywiście jest nieprawidłowa.
Zbyt często próbujesz odczytywać - próbujesz czytać ponownie zanim poprzednie zapytanie nie zostało “obsłużone”.
Numery rejestrów prawidłowe ?
Na podstawie info, które udzieliłeś o projekcie tyle można stwierdzić.
Użyłem kodu który kilka postów wcześniej zapodał domex. Nie analizowałem go jeszcze za bardzo bo nie wiem do końca jak.
Na początek zwiększ do np. 60s i zobacz czy się coś zmieni.
Niestety nic to nie daje.
Udało się rozwiązać problem z błędną sumą kontrolną?
Chciałem połączyć falownik Sofar Solar KTL-X z HA poprzez konwerter RS485=>USB wpięty do maliny. Wydawałoby się nic prostszego, przecież po wpisaniu kilku wyrazów w szukajkę od razu dostajemy kilka wątków. Jednak drążąc temat nie znalazłem gotowego configu do skopiowania wprost do configuration.yaml. Zaczynam się zastanawiać dlaczego.
Tematy które są w sieci dotyczą głównie skonfigurowania połączenia poprzez ESPHome lub konwerter RS485=>ETH + NodeRED.
Moja sytuacja wygląda tak:
- poprzez konwerter RS485=>USB mam podpięty SDM630 i działa,
- na tej samej linii co SDM630 mam podpięty falownik i chcę go dodać.
Pytania które mi się nasuwają:
- czy jeśli zrobię config do Sofara to czy nie będzie zabierało zbyt dużo czasu na odpytanie go w nocy, gdy falownik jest wyłączony,
- czy jeśli SDM630 jest skonfigurowany w configuration.yaml, a Sofar skonfigurowałbym poprzez NodeRed to czy nie będzie się to gryzło? Teoretycznie powinien być jeden master bo jeśli się trafi, że obydwa będą chciały wysłać zapytania to będzie zonk,
- jeśli do Sofara chciałbym zrobić config w configuration.yaml to czy jest jakaś opcja typu: zapytaj falownik o status, a jak odpowie to znaczy że nie śpi, wtedy zapytaj o resztę parametrów?
jak znajdziesz rozwiązanie na odpytywanie falownika w nocy to daj znać
ja mam zrobione na ktlx g3 poprzez esp32 i rs485 to ttl zasilanie mam z ładowarki usb bo przy falowniku nie ma 5V jak przy starszej wersji ktlx, dlatego skrypt odpytuje falownik nawet w nocy… no bez sensu, ale mu to chyba nie szkodzi
Ja to rozwiązałem na zasadzie encji ping.
Nod redem sprawdzam czy falownik jest online i jeśli tak to wykonuje dalszą część układanki, a jeśli jest offline to kończy działanie
Tylko przy rozwiązaniu na RS485 bez żadnego ethernetu po drodze nie ma co pingować. W logach co jakiś czas pojawia się błąd, że nie otrzymano odpowiedzi.
Na razie nie widzę negatywnych skutków oprócz tego, ale zastanawia mnie czy jak wepnę jeszcze kilka urządzeń do tej magistrali czy to oczekiwanie na odpowiedź nie będzie wąskim gardłem w nocy i czy nie zamuli to magistrali.
Witam. Mam falownik Sofar 6,6 KTL-X i próbuję połączyć go z home assistant za pomocą elfin ew-11. Niestety bez większych sukcesów. Czy komuś udało się wpisać w configuration.yaml cos co odczyta dane z falownika?
Próbuje takiej konfiguracji i nic
modbus:
- type: tcp
host: xxx.xxx.xxx.xxx
port: 9999
name: SolaX
timeout: 5
delay: 2
message_wait_milliseconds: 30
sensors:
- name: PV1 Voltage
unit_of_measurement: V
slave: 1
address: 0x0585
input_type: holding
# count: 1
data_type: uint16
precision: 1
scale: 0.1
scan_interval: 5
device_class: voltage
Elfin ustawiony tak:
Za wszelką pomoc bardzo dziękuję