hklages / node-red-contrib-sonos-plus

A set of Node-RED nodes to control SONOS player in your local network.
MIT License
75 stars 14 forks source link

Fehler bei group.play.mysonos #279

Closed githubwesseln closed 4 months ago

githubwesseln commented 4 months ago

Description

Fehlermeldung: "group.play.mysonos:htmlData is not string :: Details: {"stack":"Error: htmlData is not string\n at decodeHtmlEntity (/data/node_modules/node-red-contrib-sonos-plus/src/Helper.js:42:13)\n at getUpnpClassEncoded (/data/node_modules/node-red-contrib-sonos-plus/src/Extensions.js:580:27)\n at /data/node_modules/node-red-contrib-sonos-plus/src/Commands.js:659:32\n at Array.map ()\n at getMySonos (/data/node_modules/node-red-contrib-sonos-plus/src/Commands.js:646:58)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async Object.groupPlayMySonos [as group.play.mysonos] (/data/node_modules/node-red-contrib-sonos-plus/src/sonos-universal.js:1096:26)","message":"htmlData is not string"}"

Neuinstallation als Test-Maschine auf: Raspberry Pi 3 mit Bullseye gleiche Version Node Red und Sonos Plus ergibt keine Fehlermeldung, alles ok

What node/command (topic)/state (payload)

node: Universal command: group.play.mysonos state:

In case of a bug: Are you able to reproduce the error

yes

Versions and Infrastructure

what system: docker on Raspberry Pi 4B mit Buster-Lite node-red-contrib-sonos-plus version: 6.7.4 Node-RED version: 3.1.5 NodeJS version: 18.19.0

see:

[ { "id": "47112aa204e277c3", "type": "inject", "z": "b5fd8b2.94d37f8", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "str", "x": 90, "y": 2340, "wires": [ [ "feae751544a6e9cc" ] ] }, { "id": "feae751544a6e9cc", "type": "function", "z": "b5fd8b2.94d37f8", "name": "PlayMysonos", "func": "\nvdo='group.play.mysonos'\n\nmsg={topic:vdo,playerName:'Play5',payload:'Yoga'};\n\nreturn msg;\n", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 270, "y": 2340, "wires": [ [ "bfeaf6372c1c6073", "4193779725890317" ] ] }, { "id": "bfeaf6372c1c6073", "type": "sonos-universal", "z": "b5fd8b2.94d37f8", "confignode": "61bfea27.7a50a4", "command": "message", "state": "", "stateType": "str", "avoidCheckPlayerAvailability": false, "name": "SonosCMD", "x": 450, "y": 2340, "wires": [ [ "2d79151f41e613ce" ] ] }, { "id": "2d79151f41e613ce", "type": "debug", "z": "b5fd8b2.94d37f8", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 690, "y": 2340, "wires": [] }, { "id": "4193779725890317", "type": "debug", "z": "b5fd8b2.94d37f8", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 430, "y": 2400, "wires": [] }, { "id": "61bfea27.7a50a4", "type": "sonos-config", "name": "Play5", "serialnum": "", "ipaddress": "192.168.178.24" } ]

hklages commented 4 months ago

Hi.

It looks as If you did install the beta7 branch. That is not official and throws exactly this error.

Please use the testet and official master branch ... see releases.

Does that solve your problem?

On Thu, Feb 15, 2024, 19:01 githubwesseln @.***> wrote:

Description

Fehlermeldung: "group.play.mysonos:htmlData is not string :: Details: {"stack":"Error: htmlData is not string\n at decodeHtmlEntity (/data/node_modules/node-red-contrib-sonos-plus/src/Helper.js:42:13)\n at getUpnpClassEncoded (/data/node_modules/node-red-contrib-sonos-plus/src/Extensions.js:580:27)\n at /data/node_modules/node-red-contrib-sonos-plus/src/Commands.js:659:32\n at Array.map ()\n at getMySonos (/data/node_modules/node-red-contrib-sonos-plus/src/Commands.js:646:58)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async Object.groupPlayMySonos [as group.play.mysonos] (/data/node_modules/node-red-contrib-sonos-plus/src/sonos-universal.js:1096:26)","message":"htmlData is not string"}"

Neuinstallation als Test-Maschine auf: Raspberry Pi 3 mit Bullseye gleiche Version Node Red und Sonos Plus ergibt keine Fehlermeldung, alles ok What node/command (topic)/state (payload)

node: Universal command: group.play.mysonos state: In case of a bug: Are you able to reproduce the error

yes Versions and Infrastructure

what system: docker on Raspberry Pi 4B mit Buster-Lite node-red-contrib-sonos-plus version: 6.7.4 Node-RED version: 3.1.5 NodeJS version: 18.19.0

see:

[ { "id": "47112aa204e277c3", "type": "inject", "z": "b5fd8b2.94d37f8", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "str", "x": 90, "y": 2340, "wires": [ [ "feae751544a6e9cc" ] ] }, { "id": "feae751544a6e9cc", "type": "function", "z": "b5fd8b2.94d37f8", "name": "PlayMysonos", "func": "\nvdo='group.play.mysonos'\n\nmsg={topic:vdo,playerName:'Play5',payload:'Yoga'};\n\nreturn msg;\n", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 270, "y": 2340, "wires": [ [ "bfeaf6372c1c6073", "4193779725890317" ] ] }, { "id": "bfeaf6372c1c6073", "type": "sonos-universal", "z": "b5fd8b2.94d37f8", "confignode": "61bfea27.7a50a4", "command": "message", "state": "", "stateType": "str", "avoidCheckPlayerAvailability": false, "name": "SonosCMD", "x": 450, "y": 2340, "wires": [ [ "2d79151f41e613ce" ] ] }, { "id": "2d79151f41e613ce", "type": "debug", "z": "b5fd8b2.94d37f8", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 690, "y": 2340, "wires": [] }, { "id": "4193779725890317", "type": "debug", "z": "b5fd8b2.94d37f8", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 430, "y": 2400, "wires": [] }, { "id": "61bfea27.7a50a4", "type": "sonos-config", "name": "Play5", "serialnum": "", "ipaddress": "192.168.178.24" } ]

— Reply to this email directly, view it on GitHub https://github.com/hklages/node-red-contrib-sonos-plus/issues/279, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEDZCH64KEJ3GVXM2OSLDFLYTZEQDAVCNFSM6AAAAABDKWXSPWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGEZTOMJSG4YTGOI . You are receiving this because you were assigned.Message ID: @.***>

githubwesseln commented 4 months ago

Sorry, Test-Pi hat Bookworm 64Bit

habe es über Node Red - Palette verwalten auf dem Wirk-Pi upgedatet. Hilft hier neuinstallieren ?

hklages commented 4 months ago

Hmmm. Das ist seltsam. Die Palette ist genau der richtige Weg.

Kennst du dich mit npm aus? Ist @svrooij/sonos" als 2.6.0-beta.5 installiert oder die beta.7?

On Thu, Feb 15, 2024, 19:13 githubwesseln @.***> wrote:

Sorry, Test-Pi hat Bookworm 64Bit

habe es über Node Red - Palette verwalten auf dem Wirk-Pi upgedatet. Hilft hier neuinstallieren ?

— Reply to this email directly, view it on GitHub https://github.com/hklages/node-red-contrib-sonos-plus/issues/279#issuecomment-1946830761, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEDZCH7NH627DZHIO74DA5DYTZF5NAVCNFSM6AAAAABDKWXSPWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNBWHAZTANZWGE . You are receiving this because you were assigned.Message ID: @.***>

githubwesseln commented 4 months ago

auf Wirk: 2.6.0-beta.7 auf Test: 2.6.0-beta.6

hklages commented 4 months ago

Test hat keinen Fehler und Wirk produziert den Fehler weil beta.7 installiert ist. Richtig?

Also einfach auf Wirk die beta.6 installieren.

Dazu gehst du per "cd" in das "node-red-contrib-sonos-plus verzeichnis". Dort ist auch die "package. json" Mit npm list @svrooij/sonos@2.6.0-beta.7 müsste dann genau die Beta.7 angezeigt werden. Einfach npm uninstall @svrooij/sonos@2.6.0-beta.7 und anschließend ein npm install @svrooij/sonos@2.6.0-beta.6

Klappt das?

Mir ist allerdings schleierhaft, warum auf Wirk die beta7 installiert ist. Ist auf dem System eine "intelligenz" vorhanden, die besondere Sicherheitsregeln hat? Beta.6 basiert auf fast-xml-parser und dort gibt ein Sicherheitrisiko, dass aber in diesem Fall keine Rolle spielt. Beta.7 ist ohne fast-xml-parser und hat kein Sicherheitsrisiko.

Ich bin gerade dabei mein Paket anzupassen damit es mit beta.7 läuft. Das wird aber noch ein paar Tage dauert, wegen der langen Test.

githubwesseln commented 4 months ago

Kenne mich mit npm nicht wirklich aus, habe es im Docker (über Portainer) versucht, aber (nach npm fund) folgende Meldung erhalten (blockieren andere Nodes da etwas ?):

aspberrypi:~$ npm uninstall @svrooij/sonos@2.6.0-beta.7

up to date, audited 305 packages in 4s

45 packages are looking for funding run npm fund for details

found 0 vulnerabilities raspberrypi:~$ npm fund node-red-docker@3.1.5 +-- https://github.com/sponsors/jaredhanson | -- oauth2orize@1.11.1, passport@0.6.0 +-- https://github.com/sponsors/ljharb |-- qs@6.11.0, side-channel@1.0.5, call-bind@1.0.6, function-bind@1.1.2, gopd@1.0.1, has-property-descriptors@1.0.1, get-intrinsic@1.2.4, has-proto@1.0.1, has-symbols@1.0.3, object-inspect@1.13.1, minimist@1.2.8 +-- https://github.com/sponsors/feross | -- safe-buffer@5.2.1, buffer@5.7.1, base64-js@1.5.1, ieee754@1.2.1 +-- https://github.com/sponsors/epoberezkin |-- ajv@8.12.0 +-- https://github.com/cheeriojs/cheerio?sponsor=1 | | -- cheerio@1.0.0-rc.10 | +-- https://github.com/sponsors/fb55 | | |-- cheerio-select@1.6.0, css-select@4.3.0, css-what@6.1.0, domelementtype@2.3.0 | | -- https://github.com/fb55/domutils?sponsor=1 | |-- domutils@2.8.0 | +-- https://github.com/cheeriojs/dom-serializer?sponsor=1 | | | -- dom-serializer@1.4.1 | |-- https://github.com/fb55/entities?sponsor=1 | | -- entities@2.2.0 | +-- https://github.com/fb55/domhandler?sponsor=1 | |-- domhandler@4.3.1 | -- https://github.com/fb55/htmlparser2?sponsor=1 |-- htmlparser2@6.1.0 +-- https://github.com/sindresorhus/got?sponsor=1 | | `-- got@12.6.0

githubwesseln commented 4 months ago

ok, nach cd /data/node_modules im Container sieht es besser aus

githubwesseln commented 4 months ago

Super, mit Beta.6 funktioniert es jetzt auch auf dem Wirk-System