Hallo,
ich bin gerade durch die viele Freizeit bemüht noch ein paar Geräte in
mein Heimnetz einzubinden. Als nächstes wollte ich mir die
Türsprechanlage anschauen. Es ist eine Bticino Classe 100 v12e die einen
Zweidrahtbus verwendet um mit der Türstation zu kommunizieren.
Der Bus wird vom italienischen Hersteller als "SCS-Bus" bezeichnet:
https://en.wikipedia.org/wiki/Bus_SCS
Ich habe deshalb mal das Oszi angeworfen und das Signal beim freigeben
der Türe aufgenommen. Es ist wie auf der Wiki-Seite beschrieben eine
Gleichspannung von 27V (Ruhepegel) der ein digitales Signal
"aufmoduliert" wurde. Der Hub des digitalen Signals ist dabei ungefähr
5V (22-27V).
Um das ganze für einen uC aufzubereiten brauche ich noch ein Frontend
das mir die 27V entfernt und in 3,3V Pegel wandelt ohne dabei zuviel
Jitter/Phase zu erzeugen.
Den ersten Versuch habe ich mal als Simulation angehängt.
Ich wollte dabei das Signal nicht gleich ganz runter knüppeln. Wenn ich
das einfach über einen Spannungsteiler gemacht hätte, hätte ich einen
Faktor von 8,2. Das heißt der Hub wäre auf 600mV geschrumpft. Deshalb
der Versuch das Signal auf 24V zu lassen und über den Pull-Up des
Comparators das Signal zu wandeln.
Meine Fragen sind:
* Würde man das so machen?
* Was könnte man daran verbessern (Werte/Bauteile/Schaltung)?
Danke für konstruktive Beiträge
MaNi
Hallo MaNi,
arbeitest Du noch an dem Projekt? Wir haben in unserem Hackerspace auch
grade eine bticino-Türsprechanlage unter dem Messer. Wir haben bereits
ein funktionierendes Hardware-Interface und versuchen jetzt, das
Daten-Protokoll zu durchschauen.
Grüße
latchup
Hi latchup,
ja ich bin noch dabei. Die erste Hardware habe ich bestellt. Hat
allerdings ewig gedauert bis die Platine aus China kam. Erst letzte
Woche. Seither bin ich nicht mehr dazu gekommen.
Könnt ihr zu eurer Schaltung was sagen?
Zum Protokoll hatte ich Mal was gefunden. Ich suche Mal den Link raus
und poste ihm hier.
Grüße
MaNi
Hallo Mani,
ich habe auch das Bussystem von Bticino im Einsatz und würde gerne ein
paar Tasten der Türsprechanlage "Zweckentfremden" für div. andere
Funktionen. Dazu möchte ich mit einem uC und entsprechenden
Koppelschaltung am Bus "lauschen", wofür ich natürlich dann auch das
Protokoll entschlüsseln muss.
Wenn du da also Info hättest wäre ich sehr daran interessiert.
Grüße
Tom50
Die physikalische Schicht, ähnlich der vom KNX TP1- Standard verwendeten , ist eine RZ-Codierung mit 9600 Bit pro Sekunde, acht Bit pro Symbol, mit einem Startbit und einem Stoppbit. Die Null wird durch eine Unterbrechung von 34 µs (erhalten durch Anlegen einer Last an den Bus) dargestellt, gefolgt von 70 µs Stille, die Eins durch 104 µs Stille. Das Startbit ist Null, das Stoppbit ist Eins (die Umkehrung der herkömmlichen seriellen Codierung). Frames können kurz (sieben Symbole) oder erweitert (elf Symbole) sein und werden durch ein Symbol für den Anfang des Frames (0xA8) und eines für das Ende des Frames (0xA3) begrenzt. Innerhalb des Frames kann kein Symbol einen Wert größer als 0x7F haben, sodass keine spezielle Codierung erforderlich ist. Jeder Frame endet mit einem Steuercode, der über XOR erhalten wird aller Rahmensymbole ohne Trennzeichen.
Eine weitere italienische Seite liefert noch etwas mehr:
http://guidopic.altervista.org/alter/eibscsgt.html
Die von ihm verwendete Schaltung funktioniert bei mir weder in der
Simulation noch in Real richtig zuverlässig. Deshalb hatte ich hier
nachgefragt.
In obigem Link steht ja was von TP1. Deshalb dachte ich ich probier mal
die Empfangsstufe von freebus aus:
https://www.freebus.org/content/freebus-grundschaltung
In der Simulation sieht das schon ganz gut aus.
@latchup / Tom50: Könnt ihr noch was zu eurer verwendeten Hardware sagen
und noch ein Schaltbild oder ähnliches anhängen.
Gruß
MaNi
Hallo MaNi,
danke für deine Erläuterungen, damit komme ich sicher weiter. Ich stehe
noch am Anfang, möchte aber eine Schnittstelle zu eine Raspy schaffen
und damit dann den Rest der Steueraufgaben übernehmen. Arbeite aktuell
mit dem F454 Webserver von BTicino, aber das läuft nicht so richtig
stabil und man kann auch nur die vorgegebenen Befehle nutzen.
Melde mich wenn ich hier weiterkomme...
LG
Tom50
Hey Tom,
ich hatte nun mal wieder etwas Zeit und hab die mit dem Scope
aufgezeichneten Daten mal offline weiterverarbeitet.
Ich habe verschiedene Frames aufgezeichnet:
* Monitor in der Wohnung einschalten
* Türe öffnen
* Monitor in der Wohnung ausschalten
Die Frames in sich scheinen nun zu stimmen. Zumindest passt die
Prüfsumme.
Ein ACK wie in den Links oben beschrieben kann ich nicht sehen.
Aufgrund der unterschiedlichen Signalhöhe vermute ich aber schon dass da
ein Ping/Pong hin und her geht.
Zumindest bei manchen Frames.
Es wird sehr viel unbestätigt wiederholt. Viele Frames kommen in 3er
Paketen. Wahrscheinlich Sendewiederholungen.
So kommen für ein einfaches Monitor einschalten 21 Frames zusammen
(siehe Anhang).
Was die Frames aber genau bedeuten ist auch mit den Links von oben
schwierig.
Zumindest erkenne ich momentan noch keinen wirklichen Zusammenhang.
Hast Du noch irgendwelche Daten zu den Befehlen? Evtl. von deinem F454
Webserver?
Tom50 schrieb:> und man kann auch nur die vorgegebenen Befehle nutzen
Knobeln klingt doch gut. Auch wenn die Signale Ähnlichkeit zu KNX
aufweisen, auf der logischen Schicht ist es definitiv etwas Anderes.
Deine Pakete habe ich mal (ohne Wiederholungen) in Schriftform gebracht:
1
a8 98 a0 6f a4 f3 a3
2
a8 a0 a0 6f 06 69 a3
3
a8 98 a0 6f a0 f7 a3
4
a8 a0 a0 06 f0 69 a3
5
6
a8 b0 a0 6f 98 e7 a3
7
a8 91 96 69 88 7f a3
8
a8 b2 a0 6f 88 f5 a3
Wirft man nun Startbyte, Stoppbyte und CRC ("Steuercode") weg, bleibt:
1
98 a0 6f a4
2
a0 a0 6f 06
3
98 a0 6f a0
4
a0 a0 06 f0
5
6
b0 a0 6f 98
7
91 96 69 88
8
b2 a0 6f 88
Sieht für mich ein bisschen aus nach:
Befehl - Absender - Empfänger - Parameter
Bei ihm kommen aber zuerst die Adressen, dann das Command.
Wobei ich das auch eher so sehe wie Du. Die Adresse meiner Sprechanalage
steht auf 6. Passt also eher in das 3. Byte von deinem unteren Block.
Wobei das dann immernoch ziemlich Springen würde. Gerade im Nibble. 0x6F
könnte man sich ja noch mit einem Broadcast oder so erklären. 0x06 dann
die explizite Antwort. Wobei es dann komisch ist dass das Nibble
getauscht wird.
Meine Vermutung war, dass die letzten 3 Frames aufgrund ihres kleineren
Pegels von der Türstation zur Wohnung zurück geht. Dann müsste aber
eigentlich ja Absender und Empfänger tauschen. Machen sie aber nicht
wirklich.
Beim Ausschalten des Monitors kommt z.B. das hier:
1
a8b50660885ba3valid
Und das hier beim Anfordern des Ton:
1
a8b30660885da3valid
2
a8b4a06f88f3a3valid
Irgendwie noch nicht ganz durchschaubar das Ganze :-)
Ich rate ja hier nur zum Spaß mit, andere lösen dafür Sudokus.
Löst jedes Klingeln die gleiche Sequenz aus? Das erste Byte sieht mir
ein bisschen nach Rolling Counter aus, bin aber unsicher.
Kann ich verstehen. Ich mach das zu 80% auch nur zum Spaß.
Trotzdem sehen mehr Leute oft auch mehr, oder zumindest anders ?
Hmmm das muss ich morgen oder so Mal ausprobieren.
Sind ja immer ein paar Stockwerke ?
Ich habe etwas aufgerüstet. Der Frame vom klingeln oben war über einen
ESP an meinem MQTT Broker. Die Verkabelung ist immer sehr blöde dran zu
fuddeln.
Kommt man nicht vernünftig dran und ich habe noch nichts dass ich
dauerhaft installieren kann.
Leider kommen, wie ich gerade gemerkt habe, nicht alle Frames durch.
Hallo Leute,
wird noch an diesem Projet gearbeitet ? :)
Bei mir ist auch eine BTicino 2-Draht Gegensprechanlage verbaut. An
dieser wollte ich eine "Morsecode-Empfänger-Einheit" verbauen die bei
richteger Eingabe den Türöffner bedient.
Leider sind meine Elektronikkenntnisse begrenzt :( daher hatte ich
gehofft hier ein paar nützliche Tips zu erhalten. Oszi, Arduinio etc ist
vohanden :)
Wer könnte/will mir helfen ? :)
Danke
mfG
Philippe
Hallo Philippe,
ja ich bin noch daran. Allerdings habe ich seit geraumer Zeit zu viel zu
tun um wirklich weiter zu machen.
Der Leitungscode und die Physik ist so wie auf der italienischen Seite
beschrieben. Wie gesagt funktioniert die Empfangsstufe von Freebus
prinzipiell. Es hat noch ein paar Glitches drin die mir nicht so richtig
gefallen. Macht jetzt erst mal nichts aus, aber wenn es Zuverlässig
werden soll müssen die in meinen Augen noch weg.
Das Problem ist weiterhin dass es gut wäre zu wissen wie der genaue
Frameaufbau zu interpretieren ist. Da hängt es momentan dran.
Im Notfall müsste man die Lücke akzeptieren und einfach stumpf den Frame
senden. Es sei denn es wäre wirklich ein Rolling-Code wie oben von Max
G. geschrieben. War nur eine Idee von ihm, könnte aber natürlich sein.
Muss man mal noch checken...
Meine Anwendungsfall war, dass ich meine Festnetznummer verwende zum
öffnen der Türe.
Also jedesmal wenn meine Handynummer daheim anruft, wird das Event an
OpenHab weitergeleitet, der dann über MQTT den ESP triggert dass er die
Hauseingangstüre öffnen soll. Da ich das Festnetztelefon nicht
verwende...kein Problem da ich dann nur anrufe wenn ich die Türe öffnen
möchte.
Bei deiner Idee gibt es noch ein paar Dinge die du klären musst:
Werden überhaupt alle Tastendrücke weitergeleitet, oder lässt das
Klingel nur x Tastendrücke innerhalb einer gewissen Zeit zu? Hab schön
gehört dass da eine Art "Klingelstreich-Schutz" drin ist.
Wenn das der Fall wäre, dann wird das nichts mit Morsen.
Oder man müsste es so weit verlangsamen bis alle Events durchkommen.
Ist die Latenz zwischen Tastendruck und Weiterleitung über das Protokoll
immer die selbe? Wenn nicht wird das auch eher eine langsame
Geschichte...
Grüße
mani
Hallo Mani,
vielen Dank für deine schnelle ausführliche Rückmeldung.
Mit der Aussage "Im Notfall müsste man die Lücke akzeptieren und einfach
stumpf den Frame senden", hätte ich kein Problem :)
Das mit dem "Klingelstreich-Schutz" klingt einleuchtend .. daher müsste
ich einmal das ganze ausprobieren und per Oszi auslesen lassen.
Ansonsten wäre es eine Möglichkeit, zB nach 3x Klingeln und dabei
jedesmal abwarten bis das Event komplett abgearbeitet wurde, die Tür zu
öffnen. Würde etwas länger dauern aber funktionnieren.
Benutzt du eine externe Stromquelle oder greifst du die 27V vom Bus ab ?
Wie sieht es mit der Materialliste bzw. Materialkosten aus ?
Wäre deine Schaltung übertragbar auf meinen Anwendungsnutzen ?
Vielen Dank
Philippe
Hallo Philippe,
Schartz P. schrieb:> Mit der Aussage "Im Notfall müsste man die Lücke akzeptieren und einfach> stumpf den Frame senden", hätte ich kein Problem :)
Mich hätten auch die anderen Dienste/Infos interessiert die da teilweise
drüber gehen. Das Video wäre auch noch interessant, wobei das
wahrscheinlich irgendwie analog aufmoduliert ist. Bei 9600 Baud hätte
man sonst ein ziemliches Ruckeln :-)
Schartz P. schrieb:> Ansonsten wäre es eine Möglichkeit, zB nach 3x Klingeln und dabei> jedesmal abwarten bis das Event komplett abgearbeitet wurde, die Tür zu> öffnen. Würde etwas länger dauern aber funktionnieren.
Wenn es kein Problem ist dass bei jedem der 3x auf die Klingel drückt
die Türe geöffnet wird natürlich kein Problem.
Schartz P. schrieb:> Benutzt du eine externe Stromquelle oder greifst du die 27V vom Bus ab ?
Ich nehme die Spannung vom Bus. Momentan hab ich ein kleines
Schaltreglermodul drauf von Recom.
Schartz P. schrieb:> Wie sieht es mit der Materialliste bzw. Materialkosten aus ?
So weit bin ich bei weitem noch nicht. Aber letzten Endes brauchst Du
einen kleinen Buck-Regeler der 3,3V aus den 27V macht. Bischen Luft nach
oben ist nie verkehrt. Der Recom von oben hat glaub ich 42V max IN.
Dann dein Controller (bei mir ist es ein ESP32 wegen WLAN/MQTT).
Dann noch die Empfangsstufe von Freebus. Das SMD Equivalent zum BC557
ist glaub ich der BC857.
Sendestufe habe ich noch nicht ausprobiert, geht aber vielleicht auch
die von Freebus denke ich.
Grüße
mani
Hallo mani,
vielen Dank für deine Rückmeldung und die Infos.
Nach langen Überlegungen hab ich mich doch für eine "fertige" Lösung von
Nuki entschieden welche auch mit dem BTicino SCS Bus funktionniert und
mir auch die gewünschten Optionen/Aktionen bietet.
Jedoch wäre ich immer noch an deiner Lösung als Backup interessiert und
werde weiterhin diesen Thread verfolgen.
Danke
Mit freundlichen Grüssen
Philippe
Hallo,
Vielen Dank für die Infos zum SCS.
Ich habe mir ein Nuki Opener für mein bTicino 344212 gekauft, aber der
Opener kann leider die Tür nicht aufmachen.
Damit ich dem Nuki support eine sinnvolle Anfrage stellen kann, hab ich
auch mal auf meinen SCS Bus geschaut, und den Prozess (mit Sigrok!)
dafür hier dokumentiert:
https://michael.stapelberg.ch/posts/2020-09-28-nuki-scs-bticino-decoding/
Vielleicht hilft die Anleitung, mein sigrok decoder, oder meine
SCS-Aufzeichnungen ja irgendjemanden :)
Liebe Grüsse
Michael
Hallo,
Wird hier noch dran gearbeitet? Bei uns wurde heute eine bticino 344282
in der Wohnung installiert und ich würde die gegensprech anlage gerne in
meine home automation einbinden.
LG Georg
Vergiss es. Das Übertragungsprotokoll ist noch geheimer, als die
elektrischen Pegel.
Offiziell gibt der Hersteller nur eine Anleitung heraus, wie die
Anschlüsse der eigenen Produkte miteinander verbunden werden müssen. Das
war's - eine schöne geschlossene Welt habe die sich da aufgebaut.
Georg schrieb:> Hallo,> Wird hier noch dran gearbeitet?
Ne, ich hab mich irgendwann anderen Projekten gewidmet.
Georg schrieb:> und ich würde die gegensprech anlage gerne in meine home automation> einbinden
Wenn Preis egal und basteln nicht erwünscht gibt es mittlerweile evtl
käuflich erwerbbar Produkte.
Steve van de Grens schrieb:> Vergiss es. Das Übertragungsprotokoll ist noch geheimer, als die> elektrischen Pegel.
Die Pegel und die Signalkodierung hätte man schon hinbekommen. Aber mit
dem Protokoll war es einfach blöd.
Man hätte fest auf Muster prüfen können, hab ich aber dann sein lassen.
Wenn mir irgendwann wieder langweilig wird schaue ich es mir evtl
nochmal an.
N. M. schrieb:> Wenn Preis egal und basteln nicht erwünscht gibt es mittlerweile evtl> käuflich erwerbbar Produkte.
Das Basteln wär weniger ein Problem aber die käuflichen Lösungen die ich
gefunden habe sind entweder sehr teuer, nicht für das gegensprechanlagen
system oder gehen über die cloud (oder eine kombination der 3 sachen)
und sind desswegen keine option.
Ich habe mir kürzlich eine Ring Intercom mit ordentlichem Rabatt
besorgt. Die ist in der Lage
- Das Klingeln zu signalisieren
- Eine Audioverbindung herzustellen und
- Eine Tür zu entriegeln (Leider hab ich zwei und es geht derzeit nur
ENTWEDER ODER)
An jene, die sich mit dem Bussystem schon mehr beschäftigt haben: Ist
das Signal zum Entriegeln einer Tür immer gleich oder nicht? Falls ja,
würde es mir persönlich reichen das Signal, das die Ring Intercom
aussendet, für Tür 1 zu kopieren, anschließend die Ring für Tür 2 zu
konfigurieren und dann dasselbe nochmal zu machen.
Stelle ich mir das zu einfach vor?