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

AK-868

Hallo zusammen,

ich hab mich mit einem Kumpel zusammen hingesetzt und wir haben ein wenig getüftelt.

Angefangen hat alles dort:
http://forum.fhem.de/index.php/topic,31430.msg239251.html#msg239251

Jetzt ist da folgende .pm raus geworden. Habe ich angehängt.

Ich muss WARNEN! Das ist noch bei weitem nicht fertig oder irgendwie schön.

Wir haben ein Modul als Vorlage genommen und angefangen ein wenig darin zu ändern.

Das define schaut wie folgt aus:
Pin = 1234
IP= 192.168.0.XX
define IRadio SIRD 192.168.0.XX 1234

Es gibt ein Reading bisher... volumeStraight
Es kann Ein und Aus geschalten werden. (on off)
Die Lautstärke kann absolut gesetzt werden: Min: 0 Max: 19

Jetzt kommen meine Fragen,

wie kann ich die Readings aktuell halten?

Wenn her Bloch das liest... Wie bekommst du mit wie der status vom Yamaha ist wenn er aus gemacht wird. IR-Fernbedienung?
Ständig auslesen?




Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


AK-868

Hallo zusammen, ich hab jetzt weiter gemacht.

Ich kann jetzt die Eingänge (input) auswählen.

Funktioniert... bisher.

Ich ab aber dennoch eine Frage, es gibt dort eine xml - Seite, die mit notify betitelt ist.

Dort wird alles reingeschrieben was an Änderungen gekommen ist. Lautstärke eingang evtl. neuer Text vom Radiosender.

Die Sache ist nur die, wenn ich die Aufrufe, steht nichts darin. Irgendwie kommen die Daten in einer Form, ich würde sagen Push wie ei einem Notify.

Wie bekomme ich das in meinem Modul hin? Dann könnte ich Readings sofort aktualisieren.

Grüße
Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


Rince

Ich würde sagen, dass diese Daten immer als Antwort kommen, nachdem du einen Befehl übers Netzwerk gesendet hast.
Schau doch nochmal deine gesnifften Pakete an.
Ansonsten möchte ich sagen:

Hut ab.

Hätte damals, als ich dein erstes Posting diesbezüglich gelesen hatte, nicht gedacht, dass du so weit kommst.

Finde ich toll, wenn mir diese Bemerkung erlaubt ist :)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

automatisierer

Ich schließe mich dem an!! Hut ab! Ich habe insgesamt 4 von diesen Radios:

IäMedion MD87180 Wlan DAB FM Radio von ALDI.

Ich hatte mir auch schon mal Gedanken darüber gemacht so etwas zu entwickeln. Hatte auch schon mal gesnifft, allerdings mangels Ahnung ohne besondere Ergebnisse.

Ich bin gern bereit dieses Modul zu testen oder andersweitig zu unterstützen, allerdings sind meine Fähigkeiten auf diesem Gebiet noch sehr gering. Aber der Wille ist da!

Erster Test:
Nachdem ich gestern schon mal erfolglos probiert hab, hatte ich dann heute auch mal Erfolg. Gestern blieb das SESSIONID Reading immer leer. Heute habe ich das Device nochmal neu defined. Anfangs hat sich auch nichts getan, nach ein paar mal set on/off hatte ich dann plötzlich ein SESSIONID Reading, so ca drei mal. Das Reading hat sich nach jedem set Befehl geändert. Danach habe ich versucht die Lautstärke zu ändern und anschließend ging dann wieder nix mehr, das SESSIONID Reading blieb dann wieder leer.

Gruß
Ingo



AK-868

Hallo Ingo.. Das ist ja klasse das da noch jemand Interesse hat.
Mh also normalerweise wird die session id jedes mal neu generiert... Allerdings kann ich dir nicht verraten wie das modul mit z.b. 2 geraeten laeuft... Wenn ich mir da kurz gedanken zu mache, eig. Problemlos...

Das mit den session ids ist mir allerdings schleierhaft... Benutzt du paralel dazu die App fuer android bzw. Iphone?
Wie heisst die? Ich würde die dann mal bei dem lidl radio probieren.

Ich lade morgen das update hoch. Bzgl. Input. Vllt. Ist das timeout ein wenig knapp bei dir.
Ist nur 2 sec.

Wie ist das Radio angebunden? Wlan?

Hey Rince vielen dank. Ja was Netzwerk angeht bin ich einigermassen fit. Mein Kumpel hat mir aber einiges gezeigt.
Er hat das modul fuer die energenie steckdosen mitgebaut. Ist da also deutlich fitter als ich.

Pearl ist noch mein Hinderniss.

Ich hab die seite im browser geoffnet. Dort taucht nichts auf.. Bis ich irgendwas veraendere und wenn das Am geraet selber ist. Kommt nur meine aenderung als event.

Gruesse





Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


automatisierer

medion lifestream heißt die app für Android.

und das Radio ist über Wlan angeschlossen.


und ich tippe mal das es noch mehr Menschen gibt die das brauchen können.

AK-868

Hi,

oben ist die neue .pm

Auf dem Lidl Radio läuft das bisher ganz gut.

Man kann aber nur die Eingänge wählen.

Irgendwas auswählen geht leider nicht. (Radiosender etc)

Grüße

Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


automatisierer

#7
Hattest du das Timeout auch schon geändert?

Das Problem mit der ab und an fehlenden SESSIONID ist nämlich immer noch da.

Ich werde später auch mal eins per LAN testen.

EDIT:

hab nun ein Radio per LAN angeschlossen, da ist jeder Befehl ein Treffer.

AK-868

Hi!

ich würde das mit den Timouts ungern ändern, ich meine zu wissen das solange keine Antwort von dem Gerät kommt, FHEM steht. Vllt. bau ich das noch ein das man die Timouts beim define festlegen kann.
Oder als Attribut.

Ich hab irgendwo gelesen, das für manche dinge sogar Zeiten im Millisekunden-Bereich unschön sind.

Funktionieren die Inputs denn auch?

Aber mal unter uns... 2 Sekunden sind im Netzwerkbereich doch monströs. Hast du viel Traffic in deinem WLAN? Schlechten Empfang?

Was für Hardware hast du? RPI? Fritzbox mit FHEM?

Grüße

Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


Rince

Dafür gibt es NonBlocking.
Das lagert das Modul quasi in einen Parallelprozess aus, so dass fhem nicht auf Timeouts oder so warten muss.



Edit:
Schau mal in diesen Thread
http://forum.fhem.de/index.php/topic,31626.0.html
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

AK-868

Ja das hatte ich auch schon gelesen.

Muss mich da noch schlau machen.

Aber dennoch 2 sec. sind echt viel im lokalen Netz.
Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


automatisierer

Moin,

fhem läuft bei mir auf nem bananapi.
hm, mein netzwerk ist schon recht umfangreich, aber ich kann mir iwie nicht vorstellen das zwei sec. nicht ausreichen. bei der lan verbindung bemerkte man ja quasi keine zeitverzögerung zwischen befehl absenden und der reaktion am radio.  ich hab iwie son gefühl das das was anderes ist. daher würde ich halt gerne mal mit nem timeout von 4 oder auch 10 sec testen, nur um mein gefühl zu wiederlegen oder zu bestätigen.

hab mal nen bissl an der .pm rumgespielt, bin mir allerdings nicht sicher ob ich da auch wirklich den timeout verstellt hab,  dazu fehlt mir noch das perl verständnis. der anschliessende test brachte auf jeden fall mal keinen erfolg.

gruß
ingo

EDIT:

habe das Timeout mal auf 10 Sekunden gestellt, wenn das Radio aus ist, hängt FHEMfür 10sec wenn ich einen Befehl sende. (daher gehe ich mal davon aus das ich den richtigen Wert erwischt hab)
Sende ich einen Befehl wenn das Radio an ist, geht dieser zwar nicht durch, FHEM hängt aber nur für weniger als 2sec. Daher tippe ich mal das es nicht am timeout liegt. Ich gehe eher davon aus, dass es ein Kommunikationsproblem ist.

AK-868

Hi, ich bin derzeit krank und bekomme Kopftechnisch leider nichts zustande.

Du könntest mit deinem Browser testen.

Erstmal eine neue SessionID
http://192.168.0.16:80/fsapi/CREATE_SESSION?pin=1234

Das Ergebnis kommt dann dort rein.

AN
http://192.168.0.xx:80/fsapi/SET/netRemote.sys.power?pin=1234&sid=Ergebnis&value=1

AUS
http://192.168.0.xx:80/fsapi/SET/netRemote.sys.power?pin=1234&sid=1085365777&value=1


Probier mal wie sich das per Wlan verhält.

Grüße.
Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


automatisierer

Das Radio reagiert mit anschlagen der Enter-Taste in Sekunden Bruchteil.

automatisierer

#14
Hi, was macht der Kopf?

Ich hab heute mal Zeit damit verbracht mit der FritzBox den Datenverkehr zwischen FHEM und dem Radio zu sniffen. Die gesnifften Pakete waren allerdings nie komplett, daher hab ich das mit der FB aufgegeben und hab stattdessen mal tshark auf meinen bananaPI, auf dem auch FHEM läuft, installiert und damit gesnifft. Mit den Daten konnte ich dann auch was anfangen.

Radio per LAN verbunden und Befehle per FHEM:
Die Antwort auf die SessionID-Anfrage kam immer nach ca. 0,006 (+-0,002) Sekunden und der Befehl wurde am Radio auch immer ausgeführt.

Radio per WLAN verbunden und Befehle per FHEM:
Die Antwort kam ab und an auch in dem Zeitrahmen, dann wurde der Befehl am Radio auch ausgeführt. Meistens kam der Set-Befehl aber bevor die SessionID-Antwort angekommen ist. Der Set-Befehl kam immer ca. 0,0101 Sekunden nach der SessionID-Anfrage.
Kann es sein das der zweite Befehl die Antwort von der ersten Anfrage abschießt?

Die gesnifften Klamotten stelle ich dir gern zur Verfügung.
Ich habe zum Vergleich die Befehle aus dem Browser per Lan und WLan und auch von FHEM per LAN und WLAN mitgeschnitten.

Meiner bescheidenen Ahnung nach, haut FHEM den set-Befehl zu schnell nach der sessionID Abfrage raus.
Eventuell kann man ja ein "wait for SessionID" oder so ähnlich einbauen, so das der Befehl erst nach Empfang der SID ausgeführt wird.

Gruß
Ingo


EDIT:
Hab mal noch Fix die Befehle aus dem Browser des BananaPi abgeschickt und da sind die Antwort-Zeiten noch schlechter. Die schnellste Antwort kam nach 0,015s und die langsamste nach 0,03s

EDIT2:
Habe auch mal noch den Datenverkehr zwischen der Handy-App und dem Radio gesnifft. Wie gesagt, stelle ich die Daten gern zur Verfügung.