NEWS
Test Adapter canbus v1.1.x Latest
-
So, habe mich jetzt mal mit meinem gefährlichen Halbwissen und der HPSU 508 rangewagt.
CAN-HAT ist über ein 15m langes Kabel mit der Rotex verbunden, Masse ist nur an der Rotex dran.Die Utils habe ich gemäß https://crycode.de/can-bus-am-raspberry-pi installiert.
Sind die 500kb/s bei der HPSU korrekt?Im Adapter habe ich von Github die HPSU Konfig geholt in der V1.3.0
Adapter ist grün, Connection ist true.
Wieso habe ich jetzt 180, 300, 500, 680? Was ist wozu?
Wie kommen nun die Daten von der Rotex und wie schreibe ich? -
@hg6806 Ich habe zwar selbst keine HPSU, aber die Baudrate sollte hier soweit ich weiß 20kb/s sein.
Die drei Zahlen sind die hexadezimalen CAN-IDs der Nachrichten, die auf dem Bus gesendet werden.
180 - Daten, die vom Kessel gesendet werden
300 - Daten, die vom Bedienmodul gesendet werden
500 - Daten, die vom Heizmodul gesendet werden
680 - Daten/Abfragen von ioBroker an die HPSUDamit du überhaupt Daten von der HPSU erhältst, müssen die aktiv angefragt werden. Das kann entweder vom Bedienmodul, oder über die ioBroker-States unter 680 passieren.
Möchtest du z.B. die aktuelle Warmwassertemperatur (T-WW) abfragen, so musst du in den State
canbus.0.680.0e
den Werttrue
schreiben bzw. in der Objektansicht im Admin den Button anklicken. Der Adapter sendet daraufhin die Anfrage und der Kessel antwortet. Den Wert findest du dann im Statecanbus.0.180.0e
.Damit du nicht selbst (oder über ein Script) immer wieder in den Abfrage-State schreiben musst, gibt es in den Einstellungen der Adapterinstanz zu jedem "Parser" unter "680 HPSU abfragen/setzen" die Option "Automatisch einen bestimmten Wert setzen". Wenn du den z.B. für "0e T-WW abfragen" diese Option aktivierst, einen Intervall von 60000 angibst und bei "Zu setzender Wert" den Haken setzt, dann wird die Info jede Minute abgefragt.
-
Die 20kbit hatte ich schon in die Interfaces Konfig geschrieben und neu gestartet.
Jedoch erhalte ich keinen Daten, wenn ich bei den versch. Werten ein True setze bzw. Automatisch auf 1 Minute setze.Wie kann ich denn feststellen ob ich überhaupt eine funktionieren Verbindung zur Rotex habe?
-
@hg6806 Alle Daten, die (an deinem System/Raspi) über den CAN-Bus laufen, kannst du dir live mit
candump -tA -x can0
in einem Terminal anzeigen lassen. Zumindest beim Senden einer Anfrage vom ioBroker aus sollte da etwas aufgezeichnet werden. Zeilen mit "TX" sind Daten die von deinem System gesendet wurden und "RX" empfangene Daten.Den aktuellen Status des CAN-Bus an deinem System kannst du mittels
ip -details -statistics link show can0
anzeigen lassen. Die Ausgabe sollte in etwa so aussehen:pi@homepi:~ $ ip -details -statistics link show can0 3: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT group default qlen 10 link/can promiscuity 0 minmtu 0 maxmtu 0 can state ERROR-ACTIVE restart-ms 0 bitrate 500000 sample-point 0.875 tq 125 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1 mcp251x: tseg1 3..16 tseg2 2..8 sjw 1..4 brp 1..64 brp-inc 1 clock 8000000 re-started bus-errors arbit-lost error-warn error-pass bus-off 0 0 0 0 0 0 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 RX: bytes packets errors dropped overrun mcast 293573 36716 0 0 0 0 TX: bytes packets errors dropped carrier collsns 129695 18637 0 0 0 0
Ansonsten bei den HPSU spezifischen Sachen könnte dir vlt. @cb187 besser weiterhelfen.
-
Hallo @hg6806,
also für meine HPSU 508 (Baujahr 2013) ist in der /boot/config.txt ist bei mir eingetragen:
dtoverlay=mcp2515-can0,oscillator=8000000,interrupt=25,spimaxfrequency=1000000
in der /etc/network/interfaces steht:
auto can0 iface can0 can static bitrate 20000
dann kommt für 80 Tage Betrieb (seit dem letzten Stromausfall)
ip -details -statistics link show can0 4: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT group default qlen 10 link/can promiscuity 0 minmtu 0 maxmtu 0 can state ERROR-ACTIVE restart-ms 0 bitrate 20000 sample-point 0.850 tq 2500 prop-seg 8 phase-seg1 8 phase-seg2 3 sjw 1 mcp251x: tseg1 3..16 tseg2 2..8 sjw 1..4 brp 1..64 brp-inc 1 clock 4000000 re-started bus-errors arbit-lost error-warn error-pass bus-off 0 0 0 9 10 0 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 RX: bytes packets errors dropped overrun mcast 32677036 4668148 0 12 0 0 TX: bytes packets errors dropped carrier collsns 6125368 1325230 0 0 0 0
und ein
candump -tz can0 (000.000000) can0 190 [5] 31 00 FA C0 F6 (000.011586) can0 180 [7] 32 10 FA C0 F6 00 00 (009.098755) can0 680 [7] 30 00 FA 06 91 00 50 (009.171765) can0 190 [5] 31 00 FA 06 91 (009.181118) can0 180 [7] 32 10 FA 06 91 00 50
bringt dann sofort Ergebnisse, da ja ständig Daten hin und herflitzen.
Viel Spaß bei deinem Projekt.
Mic
-
Hallo @cb187,
hast du die Scripte für Abtaugeschädigte schon irgendwo publiziert? Würde mich auch brennend interessieren, an welchen Parametern du da geschraubt hast. Normalerweise stoppt die HPSU ja alle 2 Stunden (oder taut ab), auch wenn nichts zugefroren ist. Sie taut allerdings auch bei kälteren Temperaturen häufiger ab als alle 2 Stunden... das wird dann aber nicht verhindert, oder?
LG
Mic
-
@michael-wind
Habe nochmal den CAN angeschlossen und probiert:pi@raspberrypi:~ $ ip -details -statistics link show can0 4: can0: <NO-CARRIER,NOARP,UP,ECHO> mtu 16 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 10 link/can promiscuity 0 minmtu 0 maxmtu 0 can state BUS-OFF restart-ms 0 bitrate 20000 sample-point 0.850 tq 2500 prop-seg 8 phase-seg1 8 phase-seg2 3 sjw 1 mcp251x: tseg1 3..16 tseg2 2..8 sjw 1..4 brp 1..64 brp-inc 1 clock 4000000 re-started bus-errors arbit-lost error-warn error-pass bus-off 0 0 0 1 1 1 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 RX: bytes packets errors dropped missed mcast 0 0 0 2 0 0 TX: bytes packets errors dropped carrier collsns 0 0 0 0 0 0
Sieht nicht so wirklich toll aus.
Zudem steht im Display der HPSU "Keine Kommunikation"
Bedienen darüber kann ich aber -
Es kommen Daten!
Auf der Wiki Seite von den Waveshare CAN-HAT stand was mit unterschiedlichen Quarzen:
https://www.waveshare.com/wiki/RS485_CAN_HATIch hatte dann das neuere genommen, damit läuft es.
Also Obacht hier!
-
Hallo @hg6806 ,
wenn im Display der HPSU 508 "keine Kommunikation" steht, könnte der Parameter 'Terminaladdresse' im Menu 'Installation' nicht auf 'AUS' sondern evtl. auf 1 bis 9 (Ich habe allerdings keine RoCon, mit dieser kann es natürlich irgendwie anders sein). Zu diesem Menüpunkt kommt man allerdings nicht als normaler 'Benutzer' hin, nur als 'Fachmann' (nach Eingabe des Codes).
Oder vielleicht einfach mal neu starten (10s Strom aus). Mach ich inzwischen schon automatisiert, entweder direkt über Auswertung des Fehler Codes 9039 oder indirekt, wenn die über einen externen Fühler gemessene Speichertemperatur mit der internen T-WW mehr als 1° auseinanderläuft.
Freut mich, dass Dein 'neues' System nun mit der Heizung sprechen kann. Mein System ist ja schon ein paar Jahre alt, da war die Hardware wohl noch die Ältere...
LG
Mic
-
@michael-wind
"Keine Kommunikation" taucht nicht mehr auf.
Noch zwei Fragen.
Bei der FHEM Lösung hatte ich bei aktualisierten Werten diese sofort angezeigt bekommen. Geht das hier irgendwie auch?
Warum tauchen immer wieder diese nicht konfigurierte Daten auf? Habe schon auf Löschen bei Start gestellt, die kommen aber immer wieder. -
@michael-wind
Und noch eine Frage. Wenn ich die ganzen nicht-benutzen Werte aus dem Adapter lösche, tauchen sie noch einige Zeit wieder auf.
Kann man die nicht Endgültig löschen? -
@hg6806 sagte in Test Adapter canbus v1.1.x Latest:
Bei der FHEM Lösung hatte ich bei aktualisierten Werten diese sofort angezeigt bekommen. Geht das hier irgendwie auch?
Sobald von der Rotex neue Werte gesendet werden, sollten diese auch direkt im Adapter auftauchen.
Alles andere muss aktiv abgefragt werden (macht FHEM dabei genauso).
Wenn du die Werte schneller haben willst, musst du den Intervall für das automatische Setzen verkürzen, z.B. auf 3000 für alle 3 Sekunden. Ich weiß allerdings nicht, welche Abfrageintervalle hier seitens der Rotex unterstützt werden.@hg6806 sagte in Test Adapter canbus v1.1.x Latest:
Und noch eine Frage. Wenn ich die ganzen nicht-benutzen Werte aus dem Adapter lösche, tauchen sie noch einige Zeit wieder auf.
Kann man die nicht Endgültig löschen?Wenn du nur die Objekte/States löschst, dann werden die spätestens beim Adapterneustart immer wieder angelegt.
Was du nicht brauchst, kannst du aber in der Konfiguration löschen. Dazu einfach bei den entsprechenden Nachrichten die passenden Parser raussuchen, löschen und dann speichern. Die Objekte davon werden dann auch beim Adapterstart gelöscht. Zudem solltest du unter "Allgemein" die Option "Gesehene Nachrichten automatisch hinzufügen" nicht aktivieren und "Nicht konfigurierte Nachrichten löschen" aktivieren. -
Ales klar, vielen Dank.
Wie schon geschrieben, lösche ich das im Adapter (Parser war gemeint), und sie kommen immer wieder.
Allerdings ist der Adapter auch gestoppt, da ich die CAN Verbindung erst einmal getrennt habe.
Vielleicht liegt es daran.Nächste Woche wird alles dann verkabelt und alles umgesetzt auch den CAN-ioBroker Lösung.
-
@hg6806 In der Adapterconfig dürfte da nichts von alleine dazu kommen, wenn du gespeichert hast. Außer du lädst neu die Config von GitHub rein.
Die Objekte werden erst beim Start vom Adapter dann aufgeräumt und bleiben solange noch erhalten.
Du kannst den Adapter auch kurz ohne angeschlossenen Bus starten. Dann werden zumindest die Objekte aufgeräumt. -
So, habe jetzt auf CAN-Anbindung mit dem CAN Adapter umgestellt.
Läuft soweit, habe aber noch einige Fragen.Wenn ich den Wert "canbus.0.680.13-set" = "T-WW Soll1 setzen" verändere, dauert es schon eine recht lange Zeit bis der Wert "canbus.0.300.05" = "T-WW Soll1" dann letztendlich anzeigt. Kommt die Verzögerung von der HPSU? Ein Timing kann man hier nicht einstellen.
Über welchen Wert kann ich die Heizkurve verändern? Ich sehe da nichts. Kann aber auch sein, dass ich den Wert aus Versehen gelöscht habe.
Es werden immer Ordner wie "canbus.0.10A" oder "canbus.0.600" erzeugt. Kann man das verhindern?
-
Hallo @hg6806,
was meinst du mit recht lange Zeit?
Von meiner Homematic habe ich gelernt, das alle Befehle nur zeitverzögert sauber abgearbeitet werden. Dementsprechend habe ich das bei meinem ioBroker mit 20 Adaptern auf einem RasPi3B für Kostal, Homematik, etc in den Blockly Scripten auch gleich so gemacht: 100 Millisekunden nach dem SET, frage ich mit dem ASK, nach weiteren 100 Millisekunden schaue ich mir das READ an und das hat bislang immer sauber funktioniert.Mic
-
@michael-wind
Damit meine 10-30 Sekunden, keine Millisekunden!
-
Um das Ganze mal etwas vom Adaptertest zu entkoppeln, habe ich zwei neue Themen zum Adapter und zu den Wärmepumpen erstellt:
[Adapter] CAN-Bus - Beschreibung, FAQ, Diskussionen, etc.
Rotex HPSU / Daikin Altherma Wärmepumpe über ioBroker.canbus
Alles was nicht direkt mit dem Adaptertest zu tun hat bitte von nun an dort rein.
@hg6806 Im Thema zur Rotex HPSU habe ich auch ein kurzes Script gepostet, was dein Problem mit der Anzeige der geänderten Werte lösen sollte.
-
@crycode Kurze Frage zu der Option "Automatisch einen bestimmten Wert setzen": bei meiner Konfiguration (andere Heizung) hab ich unter der ASK ID 680 z.b. 10 unterschiedliche Parser. Die Ergebnisse werden mit der Receive ID 690 (auch 10 unterschiedliche Parser) empfangen. Brauch ich jetzt zum zyklischen Abfragen (z.B. jede Minute) meiner 10 Werte ein zusätzliches Script oder kann ich einfach bei allen 10 ASK-Parsern das Intervall 60000 setzen?
-
@dreman Genau dafür ist diese Funktion gedacht, damit man eben nicht extra Scripte erstellen muss, um z.B. regelmäßig irgendwas abzufragen.
Einfach bei den entsprechenden Parsern aktivieren, Intervall und Wert festlegen und fertig. Um Abfragen zu Triggern wird der Wert wahrscheinlichtrue
(bzw. Haken gesetzt) sein.