mikrocontroller.net

Forum: Haus & Smart Home Siedle In-Home-Bus Protokoll


Autor: Conny G. (conny_g)
Datum:
Angehängte Dateien:

Bewertung
5 lesenswert
nicht lesenswert
Hallo,

ich habe gerade Spass daran, die Siedle-Haussprech- und 
Türoffnungsanlage in meine Home Automation zu integrieren, möchte z.B. 
ein Türklingeln an mein Telefon weiterleiten (wie werde ich noch sehen, 
ob Voip Call oder SMS oder per TCP/IP eine App ansteuern...) und dann 
von dort mit dem Besucher sprechen und die Tür öffnen können.
Oder unter bestimmten Bedingungen die Türe automatisch öffnen, z.B. wenn 
jemand (ich) eine bestimmte Sequenz klingelt. Oder auch wenn ich per 
Web-App das tue statt mit dem Hausschlüssel, weil ich ihn vergessen 
habe. Was weiss, ich - großer Spass jedenfalls.

Zum Vario-Bus (der Bedienpanel-Bus) gibt es hier ja schon eine Doku:
Beitrag "[Referenz] Siedle Vario Bus Protokoll, COM611 Codetastatur"

Ich bin nun dabei das Siedle In-Home-Bus-Protokoll zu analysieren und 
habe soeben erfolgreich selbst per uC-Schaltung ein Klingeln meines 
Siedle-Telefons auf dem Bus ausgelöst. Schaltplan dazu - supersimpel, 2 
Transistoren, 4 Widerstände und eine LED an Atmega328 - stelle ich 
später noch ein.

Anbei Oszi-Screenshot von einem Klingelbefehl.

Auf dem Bus liegen 20V an (in 15m Entfernung vom Netzteil, das macht 
27V).
Durch einen ersten Impuls auf die Leitung wird die Bussteuerung 
vorgewarnt, dass gleich Daten kommen werden, dafür wird die Leitung für 
11ms auf 1k Ohm Last gelegt.
Nach diesen 11ms werden die Daten mit einer Last von 50 Ohm übertragen, 
etwa 1ms pro Bit insgesamt 32 Bit.
Mit dem Beginn der 50 Ohm Last schaltet das Netzteil / der Controller 
automatisch auf Datentransfer und zieht die Spannung auf 3V (?).
Die Anlage ist recht genau, was das Timing angeht, hatte anfangs eine 
Abweichung von ca. 5%, das hat nicht geklappt, nach Fine-Justage hat es 
erfolgreich geklingelt.
Wenn das Timing nicht passt zieht der Controller auch recht schnell die 
Spannung wieder hoch, sie hält also nur solange unten wie man sendet. 
Und bei der Zeit für 32 Bit geht die Spannung auch direkt wieder hoch.

Habe für's erste nur die Bitformation genau so nachgebaut wie ich sie 
aufgezeichnet hatte. Als nächstes steht an den Inhalt zu entschlüsseln.

Auf jeden Fall gibt es sowas wie Absenderadresse und Befehl und die 
gewünschte "Gegenseite" speichert sich dann, wer was darf.
Denn die Programmierung von hausinternem Ruf funktioniert so:
- Buscontroller auf Programmierung stellen
- beide Telefone auf Programmierung stellen
- auf jeden Telefon die Ruftaste drücken, wie das andere Telefon 
erreicht werden soll
- Programmiermodus abschalten

Daraus ergibt sich, dass die Adress-/Befehlsinfo verteilt gespeichert 
wird:
das Telefon, das angeklingelt wird speichert sich, wer es mit welcher 
Taste anklingeln darf.
Das Telefon, das anruft, weiss von der Gegenseite nichts.
So funktionieren auch andere Programmierschemata, habe sie aber noch 
nicht systematisch durchgegangen.

Falls hier jemand mitmachen möchte: bitte melden!

Vg,
Conny

Autor: 3s-gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Conny,

gibt es Neues?
Kannst du bitte deine Schaltung posten?

Ich habe gerade einen Testaufbau bei mir auf dem Schreibtisch:

BNG 650 "Zentrale"
BTM650-02 Tasten
BTM650-03 Tasten
BTLM650 Tuersprecher + Lichttaste
5x BTS 850 Haustelefon

Noch habe ich nicht vor was zu steuern, eigentlich wollte ich es nur im 
Haus verbauen, aber das Oszi stand eh daneben und zu Testzwecken ist so 
ein Aufbau auf einem Tisch ganz nett.

-3S

Autor: Conny G. (conny_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo 3s-gast,

ich habe hier noch nicht viel weitergemacht, habe noch andere Projekte 
fertigzustellen.
Die Schaltung Signal-Erkennung und Generierung kann ich gerne posten, 
muss sie nur noch kurz in Eagle zusammenstellen, innerhalb der nächsten 
Tage.

BTS 850, ist das evtl. schon eins mit Videobus? Dort gibt's nämlich 
neben dem Audiosignal noch das Videosignal auf dem Bus und man braucht 
dann m.E. schon Bandfilter um an die einzelnen Signale zu kommen.
Wobei die von mir genannten Befehle vermutlich noch auf dieselbe Weise 
übertragen werden und Audio evtl. auch noch unmoduliert.

Vg,
Conny

Autor: 3s-gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Conny,

Also in meiner Anlage ist nichts mit Video :-)
Das BTS 850 ist das billigste Telefon von Siedle, mit drei Tasten.
Vielleicht kann man das BTS 850 auch an einer Anlage mit Video betreiben 
ohne das es mit dem Videosignal Probleme gibt, aber das kann ich nicht 
testen.

Gruss,
3S

Autor: Conny G. (conny_g)
Datum:
Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
3s-gast,

anbei nun die Schaltung. Hat ein bisschen gedauert, bis ich Zeit hatte 
sie in einen Schaltplan einzuzeichnen.

Der interessante Teil ist rechts oben: Q2/Q3 sind der "Detektor": die 
von der Siedle eingehende Spannung geht auf 2 Spannungsteiler.
Einer davon detektiert eine Bus-Message an sich, also ob die Spannung 
von der Zentrale gesenkt wird um gleich Bits zu übermitteln. Der zweite 
spiegelt die Bits wider.

Q2 detektiert, ob auf dem Bus ein Signal anliegt, also die Spannung 
abgesenkt wird.
Der Transistor schaltet durch sobald auf der BE-Strecke 0,7V erreicht 
werden, d.h. in Bezug auf den Emitter muss der Spannungsteiler eine 
Spannung von <= 4,3 Volt an die Basis legen.
Also an den 4,7kOhm 4,3V:
4,7kOhm / 14,7kOhm * V_siedle = 4,3V
oder
V_siedle = 4,3V * 14,7 / 4,7 = 13,4V

Ich bekomme hier also ein High vom Transistor, wenn der Bus unter 13,4V 
abgesenkt wird (ganz beliebiger Wert, halt deutlich unter den 20V und 
deutlich über den 7V wo die Bits zappeln).

Q3:
schaltet durch sobald an den 10kOhm weniger als 4,3V an liegen, also 
10/11,5 * V_siedle = 4,3 oder v_siedle = 4,3 * 11,5 / 10 = 4,9 Volt.
D.h. also Q3 gibt mir jedesmal ein Signal, wenn die Spannung auf dem 
Siedle-Bus unter die 4,9 Volt gehen.
Die 4,9 Volt liegen genau in dem Bereich, wo die Bits zappeln, zwischen 
2V und 7V.
Ich bekomme also ein High für jede Unterschreitung von 4,9V, also für 
jedes übertragene Bit.

Aus diesen beiden kann ich dann das Signal zusammensetzen.
Leider weiss ich noch nicht, ob hier ein Low der Bits wirklich eine Null 
sind oder umgekehrt und was am Ende die 32 Bit bedeuten.
Ich kann so momentan auf Befehle reagieren, die ich aufzeichne 
(Türklingel aussen, innen, Licht etc) und ich kann welche schicken, die 
ich kenne (Türöffner), aber ich kann die Werte noch nicht verstehen.

Q4 und Q5 machen das umgekehrte, sie senden ein Signal auf den Bus.
Sie ziehen das Signal auf dem Bus herunter, wie im Eingangspost 
beschreiben.
Leider weiss ich die Widerstandswerte gerade nicht mehr ganz genau, ich 
glaube es waren einmal 1k oder 2.2k und einmal 50 Ohm.
Und man muss einmal, glaube mit den 50 Ohm für 1ms runterziehen, damit 
der Controller die Spannung absenkt und dann mit den 1k die Bits 
wackeln.
Ist per Versuch ermittelt, keine Ahnung, ob die Siedle-Anlage das 
irgendwann mal übel nimmt und sich ausklinkt ;-)
Also besser nur mit der eigenen machen und nicht mit der des 
Vermieters...

Autor: Thomas Abraham (Firma: DEH0511 Dienstleistungen) (deh0511)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Conny wie hast du es mit den Optokoppler gelöst?

Gruß Thomas

Autor: Conny G. (conny_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas Abraham schrieb:
> Conny wie hast du es mit den Optokoppler gelöst?
>
> Gruß Thomas

Wie meinst Du das?
Da ist kein Optokoppler drin?
Ich habe eine neue Version der Schaltung mit Operationsverstärker bzw 
Komparator in Arbeit, der Detektor läuft da mit Opamp statt 
Transistoren.

Autor: Waldemar F. (drhack)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey Conny,

hast du da etwas inzwischen stabil in Betrieb? Evtl. genaue Infos zum 
Initialisieren der Übertragung? Du warst dir oben nicht mehr sicher 
welche Dauer und welche Last. Hast du auch ein Schaltbild mit dem 
Op-Amp?

Ich hatte vor, im Zuge der Hausautomatisierung mich mal auch an den 
In-Home-Bus zu klemmen. Habe hier noch ein paar ESP8266 rumliegen und 
diese Winzlinge passen ohne Probleme in meine Sprechanlage. Das ganze 
dann als WLAN MQTT Bridge an den Broker und es lässt sich alles 
automatisiert bedienen ;)

Gruß
Waldi

Autor: Conny G. (conny_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Waldi:
Nein, habe das noch nicht stabil in Betrieb. Hatte noch ein Problem, 
dass zuviel Eingangskapazität in meiner Schaltung das Audio auf dem Bus 
stark dämpft.
Das konnte ich mit einem Gyrator beheben (Tipp hier im Forum). Das hatte 
aber wiederum den Effekt, dass der Gyrator mein Senden eines Signals 
killte, da schlägt dann wieder die Eingangskapazität zu, wie es scheint.
Ich hab das mal pausiert, weil ich nach einigen Stunden denken, 
recherchieren und testen nicht weiterkam und auch noch andere Projekte 
da sind, die ich weiterbringen will.
Man könnte sagen das Empfangen von Signalen klappt prima, beim Senden 
klemmt noch.

Autor: Felix E. (felix41382)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Conny,

danke für deiner erste Umsetzung. Konntest du das In-Bus-Home Protokoll 
weiter entschlüsseln?

Wenn Du Neuigkeiten für die Ansteuerung über Arduino hättest, wäre ich 
mehr als dankbar. Wir müssten bei uns sonst eine neue Anlage für 8k 
besorgen.

Eine Übergangslösung wäre für uns, wenn wir über das Strom-/CAT-Netzwerk 
den In-Home-Bus (Ta|Tb|ETR) extenden könnten. Gibt es eine fertige 
Lösung die ala Power over Ethernet solche Signale transportieren kann?

Danke für eure Hilfe!

Viele Grüße
Felix

Autor: Conny G. (conny_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Felix
mit der Entschlüsselung habe ich mich noch nicht weiter beschäftigt, mir 
reicht derzeit völlig aus die 2-3 Kommandos zu erkennen und die 2 
Türöffnungen zu senden.

Ob es was gibt für Ethernet, keine Ahnung. Ich erinnere mich daran, dass 
man ein Siedle-IP-Gateway dazukaufen kann, aber das kostet auch 
irgendwas 1.500-2.000 Euro.

Es gibt ein Siedle-Programmiermodul, mit dem man per sich per USB in den 
Bus klinken kann und die Endgeräte programmieren. Das habe ich mir mal 
gebraucht gekauft um damit irgendwann mal das Protokoll zu 
entschlüsseln.
Da müsste man einen USB-Sniffer dazwischenhängen (das gibt's, einfach 
eine Software auf dem Rechner, die das USB-Protokoll mitliest), dann 
kann man sehen, was die Software so mit dem Bus spricht.
Ich glaube man kann damit auch den Bus überwachen und Ereignisse 
protokollieren.

Autor: Felix E. (felix41382)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Antwort Conny. Kannst du mir die finale Arduino 
Schaltung zum Recorden/Replayen der Commands aufzeigen? Das würde mir 
schon sehr helfen. Letztendlich bildet das schon das Fundament für den 
Extender.

Idee:

in signal -> Arduino* -> TCP/IP --> Arduino* --> out signal

* mit Ethernet-Shield

Was das Signal im Detail bedeutet, muss ich dafür nicht verstehen.

: Bearbeitet durch User
Autor: Tobi Xx (ranger81)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Conny, zunächst mal vielen Dank für deine Analysen! Ich habe derzeit 
noch das Problem, dass die Audioübertragung stark gedämpft ist. Du hast 
in einem der vorherigen Beiträge von einem Gyrator zur Lösung des 
Problems geschrieben. Könntest du mir das näher erklären ggf. sogar mit 
einem Schaltplan?

Ich habe es schon mit einer einfachen Spule jeweils in Reihe von Ta und 
Tb versucht bin aber kläglich daran gescheitert das Audio-Signal zu 
verbessern.

Vielen Dank!

Autor: Conny G. (conny_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Tobi:
Hier der Thread zum Thema Gyrator:
Beitrag "Eingangskondensator dämpft Audio auf Busleitung"

@Felix:
dort gibt's auch den Schaltplan mit Komparator.

: Bearbeitet durch User
Autor: Tobi Xx (ranger81)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Conny: Vielen Dank für den Link.
Auf Basis der Beiträge im anderen Thread habe ich hier einen Schaltplan
des von dir gebauten Gyrators. Drei Werte sind mit allerdings noch
unbekannt (siehe Bild).
- Wert von R3 (33? du hast da glaube ich zwei Widerstände parallel?)
- Zener-Diode 15V? oder "normale" z.B. 1N4001
- Welches Mosfet/BJT hast du im Endeffekt verwendet?

Vielen Dank für deine großartige Analysearbeit und deine Unterstützung!

Autor: Felix E. (felix41382)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Conny. Kannst du mir bitte noch ein Auszug aus dem Arduino-Code 
geben, wie du das Aufnahmen und Wiederabspielen bewerkstelligst? Danke!

Schönes Wochenende Dir!

Autor: Conny G. (conny_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Tobi

Ich glaube die zwei parallelen für R3 sind 150 und 47 Ohm, also 35 Ohm.
Die Diode ist eine 1N4007, eine 1N4001 tut bestimmt auch.
Der Mosfet ist ein IRLU024N.

Mit den Werten experimentierte ich wild herum, der Gyrator schien mir da 
sehr tolerant zu sein und ich versuchte den Spannungsabfall am Gyrator 
zu minimieren, der ist mit dem Mosfet relativ hoch, 3-4 Volt.

Autor: Conny G. (conny_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Felix

Ist ohne Arduino, direkt mit Atmega328. Deshalb auch purer C Code. Muss 
mal schauen, ob der einfach extrahierbar ist oder ob zuviel anderes Zeug 
mit im Code ist. Wenn ich es in wenigen Minuten zusammengestellt bekomme 
poste ich es, mehr Zeit ist gerade nicht möglich ...

: Bearbeitet durch User
Autor: Conny G. (conny_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Felix:

Angeschaut, der Code ist nicht hübsch genug zur Veröffentlichung. Aber 
schicke mir gerne Deine Email-Adresse, dann schicke ich es Dir 
persönlich als Referenz für Deine Implementation.

Autor: Tobi Xx (ranger81)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Conny: Vielen Dank für die vielen Infos. Könntest du mir bei 
Gelegenheit auch eine Kopie deines Codes per Mail zusenden? Meine 
Mail-Adresse müsstest du schon haben.

Nochmals Danke!

Autor: Tobi Xx (ranger81)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe jetzt die Gyratorschaltung in Serie nach der Diode angeschlossen.
Die Lautstärke der Audioübertragung ist jetzt wesentlich besser bzw. 
unverändert zum Originalzustand!

Was ich bei Belastung (ca 150ma) allerdings immer noch habe, ist ein 
"schnelles rippeln/Schwingungen" im Hörer. Am Buck-Converter, der mir 
aus den ca. 15 V nach dem Gyrator 3.3V ausgibt, liegt es nicht. Auch mit 
einem linearen AMS1117-3.3 habe ich das selbe rippeln.

Testweise hab ich mal einen der zwei 100uF entfernt und das Rippeln wird 
deutlicher hörbar. Mehr C (1000uF) hat das Rippeln allerdings nicht 
wesentlich besser "unterdrückt".

Im zweiten Test habe ich den 22nF Kondensator im Gyrator gegen einen 
2.2uF ElKo ersetzt. Es scheint etwas besser geworden zu sein.

Bin ich da auf dem richtigen Weg?

Danke,
Grüße Tobi

: Bearbeitet durch User
Autor: Conny G. (conny_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Tobi:
Da kann ich jetzt nur mit gefährlichem Halbwissen spekulieren.
Die C's wirken ja als Glättungskondensatoren, aber solange kein 
Widerstand (RC-Glied) mit ins Spiel kommt hast Du immer noch hohe 
Ladeströme für die Glättung und die könnten den Ripple vor Deiner 
Schaltung auslösen.
Und diese Ladungsströme des C macht m.E. eine höhere Kapazität auch 
nicht weg, weil trotzdem im C noch nachgeladen wird was verbraucht wird.
Das wird nur besser, wenn man den Ladestrom des C bremst mit R oder L.

Der Gyrator wirkt - wenn ich das richtig verstanden habe - als 
Induktivität.
Ich lese, dass ein Gyrator C in L konvertiert, damit erhöht sich das L, 
wenn man das C erhöht und der Ladestrom wird stärker eingebremst.
Das würde erklären, warum mehr C im Gyrator hilft.

: Bearbeitet durch User
Autor: Felix E. (felix41382)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hey Conny,

ich bin deinem Rat gefolgt und habe mir mein erstes Oszilloskop 
zugelegt. Das Hantek 6022 BE mit 20MHz Auflösung reicht für mich 
komplett aus und hat im Falle des Siedle In-Home-Bus für "Licht im 
Dunkeln" gesorgt.

Die Ruhe-Spannung liegt bei meiner Anlage bei 30V. Anschließend erfolgt 
ein Spannungsdrop auf 1,79V für ein 0 Bit und geht auf 8V für ein 1 Bit. 
2mS pro Bit erfolgen.

Leider funktioniert deine Schaltung nicht. Ich erhalte kein Carrier 
Signal über den LM358. Sollte die Schaltung trotz der 
Spannungsabweichung noch funktionieren?

Danke für deine Hilfe.

Felix

Autor: Conny G. (conny_g)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Felix,

Du müsstest den Spannungsteiler am Komparator mal nachrechnen.
Hängt auch davon ab, welche Spannung Du als Referenzspannung dort hast, 
das ist bei den AVRs verschieden, welche ARef Du bekommst, wenn Du den 
ADC so schaltest.
Wenn meine Rechnung noch stimmt, dann habe ich da 2,56 Volt. Manche 
haben aber 1,1V.

Ich habe als Schaltschwellen für Carrier bei mir 14V und für Bits 5V 
festgelegt. D.h. ich werte das ganze als Signal, wenn die Spannung unter 
14V fällt und sehe eine Spannung unter 5V als 0 an und über 5V als 1 an.

Wenn nun die Referenzspannung 2,56 Volt ist und Carrier der Punkt 
zwischen dem 1,5k und dem 2,7k Widerstand ist musst Du Dir in einer 
Matrix ausrechnen, wann bei 14V diese Spannung unter 2,56 Volt kippt.
Bzw. Du musst Dir Widerstände ausrechnen, die das bewerkstelligen, bei 
mir waren das eben diese.
Dasselbe für die Bits.

Du machst Dir also eine Matrix mit Spannungen von 30V von links nach 
rechts und mit den 3 Widerständen vertikal und spielst solange damit 
rum, bis es für Dich passt.

Ich habe das mal schnell in Excel zusammengeworfen, hoffe das stimmt so. 
Damit kannst spielen und den Gesamtwiderstand auf der linken Seite so 
trimmen, dass Du mit den üblichen Widerstandswerten die richtigen 
Schwellen in der Matrix herausarbeiten kannst.

: Bearbeitet durch User
Autor: Conny G. (conny_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und, Felix, gibt's neues?

Autor: Felix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Conny:

Danke für deine Matrix. Leider bin ich noch nicht dazu gekommen. Aktuell 
geht es bei mir drunter & drüber. Diese Woche will ich mir aber die Zeit 
nehmen.

Ich berichte nach meinem Versuch :-)

Felix

Autor: A. H. (dernetteeddie1978)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Conny G. schrieb:
> Auf dem Bus liegen 20V an (in 15m Entfernung vom Netzteil, das macht
> 27V).
> Durch einen ersten Impuls auf die Leitung wird die Bussteuerung
> vorgewarnt, dass gleich Daten kommen werden, dafür wird die Leitung für
> 11ms auf 1k Ohm Last gelegt.
> Nach diesen 11ms werden die Daten mit einer Last von 50 Ohm übertragen,
> etwa 1ms pro Bit insgesamt 32 Bit.
> Mit dem Beginn der 50 Ohm Last schaltet das Netzteil / der Controller
> automatisch auf Datentransfer und zieht die Spannung auf 3V (?).
> Die Anlage ist recht genau, was das Timing angeht, hatte anfangs eine
> Abweichung von ca. 5%, das hat nicht geklappt, nach Fine-Justage hat es
> erfolgreich geklingelt.
> Wenn das Timing nicht passt zieht der Controller auch recht schnell die
> Spannung wieder hoch, sie hält also nur solange unten wie man sendet.
> Und bei der Zeit für 32 Bit geht die Spannung auch direkt wieder hoch.

Hi,

erstmal danke für eure schon sehr hilfreichen Beiträge. Ich belebe mal 
den alten Thred wieder.
Der Impuls - das ist der bei 4ms?
Auf dem Bild vom Oszi sind 50V/div eingestellt?
Kennst du zufällig das genaue Timing für ein Bit bzgl. Rise-/ Falltime?
Du hast das Bild nicht zufällig mit ner kleineren Zeitbasiseinstellung?
Konntest du das Protokoll mittlerweile analysieren?
Kennst du auch den Befehl zum Türöffnen?


Danke und Gruß
Eddie

Autor: A. H. (dernetteeddie1978)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
P.S.: Weiß jemand was das für ne Art Protokoll ist (I2C, UART, CAN...)? 
Die werden ja vermutl. nichts eigenes erfunden haben sondern irgendwas 
bestehendes implementiert haben?

Gruß

Autor: Conny G. (conny_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. H. schrieb:
> Conny G. schrieb:
>> Auf dem Bus liegen 20V an (in 15m Entfernung vom Netzteil, das macht
>> 27V).
>> Durch einen ersten Impuls auf die Leitung wird die Bussteuerung
>> vorgewarnt, dass gleich Daten kommen werden, dafür wird die Leitung für
>> 11ms auf 1k Ohm Last gelegt.
>> Nach diesen 11ms werden die Daten mit einer Last von 50 Ohm übertragen,
>> etwa 1ms pro Bit insgesamt 32 Bit.
>> Mit dem Beginn der 50 Ohm Last schaltet das Netzteil / der Controller
>> automatisch auf Datentransfer und zieht die Spannung auf 3V (?).
>> Die Anlage ist recht genau, was das Timing angeht, hatte anfangs eine
>> Abweichung von ca. 5%, das hat nicht geklappt, nach Fine-Justage hat es
>> erfolgreich geklingelt.
>> Wenn das Timing nicht passt zieht der Controller auch recht schnell die
>> Spannung wieder hoch, sie hält also nur solange unten wie man sendet.
>> Und bei der Zeit für 32 Bit geht die Spannung auch direkt wieder hoch.
>
> Hi,
>
> erstmal danke für eure schon sehr hilfreichen Beiträge. Ich belebe mal
> den alten Thred wieder.
> Der Impuls - das ist der bei 4ms?
> Auf dem Bild vom Oszi sind 50V/div eingestellt?
> Kennst du zufällig das genaue Timing für ein Bit bzgl. Rise-/ Falltime?
> Du hast das Bild nicht zufällig mit ner kleineren Zeitbasiseinstellung?
> Konntest du das Protokoll mittlerweile analysieren?
> Kennst du auch den Befehl zum Türöffnen?
>
>
> Danke und Gruß
> Eddie

Habe da lange nicht mehr weitergemacht, zuviele andere Projekte.

Ja, 50V/div aber 10x, d.h. 5V/div. Frag mich nicht, warum ich das so 
gemacht hatte :-)
Genaue Timings unbekannt, alles experimentell ermittelt.
Protokoll habe ich nicht weiter analysiert, ich muss nur aufzeichnen und 
wieder abspulen, was mich interessiert.
Der Befehl zum Türöffnen ist pro Türstation individuell unterschiedlich, 
für mehr Details müsste man die Zuordnung der Bits kennen.
Soviel ich das Protokoll verstanden habe besteht der Großteil der 32bit 
aus 2 Adressen, Sender und Empfänger, die sich beim Programmieren auf 
einen Adresse einigen bzw. sich über das Programmieren kennenlernen:
Man versetzt die Türstation in Programmiermodus und klingelt bei der 
entsprechenden Klingel. Damit weiß die Türstation, welcher Klingelcode 
(Sender) für sie relevant ist und an wen sie den Öffnungsbefehl schicken 
muss.
Vermutlich hat dann jede Station ein Grid von IDs für die verschiedenen 
Funktionen/Tasten, die dann ebenfalls in den 32 Bit enthalten sind.

Ich hatte damals eine Weile recherchiert und ich habe nur das Busprinzip 
gefunden, Spannungsversorgung und Datenübertragung in einem zu machen 
und über verschiedene Last/Ströme zu senden.
Aber das spezielle Protokoll habe ich nirgendwo gefunden. Can/RS485/... 
die üblichen Verdächtigen sind es m.E. nicht.
Könnte schon ein proprietäres sein.

: Bearbeitet durch User
Autor: Daniel P. (zwirbeljupp)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Conny,
danke für Deine detaillierten Untersuchungen, sehr aufschlussreich!

Habe versucht anhand Deiner Doku ebenfalls auf dem Siedle in-home-Bus zu 
kommunizieren. Verfüge hier über ein Siedle BTS 850-02 und möchte - 
ähnlich wie Du - eigentlich nur den Türöffner über den Bus betätigen 
können.
Dazu habe ich zunächst die Buskommunikation mit dem Oszi beim Drücken 
der Türöffnertaste am BTS 850 aufgezeichnet (siehe Anhang).

Leider werde ich aus Deinen Angaben zum Start der Buskommunikation nicht 
ganz schlau; für 1 ms auf 50 Ohm Last? 11 ms auf 1k Last? Deine Angaben 
in den verschiedenen Threads dazu sind nicht ganz eindeutig. Ich habe 
soweit alle Konstellationen durchprobiert, aber ich konnte bislang nicht 
erreichen, dass der Busmaster die Spannung für die ca. 65 ms absenkt.

Im Anhang siehst Du das Ergebnis, wenn ich mit ca. 50 Ohm Last den Bus 
für 11 ms belaste (blau = Signalpegel am Mikrocontroller, gelb = 
Busspannung (Ta) )
Die Spannung bricht zwar kurz ein, wird vom Busnetzteil aber scheinbar 
direkt wieder ausgeregelt.

Wenn ich direkt am BTS 850 die Busspannung (Ta) messe, sehe ich am 
Anfang der Kommunikation keinerlei Indiz dafür, dass dort das Gleiche 
geschieht.
Übersehe ich etwas?

Kannst Du vielleicht noch einmal genauer beschreiben, wie Du die 
Buskommunikation initialisierst? Es hilft sicherlich auch, wenn Du einen 
Schnipsel Deines Codes posten würdest.

Danke & Gruß
Daniel

Autor: Daniel P. (zwirbeljupp)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
mir ist noch etwas aufgefallen:

Ich habe ein kleines Test-Setup aufgebaut und erzeuge nun mittels 
Mikrocontroller Pulse von 1 bis 22 ms Länge auf dem Bus (mit 1kOhm Last 
und mit 50 Ohm Last getestet).
Bislang habe ich damit aber noch nicht erreichen können, dass der 
Busmaster die Spannung absenkt. Im Gegenteil:
wie die Screenshots zeigen, erzeuge ich Pulse unterschiedlicher Länge 
durch Anlegen einer 1kOhm Last (blaue Kurve), die Busspannung steigt in 
diesem Moment sofort an (um ca. 2,5 V). Allerdings tut sie dies immer 
für genau die gleiche Dauer, ca. 18 ms. Ich dachte zuerst, es handelt 
sich um einen Überschwinger, der durch das Nachregeln des Netzteils 
entsteht. Aber dagegen spricht, dass die Dauer des "Überschwingers" 
scheinbar unabhängig von der Länge meines Lastpulses ist.
Jemand eine Idee, was das bedeuten könnte?

Sobald der Lastpuls länger als ca. 11 ms andauert, bricht die 
Busspannung noch einmal kurz ein (auf das Ruheniveau), steigt nach 
Abschalten der Last aber wieder an. Seltsam.

Bin für alle Anregungen offen!

Danke & Gruß
daniel

Autor: Conny G. (conny_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Daniel,

ich habe mir zuletzt vor einem Jahr oder länger mit der Siedle-Schaltung 
beschäftigt und hab's damals mal zurückgestellt, weil ich nicht mehr 
weiterkam. Inzwischen glaube ich weiss ich was das Problem war und 
wollte man wieder versuchen :-)

Hier mal ein Debug-Schnippsel das in einer Schleife alle 5 Sekunden ein 
Kommando sendet (war es klingeln?).
Die tatsächliche Senderoutine sieht jetzt anders aus, aber ich hatte die 
zuletzt auch vermurkt wenn ich mich recht erinnere, bin ziemlich sicher, 
dass die nicht geht.

Nach aller Recherche ist der Siedle-Bus einer der auf Strom basiert, man 
muss per Strom seine Bits signalisieren. Und die Init-Sequenz hat soviel 
ich mich erinnern kann als Knackpunkt, dass man diesen kurz Puls mit den 
1-2kOhm setzt und danach sofort beginnt mit den Bits zu wackeln, also 
den 50 Ohm dazu zu schalten.
Wenn man das nicht tut oder sonst irgendein Timing-Fehler drin ist, 
schaltet der Bus gleich wieder hoch.
Ich kann mich auch erinnern, dass der Bus eher pingelig mit dem Timing 
war, die Abweichung durfte nur klein sein, sonst wurde vom Bus gleich 
abgebrochen.

Bei den Widerstandswerten bin ich mir nicht sicher, alles durch 
Probieren ermittelt, wann der Bus das tut was er soll und wann die 
Kurven die ich messe denen ähnlich werden, die der Bus selber sendet.

Vg,
Conny
  // PC0: 2,2k Ohm
  // PC1: 100 Ohm


  // 10ms 2,2k
  // bits mit 100 Ohm

  DDRC |= _BV( PC0 ) | _BV( PC1 );
  PORTC = 0;

  while (1)
  {
    long_delay( 5000 );
    PORTC |= _BV( PC0 );
    long_delay( 11 );
    PORTC &= ~_BV( PC0 );

    PORTC |= _BV( PC0 );
    PORTC |= _BV( PC1 );

    uint8_t bits[33] =
    {
      1, 0, 1, 0, 1, 0, 1, 1,
      0, 0, 1, 1, 0, 1, 0, 1,
      1, 1, 1, 0, 1, 0, 1, 1,
      1, 1, 0, 1, 1, 1, 1, 1,
      0
    };

    for (int i = 0; i < 33; i++ )
    {
      if ( bits[i] == 0 )
      {
        PORTC &= ~_BV( PC1 );
      }
      else
      {
        PORTC |= _BV( PC1 );
      }
      //for (int d = 0; d < 105; d++ )
        //_delay_us( 10 );
      long_delay( 1 );
    }

    PORTC &= ~_BV( PC1 );
    PORTC |= _BV( PC1 );
    PORTC &= ~_BV( PC1 );
    PORTC &= ~_BV( PC0 );
  }


Autor: Daniel P. (zwirbeljupp)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Conny,
danke für Deine Antwort!

Ich habe das so nachgebaut und würde inzwischen sagen, ich habe alles 
versucht: um Probleme mit dem Timing auszuschließen habe ich 
automatisiert die Länge des "Initialisierungspulses" im µs-Bereich 
zwischen 1 ms und 30 ms variiert. Wie von Dir vorgeschlagen danach 
direkt die Bits ausgegeben (Dauer pro Bit 2 ms, also entsprechend dem, 
was das Haustelefon produziert).
Zusätzlich habe ich die Widerstandswerte variiert, mal mit 50 Ohm 
initialisiert und mit 1 kOhm die Bits gewackelt, mal andersherum. Bis 
auf die Erkenntnis, dass das Busnetzteil (Siedle BNG 650-0) scheinbar 
ziemlich hart im Nehmen ist, bin ich leider nicht weitergekommen. Ich 
kann die Busspannungsabsenkung einfach nicht provozieren :( Entsprechend 
kommen meine Datenbits natürlich auch nur wild verzerrt auf dem Bus an.

Inzwischen vermute ich, dass die Initialisierung der Kommunikation, die 
das Busnetzteil dazu bewegt, die Spannung abzusenken, bei dieser neuen 
Version des in-home-Bus anders funktioniert, als bei Deiner 
Installation. Wenn ich mir das Oszillogramm der Buskommunikation 
(Haustelefon sendet "Tür öffnen") anschaue, finde ich keinerlei Indiz 
dafür, dass im Vorfeld der eigentlichen Kommunikation (=Übertragung der 
Datenbits) eine nennenswerte Last auf den Bus geschaltet wird. Die 
Spannung bricht nicht so ein (bzw. schwingt über), wie wenn ich dies mit 
der 1kOhm bzw. 50 Ohm Last erzwinge. Zudem finde ich auf der Platine 
keine Lastwiderstände bzw. Transistoren, die mit den Busleitungen 
verbunden sind (siehe Fotos). Stattdessen sind die Busleitungen direkt 
mit zwei Pins am ASIC (jeweils 4.7 kOhm in Reihe) verbunden (siehe 
Markierung im Foto).

Ich frage mich daher, wie die Initialisierung der Kommunikation denn 
sonst noch erfolgen könnte und wie ich das messtechnisch ermitteln kann? 
Ich habe es bereits mit einem "Shunt" (3.5 Ohm) in der Masseverbindung 
(bzw. Busleitung Tb) zum Haustelefon versucht und mir den 
Spannungsabfall darüber per Oszi angeschaut. Dort sehe ich zwar einen 
kleine Spike ganz zu Anfang der Buskommunikation, allerdings erst, 
sobald die Busspannung bereits abgesenkt wurde. Habt ihr noch Tips, was 
ich versuchen kann?

Gruß
daniel

Autor: Conny G. (conny_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also bei einem Bus mit Stromversorgung kann es nur mit Strom 
signalisiert werden, da gibt es gar keinen anderen Weg.

Autor: Daniel P. (zwirbeljupp)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Die Sache lässt mich nicht los. Ich habe erfolglos noch einmal diverse 
Timing- und Widerstandskonfigurationen getestet.
Ich frage mich immer noch, wie die Originalschaltung den Bus so 
drastisch von 30V auf 0V herunterziehen kann, ohne dass auf der Platine 
passende Widerstände oder FETs zu finden sind. Das muss also alles in 
dem ASIC stattfinden.

Zusätzlich habe ich nun eine Strommessung (Busleitung Ta zum 
Haustelefon) während des Sendens des Türöffnungssignals durchgeführt. Im 
Anhang (gelbe Kurve) ist ein Peak von 150µs zu sehen (1mV im Diagramm 
entspricht hier 1mA). Der Strom steigt also kurzzeitig auf über 700 mA 
an. Ist diese Rampe möglicherweise das Startsignal?

Hat noch jemand eine Idee, wie ich das Geheimnis messtechnisch lüften 
kann? Oder was ich noch versuchen kann, um die Kommunikation zu 
initialisieren?

Danke & Gruß
Daniel

Autor: Conny G. (conny_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rechne mal. R = U / I = 30 V / 0,7 A = 43 Ohm.

Versuche doch mal genau diesem Impuls von 40us und 700mA zu erzeugen, 
also für diese Zeit 40Ohm auf den Bus zu schalten.
Genau das machen meine 50 Ohm. Die Frage ist, wie das Timing genau sein 
muss. Ich habe es auf genau diese Weise damals rausgemessen und 
nachgestellt um kam so auf Schaltung und Timing und es funktionierte, 
bei mir jedenfalls. Aber ich habe auch schon festgestellt, dass die 
Anlage beim Timing recht pingelig ist.

Autor: Daniel P. (zwirbeljupp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Conny,
klar, die Rechnung habe ich natürlich auch schon gemacht und das ganze 
mit Widerständen hinunter bis 3.5 Ohm getestet. Damit zwinge ich die 
Busspannung natürlich kurzzeitig bis fast auf 0V, aber das Busnetzteil 
regelt den Strom gleich nach und versucht die Last auszugleichen, 
anstatt die Busspannung für die Datenübertragung abzusenken.

Hier ist mein Code, um automatisiert die Sendesequenz mit 
Initialisierungspulsen unterschiedlicher Länge durchzuführen:
(ist für einen PIC24FJ256GB106)
   BYTE bits[33] =
    {
       0,1,0,0,0,1,1,0,0,0,
       0,0,1,0,1,0,0,0,0,1,
       0,0,1,0,1,0,1,0,0,0,
       0,0,
       1
   };

void SendSeq(BYTE *bits, WORD initdel)
{
    // Pin D1:  activates 40 Ohm Load
    // Pin D2:  activates 1 kOhm Load
    
    BYTE i;
    
    // Bus Init Sequence
    EXP_D1_LAT = 1;     // 40 Ohm Load
    Delayus(initdel);   // Duration for Init-Pulse
    
    // switch off Init Load
    EXP_D1_LAT = 0;     // 40 Ohm 
    
    // send bits  
    for (i = 0; i < 33; i++ )
    {
        if ( bits[i] == 0 )
        {
            EXP_D2_LAT = 1;     // 1kOhm
        }
        else
        {
            EXP_D2_LAT = 0;     // 1kOhm
        }
        Delayus(2000);  // bit duration: 2ms
    }
    
    // release bus
    EXP_D1_LAT = 0;
    EXP_D2_LAT = 0;
}


void ScanSendSeq()
{
    WORD prr;
    BYTE txt[200];
    
    // Try to send sequence, cycle through init pulse durations from 10 µs to 30 ms
    // (actual data bits alway have a pulse width of 2 ms)
    for(prr = 10; prr <30000; prr+=10)
    {
        // debug output
        sprintf(txt,"\n\rsendseq with prr: %u us",prr);
        putsUART2(txt);
        
        // send the bit sequence with current init-pulse duration
        SendSeq(bits, prr);
        
        // wait some time before testing the next configuration
        Delayms(250);
        Delayms(250);
        Delayms(250);
        Delayms(250);
        Delayms(250);        
     
    }    
    
}


Beim Messen auf der Schaltung sind mir noch ein paar Sachen aufgefallen:
- Es gibt keine dedizierten Spannungsregler auf der Platine. Scheint 
alles der ASIC integriert zu haben
- Der Mikrocontroller wird mit ca. 3V betrieben
- ein Teil der Schaltung wird mit 8V versorgt (mit einem dicken 470 µF 
Kondensator gepuffert
- zusätzlich sind noch 7,4 V (ebenfalls mit 470 µF gepuffert) auf der 
Platine zu messen

Ich gehe davon aus, dass - sobald die Initialisierungsroutine vom 
Netzteil erkannt wurde - das Netzteil die Spannungsversorgung des Bus' 
komplett deaktiviert und die Schaltung des Haustelefons die 
Spannungsversorgung ~8V aus den Speicherelkos kurzzeitig zur Verfügung 
stellt (und damit auch die Datenpulse erzeugt werden)

Autor: Conny G. (conny_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel P. schrieb:
> Hier ist mein Code, um automatisiert die Sendesequenz mit
> Initialisierungspulsen unterschiedlicher Länge durchzuführen:
> (ist für einen PIC24FJ256GB106)

Sieht doch gut aus.
Versuche mal 1ms 50 Ohm + 1000 Ohm parallel, lass die 1000 Ohm an und 
nach 10ms Pause fange mit den Datenbits an, also die 1000 Ohm wackeln.
Möglicherweise will er eine Stromspitze sehen und dann dauerhaft den 
Strom der 1000 Ohm.

> Beim Messen auf der Schaltung sind mir noch ein paar Sachen aufgefallen:
> - Es gibt keine dedizierten Spannungsregler auf der Platine. Scheint
> alles der ASIC integriert zu haben
> - Der Mikrocontroller wird mit ca. 3V betrieben
> - ein Teil der Schaltung wird mit 8V versorgt (mit einem dicken 470 µF
> Kondensator gepuffert
> - zusätzlich sind noch 7,4 V (ebenfalls mit 470 µF gepuffert) auf der
> Platine zu messen

Die 8 bzw. 7,4V sehen danach aus als wäre da eine Diode oder ein Mosfet 
drin, der die 0,6V nimmt?

> Ich gehe davon aus, dass - sobald die Initialisierungsroutine vom
> Netzteil erkannt wurde - das Netzteil die Spannungsversorgung des Bus'
> komplett deaktiviert und die Schaltung des Haustelefons die
> Spannungsversorgung ~8V aus den Speicherelkos kurzzeitig zur Verfügung
> stellt (und damit auch die Datenpulse erzeugt werden)

Ja, das mache ich auch so, dass ein großer C den Spannungseinbruch 
während des Datenprotokolls puffert.
Das benötigt allerdings wiederum einen Gyrator um zu verhindern, dass 
der Elko das Audio-Signal und die Datensignale auf dem Bus dämpft.
Den hab ich auch und ich glaube genau da hatte ich zuletzt auch mein 
Problem, die "Induktivität" des Gyrators war zu gering und er lies noch 
zu, dass das Datensignal vom Elko gedämpft wird.
Findet sich auf der Siedle Platine ein Gyrator?

So hab ich meinen Gyrator gebaut:
http://www.loetstelle.net/projekte/gyrator/gyrator.php

Wie sieht denn Deine Schaltung aus, könntest von der einen Schaltplan 
posten?

: Bearbeitet durch User
Autor: Daniel P. (zwirbeljupp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für Deine schnelle Antwort!

Conny G. schrieb:
> Daniel P. schrieb:
>> Hier ist mein Code, um automatisiert die Sendesequenz mit
>> Initialisierungspulsen unterschiedlicher Länge durchzuführen:
>> (ist für einen PIC24FJ256GB106)
>
> Sieht doch gut aus.
> Versuche mal 1ms 50 Ohm + 1000 Ohm parallel, lass die 1000 Ohm an und
> nach 10ms Pause fange mit den Datenbits an, also die 1000 Ohm wackeln.
> Möglicherweise will er eine Stromspitze sehen und dann dauerhaft den
> Strom der 1000 Ohm.
Da hat sich leider auch nix getan...

> Ja, das mache ich auch so, dass ein großer C den Spannungseinbruch
> während des Datenprotokolls puffert.
> Das benötigt allerdings wiederum einen Gyrator um zu verhindern, dass
> der Elko das Audio-Signal und die Datensignale auf dem Bus dämpft.
> Den hab ich auch und ich glaube genau da hatte ich zuletzt auch mein
> Problem, die "Induktivität" des Gyrators war zu gering und er lies noch
> zu, dass das Datensignal vom Elko gedämpft wird.
> Findet sich auf der Siedle Platine ein Gyrator?
nein, kann ich so nicht erkennen.
Aber warum packst Du die Pufferelkos eigentlich an den Bus? Ich würde 
die HINTER den Spannungsregler setzen. Dann sollten sich doch die 
Probleme mit der Busdämpfung komplett erledigen, meinst Du nicht?

> Wie sieht denn Deine Schaltung aus, könntest von der einen Schaltplan
> posten?
Meine "Schaltung" besteht momentan nur aus einem PCB von einem anderen 
Projekt mit PIC Mikrocontroller, über den ich die zwei Widerstände auf 
den Bus schalten kann (also genau nach Deinem Vorschlag, BC337 mit den 
Pull-downs und den entsprechenden Last- und Basiswiderständen. Den 
Basiswiderstand habe ich allerdings auf 1,8k reduziert, da mein PIC mit 
3,3V läuft). Mehr nicht. Die Dekodierung des Signals habe ich noch nicht 
eingebaut, werde das aber vermutlich nicht mit Komparatoren, sondern 
über den ADC lösen.
Aber erstmal ist diese Businitialisierung zu besiegen!

Autor: Info (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Conny G. schrieb:
> Es gibt ein Siedle-Programmiermodul, mit dem man per sich per USB in den
> Bus klinken kann und die Endgeräte programmieren. Das habe ich mir mal
> gebraucht gekauft um damit irgendwann mal das Protokoll zu
> entschlüsseln.

Dazu eine Frage: um ein "Bus-Eingangs-Modul" (BEM-650-0) an BNG 650-0 zu 
konfigurieren ist offenbar zwingend das "Programmierinterface USB" (PRI 
602-01 USB) und das "Zubehör-Bus-Versorgung" (ZBVG 650-0) erforderlich.
Zusammen ca. 230 Euro!

Enthält dieses Modul irgendwelche Geheimnisse (direkter Bus-Zugriff?) 
oder nur einen USB-UART Chip? Der Treiber-Installer ist mit WiX erzeugt; 
mehr habe ich nicht herausfinden können.
Kurzum, lassen sich die Module evtl. "billig" konfigurieren (die 
Software kann heruntergeladen werden)?

Autor: Sven L. (sven_rvbg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ZBVG 650-01 ist eine Platine die ins Netzgerät gesteckt wird.

Auf dieser ist eine Westernbuchse, über die man das PRI anschließt.

Gegenüber der Programmiersoftware verhält sich das PRI wie ein COM-Port.

Inwieweit das Modul direkt den Bus adaptiert, weiß ich gerade nicht.

Auf jeden Fall ist es wertvoll zum Inbetriebnehmen und Fehler suchen.

Autor: Info (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke dir.

Auf ZBVG 650-01 ist offenbar nicht viel drauf:
Sieht aus wie zwei Steckverbinder, zwei Spannungsregler, ein paar Dioden 
und Drumherum:
  http://www.siedle.de/xs_db/BILD_DB/03000-03499/www...

Die Belegung wäre interessant. Und was im PRI steckt..


OT:
Sven L. schrieb:
> Auf jeden Fall ist es wertvoll zum Inbetriebnehmen und Fehler suchen.

Bei einer Inbetriebnahme/Änderung liegen 230 Euro Anschaffungskosten 
vermutlich über den Kosten für die Dienstleistung - wie 
kompliziert/aufwendig  ist denn die Einarbeitung/Konfiguration (einen 
Türkontakt (BEM) auf zwei neuen Innensprechstellen anzeigen)?

Autor: Info (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Firmware als hex gibt es bei Siedle zum Download.

Der Adapter ist gar nicht direkt für den "InHome-Bus", sondern für den 
"Sa/Sb Backbone" zwischen BNGs.

Aus der BPS Online Hilfe:
> Bei einem PC-Anschluss via USB wird der PC mit dem beiliegendem USB-Kabel mit 
dem PRI 602-...USB verbunden. Das PRI 602-...USB wiederum ist mit dem Sa-/Sb-Bus 
des Systems verbunden. Das PRI 602-...USB ist die transparente Schnittstelle des 
Sa-/Sb-Bus-Systems, und die BPS kann darüber mit allen angeschlossenenen 
Endgeräten in allen Strängen eine Verbindung herstellen.

Etwas widersprüchlich:

> Das PRI 602-...USB wird am Sa/Sb-Bus (Backbone) angeschlossen und leitet die 
Daten dieses Buses an den PC weiter. Beachten Sie, dass nicht alle Telegramme 
innerhalb eines InHome-Strangs auf diesem Sa/Sb-Bus vorhanden sind. Sogenannte 
"stranginterne Telegramme" bzw. Telegramme, deren Ziele nicht ausserhalb des 
jeweiligen Strangs liegen, sind auf dem Sa-/Sb-Bus nicht sichtbar!
> Wollen Sie stranginterne Telegramme aufzeichnen, so verwenden Sie bitte die die 
Kombination PRI 602-... und BIM. Hier sehen Sie jedoch nur diejenigen Telegramme 
innerhalb des angeschlossenen Strangs und nicht diejenigen stranginteren 
Telegramme anderer Stränge.

> Der Sa-/Sb-Bus muss beim Anschluss eines PRI 602-...USB eine Stromversorgung 
besitzen. Entweder separat über ein BVG650-... oder über eine Zubehör-Leiterplatte 
ZBVG 650-... (gesteckt innerhalb BNG/BVNG 650)

> Achtung: Die Zubehör-Leiterplatte ZBVG 650-... bzw. das BVG650-... darf 
innerhalb einer Mehrstrang-Anlage nur einmal(!) vorhanden sein.


Die Programmiersoftware ist auch herunterzuladen. Mit ihr kann man die 
Buskonfiguration auch offline als Gerätebaum zusammenklicken, Gruppen 
und Funktionen festlegen. Scheint recht einfach.

Autor: Sven L. (sven_rvbg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Info schrieb:
> Bei einer Inbetriebnahme/Änderung liegen 230 Euro Anschaffungskosten
> vermutlich über den Kosten für die Dienstleistung - wie
> kompliziert/aufwendig  ist denn die Einarbeitung/Konfiguration (einen
> Türkontakt (BEM) auf zwei neuen Innensprechstellen anzeigen)?

Das ist klar, aber wenn man öfter Siedleanlagen machen will, Gruppen 
braucht und ein Anbindung an eine Telefonanlage zu machen hat, kommt man 
nicht drum rum.

Je nach Größe der Anlage geht das Programmieren schneller oder 
langsamer.
Der Siedle Bus ist kein Highspeedbus.

Info schrieb:
> Die Firmware als hex gibt es bei Siedle zum Download.

>
> Der Adapter ist gar nicht direkt für den "InHome-Bus", sondern für den
> "Sa/Sb Backbone" zwischen BNGs.
Ich habe mit dem PRI und der Zusatzplatine letztens eine Einstranganlage 
programmiert. Zwei Aussenstation, Zwei Innenstationen und noch ein paar 
Zusatzmodule.

Mit Sa/Sb koppelt man mehrere Stränge, die Adapterplatine im NG koppelt 
in dem Fall auf Ta/Tb, der den Strang bedient.


>
>> Der Sa-/Sb-Bus muss beim Anschluss eines PRI 602-...USB eine Stromversorgung
> besitzen. Entweder separat über ein BVG650-... oder über eine
> Zubehör-Leiterplatte
> ZBVG 650-... (gesteckt innerhalb BNG/BVNG 650)
>
>> Achtung: Die Zubehör-Leiterplatte ZBVG 650-... bzw. das BVG650-... darf
> innerhalb einer Mehrstrang-Anlage nur einmal(!) vorhanden sein.
Halt immer in dem Strang der gerade programmiert werden soll.
>
> Die Programmiersoftware ist auch herunterzuladen. Mit ihr kann man die
> Buskonfiguration auch offline als Gerätebaum zusammenklicken, Gruppen
> und Funktionen festlegen. Scheint recht einfach.
Ja man kann offline bissel klicken, allerdings eher zum spielen.

Ich würde die Anlage installieren, auslesen, die Module identifizieren 
und benennen und dann programmieren

Autor: Manuel Bernhardt (prodigy7)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

habe hier im Haus auch eine Siedle-Anlage und würde gerne auch auf VoIP 
& Co. umstellen um es in meine Heimautomatisierung mit FHEM integrieren 
zu können. Soweit ich das hier lesen konnte, seid ihr noch nicht so weit 
gekommen oder? Wäre es nicht eventuell sinnvoll, sich irgendwo mit ein 
paar Drähten an die Sprechanlage zu hängen?

p7

Autor: Sven L. (sven_rvbg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manuel B. schrieb:
> Hallo zusammen,
>
> habe hier im Haus auch eine Siedle-Anlage und würde gerne auch auf VoIP
> & Co. umstellen um es in meine Heimautomatisierung mit FHEM integrieren
> zu können. Soweit ich das hier lesen konnte, seid ihr noch nicht so weit
> gekommen oder? Wäre es nicht eventuell sinnvoll, sich irgendwo mit ein
> paar Drähten an die Sprechanlage zu hängen?
>
> p7

Das hat man doch gemacht, man hat sich an den digitalen BUS von Siedle 
gehängt und hat versucht da etwas verwertbares rauszubekommen.

Keine Ahnung was Du konkret vor hast. Zur Anbinungen an Telefonsysteme 
nimmt man bei Siedle das DCA über einen entsprechenden Adapter hat man 
dann auch VoIP. Will man klingeln signalisieren verwendet man entweder 
die Relaiserweiterung für's DCA oder ein Bus-Schaltmodul.

Den Türöffner kann man koventionell mit einem Relais mit zwei Schließern 
realisieren.

Bei BUS-Anlagen tut man sich mit dem Programmierkabel leichter. Bzw wenn 
man mit Gruppen arbeiten will / muss kommt man nicht drum herum.

Autor: A. H. (dernetteeddie1978)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin ihr lieben,  also nach langer Zeit konnte ich mich dem Thema nun 
auch wieder widmen.

Bei mir ist das alles etwas anders als im Eingangspost beschrieben.

Der Ruhepegel liegt bei 30V.
Drückt man die Klingel so kommen direkt die 32 Bit, geführt von einer 
Null die auch so ne Art Sync sein könnte.
Die Dauer eines Bits beträgt 2ms.
Am Ende folgt noch so ne "halbe" Eins von ca 1ms.

Hab die Emmitter-Schaltung aus Connys zweitem Post kopiert,  aber nur 
dem Teil mit Transistor Q3.

Das ganze funktioniert bei mir wunderbar.  Hab die Bitfolge in ein Array 
geschrieben und sobald der Pegel auf der Leitung abfällt liest der 
Controller 32 Bit a 2ms ein. Wenn die Folge passt wirds Klingeln 
ausgelöst.

 Den Türöffner muss ich nun als nächstes machen.
Ist aber auf Bus das gleiche Prinzip,  hab die Bitfolge dazu auch schon 
ausgelesen

Im Bild seht ihr meine Oszillographie des Klingelbefehls.

Gruß
Eddie

Autor: A. H. (dernetteeddie1978)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ihr lieben,

nach ewigem rumprobieren bin ich nun leider auch nicht weitergekommen.

Grundsätzlich lässt sich auch bei mir keine gesonderte Initialisierung 
der Kommunikation feststellen. Stattdessen schickt das BTS-850 direkt 
die 32 Bit gefolgt von dem "halben" Bit das ich im Post zuvor schon 
erwähnt hab. Auch die Rampe die Daniel P. oben beschrieben hat ist bei 
mir vorhanden, sie hebt die Spannung um ca. 1 Volt an. Weiterhin ist zu 
sehen dass der Bus nach Ende der Kommunikation für einige ms auf 29V 
hochgeht. Ansonsten ist er bei 27,5V und nicht auf 30V wie ich oben 
drüber geschrieben hab.

Zur Strommessung nun hab auch ich einen Shunt in die Masseleitung 
geschaltet und die Spannung drüber gemessen. Allerdings hab ich 10 Ohm 
genommen.

Folgende Ströme hab ich gemessen:

High-Byte: 38,4mA @7,6V
Low-Byte:  47,2mA @ 2V

Ich hab nun Connys Schaltung mit Q4 und Q5 nachgebaut und folgende 
Widerstandswerte errechnet:

High: 7,6V/38,4mA = 198 Ohm
Low: 2V/47,2mA = 42 Ohm

Lege ich die 42 Ohm aber nun auf den Bus um eine Null zu schreiben, so 
zieht das Netzteil auch bei mir die Spannung sofort wieder hoch.
Das Netzteil regelt nach bereits 25µs zurück also lange bevor die ersten 
2ms für das erste Bit um sind und auch noch lange bevor die 150µs für 
die kleine Rampe um sind.

Die Zeit die das BTS-850 braucht um den Bus runter zu ziehen ist 
übrigens 50µs, also doppelt so lange wie das Netzteil sich Zeit nmmt um 
bei meiner Schaltung wieder hoch zu ziehen.

Angenommen der Stromfluss ist also falsch um die Null zu schreiben, so 
müsste das Netzteil ja zumindest die 50µs warten bevor es dagegen 
regelt.


Hat das von euch mittlerweile jemand lösen können?

Die 1000 Ohm parallel zu den 50 Ohm habe ich auch ohne Erfolg versucht.
Aber das erschließt sich mir auch nicht so ganz, da der Gesamtwiderstand 
damit ja grad mal 47 Ohm abfällt wenn man die beiden Werte parallel 
schaltet.

Gruß
Eddie

: Bearbeitet durch User
Autor: A. H. (dernetteeddie1978)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
P.S.: Wenn ich die Masseklemme des Oszi mal weglasse sehe ich auf beiden 
Leitungen statt der Gleichspannung einen Sinus von 20V und 50HZ. Weiß 
jemand was es damit auf sich hat?

Autor: John N. (johnic)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hello all,

mich würde interessieren, wie das Video- und Audiosignal über den 
in-home-bus übertragen wird: analog (Trägermodulation?) oder digital 
(Kodierung? Protokoll?).
Habe vergeblich die online Siedle-Dokumentation untersucht bzw. auf dem 
Net gesucht.
Weiss jemand Bescheid?

Autor: Conny G. (conny_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Analog soviel ich weiß.

Autor: John N. (johnic)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hello Conny,

Habe nicht vergessen, "Dankeschön" für die Info zu sagen; Habe nur 
gehofft, ich könnte diese Information direkt von Siedle bekommen, und so 
eine Anfrage dort abgesetzt. NAch lange hin und her, war ich gebounced, 
weil sie "Informationen dieser Art nicht veröffentlichen" und " es sich 
um "Betriebsgeheimnisse" handelt".
Somit verstehe ich nun auch den Sinn eures Forums: die Funktionsweise 
des in-home-bus durch try-and-error selber herauszufinden, da aus dem 
Hause Siedle nichts zu erfahren ist! Gratuliere alle Beteiligten. Macht 
munter weiter! :)

rgds / john

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.