Cześć Wam.
Próbuje zintegrować swój falownik z domoticz i po wielu próbach nie mogą ruszyć dalej. Mam już kod który ładnie pobiera nawet sporo informacji które potrzebuje poprzez skrypt na raspberry ale nie potrafie pobrać czy wysłać danych do domoticz. Czy jest tu ktoś, kto podpowie nauczy czy może za jakąś "wdzięczność" pomoże to ogarnąć?
oto co mi wypluwa kod:
Modbus request: 0103 0680 001c 44b2 Hex string to send: A5 1700 1045 0000 0b8ad1a1 020000000000000000000000000000 01040680001c240b 00 15 Data sent: bytearray(b'\xa5\x17\x00\x10E\x00\x00\x0b\x8a\xd1\xa1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x06\x80\x00\x1cD\xb2\x00\x15') Data received: b'\xa5K\x00\x10\x15\x00Q\x0b\x8a\xd1\xa1\x02\x01k?\x95\x00P\x19\x00\x00\xb6\xfdEd\x00\x038\x00\x00\x00\x00\x0f\xff\xff\xff\x00\x00\x02/\x00\x00cb\x00\x00\x00\xf2\x00\x00+\xaa\x00\x00\x00i\x00\x00\r\xc9\x00\x00\x01\x8c\x00\x00@\xa1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x95\xf3\x15' Hex string received: A5 4B 00 10 15 00 51 0B 8A D1 A1 02 01 6B 3F 95 00 50 19 00 00 B6 FD 45 64 00 03 38 00 00 00 00 0F FF FF FF 00 00 02 2F 00 00 63 62 00 00 00 F2 00 00 2B AA 00 00 00 69 00 00 0D C9 00 00 01 8C 00 00 40 A1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DE 95 F3 15 Register: 0x0680 , value: hex:0000dev:0.0 Register: 0x0681 , value: hex:0000dev:0.0 Register: 0x0682 , value: hex:0fffdev:40.95 Register: 0x0683 , value: hex:ffffdev:655.35 Register: 0x0684 , value: hex:0000dev:0.0 Register: 0x0685 , value: hex:022fdev:5.59 PV_Generation_Today:5.59kW Register: 0x0686 , value: hex:0000dev:0.0 Register: 0x0687 , value: hex:6362dev:254.42000000000002 PV_Generation_Total:2544.2000000000003kW Register: 0x0688 , value: hex:0000dev:0.0 Register: 0x0689 , value: hex:00f2dev:2.42 Register: 0x068A , value: hex:0000dev:0.0 Register: 0x068B , value: hex:2baadev:111.78 Register: 0x068C , value: hex:0000dev:0.0 Register: 0x068D , value: hex:0069dev:1.05 Register: 0x068E , value: hex:0000dev:0.0 Register: 0x068F , value: hex:0dc9dev:35.29 Register: 0x0690 , value: hex:0000dev:0.0 Register: 0x0691 , value: hex:018cdev:3.96 Register: 0x0692 , value: hex:0000dev:0.0 Register: 0x0693 , value: hex:40a1dev:165.45000000000002 Register: 0x0694 , value: hex:0000dev:0.0 Register: 0x0695 , value: hex:0000dev:0.0 Register: 0x0696 , value: hex:0000dev:0.0 Register: 0x0697 , value: hex:0000dev:0.0 Register: 0x0698 , value: hex:0000dev:0.0 Register: 0x0699 , value: hex:0000dev:0.0 Register: 0x069A , value: hex:0000dev:0.0 Register: 0x069B , value: hex:0000dev:0.0 Modbus request: 0103 0580 0034 44e8 Hex string to send: A5 1700 1045 0000 0b8ad1a1 020000000000000000000000000000 010405800034840e 00 15 Data sent: bytearray(b'\xa5\x17\x00\x10E\x00\x00\x0b\x8a\xd1\xa1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x05\x80\x004D\xe8\x00\x15') Data received: b'\xa5{\x00\x10\x15\x00R\x0b\x8a\xd1\xa1\x02\x01k?\x95\x00P\x19\x00\x00\xb6\xfdEd\x00\x03h\x00\x00\x00\x00\x00\x00\x03\xff\x07\x8b\x04\x03\x00\xc6\t"\x03\xb9\x00\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9da\x8f\x15' Hex string received: A5 7B 00 10 15 00 52 0B 8A D1 A1 02 01 6B 3F 95 00 50 19 00 00 B6 FD 45 64 00 03 68 00 00 00 00 00 00 03 FF 07 8B 04 03 00 C6 09 22 03 B9 00 DE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9D 61 8F 15 Register: 0x0580 , value: hex:0000dev:0.0 Register: 0x0581 , value: hex:0000dev:0.0 Register: 0x0582 , value: hex:0000dev:0.0 Register: 0x0583 , value: hex:03ffdev:10.23 Register: 0x0584 , value: hex:078bdev:19.31 P1:193.10000000000002V Register: 0x0585 , value: hex:0403dev:10.27 P1:10.27A Register: 0x0586 , value: hex:00c6dev:1.98 P1:1.98kW Register: 0x0587 , value: hex:0922dev:23.38 Register: 0x0588 , value: hex:03b9dev:9.53 Register: 0x0589 , value: hex:00dedev:2.22 Register: 0x058A , value: hex:0000dev:0.0 Register: 0x058B , value: hex:0000dev:0.0 Register: 0x058C , value: hex:0000dev:0.0 Register: 0x058D , value: hex:0000dev:0.0 Register: 0x058E , value: hex:0000dev:0.0 Register: 0x058F , value: hex:0000dev:0.0 Register: 0x0590 , value: hex:0000dev:0.0 Register: 0x0591 , value: hex:0000dev:0.0 Register: 0x0592 , value: hex:0000dev:0.0 Register: 0x0593 , value: hex:0000dev:0.0 Register: 0x0594 , value: hex:0000dev:0.0 Register: 0x0595 , value: hex:0000dev:0.0 Register: 0x0596 , value: hex:0000dev:0.0 Register: 0x0597 , value: hex:0000dev:0.0 Register: 0x0598 , value: hex:0000dev:0.0 Register: 0x0599 , value: hex:0000dev:0.0 Register: 0x059A , value: hex:0000dev:0.0 Register: 0x059B , value: hex:0000dev:0.0 Register: 0x059C , value: hex:0000dev:0.0 Register: 0x059D , value: hex:0000dev:0.0 Register: 0x059E , value: hex:0000dev:0.0 Register: 0x059F , value: hex:0000dev:0.0 Register: 0x05A0 , value: hex:0000dev:0.0 Register: 0x05A1 , value: hex:0000dev:0.0 Register: 0x05A2 , value: hex:0000dev:0.0 Register: 0x05A3 , value: hex:0000dev:0.0 Register: 0x05A4 , value: hex:0000dev:0.0 Register: 0x05A5 , value: hex:0000dev:0.0 Register: 0x05A6 , value: hex:0000dev:0.0 Register: 0x05A7 , value: hex:0000dev:0.0 Register: 0x05A8 , value: hex:0000dev:0.0 Register: 0x05A9 , value: hex:0000dev:0.0 Register: 0x05AA , value: hex:0000dev:0.0 Register: 0x05AB , value: hex:0000dev:0.0 Register: 0x05AC , value: hex:0000dev:0.0 Register: 0x05AD , value: hex:0000dev:0.0 Register: 0x05AE , value: hex:0000dev:0.0 Register: 0x05AF , value: hex:0000dev:0.0 Register: 0x05B0 , value: hex:0000dev:0.0 Register: 0x05B1 , value: hex:0000dev:0.0 Register: 0x05B2 , value: hex:0000dev:0.0 Register: 0x05B3 , value: hex:0000dev:0.0 Modbus request: 0103 0480 003d 8512 Hex string to send: A5 1700 1045 0000 0b8ad1a1 020000000000000000000000000000 01040480003d2801 00 15 Data sent: bytearray(b'\xa5\x17\x00\x10E\x00\x00\x0b\x8a\xd1\xa1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x04\x80\x00=\x85\x12\x00\x15') Data received: b'\xa5\x8d\x00\x10\x15\x00S\x0b\x8a\xd1\xa1\x02\x01l?\x95\x00P\x19\x00\x00\xb6\xfdEd\x00\x03z\x00\x00\xc3\x18c\x0ca?\x13\x88\x01\x8e\x01R\x00\x00\x01p\x00\x00\x00\x00\x00\x00\x00\x00\t_\x02\x95\x00\x86\x00\x00\x00\x00\x01\xfb\x00{\x00\x00\x00\x00\x00\x00\x00\x00\t\xa3\x02r\x00\x87\x00\x00\x00\x00\x01\xeb\x00z\x00\x00\x00\x00\x00\x00\x00\x00\t\xaf\x02n\x00\x80\x00\x00\x00\x00\x01\xf7\x00{\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00C\xa1\x8f\x15' Hex string received: A5 8D 00 10 15 00 53 0B 8A D1 A1 02 01 6C 3F 95 00 50 19 00 00 B6 FD 45 64 00 03 7A 00 00 C3 18 63 0C 61 3F 13 88 01 8E 01 52 00 00 01 70 00 00 00 00 00 00 00 00 09 5F 02 95 00 86 00 00 00 00 01 FB 00 7B 00 00 00 00 00 00 00 00 09 A3 02 72 00 87 00 00 00 00 01 EB 00 7A 00 00 00 00 00 00 00 00 09 AF 02 6E 00 80 00 00 00 00 01 F7 00 7B 00 00 00 00 00 00 00 00 00 00 00 1E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 A1 8F 15 Register: 0x0480 , value: hex:0000dev:0.0 Register: 0x0481 , value: hex:c318dev:499.44 Register: 0x0482 , value: hex:630cdev:253.56 Register: 0x0483 , value: hex:613fdev:248.95000000000002 Register: 0x0484 , value: hex:1388dev:50.0 Register: 0x0485 , value: hex:018edev:3.98 Register: 0x0486 , value: hex:0152dev:3.38 Register: 0x0487 , value: hex:0000dev:0.0 Register: 0x0488 , value: hex:0170dev:3.68 Register: 0x0489 , value: hex:0000dev:0.0 Register: 0x048A , value: hex:0000dev:0.0 Register: 0x048B , value: hex:0000dev:0.0 Register: 0x048C , value: hex:0000dev:0.0 Register: 0x048D , value: hex:095fdev:23.990000000000002 R:239.9V Register: 0x048E , value: hex:0295dev:6.61 R:6.61A Register: 0x048F , value: hex:0086dev:1.34 Register: 0x0490 , value: hex:0000dev:0.0 Register: 0x0491 , value: hex:0000dev:0.0 Register: 0x0492 , value: hex:01fbdev:5.07 Register: 0x0493 , value: hex:007bdev:1.23 Register: 0x0494 , value: hex:0000dev:0.0 Register: 0x0495 , value: hex:0000dev:0.0 Register: 0x0496 , value: hex:0000dev:0.0 Register: 0x0497 , value: hex:0000dev:0.0 Register: 0x0498 , value: hex:09a3dev:24.67 S:246.70000000000002V Register: 0x0499 , value: hex:0272dev:6.26 S:6.26A Register: 0x049A , value: hex:0087dev:1.35 Register: 0x049B , value: hex:0000dev:0.0 Register: 0x049C , value: hex:0000dev:0.0 Register: 0x049D , value: hex:01ebdev:4.91 Register: 0x049E , value: hex:007adev:1.22 Register: 0x049F , value: hex:0000dev:0.0 Register: 0x04A0 , value: hex:0000dev:0.0 Register: 0x04A1 , value: hex:0000dev:0.0 Register: 0x04A2 , value: hex:0000dev:0.0 Register: 0x04A3 , value: hex:09afdev:24.79 T:247.9V Register: 0x04A4 , value: hex:026edev:6.22 T:6.22A Register: 0x04A5 , value: hex:0080dev:1.28 Register: 0x04A6 , value: hex:0000dev:0.0 Register: 0x04A7 , value: hex:0000dev:0.0 Register: 0x04A8 , value: hex:01f7dev:5.03 Register: 0x04A9 , value: hex:007bdev:1.23 Register: 0x04AA , value: hex:0000dev:0.0 Register: 0x04AB , value: hex:0000dev:0.0 Register: 0x04AC , value: hex:0000dev:0.0 Register: 0x04AD , value: hex:0000dev:0.0 Register: 0x04AE , value: hex:0000dev:0.0 Register: 0x04AF , value: hex:001edev:0.3 Register: 0x04B0 , value: hex:0000dev:0.0 Register: 0x04B1 , value: hex:0000dev:0.0 Register: 0x04B2 , value: hex:0000dev:0.0 Register: 0x04B3 , value: hex:0000dev:0.0 Register: 0x04B4 , value: hex:0000dev:0.0 Register: 0x04B5 , value: hex:0000dev:0.0 Register: 0x04B6 , value: hex:0000dev:0.0 Register: 0x04B7 , value: hex:0000dev:0.0 Register: 0x04B8 , value: hex:0000dev:0.0 Register: 0x04B9 , value: hex:0000dev:0.0 Register: 0x04BA , value: hex:0000dev:0.0 Register: 0x04BB , value: hex:0000dev:0.0 Register: 0x04BC , value: hex:0000dev:0.0
Chat GPT zaproponawal takie rozwiazanie: skrypt pythona
import requests from pymodbus.client.sync import ModbusTcpClient # Adres IP i port falownika inverter_ip = "adres_ip_falownika" inverter_port = 502 # Domyślny port Modbus TCP # Adres IP i port Domoticza domoticza_ip = "adres_ip_domoticza" domoticza_port = "port_domoticza" domoticza_idx = "indeks_urządzenia_w_domoticza" def read_inverter_data(): try: client = ModbusTcpClient(inverter_ip, port=inverter_port) client.connect() # Tutaj umieść kod do odczytu danych z falownika przy użyciu Modbus # Przykład odczytu rejestrów: # registers = client.read_holding_registers(start_register, num_registers) client.close() return registers # Zwraca odczytane wartości rejestrów except Exception as e: print("Błąd podczas odczytu danych z falownika:", e) return None def send_to_domoticza(data): try: url = f"http://{domoticza_ip}:{domoticza_port}/json.htm" payload = { "type": "command", "param": "udevice", "idx": domoticza_idx, "nvalue": 0, "svalue": json.dumps(data) } response = requests.get(url, params=payload) print("Odpowiedź z Domoticza:", response.text) except Exception as e: print("Błąd podczas wysyłania danych do Domoticza:", e) if __name__ == "__main__": inverter_data = read_inverter_data() if inverter_data: send_to_domoticza(inverter_data)
@kniazio Dzieki , też próbowałem z GPT ale w wersji darmowej. problem w tym ze wszystko tkwi w szczegółach i jak dokładnie połączyć te dwa kody. Mam nawet taki inny dokładny skrypt który działa ale nie mogę dopasować rejestrów.
napisałem plugin do HYD10KTL, sądzę że powinien bezproblemowo działać z całą rodziną HYDxxx-3PH
założyłem dedykowany temat o tym pluginie:
https://www.smartnydom.pl/forum/domoticz/plugin-do-falownika-sofar-hyd10ktl-3ph/
Spróbuj, i daj znać.