Fehler bei < Zeichen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
sadbi
Beiträge: 61
Registriert: 27. Feb 2018 05:55
Answers: 0

Fehler bei < Zeichen

Beitrag von sadbi »

Liebe Community

Ich habe ein seltsames Phänomen. In einer rule verwende ich sowohl ein > als auch ein < Zeichen:

Code: Alles auswählen

if (aussentemp.state as Number > austemp_max.state as Number) {
        logInfo("Temp", "Schleife1 funktioniert")
        austemp_max.postUpdate(aussentemp.state)
    }
    if (aussentemp.state as Number < austemp_max.state as Number) {
        logInfo("Temp", "Schleife2 funktioniert")
        austemp_min.postUpdate(aussentemp.state)
    }
In der ersten if-Schleife funktioniert es einwandfrei, in der zweiten kommt jedoch ein Fehler. Wenn ich dort statt dem < ein > Zeichen setze, passt wieder alles.

Die Fehlermeldungen

Code: Alles auswählen

{
	"resource": "/y:/openhab2-conf/rules/klima.rules",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "org.eclipse.xtext.diagnostics.Diagnostic.Syntax",
	"severity": 8,
	"message": "missing ')' at 'austemp_max'",
	"startLineNumber": 28,
	"startColumn": 37,
	"endLineNumber": 28,
	"endColumn": 48
}

{
	"resource": "/y:/openhab2-conf/rules/klima.rules",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "org.eclipse.xtext.xbase.validation.IssueCodes.incompatible_types",
	"severity": 8,
	"message": "Type mismatch: cannot convert from Number to boolean",
	"startLineNumber": 28,
	"startColumn": 9,
	"endLineNumber": 28,
	"endColumn": 65
}
{
	"resource": "/y:/openhab2-conf/rules/klima.rules",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "org.eclipse.xtext.diagnostics.Diagnostic.Syntax",
	"severity": 8,
	"message": "missing '>' at 'as'",
	"startLineNumber": 28,
	"startColumn": 56,
	"endLineNumber": 28,
	"endColumn": 58
}
Hab Ihr eine Ahnung woran das liegen kann?

Danke
Sebastian

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Fehler bei < Zeichen

Beitrag von udo1toni »

Du musst vermutlich Klammern um die Werte setzen:

Code: Alles auswählen

if ((aussentemp.state as Number) < (austemp_max.state as Number)) {
Das Problem ist hier eventuell, dass das < gleichzeitig auch eine öffnende spitze Klammer sein könnte.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

matze_bln

Re: Fehler bei < Zeichen

Beitrag von matze_bln »

Klingt für mich nach einem Fehler bei der Umwandlung. Evtl musst du da noch Klammern setzen. Es könnte auch sein, dass die Einheit °C noch bei dem Element dabei ist. Hast du das einfach mal ins Log ausgeben lassen?

Benutzeravatar
sadbi
Beiträge: 61
Registriert: 27. Feb 2018 05:55
Answers: 0

Re: Fehler bei < Zeichen

Beitrag von sadbi »

Habe jetzt die Klammern gesetzt und alles funzt wie es soll, da wäre ich lange gesessen und hätte herumgerätselt.
Danke

Antworten