Modul für WLAN Radios mit Frontier Silicon Chipsatz (SilverCrest/Medion/Hama...)

Begonnen von mumpitzstuff, 07 November 2017, 00:21:27

Vorheriges Thema - Nächstes Thema

mumpitzstuff

Bei euch stürzt bereits der Aufruf des XML Parsers ab wie es scheint. Der Auszug aus dem Log ist vermutlich mit der alten Version erstellt worden? Aber wie auch immer, der Auszug ergibt für mich gar keinen Sinn. Hinter returned: müssten immer die Daten erscheinen. Mir ist schleierhaft, wie dann successful erreicht werden soll.

So sieht das bei mir aus:

2018.07.31 22:06:52 5: RADIO_WOHNZIMMER: URL http://192.168.1.102:80/fsapi/GET/netRemote.sys.power?pin=1234 returned:
<fsapiResponse>
<status>FS_OK</status>
<value><u8>0</u8></value>
</fsapiResponse>

2018.07.31 22:06:52 5: RADIO_WOHNZIMMER: Power GET successful.
2018.07.31 22:06:52 5: RADIO_WOHNZIMMER: URL http://192.168.1.102:80/fsapi/GET_MULTIPLE?pin=1234&node=netRemote.nav.state&node=netRemote.nav.status&node=netRemote.sys.caps.volumeSteps&node=netRemote.nav.numItems&node=netRemote.sys.mode&node=netRemote.sys.info.version&node=netRemote.sys.info.friendlyName&node=netRemote.sys.audio.volume&node=netRemote.sys.net.wlan.rssi& returned:
<fsapiGetMultipleResponse>
<fsapiResponse>
<node>netRemote.nav.state</node>
<status>FS_OK</status>
<value><u8>1</u8></value>
</fsapiResponse>
<fsapiResponse>
<node>netRemote.nav.status</node>
<status>FS_OK</status>
<value><u8>4</u8></value>
</fsapiResponse>
<fsapiResponse>
<node>netRemote.sys.caps.volumeSteps</node>
<status>FS_OK</status>
<value><u8>21</u8></value>
</fsapiResponse>
<fsapiResponse>
<node>netRemote.nav.numItems</node>
<status>FS_OK</status>
<value><s32>6</s32></value>
</fsapiResponse>
<fsapiResponse>
<node>netRemote.sys.mode</node>
<status>FS_OK</status>
<value><u32>0</u32></value>
</fsapiResponse>
<fsapiResponse>
<node>netRemote.sys.info.version</node>
<status>FS_OK</status>
<value><c8_array>ir-mmi-FS2026-0500-0487_V2.12.8.EX68054-2RC6</c8_array></value>
</fsapiResponse>
<fsapiResponse>
<node>netRemote.sys.info.friendlyName</node>
<status>FS_OK</status>
<value><c8_array>WOHNZIMMER</c8_array></value>
</fsapiResponse>
<fsapiResponse>
<node>netRemote.sys.audio.volume</node>
<status>FS_OK</status>
<value><u8>1</u8></value>
</fsapiResponse>
<fsapiResponse>
<node>netRemote.sys.net.wlan.rssi</node>
<status>FS_OK</status>
<value><u8>64</u8></value>
</fsapiResponse>
</fsapiGetMultipleResponse>

2018.07.31 22:06:52 5: RADIO_WOHNZIMMER: Multiple GET_MULTIPLE successful.
2018.07.31 22:06:52 5: RADIO_WOHNZIMMER: URL http://192.168.1.102:80/fsapi/LIST_GET_NEXT/netRemote.nav.presets/-1?pin=1234&maxItems=20 returned:
<fsapiResponse>
<status>FS_OK</status>
<item key="0">
<field name="name"><c8_array>sunshine live</c8_array></field>

</item>
<item key="1">
<field name="name"><c8_array>RauteMusik.FM House</c8_array></field>

</item>
<item key="2">
<field name="name"><c8_array>RauteMusik.FM HardeR</c8_array></field>

</item>
<item key="3">
<field name="name"><c8_array>RauteMusik.FM HappyHardcore</c8_array></field>

</item>
<item key="4">
<field name="name"><c8_array>RauteMusik.FM TechHouse (Progressive)</c8_array></field>

</item>
<item key="5">
<field name="name"><c8_array>RauteMusik.FM Club</c8_array></field>

</item>
<listend/>
</fsapiResponse>

2018.07.31 22:06:52 5: RADIO_WOHNZIMMER: Presets LIST_GET_NEXT successful.

mumpitzstuff

Ohhh. Ein altes Perl und ein altes Bare Modul. Das ist bestimmt die Ursache.

Und gefunden (in Version 0.49 steht):

Fixed handling of nodes named 'value'; they will no longer crash the XS code

Die XML Strukturen enthalten nachweislich aber nodes mit dem Namen value:

<value><c8_array></c8_array></value>

Versuch mal bitte folgendes:

sudo cpan install XML::Bare

Das sollte die Version 0.53-1 runterladen, kompilieren und dann installieren. Damit sollten deine Probleme beseitigt sein.

Lichti

Hat leider nichts gebracht. FHEM stürzt immer noch ab.

Hier der Log:
2018.08.01 07:04:53 5: DigitRadio: SetNextTimer called
2018.08.01 07:04:59 0: Featurelevel: 5.8
2018.08.01 07:04:59 0: Server started with 352 defined entities (fhem.pl:17007/2018-07-20 perl:5.014002 os:linux user:fhem pid:3793)
2018.08.01 07:05:01 5: DigitRadio: Error while requesting http://192.168.178.25:8080/dd.xml - 192.168.178.25: Connection reset by peer
2018.08.01 07:05:02 5: DigitRadio: Notifications started
2018.08.01 07:05:03 5: DigitRadio: URL http://192.168.178.25:80/fsapi/GET/netRemote.sys.power?pin=1234 returned:
<fsapiResponse>
<status>FS_OK</status>
<value><u8>0</u8></value>
</fsapiResponse>

2018.08.01 07:05:03 5: DigitRadio: Power GET successful.
Can't use string ("
") as a HASH ref while "strict refs" in use at ./FHEM/17_SIRD.pm line 1905.

Bei sudo cpan install XML::Bare kam noch die Meldung:
  New CPAN.pm version (v2.16) available.
  [Currently running version is v1.960001]
  You might want to try
    install CPAN
    reload cpan
  to both upgrade CPAN.pm and run the new version without leaving
  the current session.

"install CPAN" benötigt aber noch einen Parameter. Kann es daran liegen ?

mumpitzstuff

wenn das die gesamte Ausgabe von cpan war, dann hat der gar nichts installiert?

Wenn du das eingibst:

sudo cpan

müsstest du in cpan landen (cpan: steht am Anfang der Zeile). Jetzt sollte mit der Eingabe von:

install XML::Bare

der Download der Version 0.53 erfolgen und diese dann installiert werden. Diese Ausgabe müsstest du mal posten.

Die anderen Warnungen das dein cpan recht alt ist, sollte erst mal keine Rolle spielen (zur Sicherheit kannst du aber auch wie dort beschrieben die aktuelle Version installieren). Es kann eventuell notwendig sein den Rechner neu zu booten, damit das neue Paket geladen wird. Vorher solltest du aber sicher sein, das wirklich auch irgendwas von XML::Bare installiert wurde.

Ich werde heute Abend mal die letzten Änderungen einchecken und eine Prüfung auf Version 0.53 aufnehmen. Dann sieht man direkt ob die richtige Version verfügbar ist oder nicht.

mumpitzstuff

Ich habe die letzten Änderungen eingecheckt. Jetzt wird hoffentlich beim Laden des Moduls überprüft, ob die richtige Version der Bibliothek vorhanden ist. Falls nicht, dann sollte das Modul nicht geladen werden. So wäre dann wenigstens sichergestellt, dass FHEM nicht komplett abschmiert.

Lichti

Auf diese Art hat er beim install XML::Bare eine ganze Menge mehr gemacht.
Und jetzt stürzt FHEM auch nicht mehr ab.

Hab gerade gesehen, das es eine neue Version gibt.
Werde ich auch gleich testen.

Läuft. Alles super!

mumpitzstuff

Super! Jetzt bin ich echt froh, dass dieses Problem beseitigt ist. Ich nehme das vorn in die Beschreibung auf.

automatisierer

Jou, habe XML::Bare auch mal über cpan installiert. Nu läufts.

Danke für deine Bemühungen!!

THZ_Haus

Hallo,
bei mir steht folgendes im Log:
Timeout for SIRD_DoSpeak reached, terminated process 3056
was bedeutet das?
Solarview mit SAM BT, FHEM mit THZ 403 SOL, EDIMAX

mumpitzstuff

Da scheint etwas schief gelaufen zu sein und der Speak Prozeß ist länger als die von mir vorgegebenen 120s gelaufen. Normalerweise sollte eine Sprachausgabe mit maximal 200 Zeichen nicht länger dauern.

War das ein einmaliger Vorfall oder passiert das immer? Was genau hast du gemacht? Kommt überhaupt eine Sprachausgabe raus? Funktionieren alle anderen Funktionen ordnungsgemäß?

THZ_Haus

Hallo,
danke für die schnelle Hilfe!
Die Medion Geräte werden genutzt um die Anrufer durchzusagen.
Das Skript 99_FritzboxCallUtils.pm kommt
von der Seite: https://hausautomatisierung-koch.de/2016/12/23/anrufername-lautsprecher-ausgabe/.

Habe im Sird jetzt den
ZitatcompatibilityMode
deaktiviert und die Meldung ist verschwunden.
Auch die durchsage funktioniert nun wieder.

Wofür ist der Modus?

Solarview mit SAM BT, FHEM mit THZ 403 SOL, EDIMAX

mumpitzstuff

Im Kompatibilitätsmodus werden immer einzelne Requests an das Radio gestellt, da einige ältere Radios den neueren Block Modus nicht unterstützen. Eigentlich funktioniert dieser Modus deshalb mit allen Radios, hat aber eine höhere Auslastung des Systems zur Folge. Wenn möglich sollte man ihn deshalb immer abschalten.

Brice

Zitat von: THZ_Haus am 02 August 2018, 21:05:38Das Skript 99_FritzboxCallUtils.pm

off topic:

Das Scipt ist bei definiertem CallMonitor nicht notwendig. Mir reicht ein simples Notify
my_callmonitor:event:.ring {fhem('set <Device> speak Dies ist ein Anruf von ([my_callmonitor:external_name])')} und dazu ein
attr <Name vom Notify> disabledForIntervals 22:20-24:00 00:00-06:30
FHEM auf RPi 4 4GB (Buster) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080

mumpitzstuff

Ich habe mal im Development Branch bzw. hier im Anhang eine Version mit Playlist Support bereitgestellt. Bei Interesse kann gern getestet werden. Folgende Dinge sollten beachtet werden.

1.) Wenn die Playliste eine lokale Datei ist, dann müssen auch die darin enthaltenen Lieder lokale Dateien sein. Wenn die Playliste auf einem anderen Webserver oder UpnP Server liegt, dann müssen auch die darin enthaltenen Lieder auf einem anderen Server liegen. Ein Mix aus lokalen Dateien und Dateien die irgendwo im Netz liegen, ist nicht möglich.
2.) Nehmen wir an das Attribut streamPath steht auf: "/opt/fhem/www/". In diesem Pfad liegen 3 Dateien pl.m3u, 1.mp3 und 2.mp3. Dann sollte die Datei pl.m3u lediglich 1.mp3 und 2.mp3 ohne weitere Pfadangaben enthalten, also relativ zum streamPath sein. Die Playlliste kann dann gestartet werden mit:

set <device> stream pl.m3u

3.) Wenn man keine lokalen Dateien verwendet, dann muss dem stream Kommando die m3u Datei mit http://192.168.x.x/pl.m3u übergeben werden. Darin enthalten müssen dann vollständige URLs sein, also z.b. http://192.168.x.x/1.mp3 und http://192.168.x.x/2.mp3. Das Feature habe ich bisher selbst noch nicht probiert, sollte aber trotzdem gehen.

PS: Selbst getestet habe ich nur die lokale Version! Zwischen den einzelnen Liedern kann es zu längeren Pausen kommen. Mir ist noch nichts eingefallen, wie ich das aktuell ändern könnte.

Klaus0815

Hab mich gerade gewundert, das mein InfoDisplay, das Radiosender usw anzeigt, nicht mehr funktioniert

Vermutlich schon seit längerem, ist ne Spielerei in der Werkstatt, wird nicht jeden Tag benutzt


Anbei ein Screenshot - bei InfoText steht nichts mehr
Auch kann ich über FHEM die Lautstärke nicht mehr ändern, wird zwar in der Weboberfläche übernommen, aber es ändert sich nichts

Power, Presence usw deuten aber darauf hin, das die Kommunikation schon noch funktioniert

Gab es irgend ein Update in FHEM oder bei Silicon Frontier?

Hauptgerät ist ein SIRD14C3