Änderungen in der FritzBox-UI bewirken FHEM-Fehler im Raspberry Pi !!

Begonnen von Tom111, 24 September 2015, 19:31:27

Vorheriges Thema - Nächstes Thema

Tom111

Hallo,

ich habe auf meinem Raspberry-Pi über einem Dummy und notify einen Schalter erstellt, der mein HDMI-Signal zum Monitor ein bzw. ausschaltet.
Klappt wunderbar ohne Probleme.

Ebenso habe ich an der Fritzbox mehrere DECT-Geräte angeschlossen diese werden über FBDECT angesteuert.
Klappt auch super.

Nun folgendes....
wenn ich in der UI meiner FritzBox die Schaltzeit einer Gerätegruppe verändere und abspeichere bekomme ich im FHEM-LOG des Raspberry-Pi folgende Fehlermeldungen:
(http://img5.fotos-hochladen.net/uploads/2015092419036n8wmbt7kv.png)
10 Meldungen hintereinander, obwohl der HDMI-Schalter rein gar nichts mit den FritzBox-Geräten zu tun hat.

Zum besseren Verständnis hier noch der Schalter für das HDMI-Signal:

define RPi_Monitor dummy
attr RPi_Monitor setList on off

# ===== Dummy schaltet Notifys =============================================

define TV_on_notify notify RPi_Monitor { if ( Value("RPi_Monitor") eq "on"){system ("/opt/vc/bin/tvservice -p 1> /dev/null;; fbset -depth 8;; fbset -depth 16;; omxplayer /opt/fhem/Sound/computerbeep_55.mp3 1> /dev/null &")}}
attr TV_on_notify verbose 0
define TV_off_notify notify RPi_Monitor { if ( Value("RPi_Monitor") eq "off"){system ("/opt/vc/bin/tvservice -o 1> /dev/null;; omxplayer /opt/fhem/Sound/computerbeep_74.mp3 1> /dev/null &")}}
attr TV_off_notify verbose 0

# ===== Dummy State-Datei im Ordner /tmp schreiben/lesen ===================

define n1 notify global:SHUTDOWN {my $v = Value("RPi_Monitor");; `echo $v > /tmp/RPi_Monitor.status`}
define n2 notify global:INITIALIZED {my $v = `cat /tmp/RPi_Monitor.status`;; if($v) {chomp($v);; fhem("setstate RPi_Monitor $v")}}



Hier die FBAHA sowie ein Schalter bei der dieses Verhalten auftritt (es ist ein Gruppenschalter der 2 Geräte zusammenfasst):

define fb1 FBAHA 192.168.178.1:2002

# ============ virtueller Gruppenschalter Kamera 3 u. 4 ===================
#
define DECT_Group_CAM FBDECT 900 switch
attr DECT_Group_CAM IODev fb1


alles unnötige (Gruppen / Räume / Icons etc habe ich wg. einer besseren Übersicht entfernt)!

Dieser Fehler hat aber keine Auswirkung, es sieht halt nur komisch aus und da ich (wie ja zu sehen ist) ein akustisches Signal ausgebe, beim Schalten
des HDMI-Signals, ist das etwas nervig wenn 10 mal der gleiche Ton abgespielt wird.  :)

Ehrlich gesagt rechne ich nicht mit einer Lösung, aber wer weiß.

Gruß
Tom
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

Wernieman

Lauf FHEM jetzt auf dem RasPi oder auf der FritzBox?
Steht so nicht eindeutig in Deinem Beitrag ...

Edit:
Und ein etwas besserer Thread-Titel wäre auch angebracht ..
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Tom111

Zitat von: Wernieman am 25 September 2015, 09:03:11
Lauf FHEM jetzt auf dem RasPi oder auf der FritzBox?
Steht so nicht eindeutig in Deinem Beitrag ...

doch, tut es >>

Zitat von: Tom111 am 24 September 2015, 19:31:27
ich habe auf meinem Raspberry-Pi.....
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

Wernieman

Mit anderen Worten:
UI meiner FritzBox

Du meinst, wenn Du unabhängig in der Fritzbox was einstellt, bekommt dein FHEM ein Problem?

Wie sind die Geräte miteinander "Verheiratet"?

P.S. Der Thread-Titel ist immer noch etwas "blöde" ..
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Tom111

#4
Zitat von: Wernieman am 25 September 2015, 11:43:34
Du meinst, wenn Du unabhängig in der Fritzbox was einstellt, bekommt dein FHEM ein Problem?
ganz genau! (das bezieht sich auf den genannten Gruppenschalter, der in der FritzBox definiert wurde)

Zitat von: Wernieman am 25 September 2015, 11:43:34
Wie sind die Geräte miteinander "Verheiratet"?
Raspberry Pi und FritzBox sind über LAN angeschlossen!

Zitat von: Wernieman am 25 September 2015, 11:43:34
P.S. Der Thread-Titel ist immer noch etwas "blöde" ..
habs geändert!
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

Wernieman

Mhh .. meinte jetzt nicht Netzwerktechnisch, sondern wie Dein FHEM im RasPi und Deine FritzBox miteinander verheiratet sind ..

Wenn ja:
Könntest Du uns ein list von den Geräten geben?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Tom111

Eigentlich nur so wie auch im ersten Post angegeben wurde (es hängen am FBAHA-Server noch ein paar mehr DECT -Geräte dran,
aber die erzeugen keine Fehler und sind meines Erachtens uninteressant).

Hier noch mal:
define fb1 FBAHA 192.168.178.1:2002

# ============ virtueller Gruppenschalter Kamera 3 u. 4 ===================
#
define DECT_Group_CAM FBDECT 900 switch
attr DECT_Group_CAM IODev fb1


Zitat von: Wernieman am 25 September 2015, 12:25:14
Könntest Du uns ein list von den Geräten geben?
kann ich machen wenn ich wieder zu Hause bin.
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

Wernieman

Was mir beim nochmaligen Durchlesen aufgefallen ist:
"tvservice-client" woher kommpt der String? Steht nirgendwo in Deiner Beschreibung

BTW:
Und noch eine kleine Optimierung:
define TV_on_notify notify RPi_Monitor { if ( Value("RPi_Monitor") eq "on")
Warum schreibst Du ein notify, wo Du anschließend den Status abfragst? Mach doch ein notify, gleich zum Status?
define TV_on_notify notify RPi_Monitor:on

Siehe Doku zu notify
(Analog übrigens auch für das "off")
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Tom111

ok, habs geändert !

Zitat von: Wernieman am 25 September 2015, 15:15:58
Was mir beim nochmaligen Durchlesen aufgefallen ist:
"tvservice-client" woher kommpt der String? Steht nirgendwo in Deiner Beschreibung
keine Ahnung, alles was irgendwie mit "tvservice" zu tun hat ist halt dieses an und abschalten des HDMI-Signals ( Code im ersten Post ).
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

Wernieman

#9
Kannst Du im Script nachsehen, was dieses für Ausgaben bringt?

Oder Du hast noch irgendwo ein tvservice-client ...

Edit:

Google sei Dank, es kommt von "/opt/vc/bin/tvservice"

Habe ich es richtig verstanden, das Du auch 10 mal einen Ton bekommst?
Das also TV_on_notify auch 10 mal Trickert??
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Tom111

Zitat von: Wernieman am 25 September 2015, 20:58:07
Habe ich es richtig verstanden, das Du auch 10 mal einen Ton bekommst?
Das also TV_on_notify auch 10 mal Trickert??
ja, so ist das, 10 mal LOG-Eintrag und 10 mal der Ton!
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

Wernieman

Die gute Frage:
Bekommst Du vom "On" oder "Off" Tricker den Ton?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Tom111

Zitat von: Wernieman am 26 September 2015, 18:41:45
Die gute Frage:
Bekommst Du vom "On" oder "Off" Tricker den Ton?

Das war eine sehr gute Frage,... ich habe jetzt mal beide Notifys deaktiviert und der Fehler im LOG wird weiterhin angezeigt und auch der Ton wird abgespielt.
Der Ton wird aber noch an anderer Stelle abgespielt ..... und zwar hier:

(mit dieser Anweisung wird meine Standuhr bei Abwesenheit deaktiviert bzw. bei Anwesenheit aktiviert)
define Standuhr_dummy dummy
attr Standuhr_dummy setList on off
# ==========================
# ====== Standuhr ausschalten wenn DECT_Group_CAM (Security) an ist und umgekehrt.
#
define Standuhr_off_notify notify DECT_Group_CAM {if ( Value("DECT_Group_CAM") eq "on"){ fhem("set Standuhr_dummy off")}}
define Standuhr_on_notify notify DECT_Group_CAM {if ( Value("DECT_Group_CAM") eq "off"){ fhem("set Standuhr_dummy on")}}
# ==========================
# ====== Bestätigungston einschalten/ausschalten
#
define Standuhr_EIN notify Standuhr_dummy { if ( Value("Standuhr_dummy") eq "on"){system ("omxplayer /opt/fhem/Sound/computerbeep_55.mp3 1> /dev/null &")}}
attr Standuhr_EIN verbose 0
define Standuhr_AUS notify Standuhr_dummy { if ( Value("Standuhr_dummy") eq "off"){system ("omxplayer /opt/fhem/Sound/computerbeep_74.mp3 1> /dev/null &")}}
attr Standuhr_AUS verbose 0



Wenn ich diese Zeilen heraus nehme:
define Standuhr_EIN notify Standuhr_dummy { if ( Value("Standuhr_dummy") eq "on"){system ("omxplayer /opt/fhem/Sound/computerbeep_55.mp3 1> /dev/null &")}}
attr Standuhr_EIN verbose 0
define Standuhr_AUS notify Standuhr_dummy { if ( Value("Standuhr_dummy") eq "off"){system ("omxplayer /opt/fhem/Sound/computerbeep_74.mp3 1> /dev/null &")}}
attr Standuhr_AUS verbose 0


bekomme ich keine Fehler mehr im LOG und auch der 10malige Ton bleibt weg.

Nur, wieso ist das so ??
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

Wernieman

Dürfte also bei DECT_Group_CAM (Security) liegen ...

übrigens gilt auch hier der Hinweis von weiter oben:
Warum machst Du ein Notify mit anschließender If-Abfrage, wenn Du es schon im Notify erledigen kannst?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Tom111

Zitat von: Wernieman am 27 September 2015, 10:24:37
übrigens gilt auch hier der Hinweis von weiter oben:
Warum machst Du ein Notify mit anschließender If-Abfrage, wenn Du es schon im Notify erledigen kannst?

OK, hab ich geändert und gleich auch nochmal die FritzBox-UI aufgerufen und getestet, was soll ich sagen.... der Fehler kommt nicht mehr.  ???
Es lag an der IF-Abfrage !
Ich möchte den Thread aber nicht als gelöst kennzeichnen, weil es muss ja dann ein Fehler im Modul sein denn die Codezeile war ja ansonsten korrekt!

Das ganze sieht nun so aus:
define Standuhr_dummy dummy
attr Standuhr_dummy setList on off
# ==========================
# ====== Standuhr ausschalten wenn DECT_Group_CAM (Security) an ist und umgekehrt.
#
define Standuhr_off_notify notify DECT_Group_CAM:on set Standuhr_dummy off
define Standuhr_on_notify notify DECT_Group_CAM:off set Standuhr_dummy on

# ==========================
# ====== Bestätigungston einschalten/ausschalten
#
define Standuhr_EIN notify Standuhr_dummy:on {system ("omxplayer /opt/fhem/Sound/computerbeep_55.mp3 1> /dev/null &")}
attr Standuhr_EIN verbose 0
define Standuhr_AUS notify Standuhr_dummy:off {system ("omxplayer /opt/fhem/Sound/computerbeep_74.mp3 1> /dev/null &")}
attr Standuhr_AUS verbose 0


Na dann, danke nochmals, ich werde es erst mal so belassen!

Gruß
Tom
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V