NEWS
[Adapter] - Chromecast
-
Guten morgen,
ich habe mal auf die Schnelle den Adapter installiert.
Die Installation verlief soweit problemlos.
Alle Objekte wurden angelegt. Im Adapter sehe ich das die Testmp3 (wie in der Beschreibung) abgespielt wird. Nur hören tue ich nichts!
Das nur mal auf die Schnelle ! Weitere Tests heute Nachmittag!
Auf alle Fälle super Idee toller Adapter!
mfg
Arminhh
-
Alle Objekte wurden angelegt. Im Adapter sehe ich das die Testmp3 (wie in der Beschreibung) abgespielt wird. Nur hören tue ich nichts! `
Danke für probieren
Mal sehen, was Du in log siehst. Bei mir sieht es so aus, wenn ich ein URL to url3play schreibe:
chromecast-0 2015-12-26 13:07:47 info audio-bedroom - Playing http://edge.live.mp3.mdn.newmedia.nacamar.net/ps-dieneue_rock/livestream_hi.mp3 chromecast-0 2015-12-26 13:07:47 info audio-bedroom - launched player chromecast-0 2015-12-26 13:07:45 info audio-bedroom device stateChange chromecast.0.audio-bedroom.player.url2play {"val":"http://edge.live.mp3.mdn.newmedia.nacamar.net/ps-dieneue_rock/livestream_hi.mp3","ack":false,"ts":1451131666,"q":0,
in <device>.player.playerState solltet man "PLAYING" sehen.</device>
-
Tolle Idee und Implementierung ist auch sauber
Paar Ergänzungen habe ich noch:
-
planst du auf der WebSeite Seite "index.html" was zu zeigen? Falls nicht, kannst du ruhig "www" Verzeichnis löschen.
> it does not support local files (yet)
Weißt du wie es geht?
Das ist die Lösung:
https://github.com/ioBroker/ioBroker.sa … in.js#L563
> adapter.setBinaryState(adapter.namespace + '.tts.mp3', fileData);
Und dann ist die mp3 Datei unter http://ip-broker:8082/state/<adapter>.< … e>.tts.mp3 erreichbar und du kannst das als URL benutzen. So funktioniert SONOS z.B. Name vom Objekt spielt keine Rolle. -
-
Tolle Idee und Implementierung ist auch sauber `
Mit deine Template war es sehr einfach ein neues Adapter zu schreiben! Die Architektur von iobroker ist auch sehr gut gedacht.
Paar Ergänzungen habe ich noch:
- planst du auf der WebSeite Seite "index.html" was zu zeigen? Falls nicht, kannst du ruhig "www" Verzeichnis löschen. `
Done. Danke!
> it does not support local files (yet)
Weißt du wie es geht?Das ist die Lösung:
https://github.com/ioBroker/ioBroker.sa … in.js#L563
> adapter.setBinaryState(adapter.namespace + '.tts.mp3', fileData);
Und dann ist die mp3 Datei unter http://ip-broker:8082/state/<adapter>.< … e>.tts.mp3 erreichbar und du kannst das als URL benutzen. So funktioniert SONOS z.B. Name vom Objekt spielt keine Rolle. `Ich hatte schon bei deine Sonos Adapter ein endliches Code gefunden: https://github.com/ioBroker/ioBroker.so … os.js#L415
Ich werde die web server config code duplizieren mussen, um das web server Adresse zu finden. Ist das richtig so?
Update: In version 0.1.3 habe ich Support für local Dateien eingebaut. Danke für das setBinaryState Hinweis! Jetzt brauche ich das sayit Adapter erweitern, damit auch auf Chromecast text gesprochen werden kann. pull request kommt
Noch ein paar Fragen:
-
Was ist das Ziel von dem Role Feld im State Variablen? Sollten man Kategorien bilden (status, player, etc) oder eindeutliche Werten?
-
Wenn ich ein Gerät bei starten nicht erreichen kann, sollte ich es löschen? Zur Zeit bleiben sie bei mir mit altem Daten. Wenn ja, gibt es eine Funktion, um ein Device mit Channels und States zu löschen? Ich hatte angefangen, funktionen dafür zu schreiben aber vielleicht gibt es etwas besseres…
-
Ich würde gerne das Adapter in ein paar Tagen auf npm hochladen. Kann man später das github Quelle (angelnu/ioBroker.chromecast -> ioBroker/ioBroker.chromecast) ändern?Was muss man danach machen, um es im ioBroker anzuzeigen?
- planst du auf der WebSeite Seite "index.html" was zu zeigen? Falls nicht, kannst du ruhig "www" Verzeichnis löschen. `
-
hallo,
jetzt wollte ich die neue Version 0,1,3 ausprobieren. Habe die alte Version deinstalliert und die neue versucht zu installieren.
Leider bricht die Installation ab. Im log steht
$ ./iobroker url " https://github.com/angelnu/ioBroker.chromecast"
install "
npm install " –production --prefix "/opt/iobroker" (System call)
ERROR: host.Test Cannot install ": 2
ERROR: process exited with code 25
Auch ein Neustart hat nichts gebracht!
Danke für die Hilfe!
mfg
Arminhh
-
Leider bricht die Installation ab. Im log steht `
Kannst Du bitte noch mal probieren? Heute hatte vergessen für die neue Features, die Dependencies in package.json einzutragen.
Ich habe in meinem Produktion Installation gerade das Adapter gelöscht und wieder installiert:
pi@raspberrypi /opt/iobroker/node_modules $ iobroker url " https://github.com/angelnu/ioBroker.chromecast" install https://github.com/angelnu/ioBroker.chromecast/tarball/master npm install https://github.com/angelnu/ioBroker.chromecast/tarball/master --production --prefix "/opt/iobroker" (System call) got /opt/iobroker/node_modules/iobroker.chromecast/admin upload [1] chromecast.admin /opt/iobroker/node_modules/iobroker.chromecast/admin/index.html index.html text/html upload [0] chromecast.admin /opt/iobroker/node_modules/iobroker.chromecast/admin/chromecast.png chromecast.png image/png
-
super Danke funktionierte sofort!!
-
super Danke funktionierte sofort!! `
Konntest Du damit auch urls spielen?
Ich habe Version 0.1.4: ausser die Features von 1.3 fertig zu machen war meine focus auf error handling und logging.
Mein erstes Ziel mit dem Adapter ist mein morgens Wecker mit ioBroker und Chromecast zu implementieren. Ich habe dafür eine Chromecast Audio Gruppe definiert, wo alle meine Chromecast Audio Geräte drin sind. So sollte es morgens in alle Zimmern die gleiche Muskik automatisch gespielt werden.
Deswegen muss das Adapter sehr stabil laufen!
-
als URL hatte ich Deine Testurl verwendet. Lokale Dateien habe ich noch nicht versucht. Wenn ich Dateien aus dem Netzwerk abspielen will, ist da die normale schreibweise wie z.B. nfs://server2008/uebernahme/….. möglich?
Was praktisch für Ansagen wäre wenn man die Google text to speech Api per Link ansprechen kann.
http://translate.google.com/translate_tts?tl=de&q=text
http://translate.google.com/translate_t … d&tl=en-us
Muss ich zum updaten wieder erst deinstallieren?
mfg
Arminhh
-
als URL hatte ich Deine Testurl verwendet. `
Btw: hir gibt es mehr Radio URLs: https://wiki.ubuntuusers.de/Internetradio/Stationen
Lokale Dateien habe ich noch nicht versucht. Wenn ich Dateien aus dem Netzwerk abspielen will, ist da die normale schreibweise wie z.B. nfs://server2008/uebernahme/….. möglich? `
Das Adapter benutzt auf dem Chromecast das Default Media Player ("urn:x-cast:com.google.cast.media"). Die kann, so weit ich es gesehen habe, nur http(s) abspielen.
Wenn man eine lokale Datei mit dem Adapter abspielt, wird es in ioBroker kopiert und dann mit dem ioBroker web server als http exportiert. Wenn Du das nfs Folder in deinem Server als local Folder zugreifen kannst, dann sollte es möglich sein, mit dem Adapter ihnen zu spielen.
Was praktisch für Ansagen wäre wenn man die Google text to speech Api per Link ansprechen kann.
Dafür hat Bluefox schon die Arbeit geleistet Ich habe seinem iobroker.sayit Adapter erweitert, um mit meinem Chromecast Adapter zu arbeiten.
Ich habe ihm ein pull request gesendet, um das Support in dem offizielles iobroker.sayit zu integrieren (https://github.com/ioBroker/ioBroker.sayit/pull/4). In der zwischen Zeit kannst Du mein Version von hier installieren: https://github.com/angelnu/ioBroker.sayit
Muss ich zum updaten wieder erst deinstallieren? `
Das sollte nicht notwendig sein: Du kannst das Adapter installieren, ohne die Alter Version erst zu deinstallieren. Kontroliere nur in Log das das Adapter danach restartet würde: bei mir passiert, dass nicht immer automatisch.
Viel Spass!
Angel
-
Update hat ohne Deinstallation funktioniert.
Ich habe mir mal die Datenpunkte angesehen. Wie kann ich im Adapter eine Gruppe anlegen? Ich habe einen Chromecast und einen Chromecast Audio.
Danke für die Hilfe!
mfg
Arminhh
-
Zur Zeit hat Google die Gruppen Support nur für Chromecast Audio eingebaut. Ich hoffe, dass sie bald auch video Geräten unterstützen …
https://support.google.com/chromecast/a … 9016?hl=en
Aber dank iobroker und ein javascript kann man alle Geärten in Adapter finden und steuern.
Hat es bei Dir meiner Erweiterung für sayit funktioniert?
-
wenn ich versuche Sayit über Deinen Link zu aktualisieren komme ich nur soweit.
$ ./iobroker url "https://github.com/angelnu/ioBroker.sayit" install https://github.com/angelnu/ioBroker.sayit/tarball/master npm install https://github.com/angelnu/ioBroker.sayit/tarball/master --production --prefix "/opt/iobroker" (System call) npm WARN package.json daemonize2@0.4.2 No repository field. npm WARN package.json object-component@0.0.3 No repository field. npm WARN package.json parsejson@0.0.1 No repository field.npm WARN package.json parsejson@0.0.1 No README data npm WARN package.json parseqs@0.0.2 No repository field.npm WARN package.json parseqs@0.0.2 No README data npm WARN package.json parseuri@0.0.2 No repository field. npm WARN package.json parseuri@0.0.2 No README data npm WARN package.json callsite@1.0.0 No repository field. npm WARN package.json eyes@0.1.8 No repository field. npm WARN package.json has-binary@0.1.6 No repository field. npm WARN package.json has-binary-data@0.1.3 No repository field. npm WARN package.json indexof@0.0.1 No repository field. npm WARN package.json pause@0.0.1 No repository field. npm WARN package.json string_decoder@0.10.31 string_decoder is also the name of a node core module.
mfg Arminhh
-
Dieser Fehlermeldung kann ich nicht erklären: die Packeten mit warnungen könnte ich in iobroker.say (mit dependencies) nicht finden…
Ich habe bei mir noch mal das sayit mit meinem git link aktualisiert und es hat funktioniert.
Bekommst immer die gleiche Fehlermeldung, wenn Du es noch mal probierst? Wenn ja, braucht man hier die Hilfe von jemmand, der sich mehr mit npm auskennt...
-
Guten Abend,
vieleicht kann mir mal jemand auf die Sprünge helfen.
Nutze seit kurzem auch den IObroker und bin super begeistert von den Möglichkeiten.
Immerhin habe ich Licht, Rolladen und Heizung im VIS zum laufen gebracht.
Hierfür mein Dank an alle hier im Forum. Ohne euch wäre das nie was geworden
Dann will ich mal auf den Punkt kommen. Ich lese hier gerade mit und versuche mein Teufel Raumfeld System über Chromecast zu steuern.
Habe den Adapter installiert, dieser zeigt mir unter Objekte auch die korrekte Installation mit 3 Geräten an.
Und stehe nun völlig auf dem Schlauch.
Was ich mir wünsche wäre z.B. ein Radiosender zu starten, am besten über einen Button oder eine Playlist zu erstellen und diese dann in Einzelnen Räumen abzuspielen.
Bin mir sicher das es einige genau so ans Laufen gebracht haben.
Gruß
Chris
-
Will mich hier mal melden - DANKE für den tollen Adapter, der funktioniert prima!
-
Hallo,
angenommen ich habe eine Gruppe aus mehreren Räumen und spiele dort einen Radiostream ab.
Wie kann ich nun für nur einen einzelnen Raum das Streaming beenden? Habe schon versucht bei der URL nichts oder null o.ä. reinzuschreiben, leider interessiert das den Lautsprecher garnicht…
Danke für alle Tipps!
-
Servus manne01,
es gibt einen Datenpunkt mit dem Namen… playing und dort kannst du einen Chromecast stoppen oder wieder starten...
Liebe Grüße
tom
Gesendet mit Tapatalk
-
Hi Tom,
danke für deine Rückmeldung.
Das stimmt, den Datenpunkt gibts aber sowohl bei der Gruppe als auch bei den einzelnen Lautsprechern.
Setze ich den Datenpunkt auf False bei der Gruppe, sagen wir chromecast.0.GanzeWohnung.status.playing, gehen alle aus (wobei die Google Cast App den Stream noch aus laufend angibt). Danach kriege ich den Stream nur wieder an wenn ich an der Lautstärke rumdrehe. Das true reinzuschreiben oder die URL neu zu setzen klappt nicht.
Bei den einzelnen Lautsprechern, z.B. chromecast.0.Schlafzimmer.status.playing, steht - wenn die Gruppe eine URL spielt - der Punkt bereits auf false! Setze ich ihn auf true, gehen ALLE Lautsprecher der Gruppe aus. Irgendetwas stimmt doch da noch ganz und gar nicht. Oder?
Was ich realisieren möchte steht in meinem letzten Post, ich möchte aus einer spielenden Gruppe einzelne Lautsprecher herausnehmen.
Weiß jemand Rat?
-
ups, okay sorry…. ich dachte, dass es so gehen sollte....
Gesendet mit Tapatalk