Modul für Lidl/Aldi Internetradio Basis Silvercrest Sird 14A2 "FSAPI"

Begonnen von AK-868, 12 Januar 2015, 17:06:17

Vorheriges Thema - Nächstes Thema

MarkusHiba

#135
Danke sehr das hilft weiter
Wie kann man den Modus umschalten zwischen Internetradio, Digitalradio, Player und FM Radio irgendwie funktioniert das bei meinem nicht.

Leider funktioniert das mit set <name> presetListRequest nicht ich bekomme einfach keine Senderliste
Mit freundlichen Grüßen

MarkusHiba

SommerSonnenWende

Hallo,

ich hoffe, dass der Maintainer des Modules mitliest und aktiv an der Implementierung weiter arbeitet.

Es gibt die Möglichkeit, die vorhandenen Modi (FM, DAB, AUXIN, ...) per Befehl abzufragen, Quelle: https://github.com/flammy/fsapi/blob/master/FSAPI.md.

Der Befehl:

http://xxx.xxx.xxx.xxx/fsapi/LIST_GET_NEXT/netRemote.sys.caps.validModes/-1?pin=xxxx&sid=xxxxxxx&maxItems=100

Bei meinem LIDL SIRD 14A2 ergibt sich die folgende XML-Antwort:


<fsapiResponse>
<status>FS_OK</status>
<item key="0">
<field name="id"><c8_array>IR</c8_array></field>
<field name="selectable"><u8>1</u8></field>
<field name="label"><c8_array>Internet Radio</c8_array></field>

</item>
<item key="1">
<field name="id"><c8_array>MP</c8_array></field>
<field name="selectable"><u8>1</u8></field>
<field name="label"><c8_array>Musikplayer</c8_array></field>

</item>
<item key="2">
<field name="id"><c8_array>DAB</c8_array></field>
<field name="selectable"><u8>1</u8></field>
<field name="label"><c8_array>DAB</c8_array></field>

...

</item>
<item key="6">
<field name="id"><c8_array>NETWORK</c8_array></field>
<field name="selectable"><u8>0</u8></field>
<field name="label"><c8_array></c8_array></field>



Dabei entscheidet das Feld "selectable", ob der angegebene Modus ("Key") auswählbar ist.

Damit wäre es möglich, die sub SIRD_INPUT($$) ab Zeile 1130 Gerätespezifisch zu gestalten. Für mein Radio fehlt beispielsweise die Auswertung des DAB-Modus als $helper = 2

Besten Dank!

mrfloppy

Besteht hier noch die Chance das dieses Modul weiterentwickelt wird?

Ich habe einen Silvercrest SMRS18A1 Wlan Multiroom Speaker.
Und bekomme div. Logeinträge bezüglich perl.

zb. beim start:

2017.03.21 14:53:20 1: PERL WARNING: main::SIRD_Power() called too early to check prototype at ./FHEM/17_SIRD.pm line 76, <$fh> line 1227.
2017.03.21 14:53:20 1: PERL WARNING: main::SIRD_Volume() called too early to check prototype at ./FHEM/17_SIRD.pm line 153, <$fh> line 1227.
2017.03.21 14:53:20 1: PERL WARNING: main::SIRD_Mute() called too early to check prototype at ./FHEM/17_SIRD.pm line 252, <$fh> line 1227.
2017.03.21 14:53:20 1: PERL WARNING: main::SIRD_Shuffle() called too early to check prototype at ./FHEM/17_SIRD.pm line 312, <$fh> line 1227.
2017.03.21 14:53:20 1: PERL WARNING: main::SIRD_Repeat() called too early to check prototype at ./FHEM/17_SIRD.pm line 372, <$fh> line 1227.
2017.03.21 14:53:20 1: PERL WARNING: main::SIRD_RemoteState() called too early to check prototype at ./FHEM/17_SIRD.pm line 1097, <$fh> line 1227.
2017.03.21 14:53:20 1: PERL WARNING: main::SIRD_SearchTerm() called too early to check prototype at ./FHEM/17_SIRD.pm line 1867, <$fh> line 1227.
2017.03.21 14:53:20 1: PERL WARNING: main::SIRD_DABScan() called too early to check prototype at ./FHEM/17_SIRD.pm line 1921, <$fh> line 1227.
2017.03.21 14:53:20 1: PERL WARNING: main::SIRD_Com() called too early to check prototype at ./FHEM/17_SIRD.pm line 1203, <$fh> line 1227.
2017.03.21 14:53:20 1: PERL WARNING: main::SIRD_Input() called too early to check prototype at ./FHEM/17_SIRD.pm line 1210, <$fh> line 1227.
2017.03.21 14:53:20 1: PERL WARNING: main::SIRD_Com() called too early to check prototype at ./FHEM/17_SIRD.pm line 1214, <$fh> line 1227.
2017.03.21 14:53:20 2: SIRD Init module
2017.03.21 14:53:20 1: PERL WARNING: Use of uninitialized value $a in int at ./FHEM/17_SIRD.pm line 1972, <$fh> line 1227.


ebenso beim steuern über VolumeUp /VolumeDown verschluckt er sich und ist plötzlich leise.

2017.03.21 16:29:04 2: SIRD set IRadio (10.0.0.xxx) on
2017.03.21 16:29:17 2: SIRD set IRadio (10.0.0.xxx) volumeUp
2017.03.21 16:29:17 1: PERL WARNING: Argument " " isn't numeric in int at ./FHEM/17_SIRD.pm line 2441.
2017.03.21 16:29:17 1: PERL WARNING: Argument "" isn't numeric in numeric eq (==) at ./FHEM/17_SIRD.pm line 2443.
2017.03.21 16:29:17 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/17_SIRD.pm line 2445.


LG Thomas
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

automatisierer

jo, wie schon öfter geschrieben:
Dieses Modul wird nicht weiter entwickelt, da kein Maintainer. Da hat hier und da mal wer was dran verändert, aber mehr LEIDER nicht.

Falls das Irgendwer übernehmen möchte - mich würds erfreuen.

Jörg

Hi,
ich habe in der 17_SIRD.pm einige Dinge verändert, da mir die Perl Warnings im Log auch nicht geschmeckt haben. Dabei sind mir noch einige Böcke aufgefallen, die ich auch korrigiert habe.

Könnt ihr die angehängte 17_SIRD.pm bitte einmal testen?
Bei meinem Silvercrest Radio von Lidl  kommen bis jetzt keine Fehlermeldungen mehr.  :)


LG Jörg

raiderxxl

Guggug,
gerade versucht..
Ich habe noch folgende Meldung..

PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/17_SIRD.pm line 922.


wobei ich die Silvercrest WLAN Lautsprecher 2x SMRS 18 A1, SMRS 30 A1 und SMRS 35 A1 in Gebrauch habe.

Aber danke für die Pflege des Moduls!!!



FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

Jörg

Hier ist eine neu bearbeitete Version.

In der sollte der Fehler und das von mrfloppy beschriebene VolumeUp und VolumeDown Problem behoben sein.

Im Log habe ich die IP des Radios herausgenommen, da ich eimal davon ausgehe, dass man die IP seiner Geräte kennt.


LG Jörg

automatisierer

Danke dafür!
...hast du nicht lust den Maintainer für dieses Modul zu übernehmen? Und es evtl. sogar zu einem offiziellen Modul weiter zu entwickeln?


Jörg

Zitat von: automatisierer am 24 März 2017, 22:04:53
Danke dafür!
...hast du nicht lust den Maintainer für dieses Modul zu übernehmen? Und es evtl. sogar zu einem offiziellen Modul weiter zu entwickeln?
Gerne geschehen.  :)
Aber Maintainer? Meine Perl Kenntnisse sind bei Weitem nicht perfekt. Wenn ich einmal alle Fehler gefunden und gefixt habe, können wir darüber gerne diskutieren. ;)
Was ich allerdings sagen muss ist, dass ich dadurch sehr viel lerne und auch schon gelernt habe. ;D ;D ;D


In der neuen 17_SIRD.pm sind wieder viele Fehler gefixt worden. Da sind noch einige hartnäckige "uninitialized" PERL WARNINGS, um die ich mich noch kümmere.

Zusätzlich habe ich zwei Readings hinzugefügt:
presetList_1-5 <P1: MixNation><P2: RTL-DeutschlandsHitradio><P3: NRJDance><P4: NRJHits><P5: AbsolutHot>
presetList_6-0 <P6: CharivariParty-Hit-Mix><P7: Radio90.1FM><P8: Top100Germany><P9: planetradiotheclub><P0: sunshinelive>


Ich musste die Presets auf zwei Readings aufteilen, da einige Sendernamen so lang sind, dass das den optischen Rahmen gesprengt hat.


LG Jörg

mrfloppy

Großes Danke das sich jemand gefunden hat der da weiter macht an dem Modul.

Letzte Version mal installiert.
Besitze auch einen Silvercrest SMRS 30 A1.
Beim ersten Versuch kam der Fehler nochmals mit dem VolumeDown.
Nach div. weiteren restarts von Fhem konnte ich den Fehler nicht mehr nachstellen.
Weiters keine Warnungen mehr beim Start von Fhem.

Ich hatte vor ein paar Tagen hier die mit Pfeil markierte Zeile eingefügt gehabt.
if ( $hash->{STATE} eq "off" )
        {
          SIRD_Time( $hash, -1 );
          SIRD_Date( $hash, -1 );
          SIRD_FriendlyName( $hash, -1 );
          SIRD_Version( $hash, -1 );
          SIRD_ID( $hash, -1 );
--->   SIRD_PresetList( $hash, -1 );
        }
        else



Hat manchmal funktioniert manchmal auch nicht.
Wollte bezwecken das im ausgeschalteten Zustand die Preset Liste geladen wird.
Hin und wieder bekam ich dann ein <status>FS_NODE_BLOCKED</status>
Würde auch reichen wenn er die Presetliste beim start mitladen würde. Ebenso gleich Volume dazu.
Eventuell fällt dir dazu was ein, wie es richtig eingepflegt gehört.

LG und DANK Thomas


RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

Oli_t

Hallo,

habe die Variante des Radios von Hama. Mit der aktuellen Version des Moduls sehe ich keine Inputs mehr. Bei der alten Version werden alle Inputs korrekt erkannt.

chunter1

Ich hätte 2 Fragen:

1.) Funktioniert eigentlich Text2speech auch mit dem Modul?

2.) Der "Silvercrest SMRS 18 A1" ist wohl der günstigste Lautsprecher der unterstützt wird, richtig?

Danke

Jörg

Zitat von: Oli_t am 29 März 2017, 08:26:21habe die Variante des Radios von Hama. Mit der aktuellen Version des Moduls sehe ich keine Inputs mehr. Bei der alten Version werden alle Inputs korrekt erkannt.
Hi Oli,
wundert mich, da ich an dem Part nichts verändert habe. Bei meinen SIRD 14 Radios werden die Inputs korrekt angezeigt. Habe es bei Beiden getestet.
Kannst du mir bitte sagen, was in den Internals bei Model genau steht?
Gib mir auch sicherheitshalber die Liste der Inputs, die im Display des Radios zu sehen sind. Bitte die Schreibweise beachten!

Ach so, einen Neustart von FHEM und sicherheitshalber auch von dem Radio (Netzstecker für ca. 10 Sekunden trennen.) hast du aber gemacht?

Zitat von: mrfloppy am 28 März 2017, 21:14:53Nach div. weiteren restarts von Fhem konnte ich den Fehler nicht mehr nachstellen.
Weiters keine Warnungen mehr beim Start von Fhem...
Das hört sich ja schon ganz gut an  :) Danke für das Feedbak


Das ist wichtig: Das Modul braucht in den meisten Fällen ein Neustart von FHEM !!!
Es reicht nicht mit einem reload-Befehl !!!


ZitatIch hatte vor ein paar Tagen hier die mit Pfeil markierte Zeile eingefügt gehabt.
--->   SIRD_SIRD_PresetList( $hash, -1 );
Ist das "SIRD_SIRD" ein Kopierfehler beim Schreiben des Beitrags?
Denn die Funktion wird so aufgerufen:
SIRD_PresetList( $hash, -1 );

ZitatWollte bezwecken das im ausgeschalteten Zustand die Preset Liste geladen wird.
Ja, da sprechen wir die selbe Sprache.  :D
Aber ich würde sagen, dass ich erst versuche die Fehler zu fixen, damit das Modul richtig läuft. Danach kann man mit Sicherheit noch einiges erweitern...  ;)

@chunter1: Ob Text2speech damit funktioniert kann ich wirklich nicht sagen. Ich muss an der Stelle zugeben, dass ich Text2speech noch nie benutzt habe. :)



LG Jörg

mpmd

Hallo Zusammen,

hat auch die Meldung das Input Unkown ist.
Musste hierfür meine Definition anpassen, damit der richtige Radiotyp gewählt wird.

DEF 192.xxx.xxx.xx 1234 sird14 60

Seitdem kann ich den Input wählen.

Jörg

Kann sein, dass durch diverse Fehler im Modul einiges durch Zufall funktionierte, was eigentlich nicht hätte funktionieren sollen. Von einer ordnungsgemäßen Definition und Konfiguration des Moduls muss ich an dieser Stelle aber schon ausgehen können.