ReadinsVal, $EVENT, $EVTPart funktionieren nicht wie gedacht...

Begonnen von Qualle, 23 April 2020, 14:32:11

Vorheriges Thema - Nächstes Thema

Qualle

Hallo zusammen,
nachdem ich nun das Forum und andere Internetquellen auf den Kopf gestellt habe, ich finde keine Lösung:

FHEM empfängt Informationen eines ESP (NodeMCU). Der ESP liefert mir per Analog-Eingang die Bodenfeuchte. Die kommt als Reading auch super an

define ESPEasy_NodeMCU_3_BodenfeuchteSensor ESPEasy 192.168.100.233 80 ESPBridge NodeMCU_3_BodenfeuchteSensor
attr ESPEasy_NodeMCU_3_BodenfeuchteSensor IODev ESPBridge
attr ESPEasy_NodeMCU_3_BodenfeuchteSensor Interval 300
attr ESPEasy_NodeMCU_3_BodenfeuchteSensor group ESPEasy Device
attr ESPEasy_NodeMCU_3_BodenfeuchteSensor presenceCheck 1
attr ESPEasy_NodeMCU_3_BodenfeuchteSensor readingSwitchText 1
attr ESPEasy_NodeMCU_3_BodenfeuchteSensor room ESPEasy
attr ESPEasy_NodeMCU_3_BodenfeuchteSensor setState 3


hier das EventLog:
2020-04-22 11:57:19 ESPEasy ESPEasy_NodeMCU_3_BodenfeuchteSensor Analog: 260
2020-04-22 11:57:19 ESPEasy ESPEasy_NodeMCU_3_BodenfeuchteSensor presence: present
2020-04-22 11:57:19 ESPEasy ESPEasy_NodeMCU_3_BodenfeuchteSensor Ana: 260

Nun benötige ich den Bodenfeuchtewert für ein Powershell-Script, welches meine Sprinkleranlage steuert. Ich muss hier also den Wert 260 an das Script übergeben. Sollte eigentlich einfach sein. Habe dieses Device angelegt:

define Feuchte dummy
attr room ESPEasy
set Feuchte ReadingsVal("ESPEasy_NodeMCU_3_BodenfeuchteSensor","Analog",0)


Zurück bekomme ich: state ReadingsVal("ESPEasy_NodeMCU_3_BodenfeuchteSensor","Ana",0) 2020-04-22 12:18:04
Also habe ich mit $EVENT / EVTPART experimentiert. Ich bekomme immer nur Datum / Zeit zurück.

Was mache ich falsch?


binford6000

set Feuchte [ESPEasy_NodeMCU_3_BodenfeuchteSensor:Analog]

VG Sebastian

Otto123

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

binford6000


binford6000

Um auf die Überschrift ReadinsVal, $EVENT, $EVTPart funktionieren nicht wie gedacht... zu antworten:

  • ReadingsVal() ist eine PERL-Funktion zum Auslesen von Strings aus Readings
  • Analog dazu ReadingsNum() zum Auslesen von numerischen Werten aus Readings
  • $EVENT, $EVTPART0, $EVTPART1,$EVTPARTn sind Variablen aus einem notify device
Im Wiki findet sich jede Menge darüber  ;)
VG Sebastian

Qualle

D A N K E für die vielen schnelle Antworten  :) :) :)
Ich hatte versehentlich zweimal auf SCHREIBEN gedrückt.

Ich werde mein Lösung posten, wenn sie fertig ist.