Modul für die Ansteuerung des MCP23017 I2C Portextender

Begonnen von klausw, 03 Mai 2014, 01:02:40

Vorheriges Thema - Nächstes Thema

AlphaKingOne

Also ich wollte es als kleines Haus bus nehmen wobei ich noch nicht weiß ob es von der reichweite hin haut. Also es wären dann 15m - 20m. Soll dann über ein Cat.6 Kabel laufen zusammen mit dem DS18b20. Erstmal soll es in die garage für die steuerung der Tore und ein weiter in die Waschüche (ist neben der Garage) um von dort per Taster das Tor zu öffnen. Deswegen ist es Blöd wenn nur einer Interupt kann. Desweitern hab ich ja noch auf meiner Platine als Test ein paar Taster angebracht. Aber wenn ich von Portexpander zu Portexpander eine Leiung für den Interupt legen kann ist ja schön :) Muss ich nur noch schauen wie. Bin ja noch einsteiger ;)
Raspberry B, B+, B v2 u. v3; DS18B20; MCP23017; CUL; ESP8266

klausw

I2C ist eher für Kommunikation auf Platinenebene gedacht.
Für längere Strecken ist es sinnvoller die Signale differentiell (CAN-Bus etc.) zu übertragen.
Kannst du nur testen.
Hier gibt es ein paar Infos.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

wthiess

Gehört nicht hier her deshalb bitte nicht hier weiterschreiben. Für Externe Räume habe ich folgenden Vorschlag: Modbus bis 1200Meter
https://forum.fhem.de/index.php/topic,25315.0.html
Im hinteren Teil einiges geschreiben.
Diese Ding hat 4 Relais und 4 Eingänge on Board. Ich hab 2 im Test. Werde meine Gartenhütte damit bestücken.
http://www.ebay.at/itm/Modbus-RTU-4-Way-Relaismodul-DIY-STM8S103-System-4-Road-Input-485-Communication-/131672597921?hash=item1ea84c65a1:g:VuYAAOSw4UtWRvlM


lg
Wolfgang
Raspberry Pi 3; 8xRelais; Aptodec Nano V3.0 Pro; FS1000a; RF-5V; Hama TS33C; 3x Brennerstuhl FunkSteckdosen; 9x Dooya funk Rollo; KWL Systemair VR400; Thermokon Modbusthermostat; diverse China Modbus Thermostate; 1-wire Bus; Telegram; QuickFhem; FhemNative; Firmata; Alexa ......

AlphaKingOne

ja ich hab auch schon über Can nachgedacht. Aber da der Pi I2C kann wollte ich erst mal das lernen und Can wollte ich danach machen.
Raspberry B, B+, B v2 u. v3; DS18B20; MCP23017; CUL; ESP8266

wthiess

Hallo Leute!
Erfahrung mit längerer Leitung!
Ich habe den MCP23017 nun mit einem 5m Kabel test halber mit dem Raspberry verbunden. Leider muss ich alle paar Stunden den Raspberry neu starten. Ich wollte mir ein Cat5 Kabel 5m sparen. Kontaktfehler ausgeschlossen, alles sauber gelötet.
Werde es wieder umbauen.

lg
Wolfgang
Raspberry Pi 3; 8xRelais; Aptodec Nano V3.0 Pro; FS1000a; RF-5V; Hama TS33C; 3x Brennerstuhl FunkSteckdosen; 9x Dooya funk Rollo; KWL Systemair VR400; Thermokon Modbusthermostat; diverse China Modbus Thermostate; 1-wire Bus; Telegram; QuickFhem; FhemNative; Firmata; Alexa ......

klausw

Anbei eine neue Version des MCP23017 Moduls.
zum einen habe ich eine Bug gefixed durch den die Reading nicht aktualisiert werden, wenn alle Ports 0 sind und noch
Smartmatch ersetzt
Workaround für FRM (Das FRM Modul liefert bei erfolgreichen Schreibbefehlen die Werte nicht zurück und daher wurden die Readings bei set nicht aktualisiert)
Bitte testen
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

wthiess

Derzeit nicht.  Ich hab das Projekt beiseite gelegt. Ich mach im Moment alles mit Modbus.

lg
Wolfgang
Raspberry Pi 3; 8xRelais; Aptodec Nano V3.0 Pro; FS1000a; RF-5V; Hama TS33C; 3x Brennerstuhl FunkSteckdosen; 9x Dooya funk Rollo; KWL Systemair VR400; Thermokon Modbusthermostat; diverse China Modbus Thermostate; 1-wire Bus; Telegram; QuickFhem; FhemNative; Firmata; Alexa ......

klausw

Ok, dann warte ich noch 2 Wochen und checke es ein wenn bis dahin keine Beschwerden kommen. Es sollte funktionieren, die Änderungen sind identisch zum MCP23008, den ich selbst testen konnte.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Bastian0302

#188
Mein MCP23017 läuft nun schon eine ganze Weile sehr gut. Aber bei jedem Interrupt schreibt er ein Perlwarning ins Log und auf Dauer ist das echt nervig.
Eine Zeit lang war es weg aber nach einem Update kam es dann wieder. Weis leider nicht mehr wann dieses war.

BG_1 heißt der MPC23017.

2017.05.20 16:19:28 1: PERL WARNING: Interrupt userReadings test evaluated to undef at fhem.pl line 4246, <GEN9> line 219.
2017.05.20 16:19:28 3: eval: {fhem ("get BG_1")}


Im wiki steht unter "get" auch die Möglichkeit  "get <device> ?" dies hat aber nichts gebracht.

Habt ihr auch Probleme mit dieser Meldung?

PS:Mit Verbose 0 in den Devices hat leider auch nichts gebracht.
Updates wurden heute durchgeführt auch ohne Erfolg.
Raspbarry Pi 3, Panstamp NRG 2, Cul 433Mhz Sender/Empfänger, Mcp23017 Ein/Ausgabebaugruppe, TabletUi, Doorpi mit Nextion/RFID und Integration in Fhem, Sonos

LuckyDay

du musst dein userReadings ändern nach diesem Schema
interrupt:Pinlevel:.low* none {fhem ("get i2c21"); "egal"}

Bastian0302

Vielen Dank :)
Hat geholfen.

Kann man das irgendwie noch in dem Wiki aktualisieren??
Raspbarry Pi 3, Panstamp NRG 2, Cul 433Mhz Sender/Empfänger, Mcp23017 Ein/Ausgabebaugruppe, TabletUi, Doorpi mit Nextion/RFID und Integration in Fhem, Sonos

Frank_Huber

Wenn ich einen Verbesserungsvorschlag machen dürfte:
"on-for-timer" wäre toll. :-)

Burny4600

Eines was ich mir für diesess Modul noch wünschen würde ist wenn etwas faul ist an der IODev RpiI2C dann werden definierte Einstellung für Ausgänge gelöscht.
Passiert wie ich am I2C irrtümlich den Namen RpiI2C geändert hatte.
Das zog sich bei allen MCP23017 durch wie ein Ratenschanz und ist erst aufgefallen wie keine Ausgänge mehr funktionierten.
Vielleicht gibt es hierfür einmal eine Änderung.
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

f.f

Hi,

meine Erweiterungskarte laeuft endlich und hängt seit heute an 4 * 16 Kanal China Relaisplatinen. Die haben Optokoppler und siese liegen an den Eingängen auf high, schalten also gegen ground. Jetzt hab ich meine ganze FHEM dummys aber schon so gestrickt, dass on(dummy) auch ON am relais heissen sollte. Wenn ich aber jetzt im fhem modul ON schalte ists genau umgekehrt, das Relais schaltet also ein wenn ich sage AUS. Kann ich die Ausgänge am 23017 irgendwie invertieren?

Gruss

klausw

Zitat von: f.f am 14 September 2017, 17:23:43
....Wenn ich aber jetzt im fhem modul ON schalte ists genau umgekehrt, das Relais schaltet also ein wenn ich sage AUS. Kann ich die Ausgänge am 23017 irgendwie invertieren?

im Modul ist das nur für Eingänge vorgesehen
Aber du könntest das in den dummys realisieren. Oder du verwendest alternativ readingsProxy
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280