====== Philips Hue - Blitz, Donner und Regen - 22.07.2021 ======
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 [[https://amzn.to/3hwyIjE|Philips Hue Lampen]] [[https://amzn.to/3AKve4P|{{fa>amazon?12}}]] 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 [[https://forum.rocrail.net/|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.\\
\\
===== Vorbereitungen ====
==== VLC installieren ====
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\\
==== Ordner anlegen ====
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.
==== Das Skript ====
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. \\
\\
===== Konfiguration in RocRail =====
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. \\
\\
==== Aktion festlegen ====
Ü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**.\\
\\
{{modelleisenbahn:gewitter01.jpg?600|}} \\
\\
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//RocRail/scripts/gewitter.sh
{{modelleisenbahn:gewitter02.jpg?600|}} \\
\\
==== Ausgang einrichten ====
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.\\
\\
{{modelleisenbahn:gewitter03.jpg?600|}} \\
\\
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**. \\
\\
{{modelleisenbahn:gewitter04.jpg?400|}}\\
\\
Über den **Ausgang** der jetzt auf Eurem **Gleisplan** erschienen ist, könnt Ihr das **Skript** starten und testen. \\
\\
===== Wetter Thema einrichten =====
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 |
\\
{{modelleisenbahn:gewitter05.jpg?600|}} \\
\\
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.
----
===== Fazit =====
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\\
\\
\\
===Hinweis===
\\
Wenn Euch die Artikel gefallen und Ihr die Seite unterstützen möchtet, würden wir uns freuen, wenn Ihr die [[https://amzn.to/3hwyIjE|Philips Hue Lampen]] [[https://amzn.to/3AKve4P|{{fa>amazon?12}}]] über unseren Partnerlink erwerben würdet. \\
\\
----
{{page>modelleisenbahn:modelleisenbahn#Philips_Hue}}
Anleitungen im [[https://wiki.rocrail.net/doku.php?id=german|RocRail Wiki]] \\
* [[https://wiki.rocrail.net/doku.php?id=philips:hue-de|Philips HUE]] \\
* [[https://wiki.rocrail.net/doku.php?id=philips:hue-conf-de|Philips HUE Konfiguration]] \\
* [[https://wiki.rocrail.net/doku.php?id=philips:hue-sensors-de|Philips HUE Zubehör]] \\
* [[https://wiki.rocrail.net/doku.php?id=weather-de#theme|RocRail - Wetter]] \\
* [[https://wiki.rocrail.net/doku.php?id=actions-de|RocRail - Aktionen]] \\
\\
{{page>impressum:ausschluss#Haftungsausschluss}}
~~DISCUSSION~~