|
|
(15 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| '''eBus Schaltung in Betrieb nehmen!'''
| | == Test der dynamischen Tracking-Kategorien == |
| | Im Folgenden werden bewusst |
| | * ein "syntaxhighlight" mit Syntaxfehler |
| | * das veraltete "source" Tag und |
| | * ein Dateilink auf eine nicht existierende Datei |
| | verwendet, um die zugehörigen Trackingkategorien zu "befüllen" und somit (auf weitere, unbeabsichtigte Vorkommen dieser "Fehler") kontrollieren zu können. |
| | <syntaxhighlight lang="perl"> |
| | #!/usr/bin/perl |
| | use strict; |
| | use warnings; |
|
| |
|
| Diese Beschreibung sollte hauptsächlich für Personen dienen, bei denen es nicht das tägliche Brot ist elektronische Schaltungen in Betrieb zu nehmen. Ich setze hier voraus, dass der Umgang mit einem Lötkolben klar ist. Wer noch nie gelötet hat, sollte besser einen Bekannten ersuchen der das schon gemacht hat.
| | use Path::Class; |
| | use autodie; # die if problem reading or writing a file |
|
| |
|
| [[Datei:Print 2.PNG|thumb|left|alt=eBus Platine]]
| | my $dir = dir("/tmp"); # /tmp |
| fertig aufgebaute eBus Platine, bereit für den Einsatz mit eBusd!
| |
| <div style="clear:both;"></div>
| |
|
| |
|
| =Interface= | | my $file = $dir->file("file.txt"); # /tmp/file.txt |
| ==Schaltung==
| |
| [[Datei:EBUS-IF-USB.png|thumb|left|alt=EBUS-USB Interface]]
| |
| Die Schaltung des eBus von Prof. Dr. Peter A. Henning ist eine bewährte Schaltung die von zahlreichen Usern bereits nachgebaut wurde. [http://www.fhemwiki.de/wiki/EBUS Link zum Beitrag im Wiki].
| |
| <div style="clear:both;"></div>
| |
|
| |
|
| ==Eigenbau(Lochrasterplatine)==
| | # Get a file_handle (IO::File object) you can write to |
| [[Datei:Selbstbau.png|thumb|left|alt=Platine]]
| | my $file_handle = $file->openw(); |
| Hier ein Beispiel eines Aufbaues auf einer Lochrasterplatine. Sieht nicht ganz so schön aus, tut aber genau so seine Dienste und ist natürlich etwas aufwändiger was die Lötarbeit betrifft. Für kleine Prototypen immer noch die ideale Art, besonders wenn es schnell gehen muss und man auf Platinenbestellungen nicht warten will.
| |
| <div style="clear:both;"></div>
| |
|
| |
|
| ==Platine== | | my @list = ('a', 'list', 'of', 'lines'); |
| [[Datei:Print1.5.PNG|thumb|left|alt=Platine]]
| |
| Der Nachbau der Schaltung kann am einfachsten mit einer fertigen Platine erfolgen.
| |
| Siehe dazu auch den [http://forum.fhem.de/index.php/topic,46098.0.html Link aus dem Forum]:
| |
| <div style="clear:both;"></div>
| |
|
| |
|
| ===Platine bestücken===
| | foreach my $line ( @list ) { |
| [[Datei:Print 1.PNG|thumb|left|alt=Platine bestücken]]
| | # Add the line to the file |
| Bei der Bestückung sollte darauf geachtet werden mit den niedrigsten Bauteilen zuerst zu beginnen, sonst fallen sie beim verlöten ständig heraus. Wer die Farbcodes der Widerstände nicht auswendig kennt sollte diese vorher mit einem Meßgerät (Ohmmeter) messen. Nach den Dioden und Widerständen können die IC Sockel eingelötet werden, hier sollte lediglich auf die Einkerbung laut Bestückungsaufdruck geachtet werden. Zum Schluß noch die restlichen Bauteile. Nach einer genaue Sichtkontrolle können noch die ICS eingesetzt werden. Diese können auf einer flachen Unterlage etwas vorgebogen werden, damit sie leichter in den Sockel passen.
| | $file_handle->print($line . "\n"); |
| <div style="clear:both;"></div>
| | } |
| '''Achtung''': der IC 4011 ist ein Cmos Schaltkreis und ist empfindlich gegen statische Aufladungen, daher die Beinchen nicht mit dem Finger berühren, bzw. ein Antistatikband am Arm verwenden.
| | </syntaxhighlight> |
| <div style="clear:both;"></div>
| |
|
| |
|
| ===Platine Messpunkte===
| | Test Tracking categories: |
| [[Datei:Messpunkte.png|thumb|left|alt=Platine messen]] | | [[Datei:Brokenfile.pdf]] |
| Hier noch der Schaltplan mit einigen wichtigen Spannungen für den Testbetrieb am Netzgerät. Bitte beachtet den Widerstand am Eingang des eBus und die Anschaltung der behelfsmäßigen Led zur Abstimmung. Spätestens dann, wenn die Schaltung auf Anhieb nicht funktionieren sollte, werdet ihr über so einen Versuchsaufbau nicht herum kommen. Hier kann in Ruhe die Schaltung getestet und gemessen werden. Defekte Bauteile oder fehlerhafte Lötstellen sollten dann schnell gefunden werden.
| | <source lang="html"> |
| <div style="clear:both;"></div> | | <Seiten mit dem veralteten source-Tag> |
| | |
| ===Poti abgleichen===
| |
| Zur ersten Justierung des Potis bitte den Dienst stoppen (service ebusd stop) und statt dessen mit minimalen Parametern und ohne irgendwelche CSVs direkt in der Kommandozeile starten.
| |
| | |
| ebusd -f -c /tmp --logareas bus --loglevel info -d $DEVICE
| |
| $DEVICE dabei einfach durch das entsprechende /dev/ttyUSB0 o.ä. ersetzen.
| |
| | |
| Danach aktiviert man noch aus einem zweiten Terminal wie folgt den raw output:
| |
| ebusctl raw
| |
| | |
| Somit erhält man im ebusd Fenster die empfangenen Bytes als Hex, also z.B.:
| |
| 2015-12-24 12:07:16.955 [bus notice] <aa
| |
| 2015-12-24 12:07:17.001 [bus notice] <aa
| |
| 2015-12-24 12:07:17.047 [bus notice] <aa
| |
| 2015-12-24 12:07:17.093 [bus notice] <aa
| |
| 2015-12-24 12:07:17.097 [bus notice] <10
| |
| 2015-12-24 12:07:17.102 [bus notice] <50
| |
| 2015-12-24 12:07:17.107 [bus notice] <b5 | |
| 2015-12-24 12:07:17.111 [bus notice] <04
| |
| | |
| Wenn gerade kein Gerät den Bus benutzt, dann sollten etwa 20 Zeilen pro Sekunde ausgegeben werden und zwar mit "<aa" (im Beispiel die oberen 4 Zeilen).
| |
| | |
| Sobald ein Gerät den Bus benutzt, sieht das natürlich wieder anders aus. Da sind dann kurze Peaks mit was anderem als "aa" zu sehen. Das sollte man dann ignorieren (im Beispiel die unteren 4 Zeilen).
| |
| | |
| Wichtig ist dann bei der Poti Einstellung, dass man vor allem die regulären "aa"s zu sehen bekommt. Erst wenn die zuverlässig reinlaufen, kann man sich der nächsten Stufe widmen und ebusd wieder regulär als Dienst starten.
| |
| | |
| ===Bekannte Fehler===
| |
| Das Logfile ist zur Inbetriebnahme unerlässlich und kann (zB. mit PsPad) ausgelesen werden.
| |
| 2015-12-22 16:27:34.195 [bus notice] signal acquired
| |
| 2015-12-22 16:28:12.029 [bus error] signal lost
| |
| 2015-12-22 16:28:12.339 [bus notice] signal acquired
| |
| 2015-12-22 16:28:14.006 [bus error] signal lost
| |
| 2015-12-22 16:28:16.372 [bus notice] signal acquired
| |
| 2015-12-22 16:28:18.023 [bus error] signal lost
| |
| 2015-12-22 16:28:18.729 [bus notice] signal acquired
| |
| 2015-12-22 16:28:20.458 [update notice] update myCustom Status01: 43.0;41.0;8.000;41.0;38.0;ok
| |
| 2015-12-22 16:28:26.460 [update notice] update bc Mode QQ=10: standby
| |
| 2015-12-22 16:28:30.436 [update notice] update myCustom Status01: 41.0;40.0;8.000;41.0;38.0;ok
| |
| 2015-12-22 16:28:32.458 [update notice] update broadcast vdatetime QQ=10: 16:24:52;22.12.2015
| |
| 2015-12-22 16:28:32.696 [update notice] update myCustom2 Pumpenstatus: ok
| |
| 2015-12-22 16:28:36.452 [update notice] update bc Mode QQ=10: standby
| |
| 2015-12-22 16:28:40.478 [update notice] update myCustom Status01: 40.0;39.0;7.750;41.0;38.0;ok
| |
| 2015-12-22 16:28:42.482 [update notice] update myCustom1 Status11: nosignal;41;5;18;-;-;-;-;8.000
| |
| 2015-12-22 16:28:42.753 [update notice] update myCustom Status02: auto;60;70.0;70;54.0
| |
| | |
| Hier ein typisches Log wenn das Poti noch nicht oder falsch kalibriert wurde.
| |
| Ab dem Eintrag 16:28:20.458 war dann die richtige Stellung gefunden. Das Poti soll daher zunächst ganz nach links (Transistor der Platine ist dann rechts unten) gedreht werden und dann vorsichtig auf etwa 2:00 Uhr. Bei knapp 2:00 Uhr ist bei der Testplatine dann die ideale Stellung. Der Stellbereich ist sehr klein (etwa 1-2 mm), daher einen Schraubendreher verwenden der sehr exakt passt und gleichzeitig mit dem Laptop abfragen starten. Zur Kontrolle dann das Log (var/log/ebusd.log) abfragen.
| |
| | |
| 2015-11-29 06:26:55.271 [update notice] update myCustom1 Status11: nosignal;40;0;15;-;-;-;-;-0.188
| |
| 2015-11-29 06:26:55.541 [update notice] update myCustom Status02: auto;60;70.0;70;54.0
| |
| 2015-11-29 06:26:59.293 [update notice] update bc Mode QQ=10: standby
| |
| 2015-11-29 06:27:03.323 [update notice] update myCustom Status01: 53.0;45.0;-0.438;47.0;46.0;error
| |
| 2015-11-29 06:27:05.268 [update notice] update broadcast outsidetemp QQ=10: -3.188
| |
| 2015-11-29 06:27:09.344 [update notice] update bc Mode QQ=10: standby
| |
| 2015-11-29 06:27:11.934 [bus error] send to 08: ERR: read timeout, retry
| |
| 2015-11-29 06:27:11.981 [bus error] send to 08: ERR: read timeout, retry
| |
| 2015-11-29 06:27:12.025 [bus error] send to 08: ERR: read timeout, retry
| |
| 2015-11-29 06:27:12.069 [bus error] send to 08: ERR: read timeout
| |
| | |
| In diesem Fall liegt ein Fehler bei jedem Sendeversuch vor. Ein "bus error" mit timeout sollte nicht (zu oft) zu finden sein. Gut zu sehen sind schon die Broadcast Meldungen, die selbständig über den Bus laufen und vom Konverter schon richtig interpretiert werden. Sollten wie in diesem Fall, die Meldungen nicht mit Texten zu lesen sein fehlen noch die Konfigurationfiles (csv) im Verzeichnis /etc/ebusd. Welche Files hier verwendet werden sollen ist natürlich von der Therme und dem Zubehör abhängig.
| |
| | |
| | |
| | |
| '''Achtung''': Der Autor übernimmt keine Haftung für die Anwendung dieser Schaltung. Zur Vermeidung von Schäden durch unsachgemäße Bedienung des Heizungssystems wird ausdrücklich empfohlen, nur lesend auf die Schnittstelle zugreifen.
| |
| | |
| ==Kommerzielles Interface==
| |
| Ein kommerzielles Interface für die Umsetzung eBus->USB ist hier erhältlich:
| |
| [https://www.eservice-online.de/produkte/ebus/ Ebuskoppler]
| |
| | |
| =Software=
| |
| Im Prinzip sollte man sich vorher überlegen ob man für den eBus einen eigenen Rechner Raspi) nimmt oder auf der bestehenden Fhem Installation laufen lassen sollte. Die Empfehlung ist eine Trennung, da dies mehrere Vorteile speziell zum Testen anbietet.
| |
| [[Datei:Ebusd-konfiguration.png|thumb|left|alt=eBus Konfiguration]]
| |
| Hier eine Konfiguration von Fhem und das Zusammenspiel mit eBusd via ECMD. Das soll aber jeder so handhaben wie es am Besten in das eigene Konzept passt.
| |
| <div style="clear:both;"></div>
| |
| | |
| ==eBusd Installation Packages==
| |
| | |
| ===Voraussetzungen===
| |
| Alle wichtigen Informationen findet man in der Wiki direkt vom [https://github.com/john30/ebusd/wiki/1.-Build-and-install Autor] des eBusd!
| |
| | |
| ===eBusd===
| |
| [https://github.com/john30/ebusd/releases GIT von John]
| |
| | |
| ===Konfigurationsdateien CSV Files===
| |
| Für die Übersetzung der binären Daten ist es notwendig die entsprechenden Konfigurationsdateien(CSV-Files) zu installieren.
| |
| Den aktuellen Stand dieser Dateien findet ihr im [https://github.com/john30/ebusd-configuration/releases GIT von John].
| |
| | |
| Beispiel Befehl zum Download und Entpacken:
| |
| wget https://github.com/john30/ebusd/releases/download/v2.0/ebusd-2.0_armhf.deb
| |
| wget https://github.com/john30/ebusd-configuration/releases/download/v2.0.1/ebusd-configuration-2.0.5aa482c-de_all.deb
| |
| sudo dpkg -i --force-overwrite ebusd-2.0_armhf.deb
| |
| sudo dpkg -i --force-overwrite ebusd-configuration-2.0.*.deb
| |
| | |
| ==eBusd Installation Build Prozess==
| |
| Nachdem alle Vorebreitungen getroffen wurden, kann der eBus auf dem lokalen Raspberry compiliert und installiert werden.
| |
| apt-get install git autoconf automake g++ make #Git am Raspi aktualisieren
| |
| git clone https://github.com/john30/ebusd.git # eBus auscchecken
| |
| | |
| | |
| <source lang="bash">
| |
| cd ebusd
| |
| sudo ./autogen.sh --prefix=/usr
| |
| sudo make
| |
| sudo make install
| |
| sudo cp /home/pi/ebusd/contrib/etc/init.d/ebusd.debian /etc/init.d/ebusd (Dämonstartfile kopieren
| |
| sudo update-rc.d ebusd Defaults
| |
| </source> | | </source> |
|
| | <syntaxhighlight> |
| Das kann je nach Geschwindigkeit des Rechners schon um die 20 Minuten dauern. Nach erfolgter Meldung kann dann schon getestet werden welche Version nun auf dem Rechner ist und ob der Dämon überhaupt schon läuft.
| | <syntaxhighlight ohne lang=> |
| | | </syntaxhighlight> |
| ebusd -V
| |
| PS -aux|grep ebusd
| |
| | |
| ===Voraussetzungen===
| |
| | |
| ===ebusd===
| |
| | |
| ===Dienstkonfiguration===
| |
| | |
| ===Logdatei (Logrotate)===
| |
| /var/log/ebusd.log { | |
| rotate 7
| |
| copytruncate
| |
| compress
| |
| missingok
| |
| notifempty
| |
| daily
| |
| }
| |
| Das Logfile kann in /etc/logrotate.d/ebusd konfiguriert werden.
| |
| In diesem Beispiel wird alle 7 Tage rotiert und komprimiert, das aktuelle Tagesfile ist unkomprimiert und normal lesbar.
| |
| [[Datei:Logfile.PNG|thumb|left|alt=Logfile Ansicht]]
| |
| Das Ergebnis aus der oben dargestellten Definition.
| |
| <div style="clear:both;"></div> | |
| | |
| =Systemüberwachung=
| |
| | |
| ==Mithilfe von Fhem==
| |
| | |
| ==Mithilfe von Watchdog==
| |
| | |
| =Beispiele=
| |
| | |
| ==Heizkurve==
| |
| | |
| ==Wochenprogramme==
| |
| | |
| ==Visualisierung und Steuerung mit FTUI
| |
| | |
| =Tipps & Tricks=
| |
| | |
| ==TBD==
| |
| | |
| ==USB Device unter Linux ermitteln==
| |
| | |
| ==EBUSD Checkconfig==
| |
| | |
| ==Bedeutung von "unknown MS" in der eBusd Logdatei==
| |
| | |
| ==Bedeutung von "lost Signal"==
| |
| | |
| ==ERR: duplicate Entry==
| |
| | |
| ==ERR: End if input reached==
| |
| | |
| ==BUS ERR send to 15==
| |
| | |
| =weiterführende Links=
| |
| Diskussionsthread aus dem Forum:
| |
| *[http://forum.fhem.de/index.php/topic,46098.0.html eBus Schaltung in Betrieb nehmen!]
| |
| *[http://forum.fhem.de/index.php/topic,29737.0.html Läuft: Heizung mit eBus-Schnittstelle]
| |