Seite 1 von 1
#1 Squeezebox über Cli steuern mit der Base
Verfasst: Do 12. Dez 2013, 10:36
von koboldo
Moin....
ich versuche gerade den Squeezeboxserver über die Cli des Servers zu steuern.....
Funktionieren tut es normaler weise über mit telnet 192.168.1.37:9090
dort dann z.B. " power" eingeben. Das führt jedesmal ein Power Toggle aus.
Das funktioniert auch
Aber nun soll das ganze ja ins Base integriert werden....
Ich habe im Logic folgendes eingetragen:
Code: Alles auswählen
-- ************************
-- * Squeezebox Steuerung *
-- ************************
squeezecli = use 'TCP.send.192.168.1.37:9090'
function squeezebad(_wert)
squeezecli:set(_wert .. "\r")
end
Diesen rufe ich dann durch einen Event auf (siehe 2.jpg)
Leider funktioniert es aber nicht
Jemand eine Idee ?
#2 RE: Squeezebox über Cli steuern mit der Base
Verfasst: Do 12. Dez 2013, 12:03
von Beleuchtfix
Moin Jörg
heißt, dass du die
Variable TCP.send.192.168.1.37:9090 benutzt. Schau mal unter
Zustand, was diese Variable enthält, wenn du sie nicht findest, ist sie leer, vielleicht darf der Doppelpunkt auch gar nicht im Variable Namen verwendet werden.
Nach meiner Meinung willst du schreiben:
Genaues kann ich allerdings nicht sagen, da ich das so noch nie benutzt habe.
Viel Erfolg
Florian
#3 RE: Squeezebox über Cli steuern mit der Base
Verfasst: Do 12. Dez 2013, 15:02
von koboldo
Moin Flo,
nee das geht so
Ich hatte da mehr so den Denkfehler beim Senden der Taste aus der Pro
So, für alle die es auch mal benutzen wollen hier noch mal der Code, mit dem es funktioniert:
Code: Alles auswählen
-- ************************
-- * Squeezebox Steuerung *
-- ************************
squeezecli = use 'TCP.send.192.168.178.37:9090'
function squeezebad(_wert)
squeezecli:set(_wert.."\r")
end
In den Events starte ich das ganze dann z.B. mit dem Befehl
Jetzt würde ich das ganze aber noch gerne verfeinern, damit ich nicht jedes mal die Mac-Adresse eingeben muss....
Somit würde ich die Mac-Adressen gerne als Variable hinterlegen und z.B. mit dem power Befehl verknüpfen...
Da bin ich aber bisher gescheitert.
Variable setzen klappt soweit noch mit:
set ('squeezeboxbad','00:04:20:2b:8f:3e')
Wenn ich das ganze aber dann in den Befehl bringen will, klappt nichts mehr....
z.B. so:
Code: Alles auswählen
squeezecli = use 'TCP.send.192.168.178.37:9090'
function squeezebad(_wert)
squeezecli:set(squeezeboxbad.." ".._wert.."\r")
end
#4 RE: Squeezebox über Cli steuern mit der Base
Verfasst: Fr 13. Dez 2013, 09:15
von Mark
Hey,
habe noch lange keine base, das dauert noch, von daher kann ich dir nur nen hoffentlich logischen Tip geben (zumindest wie es für mich den Anschein hat):
Im Endeffekt ändert sich an deinem Funktionsaufruf ja nichts, somit sollte das
Code: Alles auswählen
-- ************************
-- * Squeezebox Steuerung *
-- ************************
squeezecli = use 'TCP.send.192.168.178.37:9090'
function squeezebad(_wert)
squeezecli:set(_wert.."\r")
end
unangetastet bleiben! Was sich hingegen ändert ist das hier:
Die MAC wird durch deine Variable ersetzt, somit müsste es ungefähr so aussehen
Wobei ich mir nicht sicher bin wie es sich mit den Anführungszeichen verhält! Evtl. müssen die noch angepasst werden...
oder so..
Hoffe das hilft dir weiter
Gruß
Mark
#5 RE: Squeezebox über Cli steuern mit der Base
Verfasst: Mo 16. Dez 2013, 14:12
von koboldo
Das mit der Variablen Verkettung hat leider irgendwie nicht funktioniert
Habe das jetzt anders gelöst...
Code: Alles auswählen
function squeezebad(_wert)
squeezecli:set("00:04:20:2b:8f:3e ".._wert.."\r")
end
So geht´s
So kann ich jetzt schön unter Events die Boxen steuern mit z.B:
Und brauche mir über die MAC-Adressen etc. keine Gedanken machen

#6 RE: Squeezebox über Cli steuern mit der Base
Verfasst: Mo 16. Dez 2013, 14:19
von DOMIQ-Support
The code should be as follows:
Code: Alles auswählen
function squezzbad(value)
command('C.TCP.send.192.168.178.37:9090',value)
end
And if you want to invoke this function from an event or timer etc., use C.LOGIC in the Channel field and squezzbad(value) in the Value. Value can be any (as a string). For examle C.LOGIC=squezzbad("00:04:20:2b:8f:3e power").
#7 RE: Squeezebox über Cli steuern mit der Base
Verfasst: Mo 16. Dez 2013, 14:28
von koboldo
Thanks for your replie....
But mine works also now
Code: Alles auswählen
function squeezebad(_wert)
squeezecli:set("00:04:20:2b:8f:3e ".._wert.."\r")
end
What I tried was to connect variables...
Like this:
Code: Alles auswählen
set ('squeezeboxbad','00:04:20:2b:8f:3e')
squeezecli = use 'TCP.send.192.168.178.37:9090'
function squeezebad(_wert)
squeezecli:set(squeezeboxbad.." ".._wert.."\r")
end
But that doesn´t work....
#8 RE: Squeezebox über Cli steuern mit der Base
Verfasst: So 22. Dez 2013, 16:31
von mr_claus
Funktioniert grundsätzlich, wie bekommt man aber Informationen aus dem Squeezeboxserver? Es wäre doch ganz nett den String " title ?" abzusetzen, den Rückgabewert zu speichern und danach als Lauftext über ein GT4D zu schubsen. Allerdings finde ich in der Domiq Doku lediglich Informationen darüber wie man TCP absetzt, aber nicht wie man mit Ergebnissen der Antwortpakete umgeht.
#9 RE: Squeezebox über Cli steuern mit der Base
Verfasst: So 22. Dez 2013, 16:45
von mr_claus
Noch ein kleiner Nachtrag, man könnte diese Informationen vom Squeezeboxserver aus ins Base schicken über Port 4224, eine andere Möglichkeit sehe ich aktuell nicht.
#10 RE: Squeezebox über Cli steuern mit der Base
Verfasst: So 22. Dez 2013, 16:52
von Thomas
Jupp Klaus,
einen TEXT an das BASE senden (4224)
von Mobotix geht das auch.
z.B. MOBOTIX.event.t24=$(EVT.EST.ACTIVATED)
Dabei kann man per EVENT : -LOGIC anhand der VAR $(EVT.EST.ACTIVATED), weitermachen.
lg thomas