^

Themabewertung:
  • 104 Bewertung(en) - 2.53 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Openhab 3 (Temperatur und Fensterkontakt)
#1
Hallo zusammen,

nach einiger Zeit habe ich mich nun doch versucht von OH 2 auf OH 3 umzustellen. Soweit lief es ganz gut, nur 2 Baustellen versuche ich noch zu lösen.

1.) Temperaturanzeige
Die Temperatur bekomme ich zwar als Item mit einem Wert eingelesen, allerdings vierstellig (1214). Nun versuche ich mit einer Rule diesen Wert auf 21,4 zu ändern. Allerding gibt es mir in der LOG Datei immer die Fehlermeldung "Script execution of rule... failed: could not cast 1214 to void"

Item für abgreifen der Temperatur lautet TSWZ und ist als number konfiguriert (wert wird auch in OH dargestellt)
Item für Umrechnung und Übergabe an Alexa lautet Thermostatwohnzimmer und ist als number konfiguriert

Hier die Rule:
rule "temp"
when
Item TSWZ received update
then
Thermostatwohnzimmer = (TSWZ.state as number-1000)/10
end

Ich denke, da Item als Startwert immer 0 haben, muss ich hier irgendwelche Variablen anders definieren, hat hier jemand erfahrungen?

2.) Ich wollte mir in Openhab auch die Fensterkontakte einblenden, jedoch schaffe ich hier gar nichts in OH anzuzeigen.
Weder wenn ich die LED abfrage, die Logik oder den Binärsensor, im OH ändert sich einfach der Wert nicht.
Ich habe vom LCN Binding die beiden Beispiele als LED oder Logic Operation ohne Erfolg versucht.

Hat hier jemand so etwas schon am laufen und kann mir einen Tipp geben?

Danke
Retai
Zitieren
#2
Hallo zusammen,

bin nun auf die Lösungen gestoßen:

1.) es war ein Fehler in der RULE, die Rule muss so aussehen: (Groß- Kleinschreibung auch beachten)

rule "tempWZ"
when
    Item TSWZ received update
then
    ThermostatWohnzimmer.postUpdate(((TSWZ.state as Number)-1000)/10)
end

2.) Die Einbindung der Fensterkontakte funktioniert über die LED wie in der OPENHAB LCN Binding Anleitung. Man muss nur etwas länger warten, bis sich der Wert ändert (hier war ich nicht geduldig genug)

Wenn von euch noch wer eine Rule zur Abfrage der offenen Fenster für Alexa hat, wäre ich dankbar falls er diese Teilen könnte.
Zitieren
#3
Letztes Update zu dem Thema, es läuft.
Ich musst die Regel nochmal anpassen und zwar habe ich das when Ereignis von den Alexas auf einen imaginären Schalter gelegt.
Danach habe ich in der Alexa App eine Routine für diesen Schalter (Fensterabfrage) erstellt und nun läufts. 

Code:
rule "Welche Fenster sind offen"
when
    Item Fensterabfrage received command
then
    val OffeneFenster = Fenster.members.filter[ i | i.state == OPEN ].map[ label ].reduce[ s, label | s + ", " + label ]
      if(Fenster.state == OPEN)   {
currentEcho.sendCommand("Ja, folgende Fenster sind geöffnet. " + OffeneFenster)
        }
      else {
currentEcho.sendCommand("Nein alle Fenster sind zu")
      }
end
Zitieren


Gehe zu: