NEWS
Tasmota und I2C Expander
-
-
@ralla66
Tja, wenn ich nur die geringste ahnung davon hätte.
Ich kann fertige Bin's installieren und schritt für schritt Anleitungen befolgen aber das wars auch schon.Aber irgenwer wird das irgendwo beschrieben haben, ich suche mal danach.
-
@ralla66
2866 hattest du oben zur Verfügung gestellt, damit habe ich ja schon alles umgesetzt.
Ich bräuchte eine version für wt32-eth.
Ich habe das hier gefunden:
https://github.com/benzino77/tasmocompiler
Wenn ich wüsste was ich alles aktivieren muss, würde ich es auch versuchen.
Allerdings kann ich es erst testen wenn der WT32 geliefert wurde, mit einem normalen esp32 werde ich nicht viel testen können, höchsten den I2C.Edit;
Ausserdem überlege ich
https://github.com/tasmota/install/blob/main/firmware/unofficial/tasmota-titanium.bin
Zu flashen, müsste ja reinpassen. -
@ralla66
2866 hattest du oben zur Verfügung gestellt, damit habe ich ja schon alles umgesetzt.
Ich bräuchte eine version für wt32-eth.
Ich habe das hier gefunden:
https://github.com/benzino77/tasmocompiler
Wenn ich wüsste was ich alles aktivieren muss, würde ich es auch versuchen.
Allerdings kann ich es erst testen wenn der WT32 geliefert wurde, mit einem normalen esp32 werde ich nicht viel testen können, höchsten den I2C.Edit;
Ausserdem überlege ich
https://github.com/tasmota/install/blob/main/firmware/unofficial/tasmota-titanium.bin
Zu flashen, müsste ja reinpassen. -
Tasmota unterstützt den wt32 ja mittlerweile:
https://templates.blakadder.com/wireless_tag_WT32-ETH01.html -
Tasmota unterstützt den wt32 ja mittlerweile:
https://templates.blakadder.com/wireless_tag_WT32-ETH01.html -
@ralla66
Hatte ich oben ja verlinkt :-)Müsste das hier reichen?
#define USE_MCP230xx_ADDR 0x20
#define USE_MCP230xx // Enable INPUT mode (pinmode 1 through 4)
#define USE_MCP230xx_OUTPUT // Enable OUTPUT mode (pinmode 5)
#define USE_MCP230xx_DISPLAYOUTPUT // Display state of OUTPUT pins on main Tasmota web interface#define USE_ETHERNET
// Wireless-Tag WT32-ETH01
#define ETH_TYPE 0 // [EthType] 0 = ETH_PHY_LAN8720, 1 = ETH_PHY_TLK110, 2 = ETH_PHY_IP101
#define ETH_ADDRESS 1 // [EthAddress] 0 = PHY0 .. 31 = PHY31
#define ETH_CLKMODE 0 // [EthClockMode] 0 = ETH_CLOCK_GPIO0_IN, 1 = ETH_CLOCK_GPIO0_OUT, 2 = ETH_CLOCK_GPIO16_OUT, 3 = ETH_CLOCK_GPIO17_OUT -
@ralla66
Hatte ich oben ja verlinkt :-)Müsste das hier reichen?
#define USE_MCP230xx_ADDR 0x20
#define USE_MCP230xx // Enable INPUT mode (pinmode 1 through 4)
#define USE_MCP230xx_OUTPUT // Enable OUTPUT mode (pinmode 5)
#define USE_MCP230xx_DISPLAYOUTPUT // Display state of OUTPUT pins on main Tasmota web interface#define USE_ETHERNET
// Wireless-Tag WT32-ETH01
#define ETH_TYPE 0 // [EthType] 0 = ETH_PHY_LAN8720, 1 = ETH_PHY_TLK110, 2 = ETH_PHY_IP101
#define ETH_ADDRESS 1 // [EthAddress] 0 = PHY0 .. 31 = PHY31
#define ETH_CLKMODE 0 // [EthClockMode] 0 = ETH_CLOCK_GPIO0_IN, 1 = ETH_CLOCK_GPIO0_OUT, 2 = ETH_CLOCK_GPIO16_OUT, 3 = ETH_CLOCK_GPIO17_OUTlange her, in die overide den verlinkten Text reinpacken, meine ich hätte damals für den MCP nur die Auskommentierung in
my user config Zeile 597 und 598 entfernt. Nix genaues weiß ich mehr, zu alt eben für son Kram :-)

-
Danke, sieht ja gut aus.
Ich kompiliere gerade mit dem Tasmocompiler.
Ich finde das wirklich gut, erst die Sachen zusammenklicken und zum Schluss noch ein wenig was hinzufügen und das wars.Muss jetzt nur noch funktionieren.
Ich packe das gleich mal auf einen normaalen ESP, I2C müsste dann ja zumindest schonmal funktionieren, wenn auch nur über Wlan. -
Hallo @Ralla66,
was soll ich sagen, nachdem ich aufgehört habe mir Beinchen zu stellen, funktioniert es.
Hier die Einstellungen, die ich genutzt habe:
Datei: user_config_override.h
#define USE_MCP230xx_ADDR 0x20#define USE_ETHERNET
// Wireless-Tag WT32-ETH01
#define ETH_TYPE 0 // [EthType] 0 = ETH_PHY_LAN8720, 1 = ETH_PHY_TLK110, 2 = ETH_PHY_IP101
#define ETH_ADDRESS 1 // [EthAddress] 0 = PHY0 .. 31 = PHY31
#define ETH_CLKMODE 0 // [EthClockMode] 0 = ETH_CLOCK_GPIO0_IN, 1 = ETH_CLOCK_GPIO0_OUT, 2 = ETH_CLOCK_GPIO16_OUT, 3 = ETH_CLOCK_GPIO17_OUT
Geräteeinstellung

und in der Konsole:
13:45:42.102 CMD: i2cscan
13:45:42.165 RSL: RESULT = {"I2CScan":"Device(s) found at 0x20"}
13:46:22.315 CMD: i2cdevice2 0Die sind nicht nötig, oder nicht von mir eingerichtet, keine Ahnung:
13:46:22.323 RSL: RESULT = {"Command":"Unknown"}
13:46:34.841 CMD: i2cdevice22 1
13:46:34.851 RSL: RESULT = {"Command":"Unknown"}13:46:49.059 CMD: Sensor29 0,6,0 für Relaise 1
Sensor29 1,6,0 für Relaise 2
Sensor29 2,6,0 für Relaise 3 usw.Muss jetzt nur noch auf die LAN Version warten :-)
-
Hallo @Ralla66,
was soll ich sagen, nachdem ich aufgehört habe mir Beinchen zu stellen, funktioniert es.
Hier die Einstellungen, die ich genutzt habe:
Datei: user_config_override.h
#define USE_MCP230xx_ADDR 0x20#define USE_ETHERNET
// Wireless-Tag WT32-ETH01
#define ETH_TYPE 0 // [EthType] 0 = ETH_PHY_LAN8720, 1 = ETH_PHY_TLK110, 2 = ETH_PHY_IP101
#define ETH_ADDRESS 1 // [EthAddress] 0 = PHY0 .. 31 = PHY31
#define ETH_CLKMODE 0 // [EthClockMode] 0 = ETH_CLOCK_GPIO0_IN, 1 = ETH_CLOCK_GPIO0_OUT, 2 = ETH_CLOCK_GPIO16_OUT, 3 = ETH_CLOCK_GPIO17_OUT
Geräteeinstellung

und in der Konsole:
13:45:42.102 CMD: i2cscan
13:45:42.165 RSL: RESULT = {"I2CScan":"Device(s) found at 0x20"}
13:46:22.315 CMD: i2cdevice2 0Die sind nicht nötig, oder nicht von mir eingerichtet, keine Ahnung:
13:46:22.323 RSL: RESULT = {"Command":"Unknown"}
13:46:34.841 CMD: i2cdevice22 1
13:46:34.851 RSL: RESULT = {"Command":"Unknown"}13:46:49.059 CMD: Sensor29 0,6,0 für Relaise 1
Sensor29 1,6,0 für Relaise 2
Sensor29 2,6,0 für Relaise 3 usw.Muss jetzt nur noch auf die LAN Version warten :-)
-
ob der PCF8574 Eingänge kann da habe ich dazu keine Doku gefunden.
Deine 9.2 .bin läuft mit dem PCF.Fehler war bei mir das Einkommentieren des MCP selbst.
Habe dann in der user_config_override.h dies hinzu gefügt:
#define USE_MCP230xx_ADDR 0x20
#define USE_MCP230xx // Enable INPUT mode (pinmode 1 through 4)
#define USE_MCP230xx_OUTPUT // Enable OUTPUT mode (pinmode 5)
#define USE_MCP230xx_DISPLAYOUTPUT // Display state of OUTPUT pins on main Tasmota web interfaceDann die 9.2.0.7 Compiliert
Dann in der Console:i2cscan war dann Addr 20. ( MCP A0 bis A2 gebrückt )
i2cdevice2 0 // PCF ausgeschaltet
i2cdevice22 1 // MCP eingeschaltet
Sensor29 0,6,0 // Relay 0 , ist 6 Ausgang invertiert , PullupStand MCP Tasmota 9.2.0.7:
tasmota_MCP_230_ADD_20.bin
Stand PCF Tasmota 9.2.0:
1613251343687-tasmota_firmware_9_2_pcf8574.binGedächtnisstütze:
PCF8574 = 0x20 .. 0x27 (0x27 is not supported),
PCF8574A = 0x39 .. 0x3F (0x38 is not supported)
MCP ist Standart 0x20 oder umschreiben in der user_config_override.hDokumentiert:
https://tasmota.github.io/docs/I2CDevices/
https://tasmota.github.io/docs/MCP230xx/
https://tasmota.github.io/docs/Gitpod/Anmerkung:
Sonoff Adapter 2.3.3 zeigt beim MCP 23017 nur 8 Relais als Ausgang an.
PCF 8574, kann bei mir nur Ausgänge schalten / Tasmota 9.2.0Ralla
Hallo zusammen,
ich bräuchte mal Eure Unterstützung, komme gerade nicht weiter.
Ich will einen ESP8266 mit 2 Stück MCP23017 mit je 16 PINs ans Laufen bekommen und in den iobroker einbinden. Beide MCP sind über i2c angeschlossen (0x24 und 0x27).
Leider komme ich mit den beschriebenen Methode nicht voran?!Der Befehl "Sonsor29 ..." wird bspw. mit "Command unknown" quittiert?!
Muss ich in der user_config_override.h etwas umschreiben? -
Hallo zusammen,
ich bräuchte mal Eure Unterstützung, komme gerade nicht weiter.
Ich will einen ESP8266 mit 2 Stück MCP23017 mit je 16 PINs ans Laufen bekommen und in den iobroker einbinden. Beide MCP sind über i2c angeschlossen (0x24 und 0x27).
Leider komme ich mit den beschriebenen Methode nicht voran?!Der Befehl "Sonsor29 ..." wird bspw. mit "Command unknown" quittiert?!
Muss ich in der user_config_override.h etwas umschreiben? -
Hallo zusammen,
ich bräuchte mal Eure Unterstützung, komme gerade nicht weiter.
Ich will einen ESP8266 mit 2 Stück MCP23017 mit je 16 PINs ans Laufen bekommen und in den iobroker einbinden. Beide MCP sind über i2c angeschlossen (0x24 und 0x27).
Leider komme ich mit den beschriebenen Methode nicht voran?!Der Befehl "Sonsor29 ..." wird bspw. mit "Command unknown" quittiert?!
Muss ich in der user_config_override.h etwas umschreiben?@samyd hier ein beispiel video How to Expand Tasmota/Sonoff Devices with the I2C Protocol - MCP23017 GPIO Expansion - I²C
-
@samyd hier ein beispiel video How to Expand Tasmota/Sonoff Devices with the I2C Protocol - MCP23017 GPIO Expansion - I²C
-
@ralla66
mein WT32-ETH0 ist da.
Funktioniert exakt wie oben von mir beschrieben.
Allerdings wundere ich mich die ganze zeit, weshalb da zwei Geräte auftauchen:

Tja, das erste ist für WLAN, das zweite für LAN.
Diese Einstellung muss einmal in beiden Geräten gemacht werden:
Und schon kannst du über zwei IP Adressen, einmal über WLAN und einmal über LAN alle 16 Relais schalten.
Bin begeistert.
In Iobroker habe ich es noch nicht reingeholt, das mache ich dann später noch :-) -
@ralla66
mein WT32-ETH0 ist da.
Funktioniert exakt wie oben von mir beschrieben.
Allerdings wundere ich mich die ganze zeit, weshalb da zwei Geräte auftauchen:

Tja, das erste ist für WLAN, das zweite für LAN.
Diese Einstellung muss einmal in beiden Geräten gemacht werden:
Und schon kannst du über zwei IP Adressen, einmal über WLAN und einmal über LAN alle 16 Relais schalten.
Bin begeistert.
In Iobroker habe ich es noch nicht reingeholt, das mache ich dann später noch :-)@muchul
Hallo muchul,
Ich versuche auch gerade meinen WT32 mit Tasmota zum laufen zu bringen, leider bekomme ich es nicht hin.
Kannst du mir deine Einstellungen im Tasmocompiler zeigen die du verwendet hast um ihn über LAN verbinden zu können.Danke schon mal für deine Hilfe

