Vergleich zweier Systemvariablen -> Fehler im Skript?

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

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

Re: Vergleich zweier Systemvariablen -> Fehler im Skript?

Beitrag von alchy » 23.07.2018, 20:55

heikoalfred hat geschrieben:
23.07.2018, 19:19
Deine Aussage, dass es fehlerhaft ist, bringt mich nicht wirklich weiter.
Naja, ich habe schon ein wenig mehr geschrieben.
In meiner Signatur findest du auch den Link zur Scriptdoku.

Mit minimalen Änderungen sollte es zumindest die Funktion erfüllen, welche du dir vorstellst.

Code: Alles auswählen

object Temp = dom.GetObject("DraussenKälter");
object Innen = dom.GetObject("Temp-Innen");
object Aussen = dom.GetObject("Temp-Außen");

if (Innen.Value() > Aussen.Value()) 
{ 
   Temp.State(1); 
} 
else 
{ 
   Temp.State(0); 
}
Aber wenn du trotzdem der Meinung bist das es so funktioniert, dann will ich mich nicht weiter einmischen.

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.

heikoalfred
Beiträge: 6
Registriert: 27.09.2016, 23:24
Danksagung erhalten: 1 Mal

Re: Vergleich zweier Systemvariablen -> Fehler im Skript?

Beitrag von heikoalfred » 23.07.2018, 22:00

Es funktionierte ja nicht :-D
Hat ja nichts mit einmischen zu tun. Ich habe ja schließlich gefragt was da wohl falsch ist. Deswegen hatte ich das script auch schon geändert und so funktioniert es nun auch:

Code: Alles auswählen

var Temp = dom.GetObject("DraussenKaelter");
var Innen = dom.GetObject("Temp-Innen");
var Aussen = dom.GetObject("Temp-Aussen");

if (Innen.Value() > Aussen.Value()) 
{ 
   Temp.State(1); 
} 
else 
{ 
   Temp.State(0); 
}
werde aber trotzdem deins nehmen. Es wird bestimmt richtiger sein als meins. Und wie man ein code hier richtig einfügt habe ich nun auch begriffen :-D
Vielen Dank für die Hilfe

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

Re: Vergleich zweier Systemvariablen -> Fehler im Skript?

Beitrag von alchy » 23.07.2018, 22:10

heikoalfred hat geschrieben:
23.07.2018, 22:00
Es funktionierte ja nicht :-D
Doch du hast behauptet, das dein "altes" Script gemacht hat was du wolltest - nur nicht immer.
Ich behaupte, das war gelogen - oder eben falsch. Dein gepostetes Script hat aus o.g. Gründen nie richtig funktioniert.
heikoalfred hat geschrieben:
23.07.2018, 22:00
Es wird bestimmt richtiger sein als meins.
Mein Script ist nur die minimale Anpassung deines Scripts bis zur zumindest richtigen Funktion.
Drüber nachdenken ist in jedem Fall nötig.

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.

heikoalfred
Beiträge: 6
Registriert: 27.09.2016, 23:24
Danksagung erhalten: 1 Mal

Re: Vergleich zweier Systemvariablen -> Fehler im Skript?

Beitrag von heikoalfred » 23.07.2018, 22:36

Doch du hast behauptet, das dein "altes" Script gemacht hat was du wolltest - nur nicht immer.
Ich behaupte, das war gelogen - oder eben falsch.
Bei allem Respekt, aber das lasse ich so nicht auf mir sitzen.
Das Script hat funktioniert, nur in Verbindung mit dem Programm nicht.
Ich könnte dir ein Video aufzeichnen wie ich mit dem ursprünglichen Script beim wechseln von "größer als" und "kleiner als" die Systemvariable umschalten kann, aber das ist mir nun auch zu aufwendig.
Hauptsache es funktioniert jetzt.

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

Re: Vergleich zweier Systemvariablen -> Fehler im Skript?

Beitrag von alchy » 23.07.2018, 22:53

heikoalfred hat geschrieben:
23.07.2018, 22:36
Doch du hast behauptet, das dein "altes" Script gemacht hat was du wolltest - nur nicht immer.
Ich behaupte, das war gelogen - oder eben falsch.
Bei allem Respekt, aber das lasse ich so nicht auf mir sitzen.
Das Script hat funktioniert, nur in Verbindung mit dem Programm nicht.
Letzter Tipp: Füge in deine Scripte ein einfaches Write oder WriteLine ein um zu sehen, was wirklich passiert.
Aber schon in Ordnung, lass mal gut sein. Ein Video aufzuzeichnen ist auch gar nicht nötig. Was weiß ich schon.

Was dein Programm in Summe angeht, hab ich glaube genug geschrieben.
heikoalfred hat geschrieben:
23.07.2018, 22:36
Hauptsache es funktioniert jetzt.
Das ist immer der Anfang vom Ende.

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.

tomdler
Beiträge: 22
Registriert: 10.11.2018, 15:14
System: CCU
Wohnort: HILDEN
Hat sich bedankt: 8 Mal

Re: Vergleich zweier Systemvariablen -> Fehler im Skript?

Beitrag von tomdler » 14.06.2020, 00:23

Habe das Skript Heute gefunden und direkt ausprobiert, nun habe ich eine Frage.
Gibt es die Möglichkeit anstatt von 1 oder 0 auch die Werte der Variablen auszugeben?

Vielen Dank im Voraus
Thomas
--------------------------------------------
270 Kanäle und 1319 Datenpunkte in 37 Geräten:
3x HM-Sec-RHS, 3x HM-CC-RT-DN, 1x HmIP-SLO, 1x HmIP-FSM16, 3x HM-MOD-Re-8, 1x HmIP-STHO, 1x HmIP-STE2-PCB, 1x HM-WDS30-OT2-SM-2, 2x HM-Sec-SCo, 2x HmIP-SRH, 4x HM-RC-19, 1x HM-RC-Dis-H-x-EU, 1x HM-Sen-EP, 1x HM-PB-6-WM55, 1x HmIP-eTRV-2, 4x HMIP-PS, 1x HmIP-MOD-OC8, 1x HmIP-RCV-50, 1x HmIP-BS2, 1x HmIP-BDT, 1x HmIP-PDT, 1x HmIP-WRC6, 1x HM-TC-IT-WM-W-EU
--------------------------------------------

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

Re: Vergleich zweier Systemvariablen -> Fehler im Skript?

Beitrag von alchy » 14.06.2020, 00:51

wenn du jetzt noch mitteilst welches Script du meinst, dann ja.

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.

tomdler
Beiträge: 22
Registriert: 10.11.2018, 15:14
System: CCU
Wohnort: HILDEN
Hat sich bedankt: 8 Mal

Re: Vergleich zweier Systemvariablen -> Fehler im Skript?

Beitrag von tomdler » 14.06.2020, 11:46

Hallo alchy,
Danke für die schnelle Antwort.

Hier das von mir verwendete Skript:

Code: Alles auswählen

object Temp = dom.GetObject("Aussentemperatur");
object Aussen1 = dom.GetObject("Aussentemperatur 01");
object Aussen2 = dom.GetObject("Aussentemperatur 02");

if (Aussen1.Value() >= Aussen2.Value()) 
{ 
   Temp.State(1); 
} 
else 
{ 
   Temp.State(2);
}
Anstatt von 1 oder 2 hätte ich gern die Werte der Variablen um dann den niedrigeren Wert zu verwenden.

Thomas
--------------------------------------------
270 Kanäle und 1319 Datenpunkte in 37 Geräten:
3x HM-Sec-RHS, 3x HM-CC-RT-DN, 1x HmIP-SLO, 1x HmIP-FSM16, 3x HM-MOD-Re-8, 1x HmIP-STHO, 1x HmIP-STE2-PCB, 1x HM-WDS30-OT2-SM-2, 2x HM-Sec-SCo, 2x HmIP-SRH, 4x HM-RC-19, 1x HM-RC-Dis-H-x-EU, 1x HM-Sen-EP, 1x HM-PB-6-WM55, 1x HmIP-eTRV-2, 4x HMIP-PS, 1x HmIP-MOD-OC8, 1x HmIP-RCV-50, 1x HmIP-BS2, 1x HmIP-BDT, 1x HmIP-PDT, 1x HmIP-WRC6, 1x HM-TC-IT-WM-W-EU
--------------------------------------------

Benutzeravatar
Black
Beiträge: 5483
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1074 Mal
Kontaktdaten:

Re: Vergleich zweier Systemvariablen -> Fehler im Skript?

Beitrag von Black » 14.06.2020, 12:19

Code: Alles auswählen

real kleiner= Aussen1.Value().Min (Aussen2.Value() );
Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

MichaelN
Beiträge: 9679
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 700 Mal
Danksagung erhalten: 1626 Mal

Re: Vergleich zweier Systemvariablen -> Fehler im Skript?

Beitrag von MichaelN » 14.06.2020, 12:26

komplett

Code: Alles auswählen

object Temp = dom.GetObject("Aussentemperatur");
object Aussen1 = dom.GetObject("Aussentemperatur 01");
object Aussen2 = dom.GetObject("Aussentemperatur 02");

Temp.State(Aussen1.Value().Min(Aussen2.Value()));
Ich vermute zumindest die nächste Frage des TO wäre gewesen, wie er "kleiner" in die SV Aussentemperatur bekommt.

BTW: @Black hat es einen besonderen Grund, warum dein SDV (und Du auch) so großzügig Leerzeichen in die Befehle einstreust? Es scheint den Parser ja nicht zu stören, kenne das nur von anderen Programmiersprachen anders.
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 +++

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“