Willkommen auf unserer neuen Forenplattform für das Bus-Profi Forum

Neue Felder für die persönlichen Daten
Man kann jetzt seine öffentlich einsehbare Daten genau bestimmen. Details findet ihr in in diesem Beitrag.

Durch die neue Forensoftware und die Portierung der Daten konnten die Passwörter aus dem alten Forum nicht übernommen werden, bitte lassen Sie sich ein neues Passwort über die Passwort vergessen Funktion zusenden. Sollte es zu Problemen kommen kontaktieren Sie das Bus-Profi Team per E-Mail.

Squeezebox über Cli steuern mit der Base

Hard- und Softwarefragen rund Domiq-Module fürs LCN-System

Themenersteller
koboldo
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 324
Registriert: Do 16. Feb 2012, 15:50
Hat sich bedankt: 7 Mal

#1 Squeezebox über Cli steuern mit der Base

Beitragvon koboldo » Do 12. Dez 2013, 10:36

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 :lol:

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 :cry: :cry: :cry:
Jemand eine Idee ?
Dateianhänge
5530612.jpg
5530612.jpg (30.68 KiB) 2811 mal betrachtet

Benutzeravatar

Beleuchtfix
Administrator
Administrator
Beiträge: 5302
Registriert: Mi 10. Jan 2007, 18:49
Hat sich bedankt: 4 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

#2 RE: Squeezebox über Cli steuern mit der Base

Beitragvon Beleuchtfix » Do 12. Dez 2013, 12:03

Moin Jörg

Code: Alles auswählen

squeezecli = use 'TCP.send.192.168.1.37:9090'
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:

Code: Alles auswählen

squeezecli = 'TCP.send.192.168.1.37:9090'

Genaues kann ich allerdings nicht sagen, da ich das so noch nie benutzt habe.

Viel Erfolg
Florian


Themenersteller
koboldo
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 324
Registriert: Do 16. Feb 2012, 15:50
Hat sich bedankt: 7 Mal

#3 RE: Squeezebox über Cli steuern mit der Base

Beitragvon koboldo » Do 12. Dez 2013, 15:02

Moin Flo,
nee das geht so :)

Ich hatte da mehr so den Denkfehler beim Senden der Taste aus der Pro :blush: :blush: :blush:

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

Code: Alles auswählen

C.LOGIC
squeezebad("00:04:20:2b:8f:3e power")



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


Code: Alles auswählen

C.LOGIC
squeezebad("power")


Mark
Mitglied
Mitglied
Beiträge: 49
Registriert: Mo 21. Okt 2013, 12:20
Hat sich bedankt: 1 Mal

#4 RE: Squeezebox über Cli steuern mit der Base

Beitragvon Mark » Fr 13. Dez 2013, 09:15

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:

Code: Alles auswählen

C.LOGIC
squeezebad("00:04:20:2b:8f:3e power")


Die MAC wird durch deine Variable ersetzt, somit müsste es ungefähr so aussehen

Code: Alles auswählen

C.LOGIC
squeezebad("squeezeboxbad power")

Wobei ich mir nicht sicher bin wie es sich mit den Anführungszeichen verhält! Evtl. müssen die noch angepasst werden...

Code: Alles auswählen

C.LOGIC
squeezebad(squeezeboxbad + "power")

oder so..

Hoffe das hilft dir weiter

Gruß
Mark


Themenersteller
koboldo
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 324
Registriert: Do 16. Feb 2012, 15:50
Hat sich bedankt: 7 Mal

#5 RE: Squeezebox über Cli steuern mit der Base

Beitragvon koboldo » Mo 16. Dez 2013, 14:12

Das mit der Variablen Verkettung hat leider irgendwie nicht funktioniert :cry:

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:

Code: Alles auswählen

C.LOGIC
squeezebad("mixer volume 15")


Und brauche mir über die MAC-Adressen etc. keine Gedanken machen :D


DOMIQ-Support
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 291
Registriert: Fr 7. Jun 2013, 09:59
Danksagung erhalten: 1 Mal
Kontaktdaten:

#6 RE: Squeezebox über Cli steuern mit der Base

Beitragvon DOMIQ-Support » Mo 16. Dez 2013, 14:19

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").


Themenersteller
koboldo
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 324
Registriert: Do 16. Feb 2012, 15:50
Hat sich bedankt: 7 Mal

#7 RE: Squeezebox über Cli steuern mit der Base

Beitragvon koboldo » Mo 16. Dez 2013, 14:28

Thanks for your replie....

But mine works also now :lol:

Code: Alles auswählen

function squeezebad(_wert)
   squeezecli:set("00:04:20:2b:8f:3e ".._wert.."\r")
end


Code: Alles auswählen

C.LOGIC
squeezebad("mixer volume 15")


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....


mr_claus
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 485
Registriert: Do 29. Dez 2011, 21:47
Danksagung erhalten: 4 Mal

#8 RE: Squeezebox über Cli steuern mit der Base

Beitragvon mr_claus » So 22. Dez 2013, 16:31

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.


mr_claus
Fleißiges Mitglied
Fleißiges Mitglied
Beiträge: 485
Registriert: Do 29. Dez 2011, 21:47
Danksagung erhalten: 4 Mal

#9 RE: Squeezebox über Cli steuern mit der Base

Beitragvon mr_claus » So 22. Dez 2013, 16:45

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.

Benutzeravatar

Thomas
Alleswisser
Alleswisser
Beiträge: 5743
Registriert: Mo 21. Apr 2008, 20:03
Hat sich bedankt: 20 Mal
Danksagung erhalten: 13 Mal

#10 RE: Squeezebox über Cli steuern mit der Base

Beitragvon Thomas » So 22. Dez 2013, 16:52

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
lg Thomas


Zurück zu „Domiq-Module - DOMIQ Sp. z o.o.“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste