| | Zeit:
14.11.2024 15:58:03 |
hello again
the input for the 2 stop bits and the parity = even was crucial. Setting it in the Windows Device Manager alone is no use. The settings in the sniffer settings also have to be made separately. The new recording now makes more sense. I have uploaded a new version to GitHub.
Maybe someone can still identify the individual sequences for me. Sequence for connecting, for changing the temperature, and for ending the connection.
|
| | Zeit:
14.11.2024 17:03:27 |
Hallo laserflash
Das Datenformat ist in der Datei "NCanUtils.cpp" erklärt. "KCanFrame" entspricht den Daten auf dem CAN-Bus. "KComfortFrame" entspricht den Daten von ComfortSoft.
C++-Zeilen:
KCanFrame Frame;
Frame.InitElsterFrame(0x680, 0x301, 0x0005); // Für Empfänger 0x301 die Elster-ID für die Raumsolltemp.
Frame.SetValue(...);
KComfortFrame Comfort; Comfort.SetCanFrame(Frame);
Die zu übermittelnden Daten stehen dann in Comfort.Data[];
Wenn du den Datenverkehr verstehen willst, empfehle ich dir das Windows-Programm CS_Bruecke. Da kannst du mit Simulationsdaten spielen.
Eine gute Vorgehensweise wäre, wenn du zu deiner WP die Elster-Tabelle generieren würdest. Dann hast du echte Simulationsdaten.
Noch eine Frage: Mit welcher Programmiersprache willst du dein Problem lösen?
LG Jürg
|
| | Zeit:
15.11.2024 10:35:27 |
Hallo zusammen
Ich bin noch mit dem Analysieren meiner gesnifften Daten beschäftigt. Nach längerer Betrachtung letzte Nacht habe ich festgestellt, dass der SFH_7250 überspricht wenn etwas gesendet werden soll. Also er liest oder spiegelt seine eigenen gesendeten Daten. Ich habe versucht die Spannung soweit zu reduzieren, bis kein Übersprechen mehr stattfindet (ca. 4.7V). Damit die Kommunikation zur WPM überhaupt aufgebaut werden kann werden jedoch mindestens 5.8V benötigt. Nach dieser Erkenntnis machen die Daten etwas mehr Sinn, benötigen aber weitere Analyse.
Zum jetzigen Zeitpunkt habe ich vor das mein kleines, einfaches Programm mit C# zu programmieren. .Net bietet eine Bibliothek an die das Verwenden der COM Ports in Windows erlauben.
Das Endziel wird schon sein, das ganze auf einem RaspberryPi zu betreiben. Bis es soweit ist, falls es überhaupt möglich ist Daten so zu senden, möchte das Prinzip verstanden haben.
Viele Grüsse
|
| | Zeit:
15.11.2024 12:41:44 |
Reflection or crosstalk or "echo" of the data sent is required. This is the first indication that your electronics are working correctly. Sending and Receiving LED are in the same package. Receiver always sees what is being transmitted. I strongly recommend to reduce length of the grey cable between electronics and optical interface to max 30 cm. This will reduce noise and errors. Did you try to run my program? You don't need sniffer for that - it directly shows you the required data. Also you don't need to loose time with the sniffer - we have done all that work already. Please read my previous post - it gives you the required details: Commands and responses have same format. Different is only the Source and Destination address: SEND COMMAND // src 00 dst qry circ FA reg(2) data(2) chksm(2) // 0d 00 03 01 00 fa 00 0c 80 08 01 9f (register read request from device 0x0d to 0x03 device) RECEIVE DATA // src 00 dst qry circ FA reg(2) data(2) chksm(2) // 03 00 0d 02 00 fa 00 0c 00 40 01 58 (register value being returned from 03 to 0d) src = sender address (optical interface 0x0d) 00 = 0x00 constant dst = destination (who will receive the message - there are different devices in the system) qry = query type: QRY_WRITE = 0; (send write request to change parameter) QRY_READ = 1; (send read value request) QRY_RESPONSE = 2; (data that is being returned to you) circ = sub-device number: 0 for a general machine 1 or 2 for different heating circuits in the house fa = 0xFA constant reg = 16-bit register address data = 16 bit value of the register chksm = 16-bit checksum of the data. Note that device addresses in the Juerg's documents are for CAN bus and do not work on optical interface.
|
| | Zeit:
15.11.2024 12:57:44 |
Here is decoding of the data packet in your file "SetTemp5to30", line 53:
SEND (reflected data is ignored) 0x00D - packet sender address 0xD = optical interface 0x000 - constant 0x006 - packet receiver address 0x6 = controller 0x001 - data type = register read 0x001 - heating circuit 1 0x0FA - constant 0x000 0x005 - register address 0x5 = ROOM TARGET TEMP_I 0x001 0x02C - random value (ignored on Read request) 0x001 0x041 - checksum
RECEIVE 0x006 - packet sender address 0x6 = controller 0x001 - constant, should be 0 0x00D - packet receiver address 0xD = optical interface 0x002 - data type = register vale being returned 0x000 - ignore 0x0FA - constant 0x000 0x005 - register address 0x5 = ROOM TARGET TEMP_I 0x001 0x02C - value in the register 0x012C = 300 decimal = 30,0 °C 0x001 0x042 - checksum
|
| | Zeit:
15.11.2024 13:11:00 |
Byte 1 & 3 (device address): ('00','direct'), ('03','boiler'), ('05','atez'), ('06','controller'), ('08','Room remote sensor'), ('09','Manager'), ('0A','Heating unit (IWS)'), ('0B','bus coupler'), ('0C','mixer'), ('0D','PC'), ('0E','Foreign device'), ('0F','DCF clock')
Byte 4 (query type): ('00','Write'), ('01','Read'), ('02','Response'), ('03','ack'), ('04','write ack'), ('05','write response'), ('06','system'), ('07','system response')
Byte 5 & 6 (sub-module): ('00fa','General'), ('01fa','Heating Circuit 1'), ('02fa','Heating Circuit 2')
Byte 7 & 8 (register address): cRegisters : array[1..3612] of array[1..2] of string = ( ('0001','ERROR MESSAGE'), ('0002','BOILER SET TEMP'), ('0003','STORAGE SET TEMP'), ('0004','TARGET FLOW TEMP'), ('0005','ROOM TARGET TEMP_I'), ('0006','ROOM TARGET TEMP_II'), ('0007','ROOM DESIGN TEMP_III'), ('0008','ROOM TARGET TEMP_NIGHT'), ('0009','TIME'), ('000a','DATE'), ('000b','DEVICE_ID'), ('000c','OUTDOOR TEMP'), ......... .........
Byte 9 & 10 (register value)
Byte 11 & 12 (checksum) |
| | Zeit:
15.11.2024 13:22:06 |
| | Zeit:
27.01.2025 23:43:59 |
Hallo zusammen, ich hätte ein paar Fragen zur korrekten Regelung der Temperatur. Dank der Unterstützung von aly5 konnte ich die Dataframes aus meinem Programm an die WPM II senden und damit die Raumtemperatur-Sollwerte im Heizkreis 1 individuell anpassen. Das funktioniert schon einmal sehr gut. Nun frage ich mich, ob dieses Vorgehen grundsätzlich korrekt ist oder ob stattdessen die Rücklauftemperatur angepasst werden sollte. Die ComfortSoft ermöglicht die Einstellung im Reiter "Inbetriebnahme 2" und das Auslesen im Reiter "Info 1". Ist es darüber hinaus generell möglich, die Rücklauftemperatur auszulesen? Kann mir jemand sagen, zu welchem Submodul das gehört? Laut der Aufschlüsselung von aly5 wird das Submodul im Dataframe über die Bytes 5 und 6 angegeben. Mithilfe der Elster-Tabelle von Jürg5524 konnte ich die Registeradressen für Rücklauf-Soll und Rücklauf-Ist ermitteln. Für die Submodule 0FA, 1FA und 2FA habe ich die Registeradressen 016, 1D7 und 2FC verwendet. Gibt es eventuell noch weitere Submodul-Adressen? Ich habe bereits mit 3FA und ähnlichen Adressen experimentiert, jedoch ohne Erfolg. Möglicherweise verwende ich die falschen Registeradressen? Oder wird die Temperatur in diesem Fall ausschließlich über die Raumtemperatur geregelt? Zum Schluss möchte ich noch erwähnen, dass die eingesetzten WPM-Geräte über keinen Raumtemperaturfühler verfügen. |
| | Zeit:
14.11.2025 14:38:42 |
Moisen erst einmal Ann alle, ich habe auch eine WPF-10 mit Solartherme von 2008 und nach einigen Problemen bin ich nun ein gutes Stück weiter bei der Einrelung. Mir fehlen lediglich noch die optische Schnittstelle...dann sollte ich den WPF-10 doch besser überwachen können.
Ich habe einige im Netzt gefunden (>200Euros) und wollte wissen, ob jemand seinen alten nicht mehr braucht oder eine andere Idee. Ich habe Zweifel, ob Lötbar noch welche auf Lager hat....ich kann ihn leider nicht direkt anschreiben.
Also versuche. ich über diesen Weg.
Vielen Dank im Voraus.
Oskar
|
| | Zeit:
25.11.2025 19:39:16 |
Ich habe eine Optische Schnittstelle von eine Stiebel Wärmepumpe. Es ist die Originale für Installateure. Die Conmsoft Software habe ich auch dazu
|
| | Zeit:
25.11.2025 19:57:35 |
Zitat von Bernhard Bonhoff  Ich habe eine Optische Schnittstelle von eine Stiebel Wärmepumpe. Es ist die Originale für Installateure. Die Comsoft Software habe ich auch dazu |