Per Script Status von LMS Squeezebox abfragen und Ergebnis auslesen

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

schonwiederich
Beiträge: 52
Registriert: 07.10.2016, 13:44
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Per Script Status von LMS Squeezebox abfragen und Ergebnis auslesen

Beitrag von schonwiederich » 04.11.2019, 13:03

Hallo zusammen,
ich suche schon lange nach einer möglichkeit per Script in der CCU den Status von den Squeezebox Playern des LMS auszulesen.
Dies klappt auch per HTTP Befehl soweit. Jedoch bekommt man immer nur eine gesammelte Rückmeldung des Player in der jeder Status drin steht.

(Sollte jemand doch wissen wie man Power, Sync, Volume, Play, Titel etc.... einzeln als Abfragerückmeldung bekommt gerne her damit.)

Meine Frage bezihet sich aber primär darauf, wie ich aus der Sammelstatusrückmeldung für mich die Einzelwerte extrahiere. Dazu sind meine Scriptkenntnisse aber viel zu schlecht.

Nehmen wir an, ich will den Status "POWER" in eine CCU Systemvariable schreiben.
Zum ermitteln des Sammlestatus nutze ich diesen Befehl:

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - 'http://192.168.0.12:9002/status.html?p0=power&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9'").ToString();
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var ret = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();

WriteLine(ret);
Die Rückmeldung ist dann:

Code: Alles auswählen

 !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd" 
 html 
   head 
     title Squeezebox-Musikplayer Ankleide_pCP  /title 
     link rel="stylesheet" href="/slimserver.css" type="text/css" 
     link rel="stylesheet" href="/skin.css" type="text/css" 
   /head 
   body bgcolor="#FFFFFF" 
	 h3 Squeezebox-Musikplayer Ankleide_pCP /h3 
  	 form method="get" action="/index.html" target="_top" Aktueller Player:  select name="player" 
 option  value="02:00:6c:34:30:61" 11 G1 kue ank bad /option 
 option selected value="b8:27:eb:fe:53:d9" Ankleide_pCP (Synchronisiert mit Küche_pCP) /option 
 option  value="b8:27:eb:81:36:50" Badezimmer_pCP /option 
 option  value="b8:27:eb:00:a6:aa" Kinderzimmer_pCP /option 
 option  value="b8:27:eb:94:ee:0a" Küche_pCP (Synchronisiert mit Ankleide_pCP) /option 
 option  value="b8:27:eb:5e:4a:9c" Wohnzimmer_pCP /option  /select  input class="stdclick" type="submit" value="Change"  /form 
    div id="playingStatus" 
    
    
    Angehalten bei
    1 von 1:
    /div 
    div class="playingSong"  a href="/songinfo.html?item=-130759608&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9" target="browser" CALVIN HARRIS FEAT. DUA LIPA - ONE KISS /a 
   
   
     span class="playingSongControls"  a href="status.html?p0=playlist&p1=delete&p2=0&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9&start=0"  span (Löschen) /span  /a  /span 
    /div 
 hr  a href="status.html?p0=playlist&p1=jump&p2=-1&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9" Zurück /a 
 a href="status.html?p0=playlist&p1=jump&p2=%2b1&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9" Überspringen /a 
     a href="status.html?p0=play&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9" Wiedergabe /a 
     a href="status.html?p0=pause&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9" Pause /a 
     b Stopp /b 

 br Wiederholen:
 b aus /b / a href="status.html?p0=playlist&p1=repeat&p2=1&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9&start=0" ein /a / a href="status.html?p0=playlist&p1=repeat&p2=2&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9&start=0" alle /a 
 br Zufall:
 b aus /b / a href="status.html?p0=playlist&p1=shuffle&p2=1&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9&start=0" titel /a / a href="status.html?p0=playlist&p1=shuffle&p2=2&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9&start=0" alben /a 

 br 

    Player:
                b Ein /b / a
               target="_top" href="index.html?player=b8%3A27%3Aeb%3Afe%3A53%3Ad9&p0=power&p1=0" Aus /a 

 br  br 
Lautstärke:

   b 1 /b 
   a href="status.html?p0=mixer&p1=volume&p2=10&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9&start=0" 2 /a 
   a href="status.html?p0=mixer&p1=volume&p2=20&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9&start=0" 3 /a 
   a href="status.html?p0=mixer&p1=volume&p2=30&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9&start=0" 4 /a 
   a href="status.html?p0=mixer&p1=volume&p2=40&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9&start=0" 5 /a 
   a href="status.html?p0=mixer&p1=volume&p2=50&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9&start=0" 6 /a 
   a href="status.html?p0=mixer&p1=volume&p2=60&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9&start=0" 7 /a 
   a href="status.html?p0=mixer&p1=volume&p2=70&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9&start=0" 8 /a 
   a href="status.html?p0=mixer&p1=volume&p2=80&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9&start=0" 9 /a 
   a href="status.html?p0=mixer&p1=volume&p2=90&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9&start=0" 10 /a 
   a href="status.html?p0=mixer&p1=volume&p2=100&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9&start=0" 11 /a 




 div 

	
	
	 div id="playList" 
		
			
				
					 div class="draggableSong selectorMarker currentSong" id="playlistSong0" onmouseover="Main.playlist.Highlighter.highlight(this);"  div class="selector_topRight"  div class="selector_topLeft"  div class="selector_bottomRight"  div class="selector_bottomLeft" 
	 div class="browsedbListItem itemWithCover" 
		
		
		
			 span class="playlistCover" 
				
				
					
					
					 img src="plugins/cache/icons/radiolocal_50x50_o.png" onLoad="resize(this, 50)" 
					
				
				
			 /span 
			 div class="playlistSongDetail" 
				 a href="/songinfo.html?item=-130759608&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9" target="browser" class="browseItemLink"  span TURN ME ON /span  /a 
			 /div 
			
			
			
			 div class="playlistSongDetail" 
				RITON X OLIVER HELDENS FEAT. V
			 /div 
		
		 div class="playlistControls" 
			 img onclick="SqueezeJS.UI.setProgressCursor();Main.playlist.request('index', 'playlistSong0')" src="/html/images/b_play.gif" width="17" height="17" alt="Wiedergabe" title="Wiedergabe" 
			 img onclick="SqueezeJS.UI.setProgressCursor();Main.playlist.request('delete', 'playlistSong0')" src="/html/images/b_delete.gif" width="17" height="17" alt="Aus Wiedergabeliste entfernen" title="Aus Wiedergabeliste entfernen"  /a 
			 a href="/songinfo.html?item=-130759608&player=b8%3A27%3Aeb%3Afe%3A53%3Ad9" target="browser" class="browseItemLink" 
				 img src="/html/images/b_mmmix.gif" width="17" height="17" alt="Mehr" title="Mehr" 
			 /a 
			 img src="/html/images/spacer.gif" class="nowPlayingIcon"/ 
		 /div 
	 /div 
 /div  /div  /div  /div  /div 

				 div id="offset" style="display:none" 0 /div 
			
		
	 /div 

	
	 div id="playlistTab" class="infoTab" 
		 div id="playlistCommands" 
			 table id="playlistCommandSpacer"  tr 
				 td  span id="btnPlaylistToggleArtwork"  /span  /td 
				 td width="100%" 
				 
				 /td 
 				 td  span id="btnPlaylistSave"  /span  /td 
				 td  span id="btnPlaylistClear"  /span  /td 
			 /tr  /table 
		 /div 
	 /div 
	

 /div 
   /body 
 /html 
Im Beispiel von Power hätte ich hier eine bzw zwei Zeichenfolgen nach denen ich suchen könnt.

Code: Alles auswählen

a target=
Dieser "Schnipsel ist nur vorhanden wenn der Player AUS ist.

Wenn der Player an ist stünde da:

Code: Alles auswählen

target="_top" href="index.html?
Wenn ich also nun in dem ganz oben angegeben script noch etwas einbinden könnte wie:
Suche nach "xxx" und wenn du es findest schreib in die sysvar ON
Wenn Du es nicht findest, suche nach "YYY" und schriebe in die syvar OFF.

Dann wäre das SUPER aber dazu bräuchte ich hilfe beim Script.

Vielen Dank schon jetzt für Eure Hilfe.

Fonzo
Beiträge: 6761
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 492 Mal

Re: Per Script Status von LMS Squeezebox abfragen und Ergebnis auslesen

Beitrag von Fonzo » 04.11.2019, 20:10

schonwiederich hat geschrieben:
04.11.2019, 13:03
(Sollte jemand doch wissen wie man Power, Sync, Volume, Play, Titel etc.... einzeln als Abfragerückmeldung bekommt gerne her damit.)
Da kannst Du Dir z.B. im Quellcode der SqueezeBox Library auf Github anschauen, wie die Dinge einzeln abgefragt und auch geschaltet werden. Wenn Du sämtliche Werte vom LMS auslesen willst, kommen da ein paar tausend Zeilen Code zusammen, da bist Du eine Weile beschäftigt Dir das für die CCU direkt zu adaptieren und zusammen zu schreiben oder Du nutzt halt Projekte die bereits komplett fertig sind und alle Werte vom LMS auslesen und schalten können, das spart Dir eine Menge Arbeit und Du kannst die Squeezebox bzw. LMS dann auch mit Homematic schalten.

schonwiederich
Beiträge: 52
Registriert: 07.10.2016, 13:44
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Per Script Status von LMS Squeezebox abfragen und Ergebnis auslesen

Beitrag von schonwiederich » 04.11.2019, 21:04

Danke für deinen Beitrag. Ich will ja nur ein Dutzend Status. Und die möglichst "einfach" ohne viele Umwege. Also per script in der ccu. Http stösst im script und der Abfrage an Grenzen. Und die cli Etc verstehe ich nicht die sind mir zu hoch. Ich war schon in meiner verzweiflung bereit mir die Daten vom iobroker Modul in die ccu zu holen., auch wieder ein Umweg aber selbst da fehlt dann der Status zu Player sync und der ist sehr wichtig.

Fonzo
Beiträge: 6761
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 492 Mal

Re: Per Script Status von LMS Squeezebox abfragen und Ergebnis auslesen

Beitrag von Fonzo » 05.11.2019, 08:22

schonwiederich hat geschrieben:
04.11.2019, 21:04
Ich will ja nur ein Dutzend Status. Und die möglichst "einfach" ohne viele Umwege. Also per script in der ccu.
Einfach ist das aber eben aus der CCU nicht, denn dann müsstest Du ja um einen aktuellen Status zu haben sekundlich von der CCU einen HTTP Request schicken und auswerten.
schonwiederich hat geschrieben:
04.11.2019, 21:04
Http stösst im script und der Abfrage an Grenzen. Und die cli Etc verstehe ich nicht die sind mir zu hoch.
Die korrekte Ansteuerung und das Auslesen der aktuellen Daten basiert aber auf beiden da wirst um CLI nicht drum rum kommen.
schonwiederich hat geschrieben:
04.11.2019, 21:04
Ich war schon in meiner verzweiflung bereit mir die Daten vom iobroker Modul in die ccu zu holen., auch wieder ein Umweg aber selbst da fehlt dann der Status zu Player sync und der ist sehr wichtig.
Also wenn ist da zumindest ioBroker besser dazu in der Lage als die CCU selber. Falls da der Status fehlt müsste man das dann eher dort ergänzen. Aber warum schaltest Du dann nicht etwas aus ioBroker wenn Du den Status dort vorliegen hast, wozu brauchst Du dann die CCU?
Ansonsten falls das auf dem Weg nicht funktionieren sollte und Du was suchst was einfach ist ohne Umwege und Dir alles abbildet mit dem aktuellen Status kannst Du wie gesagt auch alternativ Dir das SqueezeBox Modul anschauen, das bildet Dir all diese Zustände ab und Du bist synchron mit den Daten zur Squeezebox bzw. LMS und kannst das mit Homematic verknüpfen.

schonwiederich
Beiträge: 52
Registriert: 07.10.2016, 13:44
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Per Script Status von LMS Squeezebox abfragen und Ergebnis auslesen

Beitrag von schonwiederich » 06.11.2019, 08:10

Also wenn ist da zumindest ioBroker besser dazu in der Lage als die CCU selber. Falls da der Status fehlt müsste man das dann eher dort ergänzen. Aber warum schaltest Du dann nicht etwas aus ioBroker wenn Du den Status dort vorliegen hast, wozu brauchst Du dann die CCU?
Ansonsten falls das auf dem Weg nicht funktionieren sollte und Du was suchst was einfach ist ohne Umwege und Dir alles abbildet mit dem aktuellen Status kannst Du wie gesagt auch alternativ Dir das SqueezeBox Modul anschauen, das bildet Dir all diese Zustände ab und Du bist synchron mit den Daten zur Squeezebox bzw. LMS und kannst das mit Homematic verknüpfen.
Also bei IO Broker fehlt die Sync Funktion un dessen Status. Warum ich nicht da schalte? Weil ich mich bei der Hausautomation auf die Kombination von CCU und Mediola verlassen und dafür entschieden habe. Im Sinne der Administration und Komplexität so wie Fehlersuche bei Ausfällen wollte ich so weit möglich diese beiden Systeme belassen. Dabei sollte die CCU alles Steuern was irgendwie über die CCU funktioniert. Und Mediola nur dann Automatisieren wenn es mit der CCU nicht geht. Ein drittes System, wie IO Broker kommt nur dann zum EInsatz wenn sich nach langer recherche über beide Systeme keine eigene Lösung bauen lässt. Auch wenn ich IPS für gut halte , will ich ein 4tes System nicht einbinden.

PS: Um das Schalten an sich geht es auch nicht, ich bekomme alle Schlataktionen bislang auch über die CCU hin, aber das Statusthema ist der Knackpunkt. Mitlerweile habe ich auch schon im LMS Forum erfahren das die Statusabgrage der EInzelwerte mit HTTP nicht möglich ist. Auch dafür müsste man die CLI benutzen und JSON parsen. (Kann die CCU JSON im Script parsen? Hab ich noch nie gesehen) Aber der Automation Manager müsste das können, oder?

Danke und viele Grüße!

Fonzo
Beiträge: 6761
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 492 Mal

Re: Per Script Status von LMS Squeezebox abfragen und Ergebnis auslesen

Beitrag von Fonzo » 06.11.2019, 13:23

schonwiederich hat geschrieben:
06.11.2019, 08:10
Also bei IO Broker fehlt die Sync Funktion un dessen Status. Warum ich nicht da schalte? Weil ich mich bei der Hausautomation auf die Kombination von CCU und Mediola verlassen und dafür entschieden habe.
Ich habe aber noch nicht ganz verstanden um was es Dir im Kern genau geht, willst Du irgendwas automatisieren und brauchst dazu einen Status oder geht es Dir einfach um das Anzeigen der Werte in NEO?

Wenn es Dir ganz simpel nur um das Anzeigen in NEO geht und Du Dir keine Mühe noch Kosten machen willst, dann nimm doch einfach ein Webseitenelement und binde da die Weboberfläche des LMS ein.

Code: Alles auswählen

http://[IP LMS]:9900
schonwiederich hat geschrieben:
06.11.2019, 08:10
Im Sinne der Administration und Komplexität so wie Fehlersuche bei Ausfällen wollte ich so weit möglich diese beiden Systeme belassen. Dabei sollte die CCU alles Steuern was irgendwie über die CCU funktioniert.
Das ist zwar von der Idee her richtig, aber eine CCU ist halt auch nur bedingt für solche Dinge gemacht, primär ist die einfach zum schalten von Homematic gedacht, alles andere muss man dann halt mühsam irgendwie dazu basteln oder mit Add ons ergänzen.
schonwiederich hat geschrieben:
06.11.2019, 08:10
Ein drittes System, wie IO Broker kommt nur dann zum EInsatz wenn sich nach langer recherche über beide Systeme keine eigene Lösung bauen lässt. Auch wenn ich IPS für gut halte , will ich ein 4tes System nicht einbinden.
Auch das ist nachvollziehbar man sollte nicht zu viele Systeme nutzten, sonst verliert man den Überblick. Im Bezug auf NEO kannst Du beide Systeme einbinden, der einzige Unterschied ist das IP-Symcon offiziell unterstützt wird und Support hat, dafür ist das auch ein kostenpflichtiges NEO Plugin. Bei ioBroker hast Du mit dem passenden NEO Plugin keine Funktionszusicherung und Support, dafür kostet das selber nichts als Plugin und ist für 1 € Abwicklungspauschale zu haben. Wenn Du denn selber Javascript kannst würde ich Dir dennoch empfehlen den Status einfach in ioBroker zu ergänzen und dann das in NEO anzuzeigen, als sich auf der CCU selber zu versuchen etwas zurecht zu schreiben.
schonwiederich hat geschrieben:
06.11.2019, 08:10
aber das Statusthema ist der Knackpunkt. Mittlerweile habe ich auch schon im LMS Forum erfahren das die Statusabfrage der EInzelwerte mit HTTP nicht möglich ist.
Genau das ist das was ich gesagt habe, wenn Du diese Werte haben willst, wirst um CLI nicht drum rum kommen. Und das setzt dann wiederum voraus das Du entweder Dich damit intensiv beschäftigst um etwas für die CCU schreiben zu können oder aber Du nutzt bereits existierende Lösungen die CLI nutzten und in Mediola bzw. NEO eingebunden werden können.

Mit IP-Symcon und NEO sieht das z.B. so aus
squeezebox1.png
damit bekommst Du die Werte die Du suchst angezeigt.
schonwiederich hat geschrieben:
06.11.2019, 08:10
Auch dafür müsste man die CLI benutzen und JSON parsen. (Kann die CCU JSON im Script parsen? Hab ich noch nie gesehen) Aber der Automation Manager müsste das können, oder?
Beides ist möglich mit entsprechenden Add Ons auf der CCU kannst Du auch JSON auf der CCU selber parsen. Ich persönlich bin und werde aber niemals ein Fan der proprietären Homematic Script Sprache werden um auch solche Dinge dort irgendwie lösen zu können. Aber es gibt hier genügend langjährige Nutzer mit Erfahrung in der Skriptspache der CCU selber. Letztlich musst Du aber so was wohl selber schreiben und kannst höchstens auf Unterstützung bei Fragen hoffen, Dich dann in die CLI einzulesen und zu schauen wie man das mit der CCU alleine löst wird Dir niemand komplett abnehmen. Der NEO Automation Manager kann das, der nutzt ja Javascript, wenn Du also selber in der Lage bist etwas in Javascript zu schreiben, kannst Du dazu auch den NEO Automation Manager nutzten.
Alles im allen musst Du dich halt entscheiden wie wichtig Dir das ist und ob Du die Zeit aufwenden willst das selbstständig mit der CCU zu lösen, die Alternative wäre halt einmalig noch mal Geld auszugeben, dann kannst Du solche Dinge über das NEO Plugin IP-Symcon in NEO einzeln ansteuern und visualisieren und das dann auch für weitere Dinge zur Automatisierung nutzen.
Alternativ kannst Du auch einfach kostenlose Systeme wie openHAB nutzten, da musst Du auch nichts selber schreiben und bekommst die Werte alle angezeigt, ist dann nun komplexer das in NEO anzuzeigen, weil es dafür kein NEO Plugin gibt, da musst Du dann zwangsläufig über ein Webseitenelement gehen.

Benutzeravatar
Black
Beiträge: 5500
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 425 Mal
Danksagung erhalten: 1082 Mal
Kontaktdaten:

Re: Per Script Status von LMS Squeezebox abfragen und Ergebnis auslesen

Beitrag von Black » 06.11.2019, 20:02

Eine Raspberrymatik kann von sich aus mit JSON umgehen.

Dort ist jq vorhaden und damit lässt sich JSON eigentlich gut parsen.
(IObroker kennst du ja schon, im gegensatz zu der wahrscheinlich vorhin wiedermal berworbenen Alternative kostenlos, und auch dort im Javascript Adapter via var Jobj= JSON.parse (DeinString);

Aber zurück zu JQ.

hier gibts eine nette Seite, auf der ich auch immer mal schnell den Filterbegriff teste:

https://jqplay.org/

Dort könntest du links dein JSON reinladen als Antwort und probiert oben den Filterstring, das Ergebnis siehst du direkt online. Hast du den Filterstring, kopeiren und in dein Script setzen

Du kannst auch direkt curl Seitenaufrufe reinsetzen

Beispiele sind hier:

https://medium.com/how-tos-for-coders/h ... a8a05cd79b

Damit solltest eigentlich mit den CCU Boardmitteln und bisschen HMScript ohne teure zusätzliche Lösungen mit deinen vorhandenen Systemen zu einem Ergebnis kommen.


Gruss, Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Fonzo
Beiträge: 6761
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 492 Mal

Re: Per Script Status von LMS Squeezebox abfragen und Ergebnis auslesen

Beitrag von Fonzo » 06.11.2019, 20:36

Black hat geschrieben:
06.11.2019, 20:02
Du kannst auch direkt curl Seitenaufrufe reinsetzen
Das bringt ihm nur nichts, denn die Daten, die er empfangen will, lassen sich nicht per HTTP bzw. curl abholen, was er braucht ist ein Clientsocket auf Port 9090, der die Daten des LMS entgegennimmt. Das was der LMS auf Port 9090 sendet, ist auch kein JSON.

schonwiederich
Beiträge: 52
Registriert: 07.10.2016, 13:44
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Per Script Status von LMS Squeezebox abfragen und Ergebnis auslesen

Beitrag von schonwiederich » 21.11.2019, 12:47

Soooooooooooooooooooooooooo !
Geschafft, was ich bis hierhin wollte.

Also: Erstmal Danke an Fonzo für die Antworten!
Kosten Mühe hab ich schon investiert. Für Meine LMS Steuerung bisher sicher 3 Wochen Arbeit.
Danke Black ! Diene Hinweise werde ich sicher nochmal benutzen. Für den aktuellen Einsatzzweck bei LMS habe ich mich für einen anderen Weg entscheiden.

1. Ich habe inzwischen herausgefunden das es noch einen anderen LMS Adapter für IOB gibt als den, den ich bisher im Einsatz hatte.
Nämlich: https://github.com/oweitman/ioBroker.squeezeboxrpc
Der ist wesentlich umfangreicher (meiner Meinung nach).

2. Also habe ich den Adapter eingerichtet und alle Funktionen die ich so haben wollte im AIO Creator mit Befehlen und Statusrückmeldungen der Datenpunkte des LMS Adapters eingerichtet. Alles getestet - funzt - glücklich.

3. Auf Tablet (Android) geladen = Unglücklich = Überall nur "?" bei den Statusrückmeldungen.
Gegoogelt und festgestellt das dies ein Fehler ist den Mediola nicht reproduzieren und beheben kann. Denn er kommt nur auf Andorid Geräten vor und
wohl dort auch nicht bei allen. (Wenn es darum geht Statusrückmeldungen aus IOBroker anzuzeigen)

4. Also was tun? Ich habe dann CCU Variablen angelegt für die Statusfelder die ich brauchte. Dann Blockly Skripte im IOBroker geschrieben.
Die Script füllen dann bei Änderung des Datenpunktes aus dem LMS Adapter die entsprechenden CCU Variablen.

5. In Mediola liegen nun auf den Buttons die IOBroker LMS Adapter Befehle und als Statusgrafik die CCU Variablen.

Nicht die schönste Lösung, aber für mich und meine Kenntnisse die einzige die bisher funktioniert wie ich es will.
LMS.PNG
Nochmal danke und viele Grüße!

Fonzo
Beiträge: 6761
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 492 Mal

Re: Per Script Status von LMS Squeezebox abfragen und Ergebnis auslesen

Beitrag von Fonzo » 21.11.2019, 16:26

schonwiederich hat geschrieben:
21.11.2019, 12:47
5. In Mediola liegen nun auf den Buttons die IOBroker LMS Adapter Befehle und als Statusgrafik die CCU Variablen.

Nicht die schönste Lösung, aber für mich und meine Kenntnisse die einzige die bisher funktioniert wie ich es will.
Hauptsache es funktioniert, auch wenn das ein wenig umständlich ist mit dem Umweg über Systemvariablen. Das NEO Plugin ioBrocker ist leider unsupported, dafür ja aber ohne Kosten für eine NEO Plugin Lizenz. Daher gibt es da wohl an der ein oder anderen Stelle Probleme in NEO und man wird zu solchen Umwegen gezwungen. Aber nichts desto trotz kann man das ja mit Umwegen dann kostengünstig lösen. Warum sich Mediola aber überhaupt die Mühe gemacht hat ein separates NEO Plugin zu erstellen, wenn man dies dann am Schluss weder verkauft noch supported und eine Funktionszusicherung für NEO gibt, bleibt mir persönlich immer noch ein Rätsel. Wenn Du das ohne den Umweg über die CCU und Systemvariablen in NEO anzeigen lassen willst, geht das auch unter Android mit Statusrückmeldung über das NEO Plugin IP-Symcon zu lösen. Das kostet aber halt auch Geld, hat dafür aber halt offiziellen Support als NEO Plugin.
Am Schluss ist ja nur wichtig das es so funktioniert wie Du das Dir wünscht, auch wenn es Zeit und Workarrounds gekostet hat, dies in NEO einzurichten.

Antworten

Zurück zu „HomeMatic allgemein“