RGB Wlan Controller in IPS einbinden

geht er denn immer noch mit der freecolor.apk?
wenn ja, dann müsste es auch mit der echo-sequenz gehen.
bucht er sich denn bei umschaltung auch korrekt in dein bestehendes wlan ein? kannst du ihn dann pingen?
ich konnte das erst, nachdem ich meine bestands-wlan-verschluesselung auf aes umgestellt hatte …

Nein!

Im Auslieferungszustand funktioniert er mit der Freecolour App.
Sobald ich ihn dann mit der Magic Colour App auf das Wlan einstelle funktioniert der Zugriff
mit Freecolour nicht mehr. Die MAgic Colour App findet dann einen nicht identifizierbaren Controller.

Pingen und Web Oberfläche funktionieren natürlich. Sonst hätte ich ja gar nicht weiter gemacht :wink:

Vielleicht sollte ich erwähnen…

Ich mache die Einstellungen nicht mit Android sondern IOS
Aber die Apps sollten ähnlich sein !?

Ist bei mir auch alles so. allerdings unter android.
die magic-colour-app findet auch einen „nicht-identifizierbaren“-controller.
ich habe damit dann nicht weiter gemacht.

die freecolor.apk klappt nur, solange man im hx001-wlan des controller ist. ist bei mir auch so.
ich habe in die sourcen geguckt. das ist leider so gemacht. da müsste mal ein fähiger java-programmer
diese abfrage nach dem wlan-namen rausnehmen und neu kompilieren…

wenn man den controller dann aber in das eigene wlan-netz gebracht hat, und man pingen kann und das webinterface erreichen kann, dann sollte z.bsp. das farbwählen mit den echo-sequenzen gehen…
geht bei mir …

ich mache aber weiter nichts mit dem ip-symcon plugin, aktualisierte sourcen vom plugin sind ein paar postings vorher hier reingestellt. darin finden sich aber auch die echo-sequenzen. d.h. dass muss eigentlich gehen …

@DownLord

die geposteten Protokoll-Schnippsel zeigten wohl den Aufbau des Protokoll-Arrays. Aber nicht die richtige sende-reihenfolge, oder? Der gesendete String scheint davon aber etwas unterschiedlich. sonst wäre byte nummer sechs für an/aus zuständig gewesen, ist aber byte siebzehn. Kann man den Stringaufbau aufschluesseln, gibts dazu mehr Informationen, wie der Sende-String aufgebaut sein muss?
Ich habe leider kaum Programmierkenntnisse und kann auch mit den anderen Schnipsel zum Senden nix anfangen. Versteht das jemand oder kann man hier noch etwas mehr Licht in die Funktionen der Sende-bytes bringen?

-> http://pastebin.com/eqwaCCNn

so, mal zusammengetragen was ich so gesehen habe zum protokollaufbau. ist sicher nicht ganz richtig, aber vielleicht mal ein anfang? Welche Wertebereiche sind jeweils möglich? hmmm…

Es scheint so zu sein, dass man RGB oder EFFEKT einstellen kann und die je anderen Werten werden genullt?


01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20| Nummer,20byte
9D|62|0D|00|00|00|60|F0|70|00|00|00|00|50|F0|40|10|10|10|0B| Sample-String
--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--| Funktionen
^^| MessageHead1, fix (hex 9D) ?
--|^^| MessageHead2, fix (dez:98,hex62)
--|--|^^| Product (-)?
--|--|--|^^| Product-Mode (-)?
--|--|--|--|^^| Static_dynamic (-)?
--|--|--|--|--|^^| (-)?
--|--|--|--|--|--|^^| Brightness (0-255,hex:00-FF)?
--|--|--|--|--|--|--|^^| Red (0-255,hex:00-FF)?
--|--|--|--|--|--|--|--|^^|Green (0-255,hex:00-FF)?
--|--|--|--|--|--|--|--|--|^^|Blue (0-255,hex:00-FF)?
--|--|--|--|--|--|--|--|--|--|^^| Speed (-)?
--|--|--|--|--|--|--|--|--|--|--|^^| Pause (-)?
--|--|--|--|--|--|--|--|--|--|--|--|^^| Programm-Nr/Dynamic-Mode-No (-)?
--|--|--|--|--|--|--|--|--|--|--|--|--|^^| Effekt-Nr (-)?
--|--|--|--|--|--|--|--|--|--|--|--|--|--|^^| Controller (-)?
--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|^^| RGB_sort (-)?
--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|^^| An/Aus (dez:15,0 hex 10/00) ?
--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|^^| (-)?
--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|^^| Reserve (-)?
--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|^^| Checksum (-)?

getStatus
0000000000000000000000000000000000000000

war eigentlich guter Dinge, dass ich den sende-string entschlüsselt bekomme, (aber irgendwie werden da bytes getausch im protokoll, ich bin überfordert ;-( ) und habe gleich mal zwei controller nachbestellt. sehen von aussen genauso aus, sind aber von innen anders aufgebaut. muss gleich mal testen, ob die trotzdem mit dem echo-string funktionieren…

@drapple, @DownLord
alt vs neu, funktionierende Echo-string ?

Hi,
mein erster Controller war nach DownLords angaben wohl ein ‚alter‘ (Hx001-Wlan,Port:5000,user:admin,pwd:leer,freecolor.apk geht), sein echo-string zum steuern funktioniert bei mir (einigermassen).
mein neuer controller scheint ein ‚neuer‘ zu sein, (LEDxxx-Wlan,Port:5577,User:admin,pwd:nimda,MagicColorv2.apk geht), es müssten das von drapple gepostete Script im ip-symcon funktionieren. Leider bräuchte ich einen echo-string und tue mich etwas schwer die genaue Syntax an Ende des Scipts vom ersten Post richtig zu erkennen. Kann mir da jemand helfen, welche hex-werte für welche funktion zu senden sind? Ich habe das im Script gefunden:

CSCK_SendText($modul  , "@§@xbb@§@x30@§@x01@§@x44");
ips_sleep(500);
//CSCK_SendText($modul  , "@§@x17@§@x03@§@x01@§@x00@§@x20@§@xba@§@x7e@§@x6e@§@x53@§@x91@§@x09@§@x45@§@x3c@§@xb1@§@x4e@§@xe1@§@x6e@§@xac@§@x0a@§@xe9@§@xd3@§@x3b@§@xba@§@xac@§@x99@§@xc2@§@x37@§@xe9@§@x4a@§@xac@§@x8f@§@xb7@§@xc0@§@x14@§@x33@§@x08@§@x49"); //LED an
CSCK_SendText($modul  , "@§@xbb@§@x31@§@x01@§@x44");
ips_sleep(500);
CSCK_SendText($modul  , "@§@xbb@§@x32@§@x01@§@x44");
ips_sleep(500);
CSCK_SendText($modul  , "@§@xbb@§@x34@§@x01@§@x44");
ips_sleep(500);


//CSCK_SendText($modul  , "@§@x56@§@x3d@§@x3d@§@x3d@§@xaa@§@x56@§@x3f@§@x3f@§@x3f@§@xaa@§@x56@§@x43@§@x43@§@x43@§@xaa"); //LED an

?>

aber ich zweifel noch, ob ich damit den Controller per echo-String und hex-werten wirklich steuern kann. Welches Byte ist für was zuständig? Wie kam das Modul zustanden? Kann mir jemand die Infos zukommen lassen, um selbst echo-strings zu bauen?

Ich habe einen Wireshark-dump, aber noch bin ich nicht wirklich auf die Funktionen der einzelnen Bytes gekommen…

Hilfe …?

danke und gruss,
toz

Also ich hab von derartiger Programmierung keine Ahnung :frowning:

Habe das Thema auch et acta gelegt, da es mit den LEDXXX Modulen bereits bei mir gelöst ist!

#!/bin/bash

AUTHOR="Helge@Laurisch.net"
COPYRIGHT="Copyright (C) 2014 ${AUTHOR}"
BASEURL="www.acumenec.de"
CONTACT="office@acumenec.de"
MYSELF="${0##*/}"

# help text

function usage () { # exitcode
   echo "LW12 commandline control"
   echo "Invocation: $MYSELF [PARAMETER] IP [PORT]"
   echo "Parameters:"
   echo "-r : red value (0-255)"
   echo "-g : green value (0-255)"
   echo "-b : blue value (0-255)"
   echo "-p : program id (0-31)"
   echo "-e : effect id (0-5)"
   echo "-s : speed (0-31)"   
   echo "-w : pause [0|1]"   
   echo "-l : level (0-255)"   
   echo "-q : query"   
   if [[ -z $1 ]]; then
      exit 0
   else
      exit $1
   fi
}

to_hex(){
return $(printf'%02x' $1)
}

to_dec(){
return $((0x$1))
}

to_byte() {
printf '\\x%x' $1
}


to_two_byte() {
printf '\\x%02x' $1
}

speed_to_two_byte() {
spd=$(printf '%02x' $1)
echo '\x0'${spd:0:1}'\x'${spd:1:1}
}
RED=$(to_two_byte 0)
GREEN=$(to_two_byte 0)
BLUE=$(to_two_byte 0)
PAUSE=0
SPEED=$(speed_to_two_byte 0)
EFFECT=$(to_two_byte 0)
PROGRAM=$(to_two_byte 0)
LEVEL=$(to_two_byte 0)
QUERY=0
while getopts "r:g:b:p:e:s:l:w:q" opt
do case "$opt" in
   r) RED=$(to_two_byte $OPTARG);;
   g) GREEN=$(to_two_byte $OPTARG);;
   b) BLUE=$(to_two_byte $OPTARG);;
   e) EFFECT=$(to_two_byte $OPTARG);;
   p) PROGRAM=$(to_two_byte $OPTARG);;
   w) PAUSE=$OPTARG;;
   s) SPEED=$(speed_to_two_byte $OPTARG);;
   l) LEVEL=$(to_two_byte $OPTARG);;
   q) QUERY=1;;
   \?) echo "Unknown option \"-$OPTARG\"."
         usage 1;;
   :) echo "Option \"-$OPTARG\" requires an argument."
         usage 1;;
    esac
done
shift $(($OPTIND - 1))
IP=$1
PORT=${2-5000}

if [[ "$IP" == "" || "$PORT" == "" ]];then
    usage
fi

echo  "RED:     ${RED}"
echo  "GREEN:   ${GREEN}"
echo  "BLUE:    ${BLUE}"
echo  "SPEED:   ${SPEED}${PAUSE}"
echo  "PROGRAM: ${PROGRAM}"
echo  "EFFECT:  ${EFFECT}"
echo  "IP:      ${IP}"
echo  "PORT:    ${PORT}"
echo  "QUERY:   ${QUERY}"

#$command = '9D620600000060' . $hexrgb . '0000F000004010101006';
if [[ "$PROGRAM" == "\x00" ]];then
    command="\x9D\x62\x02\x00\x00\x00\x00${RED}${GREEN}${BLUE}${SPEED}${PAUSE}${PROGRAM}${EFFECT}\x00${LEVEL}\x10\x10\x10\x08"
else
    command="\x9D\x62\x02\x00\x00\x00\x00${RED}${GREEN}${BLUE}${SPEED}${PAUSE}${PROGRAM}${EFFECT}\x00${LEVEL}\x10\x20\x10\x01"
fi

# not working
if [[ "$QUERY" == "1" ]];then
    command="\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
fi
echo "COMMAND: $command"
echo "sending ..."
echo -ne "$command" | socat tcp-connect:${IP}:${PORT} -


Script aktualisiert

grüße…

hat es denn jetzt eigentlich mal jemand geschafft die Dimm (Brightness) funktion in das Script des ersten Postes zu implementieren ?

Bye

gmop

Hallo zusammen,

ich habe mir bei banggood ebenfalls den Controller (http://www.ip-symcon.de/forum/attachment.php?attachmentid=27354&d=1415693780) für meine Stripes bestellt. Stripes angeschlossen und im Moment blinkt alles.

Firmware ist ebenfalls die 4.02.10.hx08. Kann per iPhone und MagicColour v.2.0.1 auf das Gerät finden und es einstellen z.B. auf den „W-Lan über bestehenden AP“ - Modus, wenn ich dann aber z.B. das Passwort ändern will stürzt die App ab. Zudem - und das ist das eigentliche Problem - sehe ich nur die Einstellungsseite, auf das Gerät zugreifen kann ich nicht, Meldung „Unbekannte Steuerung - connection failed, tap to try re-connection or reset the device“.

Hat jdm. schon eine neuere Firmware für das Gerät gefunden?

// edit: habe gerade den Port auf 5577 gestellt, nun sieht man in der App wenigstens das das Gerät gesucht wird. Nach 5 Sekunden dann aber ebenfalls die Meldung oben.

hi,
probier mal die freecolor.apk unter ANDROID (handy/tablet ausleihen) und guck ob die klappt…
denke, dein controller wird mit dieser gehen. hatte auch zwei unterschiedliche controller, von aussen nicht zu unterscheiden… (ist auch auf seiten 6/7 diskutiert…)

vg,
toz

@ downlord
Super script für die „alten“ Controller. Danke. ich hab’ ja einen…
aber ich hab’ auch einen „neuen“, und da klappt das mit mir und dem licht irgendwie nicht.
leider bin ich zu ungelernt im programmieren, und mein studium der codezeilen vom plugin für die „neuen“ controller bringt mich nur dazu diese sequenzen darin zu erkennen:


"\x56\x3d\x3d\x3d\xaa\
 "\x56\x7c\x00\x01\xaa"); //LED an
 
"\xcc\x20\x33\x44"); // Programm stoppen/aus
"\xcc\x21\x33\x44"); // Programm starten
"\xcc\x21\x33"); //LED an
"\xcc\x23\x33"); //LED an
"\xcc\x24\x33"); //LED aus
"\xcc\x24\x33"); //LED aus

aber es reicht offensichtlich nicht, diese einfach nur an den controller zu senden. HILFEEE… :confused::confused::confused:
vielleicht kannst du mir einen kleinen hinweis geben, wie man das senden muss?
zumindes an/aus wäre SUUUUPER :rolleyes: :rolleyes: :rolleyes:

wenn ich mit dem script für die „alten“ ein query mache, dann kommt das:


./led.sh -q 192.168.14.51 5577
RED:     \x00
GREEN:   \x00
BLUE:    \x00
SPEED:   \x00\x00
PROGRAM: \x00
EFFECT:  \x00
IP:      192.168.14.51
PORT:    5577
QUERY:   1
COMMAND: \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
sending ...

allerdings: Was dann? Selbst wenn es ein „alter“ wäre…?
Ansonsten wirklich danke für das Script, ich zumindest kann damit auf die „alten“ losgehen …
würde mich über eine hilfestellung wirklich freuen …:smiley:


(irgendwie hab ich auch keine posting-benachtigiung bekommen … ich muss da mal gucken, will ja keine info verpassen … ;))

Musikmodus ?

Danke für eure Arbeit und den Biss ,alles von Hand aufzuschlüsseln und in php zuverpacken.
Bin jetzt auch ,seit kurzem Besitzer des neuen Controllers. " Einen alten Ledxx besitze ich schon 1 ca Monat "

was mir jetzt bei der iPhone App gefällt ist der Musik Modus ,ich finde das gelungen umgesetzt aber leider nutze ich Squeezeboxen für die Audioausgabe
" also nicht über AirPlay in meinen iPhone unter AirPlay Empfänger "

über die App von synology

DS Audio

. da bekomme ich jede box als Abspielgerät .

Hat jemand eine Idee zum Lösungsansatz ? Die als AirPlay Gerät einzubinden ?

Gruß Jens nrw

Sent from my iPad using Tapatalk

na, es bleibt mir ja nichts anderes. ich muss mir wohl selber helfen. klarer fall hier, ich war zu unklug, aber es wollte mir ja auch keiner aufs pferd helfen, was? na denn: die hex-sequenzen aus meiner frage im posting kann man natürlich per echo an den Controller senden! so wie sie im IPS-Script von Beitrag 1 und später dann noch mal in der angepassten version klar zu lesen sind.

man muss nur aufpassen und die syntax von echo beachten! googel mal kurz, und es heisst:


echo -e    -->      Enable interpretation of the following backslash-escaped characters in each STRING:

    \a          alert (bell)
...
    \xnnn
          the character whose ASCII code is the hexadecimal value 
          nnn (one to three digits)

Also einfach die genannten Hex-Sequenzen senden (mehr im den ips scripten, habe auch mit wireshark geprüft, die stimmen).
ABER mit echo -e „\xxx“. Damit „\xCC“ auch als Escaped-hex gesendet wird.
Einfach, was? Das heisst dann für an/aus:


echo -e "\xCC\x23\x33" | socat tcp-connect:192.168.14.51:5577 -
echo -e "\xCC\x24\x33" | socat tcp-connect:192.168.14.51:5577 -

Danke für den Fisch :wink:

Puhhh,
die Dinger sind doch anstrengend, was? Für die Hausautomation ein bissl zu viel. Als Hobby ginges es noch. Jetzt haben meine Wlan-Controller die Verbindung zum Lan verloren. War einmal mit der App drauf, um die Einstellungen zu checken, jetzt machen die nur noch ihr eigenes Wlan.
–>!! Auch wenn ich mit dem Browser draufgehe und den STA(tion)-Modus umstelle! Die Einstellungen stimmen, aber die Dinger melden sich trotzdem nicht an. Factory-Reset und alles neu bringt auch nix. Auch mein normaler Wlan-Acces-Point resettet. Auch kein Erfolg. … Jemand einen Tip?

Hallo Community,
hab mir das Teil auch gekauft und eingebunden, aber es bewegt die LED Strips nicht :confused:

folgendes hab ich gemacht:

*Controller in meinem WLAN Netzwerk eingebunden!
*IOS App drauf und verbunden funktioniert!
*script LW12Library & Create ins IPS eingefügt und die ID verknüpft alles gut!
*sieht alles gut aus …komme vom IPS PC per webrowser auf den Controller!

  • der Controller wird mir als HF-A11 in der FB angezeigt und seine eigenes WLAN war LEDxxxxx

Aber wenn ich im IPS schalte gibt der Controller keinen mucks…schalte ich per APP reagiert er!!!

Was übersehe ich da???

LG Reblade

HI hast du auch einen Client Sockel angelegt ?

hatte ich , aber wieder gelöscht da es ja beim script die IP und Ports festeingetragen wird…

hab ihn jetzt aber wieder hinzugefügt.

Keine veränderung!

lG