Hauptmenü

FHEM+ESP+ESPEasy mit I2C

Begonnen von gahle, 28 Februar 2017, 17:53:35

Vorheriges Thema - Nächstes Thema

gahle

Hallo,
nachdem ich nun in FHEM über ESPEasy-Modul und FW digitale IO's meines ESP8266-01 erfolgreich schalten kann (Danke an die Tippgeber!) möchte ich nun den nächsten Schritt machen.
An meinen ESP8266-01 möchte ich einen I2C-PortExpander PCF8574 anschliessen. Letztlich schaltet dieser seine 8Ports entsprechen der PortAdresse, dich ich vorgeben möchte. (Damit schalte ich dann letztlich Relais, die galvanisch getrennt, 220V schalten und damit meinen Garten ausleuchten).

Wie kann ich über das ESPEasy-Modul den von FHEM aus die Ports schalten?
Hat das jemand schon mal gemacht?

Gruss
gahle

dev0


set <esp> help pcfgpio

Gibt bei folgendes aus:

set <esp> pcfgpio <pin> <0|1|off|on>


<pin> mußt Du in der ESPEasy Command Reference nachschlagen auf letscontrolit.com, hängt von der i2c Adresse ab.

gahle

Hallo,
habe da noch ein kleines Problemchen..
ich möchte nun von FHEM aus jeden Port des I2C PortExpanders ein- oder ausschalten.

Der ESP verfügt für jeden Port über einen Taskt und ich kann per http://192.168.178.28/control?cmd=pcfgpio,0,0
ein und ausschalten.

Ich möchte das aber über das EspEasyModul von fhem machen. Definiert als Schalter.
Kommne aber nicht weiter, wie bringe ich meinen Dummy und den zu schaltenden Port zusammen?
Habe es versucht, aber es fehlt was...der Port schaltet nicht.

#
#********************************************************************
# Versuch mit ESPEasy
# Definiton der Bridge
#********************************************************************
define espBridge ESPEasy bridge 8383
attr espBridge room Gartenleuchten

#********************************************************************
# Definiton der der PCF8574 Ports 1
#********************************************************************
define ESPEasy_WLANChip1_Led1 ESPEasy 192.168.178.28 80 espBridge WLANChip1_Led1
attr ESPEasy_WLANChip1_Led1 IODev espBridge
attr ESPEasy_WLANChip1_Led1 Interval 300
attr ESPEasy_WLANChip1_Led1 group Gartenlicht
attr ESPEasy_WLANChip1_Led1 presenceCheck 1
attr ESPEasy_WLANChip1_Led1 readingSwitchText 1
attr ESPEasy_WLANChip1_Led1 room ESPEasy,Gartenleuchten
attr ESPEasy_WLANChip1_Led1 setState 3

define Schalter1 dummy
attr Schalter1 devStateIcon on:ios-on-green off:ios-off
attr Schalter1 group Gartenlicht
attr Schalter1 room Gartenleuchten
attr Schalter1 setList on off
attr Schalter1 webCmd on:off

define Schalter1_Notify_On notify Schalter1:on set ESPEasy_WLANChip1_Led1 pcfgpio 1 0
define Schalter1_Notify_Off notify Schalter1:off set ESPEasy_WLANChip1_Led1 pcfgpio 1 1




dbox2user

Hi gahle!

Schau mal hier ganz unten bei 'output'

https://www.letscontrolit.com/wiki/index.php/PCF8574


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;

dev0

Ist das device ESPEasy_WLANChip1_Led1 per autocreate angelegt worden? Daraus könnte man ableiten ob die Kommunikation zwischen Modul und ESPEasy generell funktioniert. Sonst könnte ein verbose 5 log vom versuchten Schaltvorgang helfen.

gahle

Hallo,
ja ist per auocreate gekommen, da ich für jeden Port des PCF8574 einen eigenen Task auf dem ESP8266 angelegt habe.

Gruss
gahle

dev0

Zeig bitte ein list von Bridge und Device and einen Logauszug mit global verbose 5 vom Schaltvorgang, also mit "set ESPEasy_WLANChip1_Led1 pcfgpio 0 0".

Jon-bo

Hallo,
hast du hier für eine Lösung gefunden?