Shop-Wechsel

Der Warenkorb wird nicht übernommen.

Zum Firmenkunden / Bildungseinrichtungs Shop

Homematic IP Hausautomation

HmIP-MIO16-PCB: Analogspannung mit Konstante multiplizieren

Beiträge zu diesem Thema: 9
HmIP-MIO16-PCB: Analogspannung mit Konstante multiplizieren
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
10.04.2020, 16:00
An meinem Modul Hm-MIO16-PCB ist am Analogeingang 1 zur Wasserdruckmessung ein Drucktransmitter von B+B Sensors für den Druckbereich 0...6 bar mit 0...10 V Ausgang angeschlossen. Die druckpoportionale Spannung wird in der WebUI/Status und Bedienung/Geräte/IO-Modul am Kanal 1 korrekt angezeigt.
Meine Fragen:
1. Damit ich den Druck in bar sehe, muss der Spannungswert mit einer Konstante multipliziert werden. Kann man das direkt im Modul machen oder braucht man ein Script? Hat jemand ein Script dafür? Habe damit (noch) keine Erfahrung. Wo kann ich da was nachlesen?
2. Ich steuere derzeit mein gesamtes HM über die App Home24 Tablet. Diese unterstützt aber leider nicht das Modul Hm-MIO16-PCB. Eigentlich brauche ich ja nicht mehr als die Anzeige meines Druckwertes in bar auf der App. Besteht die Möglichkeit, den (gemäß Pos. 1 gewandelten) Druckwert in eine Variable zu schreiben und diesen dann in der Home24 Tablet App anzuzeigen?
Ich bin mir sicher, dass das für einen erfahrenen Anwender lächerliche Fragen sind. Ich habe damit aber noch nix gemacht und bitte um "Geburtshilfe". Danke schon mal.
Aw: HmIP-MIO16-PCB: Analogspannung mit Konstante multiplizieren
Antwort als hilfreich markieren
1Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
10.04.2020, 17:33
Hallo Werner christmann,

wenn Du den HmIP-MIO16-PCB bereits angelernt hast, und eine Spannung am Analog-Kanal 1 ansteht, kannst Du diese ja unter Status und Bedienung ansehen. Zur Kontrolle auf protokollieren setzen und auch im Systemprotokoll dokumentieren.

Angezeigt wird immer nur der Spannungswert der an die Zentrale übertragen wurde...für Testzwecke also die zyklische Statusmeldungen aktivieren (0/0). Dann erhält man ca. alle 3 min einen aktuellen Spannungswert.

Nun einfach einmal ein script wie folgt erstellen:
var x = (datapoints.Get("HmIP-RF.xxxxxxxxxxxxxx:1.VOLTAGE")).Value();
WriteLine(x);
wo: xxxxxx die Seriennummer Deiner Komponente ist.

Diese script unter "Skript testen" eintragen und den Button Ausführen betätigen. Jetzt sieht man unter Ausgabe den Spannungswert.

Will man nun diesen Wert z.B. mit einem Faktor F=3.5 multiplizieren, dann das script einfach wie folgt erweitern...
var F = 3.5;
var neuerwert = wert * F;
WriteLine(neuerwert);

Melde Dich nocheinmal, wenn`s läuft, dann können wir zum 2. Schritt gehen und diesen Wert (Zahl) wunschgemäß formatieren und in eine Systemvariable schreiben.
Viele Grüße..elkotek
Aw: HmIP-MIO16-PCB: Analogspannung mit Konstante multiplizieren
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
10.04.2020, 18:36
Vielen Danke fürs erste. Ich probiere das morgen aus und melde mich wieder.
Aw: HmIP-MIO16-PCB: Analogspannung mit Konstante multiplizieren
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
10.04.2020, 22:26
Ich habe es mit Erfolg ausprobiert. Jetzt wird der mit der gewünschten Konstante multiplizierte Zahlenwert ausgegeben, d. h. mein Druckwert in bar.
Die Systemvariable sollte das Format x,xx bar haben (z. B. 2,38 bar). Also der vorher errechnete Zahlenwert, ergänzt mit dem Textstring bar. Über eine weitere Unterstützung würde ich mich freuen.
Noch eine ergänzende Frage: Ist es möglich, den Druck zu einem definierten Zeitpunkt x abzufragen, ohne auf die nächste zyklische Übertragung zu warten?
Aw: HmIP-MIO16-PCB: Analogspannung mit Konstante multiplizieren
Antwort als hilfreich markieren
1Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
11.04.2020, 16:29
Hallo Werner Christmann,

wenn Du nun das script-Beispiel getestet hast, kann man dies in ein Programm einbinden und zyklisch z.B. alle 15 min auslösen. Auch hier wird immer nur auf den bereits gecachten Wert zurückgegriffen ---> ist der Wert, den man auch unter Status und Bedienung und im Systemprotokoll sieht.

Vorgehensweise:

Wenn: Zeitsteuerung - Zeitmodul - Zeitintervall 15 min - zu Zeitpunkten auslösen
Dann:...hier das script eintragen

var x = dom.GetObject("HmIP-RF.00000000000000:1.VOLTAGE").Value();
WriteLine(x);
var F = 3.5; ! hier einen Wert wählen der Deine gewünschten Wert darstellt
var y = x*F;
y = y.ToString(2) # " Bar";
dom.GetObject("DRUCK").State(y);
WriteLine(y);

Vorher noch eine Systemvariable erstellen vom Typ Zeichenkette --> nennen wir diese DRUCK. Hier wird der Wert mit 2-Stellen hintern Komma dargestellt. Diese Systemvariable kann man z.B. entsprechend weiterverarbeiten..z.B. auf die WebUI-Oberfläche legen.
Achtung mit dieser formatierten Darstellung kann nicht mehr gerechnet werden. Das rechnen geht nur mit Zahlen.
Viele Grüße..elkotek
Aw: HmIP-MIO16-PCB: Analogspannung mit Konstante multiplizieren
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
11.04.2020, 17:31
OK, das funktioniert. Vielen Dank für die Hilfe.
Aw: HmIP-MIO16-PCB: Analogspannung mit Konstante multiplizieren
Antwort als hilfreich markieren
1Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
11.04.2020, 17:58
Nur als Hinweis für die praktische Realisierung.

Bei der Programmtriggerung wurde hier die CCU2/CCU3 interne Zeitsteuerung verwendet. Hier sollte das Intervall nicht kleiner als 15 min gewählt werden.

Will man kleinere Intervalle für die Programmtriggerung haben, gibt es 2 Möglichkeiten:
    1. ....den CUxD-Timer zu verwenden (Zuatzsoftware)
    2. ....oder mit einem Systemeigenen Takt...abgeleitet aus vorhandenen HM/HMiP-Komponenten. Zum Beispiel...wenn Du bereits die zyklische Statusmeldung aktiviert hast mit 0/0..hat man ein Intervall von ca. 2,5..3 min.
    3. Dies wird dann so generiert:
          Wenn: Geräteauswahl (MIO16-Kanal 1) - Eingangsspannung - im Wertebereich => 0 Volt - bei Aktualisierung auslösen

      Dann:...hier das script eintragen .... verzögert um 2 sec
    Damit triggert der HmIP-MIO16-PCB automatisch selbst die Abfrage. Die Verzögerung von 2sec deshalb, damit keine Überschneidung stattfindet.
Viele Grüße..elkotek
Aw: HmIP-MIO16-PCB: Analogspannung mit Konstante multiplizieren
Antwort als hilfreich markieren
0Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
02.07.2021, 23:49
<p>Hallo elkotek,</p>
<p>darf ich nach längerer Zeit nochmal das Thema aufgreifen?</p>
<p>Mit deiner Hilfe läuft meine Aufgabenstellung seit über einem Jahr super. Jetzt habe ich einen Zusatzpunkt: In meine Systemvariable "Wasserdruck" wird der Druck in bar geschrieben, also z. B. "3,1 bar". Der Wert ist variabel und ich möchte bei Unterschreitung eines Mindestwertes, also z. B. wenn der Druck kleiner als 1 bar wird, die Pumpe automatisch einschalten. Hast du einen Tipp für mich?</p>
Aw: HmIP-MIO16-PCB: Analogspannung mit Konstante multiplizieren
Antwort als hilfreich markieren
1Positive Markierungen
Antwort als nicht hilfreich markieren
0Negative Markierungen
Melden Sie diesen Beitrag
03.07.2021, 08:46
Hallo Werner Christmann,

für die Realisierung gibt es im Prinzip 2 mögliche Wege.

1. Über ein WebUI-Programm, wo der gecachte Wert (Spannungswert) durch Abfrage des Wertebereiches…bei Eingangsspannung z.B. Kanal 1 ><= abgefragt werden kann ….bei Aktualisierung auslösen. Damit kann bei Über- bzw. Unterschreitung eine Aktion ausgelöst werden.
Dies bedeutet aber, der jeweilige Spannungswert muss immer zyklisch Übertragen werden und gebenenfalls auch noch berechnet werde. Mit der internen Zeitsteuerung sind max. 15 min möglich, oder wenn man einen Wandthermostat, Bewegungsmelder hat, durch Generierung eines systemeigenen Takte (ca. 2,5..3 min).möglich….aber es ist keine Spotanmeldung.

2. Wenn Dein Bar-Wert bereits als äqiuvalenter Spannungswert , z.B. am Analogeingang Kanal 1 ansteht, also nicht erst berechnet werden muss, kann man eine Spotanreaktion (-übertragung) realisieren. Hierzu werden im Gerätemenü..hier beim Kanal 2 die Entscheidungswerte (oberer Grenzwert und unterere Grenzwert) vorgegeben. Sinnvoll auch die Häkchen bei zyklischer Übertragung setzen… damit auch immer der aktuelle Wert übertagen wird.

Das dazugehörige Programm wird in einer WebUI-Direktverknüpfung erstellt. Eintragungen bei Profileinstellung Empfänger (..dein Aktor) – Schalter ein/aus. Die anderen Listenfelder wie z.B. Oberer Grenzwert überschritten ein..unterer Grenzwert unterschritten aus... sind selbsterklärend.
Der Vorteil ist hier, dass zum einen eine Spotanmeldung erfolgt und das Ganze auch funktioniert, wenn die CCU3 nicht mehr läuft.

Sag mir ..welchen Weg Du beschreiten möchtest.
Viele Grüße..elkotek