Steinspiel hat geschrieben: ↑23. Nov 2021 20:58
Das wäre meine nächste Frage gewesen, Du arbeitest weiterhin mit Rules? Und diese bearbeitest Du auch mit Visual Stuido Code?
Genau. Eigentlich habe ich am Anfang meine Things und Items und Transformationen, etc. übernommen wie sie sind. Allerdings nicht alles auf einmal, sondern "Binding orientiert". Ich muss dazu sagen, dass ich meine Item-Struktur entsprechend aufgebaut hatte. Anschliessend habe ich dann die dazu passenden Rules übernommen und getestet. In den meisten Fällen passt das auch wieder.
Nur bei Regeln, die mit DateTime Syntax arbeiten wirst du Anpassungen vornehmen müssen, da OH3 nicht mehr mit "JodaTime" sondern mit "JavaTime" arbeitet. Lass dich aber dadurch nicht verunsichern. In den meisten Fällen ist das marginal.
Und wenn du mit globalen Variablen arbeiten willst, musst du sogar mit den textbasierten DSL-Rules arbeiten, soweit ich weiss.
Ich habe mir aber zuallererst ein "Modell" meiner Location gemacht. Also die Grundkonfiguration für das semantische Modell. Das war allerdings für mich auch nicht so schwierig, weil ich das auch schon so in meiner OH2-Konfiguration so gemacht habe. Hier mein Grundmodell als Anhaltspunkt:
Code: Alles auswählen
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Locations +
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Gebäudeplan - Building plan
Group gEstate "Anwesen Flurstück" <garden> ["Location"]
// Aussenbereich Outdoor area
Group gAussen "Aussenbereich" <garden> (gEstate) ["Outdoor"]
Group gGarage "Garage" <garage_1> (gAussen) ["Garage", "garage_detached"]
Group gHof "Garageneinfahrt" <garage_1> (gAussen) ["Driveway"]
Group gGhaus "Gartenhaus" <garage_1> (gAussen) ["Outdoor"]
Group gFront "Vorgarten" <garage_1> (gAussen) ["Garden"]
Group gBack "Garten Südseite" <garage_1> (gAussen) ["Garden"]
// Innenbereich - Indoor
Group gInnen "Innenbereich" <house> (gEstate) ["Indoor"]
Group gHome "Casa Claudia" <house> (gInnen) ["Building"]
// Stockwerke - Floors
Group gEG "Erdgeschoss" <groundfloor> (gHome) ["GroundFloor"]
Group gDG "Dachgeschoss" <firstfloor> (gHome) ["Attic"]
Group gUGElw "Celines Reich" <cellar> (gHome) ["Basement"]
Group gUGKel "Keller" <cellar> (gHome) ["Basement"]
// Zimmer - Rooms
Group gEG_Bad "Badezimmer" <bubble_bath> (gHome, gEG) ["Bathroom" ] { synonyms="Badezimmer" }
Group gEG_Essen "Esszimmer" <dining> (gHome, gEG) ["DiningRoom" ]
Group gEG_Kind1 "Zimmer Claudia" <girl_3> (gHome, gEG) ["Guestroom" ] { synonyms="Speisekammer" }
Group gEG_WC "Toilette" <toilet> (gHome, gEG) ["Bathroom" ] { synonyms="Toilette,WC,Restroom" }
Group gEG_Wohnen "Wohnzimmer" <living> (gHome, gEG) ["LivingRoom" ]
Group gEG_Schlafen "Schlafzimmer" <bed> (gHome, gEG) ["Bedroom" ]
Group gEG_Kueche "Küche" <catfridge> (gHome, gEG) ["Kitchen" ]
Group gEG_Windfang "Windfang-Garderobe" <wardrobe> (gHome, gEG) ["Entry" ]
Group gEG_Vorgarten "Vorgarten" <lawnmower> (gHome, gEG) ["Garden" ]
Group gEG_Terrasse "Terrasse" <terrace> (gHome, gEG) ["Terrace" ]
Group gEG_Kind2 "Zimmer York" <boy_3> (gHome, gEG) ["Room" ] { synonyms="Kinderzimmer" }
Group gEG_Diele "Diele" <corridor> (gHome, gEG) ["Corridor" ]
Group gEG_Flur "Flur" <corridor> (gHome, gEG) ["Corridor" ]
Group gEG_Buero "Arbeitszimmer" <office> (gHome, gEG) ["Office" ]
Group gDG_Speicher "Dachboden" <attic> (gHome, gDG) ["Room" ]
Group gUG_Wohnen "Wohn-Esszimmer" <sofa> (gHome, gUGElw) ["LivingRoom" ]
Group gUG_Schlafen "Schlafzimmer" <bed> (gHome, gUGElw) ["Bedroom" ]
Group gUG_Bad "Badezimmer" <bath> (gHome, gUGElw) ["Bathroom" ]
Group gUG_Diele "Flur" <corridor> (gHome, gUGElw) ["Corridor" ]
Group gUG_Waschkueche "Waschküche" <washingmachine> (gHome, gUGKel) ["LaundryRoom" ]
Group gUG_Heizraum "Heizungsraum" <heating> (gHome, gUGKel) ["BoilerRoom" ]
Group gUG_Keller "Keller" <cellar> (gHome, gUGKel) ["Cellar" ]
Group gUG_Holzkeller "Holz-Keller" <cellar> (gHome, gUGKel) ["Cellar" ]
Group gSpecial "Special" // ["Outdoor"]
Group gMonitor "Monitoring" // ["Outdoor"]
// aktive Gruppen
Group:Switch:OR(ON,OFF) gLight "Licht [MAP(de.map):%s]" <light> (gInnen) ["Indoor"]
Group:Contact:OR(OPEN,CLOSED) gDoor "Türen [MAP(de.map):%s]" <door> (gInnen) ["Indoor"]
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Locations - End +
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Was VSC anbelangt, gibt es ja mehrere Möglichkeiten. Ich habe sowohl in meine OH2- als auch in meiner OH3-Konfiguration einen ". vscode-Ordner" mit eigener "settings.json". Die sieht in OH3 so aus:
Code: Alles auswählen
{
"openhab.connection.host": "192.168.178.xx", // IP-Adresse OH3-Rechner
"openhab.connection.port": 8080,
"openhab.languageserver.remoteEnabled": true,
"openhab.languageserver.remotePort": 5007,
"openhab.useRestApi": true,
"openhab.connection.authToken": "oh.vsc.mein Api-Token"
}
Den Api-Token habe ich mir in OH3 generiert.
Steinspiel hat geschrieben: ↑23. Nov 2021 21:00
Was bedeutet "Bridge pausieren", OH in den Pausezustand versetzen? Falls ja, wie?
Was Udo damit gemeint hat ist das jeweilige Thing zu pausieren (disablen). Wenn du das Bridge/Thing in der Main-UI aufrufst findest du gleich oben am Bildschirm eine "Pause-Taste". Damit kannst du ein Thing disablen/enablen, also pausieren oder wieder aktivieren. Das geht übrigens auch in OH2. Und wenn du ein Bridge-Thing pausierst, werden alle dazugehörigen Things gleich mit pausiert.
Danke Udo nochmals für diesen Tipp. hat bei mir mit meinem ersten Test ganz gut geklappt. Aber wie gesagt, ich brauche das bei mir nur für das Homematic-Binding. Dass ich das brauche kann aber auch an meinem SetUp oder meinem Unvermögen
liegen.