HM-WDS30-OT2-SM - Brauche ein Skript

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Wichtelmann007
Beiträge: 222
Registriert: 26.02.2013, 21:11
Hat sich bedankt: 39 Mal

Re: HM-WDS30-OT2-SM - Brauche ein Skript

Beitrag von Wichtelmann007 » 15.06.2021, 18:29

MichaelN hat geschrieben:
15.06.2021, 18:20
Ich verstehe auch nicht, warum du Datenpunkte unbedingt in Systemvariable speichern willst, die eh ständig verfügbar sind.

Ja, der Differenz -Temperatur - Sensor liefert auch die Differenz Temperatur.
Kann ich diese denn ohne Script/Variable in jedem Programm und in der Startseite der CCU nutzen? :roll:

Benutzeravatar
shartelt
Beiträge: 7421
Registriert: 14.01.2015, 14:59
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 524 Mal
Danksagung erhalten: 753 Mal

Re: HM-WDS30-OT2-SM - Brauche ein Skript

Beitrag von shartelt » 15.06.2021, 18:31

ja!

das ist ein ganz normaler Kanal und der Aktor ist so lieb und rechnet schon die differenz zwischen Temp 1 und Temp 2 für Dich aus

Matsch
Beiträge: 5416
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 114 Mal
Danksagung erhalten: 731 Mal

Re: HM-WDS30-OT2-SM - Brauche ein Skript

Beitrag von Matsch » 15.06.2021, 19:00

Wichtelmann007 hat geschrieben:
15.06.2021, 18:14
Matsch hat geschrieben:
15.06.2021, 17:21
Wenn du auch noch sagen würdest, warum du glaubst, da wäre ein Fehler drin? Was geht denn nicht?
temp_3 ist aber irgendwo (unsichtbar) noch definiert?
? nicht dass ich wüsste? was muss ich tun?
Mal ganz abgesehen davon, dass es von vorn herein anzunehmen ist, dass ein Differenztemperatursensor die Differenztemperatur mißt und meldet (wer rechnet schon damit? :shock: :lol: ), hatte ich mich auch zu sehr auf das Skript beschränkt.

Aber noch soviel: Jede verwendete Variable muß natürlich vorher definiert werden! Wenn temp_3 nicht definiert ist, kann ihr auch kein Wert zugewiesen werden.
Du hast aber schon die 4-teilige Dokumentation zur Skriptsprache durchgelesen?

MichaelN
Beiträge: 9639
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 697 Mal
Danksagung erhalten: 1614 Mal

Re: HM-WDS30-OT2-SM - Brauche ein Skript

Beitrag von MichaelN » 15.06.2021, 19:07

Matsch hat geschrieben:
15.06.2021, 19:00
Du hast aber schon die 4-teilige Dokumentation zur Skriptsprache durchgelesen?
Bestimmt direkt nachdem er alle Optionen seines neuen Sensors erforscht hatte...
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

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

Re: HM-WDS30-OT2-SM - Brauche ein Skript

Beitrag von Baxxy » 15.06.2021, 19:45

Warum wird denn hier nun so auf dem Script rumgehackt? :roll:
Matsch hat geschrieben:
15.06.2021, 19:00
Wenn temp_3 nicht definiert ist, kann ihr auch kein Wert zugewiesen werden.
Wenn die Systemvariable "temp_3" existiert (wurde so angegeben) und die Scriptvariablen "temp_1" & "temp_2" mit den Temperaturwerten von Kanal:1 und Kanal:2 des Gerätes (wurde laut nachträglicher Aussage so gemacht) befüllt werden, wird auch die Systemvariable "temp_3" mit der Differenz beschrieben.

Da braucht es doch keine deklarierte "temp_3" Scriptvariable.

Code: Alles auswählen

real temp_1 = dom.GetObject("BidCos-RF.UNITEMP001:1.TEMPERATURE").Value();
real temp_2 = dom.GetObject("BidCos-RF.UNITEMP001:2.TEMPERATURE").Value();
dom.GetObject("temp_3").State(temp_1 - temp_2);

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

Re: HM-WDS30-OT2-SM - Brauche ein Skript

Beitrag von Baxxy » 15.06.2021, 19:55

Wichtelmann007 hat geschrieben:
15.06.2021, 18:29
Kann ich diese denn ohne Script/Variable in jedem Programm und in der Startseite der CCU nutzen?
In Programmen klar, dafür sind die unter anderem da.
Für die Startseite könnte man Favoriten anlegen in die man das ganze Gerät oder halt nur einzelne Kanäle einfügt.
Wenn du den Startseitenbereich rechts meinst... da gehen nur Systemvariablen.

Grüße
Baxxy

Matsch
Beiträge: 5416
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 114 Mal
Danksagung erhalten: 731 Mal

Re: HM-WDS30-OT2-SM - Brauche ein Skript

Beitrag von Matsch » 15.06.2021, 19:58

Baxxy hat geschrieben:
15.06.2021, 19:45
Wenn die Systemvariable "temp_3" existiert (wurde so angegeben)
Es wurde behauptet, aber im Script ist davon nichts zu sehen. Ich habe ja extra darauf hingewiesen, dass dies nur funktioniert, wenn diese Variable irgendwo (für uns unsichtbar) definiert ist - und bekam nur Fragezeichen als Antwort.
Dann war sie vermutlich nicht definiert oder uns wurde nicht das vollständige Script gezeigt.

Wenn sie definiert war, bleibt weiter die Frage, warum der TE davon ausgegangen ist, das Script würde nicht funktionieren. Da gab es ja auch keine Antwort.

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

Re: HM-WDS30-OT2-SM - Brauche ein Skript

Beitrag von Baxxy » 15.06.2021, 20:08

Matsch hat geschrieben:
15.06.2021, 19:58
aber im Script ist davon nichts zu sehen.
Hmm, dann sehen wir das unterschiedlich.
Für mich ist...

Code: Alles auswählen

dom.GetObject("temp_3").State(temp_1 - temp_2);
ganz klar der Zugriff auf...
Syxstemvariablem Typ Zahl habe ich erstellt:
...
...
temp_3
Matsch hat geschrieben:
15.06.2021, 19:58
bleibt weiter die Frage, warum der TE davon ausgegangen ist, das Script würde nicht funktionieren.
Ja, das blieb leider bisher unbeantwortet.
Meine Glaskugel sagt dazu: Es sollte nicht nur die Differenz in die SV "temp_3" geschrieben werden, sondern jeweils auch die Temperaturen der beiden Kanäle in SV "temp_1" und SV "temp_2". Aber dafür fehlte natürlich im Script was.

Grüße
Baxxy

Tyfys
Beiträge: 544
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 123 Mal

Re: HM-WDS30-OT2-SM - Brauche ein Skript

Beitrag von Tyfys » 15.06.2021, 20:21

Hallo

Wenn man einen Wert von einem anderen subtrahiert, kann das Ergebnis ja auch negativ sein.
Evtl. hat ihn das verwirrt.

Das kann man dann Abs() grade biegen.
geht das evt. auch so ?

Code: Alles auswählen

dom.GetObject("temp_3").State((dom.GetObject("BidCos-RF.UNITEMP001:1.TEMPERATURE").Value() - dom.GetObject("BidCos-RF.UNITEMP001:2.TEMPERATURE").Value()).Abs());
Gruß
Harry
Gruß
Harry

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

Re: HM-WDS30-OT2-SM - Brauche ein Skript

Beitrag von alchy » 15.06.2021, 20:25

Das der Umweg über Script und Systemvariable bei Verwendung des Sensors überflüssig ist, wird er ja verstanden haben.

Aber:
Matsch hat geschrieben:
15.06.2021, 17:21
Im übrigen wurde hier schon hunderte Male darauf hingewiesen, für die Geräte eindeutige, leicht verständliche NAMEN zu vergeben statt solch aussageloser Konstrukte wie "BidCos-RF.HEQxxxxxxx"
Der TE greift auf das Datenpunktobjekt zu. Auch wenn man das immer noch optimieren kann, hat das nichts mit deinem falschen Nachgeplappere zu tun. Alte Zusammenfassung z.B. hier unter >> Abfrage von Datenpunkten per HM-Script <<

Genau so wie
Matsch hat geschrieben:
15.06.2021, 19:00
Aber noch soviel: Jede verwendete Variable muß natürlich vorher definiert werden! Wenn temp_3 nicht definiert ist, kann ihr auch kein Wert zugewiesen werden.
Du hast aber schon die 4-teilige Dokumentation zur Skriptsprache durchgelesen?
was mich zu dem Hinweis nötigt. Lies doch bitte erstmal selber. :wink:

Der TE hat im Eingangspost geschrieben:
Wichtelmann007 hat geschrieben:
15.06.2021, 17:13
Syxstemvariablem Typ Zahl habe ich erstellt:
temp_1
temp_2
temp_3
temp_1 und temp_2 brauchen natürlich nicht als Systemvariablen angelegt werden, aber sie würden auch nicht stören.

Das Script müsste also auch funktionieren, sofern die Datenpunkte korrekt waren sowie auch die Systemvariable als alleiniges Objekt mit dem Namen temp_3. Hat ja mittlerweile auch schon Baxxy geschrieben.

Leider macht auch der TE keine wirklich verwertbaren Aussagen, beantwortet keine Fragen, auch das >> Fehlerprotokoll << wäre zur Ursachenforschung hilfreich und fehlt hier wieder. Richtiger macht es deine Aussagen aber auch nicht.
Tyfys hat geschrieben:
15.06.2021, 20:21
Wenn man einen Wert von einem anderen subtrahiert, kann das Ergebnis ja auch negativ sein.
Selbst wenn der TE die Systemvariable temp_3 mit falschen Wertebereichen angelegt hätte, würden auch negative Zahlen auch per Script gespeichert werden. So war es jedenfalls "früher".

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.

Antworten

Zurück zu „HomeMatic allgemein“