Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Mit Raspi wird es auch gehen und nicht nur bei der SPLIT sondern auch bei F360P / F1135 / F1150 / F1235 / F1250 / ACVM 270 / VVM 300 / SMO 10, kurz gesagt an allen Heizungen wo man den RE 10 anschließen kann.
An die Split kann aber eben *kein* RE10 anschließen, jedenfalls nicht laut Nibe Support.
@crt: Wie weit bist du mit schreiben ? Ich lese jetzt immer mit 8M1 kann nicht 9N1 um zu sehen ob das Parity sich ändert. Nach meinen Daten zu urteilen bleibt Parity stabil auf 1 (Mark).
Es funktioniert soweit, mir fehlen halt nur viele (fast alle) Register, weil die *ganz* anders als bei den anderen Nibe's sind (deswegen wahrscheinlich auch kein RE10 möglich). Ich sehe aber deutlich mehr als im Display angezeigt wird, dafür muss man halt nur immer brav ein ACK senden (nach einem gelesenen "0x00 0x14" ein "0x06" senden). Was ich noch nicht gemacht habe ist Register schreiben, spätestens dafür braucht man MARK/SPACE Parity, weil der Paritätswechsel quasi den Sendemodus erst aktiviert. Wenn Du auf *no* Parity stellst wird die gesendete Partität halt Client-seitig ignoriert, deswegen siehst Du keine Probleme.
Alle haben die unter <Zubehör> (siehe Link von oben) die RE 10. Das Datenblatt des RE 10 sagt das auch. Das eingebaute Display der Split ist nichts anderes als ein RE 10. Andere Nibe Split kenne ich nicht. Oder hast du was anderes?
Alle haben die unter <Zubehör> (siehe Link von oben) die RE 10. Das Datenblatt des RE 10 sagt das auch. Das eingebaute Display der Split ist nichts anderes als ein RE 10. Andere Nibe Split kenne ich nicht. Oder hast du was anderes?
Sorry hatte nicht mehr genau im Hinterkopf was RE10 ist, ich meinte das Modbus Modul (welches es für die meisten Geräte außer Split gibt).
Ich sehe aber deutlich mehr als im Display angezeigt wird, dafür muss man halt nur immer brav ein ACK senden (nach einem gelesenen "0x00 0x14" ein "0x06" senden).
Das irritiert mich, ich habe keine 0x00 0x14 auf dem Bus. In einem Posting davor hatte ich ein Screen meiner Daten. Die einzigen Adressen die ich bekomme sind 0x00 0xF1, 0x00 0xF5, 0x00 0xF9. Liegt es an unterschiedlichen Softwareversionen der NIBE? Wenn ich Parity ignoriere scheint das gelesene zu stimmen inklusive CRC.
Das Protokoll sieht nach eine art MDB (Multi-drop Bus) aus oder nach MPCM (Multi-processor Communication Mode).
Bei Parmark kriege ich die 0xFF 0x00 bei jedem Parity error (wie es sein soll) aber die Daten sind schrott. Wo Parity err sein sollte ist keiner und andersrum. Der empfangene String Brauchwasser hat mal Parity err dann nach x Wiederholungen nicht dann wider usw.
Das irritiert mich, ich habe keine 0x00 0x14 auf dem Bus.
Hast Du denn Im Wartungsmenü den Logger aktiviert?
Achtung! Das gibt einen "Komm. Error" wenn *kein* angeschlossen ist, dass ein ACK sendet. Je nach sonstiger Konfiguration kann es sein, dass die Nibe dann nicht mehr heizt. Lässt sich aber alles abschalten, bei mir läuft sie jetzt seit 2 Monaten in KommError, ist dann halt nur etwas langsamer im Menü.
Ah! Danke! Guter hinweis, habe bis jetzt die Logger Komponente nicht benutzt. Mit deiner Beschreibung geht es dann auch: nach 0x00 0x14 (Logger Adresse) ein 0x06 (Bereit für Empfang) senden dann schauen ob Master mit 0x03 (Hab nix für dich) antwortet. Wenn nicht dann Daten vom Master empfangen. Die ersten 4 Bytes ist Header bestehend aus <Adresse> <0x00> <0x59> <Message länge> zB Message länge ist 0x11 d.H noch 17 Bytes lesen, und zuletzt noch ein Byte CRC lesen. Danach dem Master wider 0x06 senden worauf er mit 0x03 antwortet. Das wars. Bis hetzt habe ich immer mit Mark Parity gesendet und Master hat nicht rumgemurrt.
Deine Trägheit beim bedienen liegt wahrscheinlich am fehlendem ACK nach der empfangener Message da der Master ja auf ein ACK wartet und mit kleinem Timeout weitergeht. Die Daten bleiben ohne ACK ja trotzdem auf dem Bus lesbar nur hakt das Display halt.
Wie weit ist deine Interpretation der Daten fortgeschritten? Ich hab mal einen kleinen Dump vom Logger angehängt.
ich komme in den nächsten Wochen eh nicht dazu es mal aufzuräumen / aufzuhübschen also werde ich nachher einfach mal meinen letzten Stand irgendwo einchecken
Ich muss dazu sagen, dass ich kein Programmierer bin, das ist alles copy und paste aus Beispielfunktionen bei rudimentären C-Verständniss.
Derzeitiger Stand:
Spricht die Nibe über libFTDI an (um später auch mit Parität Mark/Sapce arbeiten zu können)
Integriert libeibclient um Nachrichten nativ auf den Bus zu setzen.
Bis jetzt kann man dem Programm nur eine Startadresse mitgeben (GA) und dann werde einfach "dumm" alle gefundenen Register auf Startadresse + Register geschrieben (ohne Failcheck ob das evtl größer als 255 wird!!!!)
Die Interpretation der Register wird dann hoffentlich eine gemeinsame Aufgabe jetzt wo ich nicht mehr alleine bin!
Das ist schon mal eine gute Arbeit. Ich hab was ähnliches erstellt. Bei mir hat aber das herausfinden des Protokollaufbaus lange gedauert. Die Zeit konnte ich mir sparren da du das scheinbar schon wusstest. Momentan ist die Zeit etwas knapp aber ich bin weiter dran an den Registern.
Gute arbeit.
Hast du schon mit ACK nach dem Empfang der Nachricht den Komm Fehler ausgeschaltet?
Die Adresse 001E scheint der Alarm zu sein, bei dir 50 = Kommunikationsfehler (siehe Sheet 3: 1250 Reg 97).
Ja den Komm-Fehler (und den damit verbundenen Lag) habe ich nur, wenn der "Logger" im Wartungsmenü aktiviert ist, aber entweder physisch nichts verbunden ist oder das Programm nicht läuft. Sobald es läuft -> keine Fehler, alles flüssig.
TODO:
- Dokumentation der fehlenden Register
- Methode Register auf bestimmte GA zu mappen (anstatt nur Startadresse und dann fortlaufend)
- Schreiben auf den Bus um bestimmte Register zu ändern
- Code Cleanup (rewrite?)
@AresHB
Es geht darum die Split WP an den KNX Hausbus zu hängen. Der Hersteller bietet für Split keine RCU oder änliches an. Deshalb macht ctr ein KNX Gateway Programm welches den internen Kommunikationsbus der Heizung über USB-RS485 Dongle an KNX (eibd) anbindet.
@crt
Habe die Formatierung des Codes bischen vereinheitlicht. Paar Register eingefügt und mit register.txt eingecheckt. Möchte den Code noch etwas vereinfachen/erweitern. Habe aber kein eibd am laufen um KNX zu testen.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar