NEWS
Test Adapter canbus v1.1.x Latest
-
OK, dann besorge ich mir erst einmal ein CAN-HAT und Kabel.
Ich hatte mir LiYCY 2x0,25mm2 rausgesucht. -
-
Hallo crycode
Vielen Dank für den Adapter. Zurzeit suche ich die Möglichkeit die Daten einer NMEA 2000 Schnittstelle in den iobroker und das in die Objekte zu bringen. Bevor ich mich nun in Unkosten stürze möchte ich dich fragen wie Du die Chancen siehst, dass ich das zum laufen bringe. Schlussendlich ist das Ziel die NMEA Daten zu visualisieren mit dem VIS um alles auf einem iPad anzuzeigen bzw. zu steuern.
Je nach deiner Meinung würde ich dann eine Versuchsanlage aufbauen; bestehend aus:
Nach meiner Recherche im Netz dürfte die NMEA Schnittstelle ein CAN BUS sein und somit müssten die Daten bzw. die Objekte in den iobroker übernommen werden.
https://de.wikipedia.org/wiki/NMEA_2000
https://seabits.com/nmea-2000-powered-raspberry-pi/Vielen Dank für deine Meinung. Hoffe ich kann das realisieren.
Gruss
-
@sentinel997 Hi, alles nach bestem Wissen, aber ohne Gewähr, da ich selbst bislang nichts mit NEMA zu tun hatte...
Also die Hardware sieht dafür schon mal gut aus würde ich sagen.
Ich hab mal kurz ein paar Sachen zum NEMA 2000 gelesen. Wenn ich das richtig sehe, werden hier 250 kbit/s und das Extrend Frame Format benutzt.
Für dich entscheidend wäre jetzt zu wissen, mit welchen CAN-IDs welche Daten übertragen werden. Sind evtl. die PGN auf Wikipedia die CAN-IDs (in dezimaler Darstellung)?
Mit ein paar Infos aus dem Netz und ein paar candumps sollte sich da aber sichlich was ableiten lassen.Wenn nur einfache Datensätze pro CAN-ID übertragen werden, dann reichen die "normalen" Parser des Adapters. Wenn es jedoch spezieller wird (wie bei der Rotex HPSU), müssen ein paar zusätzliche Parser-Scripte her.
Auf jeden Fall eine interessante Anwendung, die sicherlich auch andere Nutzer interessieren könnte.
Sofern wir eine funktionierende Config hinbekommen, kann ich die dann auch gerne als "vordefinierte Config" für den Adapter bereitstellen.Grüße
Peter -
Wenn hier Abtaugeschädigte von der Rotex HPSU sind habe ich ein Script vorbereitet was den WW Verbrauch reduziert.Sowas wird ja auch im FHEM Forum behandelt.Könnte man ja auch mit im Github aufnehmen.
Nen Script für einmalige WW Bereitung wo nicht der Heizstab genommen wird hab ich auch erstellt.
COP und Thermische Leistungsberechnung auch. -
@cb187 Hi. Ich wäre sehr interessiert an diesen Scripten. Könntest du sie zur Verfügung stellen?
Danke & Grüße
-
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.