Hauptmenü

FRM_I2C auch schreibend?

Begonnen von potz1000, 27 Februar 2017, 15:06:32

Vorheriges Thema - Nächstes Thema

potz1000

Hallo, ich suche eine Möglichkeit, von FHEM aus über LAN I2C-Befehle zu senden um beispielsweise PCF8574er lesend als auch schreibend zu nutzen.
Hintergrund ist folgender: Mein FHEM läuft auf einem NUC in einer VM und nun sollen im Elektroverteiler Stromstoßrelais geschaltet und deren Zustand ausgelesen werden. Die Schalt- und Auswertemodule (mit Relais bzw. Optokoppler) habe ich schon fertig. Die Module sind mit I2C-ICs PCF8574 bzw. PCF8574A ausgerüstet.
Das Prinzip funktioniert elektrisch schon mal gut. Ein Testaufbau mit Raspi und FHEM und I2C über GPIOs macht, was es soll. Klar könnte ich den mit in den Schaltschrank einbauen und über FHEM2FHEM was machen, ich möchte aber eigentlich keinen zusätzlichen Raspi verbauen, höchstens einen Arduino mit LAN-Modul. Erscheint mir in Sachen Zuverlässigkeit besser. Große Anforderungen werden ja eigentlich nicht gestellt.
Nun war die Idee, die Firmata-Firmware bzw Module zu nutzen. Scheinbar kann das FHEM I2C-Modul aber nur lesen.
Oder gibt es einen Trick bzw. eine bessere Idee? Ich würde ehrlich gesagt gern fertige Module nutzen und so auch spezielle Arduino-Sketche umgehen, um die Skalierbarkeit und Übersichtlichkeit zu wahren.
Danke!
A.

klausw

Wieso willst du das zu Fuß machen?
Es gibt bereits ein Modul I2C_PCF8574 mit dem das IC angesteuert werden kann.
Dieses kann als IODev das Modul FRM nutzen.
In der Commandref findest du eine kurze Beschreibung dazu.
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

potz1000

Zitat von: klausw am 27 Februar 2017, 15:31:58
Wieso willst du das zu Fuß machen?
Es gibt bereits ein Modul I2C_PCF8574 mit dem das IC angesteuert werden kann.
Dieses kann als IODev das Modul FRM nutzen.
In der Commandref findest du eine kurze Beschreibung dazu.

Und wie bekomme ich das schreibend auf den PCF8574 über LAN aus einer VM?
Danke!
A.

klausw

Deine Frage galt doch Firmata, richtig?

Wie du bereits festgestellt hast kannst du mit dem FRM_I2C nur Daten lesen.

Wenn du ein Arduino Device mit Firmata drauf über Netzwerk anbindest kannst du es doch sicher auch in deiner VM anbinden (soweit diese ins Netz darf).
Nun hast du schon einmal eine Verbindung zwischen FHEM und FRM.
Den PCF8574 verbindest du mit dem Arduino auf dem Firmata läuft.
Anschließend definierst du eine I2C_PCF8574 Instanz. Als attribut IODev muss dort dein FRM Device eingebunden werden.

Wie nutzt du es denn über den Raspi I2C?
Dafür gibt es doch auch ein Modul.
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

potz1000

Okay, werde ich probieren.
Testweise hatte ich es ja über RPII2C und I2C_PCF8574 gemacht. Hat ja auf dem Raspi funktioniert.
Falls ich es richtig verstanden habe, einfach nur FRM nehmen (nicht FRM_I2C) und dann wieder I2C_PCF8574.?
Das wäre natürlich schön! Dann bastele ich mir mal den Arduino mit LAN und Firmata zusammen.

Danke schon mal!
A.

klausw

#5
Zitat von: potz1000 am 27 Februar 2017, 16:19:24
Falls ich es richtig verstanden habe, einfach nur FRM nehmen (nicht FRM_I2C) und dann wieder I2C_PCF8574.?
Das wäre natürlich schön! Dann bastele ich mir mal den Arduino mit LAN und Firmata zusammen.

Genau, dein I2C_PCF8574 kann bestehen bleiben.
Derzeit steht im IODev bei dir ein RPII2C Device drin. Das musst du nur gegen ein FRM Device austauschen.
Mit Firmata (allerdings über USB angebunden) hatte ich es schon in Betrieb.

FRM_I2C greift über FRM auf Firmata zu, ist aber nur zum lesen (EEPROM und so) geeignet.
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

potz1000

Danke! Wäre ja vielleicht doch einfacher als gedacht.  :)
A.

dbox2user

Hallo "potz1000"!

Ich hoffe es klappt bei dir !!
Bei mir gibt die gleiche Konstelation leider Probleme.
Schalten kann ich die einzelnen Ports grundsätzlich schon.

Meine Readings des PCF8574 werden aber nicht richtig aktualisiert und dann kommt es zu merkwürdigen "Falschschaltungen".
Das habe ich auch hier beschrieben: (auch ein Config Beispiel)
https://forum.fhem.de/index.php/topic,47495.30.html
ab Antwort 31.
Benutzt Du die normale "Firmata" oder die "configurable Firmata"?
Welche Version?

Also ich benutze die configurable Firmata (V 2.06), da ich auch einen 1-Wire Bus für Temperatursensoren an dem Arduino nutzen möchte.

Schau bitte mal, ob beim schalten eines einzelnen Pins das Reading des Pins und das Reading "state" gleichzeitig aktualisiert werden.
Bei mir ist das nämlich per Arduino nicht der Fall.
Direkt an den GPIOs des Raspberrys wurde die Readings jedoch sauber und gleichzeitig aktualisiert.

Bin mal gespannt wie das bei Dir klappt. ::)
Bitte geb uns Rückmeldung.

Gruß,
Christian
Fhem 5.8 auf Raspberry Pi2; 1 Wire OWSERVER mit DS9490R und OWX DS2480;AVR-NET-IO mit 1Wire;  LOGO8; Kostalpiko; Selbstbau CUL; Arduino mit cFirmata; Denon AVR; Samsung TV; Fritzbox;

klausw

#8
Zitat von: dbox2user am 27 Februar 2017, 17:48:27
Ich hoffe es klappt bei dir !!
Bei mir gibt die gleiche Konstelation leider Probleme.
Schalten kann ich die einzelnen Ports grundsätzlich schon.

Meine Readings des PCF8574 werden aber nicht richtig aktualisiert und dann kommt es zu merkwürdigen "Falschschaltungen".
Das habe ich auch hier beschrieben: (auch ein Config Beispiel)
https://forum.fhem.de/index.php/topic,47495.30.html
ab Antwort 31.
Benutzt Du die normale "Firmata" oder die "configurable Firmata"?
Welche Version?


Das habe ich wohl bisher aktiv überlesen.  8)

Wenn ich darüber nachdenke, ist dies durchaus möglich.
Im Gegensatz zu FRM meldet RPII2C den Status bei Erfolg wieder zurück. Dann erst werden die Readings aktualisiert.
Beim setzen eines GPIOs am PCF8574 wird der Status der Anderen Readings zur Generierung der Botschaft verwendet (es wird ein Byte gesendet bei dem jedes Bit einem GPIO entspricht). Wenn die Readings alle auf off stehen (da nicht aktualisiert) werden natürlich alle Ports wieder zurück gesetzt.
Ich hatte es damals nur mit einem Relais mal schnell getestet ... naja.
Testen kann ich es nicht, da ich im Mom kein Firmata verwende aber ich baue mal eine Testversion und dann könnt ihr euch austoben.

Edit
Folgendes sollte aber funktionieren:

- einen Port setzen
- Detailseite vom PCF8574 aktualisieren (das sollte den PCF8574 per I2C auslesen)
- jetzt müsste der Port auf der Detailseite gesetzt sein
- einen weiteren Port setzen (jetzt sollte der andere Port nicht zurück gesetzt werden)

@dbox2user: kannst du das mal testen?

Edit2

I2C_PCF8574_Get($hash, $name);

in Zeile 85 eingefügt könnte schon ausreichen.
So wird jedes mal nach dem setzen eines Ports der Wert zurück gelesen.

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

dbox2user

Hallo Klaus!

Schön, dass sich der "Modul-Chef" persönlich der Sache annimmt.  ;)

Ich habe es mal ausprobiert...
Du hast Recht, wenn ich nach jedem einzelnen Port setzen die Detailseite aktualisiere, dann werden das state-Reading und das geschaltete Port-Reading aktualisiert.
Schalte ich danach wieder EINEN Port und aktualisiere, funktioniert das ganze tadellos.  :)



Dein Edit 2....
Ich habe das im Modul 52_I2C_PCF8574.pm so eingetragen....


return "$name: no IO device defined" unless ($hash->{IODev});
  my $phash = $hash->{IODev};
  my $pname = $phash->{NAME};
  CallFn($pname, "I2CWrtFn", $phash, \%sendpackage);
  I2C_PCF8574_Get($hash, $name);
##########################################################
# IOWrite($hash, \%sendpackage);
##########################################################


Das Modul wurde dann per reload... neu geladen und sogar Fhem komplett neu gestartet.
Aber die Anpassung zeigt keine Änderung am beschriebenen Verhalten.

Da musst Du wohl etwas tiefer in die Trickkiste greifen.   ;)

Du kannst mir gerne Deine Ideen schreiben, ich kann sie testen.
Dann sparst Du Dir den Firmataaufbau.

Nachdem Du Dich gerade mit dem Modul beschäftigst... wäre es viel Arbeit ein zusätzliches Attribut "activeLow" miteinzubauen?  ::)
(Um bei einem "set Port0 on" den Ausgang nicht auf "1" sondern auf "0" zu schalten und umgekehrt)

Gruß,
Christian
Fhem 5.8 auf Raspberry Pi2; 1 Wire OWSERVER mit DS9490R und OWX DS2480;AVR-NET-IO mit 1Wire;  LOGO8; Kostalpiko; Selbstbau CUL; Arduino mit cFirmata; Denon AVR; Samsung TV; Fritzbox;

klausw

Jaja das leidige activelow... das ist etwas aufwändiger da diese Funktion nicht vom IC selbst unterstützt wird. Ich schaue es mir mal an.
Kannst du bitte mit der Modifikation und Verbose 5 in FRM und PCF Modul einmal schalten und das Ergebnis hier Posten?

Gesendet von meinem HTC One mit Tapatalk

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

dbox2user

Hier das log...
2017.02.27 21:10:01 5: FRM:>f0734011f7
2017.02.27 21:10:01 5: FRM:<f0734211
2017.02.27 21:10:01 5: FRM:<2806
2017.02.27 21:10:01 5: FRM:<700a000000407001f7
2017.02.27 21:10:01 5: FRM:>f0734411f7
2017.02.27 21:10:01 5: FRM:<f0734511
2017.02.27 21:10:01 5: FRM:<2806
2017.02.27 21:10:01 5: FRM:<700a000000407001f7
2017.02.27 21:10:01 5: FRM:>f07638080100f7
2017.02.27 21:10:01 5: FRM:<f077380000005901f7
2017.02.27 21:10:01 5: onI2CMessage address: '56', register: '0' data: [217]
2017.02.27 21:10:16 5: FRM:>f07638080100f7
2017.02.27 21:10:16 5: FRM:<f077380000005901f7
2017.02.27 21:10:16 5: onI2CMessage address: '56', register: '0' data: [217]
2017.02.27 21:10:22 5: FRM:>f07627000801f7
2017.02.27 21:10:22 5: FRM:>f07627000c01f7
2017.02.27 21:10:22 5: FRM:>f07627000801f7
2017.02.27 21:10:22 5: FRM:>f07627000800f7
2017.02.27 21:10:22 5: FRM:>f07627000c00f7
2017.02.27 21:10:22 5: FRM:>f07627000800f7
2017.02.27 21:10:22 5: FRM:>f07627002900f7
2017.02.27 21:10:22 5: FRM:>f07627002d00f7
2017.02.27 21:10:22 5: FRM:>f07627002900f7
2017.02.27 21:10:22 5: FRM:>f07627000900f7
2017.02.27 21:10:22 5: FRM:>f07627000d00f7
2017.02.27 21:10:22 5: FRM:>f07627000900f7
2017.02.27 21:10:22 5: FRM:>f07627004900f7
2017.02.27 21:10:22 5: FRM:>f07627004d00f7
2017.02.27 21:10:22 5: FRM:>f07627004900f7
2017.02.27 21:10:22 5: FRM:>f07627001900f7
2017.02.27 21:10:23 5: FRM:>f07627001d00f7
2017.02.27 21:10:23 5: FRM:>f07627001900f7
2017.02.27 21:10:23 5: FRM:>f07627007900f7
2017.02.27 21:10:23 5: FRM:>f07627007d00f7
2017.02.27 21:10:23 5: FRM:>f07627007900f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627005d00f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627007900f7
2017.02.27 21:10:23 5: FRM:>f07627007d00f7
2017.02.27 21:10:23 5: FRM:>f07627007900f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627007900f7
2017.02.27 21:10:23 5: FRM:>f07627007d00f7
2017.02.27 21:10:23 5: FRM:>f07627007900f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627006d00f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627005d00f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627002d00f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627003901f7
2017.02.27 21:10:23 5: FRM:>f07627003d01f7
2017.02.27 21:10:23 5: FRM:>f07627003901f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627000901f7
2017.02.27 21:10:23 5: FRM:>f07627000d01f7
2017.02.27 21:10:23 5: FRM:>f07627000901f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627002d00f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627006901f7
2017.02.27 21:10:23 5: FRM:>f07627006d01f7
2017.02.27 21:10:23 5: FRM:>f07627006901f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627005901f7
2017.02.27 21:10:23 5: FRM:>f07627005d01f7
2017.02.27 21:10:23 5: FRM:>f07627005901f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:23 5: FRM:>f07627007d01f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:23 5: FRM:>f07627004900f7
2017.02.27 21:10:23 5: FRM:>f07627004d00f7
2017.02.27 21:10:23 5: FRM:>f07627004900f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627002d00f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627006d00f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:23 5: FRM:>f07627007d01f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627006d00f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627001901f7
2017.02.27 21:10:23 5: FRM:>f07627001d01f7
2017.02.27 21:10:23 5: FRM:>f07627001901f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627006d00f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627004901f7
2017.02.27 21:10:23 5: FRM:>f07627004d01f7
2017.02.27 21:10:23 5: FRM:>f07627004901f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627002d00f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627002d00f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627002d00f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627006901f7
2017.02.27 21:10:23 5: FRM:>f07627006d01f7
2017.02.27 21:10:23 5: FRM:>f07627006901f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627007900f7
2017.02.27 21:10:23 5: FRM:>f07627007d00f7
2017.02.27 21:10:23 5: FRM:>f07627007900f7
2017.02.27 21:10:23 5: FRM:>f07627005901f7
2017.02.27 21:10:23 5: FRM:>f07627005d01f7
2017.02.27 21:10:23 5: FRM:>f07627005901f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:23 5: FRM:>f07627007d01f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:23 5: FRM:>f07627004801f7
2017.02.27 21:10:23 5: FRM:>f07627004c01f7
2017.02.27 21:10:23 5: FRM:>f07627004801f7
2017.02.27 21:10:23 5: FRM:>f07627000800f7
2017.02.27 21:10:23 5: FRM:>f07627000c00f7
2017.02.27 21:10:23 5: FRM:>f07627000800f7
2017.02.27 21:10:23 5: FRM:>f07627004900f7
2017.02.27 21:10:23 5: FRM:>f07627004d00f7
2017.02.27 21:10:23 5: FRM:>f07627004900f7
2017.02.27 21:10:23 5: FRM:>f07627000901f7
2017.02.27 21:10:23 5: FRM:>f07627000d01f7
2017.02.27 21:10:23 5: FRM:>f07627000901f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627006d00f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627005d00f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627006d00f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627001901f7
2017.02.27 21:10:23 5: FRM:>f07627001d01f7
2017.02.27 21:10:23 5: FRM:>f07627001901f7
2017.02.27 21:10:23 5: FRM:>f07627007900f7
2017.02.27 21:10:23 5: FRM:>f07627007d00f7
2017.02.27 21:10:23 5: FRM:>f07627007900f7
2017.02.27 21:10:23 5: FRM:>f07627002901f7
2017.02.27 21:10:23 5: FRM:>f07627002d01f7
2017.02.27 21:10:23 5: FRM:>f07627002901f7
2017.02.27 21:10:23 5: FRM:>f07627007900f7
2017.02.27 21:10:23 5: FRM:>f07627007d00f7
2017.02.27 21:10:23 5: FRM:>f07627007900f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627005d00f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627002d00f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627000900f7
2017.02.27 21:10:23 5: FRM:>f07627000d00f7
2017.02.27 21:10:23 5: FRM:>f07627000900f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627005d00f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627006d00f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627004900f7
2017.02.27 21:10:23 5: FRM:>f07627004d00f7
2017.02.27 21:10:23 5: FRM:>f07627004900f7
2017.02.27 21:10:23 5: FRM:>f07627004901f7
2017.02.27 21:10:23 5: FRM:>f07627004d01f7
2017.02.27 21:10:23 5: FRM:>f07627004901f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627005d00f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627002d00f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627006901f7
2017.02.27 21:10:23 5: FRM:>f07627006d01f7
2017.02.27 21:10:23 5: FRM:>f07627006901f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627000900f7
2017.02.27 21:10:23 5: FRM:>f07627000d00f7
2017.02.27 21:10:23 5: FRM:>f07627000900f7
2017.02.27 21:10:23 5: FRM:>f07627005901f7
2017.02.27 21:10:23 5: FRM:>f07627005d01f7
2017.02.27 21:10:23 5: FRM:>f07627005901f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:23 5: FRM:>f07627007d01f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627005d00f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627002d00f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627004900f7
2017.02.27 21:10:23 5: FRM:>f07627004d00f7
2017.02.27 21:10:23 5: FRM:>f07627004900f7
2017.02.27 21:10:23 5: FRM:>f07627004901f7
2017.02.27 21:10:23 5: FRM:>f07627004d01f7
2017.02.27 21:10:23 5: FRM:>f07627004901f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627000900f7
2017.02.27 21:10:23 5: FRM:>f07627000d00f7
2017.02.27 21:10:23 5: FRM:>f07627000900f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627002d00f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627006901f7
2017.02.27 21:10:23 5: FRM:>f07627006d01f7
2017.02.27 21:10:23 5: FRM:>f07627006901f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627002d00f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627005901f7
2017.02.27 21:10:23 5: FRM:>f07627005d01f7
2017.02.27 21:10:23 5: FRM:>f07627005901f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:23 5: FRM:>f07627007d01f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:23 5: FRM:>f07627001801f7
2017.02.27 21:10:23 5: FRM:>f07627001c01f7
2017.02.27 21:10:23 5: FRM:>f07627001801f7
2017.02.27 21:10:23 5: FRM:>f07627004800f7
2017.02.27 21:10:23 5: FRM:>f07627004c00f7
2017.02.27 21:10:23 5: FRM:>f07627004800f7
2017.02.27 21:10:23 5: FRM:>f07627004900f7
2017.02.27 21:10:23 5: FRM:>f07627004d00f7
2017.02.27 21:10:23 5: FRM:>f07627004900f7
2017.02.27 21:10:23 5: FRM:>f07627003901f7
2017.02.27 21:10:23 5: FRM:>f07627003d01f7
2017.02.27 21:10:23 5: FRM:>f07627003901f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627006d00f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627005d00f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627007900f7
2017.02.27 21:10:23 5: FRM:>f07627007d00f7
2017.02.27 21:10:23 5: FRM:>f07627007900f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627007900f7
2017.02.27 21:10:23 5: FRM:>f07627007d00f7
2017.02.27 21:10:23 5: FRM:>f07627007900f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627006d00f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627000900f7
2017.02.27 21:10:23 5: FRM:>f07627000d00f7
2017.02.27 21:10:23 5: FRM:>f07627000900f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627002d00f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627006901f7
2017.02.27 21:10:23 5: FRM:>f07627006d01f7
2017.02.27 21:10:23 5: FRM:>f07627006901f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627004900f7
2017.02.27 21:10:23 5: FRM:>f07627004d00f7
2017.02.27 21:10:23 5: FRM:>f07627004900f7
2017.02.27 21:10:23 5: FRM:>f07627005901f7
2017.02.27 21:10:23 5: FRM:>f07627005d01f7
2017.02.27 21:10:23 5: FRM:>f07627005901f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:23 5: FRM:>f07627007d01f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627005d00f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627006d00f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:23 5: FRM:>f07627007d01f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627006d00f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627004901f7
2017.02.27 21:10:23 5: FRM:>f07627004d01f7
2017.02.27 21:10:23 5: FRM:>f07627004901f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627005d00f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:23 5: FRM:>f07627007d01f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627005d00f7
2017.02.27 21:10:23 5: FRM:>f07627005900f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627006d00f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627004900f7
2017.02.27 21:10:23 5: FRM:>f07627004d00f7
2017.02.27 21:10:23 5: FRM:>f07627004900f7
2017.02.27 21:10:23 5: FRM:>f07627004901f7
2017.02.27 21:10:23 5: FRM:>f07627004d01f7
2017.02.27 21:10:23 5: FRM:>f07627004901f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627002d00f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627006d00f7
2017.02.27 21:10:23 5: FRM:>f07627006900f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627002d00f7
2017.02.27 21:10:23 5: FRM:>f07627002900f7
2017.02.27 21:10:23 5: FRM:>f07627006901f7
2017.02.27 21:10:23 5: FRM:>f07627006d01f7
2017.02.27 21:10:23 5: FRM:>f07627006901f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627003d00f7
2017.02.27 21:10:23 5: FRM:>f07627003900f7
2017.02.27 21:10:23 5: FRM:>f07627004900f7
2017.02.27 21:10:23 5: FRM:>f07627004d00f7
2017.02.27 21:10:23 5: FRM:>f07627004900f7
2017.02.27 21:10:23 5: FRM:>f07627005901f7
2017.02.27 21:10:23 5: FRM:>f07627005d01f7
2017.02.27 21:10:23 5: FRM:>f07627005901f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:23 5: FRM:>f07627007d01f7
2017.02.27 21:10:23 5: FRM:>f07627007901f7
2017.02.27 21:10:39 5: FRM:>f0732d112806700a0000004070010000000011f7
2017.02.27 21:10:40 5: FRM:>f0732d112806700a000000407013001001402ff7
2017.02.27 21:10:40 5: FRM:<f07343
2017.02.27 21:10:40 5: FRM:<111200380a707f7f3f
2017.02.27 21:10:40 5: FRM:<7f7f7f3700f7
2017.02.27 21:10:53 5: FRM:>f07638005801f7
2017.02.27 21:10:53 5: FRM:>f07638080100f7
2017.02.27 21:10:53 5: FRM:>f07638080100f7
2017.02.27 21:10:53 5: FRM:<f077380000005801f7
2017.02.27 21:10:53 5: onI2CMessage address: '56', register: '0' data: [216]
2017.02.27 21:10:53 5: FRM:<f077380000005801f7
2017.02.27 21:10:53 5: onI2CMessage address: '56', register: '0' data: [216]
Fhem 5.8 auf Raspberry Pi2; 1 Wire OWSERVER mit DS9490R und OWX DS2480;AVR-NET-IO mit 1Wire;  LOGO8; Kostalpiko; Selbstbau CUL; Arduino mit cFirmata; Denon AVR; Samsung TV; Fritzbox;

klausw

#12
So, ich habe es jetzt doch einmal aufgebaut. Ferndebugging ist nicht meine Stärke.

Das einfügen der Zeile:
I2C_PCF8574_Get($hash, $name)
Hat bei mir allerdings funktioniert. Die Werte werden brav aktualisiert.
List meines FRMs:
Internals:
   DEF        /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A4012FNQ-if00-port0@57600
   DeviceName /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A4012FNQ-if00-port0@57600
   FD         43
   NAME       firmata
   NOTIFYDEV  global
   NR         577
   NTFY_ORDER 50-firmata
   PARTIAL
   STATE      Initialized
   TYPE       FRM
   analog_pins 14,15,16,17,18,19,20,21
   analog_resolutions 14:10,15:10,16:10,17:10,18:10,19:10,20:10,21:10
   firmware   StandardFirmata.ino
   firmware_version V_2_05
   i2c_pins   18,19
   input_pins 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
   output_pins 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
   pwm_pins   3,5,6,9,10,11
   pwm_resolutions 3:8,5:8,6:8,9:8,10:8,11:8
   servo_pins 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
   servo_resolutions 2:14,3:14,4:14,5:14,6:14,7:14,8:14,9:14,10:14,11:14,12:14,13:14,14:14,15:14,16:14,17:14,18:14,19:14
   Readings:
     2017-03-03 16:24:52   state           opened
Attributes:
   i2c-config 1
   room       Schnittstellen



Zitat von: dbox2user am 27 Februar 2017, 20:05:31
Nachdem Du Dich gerade mit dem Modul beschäftigst... wäre es viel Arbeit ein zusätzliches Attribut "activeLow" miteinzubauen?  ::)
(Um bei einem "set Port0 on" den Ausgang nicht auf "1" sondern auf "0" zu schalten und umgekehrt)
... habe ich jetzt für die faulen unter euch eingebaut  8)

Modul im Anhang. Bitte ausgiebig testen.

...wird jetzt über Update verteilt
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

dbox2user

Hey Klaus!
Super Arbeit , vielen Dank! :)

Meine Relais schalten jetzt sauber und so wie gewollt durch.
Auch das Attribut "InvrtPorts" funktioniert und es wird bei "on" eine "0" geschaltet.

Etwas komisch, aber absolut egal ist folgendes...
Wenn ich die Detailansicht des PCF8574-Device offen habe und direkt hier oben auf den Button "set"... "Port0" "on" klicke, schaltet der Port 0 ein,
die Readings werden jedoch NICHT aktualisiert. Erst nach einem Seitenrefresh sind sie aktuell. Es schaut also so aus als ob das Problem weiterhin besteht.
-> Deshalb dachte ich auch, dass der Eintrag "I2C_PCF8574_Get($hash, $name)" nichts brachte.

Schalte ich jedoch die Ports über notifys und habe die Detailansicht in einem zweiten Fenster geöffnet, dann werden die Readings SOFORT aktualisert.  :o
Klingt zwar total unlogisch, ist aber wirklich so.

Aber wie gesagt, das macht eigentlich nichts, da die Schaltungen per notify bisher alle problemlos funktioniert haben.

Danke und Gruß,
Christian

Fhem 5.8 auf Raspberry Pi2; 1 Wire OWSERVER mit DS9490R und OWX DS2480;AVR-NET-IO mit 1Wire;  LOGO8; Kostalpiko; Selbstbau CUL; Arduino mit cFirmata; Denon AVR; Samsung TV; Fritzbox;

klausw

Zitat von: dbox2user am 04 März 2017, 20:52:17
Etwas komisch, aber absolut egal ist folgendes...
Wenn ich die Detailansicht des PCF8574-Device offen habe und direkt hier oben auf den Button "set"... "Port0" "on" klicke, schaltet der Port 0 ein,
die Readings werden jedoch NICHT aktualisiert. Erst nach einem Seitenrefresh sind sie aktuell. Es schaut also so aus als ob das Problem weiterhin besteht.
-> Deshalb dachte ich auch, dass der Eintrag "I2C_PCF8574_Get($hash, $name)" nichts brachte.

Schalte ich jedoch die Ports über notifys und habe die Detailansicht in einem zweiten Fenster geöffnet, dann werden die Readings SOFORT aktualisert.  :o
Klingt zwar total unlogisch, ist aber wirklich so.

Unlogisch muss das nicht sein.
Mhh, vielleicht ist das ein Timing Problem, wenn du in der Detailseite set drückst dann wird die selbige ja neu geladen. Wer weiß was da
schief geht. Wenn du ein zweites Fenster offen hast dann gibt es diese Rahmenbedingungen nicht.
Bei mir wird die Seite direkt aktualisiert. Wie auch immer, Hauptsache FHEM weiss welche Ports gsetzt sind ;)
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