ESP8266 und PCA9685 PWM

Begonnen von R1F800, 07 Oktober 2020, 13:10:19

Vorheriges Thema - Nächstes Thema

R1F800

Hallo,
ich verzweifele gerade ein wenig an der Anbindung meines PCA9685 via ESPEasy (MEGA 20111 build). >> https://www.letscontrolit.com/wiki/index.php/Plugin22#ESP_Easy

Ich habe im ESP das Device angelegt. Die verbindung dorthin klappt.
Ich muss ja zum einen via Slider den PWM Wert an den ESP übertragen und gleichzeitig den korrekten Kanal definieren ...

FHEM Definition
defmod ESPEasy_PWM_STRG ESPEasy x.x.x.x 80 ESPBridge ESPBridge_Garage2_PWM_STRG
attr ESPEasy_PWM_STRG IODev ESPBridge
attr ESPEasy_PWM_STRG eventMap /PCAPWM 0 0 off:off/PCAPWM 0 4095 on:on
attr ESPEasy_PWM_STRG group ESPEasy Device
attr ESPEasy_PWM_STRG mapLightCmds lights
attr ESPEasy_PWM_STRG parseCmdResponse PCAPWM
attr ESPEasy_PWM_STRG rgbGPIOs 1
attr ESPEasy_PWM_STRG room ESPEasy
attr ESPEasy_PWM_STRG stateFormat slider
attr ESPEasy_PWM_STRG verbose 5
attr ESPEasy_PWM_STRG webCmd pct:on:off



Und das sagt das LOG:
2020.10.07 13:36:05 5: ESPEasy ESPEasy_PWM_STRG: received event: ATTR ESPEasy_PWM_STRG mapLightCmds lights
2020.10.07 13:36:05 4: ESPEasy ESPEasy_PWM_STRG: Available set cmds/maps (re)initialized.
2020.10.07 13:36:05 4: ESPEasy ESPEasy_PWM_STRG: Available attributes (re)initialized.
2020.10.07 13:36:08 3: ESPEasy ESPEasy_PWM_STRG: set ESPEasy_PWM_STRG pct 29
2020.10.07 13:36:08 5: ESPEasy ESPEasy_PWM_STRG: set ESPEasy_PWM_STRG lights pct 29 (mappings done)
2020.10.07 13:36:08 5: ESPEasy ESPEasy_PWM_STRG: IOWrite ( $defs{ESPEasy_PWM_STRG}, $defs{ESPEasy_PWM_STRG}, lights, ("pct","29") )
2020.10.07 13:36:10 5: ESPEasy ESPEasy_PWM_STRG: Received: ESPBridge_Garage2_PWM_STRG::X.X.X.X::1::0::1::n||Warning||Unknown or restricted command: 'lights'||3
2020.10.07 13:36:10 3: ESPEasy ESPEasy_PWM_STRG: Warning: Unknown or restricted command: 'lights'
2020.10.07 13:36:10 4: ESPEasy ESPEasy_PWM_STRG: presence: absent
2020.10.07 13:36:12 3: ESPEasy ESPEasy_PWM_STRG: set ESPEasy_PWM_STRG pct 23
2020.10.07 13:36:12 5: ESPEasy ESPEasy_PWM_STRG: set ESPEasy_PWM_STRG lights pct 23 (mappings done)
2020.10.07 13:36:12 5: ESPEasy ESPEasy_PWM_STRG: IOWrite ( $defs{ESPEasy_PWM_STRG}, $defs{ESPEasy_PWM_STRG}, lights, ("pct","23") )
2020.10.07 13:36:14 5: ESPEasy ESPEasy_PWM_STRG: Received: ESPBridge_Garage2_PWM_STRG::X.X.X.X::1::0::1::n||Warning||Unknown or restricted command: 'lights'||3
2020.10.07 13:36:14 3: ESPEasy ESPEasy_PWM_STRG: Warning: Unknown or restricted command: 'lights'
2020.10.07 13:36:14 4: ESPEasy ESPEasy_PWM_STRG: presence: absent
2020.10.07 13:36:14 1: PERL WARNING: Use of uninitialized value $gg in uc at ./FHEM/34_ESPEasy.pm line 2866, <GEN16> line 11761.
2020.10.07 13:36:14 1: PERL WARNING: Use of uninitialized value $gb in uc at ./FHEM/34_ESPEasy.pm line 2867, <GEN16> line 11761.
2020.10.07 13:36:14 1: PERL WARNING: Use of uninitialized value $gg in concatenation (.) or string at ./FHEM/34_ESPEasy.pm line 2870, <GEN16> line 11761.
2020.10.07 13:36:14 1: PERL WARNING: Use of uninitialized value $gb in concatenation (.) or string at ./FHEM/34_ESPEasy.pm line 2871, <GEN16> line 11761.
2020.10.07 13:36:33 4: ESPEasy ESPEasy_PWM_STRG: set statusRequest
2020.10.07 13:36:33 4: ESPEasy ESPEasy_PWM_STRG: presence: absent
2020.10.07 13:36:33 5: ESPEasy ESPEasy_PWM_STRG: Start internalTimer +304 => 2020-10-07 13:41:38

R1F800

Niemand eine Idee? Oder hab ich ein Grundsätzliches Verständnisproblem?


PCA9685  <I2C> ESP8266 <LAN> ESPeasy <> ESP Device <> I2C_PCA9685 device mit IODEV (ESP Device)

Wernieman

Sorry erst jetzt gesehen .. hinbekommen oder brauchst Du noch Hilfe?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

R1F800

Nein, läuft leider noch nicht.

Wernieman

Hast DU Probleme den "silder" in FHEM zu definieren, oder die Werte an das Device (espeasy) zu übertragen?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

R1F800

Ich weiss gerade gar nicht wo genau mein Fehler liegt....

Ich bekomme es in FHEM nicht sauber mit dem Slider hin und am PCA merke ich am PWM Ausgang keine veränderung ...
vielleicht bin ich zu doof

Wernieman

also ... ich habe keine Slider oder Ähnliches in FHEM definiert. Steuere mehrere LED Bänder direkt damit.

Gehe aber direkt über http beim Ansteuern ... "damals" war ich noch nicht so klug
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

R1F800

Zitat von: Wernieman am 17 November 2020, 18:04:13
also ... ich habe keine Slider oder Ähnliches in FHEM definiert. Steuere mehrere LED Bänder direkt damit.

Gehe aber direkt über http beim Ansteuern ... "damals" war ich noch nicht so klug

was heißt bei dir direkt über http? Hast Du ein Beispiel ?
auch für die Beschaltung ?

Wernieman

Mhh ... soll ich Dir die komplette Platiene raussuchen? PWM-Modul mit Transi dahinter .... Kannst Du mit KICAD-Datein etwas anfagen?

Habe damals mit Dummys im espeasy gearbeitet und diesen auf Taks 12 Definiert. Dann in den Rules:
On Dimm do
  TaskValueSet 12,1,5000*%eventvalue%*1
  TaskValueSet 12,2,5000*%eventvalue%*0.6
  TaskValueSet 12,3,5000*%eventvalue%*0.3
  event setze
endon

On setze do
  PWM1.PCAPWM,0,[Licht#Rot]
  PWM1.PCAPWM,1,[Licht#Grun]
  PWM1.PCAPWM,2,[Licht#Blau]
endon

On System#Boot do
  event Dimm=0.5
endon


Und dann z.B. das Ansteuern in FHEM mit:
set ESPEasy_esp_lampe_02 raw event,Dimm=1
1= Volle Leistung, 0= aus, dazwischen Dimm. Beim Booten Dimm mit 0.5 d.h. Halbe Leistung

Gibt andere (und bessere) Möglichkeiten, nur normalerweise werden die Leisten nur an/abgeschaltet oder gedimmt.

Hinweis: Ich kann alle Ports des PWM benutzen, aktuell aber auf einem Board nur 7 in Betrieb. 2xRGB und 1. Weißes LED-Band. Obiger Code auf 1 RGB-Band begrenzt. Die Farben haben unterschiedliche Werte, da dieses Band etwas blauchstichig und ich es damit etwas korrigiert habe ,,,
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

R1F800

Hallo. KiCad .. klar damit kann ich was anfangen :-)

Ich werde wohl damit in den Häufigsten Fällen den Status EIN oder AUS setzen.
Im Betrieb dann natzürlich dimmen ... aber alles single line also kein RGB sondern immer nur weiss  (HELL dunkel)

Wernieman

#10
Sch .. das habe ich noch mit Eagle gemacht ... (und aktuell nicht drauf)

Machst Du es mit einem gekauften PCA9685 Modul oder nur den Baustein? Mit dem Baustein (pur) hatte ich mal ein KiCAD Projekt angefangen, da ich aber so klein nicht selber löten kann, hatte ich es verschoben ...

Anbei mal die Bilder mit einem Fertigen PCA9685 Modul .. hatte ich irgendwo im Forum schon mal vorgestellt ...
Der Schaltplan im "ersten Beitrag": https://forum.fhem.de/index.php/topic,94931.0.html
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

R1F800

Ich habe einen fertigen Baustein.  Du hast nicht zufällig noch ein Breakoutboard für den PCA da?

Wernieman

Du meinst eine unbestückte Platine von oben?
Jep ... wie viele?  8)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

R1F800


Wernieman

Hinweis:
Die meisten fertigen PCA-Platinen haben die Stecker "nach oben", bei dieser Platine brauchst DU sie aber "nach unten" ... Probleme damit?

Kann Dir gerne schicken .. wie viele?  8)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html