Seite 2 von 5

Re: Webradio Magic Me/M7 Chipsatz - Albrecht DR 463

Verfasst: 17. Apr 2022 20:44
von filmgucker2
Die Änderung auf POST hat leider das gleiche Ergebnis gebracht. Es ist auch nur ein Wert, die Buchstabenfolge. Aber es sind zwei Felder username + password. Passt irgendwie nicht zusammen....

Re: Webradio Magic Me/M7 Chipsatz - Albrecht DR 463

Verfasst: 17. Apr 2022 21:47
von filmgucker2
Lieber udo1toni oder liebe Andere,

kannst Du oder Ihr vielleicht mit dieser Datei auf die Sprünge helfen?

https://github.com/edberoi/python-airmu ... _init__.py

Da steht was drin über diesen komischen Schlüssel und viele, viele andere Befehle...

VG

Re: Webradio Magic Me/M7 Chipsatz - Albrecht DR 463

Verfasst: 18. Apr 2022 11:22
von filmgucker2
...mein widerspenstiger Albrecht möchte wohl folgenden Befehl über den
Browser haben, bevor er sich bequemt, weitere Befehle auszuführen:
.../init?language=de

Mit der authentication hat es wohl nichts zu tun.

Dann also Script beim Einschalten oder vor Aktivität eines jeden Items mit diesem Befehl?

VG
Filmgucker

Re: Webradio Magic Me/M7 Chipsatz - Albrecht DR 463

Verfasst: 18. Apr 2022 15:56
von udo1toni
Keine Ahnung. Ich fürchte, das ist sehr gerätespezifisch. Vielleicht gibt es ja ein Forum, was sich speziell mit diesem Gerät beschäftigt (oder zumindest eines, welches sich auf solche Geräte spezialisiert hat).

Re: Webradio Magic Me/M7 Chipsatz - Albrecht DR 463

Verfasst: 18. Apr 2022 16:58
von filmgucker2
Macht nichts. Wenn das Gerät angeschaltet wird, kriegt er meinen ini-Befehl, und dann geht alles.
Aber noch eine klitzekleine Frage, die wohl nicht gerätetypisch ist.
Der ini Befehl gibt auch einige Infos zurück im xml Format:
Etwa:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?><result><id>1</id><version>i10420180104h</version><lang>de</lang><wifi_set_url>http://192.168.78.1/scan_wifi</wifi_set_url><ptver>20170822</ptver><hotkey_fav>1</hotkey_fav><push_talk>1</push_talk><leave_msg>1</leave_msg><leave_msg_ios>1</leave_msg_ios><M7_SUPPORT>0</M7_SUPPORT><SMS_SUPPORT>1</SMS_SUPPORT><MKEY_SUPPORT>1</MKEY_SUPPORT><UART_CD>0</UART_CD><PlayMode>1</PlayMode><cur_play_menu_id>91</cur_play_menu_id><cur_play_name></cur_play_name><SWUpdate>NO</SWUpdate></result>
Wenn ich jetzt nur den Status eines dieser Werte in ein Item einlesen will, etwa die <PlayMode>, hol ich das mit
REGEX raus? Ich hab mal probiert <PlayMode>(.*?)</PlayMode> im Item mit REGEX Profile. Kommt aber nichts...
Könntest Du mir da auf den Weg helfen?

Re: Webradio Magic Me/M7 Chipsatz - Albrecht DR 463

Verfasst: 18. Apr 2022 19:33
von filmgucker2
Ist wie Ostereiersuchen:

Mit .*?<PlayMode>(.*?)</PlayMode>.*

kommts raus... ;-)

Re: Webradio Magic Me/M7 Chipsatz - Albrecht DR 463

Verfasst: 18. Apr 2022 21:19
von udo1toni
Schau mal bitte nach den Transformation Services, dort gibt es XPATH. Damit kannst Du die Felder in XML komfortabel abfragen, in diesem Fall wäre es dann /result/PlayMode als Parameter.
Aufgehübschtes XML, da wird der Pfad gut sichtbar (gibt aber auch Tools um sich den Pfad anzeigen zu lassen)

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<result>
	<id>1</id>
	<version>i10420180104h</version>
	<lang>de</lang>
	<wifi_set_url>http://192.168.78.1/scan_wifi</wifi_set_url>
	<ptver>20170822</ptver>
	<hotkey_fav>1</hotkey_fav>
	<push_talk>1</push_talk>
	<leave_msg>1</leave_msg>
	<leave_msg_ios>1</leave_msg_ios>
	<M7_SUPPORT>0</M7_SUPPORT>
	<SMS_SUPPORT>1</SMS_SUPPORT>
	<MKEY_SUPPORT>1</MKEY_SUPPORT>
	<UART_CD>0</UART_CD>
	<PlayMode>1</PlayMode>
	<cur_play_menu_id>91</cur_play_menu_id>
	<cur_play_name/>
	<SWUpdate>NO</SWUpdate>
</result>

Re: Webradio Magic Me/M7 Chipsatz - Albrecht DR 463

Verfasst: 18. Apr 2022 22:06
von filmgucker2
Hab geschaut und installiert. Der Schritt war wohl etwas zu weit für mich...
In einem anderen item wird mir auch diese xml Liste ausgegeben. Unter Profile
in der UI hab ich mal XPath markiert und dann unten result/... und dann Name des
in <> genannten Begriffs eingegeben. Nichts wird angezeigt...
Wenn ich in REGEX mir die einzelnen Rückgabewerte geben lassen kann, stelle ich mir vor,
dass ich mit ihnen in Regeln oder Scripten weiterarbeiten kann. Wäre für mich
ein großer Schritt. Aber wofür brauche ich dann XPath?

Re: Webradio Magic Me/M7 Chipsatz - Albrecht DR 463

Verfasst: 18. Apr 2022 22:17
von udo1toni
Nehmen wir an, das XML kommt in einem string Channel an.
Nun kannst Du den String Channel mit verschiedenen Items verlinken. Im Link kannst Du als Profile jeweils XPATH auswählen und unterschiedliche Paths angeben. Der Path fängt dabei aber mit einem / an, den darfst Du nicht einfach weg lassen. Schau mal hier: https://www.openhab.org/addons/transformations/xpath/ Es kann sein, dass Du in openHAB noch ein text() anhängen musst, also /result/PlayMode/text()
Es ist halt im Zweifel einfacher, /result/PlayMode/text() hinzuschreiben, als sich ein REGEX zu suchen, was sicher ausschließlich auf den gesuchten Teil des Textes matcht.

Wenn Dich nur einer der Werte interessiert, kannst Du XPATH auch in der incommingTransformation verwenden, also an der Stelle, an der Du das REGEX gesetzt hast. Es geht nicht um die Kombination mit REGEX, sondern um die Alternative zu REGEX.

Re: Webradio Magic Me/M7 Chipsatz - Albrecht DR 463

Verfasst: 20. Apr 2022 21:38
von filmgucker2
Ich habs mal versucht: Nicht hinzukriegen...
Ohne XPath mit Standard gibt er mir etwa:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?><menu><item_total>6</item_total><item_return>6</item_return><item><id>137_0</id><status>file</status><name>Absolut TOP </name></item><item><id>137_1</id><status>file</status><name>Absolut relax </name></item><item><id>137_2</id><status>file</status><name>MDR AKTUELL </name></item><item><id>137_3</id><status>file</status><name>AIDAradio </name></item><item><id>137_4</id><status>file</status><name>MDR SPUTNIK </name></item><item><id>137_5</id><status>file</status><name>TOGGO Radio </name></item></menu>
Wenn ich etwa den Wert id nur herauslesen möchte mit /id/text() mit XPath: nichts. /result/id/text(), nichts. Nur /id, wieder nichts...

Ah! /menu/item/id/text() bringt mir den ersten Wert...Und die anderen?