Sonos2mqtt - vielleicht hat jemand Lust mitzumachen

Begonnen von Otto123, 31 Mai 2020, 18:30:55

Vorheriges Thema - Nächstes Thema

Otto123

@Kurt Die SonosBridge hatte noch nie Kontakt zu sonos2mqtt. Wie hast Du den start mit pm2 gemacht? Auf Systemebene (Systemdienst) oder innerhalb von FHEM? einfach mit dem "FHEM Befehl" ?
"pm2 start sonos2mqtt"
Wenn innerhalb von FHEM, dann müsstest Du als User pi diesen befehl ausführen:
sudo -su fhem pm2 list
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Otto123

#1171
Zitat von: ch.eick am 19 April 2022, 17:46:38
Wann wird denn bei mqtt etwas über http eingelesen?

Das bedeutet, ich setze beim Haupt Lautsprecher der Stereo Gruppe zuerst die Lautstärke und anschließend sofort beim Rechten eine andere, damit er lauter wie der Linke ist??
1. gar nicht. Beim anlegen der Speaker (also beim setup) werden einmalig ein paar Systeminfos über http abgefragt, im laufenden Betrieb nie wieder.

2. Ja

ZitatFür mich reicht das so erstmal, bei TV kann ich es aktivieren und wenn es dann auf etwas anderes geht schalte ich die Konfiguration wieder zurück.
Wobei eben setzen und ermitteln zwei getrennte Schuhe sind. Gesetzt wird über sonos2mqtt, ermittelt wird quasi aus dem was gespielt wird (da liefert sonos2mqtt mW nichts)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

ch.eick

Zitat von: Otto123 am 19 April 2022, 17:54:34
Wobei eben setzen und ermitteln zwei getrennte Schuhe sind. Gesetzt wird über sonos2mqtt, ermittelt wird quasi aus dem was gespielt wird (da liefert sonos2mqtt mW nichts)
Sobald über sonos2mqtt etwas kommt wird momentan ein Event mit TV ausgelöst. Wenn der spdif Eingang 10 Minuten kein Signal sendet, dann schaltet die Sonos Base wieder zurück und es kommt ein Event mit Radio im FHEM Device. Das Input userreading reagiert ja auf currentTrack_TrackUri und die ändert sich nach ablauf der 10 Minuten. Somit ist Deine Analyse soweit okay.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Kurt77

Zitat von: Otto123 am 19 April 2022, 17:51:00
@Kurt Die SonosBridge hatte noch nie Kontakt zu sonos2mqtt. Wie hast Du den start mit pm2 gemacht? Auf Systemebene (Systemdienst) oder innerhalb von FHEM? einfach mit dem "FHEM Befehl" ?
"pm2 start sonos2mqtt"

Ich habe in der fhem-Kommandozeile folgenden Befehl ausgeführt:

code:
--------------------------------
{qx(pm2 start sonos2mqtt)}
------------------------

Hätte ich statt dessen in der linux-Konsole:
Code:
-------------------------------------
sudo -su fhem pm2 start sonos2mqtt
---------------------------

eingeben sollen?

Danke und Gruß,
Kurt


Otto123

Hallo Kurt,

nein wahrscheinlich ist das in dem Fall identisch, da sich pm2 von sich aus in den Hintergrund verabschiedet. Zum Unterschied:
"der System Befehl in Anführungszeichen"
führt den Befehl im Hintergrund aus, Ausgaben erscheinen im Log. FHEM wird nicht blockiert.
{qx(Der System Befehl)}
wird im Vordergrund ausgeführt, qx wartet auf den Rückgabewert, FHEM wird für diesen Zeitraum blockiert.

Wir müssen jetzt herausbekommen ob der sonos2mqtt Dienst überhaupt läuft und was er macht.
Eigentlich kann an mit dem Befehl pm2 monit "zuschauen was er macht" - ich weiß, das ist für Dich schwierig.

Du könntest den Dienst im Vorderung starten und dann einen Moment warten, dann mit crtl+c beenden. Mal schauen was er da ausgibt. Auf der Linux Konsole, erstmal den Dienst beenden (falls er läuft) und dann im Vordergrund starten.
sudo -su fhem pm2 stop sonos2mqtt
sudo -su fhem pm2 start sonos2mqtt --no-daemon
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Kurt77

Hallo Otto,
und hir ist der Output:

Code:
------------------------------------
21:35:01 0|sonos2mqtt  |     at Object.<anonymous> (/usr/lib/node_modules/sonos2
mqtt/node_modules/yargs/build/index.cjs:1:57316)                               
21:35:01 0|sonos2mqtt  |     at Module._compile (internal/modules/cjs/loader.js:
778:30)                                                                         
21:35:01 0|sonos2mqtt  |     at Object.Module._extensions..js (internal/modules/
cjs/loader.js:789:10)                                                           
21:35:01 0|sonos2mqtt  |     at Module.load (internal/modules/cjs/loader.js:653:
32)                                                                             
21:35:01 0|sonos2mqtt  |     at tryModuleLoad (internal/modules/cjs/loader.js:59
3:12)                                                                           
21:35:01 0|sonos2mqtt  |     at Function.Module._load (internal/modules/cjs/load
er.js:585:3)                                                                   
21:35:01 0|sonos2mqtt  |     at Module.require (internal/modules/cjs/loader.js:6
92:17)                                                                         
21:35:01 0|sonos2mqtt  |     at Module.Hook._require.Module.require (/usr/lib/no
de_modules/pm2/node_modules/require-in-the-middle/index.js:80:39)               
21:35:01 0|sonos2mqtt  |     at require (internal/modules/cjs/helpers.js:25:18)
21:35:01 0|sonos2mqtt  |     at Object.<anonymous> (/usr/lib/node_modules/sonos2
mqtt/node_modules/yargs/index.cjs:5:30)                                         
21:35:01 PM2           | App [sonos2mqtt:0] exited with code [1] via signal [SIG
INT]                                                                           
21:35:01 PM2           | Script /usr/bin/sonos2mqtt had too many unstable restar
ts (16). Stopped. "errored"                                                     
----------------------------

Danke und Gruß,
Kurt

Otto123

Hallo Kurt,

da ist mit dem Setup von sonso2mqtt irgendwas schief gegangen? Bei mir sieht die Ausgabe so aus:
Zitatpi@raspib3plus:~ $ sudo -su fhem pm2 start sonos2mqtt --no-daemon
pm2 launched in no-daemon mode (you can add DEBUG="*" env variable to get more messages)
[PM2] Applying action restartProcessId on app [sonos2mqtt](ids: 0)
[PM2] [sonos2mqtt](0) ✓
[PM2] Process successfully started
┌─────┬───────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id  │ name          │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
├─────┼───────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0   │ sonos2mqtt    │ default     │ N/A     │ fork    │ 24166    │ 0s     │ 1    │ online    │ 0%       │ 16.0mb   │ fhem     │ disabled │
└─────┴───────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘

[--no-daemon] Continue to stream logs
[--no-daemon] Exit on target PM2 exit pid=1080
22:10:55 0|sonos2mqtt  | 2022-04-19T20:10:55.874Z [Information] Starting sonos2mqtt v3.1.1-beta.8
22:10:55 0|sonos2mqtt  | 2022-04-19T20:10:55.903Z [Information] LogLevel changed to information
22:10:56 0|sonos2mqtt  | 2022-04-19T20:10:56.096Z [Information] Found 7 sonos speakers
22:10:56 0|sonos2mqtt  | 2022-04-19T20:10:56.372Z [Information] Mqtt connection changed to connected: true
Was hats Du für ein Setup gemacht? Docker hast Du nicht am Start? Das find ich ja mittlerweile viel einfacher, vor allem für solche nodejs services.

Viele Grüße Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Kurt77

Hallo Otto,
ich nehme an, dass Du mit "setup" Docker oder nodejs meinst.
Ich bin den Weg über nodejs gegangen.
Danke und Gruß,
Kurt

Otto123

Guten Morgen Kurt,

ja, dass Du nodejs gemacht hast ist mir klar. Aber dabei muss was schief gelaufen sein, der nodejs sonos2mqtt funktioniert offenbar nicht.
Welche nodejs Version?
node -v
Was ist global installiert?
npm list -g

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Kurt77

Hallo Otto,
Node-Version ist v10.24.1.

global:
Code:
-------------------------
  │   └─┬ color-convert@1.9.3                                                   
  │     └── color-name@1.1.3                                                   
  └─┬ yargs@17.1.1                                                             
    ├─┬ cliui@7.0.4                                                             
    │ ├── string-width@4.2.3 deduped                                           
    │ ├─┬ strip-ansi@6.0.1                                                     
    │ │ └── ansi-regex@5.0.1                                                   
    │ └─┬ wrap-ansi@7.0.0                                                       
    │   ├─┬ ansi-styles@4.3.0                                                   
    │   │ └─┬ color-convert@2.0.1                                               
    │   │   └── color-name@1.1.4                                               
    │   ├── string-width@4.2.3 deduped                                         
    │   └── strip-ansi@6.0.1 deduped                                           
    ├── escalade@3.1.1                                                         
    ├── get-caller-file@2.0.5                                                   
    ├── require-directory@2.1.1                                                 
    ├─┬ string-width@4.2.3                                                     
    │ ├── emoji-regex@8.0.0                                                     
    │ ├── is-fullwidth-code-point@3.0.0                                         
    │ └── strip-ansi@6.0.1 deduped                                             
    ├── y18n@5.0.8                                                             
    └── yargs-parser@20.2.9                                                     
----------------------------------------------------------

Danke und Gruß,
Kurt

Otto123

ok sonos2mqtt fehlt, da musst Du nochmal ran
sudo npm install -g sonos2mqtt
Aber halt, Du hast nicht alles erwischt? da fehlt doch oben was!? bei mir sieht das so aus:
Zitatnpm list -g
/usr/lib
├── @svrooij/sonos-tts-polly@1.0.5
├── npm@7.10.0
├── pm2@4.4.1
└── sonos2mqtt@3.1.1-beta.8
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Kurt77

Hallo Otto,
sorry, ja, die list-Ausgabe ging über mehrere Bildschirme.
Bei Bildschirm 15 habe ich dann abgebrochen und sonos2mqtt nochmal installiert:

Code:
----------------------------
/usr/bin/sonos2mqtt -> /usr/lib/node_modules/sonos2mqtt/lib/index.js           
npm WARN notsup Unsupported engine for yargs@17.1.1: wanted: {"node":">=12"} (cu
rrent: {"node":"10.24.1","npm":"6.14.12"})                                     
npm WARN notsup Not compatible with your version of node/npm: yargs@17.1.1     
                                                                               
+ sonos2mqtt@3.2.0                                                             
updated 1 package in 6.974s                                                     
----------------------------

Daraus schließe ich messerscharf, dass ich eine andere noejs-Version installiern muss, aber welche?

Danke und Gruß,
Kurt


TomLee

ZitatDaraus schließe ich messerscharf, dass ich eine andere noejs-Version installiern muss, aber welche?

wanted: {"node":">=12"} (current: {"node":"10.24.1","npm":"6.14.12"}

Otto123

Zitat von: Kurt77 am 20 April 2022, 12:07:07
sorry, ja, die list-Ausgabe ging über mehrere Bildschirme.
Bei Bildschirm 15 habe ich dann abgebrochen und sonos2mqtt nochmal installiert:
oh je - was ist da denn alles installiert?
Dann frag doch so ab:
npm list -g|grep sonos

Bei der Warnung geht es um yargs nicht um sonos. Ich empfehle Dir die Update Arie nicht unbedingt, bei mir läuft sonos2mqtt mit nodejs
nodejs -v
v10.24.1


Das hier sieht gut aus:
Zitat+ sonos2mqtt@3.2.0                                                             
updated 1 package in 6.974s           
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Kurt77

Zitat von: Otto123 am 20 April 2022, 13:11:37
npm list -g|grep sonos
└─┬ sonos2mqtt@3.2.0                                                           
  ├─┬ @svrooij/sonos@2.5.0-beta.8                                               

Danke und Gruß,
Kurt