HmIP-WTH-2 Luftfeuchte per Script abfagen

HMIP Sender und Empfänger der Serie Homematic IP

Moderator: Co-Administratoren

Antworten
Coffey72
Beiträge: 50
Registriert: 25.07.2014, 06:27

HmIP-WTH-2 Luftfeuchte per Script abfagen

Beitrag von Coffey72 » 10.02.2017, 06:33

Hi ,

Ich habe noch nicht raus wie der WTH-2 per srcript angesprochen wird, Ist das so richtig ?
Evtl kennt sich ja auch mit der HomeStatus App aus, ich bekomme mit dem Spript den Werd nich angezeigt :-( Wo liegt der Fehler ?

Code: Alles auswählen

var C6 = dom.GetObject("hs_display1:C6");
var feuchte1 = dom.GetObject("HmIP-WTH-2.000A95699C7435:1.HUMIDITY").Value().ToString(1);
var string = "{backgroundColor:navy}{align:left}{img:ventilator_64.png}{color:white}{fontSize:16}{text:<b>BÜRO<br>LUFTFEUCHTE<br>" + feuchte1;
var stringC6 = string + "°C}";
C6.State(stringC6);
WriteLine(stringC6);
Mario

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: HmIP-WTH-2 Luftfeuchte per Script abfagen

Beitrag von alchy » 10.02.2017, 10:44

HmIP-WTH-2.000A95699C7435:1.HUMIDITY ist nicht der Name deines Datenpunktes.

Versuch es mal so:

HmIP-RF.000A95699C7435:1.HUMIDITY

und dann >> H I E R << bitte lesen, sowie die Doku z.B. in meiner Signatur.

Außerdem ist die >>string concatenation << in deinem Script falsch usw.

Auf die Schnelle versuch mal das hier, in den ersten Zeilen kannst du die Anpassungen machen, der Rest ist dann automatisch.

Code: Alles auswählen

object C6 = (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("hs_display1:C6");
object dp = datapoints.Get("HmIP-RF.000A95699C7435:1.HUMIDITY");
string text = "Buero Luftfeuchte";
string dpunit = "%";
! ++++++ Finger weg +++++++++++
if (dp) {dpvalue = dp.Value();}else{string dpvalue = "unbekannt";} 
if (C6){ string save = "{backgroundColor:navy}{align:left}{img:ventilator_64.png}{color:white}{fontSize:16}{text:"#text #" "#dpvalue#""#dpunit #"}";
C6.State(save);
WriteLine("String "#save #" in Variable gespeichert");
}else{WriteLine(" Variable zum Speichern nicht vorhanden");}
Alchy

Blacklist................... almost full
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.

Coffey72
Beiträge: 50
Registriert: 25.07.2014, 06:27

Re: HmIP-WTH-2 Luftfeuchte per Script abfagen

Beitrag von Coffey72 » 10.02.2017, 11:16

Hey Alchy

Danke für die Hilfe, ich werde das gleich mal testen.
Ich hatte die Doku die du verlinkt hast mittlerweile auch schon gefunden und geschaut was falsch sein könnte.
Ich konnte bis jetzt aber nicht genau feststellen wie ich den DatenPunkt abfrage.
Mit dem Text habe ich mich auch seh schwer getan, der Text hat vorher so funktioniert ( auf in einem Anderen Feld ) , nur den Analgowert habe ich eben nicht mir rein bekommen.


Danke schon mal :-)

Coffey72
Beiträge: 50
Registriert: 25.07.2014, 06:27

Re: HmIP-WTH-2 Luftfeuchte per Script abfagen

Beitrag von Coffey72 » 10.02.2017, 14:56

Funktioniert einwandfrei, vielen Danke !

Coffey72
Beiträge: 50
Registriert: 25.07.2014, 06:27

Re: HmIP-WTH-2 Luftfeuchte per Script abfagen

Beitrag von Coffey72 » 15.02.2017, 22:23

Hi noch mal

Könnte mir bitte noch jemand helfen den wert für die Luftfeuchte in einen Systemvariable namens "Luftfeuchte" zu bekommen ?
Sorry das es schona n diesen basics scheitert aber ich kenn mich echt nicht aus, hab schon paar sachen getestet aber bekomme es nicht hin. :-(

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: HmIP-WTH-2 Luftfeuchte per Script abfagen

Beitrag von alchy » 15.02.2017, 23:46

Coffey72 hat geschrieben: Könnte mir bitte noch jemand helfen den wert für die Luftfeuchte in einen Systemvariable namens "Luftfeuchte" zu bekommen ?
Ich gehe davon aus, das es sich um den selben Datenpunkt HUMIDITY eines HmIP-WTH-2 mit der Serial: 000A95699C7435
also kurz, den von oben, :mrgreen: handelt :!: :!:

Code: Alles auswählen

if ( (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("Luftfeuchte") ) { 
dom.GetObject(ID_SYSTEM_VARIABLES).Get("Luftfeuchte").State( (datapoints.Get("HmIP-RF.000A95699C7435:1.HUMIDITY")).Value() ); 
}
DAS Schaffst du aber auch völlig ohne Script.
>> DAS geht einfach so zusammenzuklicken <<
da anfangen und weiterlesen nach unten.


Da kommt dann das Bild zur Erklärung:
Bild

welches beschreibt wie man den Helligkeitswert eines Bewegungsmelders in eine Systemvariable Namens:SV_Helligkeitswert überträgt.
Einfach auf deine Feuchtigkeit adaptieren - fertig ist.
Natürlich steht das auch irgendwo in den Büchern, denke ich, mmmh - hoffe ich....

Alchy

Blacklist................... almost full
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.

Coffey72
Beiträge: 50
Registriert: 25.07.2014, 06:27

Re: HmIP-WTH-2 Luftfeuchte per Script abfagen

Beitrag von Coffey72 » 16.02.2017, 07:19

Alchy

Super Sache, danke !
Danke auch für den Hinweis mit der Programmierung , ich bin eher der Google Copy Paste Programmierer und aus dieser sicht ist es natürlich einfache die Jungs zu fragen die es richtig drauf haben :-)

Der Link in deiner Signatur ist auch sehr hilfreich, ich denke damit komme ich wieder ein Stück besser selber klar :-)

Was ich noch nicht so 100% verstanden habe ist die abfrage selber. Fragt das Programm damit den letzten zur CCU übertragen Wert ab oder spricht man damit den Sensor selber und fragt den Wert im Sensor ab ?

Gruss Mario

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: HmIP-WTH-2 Luftfeuchte per Script abfagen

Beitrag von alchy » 16.02.2017, 08:32

Was meinst du nun?
Das meinige, oben gepostete Script?
  • fragt zu seiner Laufzeit den zuletzt bekannten Wert des Datenpunkt bei der CCU ab und speichert ihn in der Systemvariable.
  • startest du z.B. das Script in einem Programm, der durch die Aktualisierung des Luftfeuchtedatenpunktes des HmIP-WTH-2 getriggert wird, dann erhältst du eine Systemvariable, immer dann aktualisiert wird, wenn der Sensor sich eh bei der CCU meldet mit dem "neuen" Wert.
Der Link auf die Anleitung zur Erstellung eines Programmes mit Verknüpfung eines Kanales mit der Systemvariable?
  • Je nachdem wie genau du der Anleitung hältst, erhältst du genau dasselbe wie oben mit dem Script, aber eben ohne Script :mrgreen:
  • das Programm, welches die Verknüpfung (im Beispiellink mit dem Bewegungsmelder) wird so getriggert, das es immer den Dannzweig ausführt, wenn sich der Sensor turnusmäßig mit seinen Werten bei der CCU meldet. daher ja auch bei Aktualisierung im gesamten Wertebereich.
Das Ergebnis ist in beiden Fällen dasselbe - der HmIP-WTH-2 meldet sich in Standardeinstellung ca. alle 3min bei der CCU - deine Systemvariable wird also alle 3min aktualisiert.

Alchy

Blacklist................... almost full
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.

Coffey72
Beiträge: 50
Registriert: 25.07.2014, 06:27

Re: HmIP-WTH-2 Luftfeuchte per Script abfagen

Beitrag von Coffey72 » 16.02.2017, 09:58

Es geht nicht um das Skript an sich sondern um das generelle verhalten der Hardware.

Im Skript fragt man den aktuellen gemessenen Wert für die Luftfeuchte ab und schreibt diesen in eine Variable, soweit so gut.
Allerdings ist mir nicht klar ob der Befehl den Wert im Sensor direkt abfragt oder nur den Wert der vom Sensor alle 3 Minuten an die CCU gesendet und irgend wo zwischen gespeichert wird.

"fragt zu seiner Laufzeit den zuletzt bekannten Wert des Datenpunkt bei der CCU ab und speichert ihn in der Systemvariable."
Das Beantwortet eigentlich meinen Frage!


Es geht mir darum das ein Diagramm das den Sensor darstellt innerhalb von mehreren Tagen nur 8 Werte beinhaltet und das Diagramm jetzt garnix mehr anzeigt. Im CSV File des Diagramms sind nur 8 Messwerte vom Sensor zu sehen.

Ich wollte nun ein Diagramm anlegen das die System variable die wir jetzt generiert haben anzeigt ( muss dazu noch die Variable auf ein entsprechendes gerät legen ) um zu sehen ob das dann als Diagramm richtig angezeigt wird.

Antworten

Zurück zu „HomeMatic IP Aktoren und Sensoren“