Seite 1 von 1

Anfängerfrage: Wie kann eine einmal festgelegte "type_id" geändert werden?

Verfasst: 2. Okt 2019 19:12
von OpenHAB_Anwender
Hallo zusammen,
ich möchte mich erstmal für die vielen nützlichen Beiträge hier bedanken und selbst eine Frage loswerden, die wahrscheinlich für euch recht einfach zu erklären ist. :roll:

thing-Definition:

Code: Alles auswählen

Thing <binding_id>:<type_id>:<thing_id> "Label" @ "Location" [ <parameters> ]
Beschreibung:
Bei einer Fehlersuche wollte ich die type_id von einem Sonos Lautsprecher ändern (von "One" nach "ONE") . Anschließend ist dieser nicht mehr als thing aufgeführt. Das vorherige thing ist durch einen "HANDLER_MISSING_ERROR" nicht mehr erreichbar (siehe folgenden Programmauszug). Ich kann diesen nur wieder als thing erreichen, wenn ich die alte type_id angebe (reboot usw. bringt anscheinend nichts).

Frage: Wie kann man eine einmal festgelegte type_id ändern?

Code: Alles auswählen

2019-10-02 18:46:25.716 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'sonos.things' 
 ==> /var/log/openhab2/events.log <==
2019-10-02 18:46:25.753 [hingStatusInfoChangedEvent] - 'sonos:One:Schlafzimmer' changed from ONLINE to UNINITIALIZED 
==> /var/log/openhab2/openhab.log <==
2019-10-02 18:46:30.771 [WARN ] [core.thing.internal.ThingManagerImpl] - Disposing handler for thing 'sonos:One:Schlafzimmer' takes more than 5000ms.
==> /var/log/openhab2/events.log <==
2019-10-02 18:46:30.811 [hingStatusInfoChangedEvent] - 'sonos:One:Schlafzimmer' changed from UNINITIALIZED to UNINITIALIZED (HANDLER_MISSING_ERROR)
2019-10-02 18:46:50.669 [me.event.ThingUpdatedEvent] - Thing 'hue:0106:1:13' has been updated.
Hier noch ein paar Infos, falls notwendig:
Hardware: Raspberry 4
OH: openHAB 2.4.0-1 (Release Build)
Programmierung: Visual Studio

Vielen Dank im Voraus!

Re: Anfängerfrage: Wie kann eine einmal festgelegte "type_id" geändert werden?

Verfasst: 2. Okt 2019 23:21
von udo1toni
Die Type ID ist im Binding fest definiert. Die möglichen Werte sind in der Dokumentation ersichtlich:
https://www.openhab.org/addons/bindings ... ted-things
When being defined in a *.things file, the specific thing types One, PLAY1, PLAY3, PLAY5, PLAYBAR, PLAYBASE, Beam, CONNECT and CONNECTAMP should be used.

Re: Anfängerfrage: Wie kann eine einmal festgelegte "type_id" geändert werden?

Verfasst: 3. Okt 2019 10:50
von OpenHAB_Anwender
Hallo Udo,
danke für deine Antwort. Ich habe bislang immer die Type-ID genommen, die mit in der Paper UI als als aktive Teilnehmer angezeigt wurden und dies hat bis jetzt immer gut funktioniert.
Type-ID Sonos Lautsprecher.jpg
Kann es mit dem Binding zu einem Problem kommen, wenn als Type-ID "zoneplayer" verwendet wird? Wenn ja, dann würde ich gerne wissen wie ich dies ändern kann. Denn wie beschrieben, kann ich den jeweiligen Lautsprecher nur als aktiven Teilnehmer ("ONLINE") in der Paper UI sehen, wenn ich wieder die gleiche Type-ID angebe. Bei einer Änderung oder einem neuen Namen wird mit der Lautsprecher nicht als "ONLINE" angezeigt. (Eine manuelle Suche hat keinen Erfolg gebracht. Wahrscheinlich könnte ich es manuell anlegen.)

Die eigentliche Ursache für meine Probleme mit meinem Sonos-System scheinen an anderer Stelle zu liegen. Ich habe das Thema nur genauer betrachtet, weil die Verbindung zwischen meinem Raspberry und den Sonos-Lautsprechern unregelmäßig unterbrochen wurden, wenn ich diese über die Basic UI bedient habe. die Lautsprecher haben funktioniert und Musik gespielt, aber die Verbindung brach immer wieder zu allen Geräten ab, wenn ein Radiosender geändert wurde oder ein Lautsprecher gestoppt oder gestartet wurde. Ich habe erst gestern Abend gesehen, dass es bereits in anderen Foren diskutiert wurde und es eine "Bastellösung" für dieses Problem gibt.

https://community.openhab.org/t/oh-2-4- ... in/59253/9

https://community.openhab.org/t/too-muc ... ne/62214/5

In dem Auszug aus dem Log-File ist zu sehen, dass die Lautsprecher alle "offline" gehen und anschließend wieder "online" gehen (...obwohl diese einwandfrei funktionieren).

Code: Alles auswählen

2019-10-03 10:31:29.331 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_7828CAB5ED8601400' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_7828CAB5ED8601400 is not available in local network.

2019-10-03 10:31:30.415 [me.event.ThingUpdatedEvent] - Thing 'hue:0106:1:13' has been updated.

2019-10-03 10:31:30.427 [hingStatusInfoChangedEvent] - 'sonos:PLAY1:Bad' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_7828CAB5ED8601400 is not available in local network.

2019-10-03 10:31:30.430 [hingStatusInfoChangedEvent] - 'sonos:PLAY5:RINCON_949F3E501BA801400' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_949F3E501BA801400 is not available in local network.

2019-10-03 10:31:30.435 [hingStatusInfoChangedEvent] - 'sonos:PLAY5:RINCON_949F3E500F2A01400' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_949F3E500F2A01400 is not available in local network.

2019-10-03 10:31:30.440 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_7828CA0EF4FC01400' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_7828CA0EF4FC01400 is not available in local network.

2019-10-03 10:31:31.008 [me.event.ThingUpdatedEvent] - Thing 'hue:0106:1:17' has been updated.

2019-10-03 10:31:55.210 [hingStatusInfoChangedEvent] - 'sonos:zoneplayer:Wohnzimmer' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_949F3EC2C22601400 is not available in local network.

2019-10-03 10:32:29.350 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_7828CAB5ED8601400' changed from OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_7828CAB5ED8601400 is not available in local network. to ONLINE

2019-10-03 10:32:30.448 [hingStatusInfoChangedEvent] - 'sonos:PLAY1:Bad' changed from OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_7828CAB5ED8601400 is not available in local network. to ONLINE

2019-10-03 10:32:30.457 [hingStatusInfoChangedEvent] - 'sonos:One:RINCON_7828CA0EF4FC01400' changed from OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_7828CA0EF4FC01400 is not available in local network. to ONLINE

2019-10-03 10:32:30.473 [hingStatusInfoChangedEvent] - 'sonos:PLAY5:RINCON_949F3E500F2A01400' changed from OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_949F3E500F2A01400 is not available in local network. to ONLINE

2019-10-03 10:32:30.492 [hingStatusInfoChangedEvent] - 'sonos:PLAY5:RINCON_949F3E501BA801400' changed from OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_949F3E501BA801400 is not available in local network. to ONLINE

2019-10-03 10:32:48.507 [vent.ItemStateChangedEvent] - Temperature changed from 11.22 to 11.25

2019-10-03 10:32:48.532 [vent.ItemStateChangedEvent] - Temp_Feel changed from 11.22 to 11.25

2019-10-03 10:32:55.227 [hingStatusInfoChangedEvent] - 'sonos:zoneplayer:Wohnzimmer' changed from OFFLINE (COMMUNICATION_ERROR): The Sonos player RINCON_949F3EC2C22601400 is not available in local network. to ONLINE
Wahrscheinlich hat hier im Forum auch noch niemand eine bessere Lösung gefunden, oder vielleicht doch? :idea:
Gruß, Marcus

Re: Anfängerfrage: Wie kann eine einmal festgelegte "type_id" geändert werden?

Verfasst: 3. Okt 2019 14:35
von udo1toni
Ich habe selbst kein Sonos, weshalb ich nur auf die Doku verweisen kann :)

Wenn die Geräte mit Autodiscovery unter der TypID zoneplayer gefunden werden, wird das schon seine Richtigkeit haben.

Re: Anfängerfrage: Wie kann eine einmal festgelegte "type_id" geändert werden?

Verfasst: 3. Okt 2019 15:39
von peter-pan
udo1toni hat geschrieben: 3. Okt 2019 14:35 Wenn die Geräte mit Autodiscovery unter der TypID zoneplayer gefunden werden, wird das schon seine Richtigkeit haben.
Aus meiner Sicht ist das genauso, wie Udo dir das beschrieben hat. Bei einem Autodiscovery wird das Thing vom Binding selbst (oder von Autodiscovery) integriert und mit richtigen Parametern versorgt.

Wenn du die .things-Datei selber anlegst, soltest du dich aber nach Möglichkeit an die Konventionen halten wie sie in der Bindig-Doku beschrieben sind
udo1toni hat geschrieben: 2. Okt 2019 23:21 When being defined in a *.things file, the specific thing types One, PLAY1, PLAY3, PLAY5, PLAYBAR, PLAYBASE, Beam, CONNECT and CONNECTAMP should be used
Kann es sein, dass du sowohl per Autodiscovery und per Datei erstellte Things laufen hast ? Das könnte Probleme verursachen.
Wie sieht es den mit den Items aus ? Sind die auch automatisch generiert (Simple-Mode, oder so), oder hast du hier eine Items-Datei ?

Wie sieht denn die Hard- und Software aus ? Welches OH-Release läuft denn bei dir ?

Mein .things sieht so aus:

Code: Alles auswählen

Thing sonos:PLAY1:RINCON_949F3E157B8401400	[udn="RINCON_949F3E157B8401400", refresh=60]		//Arbeitszimmer
Thing sonos:PLAY1:RINCON_5CAAFDC29C0201400	[udn="RINCON_5CAAFDC29C0201400", refresh=60]		//Garten
Thing sonos:PLAY3:RINCON_5CAAFD54DF8801400	[udn="RINCON_5CAAFD54DF8801400", refresh=60]		//Wohnzimmer
Ausschnitt aus .items:

Code: Alles auswählen

//        Arbeitszimmer             
Player AZ_Sonos_Control                     "Player[%s]"                    <music>                   (AZ_Sonos)                {channel="sonos:PLAY1:RINCON_949F3E157B8401400:control", autoupdate="false"}
Switch AZ_Sonos_Mute                        "Mute[%s]"                      <sonos_mute>              (AZ_Sonos)                {channel="sonos:PLAY1:RINCON_949F3E157B8401400:mute", autoupdate="false"}
String AZ_Sonos_CurrentTitle                "Title [%s]"                    <track>                   (AZ_Sonos)                {channel="sonos:PLAY1:RINCON_949F3E157B8401400:currenttitle", autoupdate="false"}
Hast du die Änderungen deines Things, auch entsprechend in den Items vorgenommen ?

Re: Anfängerfrage: Wie kann eine einmal festgelegte "type_id" geändert werden?

Verfasst: 8. Okt 2019 21:25
von OpenHAB_Anwender
Hallo zusammen,
danke für eure Antworten. Ich konnte leider nicht früher antworten.
Kann es sein, dass du sowohl per Autodiscovery und per Datei erstellte Things laufen hast ? Das könnte Probleme verursachen.
Nein, es sind alle items per Datei erstellt worden. Über die Autodiscovery schaue ich nur nach der TypID - das wars.

Hier meine .things

Code: Alles auswählen

Thing sonos:zoneplayer:Wohnzimmer [udn="RINCON_949F3EC2C22601400", refresh=60, notificationVolume=15]
Thing sonos:PLAY1:Bad             [udn="RINCON_7828CAB5ED8601400", refresh=60, notificationVolume=15]
Thing sonos:One:Schlafzimmer      [udn="RINCON_7828CA0EF4FC01400", refresh=60, notificationVolume=15]
Sonstige Infos standen schon oben in meiner Nachricht:
Hardware: Raspberry 4
OH: openHAB 2.4.0-1 (Release Build)
Programmierung: Visual Studion
Am wahrscheinlichsten halte ich die beschriebene Ursache unter den von mir eingestellten Links:
https://community.openhab.org/t/oh-2-4- ... in/59253/9
https://community.openhab.org/t/too-muc ... ne/62214/5

Dennoch besten Dank EUCH!