Chromoflex 50 unter ip-symcon V 3

Hallo,

nach ca. einem halben Jahr stillem einlesen hier im Forum habe ich mich nun auch für die Hausautomatisierungssoftware IP-Symcon entschieden. Nun hoffe ich auf ein wenig Hilfe bei der Einbindung meiner vorhandenen Komponenten. Hier im einzelnen geht es um den Chromoflex 50 der über eine rs232 Schnittstelle angesprochen wird.

Hier der link zum Gerät:
http://www.reichelt.de/LED-Zubehoer/CHROMOFLEX-50/3//index.html?ACTION=3&GROUPID=3044&ARTICLE=67509&SHOW=1&OFFSET=16&

Da ich erst seit gestern stolzer Besitzer der Software bin, bitte ich bei euren Antworten ein wenig mehr ins Detail zu gehen.

Bisher habe ich lediglich Anleitungen für den Chromoflex RC gefunden. Diese waren auch für die Version 2.x geschrieben. Deswegen die Frage, hat jemand von euch überhaupt den Chromoflex unter der Version 3 am laufen?

Gruß
wowa

Probier es mal aus. Ich wüsste nicht, warum das Skripte nicht unter der 3.0er laufen sollte :wink:

paresy

Danke für deine Antwort. Das Skript von dir habe ich schon ausprobiert. Da mein chromoflex über rs232 angesprochen wird funktioniert das Script natürlich nicht.

Ich kriege folgende Fehlermeldungen beim ausführen des Hauptscripts:

Warning: FTDI_SetDTR: Instance #38651 does not implement this function! in C:\IP-Symcon\scripts\51075.ips.php on line 124

Warning: FTDI_SetRTS: Instance #38651 does not implement this function! in C:\IP-Symcon\scripts\51075.ips.php on line 125

Warning: FTDI_SendText: Instance #38651 does not implement this function! in C:\IP-Symcon\scripts\51075.ips.php on line 126

Ich kenne den Chromoflex 50 nicht. Wenn der natürlich nicht das selbe Protokoll wie der RC hat, wird es nichts. Du müsstest dann das Protokoll kennen und das obere Skript entsprechend anpassen.

paresy

Das ist natürlich schade. Es wäre anzunähmen das die Firma Barthleme das Rad nicht neuerfindet, sondern das gleiche protokoll benutzt. Es sei den ich habe bei der einbindung was falsch gemaht. Ich habe lediglich eine Instanz für den Serielen Port erstellt und das Hauptscript eingefügt. Anschließend habe ich nur die ID des Serielen Ports in das Hauptscript eingetragen und das Hauptscript ausgeführt. Habe ich was vergessen?

Hallo,
bei mir läuft Chromoflex RC unter Version 3.x
Du könntest mal eventuell nach deiner Baut-Rate schauen.
Habe da so was in Erinnerung das die auf einen anderen Wert eingestellt werden muss.
Kann Dir das aber erst heute Abend sagen.
Meld mich dann nochmal.
Gruß
Jan

Servus

Ich hab hier einen alten Chromoflex mit RS232 laufen.
Hier sind die Scripte und Installationsanleitung dazu:

Falls es Probleme gibt melde dich, die waren noch für eine frühe IPS Version.
Kann mich jetzt nicht mehr erinnern ob ich bei mir lokal da mal was anpassen mußte.

viel Glück
bb

Hallo bbernhard,

und danke für deine Nachricht. Habe nun alles so gemacht wie es in deiner Anleitung stand.
kann es sein, dass bei deinem setup script ein <? am anfang fehlt? Ich bin beim „setup“ Script oben auf den Button ausführen gegangen, ich hoffe das war damit gemeint. Als fehlermeldung kriege ich:

Warning: Wrong parameter count for IPS_SetVariableProfileAssociation() in C:\IP-Symcon\scripts\55638.ips.php on line 5

Warning: Wrong parameter count for IPS_SetVariableProfileAssociation() in C:\IP-Symcon\scripts\55638.ips.php on line 6

Warning: Wrong parameter count for IPS_SetVariableProfileAssociation() in C:\IP-Symcon\scripts\55638.ips.php on line 7

Warning: Wrong parameter count for IPS_SetVariableProfileAssociation() in C:\IP-Symcon\scripts\55638.ips.php on line 8

Warning: Wrong parameter count for IPS_SetVariableProfileAssociation() in C:\IP-Symcon\scripts\55638.ips.php on line 9

Warning: Wrong parameter count for IPS_SetVariableProfileAssociation() in C:\IP-Symcon\scripts\55638.ips.php on line 10

Warning: Wrong parameter count for IPS_SetVariableProfileAssociation() in C:\IP-Symcon\scripts\55638.ips.php on line 11

Warning: Wrong parameter count for IPS_SetVariableProfileAssociation() in C:\IP-Symcon\scripts\55638.ips.php on line 12

Warning: Wrong parameter count for IPS_SetVariableProfileAssociation() in C:\IP-Symcon\scripts\55638.ips.php on line 29

Warning: Wrong parameter count for IPS_SetVariableProfileAssociation() in C:\IP-Symcon\scripts\55638.ips.php on line 30
Installation finished

Ich hoffe du kannst mir dabei helfen.

Die Baudrate ist die gleiche wie im Chromoflex Programm. Damit sollte es funktionieren.

Hallo,

ich weiß nicht was passiert ist aber heute habe ich meinen server hochgefahren und es läuft. wenn ich das setup script durchlaufen lasse, kriege ich nur noch ein „Installation finished“ wieder. Trotzdem sind die Funktionen „Presets“ sowie „Program_Selection“ in der Weboberfläche nicht vorhanden:

@bbernhard

kannst du mir vielleicht dein Script, was du an die neue Version von ipsymcon angepasst hast schicken? Meine skripting Kenntnisse sind etwas eingerostet. Eventuell geht das so schneller.

irgendwie führe ich hier einen monolog…
habe das Problem gefunden:
IPS_SetVariableProfileAssociation verlangt noch einen Farbwert. Wenn man diesen setzt funktioniert es. Hier ein Beispiel:
IPS_SetVariableProfileAssociation(„my_Chromoflex_Prog“, 1, „Normal“, „“, 0xFFFFFF );

nun bin ich wunschlos glücklich :slight_smile:

Sorry hatte schon gestern gelesen das es nicht klappt.
Wir hatten aber Besuch und es wurde später, da hatte ich dann keine Lust mehr mich darum zu kümmern.
Wollte mich nun dransetzten, da sehe ich das du es eh schon selbst geschafft hast.

wünsch dir bunten Spass
bb

@bbernhard

vielleicht brauche ich doch noch etwas Hilfe.

Mir ist nicht ganz klar in was für einer Form ich die Chromoflex Adresse eintragen soll. Kannst du mir da vielleicht nen beispiel geben?

Außerdem ist das nähste große Ziel ein simulierter Sonnenaufgang für einen Wecker. Da bin ich mir nicht so ganz sicher wie ich am besten aus einem Weckerscript sage das er die „$parentID“ 4 an den Chromoflex übertragen soll. Sitze schon ein paar Stunden vor dem deinen drei Scripten und versuche diese zu verstehen. Nun weiß ich warum ich kein Anwendungsentwickler geworden bin:D

Servus

Man kann definitiv von einem externen Script beliebige RGB Werte setzen. Ich mach das auch. Muß mich da aber erst mal wieder reindenken.
Am Wochenende hab ich dann Zeit dir ausführlich zu helfen, bin zzt. beruflich unterwegs.
Falls ich vergesse schick mir eine PM als Ermahnung:o

bis dann
bb

Klingt gut. wie gesagt ich muss kein rgb wert übermitteln sonder die program_selection User (4) aufrufen.

Dank dir schonmal im vorraus.

Servus

Um von einem anderen Script aus eines der Chromoflex Standardprogramme aufzurufen mußt du nur den entsprechenden Integer Wert in die „Program_Selection“ Variable schreiben.

Wegen der Adresse: Du willst also mehrere an der gleichen COm Schnittstelle hängende Chromoflex Module unterschiedlich beschrieben, richtig ?
Ich hab nur ein Modul darum hab ich das nie probiert. Sehe aber keinen Grund warum es nicht funktionieren sollte.
lt. Chromoflex Doku setzt sich die Adresse so zusammen:

Zeile 7 im „set_Chromoflex“ Script ist dein Freund.

viel Erfolg
bb

An dieser Stelle tut sich bei mir ein Problem auf. Es geht um die Eingabe der Adresse:

Mein Chromoflex hat die Adresse 2e1e7f. Wenn ich es richtig verstanden habe muss die Adresszeile so aussehen:

$addr=chr(2E).chr(1E). chr(7F);

Daraufhin bekomme ich folgende Fehlermledung:

Parse error:  syntax error, unexpected 'e' (T_STRING) in [Wohnzimmer\Chromoflex I\set_Chromoflex] on line 7

:confused:

Hat jemand von euch mehrere Chromoflex am laufen und kann mir sagen was ich da genau falsch mache?

Habs selbst heruasgefunden:D

Die Adresse für den Chromoflex setzt sich aus 3 Bytes zusammen. Der Chromoflex erwartet hier einen Hex wert.
chr gibt eine einzelnes Zeiche zurück. Hier müssen wir uns die ascii Tabelle zur hilfe nehemen… oder diesen Link benutzen
http://www.arndt-bruenner.de/mathe/scripts/Zahlensysteme.htm
2e1e7f teilen wir in 3 teile 2e 1e 7f nun wandeln wir die 3 werte einzeln in dezimal um: ergibt 46 30 127

Das ganze übernehemen wir nun in zeile 7 des set_Chromoflex Skripts:

$addr=chr(46).chr(30).chr(127);

:slight_smile:

Und die Probleme gehen weiter…
Vielleicht wird das hier ein kleines Tagebuch wie man mehrer Module parallel laufen lassen kann.

Zwei neue Probleme:

  1. Sobald ich nur einen Chromoflex über eine Adresse anspreche bemerke ich folgende Phänomen:
    die Werte die ich über die Weboberfläche in die Variablen schreibe werden zwar übernommen doch nicht dargestellt. Wenn ich z.B. die Brightness auf 20% setze steht es zwar in der Variable so drin, doch diese Änderung wird nicht auf das Modul übergeben. Das passiert bei ca. jeder 5 Eingabe. Mir ist dabei folgendes aufgefallen:

chromo2.PNG

wenn ich die Adresse auf Broadcast setze sieht die Meldung so aus:

chromo3.PNG

Das Problem habe ich nicht nur bei der Brightness sonder auch bei anderen Funktionen.
Jemand eine Idee dazu?:confused:

  1. Wenn ich eine zweite Chromoflex Kategorie hinzufüge und sie wie gewohnt aufbaue funktioniert diese nicht. Ich vermute es liegt an den Variablen Profil. Das setup skript legt ja welche an?

Wenn jemand mir zu einem dieser Probleme einen kleinen Tipp geben könnte, wäre ich sehr dankbar. Da ich zur Zeit Urlaub habe weiß ich nur eins… das wird ne lange Nacht für mich :wink:

Zum Aktuellen Problem habe ich zwar auch keine Lösung, aber eine Ergänzung zu deinen Hex umgerechne…

$addr=chr(0x2e).chr(0x1e).chr(0x7f);

Oder wenn du schon das in Dezimal haben willst; den Windows Rechner (calc) nutzen ist onboard und braucht keinen Browser :wink:

Hallo Nall chan, und danke für deinen Beitrag.
Ich habe deinen „Ergänzung“ ausprobiert und sie als gut befunden:D
so muss ich wenigstens nichts umrechen.

Zum Problem Nr.1:
Wie man in dem Screenshot sieht passieren 3 sachen.
1: die hellichkeit wird auf 17% gesetzt.
2: die einstellung wird an das Chromoflex-Modul übertragen
3: die hellichkeit wird in eine von mir angelegte Variable gelegt --> Brightness_old. Ich habe ein Script geschrieben, dass es mir erlaubt die alten hellichkeitswerte zwischen zu speichern. Damit kann ich per Funkschalter die Module einzeln schalten.

Das bedeutet das ich nochmal von vorne anfangen muss. Der Fehler ist also nicht wie ich gedacht habe in den Screenshots zu sehen. Zur zeit löse ich das Problem mit einem Ereignis. Sobald die Variable Brightness aktualisiert wird, wird 5 mal nacheinander das set_Chromoflex skript ausgeführt.
Eine Frage bleibt für mich aber noch offen.
In dem ersten Screenshot sieht man in der zweiten Nachricht folgendes:

[Wohnzimmer\Chromoflex\set_Chromoflex]= 119.85

Kann mir irgend jemand sagen was es mit der Zahl am ende auf sich hat?