0-10 V Eingang auslesen und umrechnen

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Benutzeravatar
Baxxy
Beiträge: 10982
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 624 Mal
Danksagung erhalten: 2271 Mal

Re: 0-10 V Eingang auslesen und umrechnen

Beitrag von Baxxy » 18.02.2024, 13:00

Sanguis hat geschrieben:
18.02.2024, 12:57
Kanalname stimmt definitiv,
Dann sollten die ersten 2 Zeilen von @Tyfys...

Code: Alles auswählen

var u = dom.GetObject("Garten Bodenfeuchte Hecke").DPByHssDP("VALUE").Value();
WriteLine(u);
... eine Ausgabe bringen.

Tun sie das?

Sanguis
Beiträge: 48
Registriert: 12.11.2022, 20:56
System: CCU
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

Re: 0-10 V Eingang auslesen und umrechnen

Beitrag von Sanguis » 18.02.2024, 13:04

Auch wenn ich von rechts nach links rechne kommen 14,8 % raus

Im Script selbst sind Punkte, daran kann es nicht liegen, und auch wenn ich bei der letzten Zahl (1.48/10.0) eingebe um auch dort eine Gleitkommazahl zu haben bleibt die Variable bei 0

Sanguis
Beiträge: 48
Registriert: 12.11.2022, 20:56
System: CCU
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

Re: 0-10 V Eingang auslesen und umrechnen

Beitrag von Sanguis » 18.02.2024, 13:10

Baxxy hat geschrieben:
18.02.2024, 13:00
... eine Ausgabe bringen.

Tun sie das?
Nein und ich habe keinen Schimmer warum ... ich habe statt dem Kanalnamen einmal die Kanalnummer eingetragen ... auch nichts
Screenshot 2024-02-18 121633.jpg
Wo ist der Denkfehler ?


Benutzeravatar
HM-Villa
Beiträge: 522
Registriert: 24.01.2022, 10:13
System: CCU
Hat sich bedankt: 29 Mal
Danksagung erhalten: 125 Mal

Re: 0-10 V Eingang auslesen und umrechnen

Beitrag von HM-Villa » 18.02.2024, 13:19

Der Parameter, den Du auslesen willst, heißt ja auch "VOLTAGE" (s. Datenpunktbibel), nicht "VALUE" (und ist in Kanal 1, 4, 7 und 10 zu finden).
______________________________________________________
950 Kanäle in 201 Geräten und 39 CUxD-Kanäle in 5 CUxD-Geräten

Sanguis
Beiträge: 48
Registriert: 12.11.2022, 20:56
System: CCU
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

Re: 0-10 V Eingang auslesen und umrechnen

Beitrag von Sanguis » 18.02.2024, 13:24

DAS WAR ES !

Ich dachte mir schon das irgendwo ein Denkfehler im System war ...

Jetzt läuft es für ALLE Kanäle !

cmjay
Beiträge: 2412
Registriert: 19.09.2012, 10:53
System: CCU
Wohnort: Jottweedee
Hat sich bedankt: 254 Mal
Danksagung erhalten: 359 Mal

Re: 0-10 V Eingang auslesen und umrechnen

Beitrag von cmjay » 18.02.2024, 13:33

Sanguis hat geschrieben:
18.02.2024, 12:54
habe selbst gemerkt das die Formel einen kleinen Fehler hatte:
t = tmin + (tmax - tmin) * (u / 10);
sollte es ein ... Kopierfehler
Messbereichsanfang +(Messbereich)*(Wert / Messbereich
Rechenbeispiel bei 0-100 %
T=0+(100-0)*(1,48/10)
Da sollten dann 14,8 % rauskommen .... aber es bleibt bei sturen 0 %
Ich verstehe diese ganze Rumrechnerei nicht. Du brauchst doch einfach nur den gemessenen Spannungswert mit 10 zu multiplizieren und dann hast du die Prozentangabe.
Es kann leider nicht ganz ausgeschlossen werden, dass ich mich irre.
HmIP muss leider draussen bleiben. in Ausnahmefällen erlaubt
ACHTUNG! Per Portweiterleitung aus dem Internet erreichbare CCU-WebUI ist unsicher! AUCH MIT PASSWORTSCHUTZ! Daher: Portweiterleitung deaktivieren!

Sanguis
Beiträge: 48
Registriert: 12.11.2022, 20:56
System: CCU
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

Re: 0-10 V Eingang auslesen und umrechnen

Beitrag von Sanguis » 18.02.2024, 13:39

Nutze das gleiche Script auch für die Temperaturmessungen aus den selben Sensoren (Truebner SMT 100) die messen von -40 - 60 °C
So kann ich dieses Script einfach für beide (und kommende Projekte) elegant adaptieren

cmjay
Beiträge: 2412
Registriert: 19.09.2012, 10:53
System: CCU
Wohnort: Jottweedee
Hat sich bedankt: 254 Mal
Danksagung erhalten: 359 Mal

Re: 0-10 V Eingang auslesen und umrechnen

Beitrag von cmjay » 18.02.2024, 14:50

Ich hoffe, dass ich dein Anliegen jetzt richtig verstanden habe.
Du willst den Messbereich eines (beliebigen) Sensors auf einen prozentualen Wert abbilden.
Dabei entspricht die minimal mögliche Ausgabespannung des Sensors, Vmin, dem Prozentwert P = 0 und die maximal mögliche Spannung, Vmax, dem Prozentwert P = 100, d.h.

Code: Alles auswählen

P(Vmin) = 0
P(Vmax) = 100
Dabei muss Vmin nicht notwendigerweise V = 0V sein und Vmax nicht notwendigerweise V = 10V. Es wird nur angenommen, dass der Sensor linear ist. Der Messbereich des IO-Moduls von 0 - 10V spielt dafür keine Rolle.
Die entsprechende allgemeine Abbildung lautet:

Code: Alles auswählen

P(V) = 100*(V-Vmin)/(Vmax-Vmin)
Wobei V die vom Sensor gemessene Spannung darstellt.

P.S.: Solche linearen Abbildungen lassen sich sehr intuitiuv graphisch erfassen. Die obige Abbildung entspricht einer Geraden mit positiver Steigung, die die Abszisse bei Vmin schneidet.
P.P.S.: In einem HM-Skript Vorsicht bzgl. der Abarbeitung von rechts nach links!
Es kann leider nicht ganz ausgeschlossen werden, dass ich mich irre.
HmIP muss leider draussen bleiben. in Ausnahmefällen erlaubt
ACHTUNG! Per Portweiterleitung aus dem Internet erreichbare CCU-WebUI ist unsicher! AUCH MIT PASSWORTSCHUTZ! Daher: Portweiterleitung deaktivieren!

Sanguis
Beiträge: 48
Registriert: 12.11.2022, 20:56
System: CCU
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

Re: 0-10 V Eingang auslesen und umrechnen

Beitrag von Sanguis » 18.02.2024, 16:55

Laut Datenblatt von Trübner ist der Messwerverlauf der beiden Sensoren linear 0-10 V
Temperatur: -40 bis +60 Grad
Feuchtigkeit: 0-100 %

Mit dem obigen Script muss ich jeweils nur Messbereichs Anfang und Ende anpassen und alles ist gut
Scheint auch ganz gut zu funktionieren, die Bodentemperaturwerte sind auf jeden Fall plausibel … die Bodenfeuchte kommt mir mit 21 % im Rasen und 15 % in der Hecke bei dem Dauerregen recht niedrig aber wir haben hier auch „Kaninchensand“ vielleicht sind die Werte ja echt, das würde erklären warum unser Rasen nie wirklich gut wird weil dauernd zu trocken

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“