Dual-Schaltaktor mit ESP01 für Hutschienenmontage

Begonnen von Papa Romeo, 30 Juli 2018, 22:43:37

Vorheriges Thema - Nächstes Thema

andies

Zitat von: Katzechrisu am 29 Dezember 2018, 23:41:02
Genericmodul
GPIO0 Switch1
GPIO1 Relais1
GPIO2 Relais2
GPIO3 Switch2
Bist Du sicher? Ich habe das hier
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Frank_Huber

Zitat von: andies am 30 Dezember 2018, 10:42:17
@Frank_Huber: Ich wollte eigentlich nur wissen, wie du in ESPEasy die Relais ansteuerst.

vorweg, Das Beispiel hier basiert auf einem Sonoff. da aber alles ESP basiert ist passt das auch für deinen Aktor, GPIOs natürlich anpassen!

schalten entweder aus FHEM heraus oder per Taster.

FHEM Konfig:
defmod ESPBridge ESPEasy bridge 8383
attr ESPBridge allowedIPs .*
attr ESPBridge event-on-change-reading .*

defmod SONOFF_18 ESPEasy 192.168.12.190 80 ESPBridge SONOFF_18_Relais
attr SONOFF_18 IODev ESPBridge
attr SONOFF_18 Interval 300
attr SONOFF_18 event-on-change-reading .*
attr SONOFF_18 eventMap /gpio 12 on:on/gpio 12 off:off
attr SONOFF_18 presenceCheck 0
attr SONOFF_18 readingSwitchText 1
attr SONOFF_18 setState 3
attr SONOFF_18 stateFormat Relais

defmod ESP190_SONOFF18 ESPEasy 192.168.12.190 80 ESPBridge SONOFF_18_Wifi_RSSI
attr ESP190_SONOFF18 IODev ESPBridge
attr ESP190_SONOFF18 Interval 300
attr ESP190_SONOFF18 event-on-change-reading .*
attr ESP190_SONOFF18 presenceCheck 1
attr ESP190_SONOFF18 readingSwitchText 1
attr ESP190_SONOFF18 setState 3
attr ESP190_SONOFF18 stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Wifi-RSSI","")}


Die ESPEasy Rules dazu:
on Taster#Taster=1 do
if [Relais#Relais]=1
   gpio,12,0
else
   gpio,12,1
endif
endon

on Relais#Relais do
if [Relais#Relais]=1
   gpio,13,0
else
   gpio,13,1
endif
endon

GPIO12 ist das Relais, GPIO13 die LED Ansteuerung.

andies

#137
Hmm, da passt was nicht. papa romeo hat GPIO3 als Button definiert, das erlaubt mir aber ESPEasy gar nicht als switch zu setzen?

<edit> Unter Tools/advanced die serielle Kommunikation lahmlegen.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Also ich werde noch verrückt hier. Jetzt habe ich ESPEasy drauf, Verbindung mit FHEM-HTTP. Das Gerät selbst ist erreichbar. Dann habe ich zwei switches definiert, die auf GPIO0 und GPIO3 hören (da muss man Push Button Active Low nehmen, weil die Taster ja auf GND gehen  - aber mit anderen Einstellungen ändert das nichts). Wenn ich dann sowohl an den Tastern am Eltako als auch am Taster in den Räumen drücke, reagieren beide switches nicht. Das kann doch nicht sein.

Also das Problem taucht nur im eingebauten Zustand auf. Beide Ta1 und Ta2 sind stromlos. Da kann also nicht passieren. L1 liefert die Spannung für den ESP. L2 liegt zwar an, aber nur am Relais (das nicht geschlossen ist). Dann drücke ich die eingebauten Taster und damit verbinden sich GPIO mit GND. Wieso signalisieren die GPIOs nicht, dass man bei ihnen auslöst? Und das ist nur im eingebauten Zustand (2L-Phase) so?!

@papa romeo: Kann es sein, dass es da einen Fehler im Schaltplan gibt? Ich habe inzwischen keine andere Erklärung mehr.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Frank_Huber

andies, welche ESPEasy Version hast Du drauf?

andies

Firmware
Build:⋄   20103 - Mega

Libraries:⋄   ESP82xx Core 2_4_2, NONOS SDK 2.2.1(cfd48f3), LWIP: 2.0.3 PUYA support

GIT version:⋄   mega-20181220

Plugins:⋄   46 [Normal]

Build Md5:   fc21cc476831c3c5a9c231449862226b

Md5 check:   passed.

Build time:⋄   Dec 20 2018 03:04:51

Binary filename:⋄   ESP_Easy_mega-20181220_normal_ESP8266_1024.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Frank_Huber

OK, da ist die GPIO Änderung schon zurückgezogen, die sollte funktionieren.

nimm mal "normal Switch", der push button amacht das irgendwie anderst.
pull up und reverse logic hast aktiviert?

andies

Zitat von: Frank_Huber am 30 Dezember 2018, 16:24:05
pull up hast aktiviert?
Danke, das war es - hatte ich nicht aktiviert (weil doch da ein Pullup in der Schaltung war). Jetzt wird es erkannt. Puh, ein ganzer Tag und dann so etwas. Danke, danke.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

#143
Zu früh gefreut. Ich hatte bisher die zweite Phase vom Eltako getrennt und nur die Phase schalten lassen, die auch den ESP mit Strom versorgt. Danach habe ich die zweite Phase hinzugefügt (was eigentlich nichts ausmachen sollte, da sie ohne Taster nicht verbunden ist).

Die erste Phase lässt sich sowohl über den ESP als auch über den Taster sowie über FHEM schalten.

Die zweite Phase (FlurOben) schaltet nicht über den Taster oder sie wechselt ständig. Da ist also was nicht in Ordnung.  Nach einem Mal drücken am Taster am Gehäuse passiert folgendes
6674860: HTTP : C009 written to client (179/435)
6674860: HTTP : C009 closing connection
6681699: SW : GPIO=0 State=0 Output value=0
6681702: EVENT: FlurOben#Switch=0.00
6681718: EVENT: FlurOben#Switch=0.00 Processing time:16 milliSeconds
6681744: HTTP : C009 connecting to raspfhem.fritz.box:8383
6681760: POST /ESPEasy HTTP/1.1^^Content-Length: 289^^Host: raspfhem.fritz.box:8383^^User-Agent: ESP Easy/20103/Dec 20 2018 03:04:51^^Co
6681762: HTTP : C009 written to client (179/435)
6681762: HTTP : C009 closing connection
6691866: WD : Uptime 112 ConnectFailures 0 FreeMem 15248
6692399: SW : GPIO=0 State=0 Output value=1
6692402: EVENT: FlurOben#Switch=1.00
6692418: EVENT: FlurOben#Switch=1.00 Processing time:16 milliSeconds
6692443: HTTP : C009 connecting to raspfhem.fritz.box:8383
   
Das direkte Schalten des Lichtes geht
http://192.168.2.21/control?cmd=GPIO,2,1
Nach 14-30 Sekunden schaltet das Gerät wieder aus.

Da der Taster direkt an GPIO-0 geht, bleiben folgende Möglichkeiten: Konstruktionsfehler, Widerstände etc defekt oder der ESP ist nicht in Ordnung. Konstruktionsfehler schließe ich aus, da es ja an der Steckdose ging. Auch die Zwei-Phasen-Schaltung ist unproblematisch, da ich ja direkt den Taster bediene (ich hatte die zweite Phase ja auch abgeklemmt). Bei den beiden Eingängen sind nur jeweils zwei 1kOhm Widerstände unterschiedlich, die könnten Durchgang haben (dann hätte ich aber Kurzschluss) oder sie könnten hochohmig sein (das wäre theoretisch noch möglich - nur müsste dann das Licht ständig flackern?).

Als bleibt eigentlich nur der defekte ESP. Nur passt das wiederum nicht, dass ich mit GPIO0 flashe und das ging immer passend durch.

Also ich verstehe nicht, was hier faul ist.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Frank_Huber

Poste mal die konfig des Tasters, Relais und der rules.
Denke da passt was nicht.

Gesendet von meinem Doogee S60 mit Tapatalk


andies

FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Frank_Huber

So kannst du nie per fhem schalten.
Übernimmt mal die rule von mir und gehe auf normal switch.
Dann geht das.

Gesendet von meinem Doogee S60 mit Tapatalk


Frank_Huber

Die Taster gpio müssen auch nicht an fhem senden.
Das machen die Relais. Die hast gar nicht angelegt.


Gesendet von meinem Doogee S60 mit Tapatalk


andies

Vielen Dank, probiere ich nachher aus. Also zwei Geräte im ESPEasy: Einmal den Taster (GPIO 0) selbst, dann das Relais (GPIO 2). Sobald Taster=1 wird der entsprechende Schaltzustand des Relais getoggelt.

Danach FHEM einbinden. (Das ging übrigens, aber eben nur in dem ersten Taster.)

Momentan habe ich zwei Probleme:

  • "Daily flash write rate exceeded! (powercycle to reset this)"
  • Kinder baden.
Trotzdem danke, ich melde mich.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Frank_Huber

Einfach den esp neu starten. Dann kannst wieder.
Melde dich wenn du Hilfe brauchst.

Gesendet von meinem Doogee S60 mit Tapatalk