ZitatÄndert man die Sonoslandschaft, kann man auch alles einreißen und neu erzeugen lassen. Zunächst alles löschen (für die FHEM Kommandozeile):
{fhem("delete a:model=sonos2mqtt_speaker;;delete FileLog_MQTT2_RINCON.*");;qx(rm ./log/MQTT2_RINCON_*);;return ""}
Danach muss man sonos2mqtt einfach neu starten: pm2 start ... bzw den docker container neu starten.
define SonosBridge MQTT2_DEVICE
attr SonosBridge IODev myMosquitto
attr SonosBridge bridgeRegexp sonos/(RINCON_[A-Z0-9]+)[:/].* "$1"
attr SonosBridge devStateIcon 0:10px-kreis-rot 1:10px-kreis-gelb 2:10px-kreis-gruen
attr SonosBridge devicetopic sonos
attr SonosBridge getList Favorites:noArg Favorites {sonos2mqtt($NAME,$EVENT)}
attr SonosBridge icon mqtt_bridge_2
attr SonosBridge model sonos2mqtt_bridge
attr SonosBridge readingList sonos/connected:.* connected\
homeassistant/music_player/RINCON_([0-9A-Z]+)/sonos/config:.* { $TOPIC =~ m,(RINCON_[0-9A-Z]+),;; { "config_$1"=>$EVENT }}\
sonos/status/[^/]+/avtransport:.* {}\
sonos/status/[^/]+/renderingcontrol:.* {}
attr SonosBridge room MQTT2_DEVICE,Sonos
attr SonosBridge setList PauseAll:noArg $DEVICETOPIC/cmd/pauseall\
CheckSubscription:noArg $DEVICETOPIC/cmd/check-subscriptions
attr SonosBridge stateFormat connected
attr SonosBridge userReadings favlist:Favorites.* {sonos2mqtt_ur($name,'favlist')},\
grouplist:Favorites.* {sonos2mqtt_ur($name,'grouplist')}
setstate SonosBridge 2
setstate SonosBridge 2026-03-10 06:57:30 IODev myMosquitto
setstate SonosBridge 2026-03-09 14:24:27 attrTemplateVersion 20210303
setstate SonosBridge 2026-03-10 07:57:18 connected 2
setstate SonosBridge 2026-03-10 08:25:30 state PauseAll
define myMosquitto MQTT2_CLIENT 127.0.0.1:1885
attr myMosquitto autocreate simple
attr myMosquitto clientId fhem2
attr myMosquitto clientOrder MQTT_GENERIC_BRIDGE MQTT2_DEVICE
attr myMosquitto disable 0
attr myMosquitto group MQTT
attr myMosquitto room MQTT2_DEVICE
attr myMosquitto username andreas
setstate RINCON_F0FXXXXXXXXXXXX00 STOPPED
setstate RINCON_F0FXXXXXXXXXXXX00 2026-03-10 07:09:43 CopyrightInfo © 2003-2026, Sonos, Inc. All rights reserved.
setstate RINCON_F0FXXXXXXXXXXXX00 2026-03-10 07:09:43 DisplaySoftwareVersion 18.1
setstate RINCON_F0FXXXXXXXXXXXX00 2026-03-10 07:09:43 Flags 0
setstate RINCON_F0FXXXXXXXXXXXX00 2026-03-10 07:09:43 HTAudioIn 0
setstate RINCON_F0XXXXXXXXXC0
define RINCON_F0FXXXXXXXXXXXX00 MQTT2_DEVICE RINCON_F0FXXXXXXXXXXXX00
attr RINCON_F0FXXXXXXXXXXXX00 alias Mobil2
attr RINCON_F0FXXXXXXXXXXXX00 devStateIcon {sonos2mqtt($name,'devStateIcon')}
attr RINCON_F0FXXXXXXXXXXXX00 devicetopic sonos
attr RINCON_F0FXXXXXXXXXXXX00 icon Sonos2mqtt_icon-S27
attr RINCON_F0FXXXXXXXXXXXX00 jsonMap volume_Master:volume mute_Master:mute
attr RINCON_F0FXXXXXXXXXXXX00 model sonos2mqtt_speaker
attr RINCON_F0FXXXXXXXXXXXX00 readingList $DEVICETOPIC/RINCON_F0FXXXXXXXXXXXX00/ZoneInfo:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/RINCON_F0FXXXXXXXXXXXX00:.* { json2nameValue($EVENT,'',$JSONMAP) }\
$DEVICETOPIC/status/(.*)/avtransport:.* { sonos2mqtt_reading($NAME,$EVENT,$TOPIC) }\
sonos/RINCON_F0FXXXXXXXXXXXX00/control:.* { json2nameValue($EVENT) }\
sonos/RINCON_F0FXXXXXXXXXXXX00/Favorites:.* { json2nameValue($EVENT) }
attr RINCON_F0FXXXXXXXXXXXX00 room MQTT2_DEVICE,Sonos
attr RINCON_F0FXXXXXXXXXXXX00 setList alarm:textField { sonos2mqtt_alarm($NAME,$EVENT) }\
input:Queue {sonos2mqtt($NAME,$EVENT)}\
joinGroup: {sonos2mqtt($NAME,$EVENT)}\
leaveGroup:noArg {sonos2mqtt($NAME,$EVENT)}\
mute:true,false {sonos2mqtt($NAME,$EVENT)}\
next:noArg {sonos2mqtt($NAME,$EVENT)}\
notify:textField {sonos2mqtt($NAME,$EVENT)}\
pause:noArg {sonos2mqtt($NAME,$EVENT)}\
play:noArg {sonos2mqtt($NAME,$EVENT)}\
playUri:textField {sonos2mqtt($NAME,$EVENT)}\
previous:noArg {sonos2mqtt($NAME,$EVENT)}\
sayText:textField {sonos2mqtt($NAME,$EVENT)}\
setAVTUri:textField {sonos2mqtt($NAME,$EVENT)}\
sleep:selectnumbers,0,15,120,0,lin {sonos2mqtt($NAME,$EVENT)}\
snoozeAlarm:textField { sonos2mqtt($NAME,$EVENT) }\
speak:textField {sonos2mqtt($NAME,$EVENT)}\
stop:noArg {sonos2mqtt($NAME,$EVENT)}\
toggle:noArg {sonos2mqtt($NAME,$EVENT)}\
volume:slider,0,1,100 {sonos2mqtt($NAME,$EVENT)}\
volumeDown:noArg {sonos2mqtt($NAME,$EVENT)}\
volumeUp:noArg {sonos2mqtt($NAME,$EVENT)}\
x_raw_payload:textField {sonos2mqtt($NAME,$EVENT)}
attr RINCON_F0FXXXXXXXXXXXX00 stateFormat transportState
attr RINCON_F0FXXXXXXXXXXXX00 userReadings Master:groupName.* {(split(' \+',ReadingsVal($name,'groupName','')))[0]},\
isMaster:coordinatorUuid.* {ReadingsVal($name,'coordinatorUuid','') eq ReadingsVal($name,'uuid','')?1:0},\
inGroup:groupName.* {ReadingsVal($name,'groupName','') =~ / \+ /?1:0},\
inCouple:coordinatorUuid.* {(ReadingsVal($name,'coordinatorUuid','') ne ReadingsVal($name,'uuid','') and (index(ReadingsVal($name,'groupName',''), ReadingsVal($name,'name','')) != -1))?1:0},\
Input:currentTrack_TrackUri.* {sonos2mqtt_ur($name,'Input')}
setstate RINCON_F0FXXXXXXXXXXXX00 STOPPED
setstate RINCON_F0FXXXXXXXXXXXX00 2026-03-10 07:09:43 CopyrightInfo © 2003-2026, Sonos, Inc. All rights reserved.
setstate RINCON_F0FXXXXXXXXXXXX00 2026-03-10 07:09:43 DisplaySoftwareVersion 18.1
setstate RINCON_F0FXXXXXXXXXXXX00 2026-03-10 07:09:43 Flags 0
setstate RINCON_F0FXXXXXXXXXXXX00 2026-03-10 07:09:43 HTAudioIn 0
setstate RINCON_F0XXXXXXXXXC0
MariaDB [fhem]> SELECT TIMESTAMP, DEVICE, READING, VALUE FROM current ORDER BY TIMESTAMP DESC LIMIT 20;
+---------------------+--------------+-----------------------------+-----------+
| TIMESTAMP | DEVICE | READING | VALUE |
+---------------------+--------------+-----------------------------+-----------+
| 2026-03-10 11:26:29 | SE_10k | pvIn | 0.093 |
| 2026-03-10 11:26:29 | SE_10k | BatIn | 0.47 |
| 2026-03-10 11:26:29 | SE_10k | PV_DC | 0.688 |
| 2026-03-10 11:26:29 | SE_10k | BatOut | 0 |
| 2026-03-10 10:53:11 | MD_SolarEdge | BatIn | 0.41 |
| 2026-03-10 10:53:11 | MD_SolarEdge | BatOut | 0 |
| 2026-03-10 09:33:03 | SE_10k | BatNet | 2.630 |
| 2026-03-10 09:33:03 | SE_10k | BatHaus | 2.630 |
| 2026-03-10 09:33:03 | SE_10k | B_Status | Discharge |
| 2026-03-10 09:33:03 | SE_10k | Haus_Last_kW | 4.02 |
| 2026-03-10 09:33:03 | SE_10k | Hausverbrauch | 4.273 |
| 2026-03-10 09:33:03 | SE_10k | BatOUT_TOTAL_kWh | 930.46 |
| 2026-03-10 09:33:03 | SE_10k | B_State_of_Energy | 41.5 |
| 2026-03-10 09:33:03 | SE_10k | B_State_of_Health | 99.0 |
| 2026-03-10 09:33:03 | SE_10k | B_Available_Energy | 9.53 |
| 2026-03-10 09:33:03 | SE_10k | B_Average_Temperature | 17.5 |
| 2026-03-10 09:33:03 | SE_10k | B_Instantaneous_Power | -2.63 |
| 2026-03-10 09:33:03 | SE_10k | B_State_of_Energy_in_kWh | 3.95 |
| 2026-03-10 09:33:03 | SE_10k | Energiebezug_HM_Meter_kWh | 875.10 |
| 2026-03-10 09:33:03 | SE_10k | Energie_FeedIN_HM_Meter_kWh | 182.90 |
+---------------------+--------------+-----------------------------+-----------+
pi@raspberrypi:~ $ sudo npm install --prefix /opt/fhem/cache/alexa-cookie alexa-cookie2
up to date, audited 103 packages in 7s
18 packages are looking for funding
run `npm fund` for details
2 low severity vulnerabilities
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
pi@raspberrypi:/opt/fhem/cache/alexa-cookie $ npm fund
alexa-cookie
├─┬ https://opencollective.com/express
│ │ └── express@4.22.1, http-errors@2.0.1
│ ├── https://github.com/sponsors/sindresorhus
│ │ └── merge-descriptors@1.0.3, is-plain-obj@3.0.0
│ ├── https://github.com/sponsors/ljharb
│ │ └── qs@6.14.2, side-channel@1.1.0, object-inspect@1.13.4, side-channel-list@1.0.0, side-channel-map@1.0.1, call-bound@1.0.4, function-bind@1.1.2, get-intrinsic@1.3.0, gopd@1.2.0, has-symbols@1.1.0, side-channel-weakmap@1.0.2
│ └── https://github.com/sponsors/feross
│ └── safe-buffer@5.2.1
├── https://github.com/sponsors/RubenVerborgh
│ └── follow-redirects@1.15.11
└── https://github.com/sponsors/jonschlinkert
└── picomatch@2.3.1
pi@raspberrypi:/opt/fhem/cache/alexa-cookie $ sudo npm audit fix --force
npm WARN using --force Recommended protections disabled.
npm WARN audit Updating alexa-cookie2 to 1.0.3, which is a SemVer major change.
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
added 96 packages, removed 6 packages, changed 7 packages, and audited 193 packages in 35s
17 packages are looking for funding
run `npm fund` for details
# npm audit report
braces <3.0.3
Severity: high
Uncontrolled resource consumption in braces - https://github.com/advisories/GHSA-grv7-fg5c-xmjg
fix available via `npm audit fix --force`
Will install alexa-cookie2@5.0.3, which is a breaking change
node_modules/braces
micromatch <=4.0.7
Depends on vulnerable versions of braces
node_modules/micromatch
http-proxy-middleware <=2.0.7-beta.1
Depends on vulnerable versions of micromatch
node_modules/http-proxy-middleware
alexa-cookie2 <=3.4.3
Depends on vulnerable versions of http-proxy-middleware
node_modules/alexa-cookie2
4 high severity vulnerabilities
To address all issues (including breaking changes), run:
npm audit fix --force
pi@raspberrypi:/opt/fhem/cache/alexa-cookie $
pi@raspberrypi:/opt/fhem/cache/alexa-cookie $ sudo npm audit fix --force
npm WARN using --force Recommended protections disabled.
npm WARN audit Updating alexa-cookie2 to 5.0.3, which is a SemVer major change.
added 6 packages, removed 96 packages, changed 7 packages, and audited 103 packages in 17s
18 packages are looking for funding
run `npm fund` for details
# npm audit report
cookie <0.7.0
cookie accepts cookie name, path, and domain with out of bounds characters - https://github.com/advisories/GHSA-pxg6-pf52-xh8x
fix available via `npm audit fix --force`
Will install alexa-cookie2@1.0.3, which is a breaking change
node_modules/cookie
alexa-cookie2 >=2.0.0
Depends on vulnerable versions of cookie
node_modules/alexa-cookie2
2 low severity vulnerabilities
To address all issues (including breaking changes), run:
npm audit fix --force
Es ist ein Fehler aufgetreten!! Bitte das FHEM Log pruefen. [10.3.2026, 10:44:11] refreshing token
[10.3.2026, 10:44:12] failed to refresh token: Error: connect ECONNREFUSED 2a01:4f8:221:1b5a::f2:443
Zitat von: Dave2526 am 10 März 2026, 08:58:15Es gibt tatsächlich in der Commandref dbzgl. einen Fehler:Zitat von: Damian am 10 März 2026, 07:49:53[[aufstehzeit_reiner:Zeit] - ([aufstehzeit_reiner:Zeit]+[00:15])|12345]
Danke! Hätte schwören könen das ich es so auch mal probiert hab aber da war dann bestimmt irgenwo eine Klammer falsch.... Manchmal sieht man den Wald vor lauter Bäumen nicht mehr...
Zitatdefine di_light DOIF ([([Fixtime]-[01:00]-int(rand(300))) - ([Fixtime]+[01:00]+int(rand(300)))]|7])
(set lampe on)
DOELSE
(set lampe off)