Hauptmenü

userreading nutzen

Begonnen von devien, 28 Juni 2017, 19:05:44

Vorheriges Thema - Nächstes Thema

devien

Hallo,
ich habe ein userreading definiert
defmod Solar_temp_01 FRM_AD 14
attr Solar_temp_01 IODev Arduino_02
attr Solar_temp_01 event-aggregator reading::none:median:300
attr Solar_temp_01 event-min-interval 60
attr Solar_temp_01 fp_Solar 63,1120,2,Solar_temp_01,
attr Solar_temp_01 room Arduino,Solarsteuerung
attr Solar_temp_01 stateFormat reading
attr Solar_temp_01 userReadings Resistance {(5-(5*ReadingsVal("Solar_temp_01","reading",0) /1024))*1000/(5-(5-(5*ReadingsVal("Solar_temp_01","reading",0) /1024)))}
attr Solar_temp_01 verbose 5


leider bekomme ich immer wenn ich get Solar_temp_01 Resistance aufrufe ein leeres Feld angezeigt.

was mache ich falsch?
FHEM + UniPi + Arduino = gute Lösung

DeeSPe

#1
Nur weil Du ein userReading einfügst gibt es noch lange keinen get Befehl dafür!

Gruß
Dan

EDIT: Was willst Du mit dem get  erreichen?
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

marvin78

Alle Readings bekommt man auf Perlebene per ReadingsVal oder im set mit der übrliichen und dokumentierten Vorgehensweise. Dazu verweise ich auf die commandref zu set und eben ReadingsVal.

amenomade

Ausserdem würde ich nicht im 2. Teil der Formel einen Default Wert von "0" nehmen. Wenn Solar_temp_01 kein Reading "reading" hat, hast Du ein DIV/0

/(5-(5-(5*ReadingsVal("Solar_temp_01","reading",0) /1024)))
Ich sehe auch nicht die Notwendigkeit von "5-5"...
Reicht nicht /(5*ReadingsVal("Solar_temp_01","reading",0) /1024) ?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

devien

Zitat von: amenomade am 28 Juni 2017, 21:44:34
Ausserdem würde ich nicht im 2. Teil der Formel einen Default Wert von "0" nehmen. Wenn Solar_temp_01 kein Reading "reading" hat, hast Du ein DIV/0
/(5-(5-(5*ReadingsVal("Solar_temp_01","reading",0) /1024)))
danke für den Hinweis, hab ich vermerkt und ist auch eine Super Sache, die viv/0 hatte ich bereits im Log

Zitat von: amenomade am 28 Juni 2017, 21:44:34
Ich sehe auch nicht die Notwendigkeit von "5-5"...
Reicht nicht /(5*ReadingsVal("Solar_temp_01","reading",0) /1024) ?
nein reicht leider nicht, ich könnte das kürzen indem ich 10-(5*ReadingsVal("Solar_temp_01","reading",0) /1024) nutzen würde, die Trennung dient mir als erinnerung, das erste "5-" ist wie im davor aufgeführten Teil dem Umstand geschuldet das ich die Spannung unfeiner Weise am festen Widerstand des Spannungsteilers messe anstelle am PT1000 direkt. Daher muss ich erst die Differenz aus der anliegenden Versorgungsspannung 5V ziehen um berechnen zu können.
FHEM + UniPi + Arduino = gute Lösung

amenomade

(5 - (5 - ( X ))) = 5 - 5 + X = X
oder ?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

devien

ja, rein logisch ist das korrekt

*AscheaufmeinHaupt*

vieleicht reichen 4 Stunden Schlaf am Tag doch nicht....
FHEM + UniPi + Arduino = gute Lösung