Windgeschwindigkeit der HM-WDS100-C6-O in Variable erfassen

Kabellose und kabelgebundene Sender und Empfänger der Serie Homematic "classic"

Moderator: Co-Administratoren

Antworten
ErnstLalla
Beiträge: 12
Registriert: 01.02.2015, 22:41

Windgeschwindigkeit der HM-WDS100-C6-O in Variable erfassen

Beitrag von ErnstLalla » 08.06.2019, 11:24

Hallo,
ich habe leider keine nennenswerten Kenntnisse über das schreiben von Skripten. Auch die Anleitungen von EQ3 bringen mich da wenig weiter. Ich habe auch nichts funktionierenden im Netz gefunden.
Vielleicht kann mir hier jemand unter die Arme greifen?

Ich möchte die aktuelle Windgeschwindigkeit der Wetterstation in eine Variable schreiben, die ich dann in Programmen weiternutzen möchte.
Bei Winderkennung lass lass ich ein Programm mit folgendem (Teil)Skript laufen.

Code: Alles auswählen

var wind = dom.GetObject("BidCos-RF.LEQ0386625:1.WIND_SPEED").State();
WriteLine(wind); !nur zum testen
Es scheitert daran, dass in der var wind immer 0.000000 steht
Mit:

Code: Alles auswählen

var wind = dom.GetObject("BidCos-RF.LEQ0386625:1.WIND_SPEED").Value();
steht kein Wert mehr in var wind

Code: Alles auswählen

dom.GetObject("BidCos-RF.LEQ0386625:1.WIND_DIRECTION").Value()
liefert die Windrichtung z.B. 225

Code: Alles auswählen

dom.GetObject("BidCos-RF.LEQ0386625:1.WIND_DIRECTION_RANGE").Value()
liefert die Windschwankung z.B. 67

Kann jemand sagen wo der Fehler ist und kann mir weiterhelfen?

Hat denn keiner eine Idee? (edit: 18.06.2019)

Lieben Dank im Voraus
Ernst
Zuletzt geändert von alchy am 23.06.2019, 16:05, insgesamt 1-mal geändert.
Grund: code in Codetags posten

ErnstLalla
Beiträge: 12
Registriert: 01.02.2015, 22:41

Re: Windgeschwindigkeit der HM-WDS100-C6-O in Variable erfassen

Beitrag von ErnstLalla » 23.06.2019, 13:31

Wenn hier keiner helfen kann, weiß wenigsten jemand wo ich nachfragen kann?

LG
Ernst

jp112sdl
Beiträge: 3174
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 21 Mal
Danksagung erhalten: 44 Mal
Kontaktdaten:

Re: Windgeschwindigkeit der HM-WDS100-C6-O in Variable erfassen

Beitrag von jp112sdl » 23.06.2019, 14:09

Also bei meiner selbst gebauten Wetterstation bekomme ich sowohl bei
dom.GetObject("BidCos-RF.JPWEA0001:1.WIND_SPEED").Value();
als auch
dom.GetObject("BidCos-RF.JPWEA0001:1.WIND_SPEED").State();
den letzten Wert zurück.
Der Datenpunkt bei meinem Gerät entspricht dem vom HM-WDS100-C6-O.

Keine Ahnung, warum es bei dir nicht geht...

Hast du XML-API installiert und dort mal geschaut, ob ein Wert für WIND_SPEED erscheint?

VG,
Jérôme

alchy
Beiträge: 8565
Registriert: 24.02.2011, 01:34
Hat sich bedankt: 6 Mal
Danksagung erhalten: 53 Mal

Re: Windgeschwindigkeit der HM-WDS100-C6-O in Variable erfassen

Beitrag von alchy » 23.06.2019, 16:20

Dir ist bewusst, das keines der Scripte irgendetwas in eine Variable schreibt, sondern im besten Fall eine Ausgabe auf dem Bildschirm erzeugt? (mal ohne mir den Code selber anzuschauen)

Und die nächste Frage oder besser Anmerkung. Wenn du eine Systemvariable mit dem Wert aus einem Datenpunkt synchronisieren willst, bietet es sich an ein Programm zu erzeugen, welches zusammengeklickert wird in dem der "weisse Zettel" benutzt wird. Das sollte auch beim Wettersensor möglich sein. Hast du das mal probiert?
Was bietet denn der Sensor an in einem Programm? Sprich wenn Gerät = Wettersensor das DopDown Menü. Du solltest dir mal >die Anleitung< dort durchlesen. Ist zwar nicht dein Wettersensor, aber die Funktion sollte gleich sein.

Alchy

..................... crowded
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

ErnstLalla
Beiträge: 12
Registriert: 01.02.2015, 22:41

Re: Windgeschwindigkeit der HM-WDS100-C6-O in Variable erfassen

Beitrag von ErnstLalla » 26.06.2019, 20:16

Hallo Alchy,

Mit 'WriteLine(wind)' wollte ich ja die var wind am Bildschirm anzeigen.

Ich habe die Anleitung probiert, jetzt habe ich die Windgeschwindigkeit 2x in der Wetterstation. Das geht also genau so wie du es beschrieben hast.

Ob mir das bei meinem Ansatz hilft, weiß ich nicht.
Ich möchte bei W-Geschwindigkeit 15 km/h die Markise_1 auf 60% fahren.
Bei 20 km/h die Markise_1 auf 40% und die Markise_2 auf 50% fahren.
Bei 25 km/h die Markise_1 auf 0%
Bei 30 km/h die Markise_2 auf 0%

Das ganze nur wenn die aktuelle Wert größer als der Zielwert ist.

Dazu möchte ich ein Skript nutzen und nicht 4 oder 5 Programme.
Die Windgeschwindigkeiten muss ich noch testen.

Ich habe bisher noch nicht herausgefunden wie ich die W-Geschwindigkeit im Skript vergleichen kann.

Programmstart:
Wenn Markise_1 - Banghöhe > 10% (nur prüfen) und Windgeschwindigkeit (bei Aktualisierung)
oder
Wenn Markise_2 - Banghöhe > 10% (nur prüfen) und Windgeschwindigkeit (bei Aktualisierung)

soweit so gut

Im Skript wollte ich dann so vorgehen:
If (W-Geschindigkeit >15 und <20 und Banghöhe-Markise_1 > 60%)
Banghöhe-Markise_1 = 60%
else If (W-Geschindigkeit >20 und <25)
If (Banghöhe-Markise_1 > 40%)
Banghöhe-Markise_1 = 40%
If (Banghöhe-Markise_2 > 50%)
Banghöhe-Markise_1 = 50%

u.s.w.

Ich weiß aber nicht wie ich die (vermaledeite) Windgeschwindigkeit mit z.B. 15 vergleichen kann.

LG
Ernst

Antworten

Zurück zu „HomeMatic Aktoren und Sensoren“