… eigentlich für’s FS20 System – mit leichten Modifikationen perfekt für die Homematic
Man ist ja ein guter Sohn – so habe ich natürlich auch das Haus von meinen Eltern nicht verschont und seit längerer Zeit eine Homematic laufen. Besonders der Bereich der Beschallung kommt aufgrund des großen Hauses hier nicht zu kurz.
So habe ich auch vor längerer Zeit ein Radio fürs Badezimmer konzipiert welches (bis Heute) halbwegs seinen Dienst erfüllt und soweit auch über die Homematic gesteuert werden konnte… Leider aber alles nicht zufriedenstellend: die Basis der Steuerung stellte der 4fach Schaltaktor Bausatz (HM-LC-SW4-PCB) und ein selbst programmierter Microcontroller dar. Das Radio war ein RDS100 (Bausatz) – alles in allem ein wirklich schönes Analogradio mit Display und allem Drum und dran (auch eigentlich vorbereitet für FS20). Als Verstärker diente der V40 Bausatz…
Die meisten Probleme traten beim Steuern des Radios auf. Wenn ich auf FS20 gesetzt hätte wärs nicht so schlimm gewesen – ich will aber Homematic verdammt !! So habe ich angefangen die Tastendrücke per Microcontroller zu simulieren und so das Radio per 4fach Aktor angesteuert. Der Verstärker wurde per Relais geschaltet sobald das Radio eingeschaltet war. Leider rummste es immer gewaltig bei Einschalten, da ich bis zuletzt zu Faul war eine „Anti-Rums“ Verzögerung einzubauen, die das unterdrückt. Naja damit mussten meine Eltern leben (neben dem Fakt, dass sich die Lautstärke nicht gut regeln ließ und man sich auf einen Sender einschießen musste, da der Senderwechsel auch nicht immer geklappt hat). Najaaaaah 🙂
Hier ein kleiner Eindruck meines mit Liebe zusammengebauten Radios:
Vor kurzem ist mir dann der FS20 IRB Bausatz über den Weg gelaufen. Sehr vielversprechende Features. Leider wieder mal nur für FS20 aber weniger ein Problem, da man das Radio komplett über das Webinterface per POST-Requests fernsteuern kann. Das klappt per Zentralenskript und CURL ziemlich reibungslos.
Der Anfang ganz nach Anleitung – Bausatz zusammengelötet…
Dann gings los. Radio ist in einem Standbyzustand und lässt sich ansich erst einschalten wenn man über eine passende FS20 angebundene Fernbedienung verfügt. Verdammt…. LAN Port nicht aktiv, Radio aus und auch nicht ohne Weiteres zum Starten zu bewegen. Nun ja ein Anruf bei der ELV Technik bracht mich schon weiter – und zwar muss man ein paar Bauteile überbrücken:
Den Transistor T3 (oder FET, ka auch egal) – nun schaltet das Radio schonmal ein sobald man die Versorgungsspannung anlegt
Den Transistor T5 – schaltet den Vorverstärker ein. Habe ich allerdings ohne die Hilfe von ELV rausfinden müssen. Überbrückt man Ihn nicht spielt das Radio zwar aber nur sehr leise und kratzig egal ob am NF Ausgang oder an den Verstärkten Ausgängen
Jubel jubel freu freu – ein Internetradio das man nun perfekt in jede Haussteuerung integrieren kann, zum lowcost Preis (meine Meinung)
So… den Rest müsst ihr selbst rausbekommen…. Nein Quatsch – nun noch ein paar Details für die Befehle die man zum Radio schicken kann:
Alles was auf dem Webinterface des Radios ausgelöst wird über ein „ge-POST-etes“ Formular gesendet. Alles ist in schönen Variablennamen gehalten, so dass man sehr diskret eizelne Befehle auslösen kann und somit eine zuverlässige und eindeutige Steuerung des Radios möglich ist.
Die wichtigsten Befehle (danke an meine aktuellen Schulpraktikanten, der das Reverse-Ingeniering innerhalb weniger Stunden über die Bühne gebracht hat):
Befehl | Variable | Wert | Datei an die der POST gesendet wird |
Verstärker ein | btnAmplifierSwitch | „Einschalten“ | index.htm |
Verstärker aus | btnAmplifierSwitch | „Ausschalten“ | index.htm |
Wiedergabe Play | btnStationStart | 0 | index.htm |
Wiedergabe Stop | btnStationStop | 0 | index.htm |
Play mit Speicherplatz 0 | btnPlay und hidStationIndex | btnPlay=0 hidStationIndex=[ID] |
stations.htm |
Nächster Sender | btnStationNext | 0 | index.htm |
Vorheriger Sender | btnStationPrev | 0 | index.htm |
Laustärke + | btnVolumeUp | 0 | index.htm |
Lautstärke – | btnVolumeDown | 0 | index.htm |
… |
Bei btnAmplifierSwitch bin ich mir nicht sicher ob wirklich der Wert berücksichtigt wird oder ob das Radio einfach nur ein / aus Togglet… Die restlichen Variablen kann jeder selbst aus dem Quelltext der Webseite auslesen. Der 1. Sender der Liste hat die ID0 …
CURL Aufruf sieht in etwa so aus:
curl --data-urlencode btnVolumeUp=0 http://192.168.20.35/index.htm curl --data-urlencode btnPlay=0 --data-urlencode hidStationIndex=[StationID] "http://192.168.20.35/stations.htm"
Der CURL Befehl ist nicht standardmässig in der CCU enthalten, kann aber mit wenig Aufwand integriert werden…
Ein Zentralenskript zum Einschalten des Radios sieht wie folgt aus:
string stdout; string stderr; system.Exec("curl --data-urlencode btnPlay=0 --data-urlencode hidStationIndex=0 -s -k 'http://192.168.2.41/stations.htm'", &stdout, &stderr); string stdout; string stderr; system.Exec("curl --data-urlencode btnAmplifierSwitch=Einschalten -s -k 'http://192.168.2.41/index.htm'", &stdout, &stderr);
Es macht sich gut erst die Wiedergabe zu starten und dann den Verstärker einzuschalten, so erziehlt man einen leicht Soft-Dimmeffekt und nicht ein aprubtes Starten der Musik. Zu Abschalten geht man den Weg anders herum:
string stdout; string stderr; system.Exec("curl --data-urlencode btnAmplifierSwitch=Ausschalten -s -k 'http://192.168.2.41/index.htm'", &stdout, &stderr); string stdout; string stderr; system.Exec("curl --data-urlencode btnStationStop=0 -s -k 'http://192.168.2.41/index.htm'", &stdout, &stderr);
Das Radio kann nun bequem per Wandtaster oder per zeitgesteuertem Zentralenskript bedient werden und hat trotz des kleinen Verstärkers einen guten verzerrungsfreien Klang. Als Lautsprecher dienen beim ELV erhältliche KFZ Lautsprecher von MAC Audio die in einen einfachen Multiplex-Kasten gebaut wurden.
Ich hoffe das war Interessant und ein Kaufanreiz 😛 Viel Spaß beim Basteln…