amixer Lautstärke nach Uhrzeit und WE einstellen

Begonnen von Trebor5, 27 Dezember 2013, 23:56:00

Vorheriges Thema - Nächstes Thema

Trebor5

Hallo alle zusammen,

wenn ich in die Fhem adresszeile "amixer -c 0 set PCM 100%" ist der Mixer auf 100% Lautstärke gestellt.

wenn ich in die Fhem adresszeile "amixer -c 0 set PCM 70%" ist der Mixer auf 70% Lautstärke gestellt.

So weit so gut.

Jetzt möchte ich die ganze sache Automatisieren.

Ich habe gefühle 50 kombinationen versucht aber ich bekomme es einfach nicht hin.

So oder in einer anderen Kombi habe ich Definiert.

define Lautstaerke_Nacht at *22:38 { if (!$we)} {fhem("amixer -c 0 set PCM 75%%")}}


Die Soundausgabe wird einfach nicht leiser.

Wer kann mir hier mal helfen, komme überhaupt nicht weiter?

Danke in voraus.

Odroid N2,Hauptsensoren Homematic + 1 Wire + 8Kanal Homematic auf Relay Schaltung. Forum Beiträge sind meine letzte Hoffnung nach Stundenlangen erfolglosen suchen und probieren.

rudolfkoenig

1. fhem("amixer...") funcktioniert nicht, da amixer kein FHEM Befehl ist.
2. %% ist nur im notify sinnvoll, da % durch den Event ersetzt wird. Beim at gibt es kein Event.

Ich wuerde sowas wie
define Lautstaerke_Nacht at *22:38 { if (!$we)} {system("amixer -c 0 set PCM 75%&")}}
versuchen (ungetestet)

Trebor5

Hallo,

warum sollte amixer in Fhem nicht funktionieren.

Wenn es bei mir Regnet sag eine schöne Stimme das es Regnet .

Mit define act_on_RegensensorON_on notify Regensensor:rain "mpg321 /media/usbstick/SOUNDS/ESREGNET.mp3" funktioniert das.

Habe die MP3 Files auf einen Stick am Raspberry.

Dein Tipp habe ich ausprobiert leider kommt eine Fehlermeldung im LOG

Lautstaerke_Nacht: syntax error at (eval 549) line 1, at EOF
Unmatched right curly bracket at (eval 549) line 1, at end of line
syntax error at (eval 549) line 1, near "}}"

Noch eine Idee ?


Odroid N2,Hauptsensoren Homematic + 1 Wire + 8Kanal Homematic auf Relay Schaltung. Forum Beiträge sind meine letzte Hoffnung nach Stundenlangen erfolglosen suchen und probieren.

rudolfkoenig

Sorry, mein Fehler, ich haette nicht so viel aus deinem Beispiel kopieren duerfen:
define Lautstaerke_Nacht at *22:38 { if(!$we){ system("amixer -c 0 set PCM 75%&") }}

ZitatMit define act_on_RegensensorON_on notify Regensensor:rain "mpg321 /media/usbstick/SOUNDS/ESREGNET.mp3" funktioniert das.

Da ist es ja auch nicht in {} und damit nicht in perl. Wenn Du es unbedingt mit fhem/"" machen willst, dann bitte so:
define Lautstaerke_Nacht at *22:38 { if(!$we){ fhem('"amixer -c 0 set PCM 75%"') }}[/code


Trebor5

Hallo,

also der erste code löst nichts im Log aus und auch keine Absenkung der Lautstärke.

der 2 Code das selbe, allerdings habe ich Ihn einmal ohne das ende [/code ausgeführt dachte es ist ein Kopierfehler.

und einmal komplett da kommt dann im Log

Lautstaerke_Nacht: Unknown command {, try help.

Trage natürlich alles in der Fhem.cfg ein

Loge mit  attr global verbose 3

Man das ist gar nicht so einfach war ja eigentlich schon knapp dran.

Noch ein Tipp?
Odroid N2,Hauptsensoren Homematic + 1 Wire + 8Kanal Homematic auf Relay Schaltung. Forum Beiträge sind meine letzte Hoffnung nach Stundenlangen erfolglosen suchen und probieren.

rudolfkoenig

[/code ist natuerlich ein Kopierfehler. Sonst wird es auch nicht ausloesen: es ist Wochenende

Trebor5

Odroid N2,Hauptsensoren Homematic + 1 Wire + 8Kanal Homematic auf Relay Schaltung. Forum Beiträge sind meine letzte Hoffnung nach Stundenlangen erfolglosen suchen und probieren.

Puschel74

Hallo,

ZitatAnsonsten kein Tip ?
Doch. Bis Montag warten dann ist das Wochenende rum.

Was erwartest du dir an Tipps?
Reicht es nicht wenn dir gesagt wird warum! die Lautstärke nicht geändert wird?
Du prüfst auf (!$we) wobei ich das immer so schreibe (!($we)) das heisst - wenn es NICHT Wochenende ist - was passiert dann wenn es Wochenende ist?
Genau - wie Rudi schon geschrieben hat - nichts weil -- ja genau, weil es ja Wochenende ist.

Wenn du andere Tipps haben möchtest wäre es auch nett wenn du uns an deinen Codes teilhaben lässt und auch mal schaust was im Logfile steht - und uns daran bitte auch teilhaben lässt.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Trebor5

Okay gedankenfehler.

Versuche es jetzt so.


############### Am Wochenende Schaltung ########################

define Lautstaerke_NachtWE at *22:00 { if($we){ system("amixer -c 0 set PCM 75%&") }}

define Lautstaerke_TagWE at *11:00 { if($we){ system("amixer -c 0 set PCM 100%&") }}

############### In der Woche Schaltung ########################

define Lautstaerke_Nacht at *20:00 { if(!$we){ system("amixer -c 0 set PCM 75%&") }}

define Lautstaerke_Tag at *09:00 { if(!$we){ system("amixer -c 0 set PCM 100%&") }}


Versuche halt in der Woche andere Uhrzeiten für die Lautstärke zu setzen als am Wochenende.

@Puschel74 Warum bist du denn so angepisst ist doch Wochenende ? Keife ja auch nicht rum weil Rudi am Wochenende einen Kopierfehler macht ;-))
Odroid N2,Hauptsensoren Homematic + 1 Wire + 8Kanal Homematic auf Relay Schaltung. Forum Beiträge sind meine letzte Hoffnung nach Stundenlangen erfolglosen suchen und probieren.

Puschel74

Hallo,

ZitatWarum bist du denn so angepisst ist doch Wochenende ?
Ich bin nicht angepisst - keine Angst.

ZitatKeife ja auch nicht rum weil
(den Rest spare ich mir mal zu zitieren).
Auch keife ich nicht rum.

Wäre aber auch nett wenn du zukünftig Suchende mit deiner Erkenntniss erfreuen könntest und Bescheid gibst ob es jetzt klappt - zumindest der Teil mit ($we) - wir haben noch Wochenende 8)

WeekDayTimer könnte dir da auch helfen.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

ChristianKnorr

Hallo zusammen,
ich hatte gerade ein ähnliches Problem, und wollte mal die Lösung posten, für die, die dank Suche hier gelandet sind.

Meine Funktion sieht so aus (Datei: 99_Sprache_Utils.pm):sub stelleSoundkarteein() {
  system("amixer -c1 set PCM on 84% && exit 0");
  system("amixer -c1 set Master on 84% && exit 0");
}


Jetzt könnte ein{stelleSoundkarteein()}prinzipiell reichen, muss aber nicht ;D wie in meinem Fall.
Wenn fhem nämlich nicht unter root-Rechten läuft, fehlem ihm die Rechte die Soundkarte zu steuern. Auf der Linux-Konsole reicht dann einsudo usermod -aG audio fhemund ein Neustart von fhem, und schon schieben sich die Regler.

Viele Grüße
Christian...