Autor Thema: Commandref einfach erklärt  (Gelesen 1327 mal)

Offline NeuFehm

  • Full Member
  • ***
  • Beiträge: 190
Commandref einfach erklärt
« am: 27 Februar 2017, 21:07:48 »
Ich habe in der commandref zu den userReadings folgendes Beispiel gefunden:

attr myEnergyMeter userReadings energy { ReadingsVal("myEnergyMeter","counters.A",0)/1250.0;; }

was bedeutet counters."A"

ist das das selbe wie in meinen Beispiel (TempTmodul5 temp 11.0 8.4 9.0 ) der erste Wert:
also TempTmodul5:temp.A = 11.0
also TempTmodul5:temp.B = 8.4

oder hat das damit gar nix zu tun?
LG Mirko



Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

Offline KölnSolar

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5748
Antw:Commandref einfach erklärt
« Antwort #1 am: 27 Februar 2017, 21:13:52 »
Zitat
hat das damit gar nix zu tun?
aber rein gar nichts.
Ist lediglich der Name des readings.  In Deinem Fall wohl temp.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Offline Benni

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2442
  • FHEMinist
Antw:Commandref einfach erklärt
« Antwort #2 am: 27 Februar 2017, 21:26:33 »
aber rein gar nichts.
Ist lediglich der Name des readings.  In Deinem Fall wohl temp.

Schau mal in der Commandref noch unter den Pearl-Specials nach: https://fhem.de/commandref_DE.html#perl

Dort wird u.a. ReadingsVal beschrieben.

Offline NeuFehm

  • Full Member
  • ***
  • Beiträge: 190
Antw:Commandref einfach erklärt
« Antwort #3 am: 28 Februar 2017, 14:54:39 »
Danke für den Hinweis... und ja, jetzt kann ich´s ;)
Um aus meinem Reading "temp":  010.5 007.3 007.9 den 2. der 3 Werte auszulesen:

attr TempTmodul5 userReadings Badtemp {substr(ReadingsVal("TempTmodul5","temp",0),6,5)}
Vielen Dank!!!
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

Offline KölnSolar

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5748
Antw:Commandref einfach erklärt
« Antwort #4 am: 28 Februar 2017, 17:21:33 »
Bist Du sicher, dass das extrahieren mit substr auch immer funktioniert ? Zumindest bei Werten zwischen 0,00 und 999,99 scheint es dank der führenden Nullen zu klappen. Aber wie sieht es bei negativen Werten aus ? Schau Dir ggfs. mal in der commandref zum notify die $EVTPARTx an.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Offline NeuFehm

  • Full Member
  • ***
  • Beiträge: 190
Antw:Commandref einfach erklärt
« Antwort #5 am: 01 März 2017, 12:30:03 »
NAja, ich habe eine Übersetzungstabelle, die aus den Temperaturwerten (0-255) die entsprechende Temperatur ermittelt.
Die habe ich, weil ich mir nicht anders zu helfen wusste so angelegt, dass es immer passt:
-30,0
-02,0
001,0
040,0
Aber ich schau mir mal das Gesagte an. Es wäre mitunter auch möglich ein regex in der art  [Leerzeichen (hier die Zahl matchen) Leerzeichen] zu nutzen...
Ich melde mich wieder...
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

 

decade-submarginal