ESP8266 mit ESPEasy in wenigen Minuten an Fhem anbinden

Begonnen von Reinhart, 26 Dezember 2015, 10:33:51

Vorheriges Thema - Nächstes Thema

Franz Tenbrock

schau mal in mein Beispiel wie man das in espeasy definieren muss unter advance
Subscribe Template:           /Home/#
Publish Template:            /fhem/ESP1/1/Abstand

unter device   den  value name

dann die Def in fhem.cfg des mqtt brokers

attr ESP1_D1 stateFormat Abstand
attr ESP1_D1 subscribeReading_Abstand /fhem/ESP1/1/Abstand

dann sollte was ankommen..


komme mit userreadings etc nicht weiter, ist wie immer sicher nur ne Kleinigkeit... Die Beispeiele im wiki und in der command ref sind immer gleich so kompliziert :-(
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Franz Tenbrock

ich will doch nur einen einfachen Wert berechnen und einer neuen Variablen zuweisen um damit dann weitere Berechnungen zu machen.
wo fehlt das Komma oder was auch immer

#################################################################
###############        MQTT
######################################################################


#MQTT FHEM
define mqttServer MQTT 127.0.0.1:1883
attr mqttServer room MQTT

define ESP1_D1 MQTT_DEVICE
attr ESP1_D1 IODev mqttServer
attr ESP1_D1 room MQTT
attr ESP1_D1 stateFormat Abstand
attr ESP1_D1 subscribeReading_Abstand /fhem/ESP1/1/Abstand


define Abstand_ohne_Offset readingsProxy ESP1_D1:Abstand
attr Abstand_ohne_Offset room MQTT

define Abstand_mit_Offset readingsProxy ESP1_D1:Abstand
attr Abstand_mit_Offset room MQTT

#########   offset 30 cm  ##############
attr Abstand_mit_Offset userReadings Abstand_offset { ReadingsVal((ESP_D1","Abstand","Abstand")-30);; }
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

habeIchVergessen

attr Abstand_mit_Offset userReadings Abstand_offset { (ReadingsVal("ESP_D1","Abstand","Abstand")-30);; }

Franz Tenbrock

ok da fehlte was...
war wahrscheinlich ganz zum Schluß verloren gegangen,
funktioniert trotzdem nicht
das hier auch nicht


Abstand_offset
Error evaluating Abstand_mit_Offset userReading Abstand_offset: Not enough arguments for main::ReadingsVal at (eval 5626) line 1, near "30)"
2016-07-20 07:18:22
Abstand_ohne_offset                    -30                     2016-07-19 22:43:25
state                                            4.84                    2016-07-20 07:18:22
attr Abstand_mit_Offset     MQTT

Attributes    room       MQTT                                deleteattr
userReadings             Abstand_offset { ReadingsVal(("ESP_D1","Abstand","")-30);; }
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

dev0

Zitat von: Franz Tenbrock am 20 Juli 2016, 07:24:35

userReadings             Abstand_offset { ReadingsVal(("ESP_D1","Abstand","")-30);; }


attr ESP_D1 userReadings Abstand_offset:Abstand:.* { ReadingsVal($name,"Abstand",0)-30 }

Franz Tenbrock

Hab gerade das hier gelesen, da hat sich wohl was geändert..

ttps://forum.fhem.de/index.php/topic,52165.0.html

Bin gerade im Büro und kann es nicht checken......

Irgendwie ist die commandref schwer zu verstehen wenn man keine Programmiererfahrung und das nicht tgl. macht hat und im Wiki steht im Moment gar nichts. Einfachste erklärte Beispiele würden helfen, Was will ich machen, Was sind die Ausgangswerte ...

Ausgangslage:

define ESP1_D1 MQTT_DEVICE
define Abstand_ohne_Offset readingsProxy ESP1_D1:Abstand

also wir haben eine Variable
"Abstand_ohne_Offset" die den Wert x hat
wir wollen eine neue Variable die den Namen "Abstand_offset" hat
dazu benutzen wir die Möglichkeit der Variable "Abstand_ohne offset" ein neuen Wert mit dem Namen "Abstand_offset" mittels der Funktion userreadings zuzuweisen

was bedeutet denn dann :Abstand:.* ????

userReadings             Abstand_offset:Abstand:.* { ReadingsVal(("ESP_D1","Abstand","")-30);; }


will es auch verstehen damit ich in Zukunft nicht blöd fragen muss ....
hab ja auch noch den kompletten Rechenweg für die Berechnung des Füllvolumens
grrrr
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

dev0

Zitat von: dev0 am 20 Juli 2016, 07:47:07
attr ESP_D1 userReadings Abstand_offset:Abstand:.* { ReadingsVal($name,"Abstand",0)-30 }
Bedeutet: wenn sich das Reading Abstand ändert, dass schreibe in das neue Reading Abstand_offset den Wert des Readings Abstand und subtrahiere 30.
:Abstand:.* steht dafür, dass das userReading nur durch das Reading Abstand, mit einem beliebigen Wert, getriggert wird. Kann man weglassen, dann wird das userReading aber ggf. nutzlos, durch andere Readingänderungen, getriggert.
$name steht für das aufrufende Device, neuerdings kann man auch $NAME schreiben.

Zitat von: Franz Tenbrock am 20 Juli 2016, 08:19:20
userReadings             Abstand_offset:Abstand:.* { ReadingsVal(("ESP_D1","Abstand","")-30);; }
Hier sind die Klammern wieder falsch gesetzt.

Franz Tenbrock

erst einmal großen Dank

werde es heute nachmittag testen
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

JoWiemann

#263
Zitat von: Bapt. Reverend Magersuppe am 21 Juni 2016, 17:10:41
Hi!

Ich habe auf dem Sonoff ESPeasy drauf, das kann auch MQTT. Gut dokumentiert ist das anscheinend nicht. Rückmeldung gibts keine, da wird wohl von ausgegangen wenn man den Befehl gepublisht hat, das der auch ankommt. Das könnte man noch über den qos-Parameter regeln damit es sicher ist das es angekommen ist. Ich weiss aber nicht, wie sehr esp-mqtt das qos überhaupt berücksichtigt. mosquitto-Server tut das ja.

Mit dem "/" geht es tatsächlich auch, habe ich gerade gut probiert. Ich habe den \ als Negotiator in der bash gebraucht weil ein einfaches #-Zeichen sonst nicht durch geht. Der / wird anscheinend ignoriert. Ich bekomme auch topics angezeigt ohne den ganz vorn davor.

Wenn man subscribed bekommt man die Rückmeldungen vom ESP wenn der noch Sensoren wie einen DS1820 dran hat. Der gedrückte Button vom Sonoff wird einem auch gemeldet.
Da muss man die Devices natürlich eintragen im Konfigpage. Beim Sonoff könnte man als Pseudo-Device die Uptime oder Memory verwenden zum testen ob da was kommt.

Hallo,

ich habe jetzt auf einem sonoff EspEasy R108 drauf. Die R108 bietet die Möglichkeit über "Send Data" den Status zurück zu melden. Weiterhin habe ich "Value Name 1:" auf "state" defniert. Mit mqtt:openHAB MQTT bekomme ich beim Schalten über den Taster, als auch über Fhem eine Rückmeldung.

Grüße Jörg


define sonoff_01 MQTT_DEVICE
attr sonoff_01 IODev mqtt
attr sonoff_01 devStateIcon 1:on:0 0:off:1
attr sonoff_01 publishSet 1 0 /sonoff_01/GPIO/12
attr sonoff_01 qos at-most-once
attr sonoff_01 retain 1
attr sonoff_01 stateFormat state
attr sonoff_01 subscribeReading_state /sonoff_01/Relais/state


Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

habeIchVergessen

Zitat von: habeIchVergessen am 19 Juli 2016, 23:48:08
attr Abstand_mit_Offset userReadings Abstand_offset { (ReadingsVal("ESP_D1","Abstand","Abstand")-30);; }
Zitat von: Franz Tenbrock am 20 Juli 2016, 07:24:35
                          userReadings             Abstand_offset { ReadingsVal(("ESP_D1","Abstand","")-30);; }

Franz Tenbrock

#265
Ich hab (fiktiv) 8600 Liter in meiner Zisterne,
d.h
es funktioniert mit dem HC-SR04 mit 135 cm kabellänge, fertig vergossen

werde nun alles montieren fotographieren und unter Zisterne mit Ultraschallmessung im Wiki veröffentlichen.
braucht aber noch ein paar Tage..

es braucht ca 30 Sekunden wenn der Sensor Strom bekommt, ich brauch ja nur 1-2 mal oder nach Wunsch einen Wert, also hänge ich die stromversorgung an eine Lampe die nur bei Dunkelheit mal angeht wenn zB der Zeitungsträger da vorbeigeht, oder ich mach es manuell an. Das reicht mir

das war wieder ein Weg mit vielen Stolpersteinen


#################################################################
###############        MQTT
######################################################################


#MQTT FHEM
define mqttServer MQTT 127.0.0.1:1883
attr mqttServer room MQTT

define ESP1_D1 MQTT_DEVICE
attr ESP1_D1 IODev mqttServer
attr ESP1_D1 room MQTT
attr ESP1_D1 stateFormat Abstand
attr ESP1_D1 subscribeReading_Abstand /fhem/ESP1/1/Abstand
attr ESP1_D1 userReadings USensor:Abstand:.* { ReadingsVal($name,"Abstand",0)-10 }


define Wasserstand readingsProxy ESP1_D1:USensor
attr Wasserstand alias Wsserstand (max 160) aktuell in cm
attr Wasserstand group Zisterne
attr Wasserstand room MQTT
attr Wasserstand valueFn { (-1*(ReadingsVal("ESP1_D1","USensor", "160")-160)) }

define Tankinhalt readingsProxy ESP1_D1:USensor
attr Tankinhalt alias Zisterne (max 10000) aktuell  in Liter
attr Tankinhalt group Zisterne
attr Tankinhalt room MQTT
attr Tankinhalt valueFn { int((0.5*(20106-((6400*(acos(1-((ReadingsVal("ESP1_D1","USensor", "160")+0)/80)))-(sqrt(160*(ReadingsVal("ESP1_D1", "USensor", "160")+0)-((ReadingsVal("ESP1_D1", "USensor", "160")+0)**2))*(80-(ReadingsVal("ESP1_D1", "USensor", "160")+0)))))))) }

cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Franz Tenbrock

#266
für mein 1000. Post ( so schnell geht das wenn man immer wieder dumm fragen muss )
ein neues Projekt ?

Espeasy mit dem nodemcu ist ja selbst für Laien nutzbar einzusetzen.
Größte Hürde war ja beim letzten Projekt der exotische Sensor den ich erst einsetzen wollte. Mit dem Standard Sensor der ja hinterlegt ist war es ja recht einfach.

hat jemand das schon versucht ?

http://www.esp8266.nu/index.php/PulsCounter

Also Strom und Gaszähler auslesen

Ich habe zur Zeit noch meine PV, Strom und Gaszähler am ESA2000 System hängen. Da ich weg von FS20 etc will
Alles Homematic, 1wire und halt wlan

wäre das was
nodemcu 3 Kanäle mit pulse counter für Strom PV und Gas


Hier noch ein Bild vom Einbau, das ging recht fix


cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Lucky2k12

Ich bin grade auch am Thema Zähler / Energieverbrauchs-Erfassung dran, daher interessiert mich das.
Meinen Öltank und die Regenwassertonne möchte ich auch mit Ultraschall auslesen, danke für die Doku!

zum Pulscounter:
Deine Stromzähler sind Ferrariszähler und du willst die Rote Markierung auslesen?
Der TCR5000 ist für eine Spannung von 5V spezifiziert, probierst du es mit den 3.3V vom ESP oder nimmst du einen Levelshifter?

Gruß
Ludwig
HP T610, HM, Jeelink, LGW, mapleCUL868+434

Franz Tenbrock

#268
Hallo
hab mir gerade Levelshifter bestellt ;-)
die werde ich dann wohl nehmen.
Frage ist ob man alle 3 Zähler in einem Rutsch auslesen kann.

Doku Sono Tank mache ich noch ganz fertig und plaziere es dann ins Wiki hinter die 1wire Lösung.
ist zwar hier schon komplett aber etwas verteilt.
Mache das auch für mich damit ich auch 1 Jahr später noch nachsehen kann wie das geht.

Wäre schön wenn du auch Fotos und Snaps etc. machen würdest.
Ev eigenen Thread ? dann findet man die <Lösungen einfach schneller.

Machst du das mit solchen Modulen hier
http://www.ebay.de/itm/5pc-TCRT5000-IR-Barrier-Verfolgen-Sensor-Infrarot-Reflective-lichtschranke-TE364/401110634009?_trksid=p2141725.c100338.m3726&_trkparms=aid%3D222007%26algo%3DSIC.MBE%26ao%3D1%26asc%3D20150313114020%26meid%3D9792b25ce7be41f8b5e93b48013eb872%26pid%3D100338%26rk%3D4%26rkt%3D11%26sd%3D121902815452

Hier gibts schon was
https://forum.fhem.de/index.php/topic,51249.msg429023/topicseen.html#msg429023
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Edi77

Da jetzt das LCD Display läuft bekomme ich jetzt öfters im FHEM die Meldung "Last 10 structural changes: delete esp_oled67" und das Display geht dann doch nicht mehr.
Kann damit jemand was anfangen?
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D