Seite 7 von 17

Re: OpenHab 3 Umstieg

Verfasst: 12. Dez 2020 17:54
von JeG
Gibt es eigentlich schon einen Termin, an dem openhabian mit direkter Installation von openHAB 3 veröffentlicht wird?

Re: OpenHab 3 Umstieg

Verfasst: 12. Dez 2020 20:51
von udo1toni
openHABian in der aktuellen Version (1.6.1) kann selbstverständlich openHAB3 direkt installieren.Du musst nur die entsprechende Option auswählen. Nicht vergessen, auch Java11 zu installieren ;)

Re: OpenHab 3 Umstieg

Verfasst: 12. Dez 2020 22:06
von harteknut
udo1toni hat geschrieben: [...]Joda Time wurde durch Java ZonedDateTime ersetzt, was bedeutet, dass die Aufrufe mit now() leicht abgewandelt werden müssen. [...]
Kannst Du mir sagen, wo ich zu diesem Thema eine Übersicht / Tutorial / Howto o.ä. finde?
Davor habe ich nämlich ein wenig Respekt, weil ich doch so froh war, dass diese Time-Abfragen endlich liefen.

Re: OpenHab 3 Umstieg

Verfasst: 12. Dez 2020 23:26
von udo1toni
Im englischen Forum gibt es dazu soweit ich weiß einen Thread. Ansonsten kannst Du das auch einfach in VSCode nachschauen, der Editor ist code-aware, das gilt auch für openHAB3, weil die code Verification ja über den LSP direkt im openHAB Server geschieht.

Re: OpenHab 3 Umstieg

Verfasst: 13. Dez 2020 08:50
von Michka
Hallo, ich habe noch ein Problem mit dem Umzug auf OH3
Die Items und Things Dateien aus meiner OH2 Installation werden erkannt und teilweise verlinkt. Da ich den Rollershutter auf Tasmota 9.1 upgedatet habe und nun nur noch die /shutterpostion brauche, habe ich nur noch 1Channel für meinen Sonoff gelassen. Beim Umzug auf OH3 wollte ich auch die Alexa V2 Tags auf die V3 Metadaten umbauen.

Ich habe als das Thing:

Code: Alles auswählen

Bridge mqtt:broker:mosquitto "Mosquitto" [ host="localhost", port=1883, secure=false, username="MichkasMQTTserver", password="12345", clientID="openHAB3" ]
{
Thing topic WZ_Roll1 "Rolladen1" @ "Wohnzimmer" { //Wohnzimmer Rolladen Nummer 1!
    Channels:
//	Type string : reachable "Reachable"              [ stateTopic="tele/wz_Rolladen1/LWT" ]
	Type rollershutter : shutterlevel "Rolladen Level"	[ stateTopic="tele/wz_Rolladen1/SENSOR", commandTopic="cmnd/wz_Rolladen1/shutterposition1"]   
    }
 }
und das Item

Code: Alles auswählen

Group  		wz_Rolladen1           "Rolladen1 Sonoff Dual"   <sonoff>        (Rallladen1)
Rollershutter ShutterSwitch "Rollladen 1[%s]"         <level>         (Rallladen1) { channel="mqtt:topic:mosquitto:WZ_Roll1:shutterlevel", alexa="PercentageController.percentage" [category="SWITCH"]} 
Im Dashboard unter Things/Channels wird eine Verlinkung von Channel und Item angezeigt. Über diese kann ich auch die Bedientasten aufrufen und den Rollladen fahren. Aber ich bekomme das Item dazu nicht in die "Pages" bzw. ich kann keine Zelle mit dem Item erstellen..
Wenn ich alles im Dashboard anlege, dann funktioniert das.

Des Weiteren wird im LogViewer folgende Fehlermeldung zyklisch angezeigt:
  • 2020-12-13 00:10:13.570 [WARN ] [pache.cxf.jaxrs.sse.SseEventSinkImpl] - There are still SSE events the queue which may not be delivered (closing now)
  • 2020-12-13 00:10:25.293 [WARN ] [ab.binding.mqtt.generic.ChannelState] - Command '{"Time":"2020-12-13T00:10:25","Switch1":"ON","Switch2":"ON","Shutter1":{"Position":100,"Direction":0,"Target":100}}' not supported by type 'RollershutterValue': Cannot call update() with {"Time":"2020-12-13T00:10:25","Switch1":"ON","Switch2":"ON","Shutter1":{"Position":100,"Direction":0,"Target":100}}
Ist an meinen Codes etwas falsch? Hat jemand eine Idee woran das liegt?

Re: OpenHab 3 Umstieg

Verfasst: 13. Dez 2020 17:05
von udo1toni
Wie kommst Du denn auf das stateTopic? das sollte eigentlich stat/wz_Rolladen1/SHUTTER1 heißen. tele liefert zwar unter anderem auch den Status des Shutters, aber dann müsstest Du mindestens noch ein transformationPattern setzen. Abgesehen davon liefert tele seine Daten alle 5 Minuten (es sei denn, Du änderst die Sendefrequenz), während stat unmittelbar nach dem Stop des Ladens liefert.

Wenn Du die aktuelle Position beim Start des Systems haben willst, ohne die Läden alle einmal zu verfahren, brauchst Du eine Rule, welche jeweils shutterposition1 ohne Payload sendet, dann antwortet Tasmota mit einem JSON Objekt unter dem Topic stat/$/RESULT, das Objekt sieht dann so aus: {"ShutterPosition1":100} und man kann dieses dann per postUpdate ins passende Item schreiben. Das ist aber nicht ganz trivial :)
Gewöhnlich wird openHAB nicht für längere Zeit beendet, es sollte also reichen, die Rollershutter Items mit mapdb zu persistieren und als Strategy everyChange,restoreOnStartup zu setzen, dann wird die letzte bekannte Position benutzt. Spätestens bei der nächsten Fahrt stimmt die Anzeige dann, falls doch mal ein Laden verfahren wird, während openHAB nicht läuft.

Für Dein eigentliches Problem mit der Page habe ich leider noch keine Lösung, damit habe ich mich bisher nur ganz am Rande beschäftigt... Mein Produktivsystem läuft noch unter OH2.5.10, und solange es kein vdr Binding V3 gibt, habe ich keine Eile (das ist das letzte Binding, was ich noch in V1 nutze und es gibt bisher keinen adäquaten Ersatz).

Re: OpenHab 3 Umstieg

Verfasst: 13. Dez 2020 20:43
von Michka
Analog zu "Type switch : PowerSwitch1 [ stateTopic="stat/sonoff_dual/POWER1" , commandTopic="cmnd/sonoff_dual/POWER1"] denkt man sich das würde mit /shutterposition1 auch funktionieren. Dann stellt man fest, dass dem nicht so ist.
Man schaut in mqtt.fx was es noch für topics gibt und sieht dort keinen SHUTTER1. Dann probiert man aus.
Aber danke für den Hinweis. :D

mein thing sieht jetzt so aus:

Code: Alles auswählen

Thing topic WZ_Roll1 "Rolladen1" @ "Wohnzimmer" { //Wohnzimmer Rolladen Nummer 1!
    Channels:
//	Type string : reachable "Reachable"              [ stateTopic="tele/wz_Rolladen1/LWT" ]
	Type rollershutter : shutterlevel "Rolladen Level"	[ stateTopic="state/wz_Rolladen1/SHUTTER1", commandTopic="cmnd/wz_Rolladen1/shutterposition1"]   
    }
mein item dazu so:

Code: Alles auswählen

Rollershutter 	ShutterSwitch1 "Rollladen 1[%s]"        <Rollladen>         (Wohnzimmer)  { channel="mqtt:topic:mosquitto:WZ_Roll1:shutterlevel", alexa="RangeController.rangeValue" [category="ENTERIOR_BLIND", friendlyNames="@Setting.Opening", supportedRange="0:100:10", unitOfMeasure="Percent", actionMappings="Close=100,Open=0,Lower=(+20),Raise=(-20)", stateMappings="Closed=100,Open=0:100"] } 
Es scheint mit ausnahmen zu funktionieren. Zum einen ist die Schnittstelle Alexa<->Openhab furchtbar langsam und unterliegt einer Verzögerung.
teilweise werden die Aktoren auf "Gerät reagiert nicht" gesetzt.
Zum anderen sind die befehle heben/senken invertiert zu öffnen/schließen der Rollläden. Das sollte eigentlich über die Metadaten einstellbar sein.
Ein löschen und neues einbinden der Items in die Alexa hilft leider nicht. Irgendwo scheint da noch ein Fehler zu sein.

Persisitenz habe ich noch nie benutzt. Ich habe bisher OH nur als Schnittstelle zwischen KNX, den 7 Tasmota Schaltern und Alexa benutzt. Zusätzlich nutze ich das Astro Binding um mir Temperatur auf die Raumcontroller zu senden und die Rollladen bei Dämmerung herunterzufahren. Es gibt also auch nur eine Handvoll rules... und erst Mal muss das wieder funktionieren..

Für das Problem der Page habe ich auch noch nichts rausgefunden. Allerdings habe ich herausgefunden, dass man die datei-items auch nicht mit den datei-things verlinken kann wenn sie es nicht automatisch tun.
in meinen OH2 Dateien habe ich die items mit falschen channels angelegt... ich weiß noch, dass ich die KNX items alle händig im paperui verlinkt habe. Es hat ja funktioniert... also habe ich nicht weiter geschaut.
Jetzt konnte ich die items nicht mit den thing-channels verlinken. ich muss dazu den channel in der items Datei berichtigen, damit sie sich selber verbinden.

hier der unterschied: falsch / richtig

Code: Alles auswählen

{ channel="knx:device:bride:bridge:dimmeraktor1:Dimmer1" }
{ channel="knx:device:bridge:dimmeraktor:Dimmer1" }

Re: OpenHab 3 Umstieg

Verfasst: 13. Dez 2020 21:13
von udo1toni
Das Prefix muss stat heißen, nicht state ;) ein gern genommener Fehler, der mir auch schon passiert ist.

Re: OpenHab 3 Umstieg

Verfasst: 14. Dez 2020 11:30
von Michka
Oh man bin ich ein Schaaf... :roll:
nochmals Danke

Re: OpenHab 3 Umstieg

Verfasst: 25. Dez 2020 12:27
von Romel
Guten Morgen !

Ich habe seit kurzen ein parallel System laufen, um OH 3 zu testen (erlernen).
Meine Rules aus OH2 zeigen jetzt Fehler bei z. B. now.getMinuteOfDay an.
Ich habe schon in div. Foren nach gelesen, aber nichts gefunden. Zumindest nichts was ich verstehe :D.
udo1toni hat geschrieben: 22. Nov 2020 23:57
Joda Time wurde durch Java ZonedDateTime ersetzt, was bedeutet, dass die Aufrufe mit now() leicht abgewandelt werden müssen.
Kann jemand vielleicht erklären wie man die Rules umschreiben soll? Oder anhand eines Beispiels zeigen.