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?
set Feuchte [ESPEasy_NodeMCU_3_BodenfeuchteSensor:Analog]
VG Sebastian
Warum ist das jetzt wieder doppelt? https://forum.fhem.de/index.php/topic,110520.0.html
Hab ich auch gesehen und mich gewundert... :o
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
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.