Jetzt habe ich die .things (erstmal für einen Wechselrichter) in den entsprechenden Ordner kopiert:
Code: Alles auswählen
Bridge modbus:tcp:sma "SMA" @ "Modbus" [ host="192.168.178.139", port=502, id=3, connectMaxTries=3] {
// SMA Inverter Device Type
Bridge poller DevType [ start=30053, length=4, refresh=5000, type="input" ] {
Thing data type [ readStart="30053", readValueType="uint32" ]
}
// SMA Inverter Status
Bridge poller SMA_Status [ start=30201, length=36, refresh=6000, type="input" ] {
Thing data status [ readStart="30201", readValueType="int32" ]
Thing data Grid_Contactor [ readStart="30217", readValueType="int32" ]
Thing data Max_Power [ readStart="30231", readValueType="int32" ]
Thing data Set_Max_Power [ readStart="30233", readValueType="int32" ]
}
// SMA Inverter Operation
Bridge poller SMA_Operation [ start=33001, length=36, refresh=6000, type="input" ] {
Thing data Standby [ readStart="33001", readValueType="uint32" ]
Thing data Betrieb [ readStart="33003", readValueType="uint32" ]
}
// SMA Inverter Temperatur
Bridge poller SMA_Temp_Innen [ start=30953, length=2, refresh=6000, type="input" ] {
Thing data Temp1 [ readStart="30954", readValueType="int16", readTransform="JS(divide10.js)" ]
}
Bridge poller SMA_Temp_Kuehl [ start=34113, length=2, refresh=6000, type="input" ] {
Thing data Temp2 [ readStart="34114", readValueType="int16", readTransform="JS(divide10.js)" ]
}
// SMA Inverter Yield
Bridge poller Yield [ start=30517, length=16, refresh=5000, type="input" ] {
Thing data Day_Yield [ readStart="30517", readValueType="int64", readTransform="JS(divide1000.js)" ]
Thing data Total_Yield [ readStart="30529", readValueType="int32", readTransform="JS(divide1000.js)" ]
}
// SMA Inverter Power Section A
Bridge poller power_a [ start=30769, length=20, refresh=5000, type="input" ] {
Thing data current_input [ readStart="30769", readValueType="int32", readTransform="JS(smalimit1000.js)" ]
Thing data voltage_input [ readStart="30771", readValueType="uint32", readTransform="JS(smalimit100A.js)" ]
Thing data power_west [ readStart="30773", readValueType="int32", readTransform="JS(smalimit1000.js)"]
Thing data active_power [ readStart="30775", readValueType="int32", readTransform="JS(smalimit1000.js)" ]
Thing data active_powerWatt [ readStart="30775", readValueType="int32", readTransform="JS(smalimit.js)" ]
Thing data power_L1 [ readStart="30777", readValueType="int32", readTransform="JS(smalimit1000.js)" ]
Thing data power_L2 [ readStart="30779", readValueType="int32", readTransform="JS(smalimit1000.js)" ]
Thing data power_L3 [ readStart="30781", readValueType="int32", readTransform="JS(smalimit1000.js)" ]
Thing data volt_G1 [ readStart="30783", readValueType="uint32", readTransform="JS(smalimit100A.js)" ]
Thing data volt_G2 [ readStart="30785", readValueType="uint32", readTransform="JS(smalimit100A.js)" ]
Thing data volt_G3 [ readStart="30787", readValueType="uint32", readTransform="JS(smalimit100A.js)"]
}
// SMA Inverter Power B
Bridge poller power_b [ start=30957, length=8, refresh=5000, type="input" ] {
Thing data currentB_input [ readStart="30957", readValueType="int32", readTransform="JS(smalimit1000.js)" ]
Thing data voltageB_input [ readStart="30959", readValueType="int32", readTransform="JS(smalimit100.js)" ]
Thing data power_east [ readStart="30961", readValueType="int32", readTransform="JS(smalimit1000.js)" ]
}
// SMA Inverter Operation
Bridge poller SMA_Status_Operate [ start=40029, length=4, refresh=5000, type="holding" ] {
Thing data operatestatus [ readStart="40029", readValueType="uint32" ]
}
Bridge poller SunSpecTest [ start=40200, length=4, refresh=5000, type="holding" ] {
Thing data Amp [ readStart="40200", readValueType="int16" ]
}
// SMA Inverter Operation
Bridge poller SMA_Betriebszeit [ start=30521, length=8, refresh=5000, type="input" ] {
Thing data Betriebszeit [ readStart="30521", readValueType="uint64", readTransform="JS(divide3600.js)" ]
Thing data Einspeisezeit [ readStart="30525", readValueType="uint64", readTransform="JS(divide3600.js)" ]
}
}
Code: Alles auswählen
[ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - connect try 1/3 error: Connection refused (Connection refused). Connection TCPMasterConnection@1e09008[socket=Socket[unconnected]]. Endpoint ModbusTCPSlaveEndpoint@167ed4[address=192.168.178.139,port=502]
[ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - connect try 2/3 error: Connection refused (Connection refused). Connection TCPMasterConnection@1e09008[socket=Socket[unconnected]]. Endpoint ModbusTCPSlaveEndpoint@167ed4[address=192.168.178.139,port=502]
[ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - connect try 3/3 error: Connection refused (Connection refused). Connection TCPMasterConnection@1e09008[socket=Socket[unconnected]]. Endpoint ModbusTCPSlaveEndpoint@167ed4[address=192.168.178.139,port=502]
[ing.ModbusSlaveConnectionFactoryImpl] - re-connect reached max tries 3, throwing last error: Connection refused (Connection refused). Connection TCPMasterConnection@1e09008[socket=Socket[unconnected]]. Endpoint ModbusTCPSlaveEndpoint@167ed4[address=192.168.178.139,port=502]
[ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - Error connecting connection TCPMasterConnection@1e09008[socket=Socket[unconnected]] for endpoint ModbusTCPSlaveEndpoint@167ed4[address=192.168.178.139,port=502]: Connection refused (Connection refused)
[WARN ] [rt.modbus.internal.ModbusManagerImpl] - Could not connect to endpoint ModbusTCPSlaveEndpoint@167ed4[address=192.168.178.139,port=502] -- aborting request ModbusReadRequestBlueprint@afe13[slaveId=3,functionCode=READ_INPUT_REGISTERS,start=30521,length=8,maxTries=3] [operation ID 23a2a74c-508b-4aae-8fbc-c1aa8bf7c4df]
Code: Alles auswählen
Ethernet
Proxy-Einstellungen
Eingeschaltet Nein
Port 80
(1 … 65535)
Server 255.255.255.255
Login
Passwort ••••••••
Modbus
Unit ID 3
(3 … 123)
P-Vorgaben auf Eingang 2 Ein
TCP-Server
Eingeschaltet Nein
Port 502
(1 … 65535)
UDP-Server
Eingeschaltet Nein
Port 502
(1 … 65535)
Webconnect
Software-Version 1.5.2.R
Eingeschaltet Nein
Kann für den 2. Wechselrichter einfach eine zweite .things Datei angelegt werden mit der anderen IP-Adresse?
Aber dann müssen alle Things einen anderen Namen bekommen, oder (also z.B. ein X anhängen)?
Code: Alles auswählen
// SMA Inverter Device Type
Bridge poller DevTypeX [ start=30053, length=4, refresh=5000, type="input" ] {
Thing data typeX [ readStart="30053", readValueType="uint32" ]
}
// SMA Inverter Status
Bridge poller SMA_StatusX [ start=30201, length=36, refresh=6000, type="input" ] {
Thing data statusX [ readStart="30201", readValueType="int32" ]
Thing data Grid_ContactorX [ readStart="30217", readValueType="int32" ]
Thing data Max_PowerX [ readStart="30231", readValueType="int32" ]
Thing data Set_Max_PowerX [ readStart="30233", readValueType="int32" ]
}