FHEM mit ESPEasy Konfiguration so in Ordnung?

Begonnen von deathworm, 23 April 2018, 14:58:40

Vorheriges Thema - Nächstes Thema

deathworm

Hi,

ich benutze FHEM bislang nur fuer meine Teichsteuerung. Da nun auch noch etwas mehr kommen soll, habe ich mich dazu entschieden den rasp ins Haus zu holen und den Teich und dann alles neues mit dementsprechenden ESP8266 Nodes zu Versorgen.

So, ich habe nun um meine Altlasten zu entledigen eine komplett neue Installation gemacht, da bisher alles nur direkt lief.

Nun habe ich drei Sachen.

1. die Steuerung von Relais per ESPEASY
1.1. Muss ich fuer jeden Relaiskontakt diesen zuerst auf dem ESP anlegen und dann im FHEM? Also doppelt? Oder reicht es nur einmal in FHEM zu machen? So habe ich es bis jetzt und es funktioniert auch.
1.2. Ich sehe momentan nicht den derzeitigen Schaltzustand des ESP's in der Konfig. Ist das so normal? Derzeitiger Schaltzustand via Steckdose on oder Off waere klasse.
1.3. Bei einer Stromausfall der nur die ESP's betrifft - holen die sich dann den korrekten Schaltzustand den sie haben sollten wieder? Also wenn ich sage um 12:00 einschalten. Stromausfall passiert um 13:00 Uhr. Schaelt er sich nach dem Strom bekommen wieder ein oder bleibt er aus bis zum naechsten mal einschalten aus FHEM?
1.4. Momentan nutze ich die GPIOs 16, 5, 4, 0, 14, 12, 13, 15 fuer eine 8Kanal Relaiskarte. Nach einem Reset erreiche ich aber das ESP Modul immer nicht mehr. Erst wenn ich die Relaiskarte entferne und wieder hinmache. Welche GPIO Ports sind denn fuer 8 Kanaele empfehlbar?

Dies ist meine derzeitige Kopiervorlage die ich mir aus Auszuegen vom Forum und dev0 zusammengeklaut habe:

define ESPEasy_ESPTeichRelais_1_ESPTeich230V_1 ESPEasy 192.168.5.122 80 ESPBridge ESPTeichRelais_1_ESPTeich230V_1
attr ESPEasy_ESPTeichRelais_1_ESPTeich230V_1 IODev ESPBridge
attr ESPEasy_ESPTeichRelais_1_ESPTeich230V_1 Interval 300
attr ESPEasy_ESPTeichRelais_1_ESPTeich230V_1 group ESPEasy Device
attr ESPEasy_ESPTeichRelais_1_ESPTeich230V_1 presenceCheck 1
attr ESPEasy_ESPTeichRelais_1_ESPTeich230V_1 readingSwitchText 1
attr ESPEasy_ESPTeichRelais_1_ESPTeich230V_1 room ESPEasy
attr ESPEasy_ESPTeichRelais_1_ESPTeich230V_1 setState 3
attr ESPEasy_ESPTeichRelais_1_ESPTeich230V_1 icon black_Steckdose.off
attr ESPEasy_ESPTeichRelais_1_ESPTeich230V_1 stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"switch","")}
attr ESPEasy_ESPTeichRelais_1_ESPTeich230V_1 eventMap /gpio 16 on:off/gpio 16 off:on/

So in Ordnung?

2. Sunrise zeug
2.1 Ich habe aus meiner alten Konfiguration den Sunrisetimer uebernommen mit Anzeige auf der Seite. Leider funktioniert das nicht mehr. Ich habe folgende Sachen in der fhem.cfg:

attr global longitude 9.XXXXXX
attr global latitude 48.XXXXXX

# define Sonnentimer Dummys
define sun_riseSet_timer at *00:05:00 { my $s = sunrise();; fhem("set Sonnenaufgang $s");; $s = sunset();; fhem("set Sonnenuntergang $s");; }

define Sonnenaufgang dummy
attr Sonnenaufgang room Sonnentimer

define Sonnenuntergang dummy
attr Sonnenuntergang room Sonnentimer


Nur leider zeigt er mir da nun nur noch Fragezeichen an und auf der Hauptseite bemaengelt er folgendes:

SecurityCheck:
attr global latitude 48.XXXXXX

Muss ich noch irgendwo etwas hinzufuegen?

Otto123

Hi,

mal ein Anfang zu deinem Katalog:
Meine Notiz zu ESPEasy Schaltern

Der Artikel hat  mir immer geholfen mit der Auswahl der GPIO.
Von der Sache her kannst Du alle GPIOs nehmen, allerdings eben nicht alle "direkt".

Gruß Otto

Zur Formatierung von Code siehe Anhang  ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

deathworm

#2
Hi Otto,

Vielen Dank fuer deine Antwort. Dein Bild kam mir gleich bekannt vor, da ich deinen Blog schon desoefteren gut gebrauchen konnte.

Also Punkt 1.4 hat sich erledigt. Ich hatte schon damals, als ich alles direkt auf den RASP gemacht hatte, Problemchen mit den Relais. Ich stiess dann auf den Tipp mit einem Transistor und zwei Widerstaenden. Als ich dies dann nun auch beim ESP erledigt habe, klappt das auch mit dem schalten und dem reboot.

Was mich aber noch sehr irritiert ist der Punkt der Schalterabfrage. Ich habe den Teil den du in deinem Blog erlaeuterst ja bereits drin "attr ESPEasy_EDSPST1_SW1 stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Switch","")} ". Trotzdem zeigt der mir nicht den aktuellen Schaltzustand in Form der An/Aus Gluehbirne an. Er zeigt mir lediglich ein Absent an, wenn der Controller weg ist.


Sonnentimer hat sich auch erledigt. Da war ja mal was mit einem Tag warten...

Gruesse,
Sascha

eisman

Zitat von: deathworm am 24 April 2018, 13:54:52
Hi Otto,

Vielen Dank fuer deine Antwort. Dein Bild kam mir gleich bekannt vor, da ich deinen Blog schon desoefteren gut gebrauchen konnte.

Also Punkt 1.4 hat sich erledigt. Ich hatte schon damals, als ich alles direkt auf den RASP gemacht hatte, Problemchen mit den Relais. Ich stiess dann auf den Tipp mit einem Transistor und zwei Widerstaenden. Als ich dies dann nun auch beim ESP erledigt habe, klappt das auch mit dem schalten und dem reboot.

Was mich aber noch sehr irritiert ist der Punkt der Schalterabfrage. Ich habe den Teil den du in deinem Blog erlaeuterst ja bereits drin "attr ESPEasy_EDSPST1_SW1 stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Switch","")} ". Trotzdem zeigt der mir nicht den aktuellen Schaltzustand in Form der An/Aus Gluehbirne an. Er zeigt mir lediglich ein Absent an, wenn der Controller weg ist.


Sonnentimer hat sich auch erledigt. Da war ja mal was mit einem Tag warten...

Gruesse,
Sascha

hi,

warum braucht man das?
ESPEasy_EDSPST1_SW1 stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Switch","")} ".

ist bei mir ohne was vorhanden
gruss
1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian, Homematic,ZigBee         / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian,MQTT                               / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S

Otto123

Hallo deathworm,

poste mal ein list ESPEasy_ESPTeichRelais_1_ESPTeich230V_1

@eisman Wenn man mehrere Werte pro Device empfängt, also mehrere Readings hat.
ZitatsetState
Summarize received values in state reading.
A positive number determines the number of characters used for abbreviated reading names. Only readings with an age less than interval will be considered. If your are not satisfied with format or behavior of setState then disable this attribute (set to 0) and use global attributes userReadings and/or stateFormat to get what you want.
Possible values: integer >=0
Default: 3 (enabled with 3 characters abbreviation)
Es gibt mehrere Methoden, einen dauerhaften State zu haben. Meine Methode damals war ein zusätzlich übertragener Wert rssi.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

eisman

hi,

Dankeschön,

da kann ich das bei mir so lassen
gibt bei mir das wifi mit 30sec.

gruss
1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian, Homematic,ZigBee         / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian,MQTT                               / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S

deathworm

#6
Internals:
   DEF        192.168.5.122 80 ESPBridge ESPTeichRelais_1_ESPTeich230V_1
   ESPBridge_MSGCNT 3
   ESPBridge_TIME 2018-04-24 14:22:20
   ESP_BUILD  147
   ESP_SLEEP  0
   ESP_UNIT   0
   ESP_VERSION 9
   HOST       192.168.5.122
   IDENT      ESPTeichRelais_1_ESPTeich230V_1
   INTERVAL   300
   IODev      ESPBridge
   LASTInputDev ESPBridge
   MSGCNT     3
   NAME       ESPEasy_ESPTeichRelais_1_ESPTeich230V_1
   NOTIFYDEV  global
   NR         41
   NTFY_ORDER 50-ESPEasy_ESPTeichRelais_1_ESPTeich230V_1
   PORT       80
   STATE      absent
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    1.38
   READINGS:
     2018-04-24 14:22:20   Switch          on
     2018-04-24 14:21:10   dBm             -50
     2018-04-24 14:31:26   presence        absent
     2018-04-24 14:31:26   state           absent
   helper:
     fpc        1524572483
     pm:
       Encode     1
       JSON       1
Attributes:
   IODev      ESPBridge
   Interval   300
   devStateIcon on:on:off off:off:on absent:message_socket_off@red:on
   eventMap   /gpio 16 on:on/gpio 16 off:off/
   group      ESPEasy Device
   icon       black_Steckdose.off
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy
   setState   3
   stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"switch","")}



Das einzige was ich zwischenzeitlich noich zusaetzlich veraendert habe, sind die ICON's:   devStateIcon on:on:off off:off:on absent:message_socket_off@red:on

... momentag zeigt er Absent an, weil ich ihn zum Test ausgeschaltet habe. Ich korrigier das gleich mal.

eisman

hi,

ich steuer auch realis über ESP (rollladen)

defmod nSzRolloDown notify RO03:on set ESPEasy_ESP33 pcfpulse 1 0 500
attr nSzRolloDown devStateStyle style="color:aliceblue;;font-weight:bold;;text-align:right;;"
attr nSzRolloDown room rollladen


läuft gut... und das andere mit gpio 1 0 (oder 1)

wileicht hilft das

gruss

1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian, Homematic,ZigBee         / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian,MQTT                               / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S

Otto123

Switch != switch

READINGS:
     2018-04-24 14:22:20   Switch          on

ReadingsVal($name,"switch","")}
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

deathworm

#9
wow, das war die Loesung fuer dieses Problem.  DANKE! Waere ich selbst nie drauf gekommen.

SO, jetzt ist eig. alles von oben erledigt, bis auf das mit der Laengenangabe als Hinweis. Aber das soll mich nun nicht weiter stoeren.


Was aber grad dauerhaft in den Logs kommt:

2018.04.24 16:16:48 2: ESPEasy ESPBridge: Autocreate ESPEasy_ESPTeichRelais_1_ESPTeich230V_2 ESPEasy 192.168.5.122 80 ESPBridge ESPTeichRelais_1_ESPTeich230V_2
2018.04.24 16:16:48 1: ESPEasy ESPBridge: WARNING: an error occurred while creating device for ESPTeichRelais_1_ESPTeich230V_2: ESPEasy_ESPTeichRelais_1_ESPTeich230V_2 already defined, delete it first

Ich sehe aber in der FHEM.cfg keinen Unterschied zum ersten oder dritten etc. Eintrag. Auch auf dem esp sind diese devices nicht unterschiedlich. Irgendwie komisch?

dev0

Ich würde mich schon etwas wundern, wenn der Hinweis in der Warnung nicht wirken würde.

Otto123

Moin,

ZitatSecurityCheck:
attr global latitude 48.XXXXXX

Zum Einen kannst Du ja mal dies setzen und schauen ob der Fehler wiederkommt.attr global motd none

Zum Anderen müsstest Du überprüfen, ob sich im attr global latitude nicht irgendwelche Schreibfehler eingeschlichen haben.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

deathworm

Guten Morgen Otto,

daran hab ich als erstes gedacht. Aber Meldung kam trotzdem.

Habe aber nun wegen der ESPEASY Fehlermeldung alles von mir aus der CFG herausgeworfen. ESP ausgeschaltet. Alles per delete geloescht. Neu einlesen lassen und wieder editiert. Nun ist einerseits die latitude Meldung und die Device Meldung weg. Funktioniert hat die Längenangabe ja schon vorher. ALso Meldungstechnisch ist nun alles in Ordnung.


Ich kaempf grad nur noch etwas mit dem kleinen ESP herum. Ich muss ja bedenken, dass der auch mal Stromlos wird. Und beim booten hat der wohl immer mal wieder Probleme. Beim erneuten Stromlosmachen scheint das wieder zu funktionieren. Lediglich zieht er dann einige Relais an, obwohl er dies nicht so anzeigt. Ich sehe auch, dass die LED's am Relaisboard nicht so hell leuchten wie als diese normal beim betaetigen leuchten.

Ich habe nun schon einmal nach solch einer Raspberry USV geguckt. Die sollte ja fuer drei so ESP's gut ausreichen. Eventuell behelf ich mir damit.

Hast du derzeit son ESP mit mehreren Relais am laufen?

Otto123

Hi,

nein ich habe keine Relais Boards laufen. Insofern sind die Bemerkungen reine Theorie und eventuell unvollständig.

GPIO0 darf beim booten nicht auf Low liegen
GPIO15 muss beim booten auf Low liegen

Was die restlichen Pins beim Start mit den Relaiseingängen machen kann ich nicht sagen.
Hast Du die Betriebsspannung mit Elkos gepuffert?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

deathworm

Hoi,

die GPIO's habe ich in der Konfig auf Default gelassen. Ich hab da zwar zum testen mal den ein oder anderen mal auf Low und High gesetzt, aber ohne positiven Erfolg. Darum ging alles wieder auf "Default" zurueck. SOmit sollte das wohl kein Problem sein.

Nicht gesondert. Meines Wissens nach ist das aber von Haus aus hier schon erledigt. Ich benutze die ESP8266 NODEMCU loLin V3.

https://images-na.ssl-images-amazon.com/images/I/81xBVFRZ7UL._SX679_.jpg

Ich dachte das ist die Sorglosversion?