UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

[NEUHEIT] Container zur Steuerung des Sonos-Systems

Informationen über Docker, Verwaltung mit portainer und VMs
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln

Ersteller
alexbeer
Reactions:
Beiträge: 394
Registriert: Mi Sep 12, 2018 1:11 am
Wohnort: NRW
Hat sich bedankt: 212 Mal
Danksagung erhalten: 251 Mal

Container zur Steuerung des Sonos-Systems

#1

Beitrag von alexbeer »

Hallo zusammen,

ich bin erst mit dem TWS mit Docker in Kontakt gekommen. Finde das Konzept klasse und habe gestern das Image mkshb/sonoshttpapi:amd64-latest gefunden und in einen Container deployed.
Dieses Image funktioniert super.
Leider habe ich den Container ohne eine Konsole deployed.

Versuche ich nun den deployten Container zu editieren, dann bekomme ich in der Browser-Console folgenden Fehler:

Code: Alles auswählen

TypeError: Cannot read property 'MacAddress' of undefined
- zusätzlich:

Code: Alles auswählen

The Docker registry for the mkshb/sonoshttpapi:amd64-latest image is not registered inside Portainer, you will not be able to create a container. Please register that registry first.
Als mögliche Lösung habe ich https://github.com/portainer/portainer/issues/1140 gefunden:
WTFKr0 commented on 22 Aug 2017 •
It's not really a fix as we cannot create a container from an unknow registry using the current registry management implementation in Portainer

I think you can
In my tests, I do that for example when creating a container :
Registry : Let default dockerhub
Image: set full path with registry (quay.io/coreos/etcd for example)


Meines Erachtens ist die richtige Registry ja hinterlegt. Habt ihr eine Idee, was hier schief ist?
Andernfalls lösche ich den Container und deploye den neu - ich würde nur gerne verstehen, was ich hier so veranstalte :doh:

VG Alex
Zuletzt geändert von Robert_Mini am Do Nov 21, 2019 9:53 am, insgesamt 2-mal geändert.
VG Alex
Timberwolf122 (TWS 2500) // Wartungs-VPN: offen // Reboot: jederzeit

gbglace
Reactions:
Beiträge: 3585
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1253 Mal
Danksagung erhalten: 1649 Mal

#2

Beitrag von gbglace »

Hab es erstmal auf Frage gesetzt. Auch daraus kann man ja nen Bug, machen falls es einer ist.

Den Workaroaund hast ja schon beschrieben, Neuaufsatz.
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension

Ersteller
alexbeer
Reactions:
Beiträge: 394
Registriert: Mi Sep 12, 2018 1:11 am
Wohnort: NRW
Hat sich bedankt: 212 Mal
Danksagung erhalten: 251 Mal

#3

Beitrag von alexbeer »

Ich habe den Container gelöscht und neu angelegt. Jetzt funktioniert alles tadellos und kann auch einwandfrei editiert werden.
Obiges Verhalten konnte ich nicht mehr reproduzieren.
Ich habe es leider nicht geschafft, mich via Putty / WinSCP auf den Container zu verbinden. Über die Console im Portainer ging es einwandfrei.
VG Alex
Timberwolf122 (TWS 2500) // Wartungs-VPN: offen // Reboot: jederzeit

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#4

Beitrag von Robert_Mini »

Klingt spannend.

Wenn sonos bei dir läuft, wäre eine Kurzbeschreibung mit ein paar Screenshots eine tolle Sache für die KB.

Danke und lg
Robert
Zuletzt geändert von Robert_Mini am Mi Nov 20, 2019 10:43 pm, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Gecks
Reactions:
Beiträge: 106
Registriert: Mi Okt 31, 2018 12:53 am
Hat sich bedankt: 116 Mal
Danksagung erhalten: 77 Mal

#5

Beitrag von Gecks »

Dicke Finger Robert 😉?
TWS 950 ID: 352, VPN offen, Reboot jederzeit

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#6

Beitrag von Robert_Mini »

Den Spruch verstehe ich jetzt nicht...
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Gecks
Reactions:
Beiträge: 106
Registriert: Mi Okt 31, 2018 12:53 am
Hat sich bedankt: 116 Mal
Danksagung erhalten: 77 Mal

#7

Beitrag von Gecks »

Robert_Mini hat geschrieben: Mi Nov 20, 2019 9:44 pm Kuezbeschreibung mut ein pasr screenshots
Oder ist das Niederländisch?
TWS 950 ID: 352, VPN offen, Reboot jederzeit

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#8

Beitrag von Robert_Mini »

Aaaah-aber man versteht offensichtlich immer noch was ich meinte!

Danke!
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
alexbeer
Reactions:
Beiträge: 394
Registriert: Mi Sep 12, 2018 1:11 am
Wohnort: NRW
Hat sich bedankt: 212 Mal
Danksagung erhalten: 251 Mal

#9

Beitrag von alexbeer »

Hi,

hier mein Entwurf für die KB:

Steuerung des Sonos-Systems


Mit der Einarbeitung in den TWS habe ich das Konzept der Container schätzen gelernt. Schon seit längerer Zeit gibt es für das Sonos-System die auf Node.js basierende offene API Sonos HTTP API.
Jedoch habe ich keinen Server in meinem Netzwerk, der node.js unterstützt. Nach etwas Recherche habe ich das Image mkshb/sonoshttpapi gefunden. Es werden hier sowohl arm, als auch amd64 Versionen bereitgestellt. Somit konnte ich im Sinne einer microservice archictecture die API als Docker-Container auf dem TWS betreiben.

Setup
  • Volume anlegen
    Bild
  • Image herunterladen
    Image: mkshb/sonoshttpapi:amd64-latest - hier den entsprechenden Tag aus dem Docker-Hub für den eigene TWS auswählen
    Bild
  • Container bauen
    hier nun das zuvor angelegte Volume eintragen und das Image auswählen
    Bild
    wie die Sonos HTTP API später im Netzwerk erreichbar sein soll, wird über den Reiter "Network" gesteuert.
    Ich habe mir unter "Networks" einen eigenen Eintrag geschaffen, um für jeden Container eine separate IP zu erzeugen, und dieser IP im lokalen DNS einen eigenen host zuweisen können - mit bridge funktioniert es aber auch.
  • Container Betrieb
    nach ein paar Momenten Wartezeit, sollte der Container "laufen", bzw im Status "healthy" sich befinden
    Bild
API Aufruf
Die API ist nun unter der angegeben IP - Port 5005 erreichbar:
Bild

Mit der URL

Code: Alles auswählen

http://192.168.1.3:5005/Wohnzimmer/play
wird auf den Sonos-Lautsprechern im Raum "Wohnzimmer" die zuletzt ausgewählte Audio-Quelle abgespielt.
Ausführliche Doku der API unter: http://jishi.github.io/node-sonos-http-api/

Beliebige Sprachausgabe via TTS
Die API unterstützt auch verschiedene TTS (Text-to-speech)-Engines. :dance:
In der offiziellen Doku wird http://www.voicerss.org/ erwähnt. Es soll laut unterschiedlichen Quellen auch die TTS-Engine von Microsoft und Amazon Polly unterstützt werden..

Hier das Vorgehen für voicerss:
  • Unter http://www.voicerss.org/registration.aspx einen Account registieren und aktivieren
  • API Key unter http://www.voicerss.org/personel/default.aspx kopieren
  • Im Portainer den sonoshttpapi-Container aufrufen und dort die Console öffnen - mir ist es bislang nicht gelungen von extern via Putty o.ö. auf den Container zuzugreifen.
    Bild
    Die Console mit User root aufrufen
    Bild
    Nun folgende Befehle absetzen, um den Ordner settings und darin die Datei settings.json anzulegen:

    Code: Alles auswählen

    mkdir settings
    cd settings
    > settings.json
    Nun die Datei settings per Editor VI anpassen:
    vi settings.json
    Hier nun folgenden Eintrag reinkopieren:

    Code: Alles auswählen

    {
      "voicerss": "<Hier dein API key von voicerssorg"
    }
    Mit :w die Änderungen speichern und die Konsole beenden
Nun sind Sprachausgaben wie

Code: Alles auswählen

http://192.168.1.3:5005/B%C3%BCro/say/Der%20TWS%20rockt%20meine%20Sonos/de-de
möglich :lol:

Sobald der TWS http Requests absetzen kann, kann diese API z.B. in die TWS Logiken integriert werden.

Ich freue mich schon, was für Ideen ihr hier noch habt.

VG Alex
Zuletzt geändert von alexbeer am Mi Nov 20, 2019 11:50 pm, insgesamt 5-mal geändert.
VG Alex
Timberwolf122 (TWS 2500) // Wartungs-VPN: offen // Reboot: jederzeit

gbglace
Reactions:
Beiträge: 3585
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1253 Mal
Danksagung erhalten: 1649 Mal

#10

Beitrag von gbglace »

Ohh, dann brauchst jetzt noch einen nodered Container damit sollte sich bis zur TWS Integration ein kleiner Umweg KNX zu http-Request realisieren lassen.

Danke für den Beitrag.

Wovon ich noch nicht so Recht ne Ahnung habe, bei Snips werden ja auch IP-Telehramme erzeugt die man auf ein Audiomodul per Netzwerk verteilen kann. Hier wäre interessant ob man einen solchen Sonos auch damit befeuern kann. Dann hätte man wohl auch ne Lösung statt der integrierten Alexas ne lokale Sprachsteuerung bzw erstmal davon die Ausgabe zu realisieren.
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension
Antworten

Zurück zu „Docker, portainer, VM“