Modul zur Nutzung der Raspberry Pi GPIO

@Swen:
„Setz Dich wieder hin - wir sind noch nicht fertig!“:smiley:

Ich habe es Dir jetzt mal ermöglicht dieses „ruckeln“ einzustellen. Im Konfigurationsformular kannst Du die Impulse pro Sekunde verstellen. Im bisherigen Test waren 4 Impulse/Sekunde eingestellt, also jeder Schritt dann bei 250ms. Du musst mal bitte schauen, was noch sauber übertragen wird, das kann je nach Netzwerkanbindung und Hardware etwas variieren.
Der Code muss noch etwas aufgeräumt und optimiert werden, von daher bitte noch mit dem einen oder anderem Fehler rechnen…

@croostmx:
Schau Dir bitte mal die GeCoS-Module von GeDaD an. Nur ein vorsorglicher Hinweis: Der Status der GPIO beim Bootup sind nicht definiert, von daher warne ich davor für wichtige Dinge Relais direkt an den GPIO zu betreiben. Besser ist die Anbindung der Relais über einen I²C-Port-Expander wie den PCF8574 (o.ä.), weil damit genau diese Start-Bedingungen definiert sind…
Alles das was dort auf dem unipi-Board angeboten wird, wird eigentlich auch hier schon vollständig abgebildet. Ich bitte um Verständnis, wenn ich mir nicht jede Hardware kaufe, die ich nicht brauche nur um dafür („ehrenamtlich“) ein Modul zu schreiben…

Joachim

Danke! Werde mir das mal anschauen.

edit: Perfekt, das ist genau das was ich gesucht hab. Danke nochmal!

Super grade getestet :smiley:
Also mit 10 klappt das schon besser :-D, habe folgende Einstellung getestet 4,6,8 u. 10.
Habe natürlich bei jeden höheren wert eine Verbesserung festgestellt. Könntest du mir bitte noch höherer werte als 10 ermöglichen um zu testen ob dieses auch möglich ist?

Und wirklich cool wäre es wenn man bei den Funktionen I2GRGBW_Set_White und I2GRGBW_Set_RGB die Zeit auch übergeben kann, so kann man dann auch mal das licht schnell einschalten, also z.b. mit alexa, oder bei Gefahr.(Feuer)

Danke für deine Mühe.

Swen

Hallo Swen,

habe Dir mal die Möglichkeit gegeben, jetzt bis 20 Sekunden auszuwählen…

Das andere verstehe ich jetzt nicht: Wenn Du die genannten Funktionen aufrufst, erfolgt der Wechsel doch sofort, oder?:confused:

Joachim

Mit 16 Klappt es perfekt, hab das mal mit einer Stoppuhr geprüft, bei allen über 16 wird die zeit wieder länger.

Mit der Funktion meine ich, wenn die Lampen bereits an sind und ich z.b. die Farbe Wechsel, oder wenn ich die Lampen mit I2GRGBW_Set_Status, oder I2GRGBW_Toggle_Status einschalte.

Hat, aber keine hohe Prio., bin mit den Fade schon soweit glücklich.

Hallo Swen,

wenn Du die Helligkeit von Weiß oder die Farbe änderst, dann wird dieses sofort umgesetzt, bei Set_Status oder Toggle_Status wird gefadet wenn die Fadezeit > 0 ist…

Wenn ich das jetzt richtig verstehe, dann wünsht Du Dir die beiden letztgenannten Funktionen um einen weiteren Parameter zu erweitern.
Da sehe ich jetzt spontan zwei Möglichkeiten:

  1. Erweiterung um „Fade“ -> true/false -> würde bedeuten, nur wenn true auch faden
  2. Erweiterung um den Parameter Fadetime -> Intger -> wenn größer 0 wird die angegebene Zeit gefadet

Was würdest Du bevorzugen?

Joachim

P.S.: die Impulshäufigkeit ist jetzt maximal 16

das 2 würde ich bevorzugen.

Also die Fadetime.

Hallo Swen,

ist jetzt ein Mix aus beiden geworden…

  • Es gibt jetzt eine Standrad-FadeTime im Konfigurationsformular zu definieren
  • Die Funktion Set_Status und Toggle_Status haben als optionales Parameter auch eine FadeTime
  • Wird also nichts angegeben, dann wird die Standard-FadeTime genutzt
  • Wird etwas anderes als die Standard-FadeTime angegeben (auch 0) wird diese verwendet

Sind jetzt viele Details geändert worden, bitte mal schauen wie es geworden ist…

Joachim

…Swen, bitte mal kurz warten mit dem Update, habe da noch ein „PHP-Problem“…

…habe das Problem jetzt (hoffentlich) „umschifft“ - nicht schön aber selten, aber vielleicht funktional…

Bin gespannt auf Dein Feedback…

Joachim

Jop sag bescheid, dann update ich.

Hallo Swen,

wie hier schon diskutiert gibt es jetzt jeweils zwei Funktionen:
Set_Status und Set_StatusEx
Toggle_Status und Toggle_StatusEx
Im „Ex“ kannst Du die FadeTime angeben, ohne „Ex“ wird die angegebene „Standard“-FadeTime aus dem Konfigurationsformular genutzt.

Hoffe es funktioniert jetzt noch alles…:rolleyes:

Wird schon - so Stück um Stück!

Joachim

I2GRGBW_Set_StatusEx Klappt super Ausgabe:

TXT: 13.01.2018 17:48:14.00 |           Set_Status | Ausfuehrung
HEX: 13.01.2018 17:48:14.00 |           Set_Status | 41 75 73 66 75 65 68 72 75 6E 67 
TXT: 13.01.2018 17:48:14.00 |               FadeIn | Ausfuehrung
HEX: 13.01.2018 17:48:14.00 |               FadeIn | 41 75 73 66 75 65 68 72 75 6E 67 
TXT: 13.01.2018 17:48:14.00 |               FadeIn | RGB: 0 W: 255
HEX: 13.01.2018 17:48:14.00 |               FadeIn | 52 47 42 3A 20 30 20 57 3A 20 32 35 35 
TXT: 13.01.2018 17:48:14.00 |               FadeIn | RGB ist 0 -> W faden
HEX: 13.01.2018 17:48:14.00 |               FadeIn | 52 47 42 20 69 73 74 20 30 20 2D 3E 20 57 20 66 61 64 65 6E 

I2GRGBW_Toggle_StatusEx funktioniert nicht Ausgabe:

TXT: 13.01.2018 17:48:25.00 |        Toggle_Status | Ausfuehrung
HEX: 13.01.2018 17:48:25.00 |        Toggle_Status | 41 75 73 66 75 65 68 72 75 6E 67 
TXT: 13.01.2018 17:48:25.00 |           Set_Status | Ausfuehrung
HEX: 13.01.2018 17:48:25.00 |           Set_Status | 41 75 73 66 75 65 68 72 75 6E 67 

Hoffe das Hilft dir weiter.
Hier noch meine Testskript:


I2GRGBW_Set_StatusEx(40394 /*[Rapsberry\Pi-Zero Büro\IPS2GPIO_RGBW Fensterseite]*/, true, 3);
I2GRGBW_Toggle_StatusEx(40394 /*[Rapsberry\Pi-Zero Büro\IPS2GPIO_RGBW Fensterseite]*/, 3);

…ein „ex“ offenbar vergessen…

Bitte noch mal probieren…

Joachim

Parse error:  syntax error, unexpected ';', expecting '(' in C:\IP-Symcon\modules\SymconModules\IPS2GPIO_RGBW\module.php on line 651

Swen

Sorry, bitte nochmal…[emoji4]

Jetzt klappt alles :slight_smile:

…so, jetzt noch mal in der Zusammenfassung::wink:

Eine neue Fadefunktion wurde in die Module:

  • analoger Output (PWM-Dimmer)
  • RGB-Output
  • RGBW-Output
    integriert.
    Bei der Gelegenheit wurden auch eine ganze Menge anderen Sachen in den jeweiligen Modulen angepasst, eine „schnelle“ Prüfung habe ich gemacht, aber ohne Testaufbau der Hardware - daher bitte bei Update mal einen Funktionscheck machen!:rolleyes:

Dank an Swen für die bisherigen Tests!

Auch in die Module

  • GeCos Modul 4 fach RGBW (PCA9685)
  • GeCos-Modul 16 fach PWM (PCA9685)
    kommt die Fade-Funktion noch rein - da bitte noch etwas Geduld…

Joachim

Hallo Joachim,

Ich würde nochmal gern auf das Thema mit den MCP23017 zurückkommen.

Hab hier noch einen IO-Pi-Zero rumliegen den ich nicht brauche, den würde ich dir gerne als Spende zukommen lassen.
IO Pi Zero 16 Channel Port Expander for the Raspberry Pi Zero

Sofern du auf den Event von Symcon bist, gerne auch da.
Also falls Interesse besteht, der liegt eh hier rum, hab nämlich noch 2 Stück.

Swen

Hallo Swen,

bin auch in Lübeck - freue mich auf die neue Aufgabe, eine erweiterte Funktionalität dieses Modul: Vielen Dank für das Angebot, was ich gerne annehme… [emoji4]

Joachim