Radiowecker via FHEM steuern

Begonnen von ritchie, 29 April 2013, 09:16:28

Vorheriges Thema - Nächstes Thema

Puschel74

Hallo,

vielen dank für die Rückmeldung - auch wenn es nicht die erhoffte war.
Ich dachte die Integration ist schon etwas weiter fortgeschritten.
Aber was nicht ist kann ja hoffentlich noch werden.

ZitatWas wäre denn aus Deiner Sicht wünschenswert wenn es um eine Integration geht ?

Naja. Laienhaft gesagt ...
das was schon geht (also play/pause/stop) und vllt. über FHEM anwählbare Radiostationen oder Playlist-Auswahl.
evtl. noch eine "programmierbare" Foto-Slideshow - also eventbassiert ein Bild/mehrere Bilder nacheinander darstellen.

Puh. Wenn ich mal eine Nacht drüber schlafe fallen mir sicher noch ein paar Dinge ein.

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.

ritchie

Hi,

als meine Frau die Kritiken des Xoro HMT 370 Radio gelesen hat,
kam nur die Bemerkung "Aber der Ton ist schlecht und das muss mindestens gut sein".

Könnt Ihr das bestätigen ? Ich will nur normal in der Küche Radio hören,
keine Konzerte oder so.

Daher habe bis jetzt das Teil noch nicht gekauft.

Gruss R.
IPU662  Ipfire & Fhem (Homematic + MAX) - Produktiv
Cubietruck (1Wire - USB) - Produktiv

Puschel74

Hallo,

Zitatdie Kritiken des Xoro HMT 370 Radio gelesen hat

So ging es mir auch.
Ich hab die Beiträge durchgelesen und das Radio wieder verworfen.
Daher "hänge" ich noch am IPTV-2335 WLAN von Pearl.
Bestellt ist aber bei mir auch noch nichts da ich erstmal schauen (lesen) möchte ob sich das Teil auf absehbare Zeit mit
FHEM bedienen lässt.

Speziell das Eventbasierte anzeigen eines Bildes würde mich reizen.
Wetter meldet Regen und wenn der Wecker "klingelt" hat FHEM die Regenwolke schon aufs Radio geworfen (inkl. Temperaturanzeige des Aussensensors).

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.

ritchie

Hi,

als alternative wäre da ja noch das "Xoro HMT 350".

Soll was besser sein, wenn man den Bewertungen glauben darf. (Auch als das 370)

Deine Ideen decken sich mit meinen Vorstellungen, jedoch habe ich noch ein paar andere "Baustellen" bevor ich damit beginne.

Viele Grüße

R.
IPU662  Ipfire & Fhem (Homematic + MAX) - Produktiv
Cubietruck (1Wire - USB) - Produktiv

herrmannj

Hi,

Zitat von: ritchie schrieb am Mi, 05 Juni 2013 20:49Ton ist schlecht ... Könnt Ihr das bestätigen ? Ich will nur normal in der Küche Radio hören,
keine Konzerte oder so.

Das lässt sich nur subjektiv beantworten. Ich habe das Archos Arnova, das müsste dann wohl ein MP350 sein. Zuerst hatte ich es im Garten, später hat meine Tochter mir die Eigentumsrechte entzogen und nutzt es als Wecker und als Youtube, Twitter und whatever :) Device.

Persönlich habe ich, was den Klang angeht, keine Bedenken wenn es um ein Küchen-, Bad- oder Schlafzimmerradio geht. Soweit ich weiß hat Rince, der ja auch involviert ist, sein Radio erhalten. Vielleicht steuert er seinen Eindruck auch mit ein.

Da sich der Kreis der Interessierten ja scheinbar vergrößert kann ich ja mal einen kurzen Abriss geben wo wir stehen:

Penbex (so heißt der Firmwareentwickler) hat aktuell minimalen LAN Support in seine Firmware eingebaut, dabei hatte er erst mal nur eine Smartphone App im Sinn welche die FB ersetzen sollte.

Rince hat dann Kontakt zu ihm aufgenommen und hat um Unterstützung für eine FHEM Integration geworben. Penbex hat da grundsätzlich auch Interesse gezeigt und ist dabei zusätzliche Funktionen (zum Beispiel Picture Overlay) einzubauen.

Grundsätzlich muss man aber auch sagen das wir im Augenblick (Rince, ich hoffe Du teilst das ;-) gar kein Konzept haben wie eine Integration in FHEM am Ende aussehen könnte.

Bestenfalls kann ich hier mal meine 10cent skizzieren:

Ich sehe ich nur begingt einen Mehrwert über FHEM play, pause, volume etc zu triggern. Wenn ich in der Küche bin drück ich auf den Knopf und gut ist.

Worin für mich der wirkliche Reiz bestünde wäre die Nutzung des Displays und Audio. So in der Art eines unauffälligen Universal-FHEM-Bedienpanels. Also sagen wir das Radio steht in der Küche und macht das was ein Radio so macht: Musik spielen. Aber gleichzeitig bietet es die Möglichkeit die Raumtemperatur einzustellen. Wenn das Telefon klingelt wird der Anrufer signalisiert, vielleicht mit Bild. Wenn es an der Haustür klingelt wird das Bild der Türkamera als Overlay engeblendet. Im Schlafzimmer kann ich möglicherweise die Alarmanlage aktivieren. Die Weckzeit wird mit FHEM synchronisiert und kann so das Wakeuplight steuern.

Die Schwierigkeit die sich daraus ergibt ist jetzt die: das Display ist zu klein um da irgendeine Art von "one fits it all" Menu abzubilden (zumindest sehe ich keinen Weg, vielleicht hat ja jemand eine zündende Idee). Vielmehr glaube ich das die Menus, je nach Installation und Raum, individuell, möglichst minimalistisch und (WAF kompatibel:-) grafisch sexy gestaltet sein sollten.

Der erste Gedanke dazu war innerhalb von FHEM ein Bitmap rendern zu lassen (die GUI für das Radio), dieses Bitmap per Lan ans Radio zu senden, dort ab aufs Display und im Gegenzug reicht das Radio alle Buttons (RC und lokal) an FHEM zurück. Damit wäre eine komplette Navigation möglich. Ergänzt um einige kleine Hardwarefunktion (play, displaybrightness, clock) und wir hätten ein rundes Paket.

Soweit ich Penbex verstanden habe wäre das jetzt auch für ihn mit vertretbarem Aufwand zu integrieren, allerdings hat er dann schlussendlich einen Rückzieher gemacht. Persönliches Gefühl von mir: er möchte das nicht weil es auf diese Art möglich wäre das Radio mit einer Oberfläche von FHEM zu betreiben, quasi komplett an der von ihm mit viel Mühe (muss man wirklich anerkennen!!!) entwickelten Oberfläche vorbei. Er hat recht offen gesagt das er die Kontrolle über das Device nicht abgeben möchte.

Penbex bevorzugt es aktuell eine "Homecontrol" - App für das Radio zu schreiben und möchte per XML oder JSON mit FHEM sprechen und die APP natürlich re-usable halten - nach Möglichkeit also auch für andere Homeautomatisierungen (es gibt neben FHEM noch weitere ??? ;-) öffnen möchte. Von seinem Standpunkt aus finde ich das auch durchaus valide.

Der Punkt an dem wir jetzt stehen ist also die Frage offen wie die Kommunikation FHHEM ./. Radio gestaltet werden kann und am Ende geht natürlich auch darum wie die grafische Darstellung erfolgen soll. (Liste, Menu mit Layout etc)

An diesem Punkt herrscht jetzt auch Funkstille, aber im Prinzip wären wir jetzt auch dran passende Vorschläge zu liefern.

Wenn Penbex jetzt darauf besteht das Rendern entsprechender GUI Elemente auf dem Device zu machen entsteht für mich die zwingende Notwendigkeit einen passenden Abstraktionslayer einzuführen. Weil sich daraus durchaus Synergien für andere Projekte ergeben können würde ich gerne die Chance Nutzen eine offene Diskussion für alle die Interessierten zu starten.

Zum jetzigen Zeitpunkt hätte ich dazu den Vorschlag ein SET von GUI Elementen zu definieren. Möglichst simpel, die üblichen Verdächtigen: Button, Auswahlfeld, Dialog, Panel plus noch einige :). Wenn wir jetzt in der OOP wären würde ich sagen abgeleitet von Dummy ergänzt um einige Attribute wie Position, Size vielleicht einige Styles. Soweit ich das in der dummy.pm sehe sollte der Aufwand dafür auch überschaubar sein.

Als Beispiel ein Button:

define LichtAnButton GuiButton
attr LichtAnButton position 50,50

Darüber würde dann das eigentliche Device liegen. Im Falle der Umstzung so wie von Penbex vorgeschlagen wäre die Aufgabe dieser Instanz alle zugehörigen Elemente "einzusammeln" und die XML oder JSON Kommunikation an das Radio zu übernehmen. Sollte FHEM das rendern übernehmen müsste die Instanz ebenfalls alle Elemte sammeln, diemsal aber eben die Position selber auswerten und in ein passendes Bitmap rendern.

define Kuechenradio iRadio
attr MenuA LichtAnButton

Dieses System würde es meiner Meinung nach dann auch zulassen Oberflächen universell zu erstellen und zu handhaben, zum Beispiel anstelle des WLAN Radios ein Tablett mit Sencha Touch (würde die config dann per json beziehen können und die passenden GUI Elemente dynamisch generieren) oder möglicherweise fühlt sich auch jemand berufen einen Renderer für Airplay oder andere Smart TVs zu schreiben.

Recht langer Post, sorry dafür. Alles Feedback und natürlcih helfende Hände hochwillkommen :)

Grüße
Jörg

Rince

Hi Puschel,

wenn du willst, dolmetsche ich dir gerne die Anleitung zur Installation.

Die Kommunikation läuft über Socks.
Also müsste fhem nen Socks Port öffnen und kann anschließend Befehle im Klartext senden.

Ich bin bis nächste Woche nicht da, ab dann kann ich mich wieder beteiligen.


Habe ein 350er.

Und wärend ich hier schreibe, kommt Jörgs Beitrag per eMail :-)

Also weiter bezugnehmend auf Jörg:
Die Klangqualität entspricht im wesentlich der, die man von einem kleinen billigen Radio erwarten kann.

Ich käme nicht auf die Idee, mir darauf einen Abend lang Mozart anzuhören oder alternativ ein Rock Konzert.

Ich will Abends zum einschlafen B5 hören, und Morgens zum Aufwachen entweder auch oder den ein oder anderen lokalen Pop Sender.

Das tut das Webradio aber definitiv.
Auch um am Nachttisch die Tagesschau sich nochmal reinziehen ist kein Problem :-)

Das tut. Völlig akzeptabel.


Bezüglich fhem, hm.

Ich sehe es ähnlich wie Jörg. Unsere Idee war, Bilder (also Menüs) auf fhem rendern zu lassen und die Radioeingaben an fhem zurück zu schicken.
So ne Art Floorplan für Arme.
Die ganzen lustigen Sachen wie Börsenkurse die das Webradio mitbringt sind mir völlig schnurz.

Auch ist es ja schön wenn das Radio einen Wecker hat, bei meinen unterschiedlichen Aufstehzeiten ziehe ich es vor, wenn fhem aus meinem Googlekalender die Weckzeit ausrechnet und passend das Radio anwirft. Meinetwegen andersrum, ich stelle die Weckzeit im Radio ein und fhem wertet es aus, um das Bad vorzuheizen.

Ansonsten unterstütze ich Jörgs Idee mit dem Telefondisplay und der Überwachungskamera, weil genau dazu will ich es auch einsetzen.

Was jetzt konkret passiert:
Zunächst würde ich jetzt mal warten, ob William mit seiner json xml Idee weiter kommt. Ich halte es für oversized, und eine Textliste zur Steuerung ist schlicht völlig unsexy.
Irgendwann wird ja mal eine Version 1.5 rauskommen, dann können wir weiter sehen.

Was würdest du denn gerne mit dem Radio machen?

Du kannst dich anmelden im Forum, und im deutschen Bereich schreiben. William liest da auch mit :-)
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)

Puschel74

Hallo Jörg, hallo Rince,

vielen dank erstmal für eure ausführlichen Erläuterungen.

Das Forum habe ich schon gefunden - auch den Deutschen Teil ;-)

Zitatwenn du willst, dolmetsche ich dir gerne die Anleitung zur Installation.
Dafür wäre ich dir sehr dankbar.
Da es aber, so wie es aussieht, wohl noch etwas dauert bis ich mir das Radio zulege kannst du dir damit gerne Zeit lassen.
Ich werde die Anleitung dann auch gerne ins Wiki stellen wenn das für dich ok ist.

ZitatWas würdest du denn gerne mit dem Radio machen?
Nun ja.
Wie schon gesagt evtl. aus fhem raus eventbasiert ein Bild anzeigen lassen mit den Daten eines Aussentemperatursensors.
Damit ich beim geweckt werden schon sehe wie das Wetter draussen ist ;-)

Eine vollständige (oder auch nur ansatzweise) Bedienung von FHEM habe ich (vorerst) nicht vor.

Start/Stop und die einfachern Dinge scheinen ja schon zu gehen.
Das würde sich dann anbieten in Verbindung mit einem Sensor im Bad - oder einem FS20S4A (damit schalte ich mir bereits Licht/Ventilator/Wasserpumpe).
In einem Notify wird dann ausgewertet was mein Frau (oder ich) will und könnte damit dann auch das Radio einschalten.
Wobei mir das Radio fürs Bad evtl. etwas "oversized" ist.

Weitere Wünsche kommen dann mit Sicherheit wenn das Radio mal da ist - was aber sicher noch etwas dauern wird.

Grüße

Edith: Wenn jetzt einer von euch schreibt das Radio funktioniert einwandfrei und teilweise auch mit FHEM und den Rest bekommen wir auch noch zum laufen - dann bestell ich mir das Teil grad ^^
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.

Rince

Teilweise mit FHEM noch nicht, aber das
Link

ist vermutlich die Lösung.

:-)
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)

Rince

Es läuft soweit :)

Mit der listenlive.nl Firmware :)

Der Code ist von BenWend im wesentlichen (für die iTach Steuerung) :-)
Ein herzliches Dankeschön an dieser Stelle :-)




Folgende Einträge:

In der fhem.cfg
### WebRadio
define WebRadio dummy
attr WebRadio room Wohnzimmer
attr WebRadio setList UP LEFT DOWN RIGHT EXIT POWER OK VOLp VOLm STOP REPEAT PGUP PGDN RECORD HOME MENU MUTE FORWARD REWIND FMRADIO IRADIO ITV PAUSE CLOCK
attr WebRadio webCmd UP:LEFT:DOWN:RIGHT:EXIT:POWER:OK:VOLp:VOLm:STOP:REPEAT:PGUP:PGDN:RECORD:HOME:MENU:MUTE:FORWARD:REWIND:FMRADIO:IRADIO:ITV:PAUSE:CLOCK
define myWebRadio notify WebRadio {radio($EVENT)};;


In den 99 Utils:

package main;

use strict;
use warnings;
use POSIX;
use CGI qw(:standard);
use IO::Socket;
use IO::Socket::INET; # <- das habe ich dazu eingetragen
use MIME::Base64;



#### Listenlive Radio
sub radio($)
{
my ($socket,$client_socket);
$socket = new IO::Socket::INET (
    PeerHost => '192.168.10.40',
    PeerPort => '8080',
    Proto => 'tcp',
) or die "ERROR in Socket Creation : $!\n";

# send iTach command
my $data = $ARGV[0]."\r\n";
$socket->send(@_);
sleep (1);
$socket->close();
}





Die Steuerung ist manchmal etwas merkwürdig. Je nachdem, in welchem Programm auf dem Radio ihr grade seid, geht recht viel nicht. Versucht einfach mal CLOCK, und dann gleich nochmal :)

Wenn ich meinen Code für die 99_utils ansehe, dann passieren da recht merkwürdige Dinge. Das $data z.B. ist kompletter Käse, mit dem @_ dagegen klappt es ganz gut.

Kann mir mal bitte wer erklären, was das eigentlich soll? (=was mache ich falsch)



Lange Rede, kurz der Sinn:

Es läuft so :)


(Die IP Adresse bei PeerHost (192.168.10.40 bei mir) solltet ihr in die IP Adresse eures Radios ändern :)  )
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)

ritchie

Hallo Rince,

ich habe mir gerade Eure Diskussion mit penbex durchgelesen.

Da ich kurz davor bin, mir ein solches Radio zu kaufen, interessiert mich näturlich die Sache immer noch sehr.
Dein Beispiel ist ein guter Einstieg, nur würde mich interessieren, in wie weit er bereits auf
die Interaktion eingegangen ist.

Laut Thread war er ja nicht so begeistert von einer kompletten Steuerung, was ich auch nachvollziehen kann.

Textdarstellung ist zwar 90s, aber ein Anfang wäre es ja schon, wenn er ein Textmeldung in einer Art Fenster
darstellen würde (evtl. mit Icon aller Warning, Alarm Info...) so wie ein Dialog Fenster

Wenn er dann noch Buttons im Dialog (ok/abbruch) oder Ja/nein darstellen würde und die Auswahl zurücksenden würde
oder als Status bereits stellen würde, wäre ich im ersten Schritt bei meinen Wünschen.

Hat er evtl. einen Zeitraum für eine weitere Erweiterung genannt.

Gruss R.





IPU662  Ipfire & Fhem (Homematic + MAX) - Produktiv
Cubietruck (1Wire - USB) - Produktiv

Rince

Bis jetzt tut sich da noch nix außer dem, was schon geht.
Wenn du also ein günstiges Webradio willst, das FHEM ausschalten und umschalten kann, dann greif zu.
Mit Makros kommt man quasi überall hin im Blindflug.


Eines kaufen in der Erwartung, dass es später viel mehr kann, würde ich nicht.


Aber auch im Blinflug geht schon einiges. Mit den Favoriten kann man gut nen WebRadio Stream blind ansteuern.
Das kann fhem gut. Und die Lautstärke setzen war auch noch nie ein Problem :-)

Muss mal sehen, ob die Rückantwort vom Radio irgendwie abgreifen kann.

Das Ausgangsscript von Ben hatte da was eingebaut...



Edit:
Habe noch mal dein erstes Posting gelesen:
Uhrzeit anzeigen => ja
Radio zu einer bestimmten Zeit einschalten => ja (fhem ist der Timer)

Damit kannst ein "Guten Morgen" Skript in fhem schreiben :-)
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)

ritchie

Hallo Rince,

wir haben ein Radio jetzt bestellt und ich werde das ganze
jetzt etwas mehr Aktiv mit ansehen ;-).

Gruss R.
IPU662  Ipfire & Fhem (Homematic + MAX) - Produktiv
Cubietruck (1Wire - USB) - Produktiv

ritchie

Hallo Rince,

hast Du eine Idee, wieso ich

myKuechenRadio return value: ERROR in Socket Creation : Connection refused

bekomme. Hast Du Ports am Router freischalten muessen.

Ein Ping auf meine ID geht ohne Problem (die habe ich natürlich geändert)

Ich fahre mein Radio mit Version 1.49.

Gruss R.
IPU662  Ipfire & Fhem (Homematic + MAX) - Produktiv
Cubietruck (1Wire - USB) - Produktiv

Rince

Hi,

die IP Adresse von deinem Radiowecker hast du angepasst?
Bei PeerHost die richtige IP reinschreiben!
Die anderen Einstellungen musst du gleich lassen.

Oh, und vermutlich die richtige Lösung auf die Frage:
Du musst im Radio selber auch die Netzwerksteuerung zulassen!


Mein FHEM läuft auf nem RaspPi, da war keine Konfiguration weiter nötig. Was sagt denn das Logfile von FHEM?
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)

ritchie

Hi,


Du musst im Radio selber auch die Netzwerksteuerung zulassen!

Das habe ich nicht gemacht !

Wie hast Du das einen Radiosender eingeschaltet ?

Bei mir geht er nur in die Auswahlliste.


Ich habe mir nochmals den Thread im listenlive durchgelesen.

Wenn ich das hier richtig lesen,
ZitatFelix, the protocol is Very simple. Open port and send command.. Then wait for OK.
Ist die Routine von Dir "suboptimal". Hier verstehe ich das so, das das Radio mit dem Text "OK"
antwortet.

In Deiner Routine wird aber nur ein Sleep verwendet:

sub radio($)
{
my ($socket,$client_socket);
$socket = new IO::Socket::INET (
    PeerHost => '192.168.5.56',
    PeerPort => '8080',
    Proto => 'tcp',
) or die "ERROR in Socket Creation : $!\n";

# send iTach command
my $data = $ARGV[0]."\r\n";
$socket->send(@_);
sleep (1);
$socket->close();
}


Das schaue ich mir nochmals genau an und werde dann Dir mein Ergebnis zurückgeben. Hier versuche ich eine korrekte Abfrage einzubauen und evtl. bei Fehler das Kommando nochmals wiederholen (max. 3 mal.)


Gruss R.
IPU662  Ipfire & Fhem (Homematic + MAX) - Produktiv
Cubietruck (1Wire - USB) - Produktiv