Nachdem die Tag-/Nachtsteuerung nun funktioniert und wir beliebig zwischen den einzelnen Wettern hin und her wechseln können, fehlt dem Ganzen noch eine Gewitter-Simulation. Hierzu können wir ebenfalls unsere Philips Hue Lampen verwenden.
Die Wetter-Simulation unter RocRail bringt hierfür eigens die Option mit, Themen zu erstellen und diese zufällig abspielen zu lassen. Ich habe diese Tagelang in allen Formen getestet und dem Ganzen nicht einen einzigen Ton unter Linux entlocken können. Nach ausgiebiger Recherche bin ich auf Beiträge im RocRail Forum gestoßen in denen die man querlesen konnte, dass die Soundausgabe unter Linux in RocRail wohl nicht, bzw. nur unzuverlässig funktioniert. Ich konnte auch niemand finden, der dies über einen direkten Aufruf im Thema realisiert bekam. Des Weiteren ist es nicht möglich Regen abzuspielen und per Zufall die Donnersequenzen einzuspielen.
Aus diesem Grund entschloss ich mich, das Ganze über ein Shell-Skript umzusetzen. So kann ich die Gewitter-Sequenzen nach meinen Wünschen gestalten. Wie ich das Ganze nun umgesetzt habe, möchte ich Euch in diesem Beitrag zeigen.
Als Abspielprogramm wollen wir VLC verwenden. Dieses bietet den Vorteil, dass es auch mehrkanalige Ausgaben beherrscht, was zu einem späteren Zeitpunkt noch von nutzen sein wird. Die Installation erfolgt mit
sudo apt install vlc
Für unsere Sound-Dateien benötigen wir zuerst eigene Ordner. Bitte verwendet hier NICHT den RocRail Sound-Ordner, da für die Zufallswiedergabe nur die wirklich benötigten Dateien im Ordner sein dürfen.
mkdir ~/RocRail/gewitter
mkdir ~/RocRail/gewitter/regen
mkdir ~/RocRail/gewitter/donner
In das Verzeichnis donner hinterlegt Ihr nun verschiedene Sound-Dateien mit Donner. Diese sollten nur wenige Sekunden lang sein.
In das Verzeichnis regen legt Ihr unterschiedliche Sound-Dateien mit Regen. Diese sollten mindestens 30 Sekunden lang sein.
Um so mehr unterschiedliche Sound-Dateien Ihr hinterlegt, umso abwechslungsreicher werden Eure Gewitter. Zu viele macht aber wiederum auch keinen Sinn, ich würde mich hier im einstelligen Bereich bewegen.
Bitte beachtet, dass Ihr Geräuschdateien verwendet, für die Ihr die Lizenzen besitzt oder diese für die kommerzielle Nutzung zur freien Verfügung stehen. Solltet Ihr später einmal ein Video im Netz hochladen und die Geräusche sind hörbar, kann es ansonsten wegen Urheberrechtsverstößen zu Problemen kommen.
Die Datei legen wir im Standard-Ordner für die Skripte in RocRail an und vergeben die benötigten Rechte.
touch ~/RocRail/scripts/gewitter.sh
chmod 755 ~/RocRail/scripts/gewitter.sh
Mit einem beliebigen Editor, könnt Ihr anschließend das Skript einfügen.
#!/bin/bash
###
# Skript für Gewittersimulation in RocRail #
# von RoBa-MoBa auf https://polarwelt.de #
# Version 1.0 vom 22.07.2022
###
## Variablen Setzen
# Ordner für Regen Sound-Dateien
RAIN=(~/RocRail/gewitter/regen/*)
# Ordner für Donner Sound-Dateien
THUNDER=(~/RocRail/gewitter/donner/*)
# Zufallsdatei für Regen ermitteln
RAINRDM=(„${RAIN[RANDOM % ${#RAIN[@]}]}“)
# Zufallsdatei für Regen ermitteln
THUNDERRDM=(„${THUNDER[RANDOM % ${#THUNDER[@]}]}“)
## Abspielen der Dateien
cvlc –play-and-exit $THUNDERRDM ; cvlc –play-and-exit $RAINRDM
Das Skript wählst beim Ausführen zufällig, aus beiden Ordnern, eine Datei aus und spielt diese hintereinander ab. Aus diesem Grund spiele ich die Donnergeräusche zuerst ab, da diese nur kurz sind und ja im Bereich der später erscheinenden Blitze liege soll. Die Regengeräusche überlagern sich dann später was bei längerer Laufzeit eine Art Verstärkung des Gewitters fördert.
Kommen wir nun zur Konfiguration in RocRail. Im Wetter-Thema können wir das Skript gewitter.sh leider nicht direkt ansprechen. Aus diesem Grund müssen wir das Ganze über eine Aktion und einen Ausgang einbinden.
Über Tabellen / Aktionen… wechseln wir ins dementsprechende Menüfenster. Hier fügen wir über den Button Neu eine neue Aktion hinzu.
Anschließend überprüfen wir, dass die Aktion NEW markiert ist und tragen unter Kennung den Namen Gewitter ein und bestätigen die Eingabe mit dem Button Übernehmen.
Danach wählen wir die Aktion / Gewitter aus und wechseln auf den Karteireiter Definition. Unter Type wählen wir Ext. Programm starten und unter Befehl über die drei Punkte … könnt Ihr die Skript-Datei gewitter.sh auswählen und mit Übernehmen / OK bestätigen.
Achtung, der Pfad unterscheidet sich bei Euch, je nachdem unter welchem Benutzer Ihr RocRail installiert habt. /home/<BENUTZER>/RocRail/scripts/gewitter.sh
Nachdem wir nun die Aktion Gewitter eingerichtet haben, müssen wir diese noch über einen Ausgang ausführbar machen. Hierzu wechseln wir auf Tabellen / Ausgänge… und legen dort über den Button Neu einen Ausgang an. Im Anschluss wechseln wir auf den Karteireiter Allgemein.
Unter Kennung @ überschreiben wir NEW mit dem Namen des Ausgangs Gewitter1. Den Typ ändern wir von Schalter zu Taster und wählen anschließend den Button Aktionen. Die Auswahl zum Taster ist wichtig, da wir die Aktion ja nur kurz auslöschen möchten und nicht dauerhaft aktivieren, wie es beim Schalter der Fall ist.
Im Feld Kennung wählen wir die Aktion Gewitter aus und fügen diese mit Hinzufügen ein. Anschließend bestätigen wir mit Übernehmen / OK.
Über den Ausgang der jetzt auf Eurem Gleisplan erschienen ist, könnt Ihr das Skript starten und testen.
Nachdem dies nun funktioniert, müssen wir das Ganze noch in unser Wetter einbinden.
Hierzu wechseln wir auf Tabellen / Wetter , wählen ein Wetter aus (bei mir Wetter-0), für das wir das Gewitter hinterlegen möchten und wechseln auf den Reiter Thema.
Über den Button Hinzufügen erstellen wir ein neues Thema und hinterlegen dann die Werte.
Feld | Beschreibung |
Kennung | Der Name des Themas, ich verwende hier Gewitter |
Ausgänge | Hier tragt Ihr kommagetrennt Eure Hue-Lampen ein, die für die Gewittersimulation verwendet werden sollen. Bei mir aktuell Hue1,Hue2. Achtung, wenn Ihr hier mehrere Lampen hintereinander eintragt, wird ein Blitz nacheinander auf allen Lampen ausgegeben, was bei mehr als 2 Lampen seltsam aussieht. |
Sound | Unter Linux muss hier der Player paplay angegeben werden, auch wenn wir im Skript nachher vlc verwenden, ansonsten funktioniert das Abspielen aber nicht |
Zahl hinter Sound | Diese steht standardmäßig auf 5 und bestimmt einen zufälligen Wert, wie oft der Sound abgespielt werden soll. Die Werte reichen von 0-9, wobei 0 bedeutet, dass der Sound immer abgespielt wird. Ich verwende hier 0 |
Feld unter paplay | Hier wählen wir nun unseren Ausgang Gewitter1 aus |
Dimmen | Legt fest, wie weit die Lampen, die aktuelle Wetter-Simulation herunterdimmen soll. Bei einem Gewitter wird es ja auch dunkel. Ich verwende hier 80% |
Zeit | Die Modellbahnzeit, ab wann das Thema starten soll. Es startet jedoch nicht pünktlich, sondern irgendwann in den Stunden danach. Bei mir kommt aktuell 11:00 Uhr zum Einsatz |
Laufzeit | Soll eigentlich die Laufzeit in Minuten bestimmen, aber wenn wir wie in meinem Fall 20 Minuten hinterlegen, läuft das Gewitter eine Zeit lang, aber weder 20 Minuten in der Realzeit, noch 20 Minuten in der Modellbahnzeit. Spielt einfach etwas herum, bis Ihr den für Euch richtigen Wert findet. |
Zufall | Soll laut RocRail Doku bestimmen, dass das Thema nur zufällig ausgeführt wird. Bei mir wird es jeden Modellbahntag abgespielt |
Tipp! Sollte Euch die regelmäßige Ausführung des Gewitters zu viel sein, legt Euch doch ein eigenes Wetter mit Gewitter an und startet es über den Wetterwechsel.
Nun könnt Ihr den Teiler der Uhr auf 100 und die Uhrzeit auf 10:50 Uhr stellen und die Simulation testen.
Ihr seht es ist über Linux möglich ein Wetter-Thema und auch einen dauerhaften Regen-Sound zu nutzen. Besser wäre dies wohl grundsätzlich über ein XML-Skript, dann könnte das ganze unabhängig vom Betriebssystem genutzt werden. Aber wie schon erwähnt, soweit bin ich noch nicht. Ich hoffe jedoch Euch hat der Artikel gefallen und Ihr könnt nun Euer eigenes Wetter inklusive Blitz, Donner und Regen genießen.
Nach ausgiebigen Tests hab ich festgestellt, dass das Ganze zwar zufriedenstellend funktioniert, aber manchmal auch unvorhergesehene Reaktionen auftreten. Wie z.B. Blitz ohne Ton, Ton ohne Blitz, Regen wird nicht wiederholt. Es sind Kleinigkeiten aber leider auffällig. Also für mich zwar im Moment hinnehmbar, auf Dauer werde ich da aber noch dran feilen müssen.
Euer Robert
Wenn Euch die Artikel gefallen und Ihr die Seite unterstützen möchtet, würden wir uns freuen, wenn Ihr die Philips Hue Lampen über unseren Partnerlink erwerben würdet.
Wir haben die hier gezeigten Anleitung sorgfältig erstellt und in unserer Testumgebungen ausgiebig getestet.
Wer sich entschließt diese Anleitungen für sich selbst umzusetzen, führt diese auf eigene Verantwortung durch.
Der Ersteller des Artikels, sowie der Seitenbetreiber, haftet nicht für eventuelle Schäden an Hard- und/oder Software oder damit zusammenhängenden Schäden