Wie liest man Werte des Wettersensors aus bzw. verwendet sie in einem Homeputer CL Makro??

Programmierung der HomeMatic CCU mittels contronics homeputer CL

Moderator: Co-Administratoren

Benutzeravatar
mmo
Beiträge: 199
Registriert: 12.11.2007, 23:14
System: CCU
Hat sich bedankt: 5 Mal
Danksagung erhalten: 1 Mal

Wie liest man Werte des Wettersensors aus bzw. verwendet sie in einem Homeputer CL Makro??

Beitrag von mmo » 26.07.2020, 16:32

Ich habe eine Markise, die ich via RolladenAktor (HM-LC-Bl1-SM Rollladenaktor AP 1) steuere und einen Wettersensor (HmIP-SWO-PL Wettersensor-plus).
Ich möchte diese beiden nun via ein Homeputer-Programm so verknüpfen, dass die Markise bei Regen und Windgeschwindigkeit > Schwelle einfährt.

Wie greife ich in einem Homeputer CL Makro auf die Werte des Wettersensors zu?

Code: Alles auswählen

wenn "Regensensor aktiviert?" oder "Windgeschwindigkeit > Schwelle?" dann
      Markise hochfahren
endewenn
Mir fehlen die Teile die ich hier mit "...?" markiert habe. Welche "Begriffe", d.h. Variablen oder Befehle stellt die Wetterstation zur Verfügung? Ist das irgendwo dokumentiert? Ich habe recht lange gegoogelt, aber nichts Einschlägiges gefunden.
Zuletzt geändert von mmo am 01.08.2020, 13:36, insgesamt 2-mal geändert.
1x RaspberryMatic, 1x HM-PB-4Dis-WM, 1x HM-RC-Dis-H-x-EU, 1x HM-OU-LED16, 1x 1x HM-Sec-MDIR, 1x HM-LC-Dim1L-CV, 7x HM-LC-Sw1-Pl, 3x HM-LC-Sw2-FM, 1x HM-RC-4-B, 1x HM-PBI-4-FM, 1x HM-PB-4-WM, 3x HM-Sec-SC, 1x HM-LC-Bl1-SM, HmIP-SWO-PL

Daimler
Beiträge: 9114
Registriert: 17.11.2012, 10:47
System: Alternative CCU (auf Basis OCCU)
Wohnort: Köln
Hat sich bedankt: 37 Mal
Danksagung erhalten: 283 Mal

Re: Wie liest man Werte des Wettersensors aus bzw. verwendet sie in einem Homeputer CL Makro??

Beitrag von Daimler » 26.07.2020, 22:45

HI;

Ich kann dir nicht so ganz folgen!

Fehlen dir in HPCL Kanäle, die in der CCU vorhanden sind?
Denn ansonsten hast du doch in HPCL alle Datenpunkte zu dem Sensor vorliegen, welche du nat. auch direkt in Makros verwenden kannst!

Welche Kanäle das nun genau sind, kann ich dir mangels HmIP-SWO-PL nicht sagen.
Aber da sollte ein Blick auf den Sensor unter Modulauswahl Licht ins Dunkel bringen.
Gruß Günter

pivccx mit 3.xx in Produktiv und Testsystem mit HM-, HM-W, HMIP- und HMIP-W Geräten, HPCx Studio 4.1,
L-Gateways, RS-L-Gateways, HAP, Drap, FHZ200x, vereinzelt noch FS2x-Komponenten.
HM / HM-IP: Zur Zeit knapp 300 Komponenten mit ??? Kanälen .

Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!

Benutzeravatar
mmo
Beiträge: 199
Registriert: 12.11.2007, 23:14
System: CCU
Hat sich bedankt: 5 Mal
Danksagung erhalten: 1 Mal

Re: Wie liest man Werte des Wettersensors aus bzw. verwendet sie in einem Homeputer CL Makro??

Beitrag von mmo » 27.07.2020, 22:41

Ich habe erst nach einigem Herumpröbeln gemerkt, dass man den div. Kanälen des Wettersensors in der Modulauswahl --> Bearbeiten --> Analogsensoren --> Namen einigermassen sprechende Namen vergeben kann (und muss, damit man dann damit einigermassen lesebare Makros schreiben kann). Mit den automatisch erstellten Namen "Wettersensor(Ch1)_Status005" kann ja kein Schwein was anfangen!

Ausserdem habe ich erst durch Rausschreiben der Sensorwerte in ein Logfile herausbekommen, was die überhaupt für Werte erzeugen. Dass der Regendetektor z.B. "Regnet" bzw. "Trocken" ausgibt, war nämlich anders nirgends zu finden. Ich hatte vorher alles mögliche ("an"/"aus", "aktiviert"/"deaktiviert", etc.) durchprobiert, aber natürlich immer nur Fehler bzw. keinerlei Funktion hinbekommen.

Mein nächstes Problem ist, dass man mit den numerischen Werte offensichtlich nicht vernünftig rechnen kann, aber das wird nun ein anderer Thread.
1x RaspberryMatic, 1x HM-PB-4Dis-WM, 1x HM-RC-Dis-H-x-EU, 1x HM-OU-LED16, 1x 1x HM-Sec-MDIR, 1x HM-LC-Dim1L-CV, 7x HM-LC-Sw1-Pl, 3x HM-LC-Sw2-FM, 1x HM-RC-4-B, 1x HM-PBI-4-FM, 1x HM-PB-4-WM, 3x HM-Sec-SC, 1x HM-LC-Bl1-SM, HmIP-SWO-PL

Daimler
Beiträge: 9114
Registriert: 17.11.2012, 10:47
System: Alternative CCU (auf Basis OCCU)
Wohnort: Köln
Hat sich bedankt: 37 Mal
Danksagung erhalten: 283 Mal

Re: Wie liest man Werte des Wettersensors aus bzw. verwendet sie in einem Homeputer CL Makro??

Beitrag von Daimler » 28.07.2020, 09:20

Entschuldige bitte, aber
Du setzt HPCL seit ~ 12 Jahren ein und stellst die Fragen eines Anfänger!

Das man sprechende, (für sich selbst) nachvollziehbare Namen vergeben sollte, erklärt sich wohl von selbst.
Normalerweise übernimmt HPCL beim Import eines Objektes die in der CCU vergebenen Bezeichnungen.

Habe soeben mal einen SWO-PL manuell ins Projekt gepackt - siehe da, jeder Kanal hat die passende Bezeichnung!
Wie hast du in der CCU die Kanäle benannt - oder geht das nicht?
Wenn doch und in HPCL steht etwas vollkommen anderes, so solltest du einen Call bei RK aufmachen.

Um die möglichen Zustände herauszufinden hast du 2 (einfache) Möglichkeiten:
1.
Du legst die Kanäle (vorübergehend) in eine Visu-Ansicht.
Wenn du dann den Kanal doppelklickst und auf Visualisierung gehst, siehts du die Zustände.

2.
Du erstellst über den Menü-Makro-Editor zu jedem Kanal ein Wenn-Makro.
Und dort werden dir zu jedem Kanal die möglichen Zustände angeboten.

Zu der Rechnerei musst du schon ein klitzekleinwenig genauer erklären, was du gemacht hast und was nicht geht.
Gruß Günter

pivccx mit 3.xx in Produktiv und Testsystem mit HM-, HM-W, HMIP- und HMIP-W Geräten, HPCx Studio 4.1,
L-Gateways, RS-L-Gateways, HAP, Drap, FHZ200x, vereinzelt noch FS2x-Komponenten.
HM / HM-IP: Zur Zeit knapp 300 Komponenten mit ??? Kanälen .

Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!

Benutzeravatar
mmo
Beiträge: 199
Registriert: 12.11.2007, 23:14
System: CCU
Hat sich bedankt: 5 Mal
Danksagung erhalten: 1 Mal

Re: Wie liest man Werte des Wettersensors aus bzw. verwendet sie in einem Homeputer CL Makro??

Beitrag von mmo » 30.07.2020, 23:09

Betreffend die Rechnerei: die ist mir momentan tatsächlich noch ein Buch mit sieben Siegeln. Nicht mal ein einfacher Vergleich scheint zu funktionieren!

Wenn ich einen Bedingung wie

Code: Alles auswählen

wenn WettersensorTemperatur > 25,0 dann
     Markisensteuerung := 0
endewann
hinschreibe, dann geht die Markise wie erwartet bei Temperaturen > 25 runter.

Wenn ich aber eine Variable "TemperaturSchwelle" vom Typ Zahl definiere und diese auf den Startwert 25,0 setze und dann schreibe:

Code: Alles auswählen

wenn WettersensorTemperatur > TemperaturSchwelle dann
     Markisensteuerung := 0
endewann
dann wird die Markise auch bei Temperaturen unter 25 Grad runtergefahren.

Wie vergleicht man solche Sensor-Werte mit Variablen? Sind das keine "Zahlen"?

Daimler
Beiträge: 9114
Registriert: 17.11.2012, 10:47
System: Alternative CCU (auf Basis OCCU)
Wohnort: Köln
Hat sich bedankt: 37 Mal
Danksagung erhalten: 283 Mal

Re: Wie liest man Werte des Wettersensors aus bzw. verwendet sie in einem Homeputer CL Makro??

Beitrag von Daimler » 31.07.2020, 08:42

Man kann in HPCL ohne Probleme - zum. in den Grundrechenarten - rechnen und vergleichen.
Voraussetzung - du vergleichst nicht Äpfel mit Birnen, es muss schon der gleiche Typ sein.

Und von deinen beiden Beispielen kann auch das 1. nicht funktionieren, bzw. kann auch nicht kompiliert werden.
Das Zauberwort heißt endewenn - Rechtschreibfehler (nur hier im Fred?).

Ansonsten sollte auch das 2. Beispiel gehen.

Bin mir nur nicht sicher, ob die zu vergleichenden Zahlen auch gleich formatiert sein müssen - Nachkommastellen.
Aber das kannst du ja testen.
Gruß Günter

pivccx mit 3.xx in Produktiv und Testsystem mit HM-, HM-W, HMIP- und HMIP-W Geräten, HPCx Studio 4.1,
L-Gateways, RS-L-Gateways, HAP, Drap, FHZ200x, vereinzelt noch FS2x-Komponenten.
HM / HM-IP: Zur Zeit knapp 300 Komponenten mit ??? Kanälen .

Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!

Benutzeravatar
mmo
Beiträge: 199
Registriert: 12.11.2007, 23:14
System: CCU
Hat sich bedankt: 5 Mal
Danksagung erhalten: 1 Mal

Re: Wie liest man Werte des Wettersensors aus bzw. verwendet sie in einem Homeputer CL Makro??

Beitrag von mmo » 31.07.2020, 18:30

> Das Zauberwort heißt endewenn - Rechtschreibfehler (nur hier im Fred?).
War nur ein Schreibfehler hier im Forum. Im Code war es schon richtig.

> Ansonsten sollte auch das 2. Beispiel gehen.
Leider nein! Siehe unten.

> Bin mir nur nicht sicher, ob die zu vergleichenden Zahlen auch gleich formatiert sein müssen - Nachkommastellen.
Habe es mit und ohne Nachkomma probiert - immer derselbe Sch...!

Ich lasse mir mittlerweile die Resultate der Vergleiche verschiedener Werte einzeln ausgeben. Immer mit einem Code-Snippet in der Form:

Code: Alles auswählen

wenn [SensorName] > [Variable] dann
    [Sensorname: "true" ausgeben]
sonst
    [Sensorname: "false" ausgeben]
endewenn
Das Resultat erscheint mir völlig absurd:

Bei der Windgeschwindigkeit fällt der Vergleich mit einer Schwelle (Wert eigentlich: 15,0) immer "true" aus, sobald die Windgeschwindigkeit >= 5,0 km/h ist. Der Wert der in der Variable steht, scheint dabei völlig egal zu sein! Ab >= 5.0 km/h ergibt der Vergleich mit einer Variablen vom Typ Zahl immer true, darunter false! Wie gesagt: mit einem explizit hingeschriebenem Wert funzt es. ||-(

Bei Helligkeit dasselbe Spiel, nur scheint der "magische Wert dabei bei ca. 4000 zu liegen. Genauer habe ich ihn noch nicht einkreisen können, weil es ja auf die Messwerte ankommt, die ich nicht beliebig verändern kann. Aber auch dabei scheint der Wert der Vergleichsvariablen Nebensache zu sein!

Bei der Temperatur habe ich bisher IMMER nur false erhalten, aber vielleicht wurde hier die "magische" Temperatur, bei der der Vergleich kippt, einfach noch nie erreicht.

Hat jemand irgendeine Erklärung für dieses bescheuerte Verhalten?
1x RaspberryMatic, 1x HM-PB-4Dis-WM, 1x HM-RC-Dis-H-x-EU, 1x HM-OU-LED16, 1x 1x HM-Sec-MDIR, 1x HM-LC-Dim1L-CV, 7x HM-LC-Sw1-Pl, 3x HM-LC-Sw2-FM, 1x HM-RC-4-B, 1x HM-PBI-4-FM, 1x HM-PB-4-WM, 3x HM-Sec-SC, 1x HM-LC-Bl1-SM, HmIP-SWO-PL

Daimler
Beiträge: 9114
Registriert: 17.11.2012, 10:47
System: Alternative CCU (auf Basis OCCU)
Wohnort: Köln
Hat sich bedankt: 37 Mal
Danksagung erhalten: 283 Mal

Re: Wie liest man Werte des Wettersensors aus bzw. verwendet sie in einem Homeputer CL Makro??

Beitrag von Daimler » 31.07.2020, 18:38

Tue bitte mir und auch dir den Gefallen und lege dir eine Visu (mit Uhr) an, lege dort die benötigten Aktoren / Kanäle und Variablen ab, übertrage das Projekt und beobachte dann in der Visu die Werte.
Hier kannst du dann auch mit den Variablen spielen / Werte testen.

Evtl. auch parallel in im WebUI beobachten.
Gruß Günter

pivccx mit 3.xx in Produktiv und Testsystem mit HM-, HM-W, HMIP- und HMIP-W Geräten, HPCx Studio 4.1,
L-Gateways, RS-L-Gateways, HAP, Drap, FHZ200x, vereinzelt noch FS2x-Komponenten.
HM / HM-IP: Zur Zeit knapp 300 Komponenten mit ??? Kanälen .

Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!

Benutzeravatar
mmo
Beiträge: 199
Registriert: 12.11.2007, 23:14
System: CCU
Hat sich bedankt: 5 Mal
Danksagung erhalten: 1 Mal

Re: Wie liest man Werte des Wettersensors aus bzw. verwendet sie in einem Homeputer CL Makro??

Beitrag von mmo » 31.07.2020, 18:54

1. Was verstehst du unter "Visu"?

2. evtl. mache ich das dann, wenn du mir erklärst, was das bringen soll.
Was soll dabei anderes oder mehr rauskommen, als wenn ich mir die Werte in ein Logfile schreibe?

Mein Logfile hat momentan lauter solche Zeilen:
...
31.07.2020-18:42:00: Regen:Trocken / Windgeschwindigkeit:5,7 / Temperatur:32,6 / Helligkeit:1705,0 r:WW:tT:hH
...

d.h. ich logge die Werte der Sensoren und die Buchstaben am Ende der Zeilen stehen für
r/t Vergleich mit "Regnet" bzw. "Trocken"
W oder w steht für "Windgeschwindigkeit > Schwelle" true oder false (der erste Buchstabe jeweils für den Vergleich mit einer Zahl, der zweite für den Vergleich mit einer im Code stehenden Konstanten). Ditto mit
T/t für Temperatur > Schwelle true/false und
H/h für Helligkeit > Schwelle true/false.
1x RaspberryMatic, 1x HM-PB-4Dis-WM, 1x HM-RC-Dis-H-x-EU, 1x HM-OU-LED16, 1x 1x HM-Sec-MDIR, 1x HM-LC-Dim1L-CV, 7x HM-LC-Sw1-Pl, 3x HM-LC-Sw2-FM, 1x HM-RC-4-B, 1x HM-PBI-4-FM, 1x HM-PB-4-WM, 3x HM-Sec-SC, 1x HM-LC-Bl1-SM, HmIP-SWO-PL

NickHM
Beiträge: 3729
Registriert: 23.09.2017, 12:04
Hat sich bedankt: 65 Mal
Danksagung erhalten: 119 Mal

Re: Wie liest man Werte des Wettersensors aus bzw. verwendet sie in einem Homeputer CL Makro??

Beitrag von NickHM » 31.07.2020, 19:05

Hallo

Visu Win finde ich bei solchen Zahlenvergleichen immer etwas anstrengend, zumal lokale Variablen die nur in Makros existieren nicht ohne Umweg darstellbar sind.

Ich hatte auch grade wieder so einen Fall eines plötzlich nicht funktionierenden Sonnenschutzen. Beste Erfahrungen habe ich damit gemacht die entsprechenden Zustände der Variablen bei jedem Durchlauf ein eine Zeile in eine Textdatei schreiben zu lassen.

Noch besser ist die Echtzeitbeobachtung in dem leider nicht mehr gepflegten aber immer noch funktionierenden Tool SPG. Dort lasse sich insbesondere auch lokale Makro Variablen überwachen und auch setzen.

Nur als Tip nebenbei.

Antworten

Zurück zu „homeputer CL“